blob: bb0da280c8ef2b2ca5d98beccfc3d875deb8478d [file] [log] [blame]
Anna Zaks63282ae2012-07-30 20:31:29 +00001
2// Define a public header for the ObjC methods that are "visible" externally
3// and, thus, could be sub-classed. We should explore the path on which these
4// are sub-classed with unknown class by not inlining them.
5
6typedef signed char BOOL;
7typedef struct objc_class *Class;
8typedef struct objc_object {
9 Class isa;
10} *id;
11@protocol NSObject - (BOOL)isEqual:(id)object; @end
12@interface NSObject <NSObject> {}
13+(id)alloc;
Anna Zaks75f49a92012-08-10 18:55:58 +000014+(id)new;
Anna Zaks63282ae2012-07-30 20:31:29 +000015-(id)init;
16-(id)autorelease;
17-(id)copy;
18- (Class)class;
19-(id)retain;
20@end
Anna Zaks920af012012-08-10 18:55:53 +000021
Anna Zaksd4e65372012-08-10 18:56:01 +000022@interface PublicClass : NSObject {
23 int value3;
24}
Anna Zaks920af012012-08-10 18:55:53 +000025- (int)getZeroPublic;
Anna Zaksd4e65372012-08-10 18:56:01 +000026
27- (int) value2;
28
29@property (readonly) int value1;
30
31@property int value3;
32- (int)value3;
33- (void)setValue3:(int)newValue;
Anna Zaks920af012012-08-10 18:55:53 +000034@end
35
36@interface PublicSubClass : PublicClass
37@end
Anna Zaks75f49a92012-08-10 18:55:58 +000038
39@interface PublicParent : NSObject
40- (int)getZeroOverridden;
41@end
42
43@interface PublicSubClass2 : PublicParent
44- (int) getZeroOverridden;
45@end
46