From b59d21c22b7ca8d66f15e7f99f4a1aae9ebe6920 Mon Sep 17 00:00:00 2001 From: Douglas Gregor Date: Thu, 29 Jul 2010 00:26:18 +0000 Subject: Visit the children of CXXOperatorCallExprs in source order within libclang, so that clang_annotateTokens() doesn't get confused and miss annotations. llvm-svn: 109706 --- clang/test/Index/annotate-tokens.cpp | 23 +++++++++++++++++++++++ 1 file changed, 23 insertions(+) create mode 100644 clang/test/Index/annotate-tokens.cpp (limited to 'clang/test/Index/annotate-tokens.cpp') diff --git a/clang/test/Index/annotate-tokens.cpp b/clang/test/Index/annotate-tokens.cpp new file mode 100644 index 00000000000..dca7af2bf74 --- /dev/null +++ b/clang/test/Index/annotate-tokens.cpp @@ -0,0 +1,23 @@ +struct bonk { }; +void test(bonk X) { + X = X; +} + +// RUN: c-index-test -test-annotate-tokens=%s:1:1:5:5 %s +// CHECK: Keyword: "struct" [1:1 - 1:7] StructDecl=bonk:1:8 (Definition) +// CHECK: Identifier: "bonk" [1:8 - 1:12] StructDecl=bonk:1:8 (Definition) +// CHECK: Punctuation: "{" [1:13 - 1:14] StructDecl=bonk:1:8 (Definition) +// CHECK: Punctuation: "}" [1:15 - 1:16] StructDecl=bonk:1:8 (Definition) +// CHECK: Punctuation: ";" [1:16 - 1:17] +// CHECK: Keyword: "void" [2:1 - 2:5] FunctionDecl=test:2:6 (Definition) +// CHECK: Identifier: "test" [2:6 - 2:10] FunctionDecl=test:2:6 (Definition) +// CHECK: Punctuation: "(" [2:10 - 2:11] FunctionDecl=test:2:6 (Definition) +// CHECK: Identifier: "bonk" [2:11 - 2:15] TypeRef=struct bonk:1:8 +// CHECK: Identifier: "X" [2:16 - 2:17] ParmDecl=X:2:16 (Definition) +// CHECK: Punctuation: ")" [2:17 - 2:18] FunctionDecl=test:2:6 (Definition) +// CHECK: Punctuation: "{" [2:19 - 2:20] UnexposedStmt= +// CHECK: Identifier: "X" [3:5 - 3:6] DeclRefExpr=X:2:16 +// CHECK: Punctuation: "=" [3:7 - 3:8] DeclRefExpr=operator=:1:8 +// CHECK: Identifier: "X" [3:9 - 3:10] DeclRefExpr=X:2:16 +// CHECK: Punctuation: ";" [3:10 - 3:11] UnexposedStmt= +// CHECK: Punctuation: "}" [4:1 - 4:2] UnexposedStmt= -- cgit v1.2.3