# Global Metrics

path: .metrics.cyclomatic.average
old: 3.6666666666666665
new: 1.0
path: .metrics.cyclomatic.sum
old: 33.0
new: 5.0
path: .metrics.nargs.average
old: 1.0
new: 2.0
path: .metrics.nargs.sum
old: 8.0
new: 6.0
path: .metrics.halstead.length
old: 651.0
new: 115.0
path: .metrics.halstead.volume
old: 4527.181798061855
new: 599.0871370473293
path: .metrics.halstead.effort
old: 146333.149028262
new: 8437.143846749888
path: .metrics.halstead.purity_ratio
old: 1.1864864978990006
new: 1.3751723161142777
path: .metrics.halstead.time
old: 8129.619390459
new: 468.73021370832714
path: .metrics.halstead.n2
old: 99.0
new: 24.0
path: .metrics.halstead.N2
old: 256.0
new: 52.0
path: .metrics.halstead.bugs
old: 0.9256366835378368
new: 0.13814729352783645
path: .metrics.halstead.estimated_program_length
old: 772.4027101322495
new: 158.14481635314195
path: .metrics.halstead.level
old: 0.0309375
new: 0.07100591715976332
path: .metrics.halstead.N1
old: 395.0
new: 63.0
path: .metrics.halstead.vocabulary
old: 124.0
new: 37.0
path: .metrics.halstead.difficulty
old: 32.323232323232325
new: 14.083333333333334
path: .metrics.halstead.n1
old: 25.0
new: 13.0
path: .metrics.nom.functions
old: 7.0
new: 3.0
path: .metrics.nom.closures
old: 1.0
new: 0.0
path: .metrics.nom.total
old: 8.0
new: 3.0
path: .metrics.cognitive.sum
old: 24.0
new: 0.0
path: .metrics.cognitive.average
old: 3.0
new: 0.0
path: .metrics.nexits.average
old: 1.75
new: 0.6666666666666666
path: .metrics.nexits.sum
old: 14.0
new: 2.0
path: .metrics.mi.mi_original
old: 35.78352882501845
new: 76.83403613967816
path: .metrics.mi.mi_visual_studio
old: 20.9260402485488
new: 44.93218487700477
path: .metrics.mi.mi_sei
old: 5.777462927514442
new: 67.59182074805693
path: .metrics.loc.blank
old: 26.0
new: 8.0
path: .metrics.loc.sloc
old: 177.0
new: 40.0
path: .metrics.loc.cloc
old: 23.0
new: 8.0
path: .metrics.loc.lloc
old: 38.0
new: 4.0
path: .metrics.loc.ploc
old: 128.0
new: 24.0

# Spaces Data

## Minimal test - lines (25, 26)

path: .spaces[1].spaces[0].metrics.loc.lloc
old: 5.0
new: 0.0
path: .spaces[1].spaces[0].metrics.loc.sloc
old: 27.0
new: 2.0
path: .spaces[1].spaces[0].metrics.loc.ploc
old: 20.0
new: 2.0
path: .spaces[1].spaces[0].metrics.loc.blank
old: 4.0
new: 0.0
path: .spaces[1].spaces[0].metrics.loc.cloc
old: 3.0
new: 0.0
path: .spaces[1].spaces[0].metrics.halstead.bugs
old: 0.1728478846653395
new: 0.011679918496434008
path: .spaces[1].spaces[0].metrics.halstead.difficulty
old: 19.0
new: 3.2142857142857144
path: .spaces[1].spaces[0].metrics.halstead.vocabulary
old: 41.0
new: 12.0
path: .spaces[1].spaces[0].metrics.halstead.estimated_program_length
old: 178.81811836544864
new: 31.26112492884004
path: .spaces[1].spaces[0].metrics.halstead.effort
old: 11808.044618178255
new: 207.41568754172405
path: .spaces[1].spaces[0].metrics.halstead.n2
old: 22.0
new: 7.0
path: .spaces[1].spaces[0].metrics.halstead.time
old: 656.002478787681
new: 11.523093752318
path: .spaces[1].spaces[0].metrics.halstead.N2
old: 44.0
new: 9.0
path: .spaces[1].spaces[0].metrics.halstead.length
old: 116.0
new: 18.0
path: .spaces[1].spaces[0].metrics.halstead.N1
old: 72.0
new: 9.0
path: .spaces[1].spaces[0].metrics.halstead.level
old: 0.05263157894736842
new: 0.3111111111111111
path: .spaces[1].spaces[0].metrics.halstead.n1
old: 19.0
new: 5.0
path: .spaces[1].spaces[0].metrics.halstead.purity_ratio
old: 1.5415355031504192
new: 1.7367291627133357
path: .spaces[1].spaces[0].metrics.halstead.volume
old: 621.4760325356978
new: 64.5293250129808
path: .spaces[1].spaces[0].metrics.nexits.average
old: 3.0
new: 0.0
path: .spaces[1].spaces[0].metrics.nexits.sum
old: 3.0
new: 0.0
path: .spaces[1].spaces[0].metrics.cyclomatic.average
old: 4.0
new: 1.0
path: .spaces[1].spaces[0].metrics.cyclomatic.sum
old: 4.0
new: 1.0
path: .spaces[1].spaces[0].metrics.cognitive.average
old: 2.0
new: 0.0
path: .spaces[1].spaces[0].metrics.cognitive.sum
old: 2.0
new: 0.0
path: .spaces[1].spaces[0].metrics.mi.mi_sei
old: 69.48467899634534
new: 123.30820824593197
path: .spaces[1].spaces[0].metrics.mi.mi_visual_studio
old: 48.67867635668797
new: 80.62689641014298
path: .spaces[1].spaces[0].metrics.mi.mi_original
old: 83.24053656993644
new: 137.8719928613445

### Code

      nsGetInterface(nsISupports* aSource, nsresult* aError)
          : mSource(aSource), mErrorPtr(aError) {}

## Minimal test - lines (23, 33)

path: .spaces[1].metrics.halstead.volume
old: 4090.575636374425
new: 186.90881059151775
path: .spaces[1].metrics.halstead.length
old: 608.0
new: 44.0
path: .spaces[1].metrics.halstead.n2
old: 82.0
new: 11.0
path: .spaces[1].metrics.halstead.bugs
old: 0.8965005767741603
new: 0.03952870007850764
path: .spaces[1].metrics.halstead.level
old: 0.029327610872675252
new: 0.14473684210526316
path: .spaces[1].metrics.halstead.effort
old: 139478.65218662063
new: 1291.36996408685
path: .spaces[1].metrics.halstead.N1
old: 375.0
new: 25.0
path: .spaces[1].metrics.halstead.estimated_program_length
old: 631.3583643959906
new: 62.05374780501027
path: .spaces[1].metrics.halstead.time
old: 7748.814010367812
new: 71.74277578260278
path: .spaces[1].metrics.halstead.n1
old: 24.0
new: 8.0
path: .spaces[1].metrics.halstead.vocabulary
old: 106.0
new: 19.0
path: .spaces[1].metrics.halstead.difficulty
old: 34.09756097560975
new: 6.909090909090909
path: .spaces[1].metrics.halstead.N2
old: 233.0
new: 19.0
path: .spaces[1].metrics.halstead.purity_ratio
old: 1.0384183624934056
new: 1.4103124501138695
path: .spaces[1].metrics.nexits.average
old: 1.8571428571428572
new: 0.0
path: .spaces[1].metrics.nexits.sum
old: 13.0
new: 0.0
path: .spaces[1].metrics.cyclomatic.average
old: 4.428571428571429
new: 1.0
path: .spaces[1].metrics.cyclomatic.sum
old: 31.0
new: 2.0
path: .spaces[1].metrics.mi.mi_original
old: 39.66966806109966
new: 104.49486813975192
path: .spaces[1].metrics.mi.mi_sei
old: 8.35901017914162
new: 75.25701579036244
path: .spaces[1].metrics.mi.mi_visual_studio
old: 23.198636293040735
new: 61.10811002324674
path: .spaces[1].metrics.loc.blank
old: 22.0
new: 2.0
path: .spaces[1].metrics.loc.sloc
old: 148.0
new: 11.0
path: .spaces[1].metrics.loc.lloc
old: 37.0
new: 0.0
path: .spaces[1].metrics.loc.ploc
old: 111.0
new: 9.0
path: .spaces[1].metrics.loc.cloc
old: 15.0
new: 0.0
path: .spaces[1].metrics.nargs.sum
old: 8.0
new: 2.0
path: .spaces[1].metrics.nargs.average
old: 1.1428571428571428
new: 2.0
path: .spaces[1].metrics.nom.total
old: 7.0
new: 1.0
path: .spaces[1].metrics.nom.functions
old: 6.0
new: 1.0
path: .spaces[1].metrics.nom.closures
old: 1.0
new: 0.0
path: .spaces[1].metrics.cognitive.sum
old: 24.0
new: 0.0
path: .spaces[1].metrics.cognitive.average
old: 3.4285714285714284
new: 0.0

### Code

    class MOZ_STACK_CLASS nsGetInterface final : public nsCOMPtr_helper {
     public:
      nsGetInterface(nsISupports* aSource, nsresult* aError)
          : mSource(aSource), mErrorPtr(aError) {}

      virtual nsresult NS_FASTCALL operator()(const nsIID&, void**) const override;

     private:
      nsISupports* MOZ_NON_OWNING_REF mSource;
      nsresult* mErrorPtr;
    };

## Minimal test - lines (15, 21)

path: .spaces[0].metrics.halstead.N1
old: 17.0
new: 24.0
path: .spaces[0].metrics.halstead.difficulty
old: 6.1875
new: 8.181818181818182
path: .spaces[0].metrics.halstead.estimated_program_length
old: 52.529325012980806
new: 71.27302875388389
path: .spaces[0].metrics.halstead.bugs
old: 0.026482772668605024
new: 0.04386053927283797
path: .spaces[0].metrics.halstead.effort
old: 708.1529372466213
new: 1509.3599871003378
path: .spaces[0].metrics.halstead.length
old: 28.0
new: 42.0
path: .spaces[0].metrics.halstead.vocabulary
old: 17.0
new: 21.0
path: .spaces[0].metrics.halstead.purity_ratio
old: 1.8760473218921716
new: 1.6969768750924736
path: .spaces[0].metrics.halstead.volume
old: 114.4489595550095
new: 184.4773317567079
path: .spaces[0].metrics.halstead.n2
old: 8.0
new: 11.0
path: .spaces[0].metrics.halstead.time
old: 39.34182984703452
new: 83.85333261668544
path: .spaces[0].metrics.halstead.N2
old: 11.0
new: 18.0
path: .spaces[0].metrics.halstead.n1
old: 9.0
new: 10.0
path: .spaces[0].metrics.halstead.level
old: 0.16161616161616163
new: 0.12222222222222222
path: .spaces[0].metrics.mi.mi_sei
old: 97.59425006876236
new: 86.14889160855711
path: .spaces[0].metrics.mi.mi_visual_studio
old: 70.20376330397838
new: 65.5643960833999
path: .spaces[0].metrics.mi.mi_original
old: 120.04843524980302
new: 112.11511730261384
path: .spaces[0].metrics.nargs.sum
old: 0.0
new: 2.0
path: .spaces[0].metrics.nargs.average
old: 0.0
new: 2.0
path: .spaces[0].metrics.loc.lloc
old: 1.0
new: 3.0
path: .spaces[0].metrics.loc.ploc
old: 5.0
new: 6.0
path: .spaces[0].metrics.loc.sloc
old: 5.0
new: 7.0
path: .spaces[0].metrics.loc.blank
old: 0.0
new: 1.0

### Code

    inline nsresult CallGetInterface(T* aSource, DestinationType** aDestination) {
      MOZ_ASSERT(aSource, "null parameter");
      MOZ_ASSERT(aDestination, "null parameter");

      return aSource->GetInterface(NS_GET_TEMPLATE_IID(DestinationType),
                                   reinterpret_cast(aDestination));
    }