| OLD | NEW |
| 1 // Copyright (c) 2012, the Dart project authors. Please see the AUTHORS file | 1 // Copyright (c) 2012, 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 #ifndef VM_AST_H_ | 5 #ifndef VM_AST_H_ |
| 6 #define VM_AST_H_ | 6 #define VM_AST_H_ |
| 7 | 7 |
| 8 #include "platform/assert.h" | 8 #include "platform/assert.h" |
| 9 #include "vm/allocation.h" | 9 #include "vm/allocation.h" |
| 10 #include "vm/growable_array.h" | 10 #include "vm/growable_array.h" |
| (...skipping 598 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 609 | 609 |
| 610 DECLARE_COMMON_NODE_FUNCTIONS(PrimaryNode); | 610 DECLARE_COMMON_NODE_FUNCTIONS(PrimaryNode); |
| 611 | 611 |
| 612 private: | 612 private: |
| 613 const Object& primary_; | 613 const Object& primary_; |
| 614 bool is_deferred_reference_; | 614 bool is_deferred_reference_; |
| 615 | 615 |
| 616 DISALLOW_IMPLICIT_CONSTRUCTORS(PrimaryNode); | 616 DISALLOW_IMPLICIT_CONSTRUCTORS(PrimaryNode); |
| 617 }; | 617 }; |
| 618 | 618 |
| 619 // In asynchronous code that gets suspeded and resumed, return nodes | 619 // In asynchronous code that gets suspended and resumed, return nodes |
| 620 // can be of different types: | 620 // can be of different types: |
| 621 // * A regular return node that in the case of async functions | 621 // * A regular return node that in the case of async functions |
| 622 // gets replaced with appropriate completer calls. (kRegular) | 622 // gets replaced with appropriate completer calls. (kRegular) |
| 623 // * A continuation return that just returns from a function, without | 623 // * A continuation return that just returns from a function, without |
| 624 // completing the Future. (kContinuation) | 624 // completing the Future. (kContinuation) |
| 625 // * A continuation return followed by a continuation target, i.e. the | 625 // * A continuation return followed by a continuation target, i.e. the |
| 626 // location at which the closure resumes the next time it gets invoked. | 626 // location at which the closure resumes the next time it gets invoked. |
| 627 // (kContinuationTarget). | 627 // (kContinuationTarget). |
| 628 // In synchronous functions, return nodes are always of type'kRegular' | 628 // In synchronous functions, return nodes are always of type'kRegular' |
| 629 class ReturnNode : public AstNode { | 629 class ReturnNode : public AstNode { |
| (...skipping 1384 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 2014 const intptr_t try_index_; | 2014 const intptr_t try_index_; |
| 2015 | 2015 |
| 2016 DISALLOW_IMPLICIT_CONSTRUCTORS(InlinedFinallyNode); | 2016 DISALLOW_IMPLICIT_CONSTRUCTORS(InlinedFinallyNode); |
| 2017 }; | 2017 }; |
| 2018 | 2018 |
| 2019 } // namespace dart | 2019 } // namespace dart |
| 2020 | 2020 |
| 2021 #undef DECLARE_COMMON_NODE_FUNCTIONS | 2021 #undef DECLARE_COMMON_NODE_FUNCTIONS |
| 2022 | 2022 |
| 2023 #endif // VM_AST_H_ | 2023 #endif // VM_AST_H_ |
| OLD | NEW |