Global Metrics

path: .metrics.nargs.average
old: 4.0
new: 0.0

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

path: .metrics.mi.mi_original
old: 57.51144535631259
new: 59.614768561319934

path: .metrics.mi.mi_sei
old: 32.38791998790567
new: 48.53139464414215

path: .metrics.mi.mi_visual_studio
old: 33.63242418497812
new: 34.862437755157856

path: .metrics.nexits.sum
old: 5.0
new: 2.0

path: .metrics.nexits.average
old: 2.5
new: 1.0

path: .metrics.halstead.n2
old: 48.0
new: 49.0

path: .metrics.halstead.N2
old: 104.0
new: 100.0

path: .metrics.halstead.bugs
old: 0.3898257742997947
new: 0.2140345297252949

path: .metrics.halstead.length
old: 261.0
new: 206.0

path: .metrics.halstead.effort
old: 39993.34295491882
new: 16270.752774710258

path: .metrics.halstead.estimated_program_length
old: 372.1201250239268
new: 323.22649869747937

path: .metrics.halstead.vocabulary
old: 71.0
new: 62.0

path: .metrics.halstead.difficulty
old: 24.916666666666668
new: 13.26530612244898

path: .metrics.halstead.level
old: 0.04013377926421405
new: 0.07538461538461538

path: .metrics.halstead.n1
old: 23.0
new: 13.0

path: .metrics.halstead.time
old: 2221.852386384379
new: 903.9307097061254

path: .metrics.halstead.N1
old: 157.0
new: 106.0

path: .metrics.halstead.volume
old: 1605.083998190722
new: 1226.5644399396965

path: .metrics.halstead.purity_ratio
old: 1.4257476054556582
new: 1.5690606732887349

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

path: .metrics.cyclomatic.sum
old: 12.0
new: 5.0

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

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

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

path: .metrics.loc.sloc
old: 87.0
new: 92.0

path: .metrics.loc.ploc
old: 61.0
new: 48.0

path: .metrics.loc.blank
old: 17.0
new: 16.0

path: .metrics.loc.cloc
old: 9.0
new: 28.0

Spaces Data

Minimal test - lines (33, 90)

path: .spaces[1].metrics.nargs.average
old: 4.0
new: 0.0

path: .spaces[1].metrics.nargs.sum
old: 4.0
new: 0.0

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

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

path: .spaces[1].metrics.nexits.average
old: 2.0
new: 1.0

path: .spaces[1].metrics.mi.mi_visual_studio
old: 49.22870793651016
new: 39.9437726229994

path: .spaces[1].metrics.mi.mi_original
old: 84.18109057143238
new: 68.30385118532897

path: .spaces[1].metrics.mi.mi_sei
old: 70.84161158999179
new: 59.487085545880994

path: .spaces[1].metrics.cognitive.sum
old: 3.0
new: 0.0

path: .spaces[1].metrics.cognitive.average
old: 3.0
new: 0.0

path: .spaces[1].metrics.halstead.level
old: 0.08359133126934984
new: 0.0671971706454465

path: .spaces[1].metrics.halstead.vocabulary
old: 44.0
new: 51.0

path: .spaces[1].metrics.halstead.purity_ratio
old: 2.0828297985228357
new: 1.3236735927630503

path: .spaces[1].metrics.halstead.N1
old: 57.0
new: 100.0

path: .spaces[1].metrics.halstead.bugs
old: 0.11255166950217547
new: 0.20975791161839372

path: .spaces[1].metrics.halstead.N2
old: 38.0
new: 87.0

path: .spaces[1].metrics.halstead.effort
old: 6204.542933995758
new: 15785.538717775597

path: .spaces[1].metrics.halstead.n1
old: 17.0
new: 13.0

path: .spaces[1].metrics.halstead.difficulty
old: 11.962962962962964
new: 14.88157894736842

path: .spaces[1].metrics.halstead.volume
old: 518.6460037705432
new: 1060.7435389486695

path: .spaces[1].metrics.halstead.estimated_program_length
old: 197.8688308596694
new: 247.52696184669043

path: .spaces[1].metrics.halstead.length
old: 95.0
new: 187.0

path: .spaces[1].metrics.halstead.time
old: 344.69682966643103
new: 876.9743732097553

path: .spaces[1].metrics.halstead.n2
old: 27.0
new: 38.0

path: .spaces[1].metrics.loc.cloc
old: 3.0
new: 16.0

path: .spaces[1].metrics.loc.lloc
old: 8.0
new: 2.0

path: .spaces[1].metrics.loc.ploc
old: 19.0
new: 34.0

path: .spaces[1].metrics.loc.blank
old: 5.0
new: 8.0

path: .spaces[1].metrics.loc.sloc
old: 27.0
new: 58.0

path: .spaces[1].metrics.cyclomatic.sum
old: 4.0
new: 3.0

path: .spaces[1].metrics.cyclomatic.average
old: 4.0
new: 1.0

Code

class nsDataObjCollection final : public nsIDataObjCollection,
                                  public nsDataObj {
 public:
  nsDataObjCollection();

 private:
  ~nsDataObjCollection() final;

 public:  // IUnknown methods - see iunknown.h for documentation
  STDMETHODIMP_(ULONG) AddRef() final;
  STDMETHODIMP QueryInterface(REFIID, void**) final;
  STDMETHODIMP_(ULONG) Release() final;

 private:  // DataGet and DataSet helper methods
  HRESULT GetFile(LPFORMATETC pFE, LPSTGMEDIUM pSTM);
  HRESULT GetText(LPFORMATETC pFE, LPSTGMEDIUM pSTM);
  HRESULT GetFileDescriptors(LPFORMATETC pFE, LPSTGMEDIUM pSTM);
  HRESULT GetFileContents(LPFORMATETC pFE, LPSTGMEDIUM pSTM);
  HRESULT GetFirstSupporting(LPFORMATETC pFE, LPSTGMEDIUM pSTM);

  using nsDataObj::GetFile;
  using nsDataObj::GetFileContents;
  using nsDataObj::GetText;

  // support for clipboard
  void AddDataFlavor(const char* aDataFlavor, LPFORMATETC aFE) final;

 public:  // from nsPIDataObjCollection
  void AddDataObject(IDataObject* aDataObj);
  int32_t GetNumDataObjects() { return mDataObjects.Length(); }
  nsDataObj* GetDataObjectAt(uint32_t aItem) {
    return mDataObjects.SafeElementAt(aItem, RefPtr());
  }

 public:
  // Store data in pSTM according to the format specified by pFE, if the
  // format is supported (supported formats are specified in CfDragDrop::
  // GetFormats) and return NOERROR; otherwise return DATA_E_FORMATETC. It
  // is the callers responsibility to free pSTM if NOERROR is returned.
  STDMETHODIMP GetData(LPFORMATETC pFE, LPSTGMEDIUM pSTM) final;

  // Similar to GetData except that the caller allocates the structure
  // referenced by pSTM.
  STDMETHODIMP GetDataHere(LPFORMATETC pFE, LPSTGMEDIUM pSTM) final;

  // Returns S_TRUE if this object supports the format specified by pSTM,
  // S_FALSE otherwise.
  STDMETHODIMP QueryGetData(LPFORMATETC pFE) final;

  // Set this objects data according to the format specified by pFE and
  // the storage medium specified by pSTM and return NOERROR, if the format
  // is supported. If release is TRUE this object must release the storage
  // associated with pSTM.
  STDMETHODIMP SetData(LPFORMATETC pFE, LPSTGMEDIUM pSTM, BOOL release) final;

 private:
  nsTArray > mDataObjects;
};

Minimal test - lines (23, 25)

path: .spaces[0].metrics.cognitive.average
old: 4.0
new: null

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

path: .spaces[0].metrics.nexits.average
old: 3.0
new: null

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

path: .spaces[0].metrics.cyclomatic.sum
old: 7.0
new: 1.0

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

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

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

path: .spaces[0].metrics.nargs.sum
old: 4.0
new: 0.0

path: .spaces[0].metrics.nargs.average
old: 4.0
new: null

path: .spaces[0].metrics.halstead.bugs
old: 0.18767217937405656
new: 0.0015471962778709262

path: .spaces[0].metrics.halstead.time
old: 742.1799590389617
new: 0.5555555555555556

path: .spaces[0].metrics.halstead.effort
old: 13359.23926270131
new: 10.0

path: .spaces[0].metrics.halstead.N2
old: 54.0
new: 2.0

path: .spaces[0].metrics.halstead.n2
old: 35.0
new: 2.0

path: .spaces[0].metrics.halstead.vocabulary
old: 56.0
new: 4.0

path: .spaces[0].metrics.halstead.length
old: 142.0
new: 5.0

path: .spaces[0].metrics.halstead.N1
old: 88.0
new: 3.0

path: .spaces[0].metrics.halstead.purity_ratio
old: 1.9138279681086463
new: 0.8

path: .spaces[0].metrics.halstead.estimated_program_length
old: 271.7635714714278
new: 4.0

path: .spaces[0].metrics.halstead.n1
old: 21.0
new: 2.0

path: .spaces[0].metrics.halstead.difficulty
old: 16.2
new: 1.0

path: .spaces[0].metrics.halstead.level
old: 0.0617283950617284
new: 1.0

path: .spaces[0].metrics.halstead.volume
old: 824.6443989321797
new: 10.0

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

path: .spaces[0].metrics.loc.sloc
old: 39.0
new: 3.0

path: .spaces[0].metrics.loc.ploc
old: 32.0
new: 3.0

path: .spaces[0].metrics.loc.lloc
old: 18.0
new: 0.0

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

path: .spaces[0].metrics.mi.mi_original
old: 75.12254957125393
new: 140.99903844000758

path: .spaces[0].metrics.mi.mi_visual_studio
old: 43.93131553874499
new: 82.45557803509216

path: .spaces[0].metrics.mi.mi_sei
old: 45.66746595380304
new: 127.819581394903

Code

class nsIDataObjCollection : public IUnknown {
 public:
};