diff options
Diffstat (limited to 'clang/test')
-rw-r--r-- | clang/test/Index/annotate-tokens.cpp | 6 | ||||
-rw-r--r-- | clang/test/Index/index-refs.cpp | 23 | ||||
-rw-r--r-- | clang/test/Index/recursive-cxx-member-calls.cpp | 2 |
3 files changed, 27 insertions, 4 deletions
diff --git a/clang/test/Index/annotate-tokens.cpp b/clang/test/Index/annotate-tokens.cpp index 5a8f5e201d0..3062901b7c2 100644 --- a/clang/test/Index/annotate-tokens.cpp +++ b/clang/test/Index/annotate-tokens.cpp @@ -34,7 +34,7 @@ void test3(S2 s2) { // CHECK: Punctuation: ")" [2:17 - 2:18] FunctionDecl=test:2:6 (Definition) // CHECK: Punctuation: "{" [2:19 - 2:20] CompoundStmt= // CHECK: Identifier: "X" [3:5 - 3:6] DeclRefExpr=X:2:16 -// CHECK: Punctuation: "=" [3:7 - 3:8] CallExpr=operator=:1:8 +// 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] CompoundStmt= // CHECK: Keyword: "__is_base_of" [4:5 - 4:17] UnexposedExpr= @@ -78,7 +78,7 @@ void test3(S2 s2) { // CHECK: Punctuation: "(" [13:3 - 13:4] ParenExpr= // CHECK: Identifier: "x" [13:4 - 13:5] DeclRefExpr=x:11:14 // CHECK: Punctuation: ")" [13:5 - 13:6] ParenExpr= -// CHECK: Punctuation: "++" [13:6 - 13:8] CallExpr=operator++:9:5 +// CHECK: Punctuation: "++" [13:6 - 13:8] DeclRefExpr=operator++:9:5 // CHECK: Punctuation: ";" [13:8 - 13:9] CompoundStmt= // CHECK: Punctuation: "}" [14:1 - 14:2] CompoundStmt= // CHECK: Keyword: "struct" [16:1 - 16:7] StructDecl=S1:16:8 (Definition) @@ -111,7 +111,7 @@ void test3(S2 s2) { // CHECK: Punctuation: ")" [18:17 - 18:18] FunctionDecl=test3:18:6 (Definition) // CHECK: Punctuation: "{" [18:19 - 18:20] CompoundStmt= // CHECK: Identifier: "s2" [19:3 - 19:5] DeclRefExpr=s2:18:15 -// CHECK: Punctuation: "->" [19:5 - 19:7] MemberRefExpr=f:16:18 +// CHECK: Punctuation: "->" [19:5 - 19:7] DeclRefExpr=operator->:17:17 // CHECK: Identifier: "f" [19:7 - 19:8] MemberRefExpr=f:16:18 // CHECK: Punctuation: "(" [19:8 - 19:9] CallExpr=f:16:18 // CHECK: Punctuation: ")" [19:9 - 19:10] CallExpr=f:16:18 diff --git a/clang/test/Index/index-refs.cpp b/clang/test/Index/index-refs.cpp index 0b3c0bc423c..00767b061d0 100644 --- a/clang/test/Index/index-refs.cpp +++ b/clang/test/Index/index-refs.cpp @@ -18,6 +18,22 @@ enum { SecondVal = EnumVal }; +struct S { + S& operator++(); + int operator*(); + S& operator=(int x); + S& operator!=(int x); + S& operator()(int x); +}; + +void foo2(S &s) { + (void)++s; + (void)*s; + s = 3; + (void)(s != 3); + s(3); +} + // RUN: c-index-test -index-file %s | FileCheck %s // CHECK: [indexDeclaration]: kind: namespace | name: NS // CHECK-NEXT: [indexDeclaration]: kind: variable | name: gx @@ -35,3 +51,10 @@ enum { // CHECK-NEXT: [indexDeclaration]: kind: enum // CHECK-NEXT: [indexDeclaration]: kind: enumerator | name: SecondVal // CHECK-NEXT: [indexEntityReference]: kind: enumerator | name: EnumVal + +// CHECK: [indexDeclaration]: kind: function | name: foo2 +// CHECK: [indexEntityReference]: kind: c++-instance-method | name: operator++ +// CHECK-NEXT: [indexEntityReference]: kind: c++-instance-method | name: operator* +// CHECK-NEXT: [indexEntityReference]: kind: c++-instance-method | name: operator= +// CHECK-NEXT: [indexEntityReference]: kind: c++-instance-method | name: operator!= +// CHECK-NEXT: [indexEntityReference]: kind: c++-instance-method | name: operator() diff --git a/clang/test/Index/recursive-cxx-member-calls.cpp b/clang/test/Index/recursive-cxx-member-calls.cpp index adaaae9cdd1..b80cbf40e87 100644 --- a/clang/test/Index/recursive-cxx-member-calls.cpp +++ b/clang/test/Index/recursive-cxx-member-calls.cpp @@ -933,7 +933,7 @@ AttributeList::Kind AttributeList::getKind(const IdentifierInfo * Name) { // CHECK-tokens: Punctuation: ")" [102:58 - 102:59] CallExpr=endswith:56:8 // CHECK-tokens: Punctuation: ")" [102:59 - 102:60] IfStmt= // CHECK-tokens: Identifier: "AttrName" [103:5 - 103:13] DeclRefExpr=AttrName:101:19 -// CHECK-tokens: Punctuation: "=" [103:14 - 103:15] CallExpr=operator=:38:7 +// CHECK-tokens: Punctuation: "=" [103:14 - 103:15] DeclRefExpr=operator=:38:7 // CHECK-tokens: Identifier: "AttrName" [103:16 - 103:24] DeclRefExpr=AttrName:101:19 // CHECK-tokens: Punctuation: "." [103:24 - 103:25] MemberRefExpr=substr:60:13 // CHECK-tokens: Identifier: "substr" [103:25 - 103:31] MemberRefExpr=substr:60:13 |