1// RUN: %clang_cc1 -fsyntax-only -verify -Wno-objc-root-class %s 2// expected-no-diagnostics 3 4/* This test is for categories which don't implement the accessors but some accessors are 5 implemented in their base class implementation. In this case,no warning must be issued. 6*/ 7 8@interface MyClass 9{ 10 int _foo; 11} 12@property(readonly) int foo; 13@end 14 15@implementation MyClass 16- (int) foo { return _foo; } 17@end 18 19@interface MyClass (private) 20@property(readwrite) int foo; 21@end 22 23@implementation MyClass (private) 24- (void) setFoo:(int)foo { _foo = foo; } 25@end 26 27@interface MyClass (public) 28@property(readwrite) int foo; 29@end 30 31@implementation MyClass (public) 32@end 33 34// No warn of unimplemented property of protocols in category, 35// when those properties will be implemented in category's primary 36// class or one of its super classes. 37@interface HBSuperclass 38@property (nonatomic) char myProperty; 39@property (nonatomic) char myProperty2; 40@end 41 42@interface HBClass : HBSuperclass 43@end 44 45@protocol HBProtocol 46@property (nonatomic) char myProperty; 47@property (nonatomic) char myProperty2; 48@end 49 50@interface HBSuperclass (HBSCategory)<HBProtocol> 51@end 52 53@implementation HBSuperclass (HBSCategory) 54@end 55 56@interface HBClass (HBCategory)<HBProtocol> 57@end 58 59@implementation HBClass (HBCategory) 60@end 61