blob: e060d032ce673ca25346f8e532738a82f8fbabae [file] [log] [blame]
Daniel Dunbar9ad54e32008-10-04 23:47:28 +00001//-*- ObjC -*-
2
3@protocol P0;
4
5@protocol P1
6-(void) fm0;
7@end
8
9@class B;
10
11@interface Root
12@end
13
14@interface A : Root <P1> {
15 int iv0;
16 B *iv1;
17}
18
19@property(assign,readonly) int p0;
20@property(assign,nonatomic,readwrite) int p1;
21@property(copy) id p2;
22@property(retain) id p3;
23@property(assign, getter=getme, setter=setme:) id p4;
24@end
25
26@implementation A
27@dynamic p0;
28@synthesize p1 = iv0;
29+(void) fm0 {
30 [super fm0];
31}
32-(void) im0 {
Daniel Dunbarfe2c0132008-10-17 23:04:32 +000033 char *s0 = __func__;
34 char *s1 = __FUNCTION__;
35 char *s2 = __PRETTY_FUNCTION__;
Daniel Dunbar9ad54e32008-10-04 23:47:28 +000036 [super im0];
Daniel Dunbarfe2c0132008-10-17 23:04:32 +000037 int x = super.p0;
Daniel Dunbar9ad54e32008-10-04 23:47:28 +000038}
39-(void) im1: (int) x, ... {
40}
41@end
42
43@implementation C : A
44@end
45
Daniel Dunbar9ad54e32008-10-04 23:47:28 +000046@interface A (Cat)
47@end
48
49@implementation A (Cat)
50@end
Daniel Dunbar9ad54e32008-10-04 23:47:28 +000051
52int f0(id x) {
53 @synchronized(x) {
54 }
55
56 @try {
57 @throw x;
58 } @catch(A *e) {
59 @throw;
60 } @finally {
61 ;
62 }
63
64 for (id y in x) {
65 break;
66 }
67}
68
69struct s0 {
70 @defs(A);
71};