Chromium Code Reviews| Index: src/ast-expression-visitor.cc |
| diff --git a/src/ast-expression-visitor.cc b/src/ast-expression-visitor.cc |
| index d534d1f0f036c1210175cd7f7b89505c7016b860..fb6822ec2117139d07e7cbb0d43cfdc63e7fd0a0 100644 |
| --- a/src/ast-expression-visitor.cc |
| +++ b/src/ast-expression-visitor.cc |
| @@ -32,14 +32,20 @@ namespace internal { |
| } while (false) |
| -AstExpressionVisitor::AstExpressionVisitor(Isolate* isolate, |
| - FunctionLiteral* root) |
| +AstExpressionVisitor::AstExpressionVisitor(Isolate* isolate, Expression* root) |
| : root_(root), depth_(0) { |
| InitializeAstVisitor(isolate); |
| } |
| -void AstExpressionVisitor::Run() { RECURSE(VisitFunctionLiteral(root_)); } |
| +AstExpressionVisitor::AstExpressionVisitor(uintptr_t stack_limit, |
| + Expression* root) |
| + : root_(root), depth_(0) { |
| + InitializeAstVisitor(stack_limit); |
| +} |
| + |
| + |
| +void AstExpressionVisitor::Run() { RECURSE(Visit(root_)); } |
| void AstExpressionVisitor::VisitVariableDeclaration(VariableDeclaration* decl) { |
| @@ -223,6 +229,7 @@ void AstExpressionVisitor::VisitObjectLiteral(ObjectLiteral* expr) { |
| ZoneList<ObjectLiteralProperty*>* props = expr->properties(); |
| for (int i = 0; i < props->length(); ++i) { |
| ObjectLiteralProperty* prop = props->at(i); |
| + RECURSE_EXPRESSION(Visit(prop->key())); |
| RECURSE_EXPRESSION(Visit(prop->value())); |
| } |
| } |
| @@ -336,10 +343,20 @@ void AstExpressionVisitor::VisitDeclarations(ZoneList<Declaration*>* decls) { |
| } |
| -void AstExpressionVisitor::VisitClassLiteral(ClassLiteral* expr) {} |
| +void AstExpressionVisitor::VisitClassLiteral(ClassLiteral* expr) { |
|
rossberg
2015/10/16 11:55:41
Oh, how did this even work before?
adamk
2015/10/16 13:38:28
Since this was only designed for asm, it didn't ha
|
| + VisitExpression(expr); |
| + ZoneList<ObjectLiteralProperty*>* props = expr->properties(); |
| + for (int i = 0; i < props->length(); ++i) { |
| + ObjectLiteralProperty* prop = props->at(i); |
| + RECURSE_EXPRESSION(Visit(prop->key())); |
| + RECURSE_EXPRESSION(Visit(prop->value())); |
| + } |
| +} |
| -void AstExpressionVisitor::VisitSpread(Spread* expr) {} |
| +void AstExpressionVisitor::VisitSpread(Spread* expr) { |
| + RECURSE(Visit(expr->expression())); |
| +} |
| void AstExpressionVisitor::VisitEmptyParentheses(EmptyParentheses* expr) {} |