xref: /minix3/external/bsd/llvm/dist/clang/test/PCH/objc_exprs.h (revision f4a2713ac843a11c696ec80c0a5e3e5d80b4d338)
1*f4a2713aSLionel Sambuc 
2*f4a2713aSLionel Sambuc @protocol foo;
3*f4a2713aSLionel Sambuc @class itf;
4*f4a2713aSLionel Sambuc 
5*f4a2713aSLionel Sambuc // Expressions
6*f4a2713aSLionel Sambuc typedef typeof(@"foo" "bar") objc_string;
7*f4a2713aSLionel Sambuc typedef typeof(@encode(int)) objc_encode;
8*f4a2713aSLionel Sambuc typedef typeof(@protocol(foo)) objc_protocol;
9*f4a2713aSLionel Sambuc typedef typeof(@selector(noArgs)) objc_selector_noArgs;
10*f4a2713aSLionel Sambuc typedef typeof(@selector(oneArg:)) objc_selector_oneArg;
11*f4a2713aSLionel Sambuc typedef typeof(@selector(foo:bar:)) objc_selector_twoArg;
12*f4a2713aSLionel Sambuc 
13*f4a2713aSLionel Sambuc 
14*f4a2713aSLionel Sambuc // Types.
15*f4a2713aSLionel Sambuc typedef typeof(id<foo>) objc_id_protocol_ty;
16*f4a2713aSLionel Sambuc 
17*f4a2713aSLionel Sambuc typedef typeof(itf*) objc_interface_ty;
18*f4a2713aSLionel Sambuc typedef typeof(itf<foo>*) objc_qual_interface_ty;
19*f4a2713aSLionel Sambuc 
20*f4a2713aSLionel Sambuc @interface PP
property(assign)21*f4a2713aSLionel Sambuc @property (assign) id prop;
22*f4a2713aSLionel Sambuc @end
23*f4a2713aSLionel Sambuc 
24*f4a2713aSLionel Sambuc static inline id getPseudoObject(PP *p) {
25*f4a2713aSLionel Sambuc     return p.prop;
26*f4a2713aSLionel Sambuc }
27