1*f4a2713aSLionel Sambuc// Matching properties 2*f4a2713aSLionel Sambuc@interface I1 { 3*f4a2713aSLionel Sambuc} 4*f4a2713aSLionel Sambuc- (int)getProp2; 5*f4a2713aSLionel Sambuc- (void)setProp2:(int)value; 6*f4a2713aSLionel Sambuc@property (readonly) int Prop1; 7*f4a2713aSLionel Sambuc@property (getter = getProp2, setter = setProp2:) int Prop2; 8*f4a2713aSLionel Sambuc@end 9*f4a2713aSLionel Sambuc 10*f4a2713aSLionel Sambuc// Mismatched property 11*f4a2713aSLionel Sambuc@interface I2 12*f4a2713aSLionel Sambuc@property (readonly) int Prop1; 13*f4a2713aSLionel Sambuc@end 14*f4a2713aSLionel Sambuc 15*f4a2713aSLionel Sambuc// Properties with implementations 16*f4a2713aSLionel Sambuc@interface I3 { 17*f4a2713aSLionel Sambuc int ivar1; 18*f4a2713aSLionel Sambuc int ivar2; 19*f4a2713aSLionel Sambuc int ivar3; 20*f4a2713aSLionel Sambuc int Prop4; 21*f4a2713aSLionel Sambuc} 22*f4a2713aSLionel Sambuc@property int Prop1; 23*f4a2713aSLionel Sambuc@property int Prop2; 24*f4a2713aSLionel Sambuc@property int Prop3; 25*f4a2713aSLionel Sambuc@property int Prop4; 26*f4a2713aSLionel Sambuc@end 27*f4a2713aSLionel Sambuc 28*f4a2713aSLionel Sambuc@implementation I3 29*f4a2713aSLionel Sambuc@synthesize Prop2 = ivar2; 30*f4a2713aSLionel Sambuc@synthesize Prop1 = ivar1; 31*f4a2713aSLionel Sambuc@synthesize Prop3 = ivar3; 32*f4a2713aSLionel Sambuc@synthesize Prop4 = Prop4; 33*f4a2713aSLionel Sambuc@end 34