xref: /llvm-project/clang/test/InstallAPI/Inputs/Simple/Simple.framework/Headers/Simple.h (revision 487720fc137ac7e97b15ca50ca2fc4a42430a6be)
1 #import <Foundation/Foundation.h>
2 
3 // Useless forward declaration. This is used for testing.
4 @class FooBar;
5 @protocol FooProtocol;
6 
7 @protocol ForwardProcotol;
8 
9 // Test public global.
10 extern int publicGlobalVariable;
11 
12 // Test weak public global.
13 extern int weakPublicGlobalVariable __attribute__((weak));
14 
15 // Test public ObjC class
16 @interface Simple : NSObject
17 @end
18 
19 __attribute__((objc_exception))
20 @interface Base : NSObject
21 @end
22 
23 @interface SubClass : Base
24 @end
25 
26 @protocol BaseProtocol
27 - (void) baseMethod;
28 @end
29 
30 NS_AVAILABLE(10_11, 9_0)
31 @protocol FooProtocol <BaseProtocol>
32 - (void) protocolMethod;
33 @end
34 
35 @protocol BarProtocol
36 - (void) barMethod;
37 @end
38 
39 @interface FooClass <FooProtocol, BarProtocol>
40 @end
41 
42 // Create an empty category conforms to a forward declared protocol.
43 // <rdar://problem/35605892>
44 @interface FooClass (Test) <ForwardProcotol>
45 @end
46