# Global Metrics

path: .metrics.nargs.average
old: 3.090909090909091
new: 0.375
path: .metrics.nargs.sum
old: 34.0
new: 3.0
path: .metrics.halstead.volume
old: 14097.309915312191
new: 835.2930376515064
path: .metrics.halstead.n1
old: 11.0
new: 13.0
path: .metrics.halstead.purity_ratio
old: 0.3476735039603787
new: 1.318207855933512
path: .metrics.halstead.vocabulary
old: 113.0
new: 44.0
path: .metrics.halstead.level
old: 0.017645532393391575
new: 0.06911928651059086
path: .metrics.halstead.N1
old: 1016.0
new: 84.0
path: .metrics.halstead.length
old: 2067.0
new: 153.0
path: .metrics.halstead.effort
old: 798916.6663280601
new: 12084.804109248407
path: .metrics.halstead.bugs
old: 2.869985699236299
new: 0.17553827326194085
path: .metrics.halstead.N2
old: 1051.0
new: 69.0
path: .metrics.halstead.estimated_program_length
old: 718.6411326861028
new: 201.68580195782732
path: .metrics.halstead.n2
old: 102.0
new: 31.0
path: .metrics.halstead.time
old: 44384.259240447784
new: 671.3780060693559
path: .metrics.halstead.difficulty
old: 56.67156862745098
new: 14.46774193548387
path: .metrics.nom.total
old: 11.0
new: 8.0
path: .metrics.nom.functions
old: 11.0
new: 8.0
path: .metrics.cyclomatic.sum
old: 13.0
new: 12.0
path: .metrics.mi.mi_sei
old: -15.794774036562742
new: 44.03496864885534
path: .metrics.mi.mi_visual_studio
old: 16.091556907322005
new: 36.53244165837362
path: .metrics.mi.mi_original
old: 27.51656231152063
new: 62.470475235818895
path: .metrics.nexits.average
old: 0.18181818181818185
new: 0.0
path: .metrics.nexits.sum
old: 2.0
new: 0.0
path: .metrics.loc.blank
old: 36.0
new: 18.0
path: .metrics.loc.cloc
old: 17.0
new: 12.0
path: .metrics.loc.sloc
old: 272.0
new: 79.0
path: .metrics.loc.ploc
old: 219.0
new: 49.0
path: .metrics.loc.lloc
old: 125.0
new: 0.0

# Spaces Data

## Minimal test - lines (64, 77)

path: .spaces[2].metrics.cyclomatic.sum
old: 1.0
new: 4.0
path: .spaces[2].metrics.nom.functions
old: 1.0
new: 3.0
path: .spaces[2].metrics.nom.total
old: 1.0
new: 3.0
path: .spaces[2].metrics.mi.mi_original
old: 91.08195509053698
new: 100.4478235427728
path: .spaces[2].metrics.mi.mi_sei
old: 74.15225066677914
new: 69.62200433885306
path: .spaces[2].metrics.mi.mi_visual_studio
old: 53.26430122253624
new: 58.741417276475325
path: .spaces[2].metrics.loc.blank
old: 1.0
new: 2.0
path: .spaces[2].metrics.loc.cloc
old: 1.0
new: 0.0
path: .spaces[2].metrics.loc.sloc
old: 17.0
new: 14.0
path: .spaces[2].metrics.loc.ploc
old: 15.0
new: 12.0
path: .spaces[2].metrics.loc.lloc
old: 6.0
new: 0.0
path: .spaces[2].metrics.nargs.average
old: 3.0
new: 0.3333333333333333
path: .spaces[2].metrics.nargs.sum
old: 3.0
new: 1.0
path: .spaces[2].metrics.halstead.length
old: 134.0
new: 43.0
path: .spaces[2].metrics.halstead.estimated_program_length
old: 129.69058447171096
new: 52.529325012980806
path: .spaces[2].metrics.halstead.vocabulary
old: 31.0
new: 17.0
path: .spaces[2].metrics.halstead.level
old: 0.10084033613445378
new: 0.09876543209876544
path: .spaces[2].metrics.halstead.n2
old: 24.0
new: 8.0
path: .spaces[2].metrics.halstead.N2
old: 68.0
new: 18.0
path: .spaces[2].metrics.halstead.time
old: 365.7389553955052
new: 98.86550747274258
path: .spaces[2].metrics.halstead.difficulty
old: 9.916666666666666
new: 10.125
path: .spaces[2].metrics.halstead.N1
old: 66.0
new: 25.0
path: .spaces[2].metrics.halstead.volume
old: 663.8623055918413
new: 175.76090217376458
path: .spaces[2].metrics.halstead.n1
old: 7.0
new: 9.0
path: .spaces[2].metrics.halstead.bugs
old: 0.11708678884343508
new: 0.048950479306899185
path: .spaces[2].metrics.halstead.effort
old: 6583.301197119093
new: 1779.5791345093664
path: .spaces[2].metrics.halstead.purity_ratio
old: 0.9678401826247088
new: 1.2216122096042048

### Code

    class nsArrayCC final : public nsArrayBase {
      friend class nsArrayBase;

     public:
      NS_DECL_CYCLE_COLLECTING_ISUPPORTS
      NS_DECL_CYCLE_COLLECTION_CLASS_AMBIGUOUS(nsArrayCC, nsIMutableArray)

     private:
      nsArrayCC() : nsArrayBase() {}
      nsArrayCC(const nsArrayCC& aOther);
      explicit nsArrayCC(const nsCOMArray_base& aBaseArray)
          : nsArrayBase(aBaseArray) {}
      ~nsArrayCC() = default;
    };

## Minimal test - lines (25, 48)

path: .spaces[0].metrics.cyclomatic.sum
old: 1.0
new: 3.0
path: .spaces[0].metrics.loc.lloc
old: 25.0
new: 0.0
path: .spaces[0].metrics.loc.ploc
old: 32.0
new: 16.0
path: .spaces[0].metrics.loc.sloc
old: 36.0
new: 24.0
path: .spaces[0].metrics.loc.blank
old: 4.0
new: 3.0
path: .spaces[0].metrics.loc.cloc
old: 0.0
new: 5.0
path: .spaces[0].metrics.halstead.vocabulary
old: 44.0
new: 31.0
path: .spaces[0].metrics.halstead.estimated_program_length
old: 210.1173000519232
new: 123.1643663617958
path: .spaces[0].metrics.halstead.n2
old: 36.0
new: 18.0
path: .spaces[0].metrics.halstead.n1
old: 8.0
new: 13.0
path: .spaces[0].metrics.halstead.N1
old: 179.0
new: 34.0
path: .spaces[0].metrics.halstead.N2
old: 183.0
new: 27.0
path: .spaces[0].metrics.halstead.difficulty
old: 20.333333333333332
new: 9.75
path: .spaces[0].metrics.halstead.length
old: 362.0
new: 61.0
path: .spaces[0].metrics.halstead.purity_ratio
old: 0.5804345305301747
new: 2.0190879731441935
path: .spaces[0].metrics.halstead.bugs
old: 0.3910705687137392
new: 0.0685094561735798
path: .spaces[0].metrics.halstead.effort
old: 40185.0563342496
new: 2946.5082556025936
path: .spaces[0].metrics.halstead.volume
old: 1976.3142459467017
new: 302.20597493359935
path: .spaces[0].metrics.halstead.time
old: 2232.5031296805337
new: 163.69490308903298
path: .spaces[0].metrics.halstead.level
old: 0.049180327868852465
new: 0.10256410256410256
path: .spaces[0].metrics.mi.mi_visual_studio
old: 42.83874323540486
new: 52.12149829161079
path: .spaces[0].metrics.mi.mi_sei
old: 30.08451241180623
new: 85.67063489660995
path: .spaces[0].metrics.mi.mi_original
old: 73.25425093254232
new: 89.12776207865446
path: .spaces[0].metrics.nom.functions
old: 1.0
new: 2.0
path: .spaces[0].metrics.nom.total
old: 1.0
new: 2.0
path: .spaces[0].metrics.nargs.average
old: 1.0
new: 0.5

### Code

    class nsArrayBase : public nsIMutableArray {
     public:
      NS_DECL_NSIARRAY
      NS_DECL_NSIARRAYEXTENSIONS
      NS_DECL_NSIMUTABLEARRAY

      /* Both of these factory functions create a cycle-collectable array
         on the main thread and a non-cycle-collectable array on other
         threads.  */
      static already_AddRefed Create();
      /* Only for the benefit of the XPCOM module system, use Create()
         instead.  */
      static nsresult XPCOMConstructor(nsISupports* aOuter, const nsIID& aIID,
                                       void** aResult);

     protected:
      nsArrayBase() = default;
      nsArrayBase(const nsArrayBase& aOther);
      explicit nsArrayBase(const nsCOMArray_base& aBaseArray)
          : mArray(aBaseArray) {}
      virtual ~nsArrayBase();

      nsCOMArray_base mArray;
    };

## Minimal test - lines (50, 62)

path: .spaces[1].metrics.mi.mi_sei
old: 76.06659767182808
new: 72.62034504294756
path: .spaces[1].metrics.mi.mi_visual_studio
old: 53.82276426620785
new: 59.9567923673532
path: .spaces[1].metrics.mi.mi_original
old: 92.03692689521542
new: 102.52611494817398
path: .spaces[1].metrics.cyclomatic.sum
old: 1.0
new: 4.0
path: .spaces[1].metrics.nom.total
old: 1.0
new: 3.0
path: .spaces[1].metrics.nom.functions
old: 1.0
new: 3.0
path: .spaces[1].metrics.halstead.N2
old: 72.0
new: 16.0
path: .spaces[1].metrics.halstead.length
old: 136.0
new: 38.0
path: .spaces[1].metrics.halstead.bugs
old: 0.12557140033080014
new: 0.040864224883014326
path: .spaces[1].metrics.halstead.effort
old: 7311.693673595441
new: 1357.3654183599883
path: .spaces[1].metrics.halstead.level
old: 0.09126984126984126
new: 0.109375
path: .spaces[1].metrics.halstead.difficulty
old: 10.956521739130435
new: 9.142857142857142
path: .spaces[1].metrics.halstead.volume
old: 667.3371210027585
new: 148.46184263312372
path: .spaces[1].metrics.halstead.vocabulary
old: 30.0
new: 15.0
path: .spaces[1].metrics.halstead.purity_ratio
old: 0.9095103635567244
new: 1.1487232751158745
path: .spaces[1].metrics.halstead.N1
old: 64.0
new: 22.0
path: .spaces[1].metrics.halstead.time
old: 406.2052040886357
new: 75.40918990888824
path: .spaces[1].metrics.halstead.n1
old: 7.0
new: 8.0
path: .spaces[1].metrics.halstead.estimated_program_length
old: 123.69340944371451
new: 43.65148445440323
path: .spaces[1].metrics.halstead.n2
old: 23.0
new: 7.0
path: .spaces[1].metrics.nargs.sum
old: 2.0
new: 1.0
path: .spaces[1].metrics.nargs.average
old: 2.0
new: 0.3333333333333333
path: .spaces[1].metrics.loc.cloc
old: 1.0
new: 0.0
path: .spaces[1].metrics.loc.ploc
old: 14.0
new: 11.0
path: .spaces[1].metrics.loc.lloc
old: 6.0
new: 0.0
path: .spaces[1].metrics.loc.blank
old: 1.0
new: 2.0
path: .spaces[1].metrics.loc.sloc
old: 16.0
new: 13.0

### Code

    class nsArray final : public nsArrayBase {
      friend class nsArrayBase;

     public:
      NS_DECL_ISUPPORTS

     private:
      nsArray() : nsArrayBase() {}
      nsArray(const nsArray& aOther);
      explicit nsArray(const nsCOMArray_base& aBaseArray)
          : nsArrayBase(aBaseArray) {}
      ~nsArray() = default;
    };