# Global Metrics

path: .metrics.loc.blank
old: 86.0
new: 100.0
path: .metrics.loc.sloc
old: 796.0
new: 978.0
path: .metrics.loc.ploc
old: 554.0
new: 799.0
path: .metrics.loc.cloc
old: 156.0
new: 79.0
path: .metrics.loc.lloc
old: 248.0
new: 581.0
path: .metrics.nexits.sum
old: 19.0
new: 41.0
path: .metrics.nexits.average
old: 0.34545454545454546
new: 1.7826086956521738
path: .metrics.cognitive.average
old: 0.16363636363636364
new: 3.9565217391304346
path: .metrics.cognitive.sum
old: 9.0
new: 91.0
path: .metrics.mi.mi_visual_studio
old: 1.1481748024037923
new: 0.0
path: .metrics.mi.mi_sei
old: -37.842772708785944
new: -99.53374876787493
path: .metrics.mi.mi_original
old: 1.9633789121104857
new: -47.73532448074201
path: .metrics.cyclomatic.average
old: 1.32
new: 9.708333333333334
path: .metrics.cyclomatic.sum
old: 33.0
new: 233.0
path: .metrics.nargs.average
old: 0.5818181818181818
new: 1.2608695652173914
path: .metrics.nargs.sum
old: 32.0
new: 29.0
path: .metrics.nom.closures
old: 36.0
new: 0.0
path: .metrics.nom.functions
old: 19.0
new: 23.0
path: .metrics.nom.total
old: 55.0
new: 23.0
path: .metrics.halstead.level
old: 0.012206572769953052
new: 0.020581713276927385
path: .metrics.halstead.n2
old: 260.0
new: 478.0
path: .metrics.halstead.vocabulary
old: 290.0
new: 517.0
path: .metrics.halstead.N2
old: 1420.0
new: 1191.0
path: .metrics.halstead.effort
old: 2289141.266602918
new: 1455787.6518917242
path: .metrics.halstead.difficulty
old: 81.92307692307692
new: 48.58682008368201
path: .metrics.halstead.N1
old: 1996.0
new: 2133.0
path: .metrics.halstead.purity_ratio
old: 0.6536950671123108
new: 1.3419810531740146
path: .metrics.halstead.time
old: 127174.51481127324
new: 80877.09177176245
path: .metrics.halstead.volume
old: 27942.569451491017
new: 29962.60404332684
path: .metrics.halstead.bugs
old: 5.789758846120164
new: 4.281646084189677
path: .metrics.halstead.estimated_program_length
old: 2233.022349255654
new: 4460.745020750424
path: .metrics.halstead.n1
old: 30.0
new: 39.0
path: .metrics.halstead.length
old: 3416.0
new: 3324.0

# Spaces Data

## Minimal test - lines (92, 109)

path: .spaces[4].metrics.loc.cloc
old: 10.0
new: 0.0
path: .spaces[4].metrics.loc.lloc
old: 22.0
new: 3.0
path: .spaces[4].metrics.loc.ploc
old: 43.0
new: 18.0
path: .spaces[4].metrics.loc.sloc
old: 58.0
new: 18.0
path: .spaces[4].metrics.loc.blank
old: 5.0
new: 0.0
path: .spaces[4].metrics.nom.closures
old: 6.0
new: 0.0
path: .spaces[4].metrics.nom.total
old: 7.0
new: 1.0
path: .spaces[4].metrics.nargs.sum
old: 2.0
new: 1.0
path: .spaces[4].metrics.nargs.average
old: 0.2857142857142857
new: 1.0
path: .spaces[4].metrics.halstead.estimated_program_length
old: 460.9407761481053
new: 122.10749561002054
path: .spaces[4].metrics.halstead.difficulty
old: 16.215384615384615
new: 5.454545454545454
path: .spaces[4].metrics.halstead.length
old: 310.0
new: 71.0
path: .spaces[4].metrics.halstead.bugs
old: 0.3356845281732905
new: 0.05114002522742025
path: .spaces[4].metrics.halstead.volume
old: 1970.841121431606
new: 348.3892322882048
path: .spaces[4].metrics.halstead.purity_ratio
old: 1.486905729510017
new: 1.7198238818312752
path: .spaces[4].metrics.halstead.vocabulary
old: 82.0
new: 30.0
path: .spaces[4].metrics.halstead.effort
old: 31957.946799829424
new: 1900.304903390208
path: .spaces[4].metrics.halstead.time
old: 1775.4414888794124
new: 105.57249463278932
path: .spaces[4].metrics.halstead.N1
old: 186.0
new: 41.0
path: .spaces[4].metrics.halstead.level
old: 0.06166982922201139
new: 0.18333333333333335
path: .spaces[4].metrics.halstead.n1
old: 17.0
new: 8.0
path: .spaces[4].metrics.halstead.N2
old: 124.0
new: 30.0
path: .spaces[4].metrics.halstead.n2
old: 65.0
new: 22.0
path: .spaces[4].metrics.mi.mi_original
old: 65.31250161097739
new: 93.2787117627946
path: .spaces[4].metrics.mi.mi_visual_studio
old: 38.194445386536486
new: 54.5489542472483
path: .spaces[4].metrics.mi.mi_sei
old: 48.719465575016855
new: 59.07552260749099
path: .spaces[4].metrics.cognitive.average
old: 0.14285714285714285
new: 1.0
path: .spaces[4].metrics.nexits.average
old: 0.2857142857142857
new: 0.0
path: .spaces[4].metrics.nexits.sum
old: 2.0
new: 0.0

### Code

    nsLookAndFeel::nsLookAndFeel(const LookAndFeelCache* aCache)
        : nsXPLookAndFeel(),
          mUseAccessibilityTheme(0),
          mUseDefaultTheme(0),
          mNativeThemeId(eWindowsTheme_Generic),
          mCaretBlinkTime(-1),
          mHasColorMenuHoverText(false),
          mHasColorAccent(false),
          mHasColorAccentText(false),
          mHasColorMediaText(false),
          mHasColorCommunicationsText(false),
          mInitialized(false) {
      mozilla::Telemetry::Accumulate(mozilla::Telemetry::TOUCH_ENABLED_DEVICE,
                                     WinUtils::IsTouchDeviceSupportPresent());
      if (aCache) {
        DoSetCache(*aCache);
      }
    }

## Minimal test - lines (116, 126)

path: .spaces[7].metrics.cognitive.sum
old: 3.0
new: 1.0
path: .spaces[7].metrics.cognitive.average
old: 3.0
new: 1.0
path: .spaces[7].metrics.nargs.sum
old: 3.0
new: 0.0
path: .spaces[7].metrics.nargs.average
old: 3.0
new: 0.0
path: .spaces[7].metrics.cyclomatic.sum
old: 3.0
new: 2.0
path: .spaces[7].metrics.cyclomatic.average
old: 3.0
new: 2.0
path: .spaces[7].metrics.halstead.length
old: 84.0
new: 46.0
path: .spaces[7].metrics.halstead.time
old: 381.3834904832366
new: 123.0803126743894
path: .spaces[7].metrics.halstead.volume
old: 403.8178134528387
new: 205.1338544573157
path: .spaces[7].metrics.halstead.estimated_program_length
old: 106.60593781761293
new: 76.2388309575275
path: .spaces[7].metrics.halstead.n2
old: 14.0
new: 10.0
path: .spaces[7].metrics.halstead.N1
old: 50.0
new: 28.0
path: .spaces[7].metrics.halstead.purity_ratio
old: 1.2691183073525347
new: 1.6573658903810329
path: .spaces[7].metrics.halstead.effort
old: 6864.902828698258
new: 2215.4456281390094
path: .spaces[7].metrics.halstead.vocabulary
old: 28.0
new: 22.0
path: .spaces[7].metrics.halstead.N2
old: 34.0
new: 18.0
path: .spaces[7].metrics.halstead.difficulty
old: 17.0
new: 10.8
path: .spaces[7].metrics.halstead.level
old: 0.058823529411764705
new: 0.0925925925925926
path: .spaces[7].metrics.halstead.bugs
old: 0.12040236236682296
new: 0.05664820363996762
path: .spaces[7].metrics.halstead.n1
old: 14.0
new: 12.0
path: .spaces[7].metrics.loc.lloc
old: 7.0
new: 5.0
path: .spaces[7].metrics.loc.ploc
old: 14.0
new: 9.0
path: .spaces[7].metrics.loc.blank
old: 0.0
new: 2.0
path: .spaces[7].metrics.loc.sloc
old: 14.0
new: 11.0
path: .spaces[7].metrics.nexits.average
old: 1.0
new: 0.0
path: .spaces[7].metrics.nexits.sum
old: 1.0
new: 0.0
path: .spaces[7].metrics.mi.mi_visual_studio
old: 56.346350525786335
new: 60.82517571027915
path: .spaces[7].metrics.mi.mi_original
old: 96.35225939909463
new: 104.01105046457737
path: .spaces[7].metrics.mi.mi_sei
old: 63.6115343997215
new: 74.55901442969365

### Code

    void nsLookAndFeel::RefreshImpl() {
      nsXPLookAndFeel::RefreshImpl();

      for (auto e = mSystemFontCache.begin(), end = mSystemFontCache.end();
           e != end; ++e) {
        e->mCacheValid = false;
      }
      mCaretBlinkTime = -1;

      mInitialized = false;
    }

## Minimal test - lines (373, 622)

path: .spaces[9].metrics.loc.blank
old: 14.0
new: 8.0
path: .spaces[9].metrics.loc.lloc
old: 40.0
new: 174.0
path: .spaces[9].metrics.loc.cloc
old: 28.0
new: 29.0
path: .spaces[9].metrics.loc.sloc
old: 125.0
new: 250.0
path: .spaces[9].metrics.loc.ploc
old: 83.0
new: 213.0
path: .spaces[9].metrics.cognitive.sum
old: 0.0
new: 31.0
path: .spaces[9].metrics.cognitive.average
old: 0.0
new: 31.0
path: .spaces[9].metrics.nexits.sum
old: 3.0
new: 2.0
path: .spaces[9].metrics.nexits.average
old: 0.5
new: 2.0
path: .spaces[9].metrics.mi.mi_original
old: 49.62565899583613
new: 21.14682415221229
path: .spaces[9].metrics.mi.mi_visual_studio
old: 29.020853213939255
new: 12.366563831703091
path: .spaces[9].metrics.mi.mi_sei
old: 29.458648684659885
new: -13.297699910225536
path: .spaces[9].metrics.nom.closures
old: 5.0
new: 0.0
path: .spaces[9].metrics.nom.total
old: 6.0
new: 1.0
path: .spaces[9].metrics.cyclomatic.sum
old: 1.0
new: 66.0
path: .spaces[9].metrics.cyclomatic.average
old: 1.0
new: 66.0
path: .spaces[9].metrics.halstead.purity_ratio
old: 1.3863426613609
new: 1.4326462699236238
path: .spaces[9].metrics.halstead.n1
old: 19.0
new: 29.0
path: .spaces[9].metrics.halstead.effort
old: 81954.11857710071
new: 159540.84728145524
path: .spaces[9].metrics.halstead.bugs
old: 0.6289159385309758
new: 0.9805280183655009
path: .spaces[9].metrics.halstead.difficulty
old: 21.305825242718445
new: 26.651408450704224
path: .spaces[9].metrics.halstead.time
old: 4553.006587616706
new: 8863.380404525291
path: .spaces[9].metrics.halstead.vocabulary
old: 122.0
new: 171.0
path: .spaces[9].metrics.halstead.estimated_program_length
old: 769.4201770552995
new: 1156.1455398283645
path: .spaces[9].metrics.halstead.n2
old: 103.0
new: 142.0
path: .spaces[9].metrics.halstead.length
old: 555.0
new: 807.0
path: .spaces[9].metrics.halstead.level
old: 0.04693552061973115
new: 0.03752146915048223
path: .spaces[9].metrics.halstead.N2
old: 231.0
new: 261.0
path: .spaces[9].metrics.halstead.N1
old: 324.0
new: 546.0
path: .spaces[9].metrics.halstead.volume
old: 3846.5592223474023
new: 5986.20697951292
path: .spaces[9].metrics.nargs.average
old: 0.6666666666666666
new: 2.0
path: .spaces[9].metrics.nargs.sum
old: 4.0
new: 2.0

### Code

    nsresult nsLookAndFeel::NativeGetInt(IntID aID, int32_t& aResult) {
      nsresult res = NS_OK;

      switch (aID) {
        case IntID::ScrollButtonLeftMouseButtonAction:
          aResult = 0;
          break;
        case IntID::ScrollButtonMiddleMouseButtonAction:
        case IntID::ScrollButtonRightMouseButtonAction:
          aResult = 3;
          break;
        case IntID::CaretBlinkTime:
          // IntID::CaretBlinkTime is often called by updating editable text
          // that has focus. So it should be cached to improve performance.
          if (mCaretBlinkTime < 0) {
            mCaretBlinkTime = static_cast(::GetCaretBlinkTime());
          }
          aResult = mCaretBlinkTime;
          break;
        case IntID::CaretWidth:
          aResult = 1;
          break;
        case IntID::ShowCaretDuringSelection:
          aResult = 0;
          break;
        case IntID::SelectTextfieldsOnKeyFocus:
          // Select textfield content when focused by kbd
          // used by EventStateManager::sTextfieldSelectModel
          aResult = 1;
          break;
        case IntID::SubmenuDelay:
          // This will default to the Windows' default
          // (400ms) on error.
          aResult = GetSystemParam(SPI_GETMENUSHOWDELAY, 400);
          break;
        case IntID::TooltipDelay:
          aResult = 500;
          break;
        case IntID::MenusCanOverlapOSBar:
          // we want XUL popups to be able to overlap the task bar.
          aResult = 1;
          break;
        case IntID::DragThresholdX:
          // The system metric is the number of pixels at which a drag should
          // start.  Our look and feel metric is the number of pixels you can
          // move before starting a drag, so subtract 1.

          aResult = ::GetSystemMetrics(SM_CXDRAG) - 1;
          break;
        case IntID::DragThresholdY:
          aResult = ::GetSystemMetrics(SM_CYDRAG) - 1;
          break;
        case IntID::UseAccessibilityTheme:
          // High contrast is a misnomer under Win32 -- any theme can be used with
          // it, e.g. normal contrast with large fonts, low contrast, etc. The high
          // contrast flag really means -- use this theme and don't override it.
          if (XRE_IsContentProcess()) {
            // If we're running in the content process, then the parent should
            // have sent us the accessibility state when nsLookAndFeel
            // initialized, and stashed it in the mUseAccessibilityTheme cache.
            aResult = mUseAccessibilityTheme;
          } else {
            // Otherwise, we can ask the OS to see if we're using High Contrast
            // mode.
            aResult = nsUXThemeData::IsHighContrastOn();
          }
          break;
        case IntID::ScrollArrowStyle:
          aResult = eScrollArrowStyle_Single;
          break;
        case IntID::ScrollSliderStyle:
          aResult = eScrollThumbStyle_Proportional;
          break;
        case IntID::TreeOpenDelay:
          aResult = 1000;
          break;
        case IntID::TreeCloseDelay:
          aResult = 0;
          break;
        case IntID::TreeLazyScrollDelay:
          aResult = 150;
          break;
        case IntID::TreeScrollDelay:
          aResult = 100;
          break;
        case IntID::TreeScrollLinesMax:
          aResult = 3;
          break;
        case IntID::WindowsClassic:
          aResult = !nsUXThemeData::IsAppThemed();
          break;
        case IntID::TouchEnabled:
          aResult = WinUtils::IsTouchDeviceSupportPresent();
          break;
        case IntID::WindowsDefaultTheme:
          if (XRE_IsContentProcess()) {
            aResult = mUseDefaultTheme;
          } else {
            aResult = nsUXThemeData::IsDefaultWindowTheme();
          }
          break;
        case IntID::WindowsThemeIdentifier:
          if (XRE_IsContentProcess()) {
            aResult = mNativeThemeId;
          } else {
            aResult = nsUXThemeData::GetNativeThemeId();
          }
          break;

        case IntID::OperatingSystemVersionIdentifier: {
          aResult = int32_t(GetOperatingSystemVersion());
          break;
        }

        case IntID::MacGraphiteTheme:
          aResult = 0;
          res = NS_ERROR_NOT_IMPLEMENTED;
          break;
        case IntID::DWMCompositor:
          aResult = gfxWindowsPlatform::GetPlatform()->DwmCompositionEnabled();
          break;
        case IntID::WindowsAccentColorInTitlebar: {
          nscolor unused;
          if (NS_WARN_IF(NS_FAILED(GetAccentColor(unused)))) {
            aResult = 0;
            break;
          }

          uint32_t colorPrevalence;
          nsresult rv = mDwmKey->Open(nsIWindowsRegKey::ROOT_KEY_CURRENT_USER,
                                      u"SOFTWARE\\Microsoft\\Windows\\DWM"_ns,
                                      nsIWindowsRegKey::ACCESS_QUERY_VALUE);
          if (NS_WARN_IF(NS_FAILED(rv))) {
            return rv;
          }

          // The ColorPrevalence value is set to 1 when the "Show color on title
          // bar" setting in the Color section of Window's Personalization settings
          // is turned on.
          aResult = (NS_SUCCEEDED(mDwmKey->ReadIntValue(u"ColorPrevalence"_ns,
                                                        &colorPrevalence)) &&
                     colorPrevalence == 1)
                        ? 1
                        : 0;

          mDwmKey->Close();
        } break;
        case IntID::WindowsGlass:
          // Aero Glass is only available prior to Windows 8 when DWM is used.
          aResult = (gfxWindowsPlatform::GetPlatform()->DwmCompositionEnabled() &&
                     !IsWin8OrLater());
          break;
        case IntID::AlertNotificationOrigin:
          aResult = 0;
          {
            // Get task bar window handle
            HWND shellWindow = FindWindowW(L"Shell_TrayWnd", nullptr);

            if (shellWindow != nullptr) {
              // Determine position
              APPBARDATA appBarData;
              appBarData.hWnd = shellWindow;
              appBarData.cbSize = sizeof(appBarData);
              if (SHAppBarMessage(ABM_GETTASKBARPOS, &appBarData)) {
                // Set alert origin as a bit field - see LookAndFeel.h
                // 0 represents bottom right, sliding vertically.
                switch (appBarData.uEdge) {
                  case ABE_LEFT:
                    aResult = NS_ALERT_HORIZONTAL | NS_ALERT_LEFT;
                    break;
                  case ABE_RIGHT:
                    aResult = NS_ALERT_HORIZONTAL;
                    break;
                  case ABE_TOP:
                    aResult = NS_ALERT_TOP;
                    // fall through for the right-to-left handling.
                  case ABE_BOTTOM:
                    // If the task bar is right-to-left,
                    // move the origin to the left
                    if (::GetWindowLong(shellWindow, GWL_EXSTYLE) & WS_EX_LAYOUTRTL)
                      aResult |= NS_ALERT_LEFT;
                    break;
                }
              }
            }
          }
          break;
        case IntID::IMERawInputUnderlineStyle:
        case IntID::IMEConvertedTextUnderlineStyle:
          aResult = NS_STYLE_TEXT_DECORATION_STYLE_DASHED;
          break;
        case IntID::IMESelectedRawTextUnderlineStyle:
        case IntID::IMESelectedConvertedTextUnderline:
          aResult = NS_STYLE_TEXT_DECORATION_STYLE_NONE;
          break;
        case IntID::SpellCheckerUnderlineStyle:
          aResult = NS_STYLE_TEXT_DECORATION_STYLE_WAVY;
          break;
        case IntID::ScrollbarButtonAutoRepeatBehavior:
          aResult = 0;
          break;
        case IntID::SwipeAnimationEnabled:
          aResult = 0;
          break;
        case IntID::UseOverlayScrollbars:
          aResult = false;
          break;
        case IntID::AllowOverlayScrollbarsOverlap:
          aResult = 0;
          break;
        case IntID::ScrollbarDisplayOnMouseMove:
          aResult = 1;
          break;
        case IntID::ScrollbarFadeBeginDelay:
          aResult = 2500;
          break;
        case IntID::ScrollbarFadeDuration:
          aResult = 350;
          break;
        case IntID::ContextMenuOffsetVertical:
        case IntID::ContextMenuOffsetHorizontal:
          aResult = 2;
          break;
        case IntID::SystemUsesDarkTheme:
          res = SystemWantsDarkTheme(aResult);
          break;
        case IntID::PrefersReducedMotion: {
          BOOL enableAnimation = TRUE;
          ::SystemParametersInfoW(SPI_GETCLIENTAREAANIMATION, 0, &enableAnimation,
                                  0);
          aResult = enableAnimation ? 0 : 1;
          break;
        }
        case IntID::PrimaryPointerCapabilities: {
          PointerCapabilities caps =
              widget::WinUtils::GetPrimaryPointerCapabilities();
          aResult = static_cast(caps);
          break;
        }
        case IntID::AllPointerCapabilities: {
          PointerCapabilities caps = widget::WinUtils::GetAllPointerCapabilities();
          aResult = static_cast(caps);
          break;
        }
        default:
          aResult = 0;
          res = NS_ERROR_FAILURE;
      }
      return res;
    }

## Minimal test - lines (113, 113)

path: .spaces[6].metrics.nargs.average
old: 0.15384615384615383
new: 0.0
path: .spaces[6].metrics.nargs.sum
old: 2.0
new: 0.0
path: .spaces[6].metrics.halstead.difficulty
old: 26.307692307692307
new: 2.5
path: .spaces[6].metrics.halstead.estimated_program_length
old: 672.9199350135095
new: 13.60964047443681
path: .spaces[6].metrics.halstead.length
old: 636.0
new: 8.0
path: .spaces[6].metrics.halstead.n1
old: 19.0
new: 5.0
path: .spaces[6].metrics.halstead.volume
old: 4312.944777801684
new: 22.458839376460833
path: .spaces[6].metrics.halstead.purity_ratio
old: 1.0580502122853923
new: 1.7012050593046013
path: .spaces[6].metrics.halstead.time
old: 6303.534675248615
new: 3.1192832467306713
path: .spaces[6].metrics.halstead.vocabulary
old: 110.0
new: 7.0
path: .spaces[6].metrics.halstead.effort
old: 113463.62415447508
new: 56.14709844115208
path: .spaces[6].metrics.halstead.level
old: 0.03801169590643275
new: 0.4
path: .spaces[6].metrics.halstead.N1
old: 384.0
new: 6.0
path: .spaces[6].metrics.halstead.n2
old: 91.0
new: 2.0
path: .spaces[6].metrics.halstead.N2
old: 252.0
new: 2.0
path: .spaces[6].metrics.halstead.bugs
old: 0.7812376761002807
new: 0.0048876146417121315
path: .spaces[6].metrics.loc.ploc
old: 100.0
new: 1.0
path: .spaces[6].metrics.loc.lloc
old: 57.0
new: 1.0
path: .spaces[6].metrics.loc.sloc
old: 142.0
new: 1.0
path: .spaces[6].metrics.loc.blank
old: 13.0
new: 0.0
path: .spaces[6].metrics.loc.cloc
old: 29.0
new: 0.0
path: .spaces[6].metrics.mi.mi_original
old: 46.96484546376438
new: 154.58924178123317
path: .spaces[6].metrics.mi.mi_visual_studio
old: 27.46482190863414
new: 90.4030653691422
path: .spaces[6].metrics.mi.mi_sei
old: 24.371648731256812
new: 147.42610035996177
path: .spaces[6].metrics.nexits.average
old: 0.4615384615384616
new: 0.0
path: .spaces[6].metrics.nexits.sum
old: 6.0
new: 0.0
path: .spaces[6].metrics.nom.total
old: 13.0
new: 1.0
path: .spaces[6].metrics.nom.closures
old: 12.0
new: 0.0

### Code

    void nsLookAndFeel::NativeInit() { EnsureInit(); }

## Minimal test - lines (42, 53)

path: .spaces[1].metrics.nexits.sum
old: 1.0
new: 2.0
path: .spaces[1].metrics.nexits.average
old: 0.5
new: 2.0
path: .spaces[1].metrics.halstead.level
old: 0.05620915032679738
new: 0.12363636363636364
path: .spaces[1].metrics.halstead.purity_ratio
old: 1.519152879202718
new: 1.8227223068858651
path: .spaces[1].metrics.halstead.volume
old: 1203.939679525266
new: 283.6339404013986
path: .spaces[1].metrics.halstead.n2
old: 43.0
new: 17.0
path: .spaces[1].metrics.halstead.n1
old: 18.0
new: 11.0
path: .spaces[1].metrics.halstead.N1
old: 118.0
new: 34.0
path: .spaces[1].metrics.halstead.N2
old: 85.0
new: 25.0
path: .spaces[1].metrics.halstead.difficulty
old: 17.790697674418606
new: 8.088235294117647
path: .spaces[1].metrics.halstead.length
old: 203.0
new: 59.0
path: .spaces[1].metrics.halstead.time
old: 1189.940380926135
new: 127.4498915202363
path: .spaces[1].metrics.halstead.bugs
old: 0.2570852837214738
new: 0.05798113716593528
path: .spaces[1].metrics.halstead.vocabulary
old: 61.0
new: 28.0
path: .spaces[1].metrics.halstead.effort
old: 21418.92685667043
new: 2294.0980473642535
path: .spaces[1].metrics.halstead.estimated_program_length
old: 308.3880344781518
new: 107.54061610626604
path: .spaces[1].metrics.nargs.sum
old: 2.0
new: 5.0
path: .spaces[1].metrics.nargs.average
old: 1.0
new: 5.0
path: .spaces[1].metrics.loc.blank
old: 2.0
new: 0.0
path: .spaces[1].metrics.loc.lloc
old: 8.0
new: 4.0
path: .spaces[1].metrics.loc.sloc
old: 47.0
new: 12.0
path: .spaces[1].metrics.loc.cloc
old: 10.0
new: 0.0
path: .spaces[1].metrics.loc.ploc
old: 35.0
new: 12.0
path: .spaces[1].metrics.cognitive.sum
old: 0.0
new: 1.0
path: .spaces[1].metrics.cognitive.average
old: 0.0
new: 1.0
path: .spaces[1].metrics.nom.closures
old: 1.0
new: 0.0
path: .spaces[1].metrics.nom.total
old: 2.0
new: 1.0
path: .spaces[1].metrics.mi.mi_original
old: 71.28216532462851
new: 100.9165530579717
path: .spaces[1].metrics.mi.mi_visual_studio
old: 41.68547679802837
new: 59.01552810407702
path: .spaces[1].metrics.mi.mi_sei
old: 60.10658774400095
new: 70.09459836713994

### Code

    static nsresult GetColorFromTheme(nsUXThemeClass cls, int32_t aPart,
                                      int32_t aState, int32_t aPropId,
                                      nscolor& aColor) {
      COLORREF color;
      HRESULT hr = GetThemeColor(nsUXThemeData::GetTheme(cls), aPart, aState,
                                 aPropId, &color);
      if (hr == S_OK) {
        aColor = COLOREF_2_NSRGB(color);
        return NS_OK;
      }
      return NS_ERROR_FAILURE;
    }

## Minimal test - lines (55, 58)

path: .spaces[2].metrics.mi.mi_visual_studio
old: 49.17866346545608
new: 72.24902761352239
path: .spaces[2].metrics.mi.mi_sei
old: 81.20093179184124
new: 102.74175440530044
path: .spaces[2].metrics.mi.mi_original
old: 84.0955145259299
new: 123.54583721912329
path: .spaces[2].metrics.nargs.average
old: 1.0
new: 2.0
path: .spaces[2].metrics.nexits.average
old: 0.0
new: 1.0
path: .spaces[2].metrics.nexits.sum
old: 0.0
new: 1.0
path: .spaces[2].metrics.nom.closures
old: 1.0
new: 0.0
path: .spaces[2].metrics.nom.total
old: 2.0
new: 1.0
path: .spaces[2].metrics.cyclomatic.average
old: 1.0
new: 2.0
path: .spaces[2].metrics.cyclomatic.sum
old: 1.0
new: 2.0
path: .spaces[2].metrics.loc.cloc
old: 7.0
new: 0.0
path: .spaces[2].metrics.loc.sloc
old: 27.0
new: 4.0
path: .spaces[2].metrics.loc.ploc
old: 17.0
new: 4.0
path: .spaces[2].metrics.loc.lloc
old: 6.0
new: 1.0
path: .spaces[2].metrics.loc.blank
old: 3.0
new: 0.0
path: .spaces[2].metrics.halstead.volume
old: 602.0682532102144
new: 112.0
path: .spaces[2].metrics.halstead.N2
old: 45.0
new: 11.0
path: .spaces[2].metrics.halstead.estimated_program_length
old: 213.3029689088065
new: 48.72905595320056
path: .spaces[2].metrics.halstead.purity_ratio
old: 1.9569079716404263
new: 1.7403234269000198
path: .spaces[2].metrics.halstead.n1
old: 14.0
new: 10.0
path: .spaces[2].metrics.halstead.bugs
old: 0.109164881422044
new: 0.03392332291873024
path: .spaces[2].metrics.halstead.effort
old: 5926.609367538048
new: 1026.6666666666663
path: .spaces[2].metrics.halstead.level
old: 0.1015873015873016
new: 0.1090909090909091
path: .spaces[2].metrics.halstead.vocabulary
old: 46.0
new: 16.0
path: .spaces[2].metrics.halstead.time
old: 329.256075974336
new: 57.03703703703703
path: .spaces[2].metrics.halstead.length
old: 109.0
new: 28.0
path: .spaces[2].metrics.halstead.difficulty
old: 9.84375
new: 9.166666666666666
path: .spaces[2].metrics.halstead.N1
old: 64.0
new: 17.0
path: .spaces[2].metrics.halstead.n2
old: 32.0
new: 6.0

### Code

    static int32_t GetSystemParam(long flag, int32_t def) {
      DWORD value;
      return ::SystemParametersInfo(flag, 0, &value, 0) ? value : def;
    }

## Minimal test - lines (24, 40)

path: .spaces[0].metrics.cognitive.average
old: 0.0
new: 4.0
path: .spaces[0].metrics.cognitive.sum
old: 0.0
new: 4.0
path: .spaces[0].metrics.nexits.sum
old: 0.0
new: 2.0
path: .spaces[0].metrics.nexits.average
old: 0.0
new: 2.0
path: .spaces[0].metrics.cyclomatic.sum
old: 13.0
new: 4.0
path: .spaces[0].metrics.cyclomatic.average
old: 1.0
new: 4.0
path: .spaces[0].metrics.mi.mi_sei
old: 43.334045111675664
new: 63.36580413986394
path: .spaces[0].metrics.mi.mi_original
old: 64.47911308668135
new: 96.11135601382492
path: .spaces[0].metrics.mi.mi_visual_studio
old: 37.707083676421846
new: 56.205471353113985
path: .spaces[0].metrics.nargs.sum
old: 7.0
new: 0.0
path: .spaces[0].metrics.nargs.average
old: 0.875
new: 0.0
path: .spaces[0].metrics.halstead.level
old: 0.06993006993006992
new: 0.1176470588235294
path: .spaces[0].metrics.halstead.estimated_program_length
old: 217.57865339808407
new: 57.05865002596162
path: .spaces[0].metrics.halstead.N1
old: 108.0
new: 36.0
path: .spaces[0].metrics.halstead.bugs
old: 0.20916273291452345
new: 0.05074899406196717
path: .spaces[0].metrics.halstead.vocabulary
old: 46.0
new: 18.0
path: .spaces[0].metrics.halstead.volume
old: 1099.1888292553456
new: 221.00602507644257
path: .spaces[0].metrics.halstead.purity_ratio
old: 1.0933600673270556
new: 1.0765783023766342
path: .spaces[0].metrics.halstead.effort
old: 15718.400258351445
new: 1878.5512131497617
path: .spaces[0].metrics.halstead.time
old: 873.2444587973024
new: 104.36395628609787
path: .spaces[0].metrics.halstead.n1
old: 11.0
new: 9.0
path: .spaces[0].metrics.halstead.N2
old: 91.0
new: 17.0
path: .spaces[0].metrics.halstead.length
old: 199.0
new: 53.0
path: .spaces[0].metrics.halstead.difficulty
old: 14.3
new: 8.5
path: .spaces[0].metrics.halstead.n2
old: 35.0
new: 9.0
path: .spaces[0].metrics.loc.lloc
old: 5.0
new: 8.0
path: .spaces[0].metrics.loc.blank
old: 10.0
new: 3.0
path: .spaces[0].metrics.loc.cloc
old: 7.0
new: 0.0
path: .spaces[0].metrics.loc.ploc
old: 46.0
new: 14.0
path: .spaces[0].metrics.loc.sloc
old: 63.0
new: 17.0
path: .spaces[0].metrics.nom.total
old: 8.0
new: 1.0
path: .spaces[0].metrics.nom.functions
old: 8.0
new: 1.0

### Code

    LookAndFeel::OperatingSystemVersion nsLookAndFeel::GetOperatingSystemVersion() {
      static OperatingSystemVersion version = OperatingSystemVersion::Unknown;

      if (version != OperatingSystemVersion::Unknown) {
        return version;
      }

      if (IsWin10OrLater()) {
        version = OperatingSystemVersion::Windows10;
      } else if (IsWin8OrLater()) {
        version = OperatingSystemVersion::Windows8;
      } else {
        version = OperatingSystemVersion::Windows7;
      }

      return version;
    }

## Minimal test - lines (641, 702)

path: .spaces[11].metrics.loc.sloc
old: 13.0
new: 62.0
path: .spaces[11].metrics.loc.blank
old: 2.0
new: 11.0
path: .spaces[11].metrics.loc.cloc
old: 0.0
new: 16.0
path: .spaces[11].metrics.loc.lloc
old: 6.0
new: 18.0
path: .spaces[11].metrics.loc.ploc
old: 11.0
new: 35.0
path: .spaces[11].metrics.cognitive.average
old: 0.0
new: 7.0
path: .spaces[11].metrics.cognitive.sum
old: 0.0
new: 7.0
path: .spaces[11].metrics.cyclomatic.average
old: 1.0
new: 7.0
path: .spaces[11].metrics.cyclomatic.sum
old: 1.0
new: 7.0
path: .spaces[11].metrics.mi.mi_visual_studio
old: 57.8494718207685
new: 38.40277148558962
path: .spaces[11].metrics.mi.mi_sei
old: 67.1161077221069
new: 55.16346103427391
path: .spaces[11].metrics.mi.mi_original
old: 98.92259681351412
new: 65.66873924035825
path: .spaces[11].metrics.halstead.n2
old: 18.0
new: 44.0
path: .spaces[11].metrics.halstead.effort
old: 2241.1765955873907
new: 22593.52877455712
path: .spaces[11].metrics.halstead.level
old: 0.1512605042016807
new: 0.05304400241109102
path: .spaces[11].metrics.halstead.N1
old: 39.0
new: 120.0
path: .spaces[11].metrics.halstead.difficulty
old: 6.611111111111111
new: 18.852272727272727
path: .spaces[11].metrics.halstead.n1
old: 7.0
new: 21.0
path: .spaces[11].metrics.halstead.N2
old: 34.0
new: 79.0
path: .spaces[11].metrics.halstead.length
old: 73.0
new: 199.0
path: .spaces[11].metrics.halstead.purity_ratio
old: 1.2973991024707512
new: 1.6706213924542466
path: .spaces[11].metrics.halstead.volume
old: 339.0015018535549
new: 1198.4511947926624
path: .spaces[11].metrics.halstead.vocabulary
old: 25.0
new: 65.0
path: .spaces[11].metrics.halstead.estimated_program_length
old: 94.71013448036484
new: 332.45365709839507
path: .spaces[11].metrics.halstead.bugs
old: 0.05708598042951304
new: 0.266400349134745
path: .spaces[11].metrics.halstead.time
old: 124.50981086596614
new: 1255.1960430309512
path: .spaces[11].metrics.nexits.average
old: 0.0
new: 2.0
path: .spaces[11].metrics.nexits.sum
old: 0.0
new: 2.0

### Code

    LookAndFeelFont nsLookAndFeel::GetLookAndFeelFontInternal(
        const LOGFONTW& aLogFont, bool aUseShellDlg) {
      LookAndFeelFont result{};

      result.haveFont() = false;

      // Get scaling factor from physical to logical pixels
      double pixelScale = 1.0 / WinUtils::SystemScaleFactor();

      // The lfHeight is in pixels, and it needs to be adjusted for the
      // device it will be displayed on.
      // Screens and Printers will differ in DPI
      //
      // So this accounts for the difference in the DeviceContexts
      // The pixelScale will typically be 1.0 for the screen
      // (though larger for hi-dpi screens where the Windows resolution
      // scale factor is 125% or 150% or even more), and could be
      // any value when going to a printer, for example pixelScale is
      // 6.25 when going to a 600dpi printer.
      float pixelHeight = -aLogFont.lfHeight;
      if (pixelHeight < 0) {
        nsAutoFont hFont(::CreateFontIndirectW(&aLogFont));
        if (!hFont) {
          return result;
        }

        nsAutoHDC dc(::GetDC(nullptr));
        HGDIOBJ hObject = ::SelectObject(dc, hFont);
        TEXTMETRIC tm;
        ::GetTextMetrics(dc, &tm);
        ::SelectObject(dc, hObject);

        pixelHeight = tm.tmAscent;
      }

      pixelHeight *= pixelScale;

      // we have problem on Simplified Chinese system because the system
      // report the default font size is 8 points. but if we use 8, the text
      // display very ugly. force it to be at 9 points (12 pixels) on that
      // system (cp936), but leave other sizes alone.
      if (pixelHeight < 12 && ::GetACP() == 936) {
        pixelHeight = 12;
      }

      result.haveFont() = true;

      if (aUseShellDlg) {
        result.name() = u"MS Shell Dlg 2"_ns;
      } else {
        result.name() = aLogFont.lfFaceName;
      }

      result.size() = pixelHeight;
      result.italic() = !!aLogFont.lfItalic;
      // FIXME: Other weights?
      result.weight() = ((aLogFont.lfWeight == FW_BOLD) ? FontWeight::Bold()
                                                        : FontWeight::Normal())
                            .ToFloat();

      return result;
    }

## Minimal test - lines (128, 371)

path: .spaces[8].metrics.cognitive.average
old: 0.7142857142857143
new: 15.0
path: .spaces[8].metrics.cognitive.sum
old: 5.0
new: 15.0
path: .spaces[8].metrics.nexits.average
old: 0.42857142857142855
new: 11.0
path: .spaces[8].metrics.nexits.sum
old: 3.0
new: 11.0
path: .spaces[8].metrics.halstead.n1
old: 25.0
new: 18.0
path: .spaces[8].metrics.halstead.length
old: 576.0
new: 812.0
path: .spaces[8].metrics.halstead.difficulty
old: 28.34158415841584
new: 16.04895104895105
path: .spaces[8].metrics.halstead.N2
old: 229.0
new: 255.0
path: .spaces[8].metrics.halstead.N1
old: 347.0
new: 557.0
path: .spaces[8].metrics.halstead.effort
old: 113902.36770165012
new: 95534.66321008193
path: .spaces[8].metrics.halstead.time
old: 6327.90931675834
new: 5307.481289448995
path: .spaces[8].metrics.halstead.level
old: 0.03528384279475982
new: 0.06230936819172113
path: .spaces[8].metrics.halstead.n2
old: 101.0
new: 143.0
path: .spaces[8].metrics.halstead.purity_ratio
old: 1.3690551467053806
new: 1.3533500630360484
path: .spaces[8].metrics.halstead.vocabulary
old: 126.0
new: 161.0
path: .spaces[8].metrics.halstead.bugs
old: 0.7832503180079243
new: 0.6966041593011127
path: .spaces[8].metrics.halstead.volume
old: 4018.913235935952
new: 5952.704505029069
path: .spaces[8].metrics.halstead.estimated_program_length
old: 788.5757645022993
new: 1098.9202511852714
path: .spaces[8].metrics.mi.mi_visual_studio
old: 29.057457025848453
new: 9.385701692293162
path: .spaces[8].metrics.mi.mi_sei
old: 25.147152170776987
new: -31.354936794088175
path: .spaces[8].metrics.mi.mi_original
old: 49.68825151420086
new: 16.049549893821307
path: .spaces[8].metrics.nargs.average
old: 0.2857142857142857
new: 2.0
path: .spaces[8].metrics.cyclomatic.sum
old: 5.0
new: 90.0
path: .spaces[8].metrics.cyclomatic.average
old: 5.0
new: 90.0
path: .spaces[8].metrics.nom.total
old: 7.0
new: 1.0
path: .spaces[8].metrics.nom.closures
old: 6.0
new: 0.0
path: .spaces[8].metrics.loc.lloc
old: 43.0
new: 219.0
path: .spaces[8].metrics.loc.blank
old: 10.0
new: 5.0
path: .spaces[8].metrics.loc.cloc
old: 18.0
new: 6.0
path: .spaces[8].metrics.loc.ploc
old: 88.0
new: 233.0
path: .spaces[8].metrics.loc.sloc
old: 116.0
new: 244.0

### Code

    nsresult nsLookAndFeel::NativeGetColor(ColorID aID, nscolor& aColor) {
      EnsureInit();

      nsresult res = NS_OK;

      int idx;
      switch (aID) {
        case ColorID::WindowBackground:
          idx = COLOR_WINDOW;
          break;
        case ColorID::WindowForeground:
          idx = COLOR_WINDOWTEXT;
          break;
        case ColorID::WidgetBackground:
          idx = COLOR_BTNFACE;
          break;
        case ColorID::WidgetForeground:
          idx = COLOR_BTNTEXT;
          break;
        case ColorID::WidgetSelectBackground:
          idx = COLOR_HIGHLIGHT;
          break;
        case ColorID::WidgetSelectForeground:
          idx = COLOR_HIGHLIGHTTEXT;
          break;
        case ColorID::Widget3DHighlight:
          idx = COLOR_BTNHIGHLIGHT;
          break;
        case ColorID::Widget3DShadow:
          idx = COLOR_BTNSHADOW;
          break;
        case ColorID::TextBackground:
          idx = COLOR_WINDOW;
          break;
        case ColorID::TextForeground:
          idx = COLOR_WINDOWTEXT;
          break;
        case ColorID::TextSelectBackground:
        case ColorID::IMESelectedRawTextBackground:
        case ColorID::IMESelectedConvertedTextBackground:
          idx = COLOR_HIGHLIGHT;
          break;
        case ColorID::TextSelectForeground:
        case ColorID::IMESelectedRawTextForeground:
        case ColorID::IMESelectedConvertedTextForeground:
          idx = COLOR_HIGHLIGHTTEXT;
          break;
        case ColorID::IMERawInputBackground:
        case ColorID::IMEConvertedTextBackground:
          aColor = NS_TRANSPARENT;
          return NS_OK;
        case ColorID::IMERawInputForeground:
        case ColorID::IMEConvertedTextForeground:
          aColor = NS_SAME_AS_FOREGROUND_COLOR;
          return NS_OK;
        case ColorID::IMERawInputUnderline:
        case ColorID::IMEConvertedTextUnderline:
          aColor = NS_SAME_AS_FOREGROUND_COLOR;
          return NS_OK;
        case ColorID::IMESelectedRawTextUnderline:
        case ColorID::IMESelectedConvertedTextUnderline:
          aColor = NS_TRANSPARENT;
          return NS_OK;
        case ColorID::SpellCheckerUnderline:
          aColor = NS_RGB(0xff, 0, 0);
          return NS_OK;

        // New CSS 2 Color definitions
        case ColorID::Activeborder:
          idx = COLOR_ACTIVEBORDER;
          break;
        case ColorID::Activecaption:
          idx = COLOR_ACTIVECAPTION;
          break;
        case ColorID::Appworkspace:
          idx = COLOR_APPWORKSPACE;
          break;
        case ColorID::Background:
          idx = COLOR_BACKGROUND;
          break;
        case ColorID::Buttonface:
        case ColorID::MozButtonhoverface:
          idx = COLOR_BTNFACE;
          break;
        case ColorID::Buttonhighlight:
          idx = COLOR_BTNHIGHLIGHT;
          break;
        case ColorID::Buttonshadow:
          idx = COLOR_BTNSHADOW;
          break;
        case ColorID::Buttontext:
        case ColorID::MozButtonhovertext:
          idx = COLOR_BTNTEXT;
          break;
        case ColorID::Captiontext:
          idx = COLOR_CAPTIONTEXT;
          break;
        case ColorID::Graytext:
          idx = COLOR_GRAYTEXT;
          break;
        case ColorID::Highlight:
        case ColorID::MozAccentColor:
        case ColorID::MozHtmlCellhighlight:
        case ColorID::MozMenuhover:
          idx = COLOR_HIGHLIGHT;
          break;
        case ColorID::MozMenubarhovertext:
          if (!nsUXThemeData::IsAppThemed()) {
            idx = nsUXThemeData::AreFlatMenusEnabled() ? COLOR_HIGHLIGHTTEXT
                                                       : COLOR_MENUTEXT;
            break;
          }
          // Fall through
        case ColorID::MozMenuhovertext:
          if (mHasColorMenuHoverText) {
            aColor = mColorMenuHoverText;
            return NS_OK;
          }
          // Fall through
        case ColorID::Highlighttext:
        case ColorID::MozAccentColorForeground:
        case ColorID::MozHtmlCellhighlighttext:
          idx = COLOR_HIGHLIGHTTEXT;
          break;
        case ColorID::Inactiveborder:
          idx = COLOR_INACTIVEBORDER;
          break;
        case ColorID::Inactivecaption:
          idx = COLOR_INACTIVECAPTION;
          break;
        case ColorID::Inactivecaptiontext:
          idx = COLOR_INACTIVECAPTIONTEXT;
          break;
        case ColorID::Infobackground:
          idx = COLOR_INFOBK;
          break;
        case ColorID::Infotext:
          idx = COLOR_INFOTEXT;
          break;
        case ColorID::Menu:
          idx = COLOR_MENU;
          break;
        case ColorID::Menutext:
        case ColorID::MozMenubartext:
          idx = COLOR_MENUTEXT;
          break;
        case ColorID::Scrollbar:
          idx = COLOR_SCROLLBAR;
          break;
        case ColorID::Threeddarkshadow:
          idx = COLOR_3DDKSHADOW;
          break;
        case ColorID::Threedface:
          idx = COLOR_3DFACE;
          break;
        case ColorID::Threedhighlight:
          idx = COLOR_3DHIGHLIGHT;
          break;
        case ColorID::Threedlightshadow:
          idx = COLOR_3DLIGHT;
          break;
        case ColorID::Threedshadow:
          idx = COLOR_3DSHADOW;
          break;
        case ColorID::Window:
          idx = COLOR_WINDOW;
          break;
        case ColorID::Windowframe:
          idx = COLOR_WINDOWFRAME;
          break;
        case ColorID::Windowtext:
          idx = COLOR_WINDOWTEXT;
          break;
        case ColorID::MozEventreerow:
        case ColorID::MozOddtreerow:
        case ColorID::Field:
        case ColorID::MozCombobox:
          idx = COLOR_WINDOW;
          break;
        case ColorID::Fieldtext:
        case ColorID::MozComboboxtext:
          idx = COLOR_WINDOWTEXT;
          break;
        case ColorID::MozDialog:
        case ColorID::MozCellhighlight:
          idx = COLOR_3DFACE;
          break;
        case ColorID::MozWinAccentcolor:
          if (mHasColorAccent) {
            aColor = mColorAccent;
          } else {
            // Seems to be the default color (hardcoded because of bug 1065998)
            aColor = NS_RGB(158, 158, 158);
          }
          return NS_OK;
        case ColorID::MozWinAccentcolortext:
          if (mHasColorAccentText) {
            aColor = mColorAccentText;
          } else {
            aColor = NS_RGB(0, 0, 0);
          }
          return NS_OK;
        case ColorID::MozWinMediatext:
          if (mHasColorMediaText) {
            aColor = mColorMediaText;
            return NS_OK;
          }
          // if we've gotten here just return -moz-dialogtext instead
          idx = COLOR_WINDOWTEXT;
          break;
        case ColorID::MozWinCommunicationstext:
          if (mHasColorCommunicationsText) {
            aColor = mColorCommunicationsText;
            return NS_OK;
          }
          // if we've gotten here just return -moz-dialogtext instead
          idx = COLOR_WINDOWTEXT;
          break;
        case ColorID::MozDialogtext:
        case ColorID::MozCellhighlighttext:
        case ColorID::MozColheadertext:
        case ColorID::MozColheaderhovertext:
          idx = COLOR_WINDOWTEXT;
          break;
        case ColorID::MozDragtargetzone:
          idx = COLOR_HIGHLIGHTTEXT;
          break;
        case ColorID::MozButtondefault:
          idx = COLOR_3DDKSHADOW;
          break;
        case ColorID::MozNativehyperlinktext:
          idx = COLOR_HOTLIGHT;
          break;
        default:
          NS_WARNING("Unknown color for nsLookAndFeel");
          idx = COLOR_WINDOW;
          res = NS_ERROR_FAILURE;
          break;
      }

      aColor = GetColorForSysColorIndex(idx);

      return res;
    }

## Minimal test - lines (111, 111)

path: .spaces[5].metrics.loc.sloc
old: 89.0
new: 1.0
path: .spaces[5].metrics.loc.blank
old: 5.0
new: 0.0
path: .spaces[5].metrics.loc.cloc
old: 20.0
new: 0.0
path: .spaces[5].metrics.loc.lloc
old: 34.0
new: 0.0
path: .spaces[5].metrics.loc.ploc
old: 64.0
new: 1.0
path: .spaces[5].metrics.nargs.average
old: 0.4
new: 0.0
path: .spaces[5].metrics.nargs.sum
old: 2.0
new: 0.0
path: .spaces[5].metrics.nom.closures
old: 4.0
new: 0.0
path: .spaces[5].metrics.nom.total
old: 5.0
new: 1.0
path: .spaces[5].metrics.mi.mi_sei
old: 39.55103861055529
new: 152.37629276875444
path: .spaces[5].metrics.mi.mi_visual_studio
old: 33.094095893082006
new: 92.40962204246613
path: .spaces[5].metrics.mi.mi_original
old: 56.59090397717023
new: 158.02045369261705
path: .spaces[5].metrics.halstead.purity_ratio
old: 1.5449390145775217
new: 1.6
path: .spaces[5].metrics.halstead.N1
old: 251.0
new: 4.0
path: .spaces[5].metrics.halstead.vocabulary
old: 109.0
new: 5.0
path: .spaces[5].metrics.halstead.n2
old: 89.0
new: 1.0
path: .spaces[5].metrics.halstead.n1
old: 20.0
new: 4.0
path: .spaces[5].metrics.halstead.time
old: 3226.167861477001
new: 1.289960052715201
path: .spaces[5].metrics.halstead.difficulty
old: 20.0
new: 2.0
path: .spaces[5].metrics.halstead.level
old: 0.05
new: 0.5
path: .spaces[5].metrics.halstead.volume
old: 2903.551075329301
new: 11.60964047443681
path: .spaces[5].metrics.halstead.bugs
old: 0.4998638413851954
new: 0.002712967490108627
path: .spaces[5].metrics.halstead.N2
old: 178.0
new: 1.0
path: .spaces[5].metrics.halstead.estimated_program_length
old: 662.7788372537567
new: 8.0
path: .spaces[5].metrics.halstead.effort
old: 58071.021506586025
new: 23.21928094887362
path: .spaces[5].metrics.halstead.length
old: 429.0
new: 5.0
path: .spaces[5].metrics.nexits.sum
old: 2.0
new: 0.0
path: .spaces[5].metrics.nexits.average
old: 0.4
new: 0.0

### Code

    nsLookAndFeel::~nsLookAndFeel() {}

## Minimal test - lines (60, 90)

path: .spaces[3].metrics.nargs.sum
old: 2.0
new: 1.0
path: .spaces[3].metrics.nexits.sum
old: 1.0
new: 4.0
path: .spaces[3].metrics.nexits.average
old: 0.5
new: 4.0
path: .spaces[3].metrics.loc.cloc
old: 4.0
new: 0.0
path: .spaces[3].metrics.loc.ploc
old: 21.0
new: 27.0
path: .spaces[3].metrics.loc.lloc
old: 8.0
new: 12.0
path: .spaces[3].metrics.loc.sloc
old: 29.0
new: 31.0
path: .spaces[3].metrics.nom.total
old: 2.0
new: 1.0
path: .spaces[3].metrics.nom.closures
old: 1.0
new: 0.0
path: .spaces[3].metrics.cyclomatic.sum
old: 1.0
new: 5.0
path: .spaces[3].metrics.cyclomatic.average
old: 1.0
new: 5.0
path: .spaces[3].metrics.cognitive.sum
old: 0.0
new: 4.0
path: .spaces[3].metrics.cognitive.average
old: 0.0
new: 4.0
path: .spaces[3].metrics.halstead.purity_ratio
old: 1.867557222069672
new: 1.5858453293797494
path: .spaces[3].metrics.halstead.time
old: 435.1400129189287
new: 367.8651411159691
path: .spaces[3].metrics.halstead.bugs
old: 0.13146589293350125
new: 0.11754013162629628
path: .spaces[3].metrics.halstead.N1
old: 73.0
new: 61.0
path: .spaces[3].metrics.halstead.estimated_program_length
old: 231.57709553663932
new: 163.3420689261142
path: .spaces[3].metrics.halstead.vocabulary
old: 49.0
new: 38.0
path: .spaces[3].metrics.halstead.difficulty
old: 11.25
new: 12.25
path: .spaces[3].metrics.halstead.n1
old: 15.0
new: 14.0
path: .spaces[3].metrics.halstead.length
old: 124.0
new: 103.0
path: .spaces[3].metrics.halstead.volume
old: 696.2240206702859
new: 540.5365338846893
path: .spaces[3].metrics.halstead.level
old: 0.08888888888888889
new: 0.08163265306122448
path: .spaces[3].metrics.halstead.n2
old: 34.0
new: 24.0
path: .spaces[3].metrics.halstead.N2
old: 51.0
new: 42.0
path: .spaces[3].metrics.halstead.effort
old: 7832.520232540716
new: 6621.572540087444
path: .spaces[3].metrics.mi.mi_original
old: 82.18231587212952
new: 81.49808370407487
path: .spaces[3].metrics.mi.mi_sei
old: 70.17166125542369
new: 42.38512850683202
path: .spaces[3].metrics.mi.mi_visual_studio
old: 48.0598338433506
new: 47.659698072558406

### Code

    static nsresult SystemWantsDarkTheme(int32_t& darkThemeEnabled) {
      if (!IsWin10OrLater()) {
        darkThemeEnabled = 0;
        return NS_OK;
      }

      nsresult rv = NS_OK;
      nsCOMPtr personalizeKey =
          do_CreateInstance("@mozilla.org/windows-registry-key;1", &rv);
      if (NS_WARN_IF(NS_FAILED(rv))) {
        return rv;
      }

      rv = personalizeKey->Open(
          nsIWindowsRegKey::ROOT_KEY_CURRENT_USER,
          nsLiteralString(
              u"SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Themes\\Personalize"),
          nsIWindowsRegKey::ACCESS_QUERY_VALUE);
      if (NS_FAILED(rv)) {
        return rv;
      }

      uint32_t lightThemeEnabled;
      rv =
          personalizeKey->ReadIntValue(u"AppsUseLightTheme"_ns, &lightThemeEnabled);
      if (NS_SUCCEEDED(rv)) {
        darkThemeEnabled = !lightThemeEnabled;
      }

      return rv;
    }

## Minimal test - lines (624, 639)

path: .spaces[10].metrics.cyclomatic.sum
old: 1.0
new: 3.0
path: .spaces[10].metrics.cyclomatic.average
old: 1.0
new: 3.0
path: .spaces[10].metrics.halstead.N2
old: 51.0
new: 20.0
path: .spaces[10].metrics.halstead.level
old: 0.10784313725490197
new: 0.08571428571428572
path: .spaces[10].metrics.halstead.bugs
old: 0.0796718100811434
new: 0.06788693109250382
path: .spaces[10].metrics.halstead.estimated_program_length
old: 46.05374780501027
new: 96.32251891746031
path: .spaces[10].metrics.halstead.volume
old: 398.5028407520689
new: 249.12330506147785
path: .spaces[10].metrics.halstead.n1
old: 4.0
new: 14.0
path: .spaces[10].metrics.halstead.effort
old: 3695.208159701003
new: 2906.438559050575
path: .spaces[10].metrics.halstead.n2
old: 11.0
new: 12.0
path: .spaces[10].metrics.halstead.length
old: 102.0
new: 53.0
path: .spaces[10].metrics.halstead.purity_ratio
old: 0.45150733142166927
new: 1.817406017310572
path: .spaces[10].metrics.halstead.N1
old: 51.0
new: 33.0
path: .spaces[10].metrics.halstead.time
old: 205.2893422056113
new: 161.46880883614304
path: .spaces[10].metrics.halstead.difficulty
old: 9.272727272727272
new: 11.666666666666666
path: .spaces[10].metrics.halstead.vocabulary
old: 15.0
new: 26.0
path: .spaces[10].metrics.loc.sloc
old: 18.0
new: 16.0
path: .spaces[10].metrics.loc.blank
old: 3.0
new: 1.0
path: .spaces[10].metrics.loc.lloc
old: 12.0
new: 11.0
path: .spaces[10].metrics.mi.mi_visual_studio
old: 54.274772785164934
new: 56.55013639181912
path: .spaces[10].metrics.mi.mi_original
old: 92.80986146263204
new: 96.7007332300107
path: .spaces[10].metrics.mi.mi_sei
old: 58.29729474512264
new: 64.11427586746363
path: .spaces[10].metrics.cognitive.sum
old: 0.0
new: 1.0
path: .spaces[10].metrics.cognitive.average
old: 0.0
new: 1.0
path: .spaces[10].metrics.nexits.sum
old: 0.0
new: 1.0
path: .spaces[10].metrics.nexits.average
old: 0.0
new: 1.0

### Code

    nsresult nsLookAndFeel::NativeGetFloat(FloatID aID, float& aResult) {
      nsresult res = NS_OK;

      switch (aID) {
        case FloatID::IMEUnderlineRelativeSize:
          aResult = 1.0f;
          break;
        case FloatID::SpellCheckerUnderlineRelativeSize:
          aResult = 1.0f;
          break;
        default:
          aResult = -1.0;
          res = NS_ERROR_FAILURE;
      }
      return res;
    }