# Global Metrics

path: .metrics.loc.cloc
old: 7.0
new: 11.0
path: .metrics.loc.blank
old: 12.0
new: 10.0
path: .metrics.loc.lloc
old: 1.0
new: 0.0
path: .metrics.loc.sloc
old: 66.0
new: 75.0
path: .metrics.loc.ploc
old: 47.0
new: 54.0
path: .metrics.cognitive.average
old: 0.0
new: null
path: .metrics.mi.mi_visual_studio
old: 37.65634372409506
new: 36.29407907705262
path: .metrics.mi.mi_original
old: 64.39234776820255
new: 62.06287522175998
path: .metrics.mi.mi_sei
old: 42.28363051886549
new: 42.402703272183885
path: .metrics.nargs.average
old: 0.75
new: null
path: .metrics.nargs.sum
old: 3.0
new: 0.0
path: .metrics.cyclomatic.sum
old: 9.0
new: 6.0
path: .metrics.halstead.estimated_program_length
old: 299.11942383385923
new: 432.1057163358342
path: .metrics.halstead.purity_ratio
old: 1.5183727098165445
new: 1.9552294856825077
path: .metrics.halstead.volume
old: 1154.0222560401317
new: 1384.9598254935731
path: .metrics.halstead.n2
old: 47.0
new: 64.0
path: .metrics.halstead.length
old: 197.0
new: 221.0
path: .metrics.halstead.time
old: 592.6981917842047
new: 883.032110959227
path: .metrics.halstead.difficulty
old: 9.24468085106383
new: 11.4765625
path: .metrics.halstead.N2
old: 79.0
new: 113.0
path: .metrics.halstead.n1
old: 11.0
new: 13.0
path: .metrics.halstead.level
old: 0.10817031070195628
new: 0.08713410483321987
path: .metrics.halstead.vocabulary
old: 58.0
new: 77.0
path: .metrics.halstead.N1
old: 118.0
new: 108.0
path: .metrics.halstead.bugs
old: 0.1615410185506811
new: 0.21072274409750705
path: .metrics.halstead.effort
old: 10668.567452115683
new: 15894.577997266086
path: .metrics.nexits.average
old: 0.25
new: null
path: .metrics.nexits.sum
old: 1.0
new: 0.0
path: .metrics.nom.functions
old: 4.0
new: 0.0
path: .metrics.nom.total
old: 4.0
new: 0.0

# Spaces Data

## Minimal test - lines (19, 21)

path: .spaces[0].spaces[0].metrics.nexits.average
old: 0.25
new: null
path: .spaces[0].spaces[0].metrics.nexits.sum
old: 1.0
new: 0.0
path: .spaces[0].spaces[0].metrics.cognitive.average
old: 0.0
new: null
path: .spaces[0].spaces[0].metrics.cyclomatic.sum
old: 7.0
new: 2.0
path: .spaces[0].spaces[0].metrics.loc.lloc
old: 1.0
new: 0.0
path: .spaces[0].spaces[0].metrics.loc.ploc
old: 39.0
new: 3.0
path: .spaces[0].spaces[0].metrics.loc.blank
old: 10.0
new: 0.0
path: .spaces[0].spaces[0].metrics.loc.sloc
old: 49.0
new: 3.0
path: .spaces[0].spaces[0].metrics.halstead.purity_ratio
old: 1.4208540955874371
new: 1.0
path: .spaces[0].spaces[0].metrics.halstead.vocabulary
old: 54.0
new: 4.0
path: .spaces[0].spaces[0].metrics.halstead.time
old: 577.9944312088909
new: 0.4444444444444444
path: .spaces[0].spaces[0].metrics.halstead.n1
old: 11.0
new: 2.0
path: .spaces[0].spaces[0].metrics.halstead.difficulty
old: 9.465116279069768
new: 1.0
path: .spaces[0].spaces[0].metrics.halstead.length
old: 191.0
new: 4.0
path: .spaces[0].spaces[0].metrics.halstead.level
old: 0.10565110565110564
new: 1.0
path: .spaces[0].spaces[0].metrics.halstead.N2
old: 74.0
new: 2.0
path: .spaces[0].spaces[0].metrics.halstead.estimated_program_length
old: 271.3831322572005
new: 4.0
path: .spaces[0].spaces[0].metrics.halstead.n2
old: 43.0
new: 2.0
path: .spaces[0].spaces[0].metrics.halstead.volume
old: 1099.1835129132223
new: 8.0
path: .spaces[0].spaces[0].metrics.halstead.effort
old: 10403.899761760036
new: 8.0
path: .spaces[0].spaces[0].metrics.halstead.N1
old: 117.0
new: 2.0
path: .spaces[0].spaces[0].metrics.halstead.bugs
old: 0.15885815640076653
new: 0.0013333333333333333
path: .spaces[0].spaces[0].metrics.nargs.sum
old: 3.0
new: 0.0
path: .spaces[0].spaces[0].metrics.nargs.average
old: 0.75
new: null
path: .spaces[0].spaces[0].metrics.mi.mi_visual_studio
old: 40.894989459203835
new: 82.99964029639851
path: .spaces[0].spaces[0].metrics.mi.mi_sei
old: 25.90017444171815
new: 129.26360748831726
path: .spaces[0].spaces[0].metrics.mi.mi_original
old: 69.93043197523855
new: 141.92938490684145
path: .spaces[0].spaces[0].metrics.nom.total
old: 4.0
new: 0.0
path: .spaces[0].spaces[0].metrics.nom.functions
old: 4.0
new: 0.0

### Code

    namespace gl {
    class GLContext;
    }

## Minimal test - lines (17, 73)

path: .spaces[0].metrics.loc.cloc
old: 1.0
new: 3.0
path: .spaces[0].metrics.loc.ploc
old: 41.0
new: 47.0
path: .spaces[0].metrics.loc.blank
old: 9.0
new: 7.0
path: .spaces[0].metrics.loc.lloc
old: 1.0
new: 0.0
path: .spaces[0].metrics.loc.sloc
old: 51.0
new: 57.0
path: .spaces[0].metrics.nom.functions
old: 4.0
new: 0.0
path: .spaces[0].metrics.nom.total
old: 4.0
new: 0.0
path: .spaces[0].metrics.halstead.volume
old: 1115.8024247102594
new: 1326.533875310097
path: .spaces[0].metrics.halstead.purity_ratio
old: 1.4418069379536338
new: 1.8380542151078272
path: .spaces[0].metrics.halstead.estimated_program_length
old: 278.26873902505133
new: 395.1816562481828
path: .spaces[0].metrics.halstead.N1
old: 118.0
new: 108.0
path: .spaces[0].metrics.halstead.effort
old: 10460.647731658682
new: 15637.361191155467
path: .spaces[0].metrics.halstead.n2
old: 44.0
new: 59.0
path: .spaces[0].metrics.halstead.vocabulary
old: 55.0
new: 72.0
path: .spaces[0].metrics.halstead.difficulty
old: 9.375
new: 11.78813559322034
path: .spaces[0].metrics.halstead.time
old: 581.1470962032602
new: 868.742288397526
path: .spaces[0].metrics.halstead.N2
old: 75.0
new: 107.0
path: .spaces[0].metrics.halstead.length
old: 193.0
new: 215.0
path: .spaces[0].metrics.halstead.level
old: 0.10666666666666667
new: 0.08483105679367361
path: .spaces[0].metrics.halstead.bugs
old: 0.15943529270717408
new: 0.2084431961055268
path: .spaces[0].metrics.halstead.n1
old: 11.0
new: 13.0
path: .spaces[0].metrics.nexits.sum
old: 1.0
new: 0.0
path: .spaces[0].metrics.nexits.average
old: 0.25
new: null
path: .spaces[0].metrics.nargs.average
old: 0.75
new: null
path: .spaces[0].metrics.nargs.sum
old: 3.0
new: 0.0
path: .spaces[0].metrics.cyclomatic.sum
old: 8.0
new: 5.0
path: .spaces[0].metrics.cognitive.average
old: 0.0
new: null
path: .spaces[0].metrics.mi.mi_visual_studio
old: 40.335855841976944
new: 39.1595795122171
path: .spaces[0].metrics.mi.mi_original
old: 68.97431348978057
new: 66.96288096589124
path: .spaces[0].metrics.mi.mi_sei
old: 35.384258969193645
new: 38.81397058850115

### Code

    namespace mozilla {

    namespace gl {
    class GLContext;
    }

    namespace widget {

    class GfxInfo : public GfxInfoBase {
     private:
      ~GfxInfo();

     public:
      GfxInfo();

      // We only declare the subset of nsIGfxInfo that we actually implement. The
      // rest is brought forward from GfxInfoBase.
      NS_IMETHOD GetD2DEnabled(bool* aD2DEnabled) override;
      NS_IMETHOD GetDWriteEnabled(bool* aDWriteEnabled) override;
      NS_IMETHOD GetDWriteVersion(nsAString& aDwriteVersion) override;
      NS_IMETHOD GetCleartypeParameters(nsAString& aCleartypeParams) override;
      NS_IMETHOD GetAdapterDescription(nsAString& aAdapterDescription) override;
      NS_IMETHOD GetAdapterDriver(nsAString& aAdapterDriver) override;
      NS_IMETHOD GetAdapterVendorID(nsAString& aAdapterVendorID) override;
      NS_IMETHOD GetAdapterDeviceID(nsAString& aAdapterDeviceID) override;
      NS_IMETHOD GetAdapterSubsysID(nsAString& aAdapterSubsysID) override;
      NS_IMETHOD GetAdapterRAM(uint32_t* aAdapterRAM) override;
      NS_IMETHOD GetAdapterDriverVersion(nsAString& aAdapterDriverVersion) override;
      NS_IMETHOD GetAdapterDriverDate(nsAString& aAdapterDriverDate) override;
      NS_IMETHOD GetAdapterDescription2(nsAString& aAdapterDescription) override;
      NS_IMETHOD GetAdapterDriver2(nsAString& aAdapterDriver) override;
      NS_IMETHOD GetAdapterVendorID2(nsAString& aAdapterVendorID) override;
      NS_IMETHOD GetAdapterDeviceID2(nsAString& aAdapterDeviceID) override;
      NS_IMETHOD GetAdapterSubsysID2(nsAString& aAdapterSubsysID) override;
      NS_IMETHOD GetAdapterRAM2(uint32_t* aAdapterRAM) override;
      NS_IMETHOD GetAdapterDriverVersion2(
          nsAString& aAdapterDriverVersion) override;
      NS_IMETHOD GetAdapterDriverDate2(nsAString& aAdapterDriverDate) override;
      NS_IMETHOD GetIsGPU2Active(bool* aIsGPU2Active) override;
      using GfxInfoBase::GetFeatureStatus;
      using GfxInfoBase::GetFeatureSuggestedDriverVersion;

    #ifdef DEBUG
      NS_DECL_ISUPPORTS_INHERITED
      NS_DECL_NSIGFXINFODEBUG
    #endif

     protected:
      virtual nsresult GetFeatureStatusImpl(
          int32_t aFeature, int32_t* aStatus, nsAString& aSuggestedDriverVersion,
          const nsTArray& aDriverInfo,
          OperatingSystem* aOS = nullptr);
      virtual const nsTArray& GetGfxDriverInfo();
    };

    }  // namespace widget
    }  // namespace mozilla

## Minimal test - lines (20, 20)

path: .spaces[0].spaces[0].spaces[0].metrics.nexits.average
old: 0.0
new: null
path: .spaces[0].spaces[0].spaces[0].metrics.cyclomatic.sum
old: 3.0
new: 1.0
path: .spaces[0].spaces[0].spaces[0].metrics.mi.mi_original
old: 120.838003308339
new: null
path: .spaces[0].spaces[0].spaces[0].metrics.mi.mi_visual_studio
old: 70.66549901072457
new: null
path: .spaces[0].spaces[0].spaces[0].metrics.mi.mi_sei
old: 98.9369957100655
new: null
path: .spaces[0].spaces[0].spaces[0].metrics.cognitive.average
old: 0.0
new: null
path: .spaces[0].spaces[0].spaces[0].metrics.halstead.level
old: 0.2222222222222222
new: null
path: .spaces[0].spaces[0].spaces[0].metrics.halstead.difficulty
old: 4.5
new: 0.0
path: .spaces[0].spaces[0].spaces[0].metrics.halstead.vocabulary
old: 8.0
new: 1.0
path: .spaces[0].spaces[0].spaces[0].metrics.halstead.bugs
old: 0.012494931278255936
new: 0.0
path: .spaces[0].spaces[0].spaces[0].metrics.halstead.length
old: 17.0
new: 1.0
path: .spaces[0].spaces[0].spaces[0].metrics.halstead.volume
old: 51.0
new: 0.0
path: .spaces[0].spaces[0].spaces[0].metrics.halstead.N2
old: 9.0
new: 1.0
path: .spaces[0].spaces[0].spaces[0].metrics.halstead.estimated_program_length
old: 16.0
new: null
path: .spaces[0].spaces[0].spaces[0].metrics.halstead.effort
old: 229.5
new: 0.0
path: .spaces[0].spaces[0].spaces[0].metrics.halstead.time
old: 12.75
new: 0.0
path: .spaces[0].spaces[0].spaces[0].metrics.halstead.n1
old: 4.0
new: 0.0
path: .spaces[0].spaces[0].spaces[0].metrics.halstead.n2
old: 4.0
new: 1.0
path: .spaces[0].spaces[0].spaces[0].metrics.halstead.purity_ratio
old: 0.9411764705882352
new: null
path: .spaces[0].spaces[0].spaces[0].metrics.halstead.N1
old: 8.0
new: 0.0
path: .spaces[0].spaces[0].spaces[0].metrics.loc.blank
old: 1.0
new: 0.0
path: .spaces[0].spaces[0].spaces[0].metrics.loc.ploc
old: 5.0
new: 1.0
path: .spaces[0].spaces[0].spaces[0].metrics.loc.sloc
old: 6.0
new: 1.0
path: .spaces[0].spaces[0].spaces[0].metrics.nom.total
old: 2.0
new: 0.0
path: .spaces[0].spaces[0].spaces[0].metrics.nom.functions
old: 2.0
new: 0.0
path: .spaces[0].spaces[0].spaces[0].metrics.nargs.average
old: 0.5
new: null
path: .spaces[0].spaces[0].spaces[0].metrics.nargs.sum
old: 1.0
new: 0.0

### Code

    class GLContext;