# Global Metrics

path: .metrics.halstead.purity_ratio
old: 0.9157805226638772
new: 2.322157952953692
path: .metrics.halstead.n1
old: 30.0
new: 15.0
path: .metrics.halstead.N2
old: 539.0
new: 95.0
path: .metrics.halstead.estimated_program_length
old: 1153.8834585564855
new: 487.6531701202754
path: .metrics.halstead.bugs
old: 2.199303570259441
new: 0.190850807637783
path: .metrics.halstead.effort
old: 535931.9528680434
new: 13700.073125994337
path: .metrics.halstead.difficulty
old: 57.340425531914896
new: 10.178571428571429
path: .metrics.halstead.length
old: 1260.0
new: 210.0
path: .metrics.halstead.N1
old: 721.0
new: 115.0
path: .metrics.halstead.level
old: 0.017439703153988868
new: 0.09824561403508772
path: .metrics.halstead.n2
old: 141.0
new: 70.0
path: .metrics.halstead.volume
old: 9346.494168756231
new: 1345.972096588917
path: .metrics.halstead.vocabulary
old: 171.0
new: 85.0
path: .metrics.halstead.time
old: 29773.99738155797
new: 761.115173666352
path: .metrics.loc.blank
old: 31.0
new: 9.0
path: .metrics.loc.ploc
old: 179.0
new: 56.0
path: .metrics.loc.lloc
old: 65.0
new: 3.0
path: .metrics.loc.sloc
old: 232.0
new: 82.0
path: .metrics.loc.cloc
old: 22.0
new: 17.0
path: .metrics.nom.total
old: 8.0
new: 3.0
path: .metrics.nom.functions
old: 8.0
new: 3.0
path: .metrics.cyclomatic.average
old: 3.5
new: 1.0
path: .metrics.cyclomatic.sum
old: 35.0
new: 10.0
path: .metrics.nargs.average
old: 4.25
new: 0.0
path: .metrics.nargs.sum
old: 34.0
new: 0.0
path: .metrics.mi.mi_sei
old: -9.979912835674993
new: 44.07276763489664
path: .metrics.mi.mi_visual_studio
old: 15.889193143785665
new: 34.99755259741689
path: .metrics.mi.mi_original
old: 27.17052027587349
new: 59.84581494158289
path: .metrics.cognitive.average
old: 4.375
new: 0.0
path: .metrics.cognitive.sum
old: 35.0
new: 0.0
path: .metrics.nexits.average
old: 0.625
new: 1.0
path: .metrics.nexits.sum
old: 5.0
new: 3.0

# Spaces Data

## Minimal test - lines (18, 18)

path: .spaces[1].metrics.cognitive.average
old: 12.0
new: null
path: .spaces[1].metrics.cognitive.sum
old: 12.0
new: 0.0
path: .spaces[1].metrics.cyclomatic.average
old: 6.0
new: 1.0
path: .spaces[1].metrics.cyclomatic.sum
old: 12.0
new: 1.0
path: .spaces[1].metrics.halstead.vocabulary
old: 57.0
new: 1.0
path: .spaces[1].metrics.halstead.n2
old: 34.0
new: 1.0
path: .spaces[1].metrics.halstead.volume
old: 991.591302408006
new: 0.0
path: .spaces[1].metrics.halstead.estimated_program_length
old: 277.01566159182283
new: null
path: .spaces[1].metrics.halstead.purity_ratio
old: 1.629503891716605
new: null
path: .spaces[1].metrics.halstead.effort
old: 24483.555834456503
new: 0.0
path: .spaces[1].metrics.halstead.N2
old: 73.0
new: 1.0
path: .spaces[1].metrics.halstead.n1
old: 23.0
new: 0.0
path: .spaces[1].metrics.halstead.difficulty
old: 24.691176470588236
new: 0.0
path: .spaces[1].metrics.halstead.length
old: 170.0
new: 1.0
path: .spaces[1].metrics.halstead.N1
old: 97.0
new: 0.0
path: .spaces[1].metrics.halstead.bugs
old: 0.2810574317308493
new: 0.0
path: .spaces[1].metrics.halstead.time
old: 1360.1975463586946
new: 0.0
path: .spaces[1].metrics.halstead.level
old: 0.04050029779630732
new: null
path: .spaces[1].metrics.nexits.average
old: 0.0
new: null
path: .spaces[1].metrics.nargs.sum
old: 1.0
new: 0.0
path: .spaces[1].metrics.nargs.average
old: 1.0
new: null
path: .spaces[1].metrics.nom.functions
old: 1.0
new: 0.0
path: .spaces[1].metrics.nom.total
old: 1.0
new: 0.0
path: .spaces[1].metrics.loc.cloc
old: 5.0
new: 0.0
path: .spaces[1].metrics.loc.blank
old: 7.0
new: 0.0
path: .spaces[1].metrics.loc.ploc
old: 26.0
new: 1.0
path: .spaces[1].metrics.loc.sloc
old: 38.0
new: 1.0
path: .spaces[1].metrics.loc.lloc
old: 12.0
new: 0.0
path: .spaces[1].metrics.mi.mi_visual_studio
old: 42.94426132304249
new: null
path: .spaces[1].metrics.mi.mi_sei
old: 58.106774521705134
new: null
path: .spaces[1].metrics.mi.mi_original
old: 73.43468686240266
new: null

### Code

    class nsMenuX;

## Minimal test - lines (20, 24)

path: .spaces[2].metrics.cognitive.average
old: 3.0
new: null
path: .spaces[2].metrics.cognitive.sum
old: 3.0
new: 0.0
path: .spaces[2].metrics.halstead.purity_ratio
old: 0.9340915793365864
new: 1.1258145836939113
path: .spaces[2].metrics.halstead.N2
old: 39.0
new: 3.0
path: .spaces[2].metrics.halstead.level
old: 0.05128205128205128
new: 1.0
path: .spaces[2].metrics.halstead.bugs
old: 0.14889689027119565
new: 0.0019299471801733172
path: .spaces[2].metrics.halstead.estimated_program_length
old: 96.2114326716684
new: 6.754887502163468
path: .spaces[2].metrics.halstead.length
old: 103.0
new: 6.0
path: .spaces[2].metrics.halstead.N1
old: 64.0
new: 3.0
path: .spaces[2].metrics.halstead.difficulty
old: 19.5
new: 1.0
path: .spaces[2].metrics.halstead.time
old: 524.4907318825767
new: 0.7739760316291208
path: .spaces[2].metrics.halstead.vocabulary
old: 26.0
new: 5.0
path: .spaces[2].metrics.halstead.volume
old: 484.1452909685325
new: 13.931568569324174
path: .spaces[2].metrics.halstead.effort
old: 9440.833173886382
new: 13.931568569324174
path: .spaces[2].metrics.halstead.n2
old: 13.0
new: 3.0
path: .spaces[2].metrics.halstead.n1
old: 13.0
new: 2.0
path: .spaces[2].metrics.mi.mi_original
old: 90.46168627947571
new: 130.53948741585606
path: .spaces[2].metrics.mi.mi_sei
old: 55.11323377205346
new: 112.93327872124344
path: .spaces[2].metrics.mi.mi_visual_studio
old: 52.901570923670015
new: 76.33888152974038
path: .spaces[2].metrics.nargs.average
old: 8.0
new: null
path: .spaces[2].metrics.nargs.sum
old: 8.0
new: 0.0
path: .spaces[2].metrics.loc.lloc
old: 8.0
new: 0.0
path: .spaces[2].metrics.loc.sloc
old: 19.0
new: 5.0
path: .spaces[2].metrics.loc.ploc
old: 16.0
new: 5.0
path: .spaces[2].metrics.loc.blank
old: 3.0
new: 0.0
path: .spaces[2].metrics.nom.total
old: 1.0
new: 0.0
path: .spaces[2].metrics.nom.functions
old: 1.0
new: 0.0
path: .spaces[2].metrics.nexits.average
old: 0.0
new: null
path: .spaces[2].metrics.cyclomatic.average
old: 3.0
new: 1.0

### Code

    namespace mozilla {
    namespace dom {
    class Element;
    }
    }  // namespace mozilla

## Minimal test - lines (44, 80)

path: .spaces[3].metrics.nargs.sum
old: 8.0
new: 0.0
path: .spaces[3].metrics.nargs.average
old: 8.0
new: 0.0
path: .spaces[3].metrics.loc.sloc
old: 20.0
new: 37.0
path: .spaces[3].metrics.loc.cloc
old: 0.0
new: 8.0
path: .spaces[3].metrics.loc.ploc
old: 18.0
new: 27.0
path: .spaces[3].metrics.loc.lloc
old: 8.0
new: 3.0
path: .spaces[3].metrics.halstead.n1
old: 13.0
new: 14.0
path: .spaces[3].metrics.halstead.vocabulary
old: 29.0
new: 63.0
path: .spaces[3].metrics.halstead.level
old: 0.0547008547008547
new: 0.1111111111111111
path: .spaces[3].metrics.halstead.bugs
old: 0.16052814444973582
new: 0.13230848746027526
path: .spaces[3].metrics.halstead.volume
old: 578.0997384201811
new: 878.6601487544878
path: .spaces[3].metrics.halstead.effort
old: 10568.385842993936
new: 7907.94133879039
path: .spaces[3].metrics.halstead.n2
old: 16.0
new: 49.0
path: .spaces[3].metrics.halstead.difficulty
old: 18.28125
new: 9.0
path: .spaces[3].metrics.halstead.purity_ratio
old: 0.9420648431582704
new: 2.2341751787105553
path: .spaces[3].metrics.halstead.N1
old: 74.0
new: 84.0
path: .spaces[3].metrics.halstead.estimated_program_length
old: 112.1057163358342
new: 328.42375127045165
path: .spaces[3].metrics.halstead.length
old: 119.0
new: 147.0
path: .spaces[3].metrics.halstead.N2
old: 45.0
new: 63.0
path: .spaces[3].metrics.halstead.time
old: 587.1325468329965
new: 439.3300743772439
path: .spaces[3].metrics.nom.functions
old: 1.0
new: 3.0
path: .spaces[3].metrics.nom.total
old: 1.0
new: 3.0
path: .spaces[3].metrics.cognitive.average
old: 3.0
new: 0.0
path: .spaces[3].metrics.cognitive.sum
old: 3.0
new: 0.0
path: .spaces[3].metrics.mi.mi_visual_studio
old: 51.87628995793697
new: 44.64061943422484
path: .spaces[3].metrics.mi.mi_original
old: 88.70845582807222
new: 76.33545923252447
path: .spaces[3].metrics.mi.mi_sei
old: 52.583856894278085
new: 67.81799004398275
path: .spaces[3].metrics.nexits.average
old: 0.0
new: 1.0
path: .spaces[3].metrics.nexits.sum
old: 0.0
new: 3.0
path: .spaces[3].metrics.cyclomatic.average
old: 3.0
new: 1.0
path: .spaces[3].metrics.cyclomatic.sum
old: 3.0
new: 4.0

### Code

    class nsMenuItemX final : public nsMenuObjectX, public nsChangeObserver {
     public:
      nsMenuItemX(nsMenuX* aParent, const nsString& aLabel, EMenuItemType aItemType,
                  nsMenuGroupOwnerX* aMenuGroupOwner, nsIContent* aNode);
      virtual ~nsMenuItemX();

      NS_DECL_CHANGEOBSERVER

      // nsMenuObjectX
      void* NativeData() override { return (void*)mNativeMenuItem; }
      nsMenuObjectTypeX MenuObjectType() override { return eMenuItemObjectType; }

      // nsMenuItemX
      nsresult SetChecked(bool aIsChecked);
      EMenuItemType GetMenuItemType();
      void DoCommand();
      nsresult DispatchDOMEvent(const nsString& eventName,
                                bool* preventDefaultCalled);
      void SetupIcon();
      nsIContent* Content() { return mContent; }

     protected:
      void UncheckRadioSiblings(nsIContent* aCheckedElement);
      void SetKeyEquiv();

      nsCOMPtr mContent;  // XUL  or

      EMenuItemType mType;

      // nsMenuItemX objects should always have a valid native menu item.
      NSMenuItem* mNativeMenuItem = nil;             // [strong]
      nsMenuX* mMenuParent = nullptr;                // [weak]
      nsMenuGroupOwnerX* mMenuGroupOwner = nullptr;  // [weak]
      RefPtr mCommandElement;
      mozilla::UniquePtr mIcon;  // always non-null
      bool mIsChecked = false;
    };

## Minimal test - lines (17, 17)

path: .spaces[0].metrics.mi.mi_visual_studio
old: 74.98882402022403
new: null
path: .spaces[0].metrics.mi.mi_original
old: 128.2308890745831
new: null
path: .spaces[0].metrics.mi.mi_sei
old: 109.39903562407548
new: null
path: .spaces[0].metrics.cognitive.average
old: 0.0
new: null
path: .spaces[0].metrics.nexits.average
old: 1.0
new: null
path: .spaces[0].metrics.nexits.sum
old: 1.0
new: 0.0
path: .spaces[0].metrics.nargs.average
old: 1.0
new: null
path: .spaces[0].metrics.nargs.sum
old: 1.0
new: 0.0
path: .spaces[0].metrics.nom.functions
old: 1.0
new: 0.0
path: .spaces[0].metrics.nom.total
old: 1.0
new: 0.0
path: .spaces[0].metrics.loc.sloc
old: 4.0
new: 1.0
path: .spaces[0].metrics.loc.ploc
old: 4.0
new: 1.0
path: .spaces[0].metrics.loc.lloc
old: 2.0
new: 0.0
path: .spaces[0].metrics.halstead.bugs
old: 0.010559898761226734
new: 0.0
path: .spaces[0].metrics.halstead.vocabulary
old: 9.0
new: 1.0
path: .spaces[0].metrics.halstead.N2
old: 6.0
new: 1.0
path: .spaces[0].metrics.halstead.N1
old: 9.0
new: 0.0
path: .spaces[0].metrics.halstead.effort
old: 178.30828133113008
new: 0.0
path: .spaces[0].metrics.halstead.estimated_program_length
old: 19.60964047443681
new: null
path: .spaces[0].metrics.halstead.time
old: 9.906015629507229
new: 0.0
path: .spaces[0].metrics.halstead.difficulty
old: 3.75
new: 0.0
path: .spaces[0].metrics.halstead.n1
old: 5.0
new: 0.0
path: .spaces[0].metrics.halstead.volume
old: 47.548875021634686
new: 0.0
path: .spaces[0].metrics.halstead.level
old: 0.26666666666666666
new: null
path: .spaces[0].metrics.halstead.length
old: 15.0
new: 1.0
path: .spaces[0].metrics.halstead.n2
old: 4.0
new: 1.0
path: .spaces[0].metrics.halstead.purity_ratio
old: 1.307309364962454
new: null

### Code

    class nsMenuItemIconX;