2012-07-31 04:31:29 +08: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;
|
2012-08-11 02:55:58 +08:00
|
|
|
+(id)new;
|
2012-07-31 04:31:29 +08:00
|
|
|
-(id)init;
|
|
|
|
-(id)autorelease;
|
|
|
|
-(id)copy;
|
|
|
|
- (Class)class;
|
|
|
|
-(id)retain;
|
|
|
|
@end
|
2012-08-11 02:55:53 +08:00
|
|
|
|
2012-08-11 02:56:01 +08:00
|
|
|
@interface PublicClass : NSObject {
|
|
|
|
int value3;
|
|
|
|
}
|
2012-08-11 02:55:53 +08:00
|
|
|
- (int)getZeroPublic;
|
2012-08-11 02:56:01 +08:00
|
|
|
|
|
|
|
- (int) value2;
|
|
|
|
|
|
|
|
@property (readonly) int value1;
|
|
|
|
|
|
|
|
@property int value3;
|
|
|
|
- (int)value3;
|
|
|
|
- (void)setValue3:(int)newValue;
|
2012-08-11 02:55:53 +08:00
|
|
|
@end
|
|
|
|
|
|
|
|
@interface PublicSubClass : PublicClass
|
|
|
|
@end
|
2012-08-11 02:55:58 +08:00
|
|
|
|
|
|
|
@interface PublicParent : NSObject
|
|
|
|
- (int)getZeroOverridden;
|
|
|
|
@end
|
|
|
|
|
|
|
|
@interface PublicSubClass2 : PublicParent
|
|
|
|
- (int) getZeroOverridden;
|
|
|
|
@end
|
|
|
|
|