From: Jean Privat Date: Tue, 16 Dec 2014 21:17:14 +0000 (-0500) Subject: modelize: check property name conflicts for constructors and factories X-Git-Tag: v0.7~26^2~1 X-Git-Url: http://nitlanguage.org modelize: check property name conflicts for constructors and factories Signed-off-by: Jean Privat --- diff --git a/src/modelize/modelize_property.nit b/src/modelize/modelize_property.nit index 7f645c7..fef5ca9 100644 --- a/src/modelize/modelize_property.nit +++ b/src/modelize/modelize_property.nit @@ -656,6 +656,17 @@ redef class AMethPropdef if not self.check_redef_keyword(modelbuilder, mclassdef, n_kwredef, not self isa AMainMethPropdef, mprop) then return check_redef_property_visibility(modelbuilder, self.n_visibility, mprop) end + + # Check name conflicts in the local class for constructors. + if is_init then + for p, n in mclassdef.mprop2npropdef do + if p != mprop and p isa MMethod and p.name == name then + check_redef_keyword(modelbuilder, mclassdef, n_kwredef, false, p) + break + end + end + end + mclassdef.mprop2npropdef[mprop] = self var mpropdef = new MMethodDef(mclassdef, mprop, self.location)