private fun build_module_importation(nmodule: AModule)
do
if nmodule.is_importation_done then return
+ nmodule.is_importation_done = true
var mmodule = nmodule.mmodule.as(not null)
var stdimport = true
var imported_modules = new Array[MModule]
end
self.toolcontext.info("{mmodule} imports {imported_modules.join(", ")}", 3)
mmodule.set_imported_mmodules(imported_modules)
- nmodule.is_importation_done = true
end
# All the loaded modules
do
# Force building recursively
if nmodule.build_classes_is_done then return
+ nmodule.build_classes_is_done = true
var mmodule = nmodule.mmodule.as(not null)
for imp in mmodule.in_importation.direct_greaters do
+
build_classes(mmodule2nmodule[imp])
end
for nclassdef in nmodule.n_classdefs do
self.build_properties(nclassdef)
end
-
- nmodule.build_classes_is_done = true
end
# Register the nmodule associated to each mmodule
do
# Force building recursively
if nclassdef.build_properties_is_done then return
+ nclassdef.build_properties_is_done = true
var mclassdef = nclassdef.mclassdef.as(not null)
if mclassdef.in_hierarchy == null then return # Skip error
for superclassdef in mclassdef.in_hierarchy.direct_greaters do
npropdef.check_signature(self, nclassdef)
end
process_default_constructors(nclassdef)
- nclassdef.build_properties_is_done = true
end
# Introduce or inherit default constructor
-base_gen_f.nit:19,7: Redef error: G is an imported class. Add the redef keyword to refine it.
-error_gen_f_inh_clash.nit:19,7--8: Cannot provide a defaut constructor: conflict for G1 and G2
+error_gen_f_inh_clash.nit:19,7--8: Error: Cannot provide a defaut constructor: conflict for G1 and G2
base_gen_f.nit:19,14: Type error: class E not found in module base_gen_f.
-base_gen_f.nit:19,14: Type error: class E not found in module base_gen_f.
-base_gen_f.nit:27,7--8: Redef error: G1 is an imported class. Add the redef keyword to refine it.
-base_gen_f.nit:37,7--8: Redef error: G2 is an imported class. Add the redef keyword to refine it.