[PATCH] D85185: [SyntaxTree] Add test coverage for `->*` operator
Eduardo Caldas via Phabricator via cfe-commits
cfe-commits at lists.llvm.org
Tue Aug 4 01:34:20 PDT 2020
eduucaldas created this revision.
Herald added a project: clang.
Herald added a subscriber: cfe-commits.
eduucaldas requested review of this revision.
This was the last binary operator that we supported but didn't have any
test coverage. The recent fix in a crash in member pointers allowed us
to add this test.
Repository:
rG LLVM Github Monorepo
https://reviews.llvm.org/D85185
Files:
clang/unittests/Tooling/Syntax/TreeTest.cpp
Index: clang/unittests/Tooling/Syntax/TreeTest.cpp
===================================================================
--- clang/unittests/Tooling/Syntax/TreeTest.cpp
+++ clang/unittests/Tooling/Syntax/TreeTest.cpp
@@ -2322,16 +2322,18 @@
friend bool operator<(const X&, const X&);
friend X operator<<(X&, const X&);
X operator,(X&);
- // TODO: Fix crash on member function pointer and add a test for `->*`
- // TODO: Unbox operators in syntax tree.
+ X operator->*(int);
+ // TODO: Unbox operators in syntax tree.
// Represent operators by `+` instead of `IdExpression-UnqualifiedId-+`
};
-void test(X x, X y) {
+int X::*pmi;
+void test(X x, X y, X* xp) {
x = y;
x + y;
x < y;
x << y;
x, y;
+ xp->*pmi;
}
)cpp",
R"txt(
@@ -2430,8 +2432,28 @@
| | | | `-&
| | | `-)
| | `-;
+| |-SimpleDeclaration
+| | |-X
+| | |-SimpleDeclarator
+| | | |-operator
+| | | |-->*
+| | | `-ParametersAndQualifiers
+| | | |-(
+| | | |-SimpleDeclaration
+| | | | `-int
+| | | `-)
+| | `-;
| |-}
| `-;
+|-SimpleDeclaration
+| |-int
+| |-SimpleDeclarator
+| | |-MemberPointer
+| | | |-X
+| | | |-::
+| | | `-*
+| | `-pmi
+| `-;
`-SimpleDeclaration
|-void
|-SimpleDeclarator
@@ -2447,6 +2469,12 @@
| | |-X
| | `-SimpleDeclarator
| | `-y
+ | |-,
+ | |-SimpleDeclaration
+ | | |-X
+ | | `-SimpleDeclarator
+ | | |-*
+ | | `-xp
| `-)
`-CompoundStatement
|-{
@@ -2511,6 +2539,16 @@
| | `-UnqualifiedId
| | `-y
| `-;
+ |-ExpressionStatement
+ | |-BinaryOperatorExpression
+ | | |-IdExpression
+ | | | `-UnqualifiedId
+ | | | `-xp
+ | | |-->*
+ | | `-IdExpression
+ | | `-UnqualifiedId
+ | | `-pmi
+ | `-;
`-}
)txt"));
}
-------------- next part --------------
A non-text attachment was scrubbed...
Name: D85185.282827.patch
Type: text/x-patch
Size: 1776 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/cfe-commits/attachments/20200804/20e09793/attachment-0001.bin>
More information about the cfe-commits
mailing list