Index: src/ast-numbering.cc |
diff --git a/src/ast-numbering.cc b/src/ast-numbering.cc |
index 8479191b5e9b44cfd00cf1b5010401f4f666966b..f9f7438f572dfaa7dac43869eaf892cb9b8aa471 100644 |
--- a/src/ast-numbering.cc |
+++ b/src/ast-numbering.cc |
@@ -348,6 +348,12 @@ void AstNumberingVisitor::VisitProperty(Property* node) { |
void AstNumberingVisitor::VisitAssignment(Assignment* node) { |
IncrementNodeCount(); |
node->set_base_id(ReserveIdRange(Assignment::num_ids())); |
+ |
+ AssignmentPattern* pattern = node->target()->AsAssignmentPattern(); |
+ if (pattern && pattern->is_rewritten()) { |
+ return Visit(pattern->expression()); |
+ } |
+ |
if (node->is_compound()) VisitBinaryOperation(node->binary_operation()); |
VisitReference(node->target()); |
Visit(node->value()); |
@@ -473,6 +479,12 @@ void AstNumberingVisitor::VisitClassLiteral(ClassLiteral* node) { |
} |
+void AstNumberingVisitor::VisitAssignmentPattern(AssignmentPattern* node) { |
+ IncrementNodeCount(); |
+ Visit(node->expression()); |
+} |
+ |
+ |
void AstNumberingVisitor::VisitObjectLiteral(ObjectLiteral* node) { |
IncrementNodeCount(); |
node->set_base_id(ReserveIdRange(node->num_ids())); |