annotate-tokens.cpp revision 0a03a3f98b14006a54bcac9e8908a7c9f50e519f
1struct bonk { }; 2void test(bonk X) { 3 X = X; 4 __is_base_of(bonk, bonk); 5} 6 7// RUN: c-index-test -test-annotate-tokens=%s:1:1:6:5 %s | FileCheck %s 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 21// CHECK: Punctuation: "=" [3:7 - 3:8] CallExpr=operator=:1:8 22// CHECK: Identifier: "X" [3:9 - 3:10] DeclRefExpr=X:2:16 23// CHECK: Punctuation: ";" [3:10 - 3:11] UnexposedStmt= 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=