From: Jean Privat Date: Fri, 24 Apr 2015 06:02:31 +0000 (+0700) Subject: Merge: Model: add mclassdef2node X-Git-Tag: v0.7.4~9 X-Git-Url: http://nitlanguage.org?hp=ce3183732a6131540398e5310366fe7e11b94f7b Merge: Model: add mclassdef2node This was missing, I don't understand why but I need it. Pull-Request: #1288 Reviewed-by: Jean Privat --- diff --git a/src/modelbuilder.nit b/src/modelbuilder.nit index 23f7d49..27d6710 100644 --- a/src/modelbuilder.nit +++ b/src/modelbuilder.nit @@ -91,6 +91,7 @@ redef class ModelBuilder model.mmodule_importation_hierarchy.sort(mmodules) var nmodules = new Array[AModule] for mm in mmodules do + if mm.is_fictive then continue nmodules.add(mmodule2node(mm).as(not null)) end toolcontext.run_phases(nmodules) diff --git a/src/modelize/modelize_class.nit b/src/modelize/modelize_class.nit index 3503bd0..5fd0381 100644 --- a/src/modelize/modelize_class.nit +++ b/src/modelize/modelize_class.nit @@ -448,6 +448,14 @@ redef class ModelBuilder # Registration of the nclassdef associated to each mclassdef private var mclassdef2nclassdef = new HashMap[MClassDef, AClassdef] + + # Retrieve the associated AST node of a mclassdef. + # + # This method is used to associate model entity with syntactic entities. + # If the class definition is not associated with a node, returns `null`. + fun mclassdef2node(mclassdef: MClassDef): nullable AClassdef do + return mclassdef2nclassdef.get_or_null(mclassdef) + end end redef class AModule