Global Metrics

path: .metrics.cyclomatic.sum
old: 42.0
new: 13.0

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

path: .metrics.loc.sloc
old: 244.0
new: 109.0

path: .metrics.loc.blank
old: 39.0
new: 22.0

path: .metrics.loc.lloc
old: 74.0
new: 4.0

path: .metrics.loc.ploc
old: 159.0
new: 76.0

path: .metrics.loc.cloc
old: 46.0
new: 11.0

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

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

path: .metrics.halstead.N1
old: 477.0
new: 181.0

path: .metrics.halstead.difficulty
old: 40.56521739130435
new: 15.034090909090908

path: .metrics.halstead.purity_ratio
old: 1.185835118942714
new: 1.961855586786719

path: .metrics.halstead.vocabulary
old: 145.0
new: 106.0

path: .metrics.halstead.N2
old: 311.0
new: 147.0

path: .metrics.halstead.effort
old: 229508.6035919713
new: 33176.5990197156

path: .metrics.halstead.time
old: 12750.47797733174
new: 1843.1443899842

path: .metrics.halstead.n2
old: 115.0
new: 88.0

path: .metrics.halstead.n1
old: 30.0
new: 18.0

path: .metrics.halstead.estimated_program_length
old: 934.4380737268586
new: 643.4886324660438

path: .metrics.halstead.length
old: 788.0
new: 328.0

path: .metrics.halstead.level
old: 0.02465166130760986
new: 0.06651549508692366

path: .metrics.halstead.bugs
old: 1.2495243553110726
new: 0.3441649619733148

path: .metrics.halstead.volume
old: 5657.768362931768
new: 2206.7579090967292

path: .metrics.nom.total
old: 11.0
new: 7.0

path: .metrics.nom.functions
old: 11.0
new: 7.0

path: .metrics.nargs.average
old: 1.7272727272727273
new: 0.14285714285714285

path: .metrics.nargs.sum
old: 19.0
new: 1.0

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

path: .metrics.nexits.sum
old: 11.0
new: 3.0

path: .metrics.mi.mi_visual_studio
old: 15.996370603271275
new: 30.39409931379691

path: .metrics.mi.mi_original
old: 27.35379373159388
new: 51.97390982659272

path: .metrics.mi.mi_sei
old: -0.8081598586970635
new: 24.23096068720795

Spaces Data

Minimal test - lines (22, 22)

path: .spaces[0].metrics.mi.mi_sei
old: 105.6726654533256
new: null

path: .spaces[0].metrics.mi.mi_visual_studio
old: 73.47834274678662
new: null

path: .spaces[0].metrics.mi.mi_original
old: 125.64796609700514
new: null

path: .spaces[0].metrics.halstead.N2
old: 9.0
new: 1.0

path: .spaces[0].metrics.halstead.effort
old: 401.8516041197334
new: 0.0

path: .spaces[0].metrics.halstead.time
old: 22.325089117762968
new: 0.0

path: .spaces[0].metrics.halstead.n2
old: 7.0
new: 1.0

path: .spaces[0].metrics.halstead.length
old: 20.0
new: 1.0

path: .spaces[0].metrics.halstead.bugs
old: 0.018151919190735624
new: 0.0

path: .spaces[0].metrics.halstead.volume
old: 78.13781191217038
new: 0.0

path: .spaces[0].metrics.halstead.vocabulary
old: 15.0
new: 1.0

path: .spaces[0].metrics.halstead.difficulty
old: 5.142857142857143
new: 0.0

path: .spaces[0].metrics.halstead.level
old: 0.1944444444444444
new: null

path: .spaces[0].metrics.halstead.N1
old: 11.0
new: 0.0

path: .spaces[0].metrics.halstead.purity_ratio
old: 2.1825742227201617
new: null

path: .spaces[0].metrics.halstead.estimated_program_length
old: 43.65148445440323
new: null

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

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

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

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

path: .spaces[0].metrics.loc.ploc
old: 4.0
new: 1.0

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

path: .spaces[0].metrics.loc.sloc
old: 4.0
new: 1.0

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

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

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

Code

class nsILoadContext;

Minimal test - lines (41, 107)

path: .spaces[2].metrics.mi.mi_sei
old: 114.2475845735037
new: 27.556557878480668

path: .spaces[2].metrics.mi.mi_visual_studio
old: 76.91290699427772
new: 36.082341809718656

path: .spaces[2].metrics.mi.mi_original
old: 131.5210709602149
new: 61.70080449461889

path: .spaces[2].metrics.loc.sloc
old: 3.0
new: 67.0

path: .spaces[2].metrics.loc.cloc
old: 0.0
new: 2.0

path: .spaces[2].metrics.loc.blank
old: 0.0
new: 14.0

path: .spaces[2].metrics.loc.lloc
old: 1.0
new: 4.0

path: .spaces[2].metrics.loc.ploc
old: 3.0
new: 51.0

path: .spaces[2].metrics.nargs.average
old: 0.0
new: 0.14285714285714285

path: .spaces[2].metrics.nargs.sum
old: 0.0
new: 1.0

path: .spaces[2].metrics.nom.total
old: 1.0
new: 7.0

path: .spaces[2].metrics.nom.functions
old: 1.0
new: 7.0

path: .spaces[2].metrics.halstead.difficulty
old: 6.75
new: 14.450704225352112

path: .spaces[2].metrics.halstead.vocabulary
old: 13.0
new: 89.0

path: .spaces[2].metrics.halstead.estimated_program_length
old: 36.529325012980806
new: 511.69069551079406

path: .spaces[2].metrics.halstead.bugs
old: 0.018085484097870815
new: 0.28913843545118795

path: .spaces[2].metrics.halstead.N2
old: 6.0
new: 114.0

path: .spaces[2].metrics.halstead.length
old: 16.0
new: 273.0

path: .spaces[2].metrics.halstead.volume
old: 59.207035490257475
new: 1767.8752266538263

path: .spaces[2].metrics.halstead.n1
old: 9.0
new: 18.0

path: .spaces[2].metrics.halstead.effort
old: 399.6474895592379
new: 25547.042007701773

path: .spaces[2].metrics.halstead.purity_ratio
old: 2.2830828133113004
new: 1.8743248919809303

path: .spaces[2].metrics.halstead.time
old: 22.202638308846552
new: 1419.2801115389875

path: .spaces[2].metrics.halstead.n2
old: 4.0
new: 71.0

path: .spaces[2].metrics.halstead.level
old: 0.14814814814814814
new: 0.06920077972709551

path: .spaces[2].metrics.halstead.N1
old: 10.0
new: 159.0

path: .spaces[2].metrics.cyclomatic.average
old: 2.0
new: 1.0

path: .spaces[2].metrics.cyclomatic.sum
old: 2.0
new: 10.0

path: .spaces[2].metrics.nexits.sum
old: 1.0
new: 3.0

path: .spaces[2].metrics.nexits.average
old: 1.0
new: 0.42857142857142855

Code

class nsFilePicker : public nsBaseWinFilePicker {
  virtual ~nsFilePicker() = default;

 public:
  nsFilePicker();

  NS_IMETHOD Init(mozIDOMWindowProxy* aParent, const nsAString& aTitle,
                  int16_t aMode) override;

  NS_DECL_ISUPPORTS

  // nsIFilePicker (less what's in nsBaseFilePicker and nsBaseWinFilePicker)
  NS_IMETHOD GetFilterIndex(int32_t* aFilterIndex) override;
  NS_IMETHOD SetFilterIndex(int32_t aFilterIndex) override;
  NS_IMETHOD GetFile(nsIFile** aFile) override;
  NS_IMETHOD GetFileURL(nsIURI** aFileURL) override;
  NS_IMETHOD GetFiles(nsISimpleEnumerator** aFiles) override;
  NS_IMETHOD AppendFilter(const nsAString& aTitle,
                          const nsAString& aFilter) override;

 protected:
  /* method from nsBaseFilePicker */
  virtual void InitNative(nsIWidget* aParent, const nsAString& aTitle) override;
  nsresult Show(int16_t* aReturnVal) override;
  nsresult ShowW(int16_t* aReturnVal);
  void GetFilterListArray(nsString& aFilterList);
  bool ShowFolderPicker(const nsString& aInitialDir);
  bool ShowFilePicker(const nsString& aInitialDir);
  void RememberLastUsedDirectory();
  bool IsPrivacyModeEnabled();
  bool IsDefaultPathLink();
  bool IsDefaultPathHtml();

  nsCOMPtr mLoadContext;
  nsCOMPtr mParentWidget;
  nsString mTitle;
  nsCString mFile;
  nsString mFilterList;
  int16_t mSelectedType;
  nsCOMArray mFiles;
  nsString mUnicodeFile;

  struct FreeDeleter {
    void operator()(void* aPtr) { ::free(aPtr); }
  };
  static mozilla::UniquePtr sLastUsedUnicodeDirectory;

  class ComDlgFilterSpec {
   public:
    ComDlgFilterSpec() {}
    ~ComDlgFilterSpec() {}

    const uint32_t Length() { return mSpecList.Length(); }

    const bool IsEmpty() { return (mSpecList.Length() == 0); }

    const COMDLG_FILTERSPEC* get() { return mSpecList.Elements(); }

    void Append(const nsAString& aTitle, const nsAString& aFilter);

   private:
    AutoTArray mSpecList;
    AutoTArray mStrings;
  };

  ComDlgFilterSpec mComFilterList;
};

Minimal test - lines (24, 35)

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

path: .spaces[1].metrics.cognitive.average
old: 1.0
new: null

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

path: .spaces[1].metrics.nexits.average
old: 0.0
new: null

path: .spaces[1].metrics.cyclomatic.sum
old: 2.0
new: 1.0

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

path: .spaces[1].metrics.mi.mi_original
old: 115.08822195489331
new: 103.43482932728838

path: .spaces[1].metrics.mi.mi_visual_studio
old: 67.30305377479142
new: 60.48820428496397

path: .spaces[1].metrics.mi.mi_sei
old: 125.5113883290216
new: 73.625883193067

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

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

path: .spaces[1].metrics.loc.ploc
old: 6.0
new: 11.0

path: .spaces[1].metrics.loc.blank
old: 0.0
new: 1.0

path: .spaces[1].metrics.loc.cloc
old: 2.0
new: 0.0

path: .spaces[1].metrics.loc.lloc
old: 3.0
new: 0.0

path: .spaces[1].metrics.loc.sloc
old: 8.0
new: 12.0

path: .spaces[1].metrics.halstead.vocabulary
old: 11.0
new: 19.0

path: .spaces[1].metrics.halstead.level
old: 0.1904761904761905
new: 0.23333333333333336

path: .spaces[1].metrics.halstead.bugs
old: 0.01639924478676122
new: 0.02831334996414594

path: .spaces[1].metrics.halstead.N2
old: 6.0
new: 24.0

path: .spaces[1].metrics.halstead.volume
old: 65.72920075410865
new: 182.66088307807416

path: .spaces[1].metrics.halstead.time
old: 19.17101688661502
new: 43.49068644716051

path: .spaces[1].metrics.halstead.estimated_program_length
old: 27.651484454403228
new: 64.91260938324326

path: .spaces[1].metrics.halstead.purity_ratio
old: 1.455341287073854
new: 1.509595567052169

path: .spaces[1].metrics.halstead.n1
old: 7.0
new: 5.0

path: .spaces[1].metrics.halstead.length
old: 19.0
new: 43.0

path: .spaces[1].metrics.halstead.N1
old: 13.0
new: 19.0

path: .spaces[1].metrics.halstead.difficulty
old: 5.25
new: 4.285714285714286

path: .spaces[1].metrics.halstead.n2
old: 4.0
new: 14.0

path: .spaces[1].metrics.halstead.effort
old: 345.0783039590704
new: 782.8323560488892

Code

class nsBaseWinFilePicker : public nsBaseFilePicker {
 public:
  NS_IMETHOD GetDefaultString(nsAString& aDefaultString) override;
  NS_IMETHOD SetDefaultString(const nsAString& aDefaultString) override;
  NS_IMETHOD GetDefaultExtension(nsAString& aDefaultExtension) override;
  NS_IMETHOD SetDefaultExtension(const nsAString& aDefaultExtension) override;

 protected:
  nsString mDefaultFilePath;
  nsString mDefaultFilename;
  nsString mDefaultExtension;
};