Home | History | Annotate | Download | only in SemaObjC
      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