diff options
Diffstat (limited to 'test/Analysis/inlining/InlineObjCInstanceMethod.h')
-rw-r--r-- | test/Analysis/inlining/InlineObjCInstanceMethod.h | 46 |
1 files changed, 46 insertions, 0 deletions
diff --git a/test/Analysis/inlining/InlineObjCInstanceMethod.h b/test/Analysis/inlining/InlineObjCInstanceMethod.h new file mode 100644 index 0000000..bb0da28 --- /dev/null +++ b/test/Analysis/inlining/InlineObjCInstanceMethod.h @@ -0,0 +1,46 @@ + +// 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 + |