modelbuilder: avoid infinitive recursion in case of module importation loops
authorJean Privat <jean@pryen.org>
Wed, 5 Mar 2014 19:40:21 +0000 (14:40 -0500)
committerJean Privat <jean@pryen.org>
Wed, 5 Mar 2014 19:40:21 +0000 (14:40 -0500)
Signed-off-by: Jean Privat <jean@pryen.org>

src/modelbuilder.nit

index c9e5603..58c6296 100644 (file)
@@ -485,6 +485,9 @@ class ModelBuilder
                # Update the file information
                file.mmodule = mmodule
 
+               # Load imported module
+               build_module_importation(nmodule)
+
                return nmodule
        end
 
@@ -507,7 +510,6 @@ class ModelBuilder
        end
 
        # Visit the AST and create the `MModule` object
-       # Then, recursively load imported modules
        private fun build_a_mmodule(mgroup: nullable MGroup, mod_name: String, nmodule: AModule): nullable MModule
        do
                # Check the module name
@@ -527,8 +529,6 @@ class ModelBuilder
                nmodules.add(nmodule)
                self.mmodule2nmodule[mmodule] = nmodule
 
-               build_module_importation(nmodule)
-
                return mmodule
        end