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 688 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
699 | 699 |
700 // All ParseXXX functions take as the last argument an *ok parameter | 700 // All ParseXXX functions take as the last argument an *ok parameter |
701 // which is set to false if parsing failed; it is unchanged otherwise. | 701 // which is set to false if parsing failed; it is unchanged otherwise. |
702 // By making the 'exception handling' explicit, we are forced to check | 702 // By making the 'exception handling' explicit, we are forced to check |
703 // for failure at the call sites. | 703 // for failure at the call sites. |
704 void* ParseStatementList(ZoneList<Statement*>* body, int end_token, | 704 void* ParseStatementList(ZoneList<Statement*>* body, int end_token, |
705 bool is_eval, Scope** ad_hoc_eval_scope, bool* ok); | 705 bool is_eval, Scope** ad_hoc_eval_scope, bool* ok); |
706 Statement* ParseStatementListItem(bool* ok); | 706 Statement* ParseStatementListItem(bool* ok); |
707 void* ParseModule(ZoneList<Statement*>* body, bool* ok); | 707 void* ParseModule(ZoneList<Statement*>* body, bool* ok); |
708 Statement* ParseModuleItem(bool* ok); | 708 Statement* ParseModuleItem(bool* ok); |
709 Literal* ParseModuleSpecifier(bool* ok); | 709 const AstRawString* ParseModuleSpecifier(bool* ok); |
710 Statement* ParseImportDeclaration(bool* ok); | 710 Statement* ParseImportDeclaration(bool* ok); |
711 Statement* ParseExportDeclaration(bool* ok); | 711 Statement* ParseExportDeclaration(bool* ok); |
712 Statement* ParseExportDefault(bool* ok); | 712 Statement* ParseExportDefault(bool* ok); |
713 void* ParseExportClause(ZoneList<const AstRawString*>* export_names, | 713 void* ParseExportClause(ZoneList<const AstRawString*>* export_names, |
714 ZoneList<Scanner::Location>* export_locations, | 714 ZoneList<Scanner::Location>* export_locations, |
715 ZoneList<const AstRawString*>* local_names, | 715 ZoneList<const AstRawString*>* local_names, |
716 Scanner::Location* reserved_loc, bool* ok); | 716 Scanner::Location* reserved_loc, bool* ok); |
717 void* ParseNamedImports(ZoneList<const AstRawString*>* import_names, | 717 ZoneList<ImportDeclaration*>* ParseNamedImports(int pos, bool* ok); |
718 ZoneList<const AstRawString*>* local_names, bool* ok); | |
719 Statement* ParseStatement(ZoneList<const AstRawString*>* labels, bool* ok); | 718 Statement* ParseStatement(ZoneList<const AstRawString*>* labels, bool* ok); |
720 Statement* ParseSubStatement(ZoneList<const AstRawString*>* labels, bool* ok); | 719 Statement* ParseSubStatement(ZoneList<const AstRawString*>* labels, bool* ok); |
721 Statement* ParseFunctionDeclaration(ZoneList<const AstRawString*>* names, | 720 Statement* ParseFunctionDeclaration(ZoneList<const AstRawString*>* names, |
722 bool* ok); | 721 bool* ok); |
723 Statement* ParseClassDeclaration(ZoneList<const AstRawString*>* names, | 722 Statement* ParseClassDeclaration(ZoneList<const AstRawString*>* names, |
724 bool* ok); | 723 bool* ok); |
725 Statement* ParseNativeDeclaration(bool* ok); | 724 Statement* ParseNativeDeclaration(bool* ok); |
726 Block* ParseBlock(ZoneList<const AstRawString*>* labels, bool* ok); | 725 Block* ParseBlock(ZoneList<const AstRawString*>* labels, bool* ok); |
727 Block* ParseVariableStatement(VariableDeclarationContext var_context, | 726 Block* ParseVariableStatement(VariableDeclarationContext var_context, |
728 ZoneList<const AstRawString*>* names, | 727 ZoneList<const AstRawString*>* names, |
(...skipping 212 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
941 } | 940 } |
942 | 941 |
943 | 942 |
944 Expression* ParserTraits::CloseTemplateLiteral(TemplateLiteralState* state, | 943 Expression* ParserTraits::CloseTemplateLiteral(TemplateLiteralState* state, |
945 int start, Expression* tag) { | 944 int start, Expression* tag) { |
946 return parser_->CloseTemplateLiteral(state, start, tag); | 945 return parser_->CloseTemplateLiteral(state, start, tag); |
947 } | 946 } |
948 } } // namespace v8::internal | 947 } } // namespace v8::internal |
949 | 948 |
950 #endif // V8_PARSER_H_ | 949 #endif // V8_PARSER_H_ |
OLD | NEW |