| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788 |
- //-*- ObjC -*-
- @protocol P0;
- @protocol P1
- -(void) fm0;
- @end
- @class B;
- @interface Root
- @property(readonly) int p0;
- @end
- @interface A : Root <P1> {
- int iv0;
- B *iv1;
- B<P1> *iv2;
- }
- @property(readonly) int p0;
- @property(assign,nonatomic,readwrite) int p1;
- @property(copy) id p2;
- @property(retain) id p3;
- @property(assign, getter=getme, setter=setme:) id p4;
- @property(assign, readwrite) id p5;
- @end
- @implementation A
- @dynamic p0;
- @synthesize p1 = iv0;
- // Property type can differ from ivar type.
- @synthesize p5 = iv2;
- +(void) fm0 {
- [super fm0];
- }
- -(void) im0 {
- const char *s0 = __func__;
- const char *s1 = __FUNCTION__;
- const char *s2 = __PRETTY_FUNCTION__;
- [super im0];
- int x = super.p0;
- }
- -(void) im1: (int) x, ... {
- }
- @end
- @implementation C : A
- @end
- @interface A (Cat)
- @end
- @implementation A (Cat)
- @end
- @interface B
- @end
- int f0(id x) {
- @synchronized(x) {
- }
- @try {
- @throw x;
- } @catch(A *e) {
- @throw;
- // @catch param doesn't require name.
- } @catch(B *) {
- } @finally {
- ;
- }
- for (id y in x) {
- break;
- }
- }
- #ifndef __OBJC2__
- struct s0 {
- @defs(A);
- };
- #endif
|