1*67e74705SXin Li// RUN: %clang_cc1 -fsyntax-only -verify %s 2*67e74705SXin Li// expected-no-diagnostics 3*67e74705SXin Li@interface NSObject @end 4*67e74705SXin Li 5*67e74705SXin Li@protocol ProtocolA 6*67e74705SXin Li 7*67e74705SXin Li+ (id)classMethod; 8*67e74705SXin Li- (id)instanceMethod; 9*67e74705SXin Li 10*67e74705SXin Li@end 11*67e74705SXin Li 12*67e74705SXin Li@protocol ProtocolB <ProtocolA> 13*67e74705SXin Li 14*67e74705SXin Li@end 15*67e74705SXin Li 16*67e74705SXin Li@interface Foo : NSObject <ProtocolB> 17*67e74705SXin Li 18*67e74705SXin Li@end 19*67e74705SXin Li 20*67e74705SXin Li@interface SubFoo : Foo 21*67e74705SXin Li 22*67e74705SXin Li@end 23*67e74705SXin Li 24*67e74705SXin Li@implementation SubFoo 25*67e74705SXin Li 26*67e74705SXin Li+ (id)method { 27*67e74705SXin Li return [super classMethod]; 28*67e74705SXin Li} 29*67e74705SXin Li 30*67e74705SXin Li- (id)method { 31*67e74705SXin Li return [super instanceMethod]; 32*67e74705SXin Li} 33*67e74705SXin Li 34*67e74705SXin Li@end 35*67e74705SXin Li 36*67e74705SXin Li 37*67e74705SXin Li@protocol ProtC 38*67e74705SXin Li-document; 39*67e74705SXin Li@end 40*67e74705SXin Li 41*67e74705SXin Li@interface I1 : NSObject 42*67e74705SXin Li@end 43*67e74705SXin Li 44*67e74705SXin Li@interface I1(cat) 45*67e74705SXin Li-document; 46*67e74705SXin Li@end 47*67e74705SXin Li 48*67e74705SXin Li@interface I2 : NSObject 49*67e74705SXin Li-document; 50*67e74705SXin Li@end 51*67e74705SXin Li 52*67e74705SXin Li@interface I2() <ProtC> 53*67e74705SXin Li@end 54*67e74705SXin Li 55*67e74705SXin Li@implementation I2 56*67e74705SXin Li- document { return 0; } 57*67e74705SXin Li@end 58