metrics: add Number of Accessible Definition metric for mmodule
authorAlexandre Terrasa <alexandre@moz-code.org>
Mon, 4 Jul 2016 23:22:09 +0000 (19:22 -0400)
committerAlexandre Terrasa <alexandre@moz-code.org>
Wed, 20 Jul 2016 15:58:10 +0000 (11:58 -0400)
Signed-off-by: Alexandre Terrasa <alexandre@moz-code.org>

src/metrics/mmodules_metrics.nit

index 3f65954..1e9d190 100644 (file)
@@ -162,6 +162,25 @@ class MDIT
        end
 end
 
+# Module Metric: Number of Accessible Definitions (of all kind)
+#
+# count all mclasses accessible by the module
+class MNBD
+       super MModuleMetric
+       super IntMetric
+       redef fun name do return "mnbd"
+       redef fun desc do return "number of definition accessibles in module"
+
+       redef fun collect(mmodules) do
+               for mmodule in mmodules do
+                       values[mmodule] = 0
+                       for a in mmodule.collect_ancestors(model_view) do
+                               values[mmodule] += a.intro_mclasses.length
+                       end
+               end
+       end
+end
+
 # Module Metric: Number of Introduction (of all kind)
 #
 # count all mclasses introduced by the module