// -*- ObjC -*- @class FwdDecl; @interface ObjCClass { int ivar; } + classMethod; - instanceMethodWithInt:(int)i; - (struct OpaqueData*) getSomethingOpaque; @property int property; @end @interface ObjCClassWithPrivateIVars { int public_ivar; } @end @interface ObjCClass (Category) - categoryMethod; @end @protocol ObjCProtocol typedef enum { e0 = 0 } InnerEnum; + (InnerEnum)protocolMethod; @end struct FwdDeclared; struct FwdDeclared { int i; }; struct PureForwardDecl; typedef union { int i; } TypedefUnion; typedef enum { e1 = 1 } TypedefEnum; typedef struct { int i; } TypedefStruct; union { int i; } GlobalUnion; struct { int i; } GlobalStruct; enum { e2 = 2 } GlobalEnum;