Revision: 9245
Author:   [email protected]
Date:     Mon Sep 12 07:00:16 2011
Log: Improved pretty printing of VAR PROXY and some control flow AST nodes.
Review URL: http://codereview.chromium.org/7866041
http://code.google.com/p/v8/source/detail?r=9245

Modified:
 /branches/bleeding_edge/src/prettyprinter.cc

=======================================
--- /branches/bleeding_edge/src/prettyprinter.cc        Fri Sep  9 15:39:47 2011
+++ /branches/bleeding_edge/src/prettyprinter.cc        Mon Sep 12 07:00:16 2011
@@ -633,17 +633,14 @@

void AstPrinter::PrintLabelsIndented(const char* info, ZoneStringList* labels) {
   if (labels != NULL && labels->length() > 0) {
-    if (info == NULL) {
-      PrintIndented("LABELS ");
-    } else {
-      PrintIndented(info);
-      Print(" ");
-    }
+    PrintIndented(info == NULL ? "LABELS" : info);
+    Print(" ");
     PrintLabels(labels);
+    Print("\n");
   } else if (info != NULL) {
     PrintIndented(info);
-  }
-  Print("\n");
+    Print("\n");
+  }
 }


@@ -929,25 +926,25 @@

 void AstPrinter::VisitVariableProxy(VariableProxy* node) {
   Variable* var = node->var();
-  PrintLiteralWithModeIndented("VAR PROXY", var, node->name());
-  { IndentedScope indent(this);
-    switch (var->location()) {
-      case Variable::UNALLOCATED:
-        break;
-      case Variable::PARAMETER:
-        Print("parameter[%d]", var->index());
-        break;
-      case Variable::LOCAL:
-        Print("local[%d]", var->index());
-        break;
-      case Variable::CONTEXT:
-        Print("context[%d]", var->index());
-        break;
-      case Variable::LOOKUP:
-        Print("lookup");
-        break;
-    }
-  }
+  EmbeddedVector<char, 128> buf;
+  int pos = OS::SNPrintF(buf, "VAR PROXY");
+  switch (var->location()) {
+    case Variable::UNALLOCATED:
+      break;
+    case Variable::PARAMETER:
+      OS::SNPrintF(buf + pos, " parameter[%d]", var->index());
+      break;
+    case Variable::LOCAL:
+      OS::SNPrintF(buf + pos, " local[%d]", var->index());
+      break;
+    case Variable::CONTEXT:
+      OS::SNPrintF(buf + pos, " context[%d]", var->index());
+      break;
+    case Variable::LOOKUP:
+      OS::SNPrintF(buf + pos, " lookup");
+      break;
+  }
+  PrintLiteralWithModeIndented(buf.start(), var, node->name());
 }


--
v8-dev mailing list
[email protected]
http://groups.google.com/group/v8-dev

Reply via email to