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

Side by Side Diff: src/prettyprinter.cc

Issue 1467473002: Install ConstructNonConstructable as construct stub for non-constructables. (Closed) Base URL: https://chromium.googlesource.com/v8/v8.git@master
Patch Set: Rebase Created 5 years 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
« no previous file with comments | « src/preparser.h ('k') | src/runtime/runtime.h » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright 2012 the V8 project authors. All rights reserved. 1 // Copyright 2012 the V8 project authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #include "src/prettyprinter.h" 5 #include "src/prettyprinter.h"
6 6
7 #include <stdarg.h> 7 #include <stdarg.h>
8 8
9 #include "src/ast-value-factory.h" 9 #include "src/ast-value-factory.h"
10 #include "src/base/platform/platform.h" 10 #include "src/base/platform/platform.h"
(...skipping 303 matching lines...) Expand 10 before | Expand all | Expand 10 after
314 void CallPrinter::VisitCallNew(CallNew* node) { 314 void CallPrinter::VisitCallNew(CallNew* node) {
315 bool was_found = !found_ && node->position() == position_; 315 bool was_found = !found_ && node->position() == position_;
316 if (was_found) found_ = true; 316 if (was_found) found_ = true;
317 Find(node->expression(), was_found); 317 Find(node->expression(), was_found);
318 FindArguments(node->arguments()); 318 FindArguments(node->arguments());
319 if (was_found) done_ = true; 319 if (was_found) done_ = true;
320 } 320 }
321 321
322 322
323 void CallPrinter::VisitCallRuntime(CallRuntime* node) { 323 void CallPrinter::VisitCallRuntime(CallRuntime* node) {
324 if (node->function() ==
325 Runtime::FunctionForId(Runtime::kInlineDefaultConstructorCallSuper)) {
326 found_ = true;
327 Print("super");
328 done_ = true;
329 return;
330 }
324 FindArguments(node->arguments()); 331 FindArguments(node->arguments());
325 } 332 }
326 333
327 334
328 void CallPrinter::VisitUnaryOperation(UnaryOperation* node) { 335 void CallPrinter::VisitUnaryOperation(UnaryOperation* node) {
329 Token::Value op = node->op(); 336 Token::Value op = node->op();
330 bool needsSpace = 337 bool needsSpace =
331 op == Token::DELETE || op == Token::TYPEOF || op == Token::VOID; 338 op == Token::DELETE || op == Token::TYPEOF || op == Token::VOID;
332 Print("(%s%s", Token::String(op), needsSpace ? " " : ""); 339 Print("(%s%s", Token::String(op), needsSpace ? " " : "");
333 Find(node->expression(), true); 340 Find(node->expression(), true);
(...skipping 39 matching lines...) Expand 10 before | Expand all | Expand 10 after
373 UNREACHABLE(); 380 UNREACHABLE();
374 } 381 }
375 382
376 383
377 void CallPrinter::VisitThisFunction(ThisFunction* node) {} 384 void CallPrinter::VisitThisFunction(ThisFunction* node) {}
378 385
379 386
380 void CallPrinter::VisitSuperPropertyReference(SuperPropertyReference* node) {} 387 void CallPrinter::VisitSuperPropertyReference(SuperPropertyReference* node) {}
381 388
382 389
383 void CallPrinter::VisitSuperCallReference(SuperCallReference* node) {} 390 void CallPrinter::VisitSuperCallReference(SuperCallReference* node) {
391 Print("super");
392 }
384 393
385 394
386 void CallPrinter::FindStatements(ZoneList<Statement*>* statements) { 395 void CallPrinter::FindStatements(ZoneList<Statement*>* statements) {
387 if (statements == NULL) return; 396 if (statements == NULL) return;
388 for (int i = 0; i < statements->length(); i++) { 397 for (int i = 0; i < statements->length(); i++) {
389 Find(statements->at(i)); 398 Find(statements->at(i));
390 } 399 }
391 } 400 }
392 401
393 402
(...skipping 1235 matching lines...) Expand 10 before | Expand all | Expand 10 after
1629 1638
1630 void AstPrinter::VisitSuperCallReference(SuperCallReference* node) { 1639 void AstPrinter::VisitSuperCallReference(SuperCallReference* node) {
1631 IndentedScope indent(this, "SUPER-CALL-REFERENCE", node->position()); 1640 IndentedScope indent(this, "SUPER-CALL-REFERENCE", node->position());
1632 } 1641 }
1633 1642
1634 1643
1635 #endif // DEBUG 1644 #endif // DEBUG
1636 1645
1637 } // namespace internal 1646 } // namespace internal
1638 } // namespace v8 1647 } // namespace v8
OLDNEW
« no previous file with comments | « src/preparser.h ('k') | src/runtime/runtime.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698