| OLD | NEW |
| 1 // Copyright (c) 2014, the Dart project authors. Please see the AUTHORS file | 1 // Copyright (c) 2014, the Dart project authors. Please see the AUTHORS file |
| 2 // for details. All rights reserved. Use of this source code is governed by a | 2 // for details. All rights reserved. Use of this source code is governed by a |
| 3 // BSD-style license that can be found in the LICENSE file. | 3 // BSD-style license that can be found in the LICENSE file. |
| 4 | 4 |
| 5 #include "vm/ast_transformer.h" | 5 #include "vm/ast_transformer.h" |
| 6 | 6 |
| 7 #include "vm/object_store.h" | 7 #include "vm/object_store.h" |
| 8 #include "vm/parser.h" | 8 #include "vm/parser.h" |
| 9 #include "vm/thread.h" | 9 #include "vm/thread.h" |
| 10 | 10 |
| (...skipping 418 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 429 | 429 |
| 430 | 430 |
| 431 void AwaitTransformer::VisitInstanceCallNode(InstanceCallNode* node) { | 431 void AwaitTransformer::VisitInstanceCallNode(InstanceCallNode* node) { |
| 432 AstNode* new_receiver = Transform(node->receiver()); | 432 AstNode* new_receiver = Transform(node->receiver()); |
| 433 ArgumentListNode* new_args = | 433 ArgumentListNode* new_args = |
| 434 Transform(node->arguments())->AsArgumentListNode(); | 434 Transform(node->arguments())->AsArgumentListNode(); |
| 435 LocalVariable* result = AddToPreambleNewTempVar( | 435 LocalVariable* result = AddToPreambleNewTempVar( |
| 436 new(Z) InstanceCallNode(node->token_pos(), | 436 new(Z) InstanceCallNode(node->token_pos(), |
| 437 new_receiver, | 437 new_receiver, |
| 438 node->function_name(), | 438 node->function_name(), |
| 439 new_args)); | 439 new_args, |
| 440 node->is_conditional())); |
| 440 result_ = new(Z) LoadLocalNode(Scanner::kNoSourcePos, result); | 441 result_ = new(Z) LoadLocalNode(Scanner::kNoSourcePos, result); |
| 441 } | 442 } |
| 442 | 443 |
| 443 | 444 |
| 444 void AwaitTransformer::VisitStaticCallNode(StaticCallNode* node) { | 445 void AwaitTransformer::VisitStaticCallNode(StaticCallNode* node) { |
| 445 ArgumentListNode* new_args = | 446 ArgumentListNode* new_args = |
| 446 Transform(node->arguments())->AsArgumentListNode(); | 447 Transform(node->arguments())->AsArgumentListNode(); |
| 447 LocalVariable* result = AddToPreambleNewTempVar( | 448 LocalVariable* result = AddToPreambleNewTempVar( |
| 448 new(Z) StaticCallNode(node->token_pos(), | 449 new(Z) StaticCallNode(node->token_pos(), |
| 449 node->function(), | 450 node->function(), |
| (...skipping 12 matching lines...) Expand all Loading... |
| 462 new_args)); | 463 new_args)); |
| 463 result_ = new(Z) LoadLocalNode(Scanner::kNoSourcePos, result); | 464 result_ = new(Z) LoadLocalNode(Scanner::kNoSourcePos, result); |
| 464 } | 465 } |
| 465 | 466 |
| 466 | 467 |
| 467 void AwaitTransformer::VisitInstanceGetterNode(InstanceGetterNode* node) { | 468 void AwaitTransformer::VisitInstanceGetterNode(InstanceGetterNode* node) { |
| 468 AstNode* new_receiver = Transform(node->receiver()); | 469 AstNode* new_receiver = Transform(node->receiver()); |
| 469 LocalVariable* result = AddToPreambleNewTempVar( | 470 LocalVariable* result = AddToPreambleNewTempVar( |
| 470 new(Z) InstanceGetterNode(node->token_pos(), | 471 new(Z) InstanceGetterNode(node->token_pos(), |
| 471 new_receiver, | 472 new_receiver, |
| 472 node->field_name())); | 473 node->field_name(), |
| 474 node->is_conditional())); |
| 473 result_ = new(Z) LoadLocalNode(Scanner::kNoSourcePos, result); | 475 result_ = new(Z) LoadLocalNode(Scanner::kNoSourcePos, result); |
| 474 } | 476 } |
| 475 | 477 |
| 476 | 478 |
| 477 void AwaitTransformer::VisitInstanceSetterNode(InstanceSetterNode* node) { | 479 void AwaitTransformer::VisitInstanceSetterNode(InstanceSetterNode* node) { |
| 478 AstNode* new_receiver = node->receiver(); | 480 AstNode* new_receiver = node->receiver(); |
| 479 if (new_receiver != NULL) { | 481 if (new_receiver != NULL) { |
| 480 new_receiver = Transform(new_receiver); | 482 new_receiver = Transform(new_receiver); |
| 481 } | 483 } |
| 482 AstNode* new_value = Transform(node->value()); | 484 AstNode* new_value = Transform(node->value()); |
| 483 LocalVariable* result = AddToPreambleNewTempVar( | 485 LocalVariable* result = AddToPreambleNewTempVar( |
| 484 new(Z) InstanceSetterNode(node->token_pos(), | 486 new(Z) InstanceSetterNode(node->token_pos(), |
| 485 new_receiver, | 487 new_receiver, |
| 486 node->field_name(), | 488 node->field_name(), |
| 487 new_value)); | 489 new_value, |
| 490 node->is_conditional())); |
| 488 result_ = new(Z) LoadLocalNode(Scanner::kNoSourcePos, result); | 491 result_ = new(Z) LoadLocalNode(Scanner::kNoSourcePos, result); |
| 489 } | 492 } |
| 490 | 493 |
| 491 | 494 |
| 492 void AwaitTransformer::VisitStaticGetterNode(StaticGetterNode* node) { | 495 void AwaitTransformer::VisitStaticGetterNode(StaticGetterNode* node) { |
| 493 AstNode* new_receiver = node->receiver(); | 496 AstNode* new_receiver = node->receiver(); |
| 494 if (new_receiver != NULL) { | 497 if (new_receiver != NULL) { |
| 495 new_receiver = Transform(new_receiver); | 498 new_receiver = Transform(new_receiver); |
| 496 } | 499 } |
| 497 StaticGetterNode* new_getter = | 500 StaticGetterNode* new_getter = |
| (...skipping 115 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 613 | 616 |
| 614 | 617 |
| 615 void AwaitTransformer::VisitThrowNode(ThrowNode* node) { | 618 void AwaitTransformer::VisitThrowNode(ThrowNode* node) { |
| 616 AstNode* new_exception = Transform(node->exception()); | 619 AstNode* new_exception = Transform(node->exception()); |
| 617 result_ = new(Z) ThrowNode(node->token_pos(), | 620 result_ = new(Z) ThrowNode(node->token_pos(), |
| 618 new_exception, | 621 new_exception, |
| 619 node->stacktrace()); | 622 node->stacktrace()); |
| 620 } | 623 } |
| 621 | 624 |
| 622 } // namespace dart | 625 } // namespace dart |
| OLD | NEW |