1// -*- ObjC -*-
2@class FwdDecl;
3
4@interface ObjCClass {
5  int ivar;
6}
7+ classMethod;
8- instanceMethodWithInt:(int)i;
9- (struct OpaqueData*) getSomethingOpaque;
10@property int property;
11@end
12
13@interface ObjCClassWithPrivateIVars {
14  int public_ivar;
15}
16@end
17
18@interface ObjCClass (Category)
19- categoryMethod;
20@end
21
22@protocol ObjCProtocol
23
24typedef enum {
25  e0 = 0
26}  InnerEnum;
27
28+ (InnerEnum)protocolMethod;
29
30@end
31
32struct FwdDeclared;
33struct FwdDeclared {
34  int i;
35};
36struct PureForwardDecl;
37
38typedef union { int i; } TypedefUnion;
39typedef enum { e1 = 1 } TypedefEnum;
40typedef struct { int i; } TypedefStruct;
41
42union { int i; } GlobalUnion;
43struct { int i; } GlobalStruct;
44enum { e2 = 2 } GlobalEnum;
45