modelize_property: setters are protected by default so are visible to use in setters
authorJean Privat <jean@pryen.org>
Mon, 13 Jul 2015 18:16:18 +0000 (14:16 -0400)
committerJean Privat <jean@pryen.org>
Mon, 13 Jul 2015 18:16:18 +0000 (14:16 -0400)
Signed-off-by: Jean Privat <jean@pryen.org>

src/modelize/modelize_property.nit

index 1afce19..64ef46c 100644 (file)
@@ -1270,7 +1270,9 @@ redef class AAttrPropdef
                        if atwritable != null then
                                mvisibility = new_property_visibility(modelbuilder, mclassdef, atwritable.n_visibility)
                        else
-                               mvisibility = private_visibility
+                               mvisibility = mreadprop.visibility
+                               # By default, use protected visibility at most
+                               if mvisibility > protected_visibility then mvisibility = protected_visibility
                        end
                        mwriteprop = new MMethod(mclassdef, writename, mvisibility)
                        if not self.check_redef_keyword(modelbuilder, mclassdef, nwkwredef, false, mwriteprop) then return