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 799 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
810 const Function& constructor, | 810 const Function& constructor, |
811 ArgumentListNode* arguments); | 811 ArgumentListNode* arguments); |
812 | 812 |
813 void AddEqualityNullCheck(); | 813 void AddEqualityNullCheck(); |
814 | 814 |
815 AstNode* BuildClosureCall(intptr_t token_pos, | 815 AstNode* BuildClosureCall(intptr_t token_pos, |
816 AstNode* closure, | 816 AstNode* closure, |
817 ArgumentListNode* arguments); | 817 ArgumentListNode* arguments); |
818 | 818 |
819 RawInstance* TryCanonicalize(const Instance& instance, intptr_t token_pos); | 819 RawInstance* TryCanonicalize(const Instance& instance, intptr_t token_pos); |
| 820 void CacheConstantValue(intptr_t token_pos, const Instance& value); |
| 821 bool GetCachedConstant(intptr_t token_pos, Instance* value); |
820 | 822 |
821 Thread* thread() const { return thread_; } | 823 Thread* thread() const { return thread_; } |
822 Isolate* isolate() const { return isolate_; } | 824 Isolate* isolate() const { return isolate_; } |
823 Zone* zone() const { return thread_->zone(); } | 825 Zone* zone() const { return thread_->zone(); } |
824 | 826 |
825 Isolate* isolate_; // Cached current isolate. | 827 Isolate* isolate_; // Cached current isolate. |
826 Thread* thread_; | 828 Thread* thread_; |
827 | 829 |
828 Script& script_; | 830 Script& script_; |
829 TokenStream::Iterator tokens_iterator_; | 831 TokenStream::Iterator tokens_iterator_; |
(...skipping 53 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
883 | 885 |
884 // Indentation of parser trace. | 886 // Indentation of parser trace. |
885 intptr_t trace_indent_; | 887 intptr_t trace_indent_; |
886 | 888 |
887 DISALLOW_COPY_AND_ASSIGN(Parser); | 889 DISALLOW_COPY_AND_ASSIGN(Parser); |
888 }; | 890 }; |
889 | 891 |
890 } // namespace dart | 892 } // namespace dart |
891 | 893 |
892 #endif // VM_PARSER_H_ | 894 #endif // VM_PARSER_H_ |
OLD | NEW |