Index: runtime/vm/ast_printer.cc |
diff --git a/runtime/vm/ast_printer.cc b/runtime/vm/ast_printer.cc |
index de639406de038637996bbc53d831cb6645369251..54be6d7a17c4921e678f1de1a162b4b9e2d29af8 100644 |
--- a/runtime/vm/ast_printer.cc |
+++ b/runtime/vm/ast_printer.cc |
@@ -17,17 +17,14 @@ namespace dart { |
AstPrinter::AstPrinter(bool log) |
: indent_(0), logger_(log ? Log::Current() : Log::NoOpLog()) {} |
- |
AstPrinter::~AstPrinter() {} |
- |
void AstPrinter::VisitGenericAstNode(AstNode* node) { |
logger_->Print("(%s ", node->Name()); |
node->VisitChildren(this); |
logger_->Print(")"); |
} |
- |
void AstPrinter::VisitSequenceNode(SequenceNode* node) { |
indent_++; |
LocalScope* scope = node->scope(); |
@@ -51,17 +48,14 @@ void AstPrinter::VisitSequenceNode(SequenceNode* node) { |
indent_--; |
} |
- |
void AstPrinter::VisitCloneContextNode(CloneContextNode* node) { |
VisitGenericAstNode(node); |
} |
- |
void AstPrinter::VisitArgumentListNode(ArgumentListNode* arguments) { |
VisitGenericAstNode(arguments); |
} |
- |
void AstPrinter::VisitReturnNode(ReturnNode* node) { |
const char* kind; |
switch (node->return_type()) { |
@@ -83,7 +77,6 @@ void AstPrinter::VisitReturnNode(ReturnNode* node) { |
logger_->Print(")"); |
} |
- |
void AstPrinter::VisitGenericLocalNode(AstNode* node, |
const LocalVariable& variable) { |
logger_->Print("(%s ", node->Name()); |
@@ -93,17 +86,14 @@ void AstPrinter::VisitGenericLocalNode(AstNode* node, |
logger_->Print(")"); |
} |
- |
void AstPrinter::VisitLoadLocalNode(LoadLocalNode* node) { |
VisitGenericLocalNode(node, node->local()); |
} |
- |
void AstPrinter::VisitStoreLocalNode(StoreLocalNode* node) { |
VisitGenericLocalNode(node, node->local()); |
} |
- |
void AstPrinter::VisitGenericFieldNode(AstNode* node, const Field& field) { |
logger_->Print( |
"(%s %s%s \"%s\" ", node->Name(), field.is_final() ? "final " : "", |
@@ -113,27 +103,22 @@ void AstPrinter::VisitGenericFieldNode(AstNode* node, const Field& field) { |
logger_->Print(")"); |
} |
- |
void AstPrinter::VisitLoadInstanceFieldNode(LoadInstanceFieldNode* node) { |
VisitGenericFieldNode(node, node->field()); |
} |
- |
void AstPrinter::VisitStoreInstanceFieldNode(StoreInstanceFieldNode* node) { |
VisitGenericFieldNode(node, Field::ZoneHandle(node->field().Original())); |
} |
- |
void AstPrinter::VisitLoadStaticFieldNode(LoadStaticFieldNode* node) { |
VisitGenericFieldNode(node, node->field()); |
} |
- |
void AstPrinter::VisitStoreStaticFieldNode(StoreStaticFieldNode* node) { |
VisitGenericFieldNode(node, node->field()); |
} |
- |
void AstPrinter::PrintLocalVariable(const LocalVariable* variable) { |
logger_->Print("%s%s \"%s\"", variable->is_final() ? "final " : "", |
String::Handle(variable->type().Name()).ToCString(), |
@@ -148,7 +133,6 @@ void AstPrinter::PrintLocalVariable(const LocalVariable* variable) { |
} |
} |
- |
void AstPrinter::PrintNewlineAndIndent() { |
logger_->Print("\n"); |
for (intptr_t p = 0; p < indent_; ++p) { |
@@ -156,7 +140,6 @@ void AstPrinter::PrintNewlineAndIndent() { |
} |
} |
- |
void AstPrinter::VisitLetNode(LetNode* node) { |
logger_->Print("(Let ("); |
// Indent the variables and initializers by two. |
@@ -181,30 +164,25 @@ void AstPrinter::VisitLetNode(LetNode* node) { |
--indent_; |
} |
- |
void AstPrinter::VisitArrayNode(ArrayNode* node) { |
VisitGenericAstNode(node); |
} |
- |
void AstPrinter::VisitStringInterpolateNode(StringInterpolateNode* node) { |
VisitGenericAstNode(node); |
} |
- |
void AstPrinter::VisitLiteralNode(LiteralNode* node) { |
const Instance& literal = node->literal(); |
logger_->Print("(%s \"%s\")", node->Name(), literal.ToCString()); |
} |
- |
void AstPrinter::VisitTypeNode(TypeNode* node) { |
const AbstractType& type = node->type(); |
logger_->Print("(%s \"%s\")", node->Name(), |
String::Handle(type.Name()).ToCString()); |
} |
- |
void AstPrinter::VisitAssignableNode(AssignableNode* node) { |
const AbstractType& type = node->type(); |
const String& dst_name = node->dst_name(); |
@@ -214,57 +192,48 @@ void AstPrinter::VisitAssignableNode(AssignableNode* node) { |
logger_->Print(")"); |
} |
- |
void AstPrinter::VisitAwaitNode(AwaitNode* node) { |
logger_->Print("(*****%s***** (scope \"%p\") ", node->Name(), node->scope()); |
node->VisitChildren(this); |
logger_->Print(")"); |
} |
- |
void AstPrinter::VisitAwaitMarkerNode(AwaitMarkerNode* node) { |
logger_->Print("(%s (async_scope \"%p\" await_scope \"%p\"))", node->Name(), |
node->async_scope(), node->await_scope()); |
} |
- |
void AstPrinter::VisitPrimaryNode(PrimaryNode* node) { |
logger_->Print("(*****%s***** \"%s\")", node->Name(), |
node->primary().ToCString()); |
} |
- |
void AstPrinter::VisitComparisonNode(ComparisonNode* node) { |
logger_->Print("(%s %s ", node->Name(), node->TokenName()); |
node->VisitChildren(this); |
logger_->Print(")"); |
} |
- |
void AstPrinter::VisitBinaryOpNode(BinaryOpNode* node) { |
logger_->Print("(%s %s ", node->Name(), node->TokenName()); |
node->VisitChildren(this); |
logger_->Print(")"); |
} |
- |
void AstPrinter::VisitUnaryOpNode(UnaryOpNode* node) { |
logger_->Print("(%s %s ", node->Name(), node->TokenName()); |
node->VisitChildren(this); |
logger_->Print(")"); |
} |
- |
void AstPrinter::VisitConditionalExprNode(ConditionalExprNode* node) { |
VisitGenericAstNode(node); |
} |
- |
void AstPrinter::VisitIfNode(IfNode* node) { |
VisitGenericAstNode(node); |
} |
- |
void AstPrinter::VisitCaseNode(CaseNode* node) { |
logger_->Print("(%s (", node->Name()); |
for (int i = 0; i < node->case_expressions()->length(); i++) { |
@@ -278,17 +247,14 @@ void AstPrinter::VisitCaseNode(CaseNode* node) { |
logger_->Print(")"); |
} |
- |
void AstPrinter::VisitSwitchNode(SwitchNode* node) { |
VisitGenericAstNode(node); |
} |
- |
void AstPrinter::VisitWhileNode(WhileNode* node) { |
VisitGenericAstNode(node); |
} |
- |
void AstPrinter::VisitForNode(ForNode* node) { |
// Complicated because the condition is optional and so we clearly want to |
// indicate the subparts. |
@@ -305,18 +271,15 @@ void AstPrinter::VisitForNode(ForNode* node) { |
logger_->Print(")"); |
} |
- |
void AstPrinter::VisitDoWhileNode(DoWhileNode* node) { |
VisitGenericAstNode(node); |
} |
- |
void AstPrinter::VisitJumpNode(JumpNode* node) { |
logger_->Print("(%s %s %s (scope \"%p\"))", node->Name(), node->TokenName(), |
node->label()->name().ToCString(), node->label()->owner()); |
} |
- |
void AstPrinter::VisitInstanceCallNode(InstanceCallNode* node) { |
logger_->Print("(%s \"%s\" ", node->Name(), |
node->function_name().ToCString()); |
@@ -324,7 +287,6 @@ void AstPrinter::VisitInstanceCallNode(InstanceCallNode* node) { |
logger_->Print(")"); |
} |
- |
void AstPrinter::VisitStaticCallNode(StaticCallNode* node) { |
const char* function_fullname = node->function().ToFullyQualifiedCString(); |
logger_->Print("(%s \"%s\" ", node->Name(), function_fullname); |
@@ -332,18 +294,15 @@ void AstPrinter::VisitStaticCallNode(StaticCallNode* node) { |
logger_->Print(")"); |
} |
- |
void AstPrinter::VisitClosureNode(ClosureNode* node) { |
const char* function_fullname = node->function().ToFullyQualifiedCString(); |
logger_->Print("(%s \"%s\")", node->Name(), function_fullname); |
} |
- |
void AstPrinter::VisitClosureCallNode(ClosureCallNode* node) { |
VisitGenericAstNode(node); |
} |
- |
void AstPrinter::VisitConstructorCallNode(ConstructorCallNode* node) { |
const char* kind = node->constructor().IsFactory() ? "factory " : ""; |
const char* constructor_name = node->constructor().ToFullyQualifiedCString(); |
@@ -352,34 +311,29 @@ void AstPrinter::VisitConstructorCallNode(ConstructorCallNode* node) { |
logger_->Print(")"); |
} |
- |
void AstPrinter::VisitInstanceGetterNode(InstanceGetterNode* node) { |
logger_->Print("(%s \"%s\" ", node->Name(), node->field_name().ToCString()); |
node->VisitChildren(this); |
logger_->Print(")"); |
} |
- |
void AstPrinter::VisitInstanceSetterNode(InstanceSetterNode* node) { |
logger_->Print("(%s \"%s\" ", node->Name(), node->field_name().ToCString()); |
node->VisitChildren(this); |
logger_->Print(")"); |
} |
- |
void AstPrinter::VisitInitStaticFieldNode(InitStaticFieldNode* node) { |
logger_->Print("(%s \"%s\")", node->Name(), |
String::Handle(node->field().name()).ToCString()); |
} |
- |
void AstPrinter::VisitStaticGetterNode(StaticGetterNode* node) { |
String& class_name = String::Handle(node->cls().Name()); |
logger_->Print("(%s \"%s.%s\")", node->Name(), class_name.ToCString(), |
node->field_name().ToCString()); |
} |
- |
void AstPrinter::VisitStaticSetterNode(StaticSetterNode* node) { |
String& class_name = String::Handle(node->cls().Name()); |
logger_->Print("(%s \"%s.%s\" ", node->Name(), class_name.ToCString(), |
@@ -388,21 +342,18 @@ void AstPrinter::VisitStaticSetterNode(StaticSetterNode* node) { |
logger_->Print(")"); |
} |
- |
void AstPrinter::VisitLoadIndexedNode(LoadIndexedNode* node) { |
logger_->Print("(%s%s ", node->Name(), node->IsSuperLoad() ? " super" : ""); |
node->VisitChildren(this); |
logger_->Print(")"); |
} |
- |
void AstPrinter::VisitStoreIndexedNode(StoreIndexedNode* node) { |
logger_->Print("(%s%s ", node->Name(), node->IsSuperStore() ? " super" : ""); |
node->VisitChildren(this); |
logger_->Print(")"); |
} |
- |
void AstPrinter::VisitNativeBodyNode(NativeBodyNode* node) { |
logger_->Print( |
"(%s \"%s\" (%" Pd " args))", node->Name(), |
@@ -410,12 +361,10 @@ void AstPrinter::VisitNativeBodyNode(NativeBodyNode* node) { |
NativeArguments::ParameterCountForResolution(node->function())); |
} |
- |
void AstPrinter::VisitCatchClauseNode(CatchClauseNode* node) { |
VisitGenericAstNode(node); |
} |
- |
void AstPrinter::VisitTryCatchNode(TryCatchNode* node) { |
logger_->Print("(%s ", node->Name()); |
node->try_block()->Visit(this); |
@@ -428,22 +377,18 @@ void AstPrinter::VisitTryCatchNode(TryCatchNode* node) { |
logger_->Print(")"); |
} |
- |
void AstPrinter::VisitThrowNode(ThrowNode* node) { |
VisitGenericAstNode(node); |
} |
- |
void AstPrinter::VisitStopNode(StopNode* node) { |
logger_->Print("(%s %s)", node->Name(), node->message()); |
} |
- |
void AstPrinter::VisitInlinedFinallyNode(InlinedFinallyNode* node) { |
VisitGenericAstNode(node); |
} |
- |
void AstPrinter::PrintNode(AstNode* node) { |
ASSERT(node != NULL); |
AstPrinter ast_printer; |
@@ -451,14 +396,12 @@ void AstPrinter::PrintNode(AstNode* node) { |
logger_->Print("\n"); |
} |
- |
void AstPrinter::IndentN(int count) { |
for (int i = 0; i < count; i++) { |
logger_->Print(" "); |
} |
} |
- |
void AstPrinter::PrintLocalScopeVariable(const LocalScope* scope, |
LocalVariable* var, |
int indent) { |
@@ -483,7 +426,6 @@ void AstPrinter::PrintLocalScopeVariable(const LocalScope* scope, |
scope->end_token_pos().ToCString()); |
} |
- |
void AstPrinter::PrintLocalScope(const LocalScope* scope, |
int start_index, |
int indent) { |
@@ -508,7 +450,6 @@ void AstPrinter::PrintLocalScope(const LocalScope* scope, |
} |
} |
- |
void AstPrinter::PrintFunctionScope(const ParsedFunction& parsed_function) { |
HANDLESCOPE(parsed_function.thread()); |
const Function& function = parsed_function.function(); |
@@ -557,7 +498,6 @@ void AstPrinter::PrintFunctionScope(const ParsedFunction& parsed_function) { |
logger_->Print("}\n"); |
} |
- |
void AstPrinter::PrintFunctionNodes(const ParsedFunction& parsed_function) { |
HANDLESCOPE(parsed_function.thread()); |
SequenceNode* node_sequence = parsed_function.node_sequence(); |