nitmetrics: refactor nullables metrics computation
authorAlexandre Terrasa <alexadre@moz-code.org>
Sun, 4 Nov 2012 20:26:32 +0000 (15:26 -0500)
committerJean Privat <jean@pryen.org>
Mon, 5 Nov 2012 19:17:53 +0000 (14:17 -0500)
Signed-off-by: Alexandre Terrasa <alexadre@moz-code.org>

src/metrics/metrics.nit
src/metrics/metrics_base.nit
src/metrics/nullables_metrics.nit [moved from src/metrics/visit_nullable_sends.nit with 93% similarity]
src/nitmetrics.nit

index d3a1245..98f4567 100644 (file)
@@ -19,7 +19,7 @@ module metrics
 
 import metrics_base
 import static_types_metrics
-import visit_nullable_sends
+import nullables_metrics
 import visit_self
 import model_stats
 import generate_hierarchies
index 10c9546..37a56be 100644 (file)
@@ -21,6 +21,8 @@ import modelbuilder
 
 redef class ToolContext
 
+       # --nullables
+       var opt_nullables = new OptionBool("Compute metrics on nullables send", "--nullables")
        # --static-types
        var opt_static_types = new OptionBool("Compute explicit static types metrics", "--static-types")
        # --tables
@@ -36,6 +38,7 @@ redef class ToolContext
        redef init
        do
                super
+               self.option_context.add_option(opt_nullables)
                self.option_context.add_option(opt_static_types)
                self.option_context.add_option(opt_tables)
                self.option_context.add_option(opt_rta)
similarity index 93%
rename from src/metrics/visit_nullable_sends.nit
rename to src/metrics/nullables_metrics.nit
index 3cffc9c..ff85b2a 100644 (file)
@@ -15,7 +15,7 @@
 # limitations under the License.
 
 # Statistics about the usage of nullables
-module visit_nullable_sends
+module nullables_metrics
 
 import modelbuilder
 private import typing
@@ -59,8 +59,8 @@ private class NullableSends
        end
 end
 
-# Visit the AST and print statistics about the usage of send on nullable reciever.
-fun visit_nullable_sends(modelbuilder: ModelBuilder)
+# Visit the AST and print metrics about the usage of send on nullable reciever.
+fun compute_nullables_metrics(modelbuilder: ModelBuilder)
 do
        print "--- Sends on Nullable Reciever ---"
        var total_sends = 0
index f0bee27..caa0584 100644 (file)
@@ -62,8 +62,11 @@ compute_statistics(model)
 print ""
 visit_self(modelbuilder)
 
-print ""
-visit_nullable_sends(modelbuilder)
+# Nullables metrics
+if toolcontext.opt_nullables.value then
+       print ""
+       compute_nullables_metrics(modelbuilder)
+end
 
 # Static types metrics
 if toolcontext.opt_static_types.value then