blob: c6b14bb8fda5cb800422dfca5a227cc199fc02b7 [file] [log] [blame]
Argyrios Kyrtzidisf76b8972012-02-28 23:39:24 +00001@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 Kyrtzidis390fff82012-06-08 02:16:11 +000014// rdar://11015325
Argyrios Kyrtzidis30a28052012-03-23 23:24:18 +000015@interface I1
16__attribute__((something)) @interface I2 @end
17@end
18
Argyrios Kyrtzidis390fff82012-06-08 02:16:11 +000019@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 Kyrtzidis3bed3d12012-09-10 22:58:04 +000029int test1() {
30 extern int extvar;
31 extvar = 2;
32 extern int extfn();
33 return extfn();
34}
35
Argyrios Kyrtzidisc18909e2012-06-08 03:54:16 +000036// RUN: c-index-test -index-file %s -target x86_64-apple-macosx10.7 > %t
Argyrios Kyrtzidis30a28052012-03-23 23:24:18 +000037// RUN: FileCheck %s -input-file=%t
Argyrios Kyrtzidisf76b8972012-02-28 23:39:24 +000038// 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 Kyrtzidis390fff82012-06-08 02:16:11 +000048
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 Kyrtzidis3bed3d12012-09-10 22:58:04 +000051
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