xref: /minix3/external/bsd/llvm/dist/clang/test/SemaObjC/props-on-prots.m (revision f4a2713ac843a11c696ec80c0a5e3e5d80b4d338)
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