xref: /minix3/external/bsd/llvm/dist/clang/test/Analysis/inlining/InlineObjCInstanceMethod.h (revision f4a2713ac843a11c696ec80c0a5e3e5d80b4d338)
1*f4a2713aSLionel Sambuc 
2*f4a2713aSLionel Sambuc // Define a public header for the ObjC methods that are "visible" externally
3*f4a2713aSLionel Sambuc // and, thus, could be sub-classed. We should explore the path on which these
4*f4a2713aSLionel Sambuc // are sub-classed with unknown class by not inlining them.
5*f4a2713aSLionel Sambuc 
6*f4a2713aSLionel Sambuc typedef signed char BOOL;
7*f4a2713aSLionel Sambuc typedef struct objc_class *Class;
8*f4a2713aSLionel Sambuc typedef struct objc_object {
9*f4a2713aSLionel Sambuc     Class isa;
10*f4a2713aSLionel Sambuc } *id;
11*f4a2713aSLionel Sambuc @protocol NSObject  - (BOOL)isEqual:(id)object; @end
12*f4a2713aSLionel Sambuc @interface NSObject <NSObject> {}
13*f4a2713aSLionel Sambuc +(id)alloc;
14*f4a2713aSLionel Sambuc +(id)new;
15*f4a2713aSLionel Sambuc -(id)init;
16*f4a2713aSLionel Sambuc -(id)autorelease;
17*f4a2713aSLionel Sambuc -(id)copy;
18*f4a2713aSLionel Sambuc - (Class)class;
19*f4a2713aSLionel Sambuc -(id)retain;
20*f4a2713aSLionel Sambuc @end
21*f4a2713aSLionel Sambuc 
22*f4a2713aSLionel Sambuc @interface PublicClass : NSObject {
23*f4a2713aSLionel Sambuc   int value3;
24*f4a2713aSLionel Sambuc }
25*f4a2713aSLionel Sambuc - (int)getZeroPublic;
26*f4a2713aSLionel Sambuc 
27*f4a2713aSLionel Sambuc - (int) value2;
28*f4a2713aSLionel Sambuc 
29*f4a2713aSLionel Sambuc @property (readonly) int value1;
30*f4a2713aSLionel Sambuc 
31*f4a2713aSLionel Sambuc @property int value3;
32*f4a2713aSLionel Sambuc - (int)value3;
33*f4a2713aSLionel Sambuc - (void)setValue3:(int)newValue;
34*f4a2713aSLionel Sambuc @end
35*f4a2713aSLionel Sambuc 
36*f4a2713aSLionel Sambuc @interface PublicSubClass : PublicClass
37*f4a2713aSLionel Sambuc @end
38*f4a2713aSLionel Sambuc 
39*f4a2713aSLionel Sambuc @interface PublicParent : NSObject
40*f4a2713aSLionel Sambuc - (int)getZeroOverridden;
41*f4a2713aSLionel Sambuc @end
42*f4a2713aSLionel Sambuc 
43*f4a2713aSLionel Sambuc @interface PublicSubClass2 : PublicParent
44*f4a2713aSLionel Sambuc - (int) getZeroOverridden;
45*f4a2713aSLionel Sambuc @end
46*f4a2713aSLionel Sambuc 
47