62 lines
		
	
	
		
			1.3 KiB
		
	
	
	
		
			Objective-C
		
	
	
	
			
		
		
	
	
			62 lines
		
	
	
		
			1.3 KiB
		
	
	
	
		
			Objective-C
		
	
	
	
| // RUN: %clang_cc1 -fsyntax-only -verify -Wno-objc-root-class %s
 | |
| // expected-no-diagnostics
 | |
| 
 | |
| /* This test is for categories which don't implement the accessors but some accessors are
 | |
|    implemented in their base class implementation. In this case,no warning must be issued.
 | |
| */
 | |
| 
 | |
| @interface MyClass 
 | |
| {
 | |
|     int        _foo;
 | |
| }
 | |
| @property(readonly)    int        foo;
 | |
| @end
 | |
| 
 | |
| @implementation MyClass
 | |
| - (int) foo        { return _foo; }
 | |
| @end
 | |
| 
 | |
| @interface MyClass (private)
 | |
| @property(readwrite)    int        foo;
 | |
| @end
 | |
| 
 | |
| @implementation MyClass (private)
 | |
| - (void) setFoo:(int)foo    { _foo = foo; }
 | |
| @end
 | |
| 
 | |
| @interface MyClass (public)
 | |
| @property(readwrite)    int        foo;	
 | |
| @end
 | |
| 
 | |
| @implementation MyClass (public)
 | |
| @end 
 | |
| 
 | |
| // rdar://12568064
 | |
| // No warn of unimplemented property of protocols in category,
 | |
| // when those properties will be implemented in category's primary
 | |
| // class or one of its super classes.
 | |
| @interface HBSuperclass
 | |
| @property (nonatomic) char myProperty;
 | |
| @property (nonatomic) char myProperty2;
 | |
| @end
 | |
| 
 | |
| @interface HBClass : HBSuperclass
 | |
| @end
 | |
| 
 | |
| @protocol HBProtocol
 | |
| @property (nonatomic) char myProperty;
 | |
| @property (nonatomic) char myProperty2;
 | |
| @end
 | |
| 
 | |
| @interface HBSuperclass (HBSCategory)<HBProtocol>
 | |
| @end
 | |
| 
 | |
| @implementation HBSuperclass (HBSCategory)
 | |
| @end
 | |
| 
 | |
| @interface HBClass (HBCategory)<HBProtocol>
 | |
| @end
 | |
| 
 | |
| @implementation HBClass (HBCategory)
 | |
| @end
 |