objc_exprs.h 605 B

1234567891011121314151617181920212223242526
  1. @protocol foo;
  2. @class itf;
  3. // Expressions
  4. typedef typeof(@"foo" "bar") objc_string;
  5. typedef typeof(@encode(int)) objc_encode;
  6. typedef typeof(@protocol(foo)) objc_protocol;
  7. typedef typeof(@selector(noArgs)) objc_selector_noArgs;
  8. typedef typeof(@selector(oneArg:)) objc_selector_oneArg;
  9. typedef typeof(@selector(foo:bar:)) objc_selector_twoArg;
  10. // Types.
  11. typedef typeof(id<foo>) objc_id_protocol_ty;
  12. typedef typeof(itf*) objc_interface_ty;
  13. typedef typeof(itf<foo>*) objc_qual_interface_ty;
  14. @interface PP
  15. @property (assign) id prop;
  16. @end
  17. static inline id getPseudoObject(PP *p) {
  18. return p.prop;
  19. }