Douglas Gregor | 98146a6 | 2010-03-09 13:06:04 +0000 | [diff] [blame] | 1 | @interface Foo |
| 2 | - (int)compare:(Foo*)other; |
| 3 | @end |
| 4 | |
Douglas Gregor | e0610a4 | 2010-03-09 20:57:01 +0000 | [diff] [blame] | 5 | @implementation Foo |
| 6 | - (int)compare:(Foo*)other { |
| 7 | return 0; |
Douglas Gregor | 81d3466 | 2010-04-20 15:39:42 +0000 | [diff] [blame] | 8 | (void)@encode(Foo); |
Douglas Gregor | e0610a4 | 2010-03-09 20:57:01 +0000 | [diff] [blame] | 9 | } |
| 10 | @end |
| 11 | |
Ted Kremenek | a333c66 | 2010-05-12 05:29:33 +0000 | [diff] [blame] | 12 | // From <rdar://problem/7971430>, the 'barType' referenced in the ivar |
| 13 | // declarations should be annotated as TypeRefs. |
| 14 | typedef int * barType; |
| 15 | @interface Bar |
| 16 | { |
| 17 | barType iVar; |
| 18 | barType iVar1, iVar2; |
| 19 | } |
| 20 | @end |
| 21 | @implementation Bar |
| 22 | - (void) method |
| 23 | { |
| 24 | barType local = iVar; |
| 25 | } |
| 26 | @end |
| 27 | |
Ted Kremenek | 9a700d2 | 2010-05-12 06:16:13 +0000 | [diff] [blame] | 28 | // From <rdar://problem/7967123>. The ranges for attributes are not |
| 29 | // currently stored, causing most of the tokens to be falsely annotated. |
| 30 | // Since there are no source ranges for attributes, we currently don't |
| 31 | // annotate them. |
Ted Kremenek | 445851c | 2010-05-12 21:44:56 +0000 | [diff] [blame^] | 32 | #define IBOutlet __attribute__((iboutlet)) |
| 33 | #define IBAction void)__attribute__((ibaction) |
| 34 | |
Ted Kremenek | 9a700d2 | 2010-05-12 06:16:13 +0000 | [diff] [blame] | 35 | @interface IBActionTests |
| 36 | - (IBAction) actionMethod:(id)arg; |
| 37 | - (void)foo:(int)x; |
| 38 | @end |
| 39 | extern int ibaction_test(void); |
| 40 | @implementation IBActionTests |
| 41 | - (IBAction) actionMethod:(id)arg |
| 42 | { |
| 43 | ibaction_test(); |
| 44 | [self foo:0]; |
| 45 | } |
| 46 | - (void) foo:(int)x |
| 47 | { |
| 48 | (void) x; |
| 49 | } |
| 50 | @end |
| 51 | |
| 52 | // From <rdar://problem/7961995>. Essentially the same issue as 7967123, |
| 53 | // but impacting code marked as IBOutlets. |
| 54 | @interface IBOutletTests |
| 55 | { |
| 56 | IBOutlet char * anOutlet; |
| 57 | } |
| 58 | - (IBAction) actionMethod:(id)arg; |
| 59 | @property IBOutlet int * aPropOutlet; |
| 60 | @end |
| 61 | |
Ted Kremenek | 445851c | 2010-05-12 21:44:56 +0000 | [diff] [blame^] | 62 | // RUN: c-index-test -test-annotate-tokens=%s:1:1:58:1 %s | FileCheck %s |
Ted Kremenek | fbd84ca | 2010-05-05 00:55:23 +0000 | [diff] [blame] | 63 | // CHECK: Punctuation: "@" [1:1 - 1:2] ObjCInterfaceDecl=Foo:1:12 |
| 64 | // CHECK: Keyword: "interface" [1:2 - 1:11] ObjCInterfaceDecl=Foo:1:12 |
Douglas Gregor | 98146a6 | 2010-03-09 13:06:04 +0000 | [diff] [blame] | 65 | // CHECK: Identifier: "Foo" [1:12 - 1:15] ObjCInterfaceDecl=Foo:1:12 |
| 66 | // CHECK: Punctuation: "-" [2:1 - 2:2] ObjCInstanceMethodDecl=compare::2:1 |
Ted Kremenek | fbd84ca | 2010-05-05 00:55:23 +0000 | [diff] [blame] | 67 | // CHECK: Punctuation: "(" [2:3 - 2:4] ObjCInstanceMethodDecl=compare::2:1 |
| 68 | // CHECK: Keyword: "int" [2:4 - 2:7] ObjCInstanceMethodDecl=compare::2:1 |
| 69 | // CHECK: Punctuation: ")" [2:7 - 2:8] ObjCInstanceMethodDecl=compare::2:1 |
| 70 | // CHECK: Identifier: "compare" [2:8 - 2:15] ObjCInstanceMethodDecl=compare::2:1 |
| 71 | // CHECK: Punctuation: ":" [2:15 - 2:16] ObjCInstanceMethodDecl=compare::2:1 |
| 72 | // CHECK: Punctuation: "(" [2:16 - 2:17] ObjCInstanceMethodDecl=compare::2:1 |
Douglas Gregor | 98146a6 | 2010-03-09 13:06:04 +0000 | [diff] [blame] | 73 | // CHECK: Identifier: "Foo" [2:17 - 2:20] ObjCClassRef=Foo:1:12 |
Ted Kremenek | fbd84ca | 2010-05-05 00:55:23 +0000 | [diff] [blame] | 74 | // CHECK: Punctuation: "*" [2:20 - 2:21] ParmDecl=other:2:22 (Definition) |
| 75 | // CHECK: Punctuation: ")" [2:21 - 2:22] ParmDecl=other:2:22 (Definition) |
Douglas Gregor | 98146a6 | 2010-03-09 13:06:04 +0000 | [diff] [blame] | 76 | // CHECK: Identifier: "other" [2:22 - 2:27] ParmDecl=other:2:22 (Definition) |
Ted Kremenek | fbd84ca | 2010-05-05 00:55:23 +0000 | [diff] [blame] | 77 | // CHECK: Punctuation: ";" [2:27 - 2:28] ObjCInstanceMethodDecl=compare::2:1 |
| 78 | // CHECK: Punctuation: "@" [3:1 - 3:2] ObjCInterfaceDecl=Foo:1:12 |
| 79 | // CHECK: Keyword: "end" [3:2 - 3:5] ObjCInterfaceDecl=Foo:1:12 |
Douglas Gregor | e0610a4 | 2010-03-09 20:57:01 +0000 | [diff] [blame] | 80 | // CHECK: Punctuation: "@" [5:1 - 5:2] ObjCImplementationDecl=Foo:5:1 (Definition) |
Ted Kremenek | fbd84ca | 2010-05-05 00:55:23 +0000 | [diff] [blame] | 81 | // CHECK: Keyword: "implementation" [5:2 - 5:16] ObjCImplementationDecl=Foo:5:1 (Definition) |
| 82 | // CHECK: Identifier: "Foo" [5:17 - 5:20] ObjCImplementationDecl=Foo:5:1 (Definition) |
Douglas Gregor | e0610a4 | 2010-03-09 20:57:01 +0000 | [diff] [blame] | 83 | // CHECK: Punctuation: "-" [6:1 - 6:2] ObjCInstanceMethodDecl=compare::6:1 (Definition) |
Ted Kremenek | fbd84ca | 2010-05-05 00:55:23 +0000 | [diff] [blame] | 84 | // CHECK: Punctuation: "(" [6:3 - 6:4] ObjCInstanceMethodDecl=compare::6:1 (Definition) |
| 85 | // CHECK: Keyword: "int" [6:4 - 6:7] ObjCInstanceMethodDecl=compare::6:1 (Definition) |
| 86 | // CHECK: Punctuation: ")" [6:7 - 6:8] ObjCInstanceMethodDecl=compare::6:1 (Definition) |
| 87 | // CHECK: Identifier: "compare" [6:8 - 6:15] ObjCInstanceMethodDecl=compare::6:1 (Definition) |
| 88 | // CHECK: Punctuation: ":" [6:15 - 6:16] ObjCInstanceMethodDecl=compare::6:1 (Definition) |
| 89 | // CHECK: Punctuation: "(" [6:16 - 6:17] ObjCInstanceMethodDecl=compare::6:1 (Definition) |
Douglas Gregor | e0610a4 | 2010-03-09 20:57:01 +0000 | [diff] [blame] | 90 | // CHECK: Identifier: "Foo" [6:17 - 6:20] ObjCClassRef=Foo:1:12 |
Ted Kremenek | fbd84ca | 2010-05-05 00:55:23 +0000 | [diff] [blame] | 91 | // CHECK: Punctuation: "*" [6:20 - 6:21] ParmDecl=other:6:22 (Definition) |
| 92 | // CHECK: Punctuation: ")" [6:21 - 6:22] ParmDecl=other:6:22 (Definition) |
Douglas Gregor | e0610a4 | 2010-03-09 20:57:01 +0000 | [diff] [blame] | 93 | // CHECK: Identifier: "other" [6:22 - 6:27] ParmDecl=other:6:22 (Definition) |
Ted Kremenek | fbd84ca | 2010-05-05 00:55:23 +0000 | [diff] [blame] | 94 | // CHECK: Punctuation: "{" [6:28 - 6:29] UnexposedStmt= |
| 95 | // CHECK: Keyword: "return" [7:3 - 7:9] UnexposedStmt= |
| 96 | // CHECK: Literal: "0" [7:10 - 7:11] UnexposedExpr= |
| 97 | // CHECK: Punctuation: ";" [7:11 - 7:12] UnexposedStmt= |
| 98 | // CHECK: Punctuation: "(" [8:3 - 8:4] UnexposedExpr= |
| 99 | // CHECK: Keyword: "void" [8:4 - 8:8] UnexposedExpr= |
| 100 | // CHECK: Punctuation: ")" [8:8 - 8:9] UnexposedExpr= |
| 101 | // CHECK: Punctuation: "@" [8:9 - 8:10] UnexposedExpr= |
| 102 | // CHECK: Keyword: "encode" [8:10 - 8:16] UnexposedExpr= |
| 103 | // CHECK: Punctuation: "(" [8:16 - 8:17] UnexposedExpr= |
Douglas Gregor | 81d3466 | 2010-04-20 15:39:42 +0000 | [diff] [blame] | 104 | // CHECK: Identifier: "Foo" [8:17 - 8:20] ObjCClassRef=Foo:1:12 |
Ted Kremenek | fbd84ca | 2010-05-05 00:55:23 +0000 | [diff] [blame] | 105 | // CHECK: Punctuation: ")" [8:20 - 8:21] UnexposedExpr= |
| 106 | // CHECK: Punctuation: ";" [8:21 - 8:22] UnexposedStmt= |
| 107 | // CHECK: Punctuation: "}" [9:1 - 9:2] UnexposedStmt= |
| 108 | // CHECK: Punctuation: "@" [10:1 - 10:2] ObjCImplementationDecl=Foo:5:1 (Definition) |
| 109 | // CHECK: Keyword: "end" [10:2 - 10:5] |
Ted Kremenek | a333c66 | 2010-05-12 05:29:33 +0000 | [diff] [blame] | 110 | // CHECK: Keyword: "typedef" [14:1 - 14:8] |
| 111 | // CHECK: Keyword: "int" [14:9 - 14:12] |
| 112 | // CHECK: Punctuation: "*" [14:13 - 14:14] |
| 113 | // CHECK: Identifier: "barType" [14:15 - 14:22] TypedefDecl=barType:14:15 (Definition) |
| 114 | // CHECK: Punctuation: ";" [14:22 - 14:23] |
| 115 | // CHECK: Punctuation: "@" [15:1 - 15:2] ObjCInterfaceDecl=Bar:15:12 |
| 116 | // CHECK: Keyword: "interface" [15:2 - 15:11] ObjCInterfaceDecl=Bar:15:12 |
| 117 | // CHECK: Identifier: "Bar" [15:12 - 15:15] ObjCInterfaceDecl=Bar:15:12 |
| 118 | // CHECK: Punctuation: "{" [16:1 - 16:2] ObjCInterfaceDecl=Bar:15:12 |
| 119 | // CHECK: Identifier: "barType" [17:5 - 17:12] TypeRef=barType:14:15 |
| 120 | // CHECK: Identifier: "iVar" [17:13 - 17:17] ObjCIvarDecl=iVar:17:13 (Definition) |
| 121 | // CHECK: Punctuation: ";" [17:17 - 17:18] ObjCInterfaceDecl=Bar:15:12 |
| 122 | // CHECK: Identifier: "barType" [18:5 - 18:12] TypeRef=barType:14:15 |
| 123 | // CHECK: Identifier: "iVar1" [18:13 - 18:18] ObjCIvarDecl=iVar1:18:13 (Definition) |
| 124 | // CHECK: Punctuation: "," [18:18 - 18:19] ObjCIvarDecl=iVar2:18:20 (Definition) |
| 125 | // CHECK: Identifier: "iVar2" [18:20 - 18:25] ObjCIvarDecl=iVar2:18:20 (Definition) |
| 126 | // CHECK: Punctuation: ";" [18:25 - 18:26] ObjCInterfaceDecl=Bar:15:12 |
| 127 | // CHECK: Punctuation: "}" [19:1 - 19:2] ObjCInterfaceDecl=Bar:15:12 |
| 128 | // CHECK: Punctuation: "@" [20:1 - 20:2] ObjCInterfaceDecl=Bar:15:12 |
| 129 | // CHECK: Keyword: "end" [20:2 - 20:5] ObjCInterfaceDecl=Bar:15:12 |
| 130 | // CHECK: Punctuation: "@" [21:1 - 21:2] ObjCImplementationDecl=Bar:21:1 (Definition) |
| 131 | // CHECK: Keyword: "implementation" [21:2 - 21:16] ObjCImplementationDecl=Bar:21:1 (Definition) |
| 132 | // CHECK: Identifier: "Bar" [21:17 - 21:20] ObjCImplementationDecl=Bar:21:1 (Definition) |
| 133 | // CHECK: Punctuation: "-" [22:1 - 22:2] ObjCInstanceMethodDecl=method:22:1 (Definition) |
| 134 | // CHECK: Punctuation: "(" [22:3 - 22:4] ObjCInstanceMethodDecl=method:22:1 (Definition) |
| 135 | // CHECK: Keyword: "void" [22:4 - 22:8] ObjCInstanceMethodDecl=method:22:1 (Definition) |
| 136 | // CHECK: Punctuation: ")" [22:8 - 22:9] ObjCInstanceMethodDecl=method:22:1 (Definition) |
| 137 | // CHECK: Identifier: "method" [22:10 - 22:16] ObjCInstanceMethodDecl=method:22:1 (Definition) |
| 138 | // CHECK: Punctuation: "{" [23:1 - 23:2] UnexposedStmt= |
| 139 | // CHECK: Identifier: "barType" [24:5 - 24:12] TypeRef=barType:14:15 |
| 140 | // CHECK: Identifier: "local" [24:13 - 24:18] VarDecl=local:24:13 (Definition) |
| 141 | // CHECK: Punctuation: "=" [24:19 - 24:20] VarDecl=local:24:13 (Definition) |
| 142 | // CHECK: Identifier: "iVar" [24:21 - 24:25] MemberRefExpr=iVar:17:13 |
| 143 | // CHECK: Punctuation: ";" [24:25 - 24:26] UnexposedStmt= |
| 144 | // CHECK: Punctuation: "}" [25:1 - 25:2] UnexposedStmt= |
| 145 | // CHECK: Punctuation: "@" [26:1 - 26:2] ObjCImplementationDecl=Bar:21:1 (Definition) |
| 146 | // CHECK: Keyword: "end" [26:2 - 26:5] |
Ted Kremenek | 445851c | 2010-05-12 21:44:56 +0000 | [diff] [blame^] | 147 | // CHECK: Punctuation: "#" [32:1 - 32:2] preprocessing directive= |
| 148 | // CHECK: Identifier: "define" [32:2 - 32:8] preprocessing directive= |
| 149 | // CHECK: Identifier: "IBOutlet" [32:9 - 32:17] macro definition=IBOutlet |
| 150 | // CHECK: Keyword: "__attribute__" [32:18 - 32:31] preprocessing directive= |
| 151 | // CHECK: Punctuation: "(" [32:31 - 32:32] preprocessing directive= |
| 152 | // CHECK: Punctuation: "(" [32:32 - 32:33] preprocessing directive= |
| 153 | // CHECK: Identifier: "iboutlet" [32:33 - 32:41] preprocessing directive= |
| 154 | // CHECK: Punctuation: ")" [32:41 - 32:42] preprocessing directive= |
| 155 | // CHECK: Punctuation: ")" [32:42 - 32:43] preprocessing directive= |
| 156 | // CHECK: Punctuation: "#" [33:1 - 33:2] preprocessing directive= |
| 157 | // CHECK: Identifier: "define" [33:2 - 33:8] preprocessing directive= |
| 158 | // CHECK: Identifier: "IBAction" [33:9 - 33:17] macro definition=IBAction |
| 159 | // CHECK: Keyword: "void" [33:18 - 33:22] preprocessing directive= |
| 160 | // CHECK: Punctuation: ")" [33:22 - 33:23] preprocessing directive= |
| 161 | // CHECK: Keyword: "__attribute__" [33:23 - 33:36] preprocessing directive= |
| 162 | // CHECK: Punctuation: "(" [33:36 - 33:37] preprocessing directive= |
| 163 | // CHECK: Punctuation: "(" [33:37 - 33:38] preprocessing directive= |
| 164 | // CHECK: Identifier: "ibaction" [33:38 - 33:46] preprocessing directive= |
| 165 | // CHECK: Punctuation: ")" [33:46 - 33:47] preprocessing directive= |
| 166 | // CHECK: Punctuation: "@" [35:1 - 35:2] ObjCInterfaceDecl=IBActionTests:35:12 |
| 167 | // CHECK: Keyword: "interface" [35:2 - 35:11] ObjCInterfaceDecl=IBActionTests:35:12 |
| 168 | // CHECK: Identifier: "IBActionTests" [35:12 - 35:25] ObjCInterfaceDecl=IBActionTests:35:12 |
| 169 | // CHECK: Punctuation: "-" [36:1 - 36:2] ObjCInstanceMethodDecl=actionMethod::36:1 |
| 170 | // CHECK: Punctuation: "(" [36:3 - 36:4] ObjCInstanceMethodDecl=actionMethod::36:1 |
| 171 | // CHECK: Identifier: "IBAction" [36:4 - 36:12] macro instantiation=IBAction:33:9 |
| 172 | // CHECK: Punctuation: ")" [36:12 - 36:13] ObjCInstanceMethodDecl=actionMethod::36:1 |
| 173 | // CHECK: Identifier: "actionMethod" [36:14 - 36:26] ObjCInstanceMethodDecl=actionMethod::36:1 |
| 174 | // CHECK: Punctuation: ":" [36:26 - 36:27] ObjCInstanceMethodDecl=actionMethod::36:1 |
| 175 | // CHECK: Punctuation: "(" [36:27 - 36:28] ObjCInstanceMethodDecl=actionMethod::36:1 |
| 176 | // CHECK: Identifier: "id" [36:28 - 36:30] TypeRef=id:0:0 |
| 177 | // CHECK: Punctuation: ")" [36:30 - 36:31] ParmDecl=arg:36:31 (Definition) |
| 178 | // CHECK: Identifier: "arg" [36:31 - 36:34] ParmDecl=arg:36:31 (Definition) |
| 179 | // CHECK: Punctuation: ";" [36:34 - 36:35] ObjCInstanceMethodDecl=actionMethod::36:1 |
| 180 | // CHECK: Punctuation: "-" [37:1 - 37:2] ObjCInstanceMethodDecl=foo::37:1 |
| 181 | // CHECK: Punctuation: "(" [37:3 - 37:4] ObjCInstanceMethodDecl=foo::37:1 |
| 182 | // CHECK: Keyword: "void" [37:4 - 37:8] ObjCInstanceMethodDecl=foo::37:1 |
| 183 | // CHECK: Punctuation: ")" [37:8 - 37:9] ObjCInstanceMethodDecl=foo::37:1 |
| 184 | // CHECK: Identifier: "foo" [37:9 - 37:12] ObjCInstanceMethodDecl=foo::37:1 |
| 185 | // CHECK: Punctuation: ":" [37:12 - 37:13] ObjCInstanceMethodDecl=foo::37:1 |
| 186 | // CHECK: Punctuation: "(" [37:13 - 37:14] ObjCInstanceMethodDecl=foo::37:1 |
| 187 | // CHECK: Keyword: "int" [37:14 - 37:17] ParmDecl=x:37:18 (Definition) |
| 188 | // CHECK: Punctuation: ")" [37:17 - 37:18] ParmDecl=x:37:18 (Definition) |
| 189 | // CHECK: Identifier: "x" [37:18 - 37:19] ParmDecl=x:37:18 (Definition) |
| 190 | // CHECK: Punctuation: ";" [37:19 - 37:20] ObjCInstanceMethodDecl=foo::37:1 |
| 191 | // CHECK: Punctuation: "@" [38:1 - 38:2] ObjCInterfaceDecl=IBActionTests:35:12 |
| 192 | // CHECK: Keyword: "end" [38:2 - 38:5] ObjCInterfaceDecl=IBActionTests:35:12 |
| 193 | // CHECK: Keyword: "extern" [39:1 - 39:7] |
| 194 | // CHECK: Keyword: "int" [39:8 - 39:11] FunctionDecl=ibaction_test:39:12 |
| 195 | // CHECK: Identifier: "ibaction_test" [39:12 - 39:25] FunctionDecl=ibaction_test:39:12 |
| 196 | // CHECK: Punctuation: "(" [39:25 - 39:26] FunctionDecl=ibaction_test:39:12 |
| 197 | // CHECK: Keyword: "void" [39:26 - 39:30] FunctionDecl=ibaction_test:39:12 |
| 198 | // CHECK: Punctuation: ")" [39:30 - 39:31] FunctionDecl=ibaction_test:39:12 |
| 199 | // CHECK: Punctuation: ";" [39:31 - 39:32] |
| 200 | // CHECK: Punctuation: "@" [40:1 - 40:2] ObjCImplementationDecl=IBActionTests:40:1 (Definition) |
| 201 | // CHECK: Keyword: "implementation" [40:2 - 40:16] ObjCImplementationDecl=IBActionTests:40:1 (Definition) |
| 202 | // CHECK: Identifier: "IBActionTests" [40:17 - 40:30] ObjCImplementationDecl=IBActionTests:40:1 (Definition) |
| 203 | // CHECK: Punctuation: "-" [41:1 - 41:2] ObjCInstanceMethodDecl=actionMethod::41:1 (Definition) |
| 204 | // CHECK: Punctuation: "(" [41:3 - 41:4] ObjCInstanceMethodDecl=actionMethod::41:1 (Definition) |
| 205 | // CHECK: Identifier: "IBAction" [41:4 - 41:12] macro instantiation=IBAction:33:9 |
| 206 | // CHECK: Punctuation: ")" [41:12 - 41:13] ObjCInstanceMethodDecl=actionMethod::41:1 (Definition) |
| 207 | // CHECK: Identifier: "actionMethod" [41:14 - 41:26] ObjCInstanceMethodDecl=actionMethod::41:1 (Definition) |
| 208 | // CHECK: Punctuation: ":" [41:26 - 41:27] ObjCInstanceMethodDecl=actionMethod::41:1 (Definition) |
| 209 | // CHECK: Punctuation: "(" [41:27 - 41:28] ObjCInstanceMethodDecl=actionMethod::41:1 (Definition) |
| 210 | // CHECK: Identifier: "id" [41:28 - 41:30] TypeRef=id:0:0 |
| 211 | // CHECK: Punctuation: ")" [41:30 - 41:31] ParmDecl=arg:41:31 (Definition) |
| 212 | // CHECK: Identifier: "arg" [41:31 - 41:34] ParmDecl=arg:41:31 (Definition) |
| 213 | // CHECK: Punctuation: "{" [42:1 - 42:2] UnexposedStmt= |
| 214 | // CHECK: Identifier: "ibaction_test" [43:5 - 43:18] DeclRefExpr=ibaction_test:39:12 |
| 215 | // CHECK: Punctuation: "(" [43:18 - 43:19] CallExpr=ibaction_test:39:12 |
| 216 | // CHECK: Punctuation: ")" [43:19 - 43:20] CallExpr=ibaction_test:39:12 |
| 217 | // CHECK: Punctuation: ";" [43:20 - 43:21] UnexposedStmt= |
| 218 | // CHECK: Punctuation: "[" [44:5 - 44:6] ObjCMessageExpr=foo::37:1 |
| 219 | // CHECK: Identifier: "self" [44:6 - 44:10] DeclRefExpr=self:0:0 |
| 220 | // CHECK: Identifier: "foo" [44:11 - 44:14] ObjCMessageExpr=foo::37:1 |
| 221 | // CHECK: Punctuation: ":" [44:14 - 44:15] ObjCMessageExpr=foo::37:1 |
| 222 | // CHECK: Literal: "0" [44:15 - 44:16] UnexposedExpr= |
| 223 | // CHECK: Punctuation: "]" [44:16 - 44:17] ObjCMessageExpr=foo::37:1 |
| 224 | // CHECK: Punctuation: ";" [44:17 - 44:18] UnexposedStmt= |
| 225 | // CHECK: Punctuation: "}" [45:1 - 45:2] UnexposedStmt= |
| 226 | // CHECK: Punctuation: "-" [46:1 - 46:2] ObjCInstanceMethodDecl=foo::46:1 (Definition) |
| 227 | // CHECK: Punctuation: "(" [46:3 - 46:4] ObjCInstanceMethodDecl=foo::46:1 (Definition) |
| 228 | // CHECK: Keyword: "void" [46:4 - 46:8] ObjCInstanceMethodDecl=foo::46:1 (Definition) |
| 229 | // CHECK: Punctuation: ")" [46:8 - 46:9] ObjCInstanceMethodDecl=foo::46:1 (Definition) |
| 230 | // CHECK: Identifier: "foo" [46:10 - 46:13] ObjCInstanceMethodDecl=foo::46:1 (Definition) |
| 231 | // CHECK: Punctuation: ":" [46:13 - 46:14] ObjCInstanceMethodDecl=foo::46:1 (Definition) |
| 232 | // CHECK: Punctuation: "(" [46:14 - 46:15] ObjCInstanceMethodDecl=foo::46:1 (Definition) |
| 233 | // CHECK: Keyword: "int" [46:15 - 46:18] ParmDecl=x:46:19 (Definition) |
| 234 | // CHECK: Punctuation: ")" [46:18 - 46:19] ParmDecl=x:46:19 (Definition) |
| 235 | // CHECK: Identifier: "x" [46:19 - 46:20] ParmDecl=x:46:19 (Definition) |
| 236 | // CHECK: Punctuation: "{" [47:1 - 47:2] UnexposedStmt= |
| 237 | // CHECK: Punctuation: "(" [48:3 - 48:4] UnexposedExpr=x:46:19 |
| 238 | // CHECK: Keyword: "void" [48:4 - 48:8] UnexposedExpr=x:46:19 |
| 239 | // CHECK: Punctuation: ")" [48:8 - 48:9] UnexposedExpr=x:46:19 |
| 240 | // CHECK: Identifier: "x" [48:10 - 48:11] DeclRefExpr=x:46:19 |
| 241 | // CHECK: Punctuation: ";" [48:11 - 48:12] UnexposedStmt= |
| 242 | // CHECK: Punctuation: "}" [49:1 - 49:2] UnexposedStmt= |
| 243 | // CHECK: Punctuation: "@" [50:1 - 50:2] ObjCImplementationDecl=IBActionTests:40:1 (Definition) |
| 244 | // CHECK: Keyword: "end" [50:2 - 50:5] |
| 245 | // CHECK: Punctuation: "@" [54:1 - 54:2] ObjCInterfaceDecl=IBOutletTests:54:12 |
| 246 | // CHECK: Keyword: "interface" [54:2 - 54:11] ObjCInterfaceDecl=IBOutletTests:54:12 |
| 247 | // CHECK: Identifier: "IBOutletTests" [54:12 - 54:25] ObjCInterfaceDecl=IBOutletTests:54:12 |
| 248 | // CHECK: Punctuation: "{" [55:1 - 55:2] ObjCInterfaceDecl=IBOutletTests:54:12 |
| 249 | // CHECK: Identifier: "IBOutlet" [56:5 - 56:13] macro instantiation=IBOutlet:32:9 |
| 250 | // CHECK: Keyword: "char" [56:14 - 56:18] ObjCIvarDecl=anOutlet:56:21 (Definition) |
| 251 | // CHECK: Punctuation: "*" [56:19 - 56:20] ObjCIvarDecl=anOutlet:56:21 (Definition) |
| 252 | // CHECK: Identifier: "anOutlet" [56:21 - 56:29] ObjCIvarDecl=anOutlet:56:21 (Definition) |
| 253 | // CHECK: Punctuation: ";" [56:29 - 56:30] ObjCInterfaceDecl=IBOutletTests:54:12 |
| 254 | // CHECK: Punctuation: "}" [57:1 - 57:2] ObjCInterfaceDecl=IBOutletTests:54:12 |
| 255 | // CHECK: Punctuation: "-" [58:1 - 58:2] ObjCInterfaceDecl=IBOutletTests:54:12 |
Ted Kremenek | a333c66 | 2010-05-12 05:29:33 +0000 | [diff] [blame] | 256 | |