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