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