| Index: src/parsing/parameter-initializer-rewriter.cc
|
| diff --git a/src/parsing/parameter-initializer-rewriter.cc b/src/parsing/parameter-initializer-rewriter.cc
|
| index 4bb367d7d08ba91dae3ac67a42a4a3705455f179..4fea931829b53dc6ecf9e490c2b19768c3e6053d 100644
|
| --- a/src/parsing/parameter-initializer-rewriter.cc
|
| +++ b/src/parsing/parameter-initializer-rewriter.cc
|
| @@ -8,9 +8,7 @@
|
| #include <utility>
|
| #include <vector>
|
|
|
| -#include "src/ast/ast.h"
|
| -#include "src/ast/ast-expression-visitor.h"
|
| -#include "src/ast/scopes.h"
|
| +#include "src/ast/ast-traversal-visitor.h"
|
|
|
| namespace v8 {
|
| namespace internal {
|
| @@ -18,33 +16,34 @@ namespace internal {
|
| namespace {
|
|
|
|
|
| -class Rewriter final : public AstExpressionVisitor {
|
| +class Rewriter final : public AstTraversalVisitor<Rewriter> {
|
| public:
|
| Rewriter(uintptr_t stack_limit, Expression* initializer, Scope* old_scope,
|
| Scope* new_scope)
|
| - : AstExpressionVisitor(stack_limit, initializer),
|
| + : AstTraversalVisitor(stack_limit, initializer),
|
| old_scope_(old_scope),
|
| new_scope_(new_scope),
|
| old_scope_closure_(old_scope->ClosureScope()),
|
| new_scope_closure_(new_scope->ClosureScope()) {}
|
| ~Rewriter();
|
|
|
| - private:
|
| - void VisitExpression(Expression* expr) override {}
|
| -
|
| - void VisitFunctionLiteral(FunctionLiteral* expr) override;
|
| - void VisitClassLiteral(ClassLiteral* expr) override;
|
| - void VisitVariableProxy(VariableProxy* expr) override;
|
| + protected:
|
| + void VisitFunctionLiteral(FunctionLiteral* expr);
|
| + void VisitClassLiteral(ClassLiteral* expr);
|
| + void VisitVariableProxy(VariableProxy* expr);
|
|
|
| - void VisitBlock(Block* stmt) override;
|
| - void VisitTryCatchStatement(TryCatchStatement* stmt) override;
|
| - void VisitWithStatement(WithStatement* stmt) override;
|
| + void VisitBlock(Block* stmt);
|
| + void VisitTryCatchStatement(TryCatchStatement* stmt);
|
| + void VisitWithStatement(WithStatement* stmt);
|
|
|
| + private:
|
| Scope* old_scope_;
|
| Scope* new_scope_;
|
| Scope* old_scope_closure_;
|
| Scope* new_scope_closure_;
|
| std::vector<std::pair<Variable*, int>> temps_;
|
| +
|
| + DEFINE_AST_VISITOR_DISPATCH();
|
| };
|
|
|
| struct LessThanSecond {
|
|
|