Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(477)

Side by Side Diff: src/prettyprinter.cc

Issue 7134014: Stop using with explicitly to implement try/catch. (Closed) Base URL: https://v8.googlecode.com/svn/branches/bleeding_edge
Patch Set: Created 9 years, 6 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
OLDNEW
1 // Copyright 2006-2008 the V8 project authors. All rights reserved. 1 // Copyright 2011 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
11 // with the distribution. 11 // with the distribution.
(...skipping 182 matching lines...) Expand 10 before | Expand all | Expand 10 after
194 Visit(node->enumerable()); 194 Visit(node->enumerable());
195 Print(") "); 195 Print(") ");
196 Visit(node->body()); 196 Visit(node->body());
197 } 197 }
198 198
199 199
200 void PrettyPrinter::VisitTryCatchStatement(TryCatchStatement* node) { 200 void PrettyPrinter::VisitTryCatchStatement(TryCatchStatement* node) {
201 Print("try "); 201 Print("try ");
202 Visit(node->try_block()); 202 Visit(node->try_block());
203 Print(" catch ("); 203 Print(" catch (");
204 Visit(node->catch_var()); 204 const bool quote = false;
205 PrintLiteral(node->name(), quote);
205 Print(") "); 206 Print(") ");
206 Visit(node->catch_block()); 207 Visit(node->catch_block());
207 } 208 }
208 209
209 210
210 void PrettyPrinter::VisitTryFinallyStatement(TryFinallyStatement* node) { 211 void PrettyPrinter::VisitTryFinallyStatement(TryFinallyStatement* node) {
211 Print("try "); 212 Print("try ");
212 Visit(node->try_block()); 213 Visit(node->try_block());
213 Print(" finally "); 214 Print(" finally ");
214 Visit(node->finally_block()); 215 Visit(node->finally_block());
(...skipping 60 matching lines...) Expand 10 before | Expand all | Expand 10 after
275 void PrettyPrinter::VisitArrayLiteral(ArrayLiteral* node) { 276 void PrettyPrinter::VisitArrayLiteral(ArrayLiteral* node) {
276 Print("[ "); 277 Print("[ ");
277 for (int i = 0; i < node->values()->length(); i++) { 278 for (int i = 0; i < node->values()->length(); i++) {
278 if (i != 0) Print(","); 279 if (i != 0) Print(",");
279 Visit(node->values()->at(i)); 280 Visit(node->values()->at(i));
280 } 281 }
281 Print(" ]"); 282 Print(" ]");
282 } 283 }
283 284
284 285
285 void PrettyPrinter::VisitCatchExtensionObject(CatchExtensionObject* node) {
286 Print("{ ");
287 Visit(node->key());
288 Print(": ");
289 Visit(node->value());
290 Print(" }");
291 }
292
293
294 void PrettyPrinter::VisitSlot(Slot* node) { 286 void PrettyPrinter::VisitSlot(Slot* node) {
295 switch (node->type()) { 287 switch (node->type()) {
296 case Slot::PARAMETER: 288 case Slot::PARAMETER:
297 Print("parameter[%d]", node->index()); 289 Print("parameter[%d]", node->index());
298 break; 290 break;
299 case Slot::LOCAL: 291 case Slot::LOCAL:
300 Print("local[%d]", node->index()); 292 Print("local[%d]", node->index());
301 break; 293 break;
302 case Slot::CONTEXT: 294 case Slot::CONTEXT:
303 Print("context[%d]", node->index()); 295 Print("context[%d]", node->index());
(...skipping 551 matching lines...) Expand 10 before | Expand all | Expand 10 after
855 IndentedScope indent(this, "FOR IN"); 847 IndentedScope indent(this, "FOR IN");
856 PrintIndentedVisit("FOR", node->each()); 848 PrintIndentedVisit("FOR", node->each());
857 PrintIndentedVisit("IN", node->enumerable()); 849 PrintIndentedVisit("IN", node->enumerable());
858 PrintIndentedVisit("BODY", node->body()); 850 PrintIndentedVisit("BODY", node->body());
859 } 851 }
860 852
861 853
862 void AstPrinter::VisitTryCatchStatement(TryCatchStatement* node) { 854 void AstPrinter::VisitTryCatchStatement(TryCatchStatement* node) {
863 IndentedScope indent(this, "TRY CATCH"); 855 IndentedScope indent(this, "TRY CATCH");
864 PrintIndentedVisit("TRY", node->try_block()); 856 PrintIndentedVisit("TRY", node->try_block());
865 PrintIndentedVisit("CATCHVAR", node->catch_var()); 857 const bool quote = false;
858 PrintLiteralIndented("CATCHVAR", node->name(), quote);
866 PrintIndentedVisit("CATCH", node->catch_block()); 859 PrintIndentedVisit("CATCH", node->catch_block());
867 } 860 }
868 861
869 862
870 void AstPrinter::VisitTryFinallyStatement(TryFinallyStatement* node) { 863 void AstPrinter::VisitTryFinallyStatement(TryFinallyStatement* node) {
871 IndentedScope indent(this, "TRY FINALLY"); 864 IndentedScope indent(this, "TRY FINALLY");
872 PrintIndentedVisit("TRY", node->try_block()); 865 PrintIndentedVisit("TRY", node->try_block());
873 PrintIndentedVisit("FINALLY", node->finally_block()); 866 PrintIndentedVisit("FINALLY", node->finally_block());
874 } 867 }
875 868
(...skipping 79 matching lines...) Expand 10 before | Expand all | Expand 10 after
955 IndentedScope indent(this, "ARRAY LITERAL"); 948 IndentedScope indent(this, "ARRAY LITERAL");
956 if (node->values()->length() > 0) { 949 if (node->values()->length() > 0) {
957 IndentedScope indent(this, "VALUES"); 950 IndentedScope indent(this, "VALUES");
958 for (int i = 0; i < node->values()->length(); i++) { 951 for (int i = 0; i < node->values()->length(); i++) {
959 Visit(node->values()->at(i)); 952 Visit(node->values()->at(i));
960 } 953 }
961 } 954 }
962 } 955 }
963 956
964 957
965 void AstPrinter::VisitCatchExtensionObject(CatchExtensionObject* node) {
966 IndentedScope indent(this, "CatchExtensionObject");
967 PrintIndentedVisit("KEY", node->key());
968 PrintIndentedVisit("VALUE", node->value());
969 }
970
971
972 void AstPrinter::VisitSlot(Slot* node) { 958 void AstPrinter::VisitSlot(Slot* node) {
973 PrintIndented("SLOT "); 959 PrintIndented("SLOT ");
974 PrettyPrinter::VisitSlot(node); 960 PrettyPrinter::VisitSlot(node);
975 Print("\n"); 961 Print("\n");
976 } 962 }
977 963
978 964
979 void AstPrinter::VisitVariableProxy(VariableProxy* node) { 965 void AstPrinter::VisitVariableProxy(VariableProxy* node) {
980 PrintLiteralWithModeIndented("VAR PROXY", node->AsVariable(), node->name()); 966 PrintLiteralWithModeIndented("VAR PROXY", node->AsVariable(), node->name());
981 Variable* var = node->var(); 967 Variable* var = node->var();
(...skipping 265 matching lines...) Expand 10 before | Expand all | Expand 10 after
1247 void JsonAstBuilder::VisitForInStatement(ForInStatement* stmt) { 1233 void JsonAstBuilder::VisitForInStatement(ForInStatement* stmt) {
1248 TagScope tag(this, "ForInStatement"); 1234 TagScope tag(this, "ForInStatement");
1249 Visit(stmt->each()); 1235 Visit(stmt->each());
1250 Visit(stmt->enumerable()); 1236 Visit(stmt->enumerable());
1251 Visit(stmt->body()); 1237 Visit(stmt->body());
1252 } 1238 }
1253 1239
1254 1240
1255 void JsonAstBuilder::VisitTryCatchStatement(TryCatchStatement* stmt) { 1241 void JsonAstBuilder::VisitTryCatchStatement(TryCatchStatement* stmt) {
1256 TagScope tag(this, "TryCatchStatement"); 1242 TagScope tag(this, "TryCatchStatement");
1243 { AttributesScope attributes(this);
1244 AddAttribute("variable", stmt->name());
1245 }
1257 Visit(stmt->try_block()); 1246 Visit(stmt->try_block());
1258 Visit(stmt->catch_var());
1259 Visit(stmt->catch_block()); 1247 Visit(stmt->catch_block());
1260 } 1248 }
1261 1249
1262 1250
1263 void JsonAstBuilder::VisitTryFinallyStatement(TryFinallyStatement* stmt) { 1251 void JsonAstBuilder::VisitTryFinallyStatement(TryFinallyStatement* stmt) {
1264 TagScope tag(this, "TryFinallyStatement"); 1252 TagScope tag(this, "TryFinallyStatement");
1265 Visit(stmt->try_block()); 1253 Visit(stmt->try_block());
1266 Visit(stmt->finally_block()); 1254 Visit(stmt->finally_block());
1267 } 1255 }
1268 1256
(...skipping 84 matching lines...) Expand 10 before | Expand all | Expand 10 after
1353 void JsonAstBuilder::VisitObjectLiteral(ObjectLiteral* expr) { 1341 void JsonAstBuilder::VisitObjectLiteral(ObjectLiteral* expr) {
1354 TagScope tag(this, "ObjectLiteral"); 1342 TagScope tag(this, "ObjectLiteral");
1355 } 1343 }
1356 1344
1357 1345
1358 void JsonAstBuilder::VisitArrayLiteral(ArrayLiteral* expr) { 1346 void JsonAstBuilder::VisitArrayLiteral(ArrayLiteral* expr) {
1359 TagScope tag(this, "ArrayLiteral"); 1347 TagScope tag(this, "ArrayLiteral");
1360 } 1348 }
1361 1349
1362 1350
1363 void JsonAstBuilder::VisitCatchExtensionObject(CatchExtensionObject* expr) {
1364 TagScope tag(this, "CatchExtensionObject");
1365 Visit(expr->key());
1366 Visit(expr->value());
1367 }
1368
1369
1370 void JsonAstBuilder::VisitAssignment(Assignment* expr) { 1351 void JsonAstBuilder::VisitAssignment(Assignment* expr) {
1371 TagScope tag(this, "Assignment"); 1352 TagScope tag(this, "Assignment");
1372 { 1353 {
1373 AttributesScope attributes(this); 1354 AttributesScope attributes(this);
1374 AddAttribute("op", Token::Name(expr->op())); 1355 AddAttribute("op", Token::Name(expr->op()));
1375 } 1356 }
1376 Visit(expr->target()); 1357 Visit(expr->target());
1377 Visit(expr->value()); 1358 Visit(expr->value());
1378 } 1359 }
1379 1360
(...skipping 104 matching lines...) Expand 10 before | Expand all | Expand 10 after
1484 AddAttribute("mode", Variable::Mode2String(decl->mode())); 1465 AddAttribute("mode", Variable::Mode2String(decl->mode()));
1485 } 1466 }
1486 Visit(decl->proxy()); 1467 Visit(decl->proxy());
1487 if (decl->fun() != NULL) Visit(decl->fun()); 1468 if (decl->fun() != NULL) Visit(decl->fun());
1488 } 1469 }
1489 1470
1490 1471
1491 #endif // DEBUG 1472 #endif // DEBUG
1492 1473
1493 } } // namespace v8::internal 1474 } } // namespace v8::internal
OLDNEW
« src/parser.cc ('K') | « src/parser.cc ('k') | src/rewriter.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698