modelbuilder: add `AClassdef::all_defs` to retrieve all sibling definitions
authorJean Privat <jean@pryen.org>
Thu, 12 Jun 2014 19:28:13 +0000 (15:28 -0400)
committerJean Privat <jean@pryen.org>
Thu, 12 Jun 2014 19:28:13 +0000 (15:28 -0400)
Signed-off-by: Jean Privat <jean@pryen.org>

src/modelize_class.nit

index 06e04b5..09b7081 100644 (file)
@@ -99,6 +99,9 @@ redef class ModelBuilder
                nclassdef.mclass = mclass
                if not nmodule.mclass2nclassdef.has_key(mclass) then
                        nmodule.mclass2nclassdef[mclass] = nclassdef
+                       nclassdef.all_defs = [nclassdef]
+               else
+                       nmodule.mclass2nclassdef[mclass].all_defs.add(nclassdef)
                end
        end
 
@@ -513,6 +516,8 @@ redef class AClassdef
        var mclass: nullable MClass
        # The associated MClassDef once build by a `ModelBuilder`
        var mclassdef: nullable MClassDef
+       # All (self and other) definitions for the same mclassdef
+       var all_defs: nullable Array[AClassdef]
 end
 
 redef class AClasskind