OLD | NEW |
1 // Copyright 2012 the V8 project authors. All rights reserved. | 1 // Copyright 2012 the V8 project authors. All rights reserved. |
2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
4 | 4 |
5 #ifndef V8_PARSER_H_ | 5 #ifndef V8_PARSER_H_ |
6 #define V8_PARSER_H_ | 6 #define V8_PARSER_H_ |
7 | 7 |
8 #include "src/allocation.h" | 8 #include "src/allocation.h" |
9 #include "src/ast.h" | 9 #include "src/ast.h" |
10 #include "src/compiler.h" // For CachedDataMode | 10 #include "src/compiler.h" // For CachedDataMode |
(...skipping 822 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
833 // Parser support | 833 // Parser support |
834 VariableProxy* NewUnresolved(const AstRawString* name, | 834 VariableProxy* NewUnresolved(const AstRawString* name, |
835 VariableMode mode, | 835 VariableMode mode, |
836 Interface* interface); | 836 Interface* interface); |
837 void Declare(Declaration* declaration, bool resolve, bool* ok); | 837 void Declare(Declaration* declaration, bool resolve, bool* ok); |
838 | 838 |
839 bool TargetStackContainsLabel(const AstRawString* label); | 839 bool TargetStackContainsLabel(const AstRawString* label); |
840 BreakableStatement* LookupBreakTarget(const AstRawString* label, bool* ok); | 840 BreakableStatement* LookupBreakTarget(const AstRawString* label, bool* ok); |
841 IterationStatement* LookupContinueTarget(const AstRawString* label, bool* ok); | 841 IterationStatement* LookupContinueTarget(const AstRawString* label, bool* ok); |
842 | 842 |
| 843 void AssertIsConstruct(ZoneList<Statement*>* body, int pos); |
| 844 |
843 // Factory methods. | 845 // Factory methods. |
844 FunctionLiteral* DefaultConstructor(bool call_super, Scope* scope, int pos, | 846 FunctionLiteral* DefaultConstructor(bool call_super, Scope* scope, int pos, |
845 int end_pos); | 847 int end_pos); |
846 | 848 |
847 // Skip over a lazy function, either using cached data if we have it, or | 849 // Skip over a lazy function, either using cached data if we have it, or |
848 // by parsing the function with PreParser. Consumes the ending }. | 850 // by parsing the function with PreParser. Consumes the ending }. |
849 void SkipLazyFunctionBody(const AstRawString* function_name, | 851 void SkipLazyFunctionBody(const AstRawString* function_name, |
850 int* materialized_literal_count, | 852 int* materialized_literal_count, |
851 int* expected_property_count, | 853 int* expected_property_count, |
852 bool* ok); | 854 bool* ok); |
(...skipping 125 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
978 } | 980 } |
979 | 981 |
980 | 982 |
981 Expression* ParserTraits::CloseTemplateLiteral(TemplateLiteralState* state, | 983 Expression* ParserTraits::CloseTemplateLiteral(TemplateLiteralState* state, |
982 int start, Expression* tag) { | 984 int start, Expression* tag) { |
983 return parser_->CloseTemplateLiteral(state, start, tag); | 985 return parser_->CloseTemplateLiteral(state, start, tag); |
984 } | 986 } |
985 } } // namespace v8::internal | 987 } } // namespace v8::internal |
986 | 988 |
987 #endif // V8_PARSER_H_ | 989 #endif // V8_PARSER_H_ |
OLD | NEW |