Merge: Model: add mclassdef2node
authorJean Privat <jean@pryen.org>
Fri, 24 Apr 2015 06:02:31 +0000 (13:02 +0700)
committerJean Privat <jean@pryen.org>
Fri, 24 Apr 2015 06:02:31 +0000 (13:02 +0700)
This was missing, I don't understand why but I need it.

Pull-Request: #1288
Reviewed-by: Jean Privat <jean@pryen.org>

src/modelbuilder.nit
src/modelize/modelize_class.nit

index 23f7d49..27d6710 100644 (file)
@@ -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)
index 3503bd0..5fd0381 100644 (file)
@@ -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