Global Metrics

path: .metrics.loc.sloc
old: 131.0
new: 74.0

path: .metrics.loc.lloc
old: 26.0
new: 16.0

path: .metrics.loc.blank
old: 15.0
new: 12.0

path: .metrics.loc.cloc
old: 53.0
new: 6.0

path: .metrics.loc.ploc
old: 63.0
new: 56.0

path: .metrics.halstead.vocabulary
old: 48.0
new: 57.0

path: .metrics.halstead.time
old: 3079.4738567309696
new: 2113.1527066331364

path: .metrics.halstead.effort
old: 55430.52942115745
new: 38036.748719396455

path: .metrics.halstead.level
old: 0.02337540906965872
new: 0.035576923076923075

path: .metrics.halstead.difficulty
old: 42.78
new: 28.10810810810811

path: .metrics.halstead.bugs
old: 0.48459407110352626
new: 0.3770054863412068

path: .metrics.halstead.purity_ratio
old: 0.948872110921032
new: 1.2033980018362862

path: .metrics.halstead.volume
old: 1295.7113001673083
new: 1353.23048328622

path: .metrics.halstead.N2
old: 93.0
new: 104.0

path: .metrics.halstead.n1
old: 23.0
new: 20.0

path: .metrics.halstead.estimated_program_length
old: 220.13832973367943
new: 279.1883364260184

path: .metrics.halstead.n2
old: 25.0
new: 37.0

path: .metrics.halstead.N1
old: 139.0
new: 128.0

path: .metrics.nom.functions
old: 3.0
new: 5.0

path: .metrics.nom.total
old: 3.0
new: 5.0

path: .metrics.cyclomatic.sum
old: 16.0
new: 11.0

path: .metrics.cyclomatic.average
old: 2.6666666666666665
new: 1.5714285714285714

path: .metrics.mi.mi_sei
old: 41.28736567533381
new: 35.13348042327556

path: .metrics.mi.mi_visual_studio
old: 29.868049647229835
new: 35.81920800003457

path: .metrics.mi.mi_original
old: 51.074364896763015
new: 61.250845680059115

path: .metrics.nexits.sum
old: 5.0
new: 3.0

path: .metrics.nexits.average
old: 1.6666666666666667
new: 0.6

path: .metrics.nargs.sum
old: 4.0
new: 12.0

path: .metrics.nargs.average
old: 1.3333333333333333
new: 2.4

path: .metrics.cognitive.sum
old: 18.0
new: 4.0

path: .metrics.cognitive.average
old: 6.0
new: 0.8

Spaces Data

Minimal test - lines (20, 27)

path: .spaces[0].spaces[0].metrics.nexits.sum
old: 5.0
new: 0.0

path: .spaces[0].spaces[0].metrics.nexits.average
old: 1.6666666666666667
new: 0.0

path: .spaces[0].spaces[0].metrics.mi.mi_visual_studio
old: 34.509270996667034
new: 64.39021648964673

path: .spaces[0].spaces[0].metrics.mi.mi_original
old: 59.01085340430063
new: 110.10727019729592

path: .spaces[0].spaces[0].metrics.mi.mi_sei
old: 45.83068512783231
new: 83.35400040625615

path: .spaces[0].spaces[0].metrics.nargs.sum
old: 4.0
new: 3.0

path: .spaces[0].spaces[0].metrics.nargs.average
old: 1.3333333333333333
new: 3.0

path: .spaces[0].spaces[0].metrics.nom.total
old: 3.0
new: 1.0

path: .spaces[0].spaces[0].metrics.nom.functions
old: 3.0
new: 1.0

path: .spaces[0].spaces[0].metrics.cognitive.average
old: 6.0
new: 1.0

path: .spaces[0].spaces[0].metrics.cognitive.sum
old: 18.0
new: 1.0

path: .spaces[0].spaces[0].metrics.cyclomatic.sum
old: 14.0
new: 2.0

path: .spaces[0].spaces[0].metrics.cyclomatic.average
old: 3.5
new: 2.0

path: .spaces[0].spaces[0].metrics.halstead.n1
old: 23.0
new: 10.0

path: .spaces[0].spaces[0].metrics.halstead.purity_ratio
old: 0.8723581816340679
new: 1.8275135577918944

path: .spaces[0].spaces[0].metrics.halstead.N1
old: 137.0
new: 22.0

path: .spaces[0].spaces[0].metrics.halstead.difficulty
old: 48.19047619047619
new: 7.727272727272728

path: .spaces[0].spaces[0].metrics.halstead.volume
old: 1228.372114193392
new: 171.30037948837168

path: .spaces[0].spaces[0].metrics.halstead.length
old: 225.0
new: 39.0

path: .spaces[0].spaces[0].metrics.halstead.vocabulary
old: 44.0
new: 21.0

path: .spaces[0].spaces[0].metrics.halstead.effort
old: 59195.83712208155
new: 1323.684750591963

path: .spaces[0].spaces[0].metrics.halstead.N2
old: 88.0
new: 17.0

path: .spaces[0].spaces[0].metrics.halstead.estimated_program_length
old: 196.28059086766527
new: 71.27302875388389

path: .spaces[0].spaces[0].metrics.halstead.time
old: 3288.6576178934197
new: 73.5380416995535

path: .spaces[0].spaces[0].metrics.halstead.level
old: 0.020750988142292492
new: 0.12941176470588234

path: .spaces[0].spaces[0].metrics.halstead.n2
old: 21.0
new: 11.0

path: .spaces[0].spaces[0].metrics.halstead.bugs
old: 0.5062979741458261
new: 0.040185414814858995

path: .spaces[0].spaces[0].metrics.loc.sloc
old: 84.0
new: 8.0

path: .spaces[0].spaces[0].metrics.loc.blank
old: 10.0
new: 0.0

path: .spaces[0].spaces[0].metrics.loc.cloc
old: 21.0
new: 0.0

path: .spaces[0].spaces[0].metrics.loc.ploc
old: 53.0
new: 8.0

path: .spaces[0].spaces[0].metrics.loc.lloc
old: 26.0
new: 2.0

Code

  nsInterfaceRequestorAgg(nsIInterfaceRequestor* aFirst,
                          nsIInterfaceRequestor* aSecond,
                          nsIEventTarget* aConsumerTarget = nullptr)
      : mFirst(aFirst), mSecond(aSecond), mConsumerTarget(aConsumerTarget) {
    if (!mConsumerTarget) {
      mConsumerTarget = mozilla::GetCurrentEventTarget();
    }
  }

Minimal test - lines (14, 34)

path: .spaces[0].metrics.nargs.average
old: 1.3333333333333333
new: 3.0

path: .spaces[0].metrics.nargs.sum
old: 4.0
new: 3.0

path: .spaces[0].metrics.nexits.average
old: 1.6666666666666667
new: 0.0

path: .spaces[0].metrics.nexits.sum
old: 5.0
new: 0.0

path: .spaces[0].metrics.halstead.vocabulary
old: 45.0
new: 27.0

path: .spaces[0].metrics.halstead.n2
old: 22.0
new: 14.0

path: .spaces[0].metrics.halstead.level
old: 0.02149487054225696
new: 0.07427055702917772

path: .spaces[0].metrics.halstead.estimated_program_length
old: 202.14942059933185
new: 101.40868524464064

path: .spaces[0].metrics.halstead.length
old: 228.0
new: 66.0

path: .spaces[0].metrics.halstead.N1
old: 139.0
new: 37.0

path: .spaces[0].metrics.halstead.N2
old: 89.0
new: 29.0

path: .spaces[0].metrics.halstead.bugs
old: 0.5009080699088017
new: 0.08712117933553631

path: .spaces[0].metrics.halstead.purity_ratio
old: 0.8866202657865432
new: 1.5364952309794038

path: .spaces[0].metrics.halstead.effort
old: 58253.084311513645
new: 4225.396815315407

path: .spaces[0].metrics.halstead.time
old: 3236.282461750758
new: 234.74426751752264

path: .spaces[0].metrics.halstead.volume
old: 1252.1425059631658
new: 313.8225751427889

path: .spaces[0].metrics.halstead.n1
old: 23.0
new: 13.0

path: .spaces[0].metrics.halstead.difficulty
old: 46.52272727272727
new: 13.464285714285714

path: .spaces[0].metrics.cognitive.sum
old: 18.0
new: 1.0

path: .spaces[0].metrics.cognitive.average
old: 6.0
new: 1.0

path: .spaces[0].metrics.loc.lloc
old: 26.0
new: 2.0

path: .spaces[0].metrics.loc.cloc
old: 23.0
new: 1.0

path: .spaces[0].metrics.loc.blank
old: 12.0
new: 3.0

path: .spaces[0].metrics.loc.ploc
old: 55.0
new: 17.0

path: .spaces[0].metrics.loc.sloc
old: 90.0
new: 21.0

path: .spaces[0].metrics.nom.functions
old: 3.0
new: 1.0

path: .spaces[0].metrics.nom.total
old: 3.0
new: 1.0

path: .spaces[0].metrics.mi.mi_visual_studio
old: 33.662867969530524
new: 53.27183161323829

path: .spaces[0].metrics.mi.mi_original
old: 57.5635042278972
new: 91.09483205863748

path: .spaces[0].metrics.mi.mi_sei
old: 44.14900608662243
new: 72.60962641004684

path: .spaces[0].metrics.cyclomatic.sum
old: 15.0
new: 3.0

path: .spaces[0].metrics.cyclomatic.average
old: 3.0
new: 1.5

Code

class nsInterfaceRequestorAgg final : public nsIInterfaceRequestor {
 public:
  // XXX This needs to support threadsafe refcounting until we fix bug 243591.
  NS_DECL_THREADSAFE_ISUPPORTS
  NS_DECL_NSIINTERFACEREQUESTOR

  nsInterfaceRequestorAgg(nsIInterfaceRequestor* aFirst,
                          nsIInterfaceRequestor* aSecond,
                          nsIEventTarget* aConsumerTarget = nullptr)
      : mFirst(aFirst), mSecond(aSecond), mConsumerTarget(aConsumerTarget) {
    if (!mConsumerTarget) {
      mConsumerTarget = mozilla::GetCurrentEventTarget();
    }
  }

 private:
  ~nsInterfaceRequestorAgg();

  nsCOMPtr mFirst, mSecond;
  nsCOMPtr mConsumerTarget;
};