# Global Metrics

path: .metrics.cyclomatic.average
old: 5.038461538461538
new: 3.0
path: .metrics.cyclomatic.sum
old: 131.0
new: 6.0
path: .metrics.nom.functions
old: 22.0
new: 1.0
path: .metrics.nom.total
old: 22.0
new: 1.0
path: .metrics.mi.mi_visual_studio
old: 0.0
new: 48.113155910796664
path: .metrics.mi.mi_sei
old: -73.03830408110647
new: 72.34615313231303
path: .metrics.mi.mi_original
old: -21.208439327532787
new: 82.27349660746229
path: .metrics.loc.cloc
old: 55.0
new: 5.0
path: .metrics.loc.ploc
old: 629.0
new: 23.0
path: .metrics.loc.sloc
old: 786.0
new: 32.0
path: .metrics.loc.blank
old: 102.0
new: 4.0
path: .metrics.loc.lloc
old: 308.0
new: 10.0
path: .metrics.nargs.average
old: 3.9545454545454546
new: 2.0
path: .metrics.nargs.sum
old: 87.0
new: 2.0
path: .metrics.halstead.vocabulary
old: 277.0
new: 33.0
path: .metrics.halstead.effort
old: 4460181.456499435
new: 5380.687060649017
path: .metrics.halstead.time
old: 247787.85869441307
new: 298.9270589249454
path: .metrics.halstead.bugs
old: 9.031927242932657
new: 0.10235378362732364
path: .metrics.halstead.n2
old: 240.0
new: 18.0
path: .metrics.halstead.level
old: 0.00735846453373396
new: 0.075
path: .metrics.halstead.length
old: 4045.0
new: 80.0
path: .metrics.halstead.estimated_program_length
old: 2090.403517474316
new: 133.6620089600894
path: .metrics.halstead.purity_ratio
old: 0.5167870253335762
new: 1.6707751120011174
path: .metrics.halstead.volume
old: 32820.08706166897
new: 403.5515295486763
path: .metrics.halstead.N1
old: 2282.0
new: 48.0
path: .metrics.halstead.difficulty
old: 135.89791666666667
new: 13.333333333333334
path: .metrics.halstead.N2
old: 1763.0
new: 32.0
path: .metrics.halstead.n1
old: 37.0
new: 15.0
path: .metrics.nexits.sum
old: 13.0
new: 1.0
path: .metrics.nexits.average
old: 0.5909090909090909
new: 1.0
path: .metrics.cognitive.average
old: 8.409090909090908
new: 7.0
path: .metrics.cognitive.sum
old: 185.0
new: 7.0

# Spaces Data

## Minimal test - lines (10, 32)

path: .spaces[0].metrics.loc.sloc
old: 12.0
new: 23.0
path: .spaces[0].metrics.loc.blank
old: 0.0
new: 2.0
path: .spaces[0].metrics.loc.cloc
old: 2.0
new: 0.0
path: .spaces[0].metrics.loc.lloc
old: 7.0
new: 10.0
path: .spaces[0].metrics.loc.ploc
old: 10.0
new: 21.0
path: .spaces[0].metrics.cognitive.sum
old: 4.0
new: 7.0
path: .spaces[0].metrics.cognitive.average
old: 4.0
new: 7.0
path: .spaces[0].metrics.halstead.effort
old: 915.8558535620402
new: 5434.134077955603
path: .spaces[0].metrics.halstead.estimated_program_length
old: 66.58307281799108
new: 122.60335893412778
path: .spaces[0].metrics.halstead.volume
old: 159.91133951083242
new: 386.42731221017624
path: .spaces[0].metrics.halstead.vocabulary
old: 20.0
new: 31.0
path: .spaces[0].metrics.halstead.N1
old: 23.0
new: 48.0
path: .spaces[0].metrics.halstead.length
old: 37.0
new: 78.0
path: .spaces[0].metrics.halstead.n1
old: 9.0
new: 15.0
path: .spaces[0].metrics.halstead.level
old: 0.1746031746031746
new: 0.07111111111111111
path: .spaces[0].metrics.halstead.purity_ratio
old: 1.7995425085943535
new: 1.5718379350529204
path: .spaces[0].metrics.halstead.time
old: 50.88088075344668
new: 301.8963376642002
path: .spaces[0].metrics.halstead.difficulty
old: 5.7272727272727275
new: 14.0625
path: .spaces[0].metrics.halstead.N2
old: 14.0
new: 30.0
path: .spaces[0].metrics.halstead.bugs
old: 0.03143620862415421
new: 0.10303046148209792
path: .spaces[0].metrics.halstead.n2
old: 11.0
new: 16.0
path: .spaces[0].metrics.cyclomatic.average
old: 4.0
new: 5.0
path: .spaces[0].metrics.cyclomatic.sum
old: 4.0
new: 5.0
path: .spaces[0].metrics.mi.mi_visual_studio
old: 60.48917584722927
new: 51.50812048371597
path: .spaces[0].metrics.mi.mi_original
old: 103.43649069876204
new: 88.07888602715431
path: .spaces[0].metrics.mi.mi_sei
old: 103.49009548443118
new: 51.87921938340928
path: .spaces[0].metrics.nargs.average
old: 1.0
new: 2.0
path: .spaces[0].metrics.nargs.sum
old: 1.0
new: 2.0
path: .spaces[0].metrics.nexits.average
old: 4.0
new: 1.0
path: .spaces[0].metrics.nexits.sum
old: 4.0
new: 1.0

### Code

    nsresult nsGetInterface::operator()(const nsIID& aIID,
                                        void** aInstancePtr) const {
      nsresult status;

      if (mSource) {
        nsCOMPtr factoryPtr = do_QueryInterface(mSource);
        if (factoryPtr) {
          status = factoryPtr->GetInterface(aIID, aInstancePtr);
        } else {
          status = NS_ERROR_NO_INTERFACE;
        }
      } else {
        status = NS_ERROR_NULL_POINTER;
      }

      if (NS_FAILED(status)) {
        *aInstancePtr = 0;
      }
      if (mErrorPtr) {
        *mErrorPtr = status;
      }
      return status;
    }