OLD | NEW |
1 // Copyright 2012 the V8 project authors. All rights reserved. | 1 // Copyright 2012 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 43 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
54 if (!node->is_initializer_block()) Print("{ "); | 54 if (!node->is_initializer_block()) Print("{ "); |
55 PrintStatements(node->statements()); | 55 PrintStatements(node->statements()); |
56 if (node->statements()->length() > 0) Print(" "); | 56 if (node->statements()->length() > 0) Print(" "); |
57 if (!node->is_initializer_block()) Print("}"); | 57 if (!node->is_initializer_block()) Print("}"); |
58 } | 58 } |
59 | 59 |
60 | 60 |
61 void PrettyPrinter::VisitVariableDeclaration(VariableDeclaration* node) { | 61 void PrettyPrinter::VisitVariableDeclaration(VariableDeclaration* node) { |
62 Print("var "); | 62 Print("var "); |
63 PrintLiteral(node->proxy()->name(), false); | 63 PrintLiteral(node->proxy()->name(), false); |
64 if (node->fun() != NULL) { | |
65 Print(" = "); | |
66 PrintFunctionLiteral(node->fun()); | |
67 } | |
68 Print(";"); | 64 Print(";"); |
69 } | 65 } |
70 | 66 |
| 67 |
| 68 void PrettyPrinter::VisitFunctionDeclaration(FunctionDeclaration* node) { |
| 69 Print("function "); |
| 70 PrintLiteral(node->proxy()->name(), false); |
| 71 Print(" = "); |
| 72 PrintFunctionLiteral(node->fun()); |
| 73 Print(";"); |
| 74 } |
| 75 |
71 | 76 |
72 void PrettyPrinter::VisitModuleDeclaration(ModuleDeclaration* node) { | 77 void PrettyPrinter::VisitModuleDeclaration(ModuleDeclaration* node) { |
73 Print("module "); | 78 Print("module "); |
74 PrintLiteral(node->proxy()->name(), false); | 79 PrintLiteral(node->proxy()->name(), false); |
75 Print(" = "); | 80 Print(" = "); |
76 Visit(node->module()); | 81 Visit(node->module()); |
77 Print(";"); | 82 Print(";"); |
78 } | 83 } |
79 | 84 |
80 | 85 |
(...skipping 656 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
737 | 742 |
738 | 743 |
739 void AstPrinter::VisitBlock(Block* node) { | 744 void AstPrinter::VisitBlock(Block* node) { |
740 const char* block_txt = node->is_initializer_block() ? "BLOCK INIT" : "BLOCK"; | 745 const char* block_txt = node->is_initializer_block() ? "BLOCK INIT" : "BLOCK"; |
741 IndentedScope indent(this, block_txt); | 746 IndentedScope indent(this, block_txt); |
742 PrintStatements(node->statements()); | 747 PrintStatements(node->statements()); |
743 } | 748 } |
744 | 749 |
745 | 750 |
746 void AstPrinter::VisitVariableDeclaration(VariableDeclaration* node) { | 751 void AstPrinter::VisitVariableDeclaration(VariableDeclaration* node) { |
747 if (node->fun() == NULL) { | 752 PrintLiteralWithModeIndented(Variable::Mode2String(node->mode()), |
748 // var or const declarations | 753 node->proxy()->var(), |
749 PrintLiteralWithModeIndented(Variable::Mode2String(node->mode()), | 754 node->proxy()->name()); |
750 node->proxy()->var(), | |
751 node->proxy()->name()); | |
752 } else { | |
753 // function declarations | |
754 PrintIndented("FUNCTION "); | |
755 PrintLiteral(node->proxy()->name(), true); | |
756 Print(" = function "); | |
757 PrintLiteral(node->fun()->name(), false); | |
758 Print("\n"); | |
759 } | |
760 } | 755 } |
761 | 756 |
762 | 757 |
| 758 void AstPrinter::VisitFunctionDeclaration(FunctionDeclaration* node) { |
| 759 PrintIndented("FUNCTION "); |
| 760 PrintLiteral(node->proxy()->name(), true); |
| 761 Print(" = function "); |
| 762 PrintLiteral(node->fun()->name(), false); |
| 763 Print("\n"); |
| 764 } |
| 765 |
| 766 |
763 void AstPrinter::VisitModuleDeclaration(ModuleDeclaration* node) { | 767 void AstPrinter::VisitModuleDeclaration(ModuleDeclaration* node) { |
764 IndentedScope indent(this, "MODULE"); | 768 IndentedScope indent(this, "MODULE"); |
765 PrintLiteralIndented("NAME", node->proxy()->name(), true); | 769 PrintLiteralIndented("NAME", node->proxy()->name(), true); |
766 Visit(node->module()); | 770 Visit(node->module()); |
767 } | 771 } |
768 | 772 |
769 | 773 |
770 void AstPrinter::VisitModuleLiteral(ModuleLiteral* node) { | 774 void AstPrinter::VisitModuleLiteral(ModuleLiteral* node) { |
771 VisitBlock(node->body()); | 775 VisitBlock(node->body()); |
772 } | 776 } |
(...skipping 302 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1075 } | 1079 } |
1076 | 1080 |
1077 | 1081 |
1078 void AstPrinter::VisitThisFunction(ThisFunction* node) { | 1082 void AstPrinter::VisitThisFunction(ThisFunction* node) { |
1079 IndentedScope indent(this, "THIS-FUNCTION"); | 1083 IndentedScope indent(this, "THIS-FUNCTION"); |
1080 } | 1084 } |
1081 | 1085 |
1082 #endif // DEBUG | 1086 #endif // DEBUG |
1083 | 1087 |
1084 } } // namespace v8::internal | 1088 } } // namespace v8::internal |
OLD | NEW |