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