Index: src/prettyprinter.cc |
diff --git a/src/prettyprinter.cc b/src/prettyprinter.cc |
index be241162dd73f99a15b5598ef1d3627b1f7fd9e7..642e2793a74c97481d04fde94c31e17d3a1cd1ac 100644 |
--- a/src/prettyprinter.cc |
+++ b/src/prettyprinter.cc |
@@ -13,6 +13,15 @@ |
namespace v8 { |
namespace internal { |
+#define RETURN_IF_FIND_NODE(node) \ |
+ do { \ |
+ AstNode* tmp = node; \ |
+ if (tmp != nullptr) { \ |
+ Find(tmp); \ |
+ return; \ |
+ } \ |
+ } while (false) |
+ |
CallPrinter::CallPrinter(Isolate* isolate) { |
output_ = NULL; |
size_ = 0; |
@@ -274,6 +283,7 @@ void CallPrinter::VisitVariableProxy(VariableProxy* node) { |
void CallPrinter::VisitAssignment(Assignment* node) { |
+ RETURN_IF_FIND_NODE(node->destructuring_assignment()); |
Find(node->target()); |
Find(node->value()); |
} |
@@ -780,6 +790,7 @@ void PrettyPrinter::VisitVariableProxy(VariableProxy* node) { |
void PrettyPrinter::VisitAssignment(Assignment* node) { |
+ RETURN_IF_VISIT_NODE(node->destructuring_assignment()); |
Visit(node->target()); |
Print(" %s ", Token::String(node->op())); |
Visit(node->value()); |
@@ -1529,6 +1540,7 @@ void AstPrinter::VisitVariableProxy(VariableProxy* node) { |
void AstPrinter::VisitAssignment(Assignment* node) { |
IndentedScope indent(this, Token::Name(node->op()), node->position()); |
+ RETURN_IF_VISIT_NODE(node->destructuring_assignment()); |
Visit(node->target()); |
Visit(node->value()); |
} |