toolcontext: call only `errors_info` once at the end
[nit.git] / src / modelbuilder.nit
index b38bdac..23f7d49 100644 (file)
@@ -52,11 +52,16 @@ redef class ToolContext
        # Run `process_mainmodule` on all phases
        fun run_global_phases(mmodules: Array[MModule])
        do
-               var mainmodule = make_main_module(mmodules)
-               for phase in phases_list do
-                       if phase.disabled then continue
-                       phase.process_mainmodule(mainmodule, mmodules)
+               if not mmodules.is_empty then
+                       var mainmodule = make_main_module(mmodules)
+                       for phase in phases_list do
+                               if phase.disabled then continue
+                               phase.process_mainmodule(mainmodule, mmodules)
+                       end
                end
+
+               check_errors
+               errors_info
        end
 end
 
@@ -86,7 +91,7 @@ redef class ModelBuilder
                model.mmodule_importation_hierarchy.sort(mmodules)
                var nmodules = new Array[AModule]
                for mm in mmodules do
-                       nmodules.add(mmodule2nmodule[mm])
+                       nmodules.add(mmodule2node(mm).as(not null))
                end
                toolcontext.run_phases(nmodules)