Global Metrics

path: .metrics.nom.functions
old: 9.0
new: 2.0

path: .metrics.nom.total
old: 9.0
new: 2.0

path: .metrics.loc.lloc
old: 265.0
new: 2.0

path: .metrics.loc.cloc
old: 207.0
new: 6.0

path: .metrics.loc.ploc
old: 477.0
new: 18.0

path: .metrics.loc.blank
old: 53.0
new: 8.0

path: .metrics.loc.sloc
old: 737.0
new: 32.0

path: .metrics.halstead.estimated_program_length
old: 1815.2692288691392
new: 72.10571633583419

path: .metrics.halstead.purity_ratio
old: 0.6203927644802254
new: 1.2221307853531218

path: .metrics.halstead.difficulty
old: 111.41232227488152
new: 7.384615384615385

path: .metrics.halstead.N1
old: 1620.0
new: 35.0

path: .metrics.halstead.volume
old: 23256.922519616768
new: 259.14672794394687

path: .metrics.halstead.n1
old: 36.0
new: 8.0

path: .metrics.halstead.time
old: 143950.43038208294
new: 106.3166063359782

path: .metrics.halstead.vocabulary
old: 247.0
new: 21.0

path: .metrics.halstead.effort
old: 2591107.746877493
new: 1913.698914047608

path: .metrics.halstead.length
old: 2926.0
new: 59.0

path: .metrics.halstead.n2
old: 211.0
new: 13.0

path: .metrics.halstead.bugs
old: 6.2883358282803465
new: 0.05138004562302475

path: .metrics.halstead.N2
old: 1306.0
new: 24.0

path: .metrics.halstead.level
old: 0.008975667857750553
new: 0.13541666666666666

path: .metrics.cyclomatic.average
old: 13.0
new: 1.0

path: .metrics.cyclomatic.sum
old: 130.0
new: 7.0

path: .metrics.cognitive.sum
old: 115.0
new: 0.0

path: .metrics.cognitive.average
old: 12.77777777777778
new: 0.0

path: .metrics.nexits.average
old: 0.8888888888888888
new: 0.0

path: .metrics.nexits.sum
old: 8.0
new: 0.0

path: .metrics.mi.mi_visual_studio
old: 0.0
new: 49.32551309866555

path: .metrics.mi.mi_original
old: -18.144586022753543
new: 84.3466273987181

path: .metrics.mi.mi_sei
old: -52.049095389341616
new: 77.77978908728319

path: .metrics.nargs.sum
old: 9.0
new: 2.0

Spaces Data

Minimal test - lines (15, 30)

path: .spaces[0].metrics.cognitive.average
old: 27.0
new: 0.0

path: .spaces[0].metrics.cognitive.sum
old: 27.0
new: 0.0

path: .spaces[0].metrics.nargs.sum
old: 1.0
new: 2.0

path: .spaces[0].metrics.nom.functions
old: 1.0
new: 2.0

path: .spaces[0].metrics.nom.total
old: 1.0
new: 2.0

path: .spaces[0].metrics.mi.mi_visual_studio
old: 34.279697523638525
new: 56.28701261014811

path: .spaces[0].metrics.mi.mi_sei
old: 41.729625388233025
new: 63.770606834501095

path: .spaces[0].metrics.mi.mi_original
old: 58.61828276542188
new: 96.25079156335327

path: .spaces[0].metrics.nexits.average
old: 8.0
new: 0.0

path: .spaces[0].metrics.nexits.sum
old: 8.0
new: 0.0

path: .spaces[0].metrics.cyclomatic.sum
old: 37.0
new: 6.0

path: .spaces[0].metrics.cyclomatic.average
old: 37.0
new: 1.0

path: .spaces[0].metrics.halstead.n2
old: 39.0
new: 11.0

path: .spaces[0].metrics.halstead.effort
old: 47256.537818365265
new: 1816.5682748398751

path: .spaces[0].metrics.halstead.n1
old: 16.0
new: 8.0

path: .spaces[0].metrics.halstead.purity_ratio
old: 0.9219477356164768
new: 1.1081026393751834

path: .spaces[0].metrics.halstead.length
old: 293.0
new: 56.0

path: .spaces[0].metrics.halstead.N1
old: 157.0
new: 35.0

path: .spaces[0].metrics.halstead.bugs
old: 0.4356991161657609
new: 0.04962645222642731

path: .spaces[0].metrics.halstead.estimated_program_length
old: 270.13068653562766
new: 62.05374780501027

path: .spaces[0].metrics.halstead.level
old: 0.035845588235294115
new: 0.13095238095238096

path: .spaces[0].metrics.halstead.N2
old: 136.0
new: 21.0

path: .spaces[0].metrics.halstead.time
old: 2625.3632121314035
new: 100.9204597133264

path: .spaces[0].metrics.halstead.difficulty
old: 27.897435897435894
new: 7.636363636363637

path: .spaces[0].metrics.halstead.vocabulary
old: 55.0
new: 19.0

path: .spaces[0].metrics.halstead.volume
old: 1693.9383960627254
new: 237.88394075284077

path: .spaces[0].metrics.loc.lloc
old: 14.0
new: 2.0

path: .spaces[0].metrics.loc.ploc
old: 48.0
new: 12.0

path: .spaces[0].metrics.loc.sloc
old: 56.0
new: 16.0

path: .spaces[0].metrics.loc.cloc
old: 9.0
new: 0.0

path: .spaces[0].metrics.loc.blank
old: 0.0
new: 4.0

Code

namespace mozilla {

template 
struct GObjectRefPtrTraits {
  static void AddRef(T* aObject) { g_object_ref(aObject); }
  static void Release(T* aObject) { g_object_unref(aObject); }
};

template <>
struct RefPtrTraits : public GObjectRefPtrTraits {};

template <>
struct RefPtrTraits
    : public GObjectRefPtrTraits {};

}  // namespace mozilla