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_PARSER_H_ | 5 #ifndef VM_PARSER_H_ |
6 #define VM_PARSER_H_ | 6 #define VM_PARSER_H_ |
7 | 7 |
8 #include "include/dart_api.h" | 8 #include "include/dart_api.h" |
9 | 9 |
10 #include "platform/assert.h" | 10 #include "platform/assert.h" |
(...skipping 725 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
736 TryStack* PopTry(); | 736 TryStack* PopTry(); |
737 // Collect saved try context variables if await or yield is in try block. | 737 // Collect saved try context variables if await or yield is in try block. |
738 void CheckAsyncOpInTryBlock( | 738 void CheckAsyncOpInTryBlock( |
739 LocalVariable** saved_try_ctx, | 739 LocalVariable** saved_try_ctx, |
740 LocalVariable** async_saved_try_ctx, | 740 LocalVariable** async_saved_try_ctx, |
741 LocalVariable** outer_saved_try_ctx, | 741 LocalVariable** outer_saved_try_ctx, |
742 LocalVariable** outer_async_saved_try_ctx) const; | 742 LocalVariable** outer_async_saved_try_ctx) const; |
743 // Add specified node to try block list so that it can be patched with | 743 // Add specified node to try block list so that it can be patched with |
744 // inlined finally code if needed. | 744 // inlined finally code if needed. |
745 void AddNodeForFinallyInlining(AstNode* node); | 745 void AddNodeForFinallyInlining(AstNode* node); |
| 746 void RemoveNodesForFinallyInlining(SourceLabel* label); |
746 // Add the inlined finally clause to the specified node. | 747 // Add the inlined finally clause to the specified node. |
747 void AddFinallyClauseToNode(bool is_async, | 748 void AddFinallyClauseToNode(bool is_async, |
748 AstNode* node, | 749 AstNode* node, |
749 InlinedFinallyNode* finally_clause); | 750 InlinedFinallyNode* finally_clause); |
750 AstNode* ParseTryStatement(String* label_name); | 751 AstNode* ParseTryStatement(String* label_name); |
751 RawAbstractType* ParseConstFinalVarOrType( | 752 RawAbstractType* ParseConstFinalVarOrType( |
752 ClassFinalizer::FinalizationKind finalization); | 753 ClassFinalizer::FinalizationKind finalization); |
753 AstNode* ParseVariableDeclaration(const AbstractType& type, | 754 AstNode* ParseVariableDeclaration(const AbstractType& type, |
754 bool is_final, | 755 bool is_final, |
755 bool is_const, | 756 bool is_const, |
(...skipping 229 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
985 | 986 |
986 intptr_t recursion_counter_; | 987 intptr_t recursion_counter_; |
987 friend class RecursionChecker; | 988 friend class RecursionChecker; |
988 | 989 |
989 DISALLOW_COPY_AND_ASSIGN(Parser); | 990 DISALLOW_COPY_AND_ASSIGN(Parser); |
990 }; | 991 }; |
991 | 992 |
992 } // namespace dart | 993 } // namespace dart |
993 | 994 |
994 #endif // VM_PARSER_H_ | 995 #endif // VM_PARSER_H_ |
OLD | NEW |