1ea285162342df160e7860e26528bc7110bc6c0cdShih-wei Liao
2ea285162342df160e7860e26528bc7110bc6c0cdShih-wei Liao@protocol foo;
3ea285162342df160e7860e26528bc7110bc6c0cdShih-wei Liao@class itf;
4ea285162342df160e7860e26528bc7110bc6c0cdShih-wei Liao
5ea285162342df160e7860e26528bc7110bc6c0cdShih-wei Liao// Expressions
6ea285162342df160e7860e26528bc7110bc6c0cdShih-wei Liaotypedef typeof(@"foo" "bar") objc_string;
7ea285162342df160e7860e26528bc7110bc6c0cdShih-wei Liaotypedef typeof(@encode(int)) objc_encode;
8ea285162342df160e7860e26528bc7110bc6c0cdShih-wei Liaotypedef typeof(@protocol(foo)) objc_protocol;
9ea285162342df160e7860e26528bc7110bc6c0cdShih-wei Liaotypedef typeof(@selector(noArgs)) objc_selector_noArgs;
10ea285162342df160e7860e26528bc7110bc6c0cdShih-wei Liaotypedef typeof(@selector(oneArg:)) objc_selector_oneArg;
11ea285162342df160e7860e26528bc7110bc6c0cdShih-wei Liaotypedef typeof(@selector(foo:bar:)) objc_selector_twoArg;
12ea285162342df160e7860e26528bc7110bc6c0cdShih-wei Liao
13ea285162342df160e7860e26528bc7110bc6c0cdShih-wei Liao
14ea285162342df160e7860e26528bc7110bc6c0cdShih-wei Liao// Types.
15ea285162342df160e7860e26528bc7110bc6c0cdShih-wei Liaotypedef typeof(id<foo>) objc_id_protocol_ty;
16ea285162342df160e7860e26528bc7110bc6c0cdShih-wei Liao
17ea285162342df160e7860e26528bc7110bc6c0cdShih-wei Liaotypedef typeof(itf*) objc_interface_ty;
18ea285162342df160e7860e26528bc7110bc6c0cdShih-wei Liaotypedef typeof(itf<foo>*) objc_qual_interface_ty;
19