X-Git-Url: http://nitlanguage.org?ds=inline diff --git a/src/metrics/mclasses_metrics.nit b/src/metrics/mclasses_metrics.nit index 872d66e..2404a38 100644 --- a/src/metrics/mclasses_metrics.nit +++ b/src/metrics/mclasses_metrics.nit @@ -37,24 +37,24 @@ private class MClassesMetricsPhase out.mkdir var model = toolcontext.modelbuilder.model - var model_view = model.private_view + var filter = new ModelFilter(private_visibility) print toolcontext.format_h1("\n# MClasses metrics") var metrics = new MetricSet - metrics.register(new CNOA(mainmodule, model_view)) - metrics.register(new CNOP(mainmodule, model_view)) - metrics.register(new CNOC(mainmodule, model_view)) - metrics.register(new CNOD(mainmodule, model_view)) - metrics.register(new CDIT(mainmodule, model_view)) - metrics.register(new CNBP(mainmodule, model_view)) - metrics.register(new CNBA(mainmodule, model_view)) - metrics.register(new CNBI(mainmodule, model_view)) - metrics.register(new CNBM(mainmodule, model_view)) - metrics.register(new CNBV(mainmodule, model_view)) - metrics.register(new CNBIP(mainmodule, model_view)) - metrics.register(new CNBRP(mainmodule, model_view)) - metrics.register(new CNBHP(mainmodule, model_view)) + metrics.register(new CNOA(model, mainmodule, filter)) + metrics.register(new CNOP(model, mainmodule, filter)) + metrics.register(new CNOC(model, mainmodule, filter)) + metrics.register(new CNOD(model, mainmodule, filter)) + metrics.register(new CDIT(model, mainmodule, filter)) + metrics.register(new CNBP(model, mainmodule, filter)) + metrics.register(new CNBA(model, mainmodule, filter)) + metrics.register(new CNBI(model, mainmodule, filter)) + metrics.register(new CNBM(model, mainmodule, filter)) + metrics.register(new CNBV(model, mainmodule, filter)) + metrics.register(new CNBIP(model, mainmodule, filter)) + metrics.register(new CNBRP(model, mainmodule, filter)) + metrics.register(new CNBHP(model, mainmodule, filter)) var mclasses = new HashSet[MClass] for mpackage in model.mpackages do @@ -92,11 +92,14 @@ abstract class MClassMetric super Metric redef type ELM: MClass - # Main module used for class linearization + # Model used to collect and filter entities + var model: Model + + # Mainmodule for class linearization var mainmodule: MModule - # Model view used to collect and filter entities - var model_view: ModelView + # Filter to apply + var filter: nullable ModelFilter end # Class Metric: Number of Ancestors @@ -178,7 +181,7 @@ class CNBP redef fun collect(mclasses) do for mclass in mclasses do - values[mclass] = mclass.collect_accessible_mproperties(model_view).length + values[mclass] = mclass.collect_accessible_mproperties(mainmodule, filter).length end end end @@ -192,7 +195,7 @@ class CNBA redef fun collect(mclasses) do for mclass in mclasses do - values[mclass] = mclass.collect_accessible_mattributes(model_view).length + values[mclass] = mclass.collect_accessible_mattributes(mainmodule, filter).length end end end @@ -206,7 +209,7 @@ class CNBM redef fun collect(mclasses) do for mclass in mclasses do - values[mclass] = mclass.collect_accessible_mmethods(model_view).length + values[mclass] = mclass.collect_accessible_mmethods(mainmodule, filter).length end end end @@ -220,7 +223,7 @@ class CNBI redef fun collect(mclasses) do for mclass in mclasses do - values[mclass] = mclass.collect_accessible_inits(model_view).length + values[mclass] = mclass.collect_accessible_inits(mainmodule, filter).length end end end @@ -234,7 +237,7 @@ class CNBV redef fun collect(mclasses) do for mclass in mclasses do - values[mclass] = mclass.collect_accessible_vts(model_view).length + values[mclass] = mclass.collect_accessible_vts(mainmodule, filter).length end end end @@ -248,7 +251,7 @@ class CNBIP redef fun collect(mclasses) do for mclass in mclasses do - values[mclass] = mclass.collect_intro_mproperties(model_view).length + values[mclass] = mclass.collect_intro_mproperties(filter).length end end end @@ -262,7 +265,7 @@ class CNBRP redef fun collect(mclasses) do for mclass in mclasses do - values[mclass] = mclass.collect_redef_mproperties(model_view).length + values[mclass] = mclass.collect_redef_mproperties(filter).length end end end @@ -276,7 +279,7 @@ class CNBHP redef fun collect(mclasses) do for mclass in mclasses do - values[mclass] = mclass.collect_inherited_mproperties(model_view).length + values[mclass] = mclass.collect_inherited_mproperties(mainmodule, filter).length end end end @@ -290,7 +293,7 @@ class CNBLP redef fun collect(mclasses) do for mclass in mclasses do - values[mclass] = mclass.collect_local_mproperties(model_view).length + values[mclass] = mclass.collect_local_mproperties(filter).length end end end