Mercurial > hg > CbC > CbC_llvm
comparison clang/test/Index/index-decls.m @ 150:1d019706d866
LLVM10
author | anatofuz |
---|---|
date | Thu, 13 Feb 2020 15:10:13 +0900 |
parents | |
children |
comparison
equal
deleted
inserted
replaced
147:c2174574ed3a | 150:1d019706d866 |
---|---|
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 | |
14 // rdar://11015325 | |
15 @interface I1 | |
16 __attribute__((something)) @interface I2 @end | |
17 @end | |
18 | |
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 | |
29 int test1() { | |
30 extern int extvar; | |
31 extvar = 2; | |
32 extern int extfn(); | |
33 return extfn(); | |
34 } | |
35 | |
36 @interface I4 | |
37 @property (assign, nonatomic) id prop; | |
38 -(id)prop; | |
39 -(void)setProp:(id)p; | |
40 @end | |
41 | |
42 @implementation I4 | |
43 @synthesize prop = _prop; | |
44 -(id)prop { | |
45 return 0; | |
46 } | |
47 -(void)setProp:(id)p { | |
48 } | |
49 @end | |
50 | |
51 // rdar://25372906 | |
52 @class I5; | |
53 @interface I5 | |
54 -(void)meth; | |
55 @property (class) int c; | |
56 @end | |
57 | |
58 // RUN: c-index-test -index-file %s -target x86_64-apple-macosx10.7 > %t | |
59 // RUN: FileCheck %s -input-file=%t | |
60 // CHECK: [indexDeclaration]: kind: objc-class | name: I | {{.*}} | loc: 1:12 | |
61 // CHECK: [indexDeclaration]: kind: objc-instance-method | name: prop | {{.*}} | loc: 3:7 | |
62 // CHECK: [indexDeclaration]: kind: objc-property | name: prop | {{.*}} | loc: 2:25 | |
63 // CHECK: [indexDeclaration]: kind: objc-category | name: | {{.*}} | loc: 6:12 | |
64 // CHECK: [indexDeclaration]: kind: objc-instance-method | name: setProp: | {{.*}} | loc: 7:33 | |
65 // CHECK: [indexDeclaration]: kind: objc-property | name: prop | {{.*}} | loc: 7:33 | |
66 | |
67 // CHECK: [indexDeclaration]: kind: objc-instance-method | name: prop | {{.*}} | loc: 11:13 | {{.*}} | lexical-container: [I:10:17] | |
68 // CHECK: [indexDeclaration]: kind: objc-instance-method | name: setProp: | {{.*}} | loc: 11:13 | {{.*}} | lexical-container: [I:10:17] | |
69 // CHECK: [indexDeclaration]: kind: objc-ivar | name: _prop | {{.*}} | loc: 11:20 | |
70 | |
71 // CHECK: [indexDeclaration]: kind: objc-ivar | name: _auto_prop | {{.*}} | loc: 20:33 | |
72 // CHECK: [indexEntityReference]: kind: objc-ivar | name: _auto_prop | {{.*}} | loc: 25:3 | |
73 | |
74 // CHECK: [indexDeclaration]: kind: function | name: test1 | {{.*}} | loc: 29:5 | |
75 // CHECK: [indexDeclaration]: kind: variable | name: extvar | {{.*}} | loc: 30:14 | |
76 // CHECK: [indexEntityReference]: kind: variable | name: extvar | {{.*}} | loc: 31:3 | |
77 // CHECK: [indexDeclaration]: kind: function | name: extfn | {{.*}} | loc: 32:14 | |
78 // CHECK: [indexEntityReference]: kind: function | name: extfn | {{.*}} | loc: 33:10 | |
79 | |
80 // CHECK: [indexDeclaration]: kind: objc-class | name: I4 | {{.*}} | loc: 36:12 | |
81 // CHECK: [indexEntityReference]: kind: objc-property | name: prop | {{.*}} | cursor: ObjCSynthesizeDecl=prop:37:34 (Definition) | loc: 43:13 | <parent>:: kind: objc-class | name: I4 | {{.*}} | container: [I4:42:17] | refkind: direct | |
82 // CHECK-NOT: [indexDeclaration]: kind: objc-instance-method {{.*}} loc: 37: | |
83 // CHECK-NOT: [indexDeclaration]: kind: objc-instance-method {{.*}} loc: 43: | |
84 | |
85 // CHECK: [indexDeclaration]: kind: objc-instance-method | name: meth | {{.*}} loc: 54:8 | {{.*}} | isRedecl: 0 | isDef: 0 | | |
86 // CHECK: [indexDeclaration]: kind: objc-property | name: c | USR: c:objc(cs)I5(cpy)c | lang: ObjC | cursor: ObjCPropertyDecl=c:55:23 [class,] | loc: 55:23 |