Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(32)

Unified Diff: src/ast/prettyprinter.h

Issue 2142233003: Templatize AstVisitor with its subclass (Closed) Base URL: https://chromium.googlesource.com/v8/v8.git@master
Patch Set: Created 4 years, 5 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: src/ast/prettyprinter.h
diff --git a/src/ast/prettyprinter.h b/src/ast/prettyprinter.h
index bb36c2bd90828d214896f43093c15a0baf619155..ddaa916e89587fd946af100eb52d4e4ca516d120 100644
--- a/src/ast/prettyprinter.h
+++ b/src/ast/prettyprinter.h
@@ -12,10 +12,10 @@
namespace v8 {
namespace internal {
-class CallPrinter : public AstVisitor {
+class CallPrinter final : public AstVisitor<CallPrinter> {
public:
explicit CallPrinter(Isolate* isolate, bool is_builtin);
- virtual ~CallPrinter();
+ ~CallPrinter();
// The following routine prints the node with position |position| into a
// string. The result string is alive as long as the CallPrinter is alive.
@@ -26,7 +26,7 @@ class CallPrinter : public AstVisitor {
void Find(AstNode* node, bool print = false);
// Individual nodes
-#define DECLARE_VISIT(type) void Visit##type(type* node) override;
+#define DECLARE_VISIT(type) void Visit##type(type* node);
AST_NODE_LIST(DECLARE_VISIT)
#undef DECLARE_VISIT
@@ -53,7 +53,7 @@ class CallPrinter : public AstVisitor {
#ifdef DEBUG
-class PrettyPrinter: public AstVisitor {
+class PrettyPrinter : public AstVisitor<PrettyPrinter> {
Igor Sheludko 2016/07/14 16:39:54 Same here (see HOptimizedGraphBuilder).
Toon Verwaest 2016/07/15 07:07:20 Done.
public:
explicit PrettyPrinter(Isolate* isolate);
virtual ~PrettyPrinter();
@@ -70,7 +70,7 @@ class PrettyPrinter: public AstVisitor {
static void PrintOut(Isolate* isolate, AstNode* node);
// Individual nodes
-#define DECLARE_VISIT(type) void Visit##type(type* node) override;
+#define DECLARE_VISIT(type) virtual void Visit##type(type* node);
AST_NODE_LIST(DECLARE_VISIT)
#undef DECLARE_VISIT
@@ -111,7 +111,7 @@ class AstPrinter: public PrettyPrinter {
static void PrintOut(Isolate* isolate, AstNode* node);
// Individual nodes
-#define DECLARE_VISIT(type) virtual void Visit##type(type* node);
+#define DECLARE_VISIT(type) void Visit##type(type* node) override;
AST_NODE_LIST(DECLARE_VISIT)
#undef DECLARE_VISIT
@@ -120,10 +120,10 @@ class AstPrinter: public PrettyPrinter {
void PrintIndented(const char* txt);
void PrintIndentedVisit(const char* s, AstNode* node);
- void PrintStatements(ZoneList<Statement*>* statements);
+ void PrintStatements(ZoneList<Statement*>* statements) override;
void PrintDeclarations(ZoneList<Declaration*>* declarations);
void PrintParameters(Scope* scope);
- void PrintArguments(ZoneList<Expression*>* arguments);
+ void PrintArguments(ZoneList<Expression*>* arguments) override;
void PrintCaseClause(CaseClause* clause);
void PrintLiteralIndented(const char* info, Handle<Object> value, bool quote);
void PrintLiteralWithModeIndented(const char* info,

Powered by Google App Engine
This is Rietveld 408576698