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 { |