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));
}