modelize: define attribute getters and setters
authorAlexandre Terrasa <alexandre@moz-code.org>
Fri, 29 Sep 2017 18:45:54 +0000 (14:45 -0400)
committerAlexandre Terrasa <alexandre@moz-code.org>
Fri, 29 Sep 2017 18:45:54 +0000 (14:45 -0400)
Signed-off-by: Alexandre Terrasa <alexandre@moz-code.org>

src/modelize/modelize_property.nit

index 8880ef7..de23d04 100644 (file)
@@ -1206,6 +1206,12 @@ redef class AAttrPropdef
                end
                mclassdef.mprop2npropdef[mreadprop] = self
 
+               var attr_mpropdef = mpropdef
+               if attr_mpropdef != null then
+                       mreadprop.getter_for = attr_mpropdef.mproperty
+                       attr_mpropdef.mproperty.getter = mreadprop
+               end
+
                var mreadpropdef = new MMethodDef(mclassdef, mreadprop, self.location)
                self.mreadpropdef = mreadpropdef
                modelbuilder.mpropdef2npropdef[mreadpropdef] = self
@@ -1312,6 +1318,11 @@ redef class AAttrPropdef
                end
                mclassdef.mprop2npropdef[mwriteprop] = self
 
+               if attr_mpropdef != null then
+                       mwriteprop.setter_for = attr_mpropdef.mproperty
+                       attr_mpropdef.mproperty.setter = mwriteprop
+               end
+
                var mwritepropdef = new MMethodDef(mclassdef, mwriteprop, self.location)
                self.mwritepropdef = mwritepropdef
                modelbuilder.mpropdef2npropdef[mwritepropdef] = self