diff options
author | Eduardo Caldas <ecaldas@google.com> | 2020-08-11 16:28:00 +0000 |
---|---|---|
committer | Eduardo Caldas <ecaldas@google.com> | 2020-08-12 08:01:18 +0000 |
commit | ac37afa650271d8366b706d79ff8e217fc624cbb (patch) | |
tree | 6848e400e41e103513e6d9ad3dccaa80cfe4fd86 /clang/unittests/Tooling/Syntax/TreeTest.cpp | |
parent | 88bbd30736561190a6733d0ad60aec21446b914c (diff) | |
download | llvm-ac37afa650271d8366b706d79ff8e217fc624cbb.zip llvm-ac37afa650271d8366b706d79ff8e217fc624cbb.tar.gz llvm-ac37afa650271d8366b706d79ff8e217fc624cbb.tar.bz2 |
[SyntaxTree] Unbox operators into tokens for nodes generated from `CXXOperatorCallExpr`
For an user define `<`, `x < y` would yield the syntax tree:
```
BinaryOperatorExpression
|-IdExpression
| `-UnqualifiedId
| `-x
|-IdExpression
| `-UnqualifiedId
| `-<
`-IdExpression
`-UnqualifiedId
`-y
```
But there is no syntatic difference at call site between call site or
built-in `<`. As such they should generate the same syntax tree, namely:
```
BinaryOperatorExpression
|-IdExpression
| `-UnqualifiedId
| `-x
|-<
`-IdExpression
`-UnqualifiedId
`-y
```
Differential Revision: https://reviews.llvm.org/D85750
Diffstat (limited to 'clang/unittests/Tooling/Syntax/TreeTest.cpp')
-rw-r--r-- | clang/unittests/Tooling/Syntax/TreeTest.cpp | 36 |
1 files changed, 9 insertions, 27 deletions
diff --git a/clang/unittests/Tooling/Syntax/TreeTest.cpp b/clang/unittests/Tooling/Syntax/TreeTest.cpp index 4610166..a5d1a4b 100644 --- a/clang/unittests/Tooling/Syntax/TreeTest.cpp +++ b/clang/unittests/Tooling/Syntax/TreeTest.cpp @@ -2592,9 +2592,7 @@ void test(X x, X y, X* xp, int X::* pmi) { | | |-IdExpression | | | `-UnqualifiedId | | | `-x - | | |-IdExpression - | | | `-UnqualifiedId - | | | `-= + | | |-= | | `-IdExpression | | `-UnqualifiedId | | `-y @@ -2605,9 +2603,7 @@ void test(X x, X y, X* xp, int X::* pmi) { | | | `-IdExpression | | | `-UnqualifiedId | | | `-x - | | |-IdExpression - | | | `-UnqualifiedId - | | | `-+ + | | |-+ | | `-IdExpression | | `-UnqualifiedId | | `-y @@ -2617,9 +2613,7 @@ void test(X x, X y, X* xp, int X::* pmi) { | | |-IdExpression | | | `-UnqualifiedId | | | `-x - | | |-IdExpression - | | | `-UnqualifiedId - | | | `-< + | | |-< | | `-IdExpression | | `-UnqualifiedId | | `-y @@ -2629,9 +2623,7 @@ void test(X x, X y, X* xp, int X::* pmi) { | | |-IdExpression | | | `-UnqualifiedId | | | `-x - | | |-IdExpression - | | | `-UnqualifiedId - | | | `-<< + | | |-<< | | `-IdExpression | | `-UnqualifiedId | | `-y @@ -2641,9 +2633,7 @@ void test(X x, X y, X* xp, int X::* pmi) { | | |-IdExpression | | | `-UnqualifiedId | | | `-x - | | |-IdExpression - | | | `-UnqualifiedId - | | | `-, + | | |-, | | `-IdExpression | | `-UnqualifiedId | | `-y @@ -2730,27 +2720,21 @@ void test(X x) { |-{ |-ExpressionStatement | |-PrefixUnaryOperatorExpression - | | |-IdExpression - | | | `-UnqualifiedId - | | | `-++ + | | |-++ | | `-IdExpression | | `-UnqualifiedId | | `-x | `-; |-ExpressionStatement | |-PrefixUnaryOperatorExpression - | | |-IdExpression - | | | `-UnqualifiedId - | | | `-! + | | |-! | | `-IdExpression | | `-UnqualifiedId | | `-x | `-; |-ExpressionStatement | |-PrefixUnaryOperatorExpression - | | |-IdExpression - | | | `-UnqualifiedId - | | | `-& + | | |-& | | `-IdExpression | | `-UnqualifiedId | | `-x @@ -2809,9 +2793,7 @@ void test(X x) { | | |-IdExpression | | | `-UnqualifiedId | | | `-x - | | `-IdExpression - | | `-UnqualifiedId - | | `-++ + | | `-++ | `-; `-} )txt")); |