nitmetrics: display all metrics by default
[nit.git] / src / nitmetrics.nit
index 1b2ebd1..7e99712 100644 (file)
@@ -53,28 +53,57 @@ else
        mainmodule.set_imported_mmodules(mmodules)
 end
 
-# Now, we just have to play with the model!
-print "*** STATS ***"
+print "*** METRICS ***"
+
+# All metrics computation ?
+var all = toolcontext.opt_all.value
+if not toolcontext.opt_inheritance.value and not toolcontext.opt_refinement.value and not toolcontext.opt_self.value and not toolcontext.opt_nullables.value and not toolcontext.opt_static_types.value and not toolcontext.opt_rta.value then all = true
+# Inheritance usage metrics
+if all or toolcontext.opt_inheritance.value then
+       print ""
+       compute_inheritance_metrics(toolcontext, model)
+end
 
-print ""
-compute_statistics(model)
+# Refinement usage metrics
+if all or toolcontext.opt_refinement.value then
+       print ""
+       compute_refinement_metrics(model)
+end
 
-print ""
-visit_self(modelbuilder)
+# Self usage metrics
+if all or toolcontext.opt_self.value then
+       print ""
+       compute_self_metrics(modelbuilder)
+end
 
-print ""
-visit_nullable_sends(modelbuilder)
+# Nullables metrics
+if all or toolcontext.opt_nullables.value then
+       print ""
+       compute_nullables_metrics(modelbuilder)
+end
 
-print ""
-count_ntypes(modelbuilder)
+# Static types metrics
+if all or toolcontext.opt_static_types.value then
+       print ""
+       compute_static_types_metrics(modelbuilder)
+end
 
-generate_module_hierarchy(toolcontext, model)
-generate_classdef_hierarchy(toolcontext, model)
-generate_class_hierarchy(toolcontext, mainmodule)
-generate_model_hyperdoc(toolcontext, model)
+# Tables metrics
+if all or toolcontext.opt_tables.value then
+       print ""
+       compute_tables_metrics(mainmodule)
+end
 
-print ""
-compute_tables(mainmodule)
+# RTA metrics
+if all or toolcontext.opt_rta.value then
+       print ""
+       compute_rta_metrics(modelbuilder, mainmodule)
+end
 
-print ""
-compute_rta_stats(modelbuilder, mainmodule)
+# Generate Hyperdoc
+if toolcontext.opt_generate_hyperdoc.value then
+       generate_module_hierarchy(toolcontext, model)
+       generate_classdef_hierarchy(toolcontext, model)
+       generate_class_hierarchy(toolcontext, mainmodule)
+       generate_model_hyperdoc(toolcontext, model)
+end