Global Metrics
path: .metrics.loc.blank
old: 0.0
new: 9.0
path: .metrics.loc.ploc
old: 1.0
new: 19.0
path: .metrics.loc.cloc
old: 0.0
new: 12.0
path: .metrics.loc.sloc
old: 1.0
new: 40.0
path: .metrics.nom.total
old: 1.0
new: 2.0
path: .metrics.nom.functions
old: 1.0
new: 2.0
path: .metrics.mi.mi_original
old: 155.05360502288067
new: 83.04302239935832
path: .metrics.mi.mi_sei
old: 148.19785476526218
new: 82.12941326192751
path: .metrics.mi.mi_visual_studio
old: 90.67462282039806
new: 48.5631709937768
path: .metrics.halstead.level
old: 0.4
new: 0.16883116883116883
path: .metrics.halstead.time
old: 2.7293728408893374
new: 59.73126264472535
path: .metrics.halstead.vocabulary
old: 7.0
new: 20.0
path: .metrics.halstead.N2
old: 2.0
new: 22.0
path: .metrics.halstead.length
old: 7.0
new: 42.0
path: .metrics.halstead.effort
old: 49.12871113600807
new: 1075.1627276050565
path: .metrics.halstead.volume
old: 19.651484454403228
new: 181.52097998526924
path: .metrics.halstead.estimated_program_length
old: 13.60964047443681
new: 67.75720079023742
path: .metrics.halstead.n1
old: 5.0
new: 7.0
path: .metrics.halstead.n2
old: 2.0
new: 13.0
path: .metrics.halstead.N1
old: 5.0
new: 20.0
path: .metrics.halstead.bugs
old: 0.004471319041702271
new: 0.034983362118148786
path: .metrics.halstead.difficulty
old: 2.5
new: 5.923076923076923
path: .metrics.halstead.purity_ratio
old: 1.944234353490973
new: 1.6132666854818434
path: .metrics.nargs.average
old: 0.0
new: 0.5
path: .metrics.nargs.sum
old: 0.0
new: 1.0
path: .metrics.cyclomatic.sum
old: 2.0
new: 5.0
path: .metrics.nexits.sum
old: 1.0
new: 0.0
path: .metrics.nexits.average
old: 1.0
new: 0.0
Spaces Data
Minimal test - lines (14, 38)
path: .spaces[0].metrics.loc.cloc
old: 0.0
new: 5.0
path: .spaces[0].metrics.loc.ploc
old: 1.0
new: 14.0
path: .spaces[0].metrics.loc.sloc
old: 1.0
new: 25.0
path: .spaces[0].metrics.loc.blank
old: 0.0
new: 6.0
path: .spaces[0].metrics.halstead.N1
old: 5.0
new: 20.0
path: .spaces[0].metrics.halstead.estimated_program_length
old: 13.60964047443681
new: 52.87076540327685
path: .spaces[0].metrics.halstead.length
old: 7.0
new: 38.0
path: .spaces[0].metrics.halstead.vocabulary
old: 7.0
new: 17.0
path: .spaces[0].metrics.halstead.level
old: 0.4
new: 0.15873015873015872
path: .spaces[0].metrics.halstead.effort
old: 49.12871113600807
new: 978.5386041953312
path: .spaces[0].metrics.halstead.n1
old: 5.0
new: 7.0
path: .spaces[0].metrics.halstead.n2
old: 2.0
new: 10.0
path: .spaces[0].metrics.halstead.volume
old: 19.651484454403228
new: 155.32358796751288
path: .spaces[0].metrics.halstead.purity_ratio
old: 1.944234353490973
new: 1.3913359316651803
path: .spaces[0].metrics.halstead.time
old: 2.7293728408893374
new: 54.36325578862951
path: .spaces[0].metrics.halstead.bugs
old: 0.004471319041702271
new: 0.032854691053915336
path: .spaces[0].metrics.halstead.difficulty
old: 2.5
new: 6.3
path: .spaces[0].metrics.halstead.N2
old: 2.0
new: 18.0
path: .spaces[0].metrics.cyclomatic.sum
old: 1.0
new: 4.0
path: .spaces[0].metrics.mi.mi_original
old: 155.2836050228807
new: 91.69755649070446
path: .spaces[0].metrics.mi.mi_sei
old: 148.4278547652622
new: 88.93352798923027
path: .spaces[0].metrics.mi.mi_visual_studio
old: 90.80912574437468
new: 53.62430204134764
path: .spaces[0].metrics.nom.total
old: 1.0
new: 2.0
path: .spaces[0].metrics.nom.functions
old: 1.0
new: 2.0
path: .spaces[0].metrics.nargs.average
old: 0.0
new: 0.5
path: .spaces[0].metrics.nargs.sum
old: 0.0
new: 1.0
path: .spaces[0].metrics.nexits.average
old: 1.0
new: 0.0
path: .spaces[0].metrics.nexits.sum
old: 1.0
new: 0.0
Code
namespace mozilla {
/**
* A generic factory which uses a constructor function to create instances.
* This class is intended for use by the component manager and the generic
* module.
*/
class GenericFactory final : public nsIFactory {
~GenericFactory() {}
public:
typedef Module::ConstructorProcPtr ConstructorProcPtr;
NS_DECL_THREADSAFE_ISUPPORTS
NS_DECL_NSIFACTORY
explicit GenericFactory(ConstructorProcPtr aCtor) : mCtor(aCtor) {
NS_ASSERTION(mCtor, "GenericFactory with no constructor");
}
private:
ConstructorProcPtr mCtor;
};
} // namespace mozilla