From: Alexandre Terrasa Date: Sun, 4 Nov 2012 20:26:32 +0000 (-0500) Subject: nitmetrics: refactor nullables metrics computation X-Git-Tag: v0.6~81^2~15 X-Git-Url: http://nitlanguage.org nitmetrics: refactor nullables metrics computation Signed-off-by: Alexandre Terrasa --- diff --git a/src/metrics/metrics.nit b/src/metrics/metrics.nit index d3a1245..98f4567 100644 --- a/src/metrics/metrics.nit +++ b/src/metrics/metrics.nit @@ -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 diff --git a/src/metrics/metrics_base.nit b/src/metrics/metrics_base.nit index 10c9546..37a56be 100644 --- a/src/metrics/metrics_base.nit +++ b/src/metrics/metrics_base.nit @@ -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) diff --git a/src/metrics/visit_nullable_sends.nit b/src/metrics/nullables_metrics.nit similarity index 93% rename from src/metrics/visit_nullable_sends.nit rename to src/metrics/nullables_metrics.nit index 3cffc9c..ff85b2a 100644 --- a/src/metrics/visit_nullable_sends.nit +++ b/src/metrics/nullables_metrics.nit @@ -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 diff --git a/src/nitmetrics.nit b/src/nitmetrics.nit index f0bee27..caa0584 100644 --- a/src/nitmetrics.nit +++ b/src/nitmetrics.nit @@ -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