47 lines
902 B
C
47 lines
902 B
C
|
|
||
|
// 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
|
||
|
|