# Global Metrics

path: .metrics.halstead.volume
old: 3453.8947990614765
new: 503.6098884340999
path: .metrics.halstead.estimated_program_length
old: 568.6949053859493
new: 185.26046567326583
path: .metrics.halstead.N1
old: 325.0
new: 43.0
path: .metrics.halstead.length
old: 521.0
new: 94.0
path: .metrics.halstead.vocabulary
old: 99.0
new: 41.0
path: .metrics.halstead.time
old: 8175.886239324268
new: 261.59735871437965
path: .metrics.halstead.bugs
old: 0.9291453162807684
new: 0.09364458122023268
path: .metrics.halstead.n1
old: 30.0
new: 11.0
path: .metrics.halstead.N2
old: 196.0
new: 51.0
path: .metrics.halstead.difficulty
old: 42.608695652173914
new: 9.35
path: .metrics.halstead.effort
old: 147165.95230783682
new: 4708.752456858834
path: .metrics.halstead.n2
old: 69.0
new: 30.0
path: .metrics.halstead.level
old: 0.02346938775510204
new: 0.106951871657754
path: .metrics.halstead.purity_ratio
old: 1.0915449239653536
new: 1.9708560178007
path: .metrics.mi.mi_sei
old: 14.270612402228998
new: 63.74730083108851
path: .metrics.mi.mi_original
old: 38.362759676090434
new: 71.21052333388297
path: .metrics.mi.mi_visual_studio
old: 22.434362383678614
new: 41.64358089700759
path: .metrics.cyclomatic.average
old: 1.6
new: 1.0
path: .metrics.cyclomatic.sum
old: 32.0
new: 6.0
path: .metrics.cognitive.average
old: 0.8
new: 0.0
path: .metrics.cognitive.sum
old: 12.0
new: 0.0
path: .metrics.nargs.average
old: 0.6666666666666666
new: 1.0
path: .metrics.nargs.sum
old: 10.0
new: 4.0
path: .metrics.loc.blank
old: 29.0
new: 10.0
path: .metrics.loc.lloc
old: 39.0
new: 0.0
path: .metrics.loc.sloc
old: 167.0
new: 59.0
path: .metrics.loc.cloc
old: 32.0
new: 16.0
path: .metrics.loc.ploc
old: 106.0
new: 33.0
path: .metrics.nom.functions
old: 15.0
new: 4.0
path: .metrics.nom.total
old: 15.0
new: 4.0
path: .metrics.nexits.average
old: 0.3333333333333333
new: 0.0
path: .metrics.nexits.sum
old: 5.0
new: 0.0

# Spaces Data

## Minimal test - lines (19, 21)

path: .spaces[0].spaces[0].metrics.mi.mi_original
old: 41.151533951219406
new: 142.15938490684147
path: .spaces[0].spaces[0].metrics.mi.mi_sei
old: 16.103632170956534
new: 129.49360748831728
path: .spaces[0].spaces[0].metrics.mi.mi_visual_studio
old: 24.065224532876847
new: 83.13414322037512
path: .spaces[0].spaces[0].metrics.cognitive.sum
old: 12.0
new: 0.0
path: .spaces[0].spaces[0].metrics.cognitive.average
old: 0.8
new: 0.0
path: .spaces[0].spaces[0].metrics.halstead.purity_ratio
old: 1.021004586839669
new: 1.0
path: .spaces[0].spaces[0].metrics.halstead.time
old: 8386.47117524605
new: 0.4444444444444444
path: .spaces[0].spaces[0].metrics.halstead.level
old: 0.022222222222222223
new: 1.0
path: .spaces[0].spaces[0].metrics.halstead.effort
old: 150956.48115442888
new: 8.0
path: .spaces[0].spaces[0].metrics.halstead.length
old: 513.0
new: 4.0
path: .spaces[0].spaces[0].metrics.halstead.n1
old: 30.0
new: 2.0
path: .spaces[0].spaces[0].metrics.halstead.n2
old: 63.0
new: 2.0
path: .spaces[0].spaces[0].metrics.halstead.estimated_program_length
old: 523.7753530487503
new: 4.0
path: .spaces[0].spaces[0].metrics.halstead.N1
old: 324.0
new: 2.0
path: .spaces[0].spaces[0].metrics.halstead.vocabulary
old: 93.0
new: 4.0
path: .spaces[0].spaces[0].metrics.halstead.difficulty
old: 45.0
new: 1.0
path: .spaces[0].spaces[0].metrics.halstead.N2
old: 189.0
new: 2.0
path: .spaces[0].spaces[0].metrics.halstead.bugs
old: 0.9450321593634864
new: 0.0013333333333333333
path: .spaces[0].spaces[0].metrics.halstead.volume
old: 3354.5884700984197
new: 8.0
path: .spaces[0].spaces[0].metrics.loc.cloc
old: 24.0
new: 0.0
path: .spaces[0].spaces[0].metrics.loc.sloc
old: 146.0
new: 3.0
path: .spaces[0].spaces[0].metrics.loc.lloc
old: 39.0
new: 0.0
path: .spaces[0].spaces[0].metrics.loc.ploc
old: 96.0
new: 2.0
path: .spaces[0].spaces[0].metrics.loc.blank
old: 26.0
new: 1.0
path: .spaces[0].spaces[0].metrics.nexits.sum
old: 5.0
new: 0.0
path: .spaces[0].spaces[0].metrics.nexits.average
old: 0.3333333333333333
new: 0.0
path: .spaces[0].spaces[0].metrics.nom.total
old: 15.0
new: 1.0
path: .spaces[0].spaces[0].metrics.nom.functions
old: 15.0
new: 1.0
path: .spaces[0].spaces[0].metrics.nargs.sum
old: 10.0
new: 0.0
path: .spaces[0].spaces[0].metrics.nargs.average
old: 0.6666666666666666
new: 0.0
path: .spaces[0].spaces[0].metrics.cyclomatic.sum
old: 30.0
new: 1.0
path: .spaces[0].spaces[0].metrics.cyclomatic.average
old: 1.6666666666666667
new: 1.0

### Code

      NS_DECL_NSILOCALHANDLERAPP

      nsLocalHandlerApp() {}

## Minimal test - lines (15, 46)

path: .spaces[0].metrics.nom.total
old: 15.0
new: 4.0
path: .spaces[0].metrics.nom.functions
old: 15.0
new: 4.0
path: .spaces[0].metrics.nexits.sum
old: 5.0
new: 0.0
path: .spaces[0].metrics.nexits.average
old: 0.3333333333333333
new: 0.0
path: .spaces[0].metrics.cognitive.sum
old: 12.0
new: 0.0
path: .spaces[0].metrics.cognitive.average
old: 0.8
new: 0.0
path: .spaces[0].metrics.cyclomatic.sum
old: 31.0
new: 5.0
path: .spaces[0].metrics.cyclomatic.average
old: 1.631578947368421
new: 1.0
path: .spaces[0].metrics.halstead.n1
old: 30.0
new: 11.0
path: .spaces[0].metrics.halstead.level
old: 0.02245614035087719
new: 0.09569377990430622
path: .spaces[0].metrics.halstead.difficulty
old: 44.53125
new: 10.45
path: .spaces[0].metrics.halstead.time
old: 8351.126551258552
new: 224.34252292201896
path: .spaces[0].metrics.halstead.volume
old: 3375.6132586139834
new: 386.42731221017624
path: .spaces[0].metrics.halstead.N1
old: 325.0
new: 40.0
path: .spaces[0].metrics.halstead.bugs
old: 0.9423750773747098
new: 0.08452817291008144
path: .spaces[0].metrics.halstead.vocabulary
old: 94.0
new: 31.0
path: .spaces[0].metrics.halstead.effort
old: 150320.27792265394
new: 4038.1654125963414
path: .spaces[0].metrics.halstead.estimated_program_length
old: 531.2067178682555
new: 124.49230970275752
path: .spaces[0].metrics.halstead.n2
old: 64.0
new: 20.0
path: .spaces[0].metrics.halstead.purity_ratio
old: 1.0314693550839913
new: 1.5960552525994554
path: .spaces[0].metrics.halstead.N2
old: 190.0
new: 38.0
path: .spaces[0].metrics.halstead.length
old: 515.0
new: 78.0
path: .spaces[0].metrics.mi.mi_original
old: 40.55954191979215
new: 82.72897069985096
path: .spaces[0].metrics.mi.mi_visual_studio
old: 23.71903036245155
new: 48.37951502915261
path: .spaces[0].metrics.mi.mi_sei
old: 15.612351401120268
new: 79.13231659470536
path: .spaces[0].metrics.nargs.average
old: 0.6666666666666666
new: 1.0
path: .spaces[0].metrics.nargs.sum
old: 10.0
new: 4.0
path: .spaces[0].metrics.loc.ploc
old: 98.0
new: 18.0
path: .spaces[0].metrics.loc.cloc
old: 25.0
new: 8.0
path: .spaces[0].metrics.loc.lloc
old: 39.0
new: 0.0
path: .spaces[0].metrics.loc.blank
old: 26.0
new: 6.0
path: .spaces[0].metrics.loc.sloc
old: 149.0
new: 32.0

### Code

    class nsLocalHandlerApp : public nsILocalHandlerApp {
     public:
      NS_DECL_ISUPPORTS
      NS_DECL_NSIHANDLERAPP
      NS_DECL_NSILOCALHANDLERAPP

      nsLocalHandlerApp() {}

      nsLocalHandlerApp(const char16_t* aName, nsIFile* aExecutable)
          : mName(aName), mExecutable(aExecutable) {}

      nsLocalHandlerApp(const nsAString& aName, nsIFile* aExecutable)
          : mName(aName), mExecutable(aExecutable) {}

     protected:
      virtual ~nsLocalHandlerApp() {}

      nsString mName;
      nsString mDetailedDescription;
      nsTArray mParameters;
      nsCOMPtr mExecutable;

      /**
       * Launches this application with a single argument (typically either
       * a file path or a URI spec).  This is meant as a helper method for
       * implementations of (e.g.) LaunchWithURI.
       *
       * @param aApp The application to launch (may not be null)
       * @param aArg The argument to pass on the command line
       */
      nsresult LaunchWithIProcess(const nsCString& aArg);
    };