# Global Metrics

path: .metrics.loc.lloc
old: 0.0
new: 7.0
path: .metrics.loc.sloc
old: 80.0
new: 34.0
path: .metrics.loc.cloc
old: 30.0
new: 6.0
path: .metrics.loc.ploc
old: 40.0
new: 19.0
path: .metrics.loc.blank
old: 10.0
new: 9.0
path: .metrics.cognitive.sum
old: 0.0
new: 2.0
path: .metrics.cognitive.average
old: null
new: 2.0
path: .metrics.nargs.sum
old: 0.0
new: 2.0
path: .metrics.nargs.average
old: null
new: 2.0
path: .metrics.mi.mi_visual_studio
old: 38.35546809649407
new: 47.177446961106135
path: .metrics.mi.mi_sei
old: 59.75849913847354
new: 71.48622169371606
path: .metrics.mi.mi_original
old: 65.58785044500486
new: 80.67343430349149
path: .metrics.nexits.sum
old: 0.0
new: 3.0
path: .metrics.nexits.average
old: null
new: 3.0
path: .metrics.nom.functions
old: 0.0
new: 1.0
path: .metrics.nom.total
old: 0.0
new: 1.0
path: .metrics.halstead.estimated_program_length
old: 257.3293844521902
new: 211.20671786825557
path: .metrics.halstead.level
old: 0.20673076923076925
new: 0.0986842105263158
path: .metrics.halstead.bugs
old: 0.07418420339020458
new: 0.0950295673128675
path: .metrics.halstead.volume
old: 686.3634663785509
new: 475.0263282209031
path: .metrics.halstead.length
old: 121.0
new: 86.0
path: .metrics.halstead.N2
old: 52.0
new: 38.0
path: .metrics.halstead.time
old: 184.449096907931
new: 267.42222922065656
path: .metrics.halstead.purity_ratio
old: 2.126689127704051
new: 2.4558920682355296
path: .metrics.halstead.effort
old: 3320.0837443427577
new: 4813.600125971818
path: .metrics.halstead.n1
old: 8.0
new: 16.0
path: .metrics.halstead.n2
old: 43.0
new: 30.0
path: .metrics.halstead.vocabulary
old: 51.0
new: 46.0
path: .metrics.halstead.N1
old: 69.0
new: 48.0
path: .metrics.halstead.difficulty
old: 4.837209302325581
new: 10.133333333333333
path: .metrics.cyclomatic.average
old: 1.0
new: 1.6666666666666667
path: .metrics.cyclomatic.sum
old: 2.0
new: 5.0

# Spaces Data

## Minimal test - lines (13, 34)

path: .spaces[0].metrics.nom.functions
old: 0.0
new: 1.0
path: .spaces[0].metrics.nom.total
old: 0.0
new: 1.0
path: .spaces[0].metrics.cyclomatic.sum
old: 1.0
new: 4.0
path: .spaces[0].metrics.cyclomatic.average
old: 1.0
new: 2.0
path: .spaces[0].metrics.loc.lloc
old: 0.0
new: 7.0
path: .spaces[0].metrics.loc.ploc
old: 12.0
new: 15.0
path: .spaces[0].metrics.loc.blank
old: 0.0
new: 7.0
path: .spaces[0].metrics.loc.sloc
old: 12.0
new: 22.0
path: .spaces[0].metrics.nargs.average
old: null
new: 2.0
path: .spaces[0].metrics.nargs.sum
old: 0.0
new: 2.0
path: .spaces[0].metrics.cognitive.sum
old: 0.0
new: 2.0
path: .spaces[0].metrics.cognitive.average
old: null
new: 2.0
path: .spaces[0].metrics.halstead.vocabulary
old: 13.0
new: 43.0
path: .spaces[0].metrics.halstead.volume
old: 111.01319154423275
new: 450.3799746402741
path: .spaces[0].metrics.halstead.effort
old: 222.0263830884655
new: 4670.607144417657
path: .spaces[0].metrics.halstead.N2
old: 9.0
new: 35.0
path: .spaces[0].metrics.halstead.length
old: 30.0
new: 83.0
path: .spaces[0].metrics.halstead.n1
old: 4.0
new: 16.0
path: .spaces[0].metrics.halstead.estimated_program_length
old: 36.529325012980806
new: 192.38196255841365
path: .spaces[0].metrics.halstead.n2
old: 9.0
new: 27.0
path: .spaces[0].metrics.halstead.time
old: 12.334799060470308
new: 259.47817468986983
path: .spaces[0].metrics.halstead.bugs
old: 0.01222217416344232
new: 0.09313815661559094
path: .spaces[0].metrics.halstead.purity_ratio
old: 1.2176441670993603
new: 2.317854970583297
path: .spaces[0].metrics.halstead.N1
old: 21.0
new: 48.0
path: .spaces[0].metrics.halstead.difficulty
old: 2.0
new: 10.37037037037037
path: .spaces[0].metrics.halstead.level
old: 0.5
new: 0.09642857142857145
path: .spaces[0].metrics.nexits.average
old: null
new: 3.0
path: .spaces[0].metrics.nexits.sum
old: 0.0
new: 3.0
path: .spaces[0].metrics.mi.mi_original
old: 106.02433728107636
new: 88.23263585988957
path: .spaces[0].metrics.mi.mi_sei
old: 77.36175347633944
new: 51.999213645229474
path: .spaces[0].metrics.mi.mi_visual_studio
old: 62.00253642168207
new: 51.59803266660208

### Code

    namespace mozilla {

    nsresult CopyCocoaStringToXPCOMString(NSString* aFrom, nsAString& aTo) {
      NS_OBJC_BEGIN_TRY_BLOCK_RETURN;

      NSUInteger len = [aFrom length];
      if (len > std::numeric_limits::max()) {
        return NS_ERROR_OUT_OF_MEMORY;
      }

      if (!aTo.SetLength(len, mozilla::fallible)) {
        return NS_ERROR_OUT_OF_MEMORY;
      }

      [aFrom getCharacters:reinterpret_cast(aTo.BeginWriting()) range:NSMakeRange(0, len)];

      return NS_OK;

      NS_OBJC_END_TRY_BLOCK_RETURN(NS_ERROR_FAILURE);
    }

    }  // namespace Mozilla