metrics: add Number of Local MProperty class metric
authorAlexandre Terrasa <alexandre@moz-code.org>
Thu, 6 Mar 2014 15:40:49 +0000 (10:40 -0500)
committerAlexandre Terrasa <alexandre@moz-code.org>
Fri, 7 Mar 2014 06:20:23 +0000 (01:20 -0500)
Signed-off-by: Alexandre Terrasa <alexandre@moz-code.org>

src/metrics/mclasses_metrics.nit

index 3376169..f582732 100644 (file)
@@ -235,3 +235,24 @@ class CNBHP
        end
 end
 
+# Class Metric: Number of Local MProperties (Intro + Redef)
+class CNBLP
+       super MClassMetric
+       super IntMetric
+       redef fun name do return "cnblp"
+       redef fun desc do return "number of local properties (intro + redef)"
+
+       var mainmodule: MModule
+       var min_visibility: MVisibility
+
+       init(mainmodule: MModule, min_visibility: MVisibility) do
+               self.mainmodule = mainmodule
+               self.min_visibility = min_visibility
+       end
+
+       redef fun collect(mclasses) do
+               for mclass in mclasses do
+                       values[mclass] = mclass.local_mproperties(min_visibility).length
+               end
+       end
+end