# Global Metrics

path: .metrics.nexits.average
old: 0.75
new: 0.5714285714285714
path: .metrics.nexits.sum
old: 6.0
new: 4.0
path: .metrics.cognitive.sum
old: 1.0
new: 0.0
path: .metrics.cognitive.average
old: 0.125
new: 0.0
path: .metrics.nom.total
old: 8.0
new: 7.0
path: .metrics.nom.functions
old: 8.0
new: 7.0
path: .metrics.halstead.estimated_program_length
old: 985.1589387050278
new: 183.90099886735345
path: .metrics.halstead.bugs
old: 0.4762029437418155
new: 0.2358948708352175
path: .metrics.halstead.n2
old: 129.0
new: 29.0
path: .metrics.halstead.time
old: 2999.835847813665
new: 1045.8926809934887
path: .metrics.halstead.N2
old: 203.0
new: 88.0
path: .metrics.halstead.purity_ratio
old: 1.9663851071956644
new: 0.9528549164111578
path: .metrics.halstead.volume
old: 3611.936136180104
new: 1034.00753689129
path: .metrics.halstead.effort
old: 53997.04526064597
new: 18826.0682578828
path: .metrics.halstead.length
old: 501.0
new: 193.0
path: .metrics.halstead.N1
old: 298.0
new: 105.0
path: .metrics.halstead.difficulty
old: 14.949612403100776
new: 18.20689655172414
path: .metrics.halstead.level
old: 0.06689136634690174
new: 0.054924242424242424
path: .metrics.halstead.vocabulary
old: 148.0
new: 41.0
path: .metrics.halstead.n1
old: 19.0
new: 12.0
path: .metrics.nargs.sum
old: 1.0
new: 13.0
path: .metrics.nargs.average
old: 0.125
new: 1.8571428571428572
path: .metrics.loc.blank
old: 25.0
new: 14.0
path: .metrics.loc.ploc
old: 131.0
new: 38.0
path: .metrics.loc.lloc
old: 10.0
new: 6.0
path: .metrics.loc.cloc
old: 62.0
new: 32.0
path: .metrics.loc.sloc
old: 218.0
new: 84.0
path: .metrics.cyclomatic.average
old: 1.0666666666666669
new: 1.0
path: .metrics.cyclomatic.sum
old: 16.0
new: 8.0
path: .metrics.mi.mi_visual_studio
old: 21.925604660413317
new: 35.84008284759799
path: .metrics.mi.mi_original
old: 37.49278396930677
new: 61.28654166939256
path: .metrics.mi.mi_sei
old: 16.78622362964414
new: 54.381317390132125

# Spaces Data

## Minimal test - lines (30, 33)

path: .spaces[1].metrics.nargs.average
old: null
new: 2.0
path: .spaces[1].metrics.nargs.sum
old: 0.0
new: 2.0
path: .spaces[1].metrics.loc.sloc
old: 1.0
new: 4.0
path: .spaces[1].metrics.loc.ploc
old: 1.0
new: 4.0
path: .spaces[1].metrics.loc.lloc
old: 0.0
new: 1.0
path: .spaces[1].metrics.nexits.average
old: null
new: 1.0
path: .spaces[1].metrics.nexits.sum
old: 0.0
new: 1.0
path: .spaces[1].metrics.cognitive.average
old: null
new: 0.0
path: .spaces[1].metrics.mi.mi_sei
old: 155.17000000000002
new: 105.86627077189092
path: .spaces[1].metrics.mi.mi_original
old: 159.95690398326485
new: 125.7821630777101
path: .spaces[1].metrics.mi.mi_visual_studio
old: 93.54204911302038
new: 73.55682051328075
path: .spaces[1].metrics.nom.total
old: 0.0
new: 1.0
path: .spaces[1].metrics.nom.functions
old: 0.0
new: 1.0
path: .spaces[1].metrics.halstead.n2
old: 2.0
new: 7.0
path: .spaces[1].metrics.halstead.purity_ratio
old: 1.0
new: 1.9651484454403227
path: .spaces[1].metrics.halstead.N2
old: 2.0
new: 10.0
path: .spaces[1].metrics.halstead.vocabulary
old: 4.0
new: 14.0
path: .spaces[1].metrics.halstead.N1
old: 2.0
new: 10.0
path: .spaces[1].metrics.halstead.n1
old: 2.0
new: 7.0
path: .spaces[1].metrics.halstead.volume
old: 8.0
new: 76.14709844115208
path: .spaces[1].metrics.halstead.bugs
old: 0.0013333333333333333
new: 0.01751032960431849
path: .spaces[1].metrics.halstead.effort
old: 8.0
new: 380.7354922057604
path: .spaces[1].metrics.halstead.estimated_program_length
old: 4.0
new: 39.302968908806456
path: .spaces[1].metrics.halstead.difficulty
old: 1.0
new: 5.0
path: .spaces[1].metrics.halstead.level
old: 1.0
new: 0.2
path: .spaces[1].metrics.halstead.length
old: 4.0
new: 20.0
path: .spaces[1].metrics.halstead.time
old: 0.4444444444444444
new: 21.15197178920891

### Code

    inline const nsQueryReferent do_QueryReferent(nsIWeakReference* aRawPtr,
                                                  nsresult* aError = 0) {
      return nsQueryReferent(aRawPtr, aError);
    }

## Minimal test - lines (56, 59)

path: .spaces[3].metrics.cognitive.average
old: null
new: 0.0
path: .spaces[3].metrics.loc.lloc
old: 0.0
new: 1.0
path: .spaces[3].metrics.loc.sloc
old: 1.0
new: 4.0
path: .spaces[3].metrics.loc.ploc
old: 1.0
new: 4.0
path: .spaces[3].metrics.halstead.level
old: 0.5
new: 0.18518518518518515
path: .spaces[3].metrics.halstead.effort
old: 39.302968908806456
new: 573.4702143148841
path: .spaces[3].metrics.halstead.purity_ratio
old: 1.8221267860233523
new: 2.4699442384741777
path: .spaces[3].metrics.halstead.difficulty
old: 2.0
new: 5.4
path: .spaces[3].metrics.halstead.vocabulary
old: 7.0
new: 19.0
path: .spaces[3].metrics.halstead.bugs
old: 0.0038532659414573967
new: 0.023008377230481207
path: .spaces[3].metrics.halstead.length
old: 7.0
new: 25.0
path: .spaces[3].metrics.halstead.time
old: 2.1834982727114696
new: 31.859456350826893
path: .spaces[3].metrics.halstead.volume
old: 19.651484454403228
new: 106.19818783608964
path: .spaces[3].metrics.halstead.N1
old: 4.0
new: 13.0
path: .spaces[3].metrics.halstead.N2
old: 3.0
new: 12.0
path: .spaces[3].metrics.halstead.estimated_program_length
old: 12.754887502163468
new: 61.74860596185444
path: .spaces[3].metrics.halstead.n1
old: 4.0
new: 9.0
path: .spaces[3].metrics.halstead.n2
old: 3.0
new: 10.0
path: .spaces[3].metrics.nom.total
old: 0.0
new: 1.0
path: .spaces[3].metrics.nom.functions
old: 0.0
new: 1.0
path: .spaces[3].metrics.nargs.average
old: null
new: 2.0
path: .spaces[3].metrics.nargs.sum
old: 0.0
new: 2.0
path: .spaces[3].metrics.nexits.sum
old: 0.0
new: 1.0
path: .spaces[3].metrics.nexits.average
old: null
new: 1.0
path: .spaces[3].metrics.mi.mi_original
old: 155.2836050228807
new: 124.05243471600366
path: .spaces[3].metrics.mi.mi_visual_studio
old: 90.80912574437468
new: 72.54528345965126
path: .spaces[3].metrics.mi.mi_sei
old: 148.4278547652622
new: 103.37080024237208

### Code

    inline already_AddRefed do_GetWeakReference(
        nsISupportsWeakReference* aRawPtr, nsresult* aError = 0) {
      return dont_AddRef(NS_GetWeakReference(aRawPtr, aError));
    }

## Minimal test - lines (61, 66)

path: .spaces[4].metrics.halstead.n1
old: 2.0
new: 6.0
path: .spaces[4].metrics.halstead.purity_ratio
old: 1.0
new: 2.3861192314349133
path: .spaces[4].metrics.halstead.volume
old: 8.0
new: 46.60451250937503
path: .spaces[4].metrics.halstead.level
old: 1.0
new: 0.3333333333333333
path: .spaces[4].metrics.halstead.length
old: 4.0
new: 13.0
path: .spaces[4].metrics.halstead.N2
old: 2.0
new: 6.0
path: .spaces[4].metrics.halstead.effort
old: 8.0
new: 139.8135375281251
path: .spaces[4].metrics.halstead.estimated_program_length
old: 4.0
new: 31.019550008653873
path: .spaces[4].metrics.halstead.vocabulary
old: 4.0
new: 12.0
path: .spaces[4].metrics.halstead.N1
old: 2.0
new: 7.0
path: .spaces[4].metrics.halstead.n2
old: 2.0
new: 6.0
path: .spaces[4].metrics.halstead.difficulty
old: 1.0
new: 3.0
path: .spaces[4].metrics.halstead.time
old: 0.4444444444444444
new: 7.767418751562506
path: .spaces[4].metrics.halstead.bugs
old: 0.0013333333333333333
new: 0.008979349893105186
path: .spaces[4].metrics.mi.mi_visual_studio
old: 93.54204911302038
new: 71.20857910361472
path: .spaces[4].metrics.mi.mi_original
old: 159.95690398326485
new: 121.76667026718118
path: .spaces[4].metrics.mi.mi_sei
old: 155.17000000000002
new: 144.5297414137798
path: .spaces[4].metrics.nom.total
old: 0.0
new: 1.0
path: .spaces[4].metrics.nom.functions
old: 0.0
new: 1.0
path: .spaces[4].metrics.nargs.average
old: null
new: 2.0
path: .spaces[4].metrics.nargs.sum
old: 0.0
new: 2.0
path: .spaces[4].metrics.loc.ploc
old: 1.0
new: 3.0
path: .spaces[4].metrics.loc.cloc
old: 0.0
new: 3.0
path: .spaces[4].metrics.loc.sloc
old: 1.0
new: 6.0
path: .spaces[4].metrics.nexits.average
old: null
new: 0.0
path: .spaces[4].metrics.cognitive.average
old: null
new: 0.0

### Code

    inline void do_GetWeakReference(nsIWeakReference* aRawPtr,
                                    nsresult* aError = 0) {
      // This signature exists solely to _stop_ you from doing a bad thing.
      //  Saying |do_GetWeakReference()| on a weak reference itself,
      //  is very likely to be a programmer error.
    }

## Minimal test - lines (51, 54)

path: .spaces[2].metrics.mi.mi_sei
old: 77.46178282812814
new: 103.37080024237208
path: .spaces[2].metrics.mi.mi_visual_studio
old: 47.70236545585835
new: 72.54528345965126
path: .spaces[2].metrics.mi.mi_original
old: 81.57104492951778
new: 124.05243471600366
path: .spaces[2].metrics.halstead.length
old: 92.0
new: 25.0
path: .spaces[2].metrics.halstead.N1
old: 57.0
new: 13.0
path: .spaces[2].metrics.halstead.n2
old: 23.0
new: 10.0
path: .spaces[2].metrics.halstead.volume
old: 482.80933123680984
new: 106.19818783608964
path: .spaces[2].metrics.halstead.effort
old: 5510.323889115764
new: 573.4702143148841
path: .spaces[2].metrics.halstead.vocabulary
old: 38.0
new: 19.0
path: .spaces[2].metrics.halstead.estimated_program_length
old: 162.64528392343908
new: 61.74860596185444
path: .spaces[2].metrics.halstead.purity_ratio
old: 1.7678835209069466
new: 2.4699442384741777
path: .spaces[2].metrics.halstead.bugs
old: 0.10399125748675787
new: 0.023008377230481207
path: .spaces[2].metrics.halstead.time
old: 306.1291049508758
new: 31.859456350826893
path: .spaces[2].metrics.halstead.difficulty
old: 11.41304347826087
new: 5.4
path: .spaces[2].metrics.halstead.n1
old: 15.0
new: 9.0
path: .spaces[2].metrics.halstead.N2
old: 35.0
new: 12.0
path: .spaces[2].metrics.halstead.level
old: 0.08761904761904762
new: 0.18518518518518515
path: .spaces[2].metrics.loc.lloc
old: 2.0
new: 1.0
path: .spaces[2].metrics.loc.ploc
old: 18.0
new: 4.0
path: .spaces[2].metrics.loc.blank
old: 6.0
new: 0.0
path: .spaces[2].metrics.loc.sloc
old: 32.0
new: 4.0
path: .spaces[2].metrics.loc.cloc
old: 8.0
new: 0.0
path: .spaces[2].metrics.nargs.sum
old: 1.0
new: 2.0
path: .spaces[2].metrics.nargs.average
old: 0.25
new: 2.0
path: .spaces[2].metrics.cyclomatic.sum
old: 5.0
new: 1.0
path: .spaces[2].metrics.nom.total
old: 4.0
new: 1.0
path: .spaces[2].metrics.nom.functions
old: 4.0
new: 1.0
path: .spaces[2].metrics.nexits.sum
old: 2.0
new: 1.0
path: .spaces[2].metrics.nexits.average
old: 0.5
new: 1.0

### Code

    inline already_AddRefed do_GetWeakReference(
        nsISupports* aRawPtr, nsresult* aError = 0) {
      return dont_AddRef(NS_GetWeakReference(aRawPtr, aError));
    }

## Minimal test - lines (69, 74)

path: .spaces[5].metrics.loc.sloc
old: 7.0
new: 6.0
path: .spaces[5].metrics.loc.cloc
old: 0.0
new: 4.0
path: .spaces[5].metrics.loc.ploc
old: 7.0
new: 2.0
path: .spaces[5].metrics.loc.lloc
old: 2.0
new: 0.0
path: .spaces[5].metrics.nargs.average
old: 0.0
new: 1.0
path: .spaces[5].metrics.nargs.sum
old: 0.0
new: 1.0
path: .spaces[5].metrics.mi.mi_visual_studio
old: 69.97993159309351
new: 72.7009634893649
path: .spaces[5].metrics.mi.mi_sei
old: 97.04205533098111
new: 151.433901226403
path: .spaces[5].metrics.mi.mi_original
old: 119.66568302418992
new: 124.31864756681398
path: .spaces[5].metrics.nexits.average
old: 2.0
new: 0.0
path: .spaces[5].metrics.nexits.sum
old: 2.0
new: 0.0
path: .spaces[5].metrics.halstead.level
old: 0.42857142857142855
new: 0.3333333333333333
path: .spaces[5].metrics.halstead.effort
old: 100.76515221158331
new: 85.58797503894243
path: .spaces[5].metrics.halstead.purity_ratio
old: 1.808444231102072
new: 2.2516291673878226
path: .spaces[5].metrics.halstead.time
old: 5.598064011754629
new: 4.754887502163468
path: .spaces[5].metrics.halstead.estimated_program_length
old: 23.509775004326936
new: 20.264662506490403
path: .spaces[5].metrics.halstead.N2
old: 7.0
new: 3.0
path: .spaces[5].metrics.halstead.bugs
old: 0.007218035086038861
new: 0.006473720020679235
path: .spaces[5].metrics.halstead.difficulty
old: 2.3333333333333335
new: 3.0
path: .spaces[5].metrics.halstead.n1
old: 4.0
new: 6.0
path: .spaces[5].metrics.halstead.length
old: 13.0
new: 9.0
path: .spaces[5].metrics.halstead.n2
old: 6.0
new: 3.0
path: .spaces[5].metrics.halstead.volume
old: 43.18506523353571
new: 28.52932501298081
path: .spaces[5].metrics.halstead.vocabulary
old: 10.0
new: 9.0

### Code

    inline void do_GetWeakReference(already_AddRefed&) {
      // This signature exists solely to _stop_ you from doing the bad thing.
      //  Saying |do_GetWeakReference()| on a pointer that is not otherwise owned by
      //  someone else is an automatic leak.  See
      //  .
    }

## Minimal test - lines (77, 82)

path: .spaces[6].metrics.loc.sloc
old: 3.0
new: 6.0
path: .spaces[6].metrics.loc.cloc
old: 0.0
new: 4.0
path: .spaces[6].metrics.loc.lloc
old: 1.0
new: 0.0
path: .spaces[6].metrics.loc.ploc
old: 3.0
new: 2.0
path: .spaces[6].metrics.nargs.average
old: 0.0
new: 2.0
path: .spaces[6].metrics.nargs.sum
old: 0.0
new: 2.0
path: .spaces[6].metrics.mi.mi_visual_studio
old: 79.79333392150134
new: 71.45198382870383
path: .spaces[6].metrics.mi.mi_sei
old: 121.25180248456726
new: 148.35265776234525
path: .spaces[6].metrics.mi.mi_original
old: 136.4466010057673
new: 122.18289234708357
path: .spaces[6].metrics.nexits.average
old: 1.0
new: 0.0
path: .spaces[6].metrics.nexits.sum
old: 1.0
new: 0.0
path: .spaces[6].metrics.halstead.level
old: 0.4
new: 0.25
path: .spaces[6].metrics.halstead.N1
old: 5.0
new: 8.0
path: .spaces[6].metrics.halstead.bugs
old: 0.005108729549290353
new: 0.010312468817532576
path: .spaces[6].metrics.halstead.volume
old: 24.0
new: 43.01955000865387
path: .spaces[6].metrics.halstead.vocabulary
old: 8.0
new: 12.0
path: .spaces[6].metrics.halstead.n1
old: 5.0
new: 8.0
path: .spaces[6].metrics.halstead.N2
old: 3.0
new: 4.0
path: .spaces[6].metrics.halstead.effort
old: 60.0
new: 172.0782000346155
path: .spaces[6].metrics.halstead.time
old: 3.3333333333333335
new: 9.559900001923085
path: .spaces[6].metrics.halstead.estimated_program_length
old: 16.36452797660028
new: 32.0
path: .spaces[6].metrics.halstead.purity_ratio
old: 2.045565997075035
new: 2.6666666666666665
path: .spaces[6].metrics.halstead.length
old: 8.0
new: 12.0
path: .spaces[6].metrics.halstead.difficulty
old: 2.5
new: 4.0
path: .spaces[6].metrics.halstead.n2
old: 3.0
new: 4.0

### Code

    inline void do_GetWeakReference(already_AddRefed&, nsresult*) {
      // This signature exists solely to _stop_ you from doing the bad thing.
      //  Saying |do_GetWeakReference()| on a pointer that is not otherwise owned by
      //  someone else is an automatic leak.  See
      //  .
    }

## Minimal test - lines (22, 28)

path: .spaces[0].metrics.halstead.n1
old: 1.0
new: 10.0
path: .spaces[0].metrics.halstead.effort
old: 1.0
new: 1509.3599871003378
path: .spaces[0].metrics.halstead.length
old: 2.0
new: 42.0
path: .spaces[0].metrics.halstead.purity_ratio
old: 0.0
new: 1.6969768750924736
path: .spaces[0].metrics.halstead.time
old: 0.05555555555555555
new: 83.85333261668544
path: .spaces[0].metrics.halstead.bugs
old: 0.0003333333333333333
new: 0.04386053927283797
path: .spaces[0].metrics.halstead.volume
old: 2.0
new: 184.4773317567079
path: .spaces[0].metrics.halstead.N1
old: 1.0
new: 24.0
path: .spaces[0].metrics.halstead.level
old: 2.0
new: 0.12222222222222222
path: .spaces[0].metrics.halstead.estimated_program_length
old: 0.0
new: 71.27302875388389
path: .spaces[0].metrics.halstead.N2
old: 1.0
new: 18.0
path: .spaces[0].metrics.halstead.n2
old: 1.0
new: 11.0
path: .spaces[0].metrics.halstead.difficulty
old: 0.5
new: 8.181818181818182
path: .spaces[0].metrics.halstead.vocabulary
old: 2.0
new: 21.0
path: .spaces[0].metrics.mi.mi_original
old: 167.1656346610883
new: 112.11511730261384
path: .spaces[0].metrics.mi.mi_visual_studio
old: 97.75768108835572
new: 65.5643960833999
path: .spaces[0].metrics.mi.mi_sei
old: 165.57000000000002
new: 86.14889160855711
path: .spaces[0].metrics.loc.sloc
old: 1.0
new: 7.0
path: .spaces[0].metrics.loc.blank
old: 0.0
new: 1.0
path: .spaces[0].metrics.loc.lloc
old: 0.0
new: 3.0
path: .spaces[0].metrics.loc.ploc
old: 1.0
new: 6.0
path: .spaces[0].metrics.nexits.average
old: null
new: 1.0
path: .spaces[0].metrics.nexits.sum
old: 0.0
new: 1.0
path: .spaces[0].metrics.nargs.average
old: null
new: 2.0
path: .spaces[0].metrics.nargs.sum
old: 0.0
new: 2.0
path: .spaces[0].metrics.nom.total
old: 0.0
new: 1.0
path: .spaces[0].metrics.nom.functions
old: 0.0
new: 1.0
path: .spaces[0].metrics.cognitive.average
old: null
new: 0.0

### Code

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

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