X-Git-Url: http://nitlanguage.org diff --git a/src/modelbuilder.nit b/src/modelbuilder.nit index b0a5652..8186969 100644 --- a/src/modelbuilder.nit +++ b/src/modelbuilder.nit @@ -29,6 +29,8 @@ import opts import toolcontext import phase +private import more_collections + ### redef class ToolContext @@ -70,6 +72,11 @@ class ModelBuilder nmodules.add(mmodule2nmodule[mm]) end toolcontext.run_phases(nmodules) + + if toolcontext.opt_only_metamodel.value then + self.toolcontext.info("*** ONLY METAMODEL", 1) + exit(0) + end end # Instantiate a modelbuilder for a model and a toolcontext @@ -121,6 +128,12 @@ class ModelBuilder self.toolcontext.info("*** END PARSE: {time1-time0} ***", 2) self.toolcontext.check_errors + + if toolcontext.opt_only_parse.value then + self.toolcontext.info("*** ONLY PARSE...", 1) + exit(0) + end + return mmodules end @@ -398,6 +411,10 @@ class ModelBuilder if sup == null then continue # Skip error imported_modules.add(sup) var mvisibility = aimport.n_visibility.mvisibility + if mvisibility == protected_visibility then + error(aimport.n_visibility, "Error: only properties can be protected.") + return + end mmodule.set_visibility_for(sup, mvisibility) end if stdimport then @@ -434,7 +451,7 @@ class ModelBuilder end # Force to get the primitive method named `name' on the type `recv' or do a fatal error on `n' - fun force_get_primitive_method(n: ANode, name: String, recv: MType, mmodule: MModule): MMethod + fun force_get_primitive_method(n: ANode, name: String, recv: MClass, mmodule: MModule): MMethod do var res = mmodule.try_get_primitive_method(name, recv) if res == null then