64 lines
		
	
	
		
			985 B
		
	
	
	
		
			Objective-C
		
	
	
	
			
		
		
	
	
			64 lines
		
	
	
		
			985 B
		
	
	
	
		
			Objective-C
		
	
	
	
| // RUN: %clang_cc1 -fsyntax-only -verify %s
 | |
| // expected-no-diagnostics
 | |
| 
 | |
| @interface NSObject {}
 | |
| 
 | |
| @end
 | |
| 
 | |
| @interface MyClass : NSObject {}
 | |
| 
 | |
| @end
 | |
| 
 | |
| @interface MyClass (MyCategorie)
 | |
| 
 | |
| @end
 | |
| 
 | |
| @interface MySubClass : MyClass {}
 | |
| 
 | |
| @end
 | |
| 
 | |
| @interface MySubSubClass : MySubClass {}
 | |
| 
 | |
| @end
 | |
| 
 | |
| @implementation NSObject (NSObjectCategory)
 | |
| - (void)rootMethod {}
 | |
| @end
 | |
| 
 | |
| @implementation MyClass
 | |
| 
 | |
| + (void)myClassMethod { }
 | |
| - (void)myMethod { }
 | |
| 
 | |
| @end
 | |
| 
 | |
| @implementation MyClass (MyCategorie)
 | |
| + (void)myClassCategoryMethod { }
 | |
| - (void)categoryMethod {}
 | |
| @end
 | |
| 
 | |
| @implementation MySubClass
 | |
| 
 | |
| - (void)mySubMethod {}
 | |
| 
 | |
| - (void)myTest {
 | |
|   [self mySubMethod];
 | |
|   // should lookup method in superclass implementation if available
 | |
|   [self myMethod];
 | |
|   [super myMethod];
 | |
|   
 | |
|   [self categoryMethod];
 | |
|   [super categoryMethod];
 | |
|   
 | |
|   // instance method of root class
 | |
|   [MyClass rootMethod];
 | |
|   
 | |
|   [MyClass myClassMethod];
 | |
|   [MySubClass myClassMethod];
 | |
|   
 | |
|   [MyClass myClassCategoryMethod];
 | |
|   [MySubClass myClassCategoryMethod];
 | |
| }
 | |
| 
 | |
| @end
 |