# Metrics on table generation
module tables_metrics
-import model
-private import metrics_base
+import metrics_base
+
+redef class ToolContext
+ var tables_metrics_phase: Phase = new TablesMetricsPhase(self, null)
+end
+
+private class TablesMetricsPhase
+ super Phase
+ redef fun process_mainmodule(mainmodule, given_mmodules)
+ do
+ if not toolcontext.opt_tables.value and not toolcontext.opt_all.value then return
+ compute_tables_metrics(mainmodule)
+ end
+end
# Print class tables metrics for the classes of the program main
fun compute_tables_metrics(main: MModule)
do
- var model = main.model
-
var nc = 0 # Number of runtime classes
var nl = 0 # Number of usages of class definitions (a class definition can be used more than once)
var nhp = 0 # Number of usages of properties (a property can be used more than once)