modelbuilder: drop the fictive bottom module if unneeded
authorJean Privat <jean@pryen.org>
Wed, 1 Feb 2017 13:42:05 +0000 (08:42 -0500)
committerJean Privat <jean@pryen.org>
Thu, 2 Feb 2017 18:51:15 +0000 (13:51 -0500)
Signed-off-by: Jean Privat <jean@pryen.org>

src/modelbuilder.nit

index 132c024..b442704 100644 (file)
@@ -44,7 +44,13 @@ redef class ToolContext
                mainmodule.first_real_mmodule = mmodules.first.first_real_mmodule
                mainmodule.set_imported_mmodules(mmodules)
                modelbuilder.apply_conditional_importations(mainmodule)
-               modelbuilder.run_phases
+               if mainmodule.in_importation.direct_greaters.length == 1 and mainmodule.in_importation.direct_greaters.first == mmodules.first then
+                       # Drop the fictive module if not needed
+                       mainmodule = mmodules.first
+               else
+                       # Or else run phases on it
+                       modelbuilder.run_phases
+               end
                return mainmodule
        end