# Global Metrics

path: .metrics.nom.functions
old: 3.0
new: 2.0
path: .metrics.nom.total
old: 3.0
new: 2.0
path: .metrics.mi.mi_original
old: 71.14371445297543
new: 87.26312327160241
path: .metrics.mi.mi_sei
old: 71.35840415810159
new: 86.11393206839274
path: .metrics.mi.mi_visual_studio
old: 41.60451137600902
new: 51.03106624070317
path: .metrics.halstead.bugs
old: 0.07602174339918645
new: 0.03583920963739985
path: .metrics.halstead.n2
old: 23.0
new: 12.0
path: .metrics.halstead.time
old: 191.34455776255567
new: 61.93655025885135
path: .metrics.halstead.N1
old: 45.0
new: 25.0
path: .metrics.halstead.n1
old: 12.0
new: 10.0
path: .metrics.halstead.effort
old: 3444.202039726002
new: 1114.8579046593245
path: .metrics.halstead.purity_ratio
old: 1.8854035256149384
new: 1.9059707739381877
path: .metrics.halstead.vocabulary
old: 35.0
new: 22.0
path: .metrics.halstead.level
old: 0.11616161616161616
new: 0.16
path: .metrics.halstead.volume
old: 400.08407532170736
new: 178.37726474549189
path: .metrics.halstead.estimated_program_length
old: 147.06147499796518
new: 76.2388309575275
path: .metrics.halstead.difficulty
old: 8.608695652173912
new: 6.25
path: .metrics.halstead.length
old: 78.0
new: 40.0
path: .metrics.halstead.N2
old: 33.0
new: 15.0
path: .metrics.loc.ploc
old: 23.0
new: 18.0
path: .metrics.loc.cloc
old: 29.0
new: 8.0
path: .metrics.loc.sloc
old: 62.0
new: 31.0
path: .metrics.loc.blank
old: 10.0
new: 5.0
path: .metrics.nargs.sum
old: 2.0
new: 0.0
path: .metrics.nargs.average
old: 0.6666666666666666
new: 0.0
path: .metrics.nexits.sum
old: 1.0
new: 0.0
path: .metrics.nexits.average
old: 0.3333333333333333
new: 0.0
path: .metrics.cyclomatic.sum
old: 8.0
new: 5.0

# Spaces Data

## Minimal test - lines (13, 29)

path: .spaces[0].metrics.nexits.average
old: 0.3333333333333333
new: 0.0
path: .spaces[0].metrics.nexits.sum
old: 1.0
new: 0.0
path: .spaces[0].metrics.nargs.sum
old: 2.0
new: 0.0
path: .spaces[0].metrics.nargs.average
old: 0.6666666666666666
new: 0.0
path: .spaces[0].metrics.loc.sloc
old: 44.0
new: 17.0
path: .spaces[0].metrics.loc.cloc
old: 18.0
new: 2.0
path: .spaces[0].metrics.loc.ploc
old: 18.0
new: 12.0
path: .spaces[0].metrics.loc.blank
old: 8.0
new: 3.0
path: .spaces[0].metrics.cyclomatic.sum
old: 7.0
new: 4.0
path: .spaces[0].metrics.mi.mi_original
old: 77.22014647325736
new: 98.269064044551
path: .spaces[0].metrics.mi.mi_visual_studio
old: 45.15798039371775
new: 57.467288914942095
path: .spaces[0].metrics.mi.mi_sei
old: 78.24208896655065
new: 91.81441835465674
path: .spaces[0].metrics.nom.total
old: 3.0
new: 2.0
path: .spaces[0].metrics.nom.functions
old: 3.0
new: 2.0
path: .spaces[0].metrics.halstead.n2
old: 21.0
new: 8.0
path: .spaces[0].metrics.halstead.vocabulary
old: 33.0
new: 18.0
path: .spaces[0].metrics.halstead.purity_ratio
old: 1.803442878493438
new: 1.6348365985392463
path: .spaces[0].metrics.halstead.estimated_program_length
old: 135.25821588700785
new: 57.219280948873624
path: .spaces[0].metrics.halstead.time
old: 180.15693283423047
new: 50.6761718925281
path: .spaces[0].metrics.halstead.N1
old: 45.0
new: 25.0
path: .spaces[0].metrics.halstead.volume
old: 378.329558951884
new: 145.94737505048093
path: .spaces[0].metrics.halstead.difficulty
old: 8.571428571428571
new: 6.25
path: .spaces[0].metrics.halstead.effort
old: 3242.8247910161485
new: 912.1710940655058
path: .spaces[0].metrics.halstead.bugs
old: 0.07302883988265825
new: 0.03135183386144559
path: .spaces[0].metrics.halstead.n1
old: 12.0
new: 10.0
path: .spaces[0].metrics.halstead.N2
old: 30.0
new: 10.0
path: .spaces[0].metrics.halstead.level
old: 0.11666666666666668
new: 0.16
path: .spaces[0].metrics.halstead.length
old: 75.0
new: 35.0

### Code

    namespace mozilla {

    class GeckoSystemStateListener final
        : public java::GeckoSystemStateListener::Natives {
      GeckoSystemStateListener() = delete;

     public:
      static void OnDeviceChanged() {
        MOZ_ASSERT(NS_IsMainThread());
        // TODO(emilio, bug 1673318): This could become more granular and avoid work
        // if we get whether these are layout/style-affecting from the caller.
        mozilla::LookAndFeel::NotifyChangedAllWindows(
            widget::ThemeChangeKind::StyleAndLayout);
      }
    };

    }  // namespace mozilla

## Minimal test - lines (15, 27)

path: .spaces[0].spaces[0].metrics.nexits.average
old: null
new: 0.0
path: .spaces[0].spaces[0].metrics.cognitive.average
old: null
new: 0.0
path: .spaces[0].spaces[0].metrics.halstead.effort
old: 0.0
new: 840.8494987714984
path: .spaces[0].spaces[0].metrics.halstead.length
old: 1.0
new: 32.0
path: .spaces[0].spaces[0].metrics.halstead.vocabulary
old: 1.0
new: 17.0
path: .spaces[0].spaces[0].metrics.halstead.volume
old: 0.0
new: 130.79881092001085
path: .spaces[0].spaces[0].metrics.halstead.estimated_program_length
old: null
new: 52.87076540327685
path: .spaces[0].spaces[0].metrics.halstead.N1
old: 0.0
new: 23.0
path: .spaces[0].spaces[0].metrics.halstead.purity_ratio
old: null
new: 1.6522114188524015
path: .spaces[0].spaces[0].metrics.halstead.bugs
old: 0.0
new: 0.02969551934370796
path: .spaces[0].spaces[0].metrics.halstead.difficulty
old: 0.0
new: 6.428571428571429
path: .spaces[0].spaces[0].metrics.halstead.level
old: null
new: 0.15555555555555556
path: .spaces[0].spaces[0].metrics.halstead.N2
old: 1.0
new: 9.0
path: .spaces[0].spaces[0].metrics.halstead.n2
old: 1.0
new: 7.0
path: .spaces[0].spaces[0].metrics.halstead.time
old: 0.0
new: 46.71386104286102
path: .spaces[0].spaces[0].metrics.halstead.n1
old: 0.0
new: 10.0
path: .spaces[0].spaces[0].metrics.nom.functions
old: 0.0
new: 2.0
path: .spaces[0].spaces[0].metrics.nom.total
old: 0.0
new: 2.0
path: .spaces[0].spaces[0].metrics.loc.lloc
old: 0.0
new: 2.0
path: .spaces[0].spaces[0].metrics.loc.ploc
old: 1.0
new: 10.0
path: .spaces[0].spaces[0].metrics.loc.blank
old: 0.0
new: 1.0
path: .spaces[0].spaces[0].metrics.loc.cloc
old: 0.0
new: 2.0
path: .spaces[0].spaces[0].metrics.loc.sloc
old: 1.0
new: 13.0
path: .spaces[0].spaces[0].metrics.mi.mi_sei
old: null
new: 102.34733084008968
path: .spaces[0].spaces[0].metrics.mi.mi_visual_studio
old: null
new: 60.47648339105906
path: .spaces[0].spaces[0].metrics.mi.mi_original
old: null
new: 103.414786598711
path: .spaces[0].spaces[0].metrics.cyclomatic.sum
old: 1.0
new: 3.0
path: .spaces[0].spaces[0].metrics.nargs.average
old: null
new: 0.0

### Code

    class GeckoSystemStateListener final
        : public java::GeckoSystemStateListener::Natives {
      GeckoSystemStateListener() = delete;

     public:
      static void OnDeviceChanged() {
        MOZ_ASSERT(NS_IsMainThread());
        // TODO(emilio, bug 1673318): This could become more granular and avoid work
        // if we get whether these are layout/style-affecting from the caller.
        mozilla::LookAndFeel::NotifyChangedAllWindows(
            widget::ThemeChangeKind::StyleAndLayout);
      }
    };