@interface Example @property (readwrite) id prop; // ^^ getter/setter reported here have the Decl + Implicit roles as before -(id)declaredGet; @property (readwrite, getter=declaredGet) id otherProp; // ^^ getter occurrence with the Ref role now reported here (previously missing) @property (readwrite, getter=customGet, setter=customSet:) id unrelated; // ^^ getter/setter occurrences reported here have the Decl role and are no longer considered Implicit - (void)method; @end @implementation Example - (void)method { self.prop; // ^^ the call to the getter reported here now has the Implicit role self.prop = self.otherProp; // ^^ the reference to property 'prop' reported here now has the Write role. } @end
This patch resolves:
rdar://problem/30103709
rdar://problem/30147280
rdar://problem/30103669