Chromium Code Reviews| Index: src/prettyprinter.cc |
| =================================================================== |
| --- src/prettyprinter.cc (revision 3045) |
| +++ src/prettyprinter.cc (working copy) |
| @@ -147,46 +147,42 @@ |
| } |
| -void PrettyPrinter::VisitLoopStatement(LoopStatement* node) { |
| +void PrettyPrinter::VisitDoWhileStatement(DoWhileStatement* node) { |
| PrintLabels(node->labels()); |
| - switch (node->type()) { |
| - case LoopStatement::DO_LOOP: |
| - ASSERT(node->init() == NULL); |
| - ASSERT(node->next() == NULL); |
| - Print("do "); |
| - Visit(node->body()); |
| - Print(" while ("); |
| - Visit(node->cond()); |
| - Print(");"); |
| - break; |
| + Print("do "); |
| + Visit(node->body()); |
| + Print(" while ("); |
| + Visit(node->cond()); |
| + Print(");"); |
| +} |
| - case LoopStatement::FOR_LOOP: |
| - Print("for ("); |
| - if (node->init() != NULL) { |
| - Visit(node->init()); |
| - Print(" "); |
| - } else { |
| - Print("; "); |
| - } |
| - if (node->cond() != NULL) |
| - Visit(node->cond()); |
| - Print("; "); |
| - if (node->next() != NULL) |
| - Visit(node->next()); // prints extra ';', unfortunately |
| - // to fix: should use Expression for next |
| - Print(") "); |
| - Visit(node->body()); |
| - break; |
| - case LoopStatement::WHILE_LOOP: |
| - ASSERT(node->init() == NULL); |
| - ASSERT(node->next() == NULL); |
| - Print("while ("); |
| - Visit(node->cond()); |
| - Print(") "); |
| - Visit(node->body()); |
| - break; |
| +void PrettyPrinter::VisitWhileStatement(WhileStatement* node) { |
| + PrintLabels(node->labels()); |
| + Print("while ("); |
| + Visit(node->cond()); |
| + Print(") "); |
| + Visit(node->body()); |
| +} |
| + |
| + |
| +void PrettyPrinter::VisitForStatement(ForStatement* node) { |
| + PrintLabels(node->labels()); |
| + Print("for ("); |
| + if (node->init() != NULL) { |
| + Visit(node->init()); |
| + Print(" "); |
| + } else { |
| + Print("; "); |
| } |
| + if (node->cond() != NULL) Visit(node->cond()); |
| + Print("; "); |
| + if (node->next() != NULL) { |
| + Visit(node->next()); // prints extra ';', unfortunately |
|
William Hesse
2009/10/12 11:45:35
I don't understand this comment.
|
| + // to fix: should use Expression for next |
| + } |
| + Print(") "); |
| + Visit(node->body()); |
| } |
| @@ -201,7 +197,7 @@ |
| } |
| -void PrettyPrinter::VisitTryCatch(TryCatch* node) { |
| +void PrettyPrinter::VisitTryCatchStatement(TryCatchStatement* node) { |
| Print("try "); |
| Visit(node->try_block()); |
| Print(" catch ("); |
| @@ -211,7 +207,7 @@ |
| } |
| -void PrettyPrinter::VisitTryFinally(TryFinally* node) { |
| +void PrettyPrinter::VisitTryFinallyStatement(TryFinallyStatement* node) { |
| Print("try "); |
| Visit(node->try_block()); |
| Print(" finally "); |
| @@ -841,12 +837,28 @@ |
| } |
| -void AstPrinter::VisitLoopStatement(LoopStatement* node) { |
| - IndentedScope indent(node->OperatorString()); |
| +void AstPrinter::VisitDoWhileStatement(DoWhileStatement* node) { |
| + IndentedScope indent("DO"); |
| PrintLabelsIndented(NULL, node->labels()); |
| + PrintIndentedVisit("BODY", node->body()); |
| + PrintIndentedVisit("COND", node->cond()); |
| +} |
| + |
| + |
| +void AstPrinter::VisitWhileStatement(WhileStatement* node) { |
| + IndentedScope indent("WHILE"); |
| + PrintLabelsIndented(NULL, node->labels()); |
| + PrintIndentedVisit("COND", node->cond()); |
| + PrintIndentedVisit("BODY", node->body()); |
| +} |
| + |
| + |
| +void AstPrinter::VisitForStatement(ForStatement* node) { |
| + IndentedScope indent("FOR"); |
| + PrintLabelsIndented(NULL, node->labels()); |
| if (node->init()) PrintIndentedVisit("INIT", node->init()); |
| if (node->cond()) PrintIndentedVisit("COND", node->cond()); |
| - if (node->body()) PrintIndentedVisit("BODY", node->body()); |
| + PrintIndentedVisit("BODY", node->body()); |
| if (node->next()) PrintIndentedVisit("NEXT", node->next()); |
| } |
| @@ -859,7 +871,7 @@ |
| } |
| -void AstPrinter::VisitTryCatch(TryCatch* node) { |
| +void AstPrinter::VisitTryCatchStatement(TryCatchStatement* node) { |
| IndentedScope indent("TRY CATCH"); |
| PrintIndentedVisit("TRY", node->try_block()); |
| PrintIndentedVisit("CATCHVAR", node->catch_var()); |
| @@ -867,7 +879,7 @@ |
| } |
| -void AstPrinter::VisitTryFinally(TryFinally* node) { |
| +void AstPrinter::VisitTryFinallyStatement(TryFinallyStatement* node) { |
| IndentedScope indent("TRY FINALLY"); |
| PrintIndentedVisit("TRY", node->try_block()); |
| PrintIndentedVisit("FINALLY", node->finally_block()); |