Argyrios Kyrtzidis | f76b897 | 2012-02-28 23:39:24 +0000 | [diff] [blame] | 1 | @interface I |
| 2 | @property (readonly) id prop; |
| 3 | -(id)prop; |
| 4 | @end |
| 5 | |
| 6 | @interface I() |
| 7 | @property (assign,readwrite) id prop; |
| 8 | @end |
| 9 | |
| 10 | @implementation I |
| 11 | @synthesize prop = _prop; |
| 12 | @end |
| 13 | |
Argyrios Kyrtzidis | 390fff8 | 2012-06-08 02:16:11 +0000 | [diff] [blame] | 14 | // rdar://11015325 |
Argyrios Kyrtzidis | 30a2805 | 2012-03-23 23:24:18 +0000 | [diff] [blame] | 15 | @interface I1 |
| 16 | __attribute__((something)) @interface I2 @end |
| 17 | @end |
| 18 | |
Argyrios Kyrtzidis | 390fff8 | 2012-06-08 02:16:11 +0000 | [diff] [blame] | 19 | @interface I3 |
| 20 | @property (assign,readwrite) id auto_prop; |
| 21 | @end |
| 22 | |
| 23 | @implementation I3 |
| 24 | -(void)meth { |
| 25 | _auto_prop = 0; |
| 26 | } |
| 27 | @end |
| 28 | |
Argyrios Kyrtzidis | 3bed3d1 | 2012-09-10 22:58:04 +0000 | [diff] [blame^] | 29 | int test1() { |
| 30 | extern int extvar; |
| 31 | extvar = 2; |
| 32 | extern int extfn(); |
| 33 | return extfn(); |
| 34 | } |
| 35 | |
Argyrios Kyrtzidis | c18909e | 2012-06-08 03:54:16 +0000 | [diff] [blame] | 36 | // RUN: c-index-test -index-file %s -target x86_64-apple-macosx10.7 > %t |
Argyrios Kyrtzidis | 30a2805 | 2012-03-23 23:24:18 +0000 | [diff] [blame] | 37 | // RUN: FileCheck %s -input-file=%t |
Argyrios Kyrtzidis | f76b897 | 2012-02-28 23:39:24 +0000 | [diff] [blame] | 38 | // CHECK: [indexDeclaration]: kind: objc-class | name: I | {{.*}} | loc: 1:12 |
| 39 | // CHECK: [indexDeclaration]: kind: objc-instance-method | name: prop | {{.*}} | loc: 3:2 |
| 40 | // CHECK: [indexDeclaration]: kind: objc-property | name: prop | {{.*}} | loc: 2:25 |
| 41 | // CHECK: [indexDeclaration]: kind: objc-category | name: | {{.*}} | loc: 6:12 |
| 42 | // CHECK: [indexDeclaration]: kind: objc-instance-method | name: setProp: | {{.*}} | loc: 7:33 |
| 43 | // CHECK: [indexDeclaration]: kind: objc-property | name: prop | {{.*}} | loc: 7:33 |
| 44 | |
| 45 | // CHECK: [indexDeclaration]: kind: objc-ivar | name: _prop | {{.*}} | loc: 11:20 |
| 46 | // CHECK: [indexDeclaration]: kind: objc-instance-method | name: prop | {{.*}} | loc: 11:13 | {{.*}} | lexical-container: [I:10:17] |
| 47 | // CHECK: [indexDeclaration]: kind: objc-instance-method | name: setProp: | {{.*}} | loc: 11:13 | {{.*}} | lexical-container: [I:10:17] |
Argyrios Kyrtzidis | 390fff8 | 2012-06-08 02:16:11 +0000 | [diff] [blame] | 48 | |
| 49 | // CHECK: [indexDeclaration]: kind: objc-ivar | name: _auto_prop | {{.*}} | loc: 20:33 |
| 50 | // CHECK: [indexEntityReference]: kind: objc-ivar | name: _auto_prop | {{.*}} | loc: 25:3 |
Argyrios Kyrtzidis | 3bed3d1 | 2012-09-10 22:58:04 +0000 | [diff] [blame^] | 51 | |
| 52 | // CHECK: [indexDeclaration]: kind: function | name: test1 | {{.*}} | loc: 29:5 |
| 53 | // CHECK: [indexDeclaration]: kind: variable | name: extvar | {{.*}} | loc: 30:14 |
| 54 | // CHECK: [indexEntityReference]: kind: variable | name: extvar | {{.*}} | loc: 31:3 |
| 55 | // CHECK: [indexDeclaration]: kind: function | name: extfn | {{.*}} | loc: 32:14 |
| 56 | // CHECK: [indexEntityReference]: kind: function | name: extfn | {{.*}} | loc: 33:10 |