modelbuilder: `resolve_mtype` require a MClassDef instead of a AClassdef
[nit.git] / src / metrics / tables_metrics.nit
index 6f09e32..42dae2a 100644 (file)
@@ -19,6 +19,20 @@ module tables_metrics
 
 import model
 private import metrics_base
+import frontend
+
+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)
@@ -52,7 +66,7 @@ do
                                        if p.mpropdefs.length == 1 then
                                                npas += 1
                                        else
-                                               var sels = p.lookup_definitions(main, c.mclassdefs.first.bound_mtype)
+                                               var sels = p.lookup_definitions(main, c.intro.bound_mtype)
                                                if sels.length > 1 then
                                                        print "conflict for {p.full_name} in class {c.full_name}: {sels.join(", ")}"
                                                else if sels.is_empty then