llvm-for-llvmta/tools/clang/test/Analysis/inlining/InlineObjCInstanceMethod.h

47 lines
902 B
C
Raw Permalink Normal View History

2022-04-25 13:02:35 +02:00
// Define a public header for the ObjC methods that are "visible" externally
// and, thus, could be sub-classed. We should explore the path on which these
// are sub-classed with unknown class by not inlining them.
typedef signed char BOOL;
typedef struct objc_class *Class;
typedef struct objc_object {
Class isa;
} *id;
@protocol NSObject - (BOOL)isEqual:(id)object; @end
@interface NSObject <NSObject> {}
+(id)alloc;
+(id)new;
-(id)init;
-(id)autorelease;
-(id)copy;
- (Class)class;
-(id)retain;
@end
@interface PublicClass : NSObject {
int value3;
}
- (int)getZeroPublic;
- (int) value2;
@property (readonly) int value1;
@property int value3;
- (int)value3;
- (void)setValue3:(int)newValue;
@end
@interface PublicSubClass : PublicClass
@end
@interface PublicParent : NSObject
- (int)getZeroOverridden;
@end
@interface PublicSubClass2 : PublicParent
- (int) getZeroOverridden;
@end