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