Douglas Gregor | 6cd24e2 | 2010-07-29 00:26:18 +0000 | [diff] [blame] | 1 | struct bonk { }; |
| 2 | void test(bonk X) { |
| 3 | X = X; |
Francois Pichet | 0a03a3f | 2010-12-08 09:11:05 +0000 | [diff] [blame] | 4 | __is_base_of(bonk, bonk); |
Douglas Gregor | 6cd24e2 | 2010-07-29 00:26:18 +0000 | [diff] [blame] | 5 | } |
| 6 | |
Francois Pichet | 0a03a3f | 2010-12-08 09:11:05 +0000 | [diff] [blame] | 7 | // RUN: c-index-test -test-annotate-tokens=%s:1:1:6:5 %s | FileCheck %s |
Douglas Gregor | 6cd24e2 | 2010-07-29 00:26:18 +0000 | [diff] [blame] | 8 | // CHECK: Keyword: "struct" [1:1 - 1:7] StructDecl=bonk:1:8 (Definition) |
| 9 | // CHECK: Identifier: "bonk" [1:8 - 1:12] StructDecl=bonk:1:8 (Definition) |
| 10 | // CHECK: Punctuation: "{" [1:13 - 1:14] StructDecl=bonk:1:8 (Definition) |
| 11 | // CHECK: Punctuation: "}" [1:15 - 1:16] StructDecl=bonk:1:8 (Definition) |
| 12 | // CHECK: Punctuation: ";" [1:16 - 1:17] |
| 13 | // CHECK: Keyword: "void" [2:1 - 2:5] FunctionDecl=test:2:6 (Definition) |
| 14 | // CHECK: Identifier: "test" [2:6 - 2:10] FunctionDecl=test:2:6 (Definition) |
| 15 | // CHECK: Punctuation: "(" [2:10 - 2:11] FunctionDecl=test:2:6 (Definition) |
| 16 | // CHECK: Identifier: "bonk" [2:11 - 2:15] TypeRef=struct bonk:1:8 |
| 17 | // CHECK: Identifier: "X" [2:16 - 2:17] ParmDecl=X:2:16 (Definition) |
| 18 | // CHECK: Punctuation: ")" [2:17 - 2:18] FunctionDecl=test:2:6 (Definition) |
| 19 | // CHECK: Punctuation: "{" [2:19 - 2:20] UnexposedStmt= |
| 20 | // CHECK: Identifier: "X" [3:5 - 3:6] DeclRefExpr=X:2:16 |
Francois Pichet | 2346789 | 2010-12-08 09:04:37 +0000 | [diff] [blame] | 21 | // CHECK: Punctuation: "=" [3:7 - 3:8] CallExpr=operator=:1:8 |
Douglas Gregor | 6cd24e2 | 2010-07-29 00:26:18 +0000 | [diff] [blame] | 22 | // CHECK: Identifier: "X" [3:9 - 3:10] DeclRefExpr=X:2:16 |
| 23 | // CHECK: Punctuation: ";" [3:10 - 3:11] UnexposedStmt= |
Francois Pichet | 0a03a3f | 2010-12-08 09:11:05 +0000 | [diff] [blame] | 24 | // CHECK: Keyword: "__is_base_of" [4:5 - 4:17] UnexposedExpr= |
| 25 | // CHECK: Punctuation: "(" [4:17 - 4:18] UnexposedExpr= |
| 26 | // CHECK: Identifier: "bonk" [4:18 - 4:22] TypeRef=struct bonk:1:8 |
| 27 | // CHECK: Punctuation: "," [4:22 - 4:23] UnexposedExpr= |
| 28 | // CHECK: Identifier: "bonk" [4:24 - 4:28] TypeRef=struct bonk:1:8 |
| 29 | // CHECK: Punctuation: ")" [4:28 - 4:29] UnexposedExpr= |
| 30 | // CHECK: Punctuation: ";" [4:29 - 4:30] UnexposedStmt= |
| 31 | // CHECK: Punctuation: "}" [5:1 - 5:2] UnexposedStmt= |