# Global Metrics

path: .metrics.mi.mi_original
old: 56.089671413176845
new: 84.79963325138272
path: .metrics.mi.mi_visual_studio
old: 32.800977434606345
new: 49.59042880197819
path: .metrics.mi.mi_sei
old: 26.60837449572412
new: 83.0160622109584
path: .metrics.nexits.average
old: null
new: 1.0
path: .metrics.nexits.sum
old: 0.0
new: 2.0
path: .metrics.nargs.sum
old: 0.0
new: 3.0
path: .metrics.nargs.average
old: null
new: 1.5
path: .metrics.cognitive.average
old: null
new: 0.0
path: .metrics.loc.lloc
old: 0.0
new: 2.0
path: .metrics.loc.blank
old: 6.0
new: 5.0
path: .metrics.loc.cloc
old: 9.0
new: 8.0
path: .metrics.loc.ploc
old: 99.0
new: 17.0
path: .metrics.loc.sloc
old: 114.0
new: 30.0
path: .metrics.cyclomatic.sum
old: 3.0
new: 5.0
path: .metrics.halstead.purity_ratio
old: 2.854764402400414
new: 1.6215083334644529
path: .metrics.halstead.level
old: 0.24893917963224896
new: 0.09195402298850576
path: .metrics.halstead.N1
old: 105.0
new: 37.0
path: .metrics.halstead.time
old: 302.03500963021963
new: 191.69327751704697
path: .metrics.halstead.n2
old: 88.0
new: 16.0
path: .metrics.halstead.volume
old: 1353.3902553161752
new: 317.28542485580186
path: .metrics.halstead.length
old: 206.0
new: 66.0
path: .metrics.halstead.difficulty
old: 4.017045454545454
new: 10.875
path: .metrics.halstead.bugs
old: 0.10306200949224716
new: 0.0761140802744459
path: .metrics.halstead.n1
old: 7.0
new: 12.0
path: .metrics.halstead.N2
old: 101.0
new: 29.0
path: .metrics.halstead.vocabulary
old: 95.0
new: 28.0
path: .metrics.halstead.effort
old: 5436.630173343953
new: 3450.4789953068453
path: .metrics.halstead.estimated_program_length
old: 588.0814668944854
new: 107.01955000865388
path: .metrics.nom.total
old: 0.0
new: 2.0
path: .metrics.nom.functions
old: 0.0
new: 2.0

# Spaces Data

## Minimal test - lines (15, 26)

path: .spaces[0].spaces[0].metrics.cognitive.average
old: null
new: 0.0
path: .spaces[0].spaces[0].metrics.cyclomatic.sum
old: 1.0
new: 3.0
path: .spaces[0].spaces[0].metrics.nom.functions
old: 0.0
new: 2.0
path: .spaces[0].spaces[0].metrics.nom.total
old: 0.0
new: 2.0
path: .spaces[0].spaces[0].metrics.mi.mi_original
old: null
new: 101.04581117905738
path: .spaces[0].spaces[0].metrics.mi.mi_sei
old: null
new: 70.38289827682932
path: .spaces[0].spaces[0].metrics.mi.mi_visual_studio
old: null
new: 59.09111764857157
path: .spaces[0].spaces[0].metrics.halstead.level
old: null
new: 0.09027777777777778
path: .spaces[0].spaces[0].metrics.halstead.n1
old: 0.0
new: 12.0
path: .spaces[0].spaces[0].metrics.halstead.time
old: 0.0
new: 162.8921863490211
path: .spaces[0].spaces[0].metrics.halstead.vocabulary
old: 1.0
new: 25.0
path: .spaces[0].spaces[0].metrics.halstead.difficulty
old: 0.0
new: 11.076923076923077
path: .spaces[0].spaces[0].metrics.halstead.purity_ratio
old: null
new: 1.5986888832366328
path: .spaces[0].spaces[0].metrics.halstead.N1
old: 0.0
new: 33.0
path: .spaces[0].spaces[0].metrics.halstead.effort
old: 0.0
new: 2932.05935428238
path: .spaces[0].spaces[0].metrics.halstead.length
old: 1.0
new: 57.0
path: .spaces[0].spaces[0].metrics.halstead.n2
old: 1.0
new: 13.0
path: .spaces[0].spaces[0].metrics.halstead.volume
old: 0.0
new: 264.6998028171593
path: .spaces[0].spaces[0].metrics.halstead.bugs
old: 0.0
new: 0.06828530449350846
path: .spaces[0].spaces[0].metrics.halstead.estimated_program_length
old: null
new: 91.12526634448808
path: .spaces[0].spaces[0].metrics.halstead.N2
old: 1.0
new: 24.0
path: .spaces[0].spaces[0].metrics.loc.ploc
old: 1.0
new: 10.0
path: .spaces[0].spaces[0].metrics.loc.sloc
old: 1.0
new: 12.0
path: .spaces[0].spaces[0].metrics.loc.blank
old: 0.0
new: 2.0
path: .spaces[0].spaces[0].metrics.loc.lloc
old: 0.0
new: 2.0
path: .spaces[0].spaces[0].metrics.nargs.sum
old: 0.0
new: 3.0
path: .spaces[0].spaces[0].metrics.nargs.average
old: null
new: 1.5
path: .spaces[0].spaces[0].metrics.nexits.average
old: null
new: 1.0
path: .spaces[0].spaces[0].metrics.nexits.sum
old: 0.0
new: 2.0

### Code

    struct DefaultHasher> {
      using Key = nsTString;
      using Lookup = nsTString;

      static mozilla::HashNumber hash(const Lookup& aLookup) {
        return mozilla::HashString(aLookup.get());
      }

      static bool match(const Key& aKey, const Lookup& aLookup) {
        return aKey.Equals(aLookup);
      }
    };

## Minimal test - lines (12, 28)

path: .spaces[0].metrics.nexits.sum
old: 0.0
new: 2.0
path: .spaces[0].metrics.nexits.average
old: null
new: 1.0
path: .spaces[0].metrics.nargs.average
old: null
new: 1.5
path: .spaces[0].metrics.nargs.sum
old: 0.0
new: 3.0
path: .spaces[0].metrics.mi.mi_sei
old: 90.01520302337687
new: 61.17070860073723
path: .spaces[0].metrics.mi.mi_visual_studio
old: 58.93651476359872
new: 55.31569107006989
path: .spaces[0].metrics.mi.mi_original
old: 100.78144024575384
new: 94.58983172981952
path: .spaces[0].metrics.nom.functions
old: 0.0
new: 2.0
path: .spaces[0].metrics.nom.total
old: 0.0
new: 2.0
path: .spaces[0].metrics.cyclomatic.sum
old: 2.0
new: 4.0
path: .spaces[0].metrics.cognitive.average
old: null
new: 0.0
path: .spaces[0].metrics.halstead.volume
old: 180.0850143339292
new: 296.1277022428888
path: .spaces[0].metrics.halstead.bugs
old: 0.023083258442664772
new: 0.07388038414834354
path: .spaces[0].metrics.halstead.n2
old: 15.0
new: 14.0
path: .spaces[0].metrics.halstead.N2
old: 16.0
new: 26.0
path: .spaces[0].metrics.halstead.level
old: 0.3125
new: 0.08974358974358974
path: .spaces[0].metrics.halstead.vocabulary
old: 21.0
new: 26.0
path: .spaces[0].metrics.halstead.length
old: 41.0
new: 63.0
path: .spaces[0].metrics.halstead.time
old: 32.01511365936519
new: 183.31714900750256
path: .spaces[0].metrics.halstead.estimated_program_length
old: 74.11313393845472
new: 96.32251891746031
path: .spaces[0].metrics.halstead.effort
old: 576.2720458685734
new: 3299.7086821350463
path: .spaces[0].metrics.halstead.n1
old: 6.0
new: 12.0
path: .spaces[0].metrics.halstead.N1
old: 25.0
new: 37.0
path: .spaces[0].metrics.halstead.difficulty
old: 3.2
new: 11.142857142857142
path: .spaces[0].metrics.halstead.purity_ratio
old: 1.807637413133042
new: 1.5289288717057194
path: .spaces[0].metrics.loc.blank
old: 0.0
new: 4.0
path: .spaces[0].metrics.loc.sloc
old: 14.0
new: 17.0
path: .spaces[0].metrics.loc.ploc
old: 14.0
new: 13.0
path: .spaces[0].metrics.loc.cloc
old: 1.0
new: 0.0
path: .spaces[0].metrics.loc.lloc
old: 0.0
new: 2.0

### Code

    namespace mozilla {

    template
    struct DefaultHasher> {
      using Key = nsTString;
      using Lookup = nsTString;

      static mozilla::HashNumber hash(const Lookup& aLookup) {
        return mozilla::HashString(aLookup.get());
      }

      static bool match(const Key& aKey, const Lookup& aLookup) {
        return aKey.Equals(aLookup);
      }
    };

    }  // namespace mozilla