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