14 @interface A : Root <P1> {
20 @property(readonly) int p0;
21 @property(assign,nonatomic,readwrite) int p1;
22 @property(copy) id p2;
23 @property(retain) id p3;
24 @property(assign, getter=getme, setter=setme:) id p4;
25 @property(assign, readwrite) id p5;
32 // Property type can differ from ivar type.
39 const char *s0 = __func__;
40 const char *s1 = __FUNCTION__;
41 const char *s2 = __PRETTY_FUNCTION__;
45 -(void) im1: (int) x, ... {
55 @implementation A (Cat)
71 // @catch param doesn't require name.