| OLD | NEW |
| 1 // Copyright 2006-2008 the V8 project authors. All rights reserved. | 1 // Copyright 2006-2008 the V8 project authors. All rights reserved. |
| 2 // Redistribution and use in source and binary forms, with or without | 2 // Redistribution and use in source and binary forms, with or without |
| 3 // modification, are permitted provided that the following conditions are | 3 // modification, are permitted provided that the following conditions are |
| 4 // met: | 4 // met: |
| 5 // | 5 // |
| 6 // * Redistributions of source code must retain the above copyright | 6 // * Redistributions of source code must retain the above copyright |
| 7 // notice, this list of conditions and the following disclaimer. | 7 // notice, this list of conditions and the following disclaimer. |
| 8 // * Redistributions in binary form must reproduce the above | 8 // * Redistributions in binary form must reproduce the above |
| 9 // copyright notice, this list of conditions and the following | 9 // copyright notice, this list of conditions and the following |
| 10 // disclaimer in the documentation and/or other materials provided | 10 // disclaimer in the documentation and/or other materials provided |
| (...skipping 628 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 639 | 639 |
| 640 | 640 |
| 641 AstPrinter::~AstPrinter() { | 641 AstPrinter::~AstPrinter() { |
| 642 ASSERT(indent_ == 0); | 642 ASSERT(indent_ == 0); |
| 643 IndentedScope::SetAstPrinter(NULL); | 643 IndentedScope::SetAstPrinter(NULL); |
| 644 } | 644 } |
| 645 | 645 |
| 646 | 646 |
| 647 void AstPrinter::PrintIndented(const char* txt) { | 647 void AstPrinter::PrintIndented(const char* txt) { |
| 648 for (int i = 0; i < indent_; i++) { | 648 for (int i = 0; i < indent_; i++) { |
| 649 Print(". "); | 649 Print(". "); |
| 650 } | 650 } |
| 651 Print(txt); | 651 Print(txt); |
| 652 } | 652 } |
| 653 | 653 |
| 654 | 654 |
| 655 void AstPrinter::PrintLiteralIndented(const char* info, | 655 void AstPrinter::PrintLiteralIndented(const char* info, |
| 656 Handle<Object> value, | 656 Handle<Object> value, |
| 657 bool quote) { | 657 bool quote) { |
| 658 PrintIndented(info); | 658 PrintIndented(info); |
| 659 Print(" "); | 659 Print(" "); |
| (...skipping 65 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 725 Visit(declarations->at(i)); | 725 Visit(declarations->at(i)); |
| 726 } | 726 } |
| 727 } | 727 } |
| 728 } | 728 } |
| 729 | 729 |
| 730 | 730 |
| 731 void AstPrinter::PrintParameters(Scope* scope) { | 731 void AstPrinter::PrintParameters(Scope* scope) { |
| 732 if (scope->num_parameters() > 0) { | 732 if (scope->num_parameters() > 0) { |
| 733 IndentedScope indent("PARAMS"); | 733 IndentedScope indent("PARAMS"); |
| 734 for (int i = 0; i < scope->num_parameters(); i++) { | 734 for (int i = 0; i < scope->num_parameters(); i++) { |
| 735 PrintLiteralWithModeIndented("VAR ", scope->parameter(i), | 735 PrintLiteralWithModeIndented("VAR", scope->parameter(i), |
| 736 scope->parameter(i)->name(), | 736 scope->parameter(i)->name(), |
| 737 scope->parameter(i)->type()); | 737 scope->parameter(i)->type()); |
| 738 } | 738 } |
| 739 } | 739 } |
| 740 } | 740 } |
| 741 | 741 |
| 742 | 742 |
| 743 void AstPrinter::PrintStatements(ZoneList<Statement*>* statements) { | 743 void AstPrinter::PrintStatements(ZoneList<Statement*>* statements) { |
| 744 for (int i = 0; i < statements->length(); i++) { | 744 for (int i = 0; i < statements->length(); i++) { |
| 745 Visit(statements->at(i)); | 745 Visit(statements->at(i)); |
| (...skipping 271 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1017 void AstPrinter::VisitThrow(Throw* node) { | 1017 void AstPrinter::VisitThrow(Throw* node) { |
| 1018 PrintIndentedVisit("THROW", node->exception()); | 1018 PrintIndentedVisit("THROW", node->exception()); |
| 1019 } | 1019 } |
| 1020 | 1020 |
| 1021 | 1021 |
| 1022 void AstPrinter::VisitProperty(Property* node) { | 1022 void AstPrinter::VisitProperty(Property* node) { |
| 1023 IndentedScope indent("PROPERTY"); | 1023 IndentedScope indent("PROPERTY"); |
| 1024 Visit(node->obj()); | 1024 Visit(node->obj()); |
| 1025 Literal* literal = node->key()->AsLiteral(); | 1025 Literal* literal = node->key()->AsLiteral(); |
| 1026 if (literal != NULL && literal->handle()->IsSymbol()) { | 1026 if (literal != NULL && literal->handle()->IsSymbol()) { |
| 1027 PrintLiteralIndented("LITERAL", literal->handle(), false); | 1027 PrintLiteralIndented("NAME", literal->handle(), false); |
| 1028 } else { | 1028 } else { |
| 1029 PrintIndentedVisit("KEY", node->key()); | 1029 PrintIndentedVisit("KEY", node->key()); |
| 1030 } | 1030 } |
| 1031 } | 1031 } |
| 1032 | 1032 |
| 1033 | 1033 |
| 1034 void AstPrinter::VisitCall(Call* node) { | 1034 void AstPrinter::VisitCall(Call* node) { |
| 1035 IndentedScope indent("CALL"); | 1035 IndentedScope indent("CALL"); |
| 1036 Visit(node->expression()); | 1036 Visit(node->expression()); |
| 1037 PrintArguments(node->arguments()); | 1037 PrintArguments(node->arguments()); |
| (...skipping 55 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1093 | 1093 |
| 1094 void AstPrinter::VisitThisFunction(ThisFunction* node) { | 1094 void AstPrinter::VisitThisFunction(ThisFunction* node) { |
| 1095 IndentedScope indent("THIS-FUNCTION"); | 1095 IndentedScope indent("THIS-FUNCTION"); |
| 1096 } | 1096 } |
| 1097 | 1097 |
| 1098 | 1098 |
| 1099 | 1099 |
| 1100 #endif // DEBUG | 1100 #endif // DEBUG |
| 1101 | 1101 |
| 1102 } } // namespace v8::internal | 1102 } } // namespace v8::internal |
| OLD | NEW |