1 // RUN: %clang_cc1 -fsyntax-only -verify %s 2 3 @interface NSObject {} 4 5 @end 6 7 @interface MyClass : NSObject {} 8 9 @end 10 11 @interface MyClass (MyCategorie) 12 13 @end 14 15 @interface MySubClass : MyClass {} 16 17 @end 18 19 @interface MySubSubClass : MySubClass {} 20 21 @end 22 23 @implementation NSObject (NSObjectCategory) 24 - (void)rootMethod {} 25 @end 26 27 @implementation MyClass 28 29 + (void)myClassMethod { } 30 - (void)myMethod { } 31 32 @end 33 34 @implementation MyClass (MyCategorie) 35 + (void)myClassCategoryMethod { } 36 - (void)categoryMethod {} 37 @end 38 39 @implementation MySubClass 40 41 - (void)mySubMethod {} 42 43 - (void)myTest { 44 [self mySubMethod]; 45 // should lookup method in superclass implementation if available 46 [self myMethod]; 47 [super myMethod]; 48 49 [self categoryMethod]; 50 [super categoryMethod]; 51 52 // instance method of root class 53 [MyClass rootMethod]; 54 55 [MyClass myClassMethod]; 56 [MySubClass myClassMethod]; 57 58 [MyClass myClassCategoryMethod]; 59 [MySubClass myClassCategoryMethod]; 60 } 61 62 @end 63