1*67e74705SXin Li// RUN: %clang_cc1 -fsyntax-only -verify %s 2*67e74705SXin Li// expected-no-diagnostics 3*67e74705SXin Litypedef signed char BOOL; 4*67e74705SXin Li@class NSInvocation, NSMethodSignature, NSCoder, NSString, NSEnumerator; 5*67e74705SXin Li 6*67e74705SXin Li@protocol NSObject 7*67e74705SXin Li- (BOOL) isEqual:(id) object; 8*67e74705SXin Li@end 9*67e74705SXin Li 10*67e74705SXin Li@protocol NSCoding 11*67e74705SXin Li- (void) encodeWithCoder:(NSCoder *) aCoder; 12*67e74705SXin Li@end 13*67e74705SXin Li 14*67e74705SXin Li@interface NSObject < NSObject > {} @end 15*67e74705SXin Li 16*67e74705SXin Litypedef float CGFloat; 17*67e74705SXin Li 18*67e74705SXin Li@interface NSResponder:NSObject < NSCoding > {} @end 19*67e74705SXin Li 20*67e74705SXin Li@class XCElementView; 21*67e74705SXin Li 22*67e74705SXin Litypedef struct _XCElementInset {} XCElementInset; 23*67e74705SXin Li 24*67e74705SXin Li@protocol XCElementP < NSObject > 25*67e74705SXin Li-(id) vertical; 26*67e74705SXin Li@end 27*67e74705SXin Li 28*67e74705SXin Li@protocol XCElementDisplayDelegateP; 29*67e74705SXin Li@protocol XCElementTabMarkerP; 30*67e74705SXin Li 31*67e74705SXin Litypedef NSObject < XCElementTabMarkerP > XCElementTabMarker; 32*67e74705SXin Li 33*67e74705SXin Li@protocol XCElementTabberP < XCElementP > 34*67e74705SXin Li-(void) setMarker:(XCElementTabMarker *) marker; 35*67e74705SXin Li@end 36*67e74705SXin Li 37*67e74705SXin Litypedef NSObject < XCElementTabberP > XCElementTabber; 38*67e74705SXin Li 39*67e74705SXin Li@protocol XCElementTabMarkerP < NSObject > 40*67e74705SXin Li@property(nonatomic) 41*67e74705SXin LiBOOL variableSized; 42*67e74705SXin Li@end 43*67e74705SXin Li 44*67e74705SXin Li@protocol XCElementJustifierP < XCElementP > 45*67e74705SXin Li-(void) setHJustification:(CGFloat) hJust; 46*67e74705SXin Li@end 47*67e74705SXin Li 48*67e74705SXin Litypedef NSObject < XCElementJustifierP > XCElementJustifier; 49*67e74705SXin Li@interface XCElementImp:NSObject < XCElementP > {} 50*67e74705SXin Li@end 51*67e74705SXin Li 52*67e74705SXin Li@class XCElementImp; 53*67e74705SXin Li 54*67e74705SXin Li@interface XCElementTabberImp:XCElementImp < XCElementTabberP > { 55*67e74705SXin Li XCElementTabMarker *_marker; 56*67e74705SXin Li} 57*67e74705SXin Li@end 58*67e74705SXin Li 59*67e74705SXin Li@implementation XCElementTabberImp 60*67e74705SXin Li- (void) setMarker:(XCElementTabMarker *) marker { 61*67e74705SXin Li if (_marker && _marker.variableSized) { 62*67e74705SXin Li } 63*67e74705SXin Li} 64*67e74705SXin Li- (id)vertical { return self; } 65*67e74705SXin Li- (BOOL)isEqual:x { return 1; } 66*67e74705SXin Li@end 67