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 648 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
659 Script& script_; | 659 Script& script_; |
660 TokenStream::Iterator tokens_iterator_; | 660 TokenStream::Iterator tokens_iterator_; |
661 Token::Kind token_kind_; // Cached token kind for current token. | 661 Token::Kind token_kind_; // Cached token kind for current token. |
662 Block* current_block_; | 662 Block* current_block_; |
663 | 663 |
664 // is_top_level_ is true if parsing the "top level" of a compilation unit, | 664 // is_top_level_ is true if parsing the "top level" of a compilation unit, |
665 // that is class definitions, function type aliases, global functions, | 665 // that is class definitions, function type aliases, global functions, |
666 // global variables. | 666 // global variables. |
667 bool is_top_level_; | 667 bool is_top_level_; |
668 | 668 |
| 669 // True when evaluating metadata. Used to make decisions otherwise based on |
| 670 // the current_function(). |
| 671 void set_parsing_metadata(bool value) { parsing_metadata_ = value; } |
| 672 bool parsing_metadata_; |
| 673 |
669 // The member currently being parsed during "top level" parsing. | 674 // The member currently being parsed during "top level" parsing. |
670 MemberDesc* current_member_; | 675 MemberDesc* current_member_; |
671 | 676 |
672 // Parser mode to allow/disallow function literals. This is used in | 677 // Parser mode to allow/disallow function literals. This is used in |
673 // constructor initializer expressions to handle ambiguous grammar. | 678 // constructor initializer expressions to handle ambiguous grammar. |
674 bool SetAllowFunctionLiterals(bool value); | 679 bool SetAllowFunctionLiterals(bool value); |
675 bool allow_function_literals_; | 680 bool allow_function_literals_; |
676 | 681 |
677 // The function currently being compiled. | 682 // The function currently being compiled. |
678 ParsedFunction* parsed_function_; | 683 ParsedFunction* parsed_function_; |
(...skipping 24 matching lines...) Expand all Loading... |
703 intptr_t last_used_try_index_; | 708 intptr_t last_used_try_index_; |
704 | 709 |
705 bool unregister_pending_function_; | 710 bool unregister_pending_function_; |
706 | 711 |
707 DISALLOW_COPY_AND_ASSIGN(Parser); | 712 DISALLOW_COPY_AND_ASSIGN(Parser); |
708 }; | 713 }; |
709 | 714 |
710 } // namespace dart | 715 } // namespace dart |
711 | 716 |
712 #endif // VM_PARSER_H_ | 717 #endif // VM_PARSER_H_ |
OLD | NEW |