mirror of
https://github.com/llvm/llvm-project.git
synced 2025-05-03 13:06:07 +00:00

in the compile unit that contains their implementation even if their interface is declared in a module. The private @implementation of an @interface may have additional hidden ivars so we should not defer to the public version of the type that is found in the module. <rdar://problem/25541798> llvm-svn: 266937
45 lines
697 B
Objective-C
45 lines
697 B
Objective-C
// -*- 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;
|