# Global Metrics

path: .metrics.halstead.time
old: 110.62532490396627
new: 451.7514022760741
path: .metrics.halstead.purity_ratio
old: 2.0469621001446017
new: 1.890397914603804
path: .metrics.halstead.level
old: 0.28787878787878785
new: 0.08104575163398693
path: .metrics.halstead.N1
old: 61.0
new: 73.0
path: .metrics.halstead.length
old: 105.0
new: 118.0
path: .metrics.halstead.n1
old: 6.0
new: 17.0
path: .metrics.halstead.n2
old: 38.0
new: 31.0
path: .metrics.halstead.N2
old: 44.0
new: 45.0
path: .metrics.halstead.vocabulary
old: 44.0
new: 48.0
path: .metrics.halstead.estimated_program_length
old: 214.9310205151832
new: 223.0669539232489
path: .metrics.halstead.volume
old: 573.2403199569162
new: 659.0255750850964
path: .metrics.halstead.difficulty
old: 3.473684210526316
new: 12.338709677419354
path: .metrics.halstead.effort
old: 1991.2558482713932
new: 8131.525240969334
path: .metrics.halstead.bugs
old: 0.05275902829036179
new: 0.1347907495094105
path: .metrics.nom.functions
old: 0.0
new: 5.0
path: .metrics.nom.total
old: 0.0
new: 5.0
path: .metrics.nargs.average
old: null
new: 0.4
path: .metrics.nargs.sum
old: 0.0
new: 2.0
path: .metrics.mi.mi_visual_studio
old: 41.38427323095527
new: 41.6186477058748
path: .metrics.mi.mi_sei
old: 57.910664168168154
new: 59.30408962590391
path: .metrics.mi.mi_original
old: 70.76710722493351
new: 71.16788757704592
path: .metrics.nexits.sum
old: 0.0
new: 6.0
path: .metrics.nexits.average
old: null
new: 1.2
path: .metrics.loc.lloc
old: 0.0
new: 14.0
path: .metrics.loc.blank
old: 11.0
new: 13.0
path: .metrics.loc.sloc
old: 59.0
new: 52.0
path: .metrics.loc.cloc
old: 11.0
new: 10.0
path: .metrics.loc.ploc
old: 37.0
new: 29.0
path: .metrics.cognitive.average
old: null
new: 0.6
path: .metrics.cognitive.sum
old: 0.0
new: 3.0
path: .metrics.cyclomatic.average
old: 1.0
new: 1.5
path: .metrics.cyclomatic.sum
old: 5.0
new: 9.0

# Spaces Data

## Minimal test - lines (19, 30)

path: .spaces[1].metrics.cognitive.average
old: null
new: 2.0
path: .spaces[1].metrics.cognitive.sum
old: 0.0
new: 2.0
path: .spaces[1].metrics.nom.functions
old: 0.0
new: 1.0
path: .spaces[1].metrics.nom.total
old: 0.0
new: 1.0
path: .spaces[1].metrics.nargs.average
old: null
new: 0.0
path: .spaces[1].metrics.cyclomatic.average
old: 1.0
new: 3.0
path: .spaces[1].metrics.cyclomatic.sum
old: 1.0
new: 3.0
path: .spaces[1].metrics.halstead.n1
old: 3.0
new: 10.0
path: .spaces[1].metrics.halstead.effort
old: 63.0
new: 1391.5660198530893
path: .spaces[1].metrics.halstead.level
old: 0.6666666666666666
new: 0.12941176470588234
path: .spaces[1].metrics.halstead.difficulty
old: 1.5
new: 7.727272727272728
path: .spaces[1].metrics.halstead.vocabulary
old: 8.0
new: 21.0
path: .spaces[1].metrics.halstead.time
old: 3.5
new: 77.30922332517163
path: .spaces[1].metrics.halstead.n2
old: 5.0
new: 11.0
path: .spaces[1].metrics.halstead.N2
old: 5.0
new: 17.0
path: .spaces[1].metrics.halstead.purity_ratio
old: 1.1688948554714484
new: 1.7383665549727778
path: .spaces[1].metrics.halstead.length
old: 14.0
new: 41.0
path: .spaces[1].metrics.halstead.estimated_program_length
old: 16.36452797660028
new: 71.27302875388389
path: .spaces[1].metrics.halstead.N1
old: 9.0
new: 24.0
path: .spaces[1].metrics.halstead.bugs
old: 0.0052776320879040755
new: 0.041547792645179646
path: .spaces[1].metrics.halstead.volume
old: 42.0
new: 180.0850143339292
path: .spaces[1].metrics.mi.mi_original
old: 122.307614583432
new: 103.0486812589554
path: .spaces[1].metrics.mi.mi_visual_studio
old: 71.52492080902456
new: 60.26238670114351
path: .spaces[1].metrics.mi.mi_sei
old: 100.85355688986772
new: 102.82878486940776
path: .spaces[1].metrics.nexits.average
old: null
new: 2.0
path: .spaces[1].metrics.nexits.sum
old: 0.0
new: 2.0
path: .spaces[1].metrics.loc.blank
old: 0.0
new: 2.0
path: .spaces[1].metrics.loc.sloc
old: 6.0
new: 12.0
path: .spaces[1].metrics.loc.lloc
old: 0.0
new: 5.0
path: .spaces[1].metrics.loc.cloc
old: 0.0
new: 2.0
path: .spaces[1].metrics.loc.ploc
old: 6.0
new: 8.0

### Code

    nsBidiKeyboard::Reset() {
      // NB: The default keymap can be null (e.g. in xpcshell). In that case,
      // simply assume that we don't have bidi keyboards.
      mHaveBidiKeyboards = false;

      GdkDisplay* display = gdk_display_get_default();
      if (!display) return NS_OK;

      GdkKeymap* keymap = gdk_keymap_get_for_display(display);
      mHaveBidiKeyboards = keymap && gdk_keymap_have_bidi_layouts(keymap);
      return NS_OK;
    }

## Minimal test - lines (16, 16)

path: .spaces[0].metrics.halstead.level
old: 0.6666666666666666
new: 0.5
path: .spaces[0].metrics.halstead.difficulty
old: 1.5
new: 2.0
path: .spaces[0].metrics.halstead.n1
old: 3.0
new: 4.0
path: .spaces[0].metrics.halstead.effort
old: 63.0
new: 36.18947501009619
path: .spaces[0].metrics.halstead.volume
old: 42.0
new: 18.094737505048094
path: .spaces[0].metrics.halstead.vocabulary
old: 8.0
new: 6.0
path: .spaces[0].metrics.halstead.N1
old: 9.0
new: 5.0
path: .spaces[0].metrics.halstead.n2
old: 5.0
new: 2.0
path: .spaces[0].metrics.halstead.time
old: 3.5
new: 2.0105263894497885
path: .spaces[0].metrics.halstead.N2
old: 5.0
new: 2.0
path: .spaces[0].metrics.halstead.estimated_program_length
old: 16.36452797660028
new: 10.0
path: .spaces[0].metrics.halstead.bugs
old: 0.0052776320879040755
new: 0.003646981838562912
path: .spaces[0].metrics.halstead.length
old: 14.0
new: 7.0
path: .spaces[0].metrics.halstead.purity_ratio
old: 1.1688948554714484
new: 1.4285714285714286
path: .spaces[0].metrics.nargs.average
old: null
new: 0.0
path: .spaces[0].metrics.loc.ploc
old: 6.0
new: 1.0
path: .spaces[0].metrics.loc.sloc
old: 6.0
new: 1.0
path: .spaces[0].metrics.loc.lloc
old: 0.0
new: 1.0
path: .spaces[0].metrics.nexits.average
old: null
new: 0.0
path: .spaces[0].metrics.mi.mi_original
old: 122.307614583432
new: 155.7127700178179
path: .spaces[0].metrics.mi.mi_visual_studio
old: 71.52492080902456
new: 91.0600994256245
path: .spaces[0].metrics.mi.mi_sei
old: 100.85355688986772
new: 149.04700897518126
path: .spaces[0].metrics.nom.functions
old: 0.0
new: 1.0
path: .spaces[0].metrics.nom.total
old: 0.0
new: 1.0
path: .spaces[0].metrics.cognitive.average
old: null
new: 0.0

### Code

    nsBidiKeyboard::nsBidiKeyboard() { Reset(); }

## Minimal test - lines (44, 47)

path: .spaces[3].metrics.nargs.average
old: null
new: 1.0
path: .spaces[3].metrics.nargs.sum
old: 0.0
new: 1.0
path: .spaces[3].metrics.cognitive.average
old: null
new: 0.0
path: .spaces[3].metrics.nom.total
old: 0.0
new: 1.0
path: .spaces[3].metrics.nom.functions
old: 0.0
new: 1.0
path: .spaces[3].metrics.halstead.level
old: 0.6666666666666666
new: 0.2857142857142857
path: .spaces[3].metrics.halstead.n1
old: 3.0
new: 7.0
path: .spaces[3].metrics.halstead.bugs
old: 0.002239505320238735
new: 0.008693388038979604
path: .spaces[3].metrics.halstead.N1
old: 3.0
new: 7.0
path: .spaces[3].metrics.halstead.purity_ratio
old: 1.3509775004326936
new: 2.513771314036657
path: .spaces[3].metrics.halstead.difficulty
old: 1.5
new: 3.5
path: .spaces[3].metrics.halstead.estimated_program_length
old: 6.754887502163468
new: 27.651484454403228
path: .spaces[3].metrics.halstead.N2
old: 2.0
new: 4.0
path: .spaces[3].metrics.halstead.effort
old: 17.414460711655217
new: 133.18811731753593
path: .spaces[3].metrics.halstead.length
old: 5.0
new: 11.0
path: .spaces[3].metrics.halstead.volume
old: 11.60964047443681
new: 38.05374780501027
path: .spaces[3].metrics.halstead.vocabulary
old: 5.0
new: 11.0
path: .spaces[3].metrics.halstead.n2
old: 2.0
new: 4.0
path: .spaces[3].metrics.halstead.time
old: 0.9674700395364008
new: 7.399339850974219
path: .spaces[3].metrics.mi.mi_sei
old: 126.6999002570717
new: 146.04156698201427
path: .spaces[3].metrics.mi.mi_visual_studio
old: 82.00171614982087
new: 75.66621845209264
path: .spaces[3].metrics.mi.mi_original
old: 140.22293461619367
new: 129.3892335530784
path: .spaces[3].metrics.loc.lloc
old: 0.0
new: 1.0
path: .spaces[3].metrics.loc.cloc
old: 0.0
new: 1.0
path: .spaces[3].metrics.loc.sloc
old: 3.0
new: 4.0
path: .spaces[3].metrics.nexits.average
old: null
new: 1.0
path: .spaces[3].metrics.nexits.sum
old: 0.0
new: 1.0

### Code

    NS_IMETHODIMP nsBidiKeyboard::GetHaveBidiKeyboards(bool* aResult) {
      // not implemented yet
      return NS_ERROR_NOT_IMPLEMENTED;
    }

## Minimal test - lines (35, 42)

path: .spaces[2].metrics.cognitive.average
old: null
new: 1.0
path: .spaces[2].metrics.cognitive.sum
old: 0.0
new: 1.0
path: .spaces[2].metrics.nom.functions
old: 0.0
new: 1.0
path: .spaces[2].metrics.nom.total
old: 0.0
new: 1.0
path: .spaces[2].metrics.mi.mi_visual_studio
old: 64.26136246974293
new: 65.49949779376381
path: .spaces[2].metrics.mi.mi_sei
old: 82.93429658192305
new: 86.0906068345011
path: .spaces[2].metrics.mi.mi_original
old: 109.88692982326042
new: 112.0041412273361
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.sloc
old: 10.0
new: 8.0
path: .spaces[2].metrics.loc.blank
old: 0.0
new: 2.0
path: .spaces[2].metrics.loc.lloc
old: 0.0
new: 4.0
path: .spaces[2].metrics.loc.ploc
old: 10.0
new: 6.0
path: .spaces[2].metrics.nexits.average
old: null
new: 2.0
path: .spaces[2].metrics.nexits.sum
old: 0.0
new: 2.0
path: .spaces[2].metrics.halstead.effort
old: 139.8135375281251
new: 735.9534417041011
path: .spaces[2].metrics.halstead.time
old: 7.767418751562506
new: 40.88630231689451
path: .spaces[2].metrics.halstead.bugs
old: 0.008979349893105186
new: 0.027171418130132206
path: .spaces[2].metrics.halstead.difficulty
old: 1.5
new: 6.1875
path: .spaces[2].metrics.halstead.length
old: 26.0
new: 28.0
path: .spaces[2].metrics.halstead.vocabulary
old: 12.0
new: 19.0
path: .spaces[2].metrics.halstead.n2
old: 9.0
new: 8.0
path: .spaces[2].metrics.halstead.estimated_program_length
old: 33.284212515144276
new: 62.05374780501027
path: .spaces[2].metrics.halstead.level
old: 0.6666666666666666
new: 0.16161616161616163
path: .spaces[2].metrics.halstead.n1
old: 3.0
new: 11.0
path: .spaces[2].metrics.halstead.purity_ratio
old: 1.2801620198132413
new: 2.2162052787503668
path: .spaces[2].metrics.halstead.volume
old: 93.20902501875004
new: 118.9419703764204
path: .spaces[2].metrics.halstead.N1
old: 17.0
new: 19.0
path: .spaces[2].metrics.nargs.average
old: null
new: 1.0
path: .spaces[2].metrics.nargs.sum
old: 0.0
new: 1.0

### Code

    nsBidiKeyboard::IsLangRTL(bool* aIsRTL) {
      if (!mHaveBidiKeyboards) return NS_ERROR_FAILURE;

      *aIsRTL = (gdk_keymap_get_direction(gdk_keymap_get_default()) ==
                 PANGO_DIRECTION_RTL);

      return NS_OK;
    }