From: Jean Privat Date: Wed, 1 Oct 2014 01:34:15 +0000 (-0400) Subject: modelbuilder: parent in load_rt_module is optionnal X-Git-Tag: v0.6.10~49^2~2 X-Git-Url: http://nitlanguage.org modelbuilder: parent in load_rt_module is optionnal Signed-off-by: Jean Privat --- diff --git a/src/modelbuilder.nit b/src/modelbuilder.nit index 48bc6fa..dcff009 100644 --- a/src/modelbuilder.nit +++ b/src/modelbuilder.nit @@ -586,20 +586,25 @@ class ModelBuilder return nmodule end - fun load_rt_module(parent: MModule, nmodule: AModule, mod_name: String): nullable AModule + fun load_rt_module(parent: nullable MModule, nmodule: AModule, mod_name: String): nullable AModule do # Create the module - var mmodule = new MModule(model, parent.mgroup, mod_name, nmodule.location) + + var mgroup = null + if parent != null then mgroup = parent.mgroup + var mmodule = new MModule(model, mgroup, mod_name, nmodule.location) nmodule.mmodule = mmodule nmodules.add(nmodule) self.mmodule2nmodule[mmodule] = nmodule - var imported_modules = new Array[MModule] - - imported_modules.add(parent) - mmodule.set_visibility_for(parent, intrude_visibility) - - mmodule.set_imported_mmodules(imported_modules) + if parent!= null then + var imported_modules = new Array[MModule] + imported_modules.add(parent) + mmodule.set_visibility_for(parent, intrude_visibility) + mmodule.set_imported_mmodules(imported_modules) + else + build_module_importation(nmodule) + end return nmodule end