| 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_PARSING_PREPARSER_H | 5 #ifndef V8_PARSING_PREPARSER_H | 
| 6 #define V8_PARSING_PREPARSER_H | 6 #define V8_PARSING_PREPARSER_H | 
| 7 | 7 | 
| 8 #include "src/ast/scopes.h" | 8 #include "src/ast/scopes.h" | 
| 9 #include "src/bailout-reason.h" | 9 #include "src/bailout-reason.h" | 
| 10 #include "src/base/hashmap.h" | 10 #include "src/base/hashmap.h" | 
| (...skipping 727 matching lines...) Expand 10 before | Expand all | Expand 10 after  Loading... | 
| 738                                           PreParserIdentifier arg, int pos) { | 738                                           PreParserIdentifier arg, int pos) { | 
| 739     return PreParserExpression::Default(); | 739     return PreParserExpression::Default(); | 
| 740   } | 740   } | 
| 741 | 741 | 
| 742   PreParserExpression NewThrowTypeError(MessageTemplate::Template message, | 742   PreParserExpression NewThrowTypeError(MessageTemplate::Template message, | 
| 743                                         PreParserIdentifier arg, int pos) { | 743                                         PreParserIdentifier arg, int pos) { | 
| 744     return PreParserExpression::Default(); | 744     return PreParserExpression::Default(); | 
| 745   } | 745   } | 
| 746 | 746 | 
| 747   // Reporting errors. | 747   // Reporting errors. | 
| 748   void ReportMessageAt(Scanner::Location location, | 748   void ReportMessageAt(Scanner::Location source_location, | 
| 749                        MessageTemplate::Template message, | 749                        MessageTemplate::Template message, | 
| 750                        const char* arg = NULL, | 750                        const char* arg = NULL, | 
| 751                        ParseErrorType error_type = kSyntaxError); | 751                        ParseErrorType error_type = kSyntaxError); | 
| 752   void ReportMessageAt(Scanner::Location location, | 752   void ReportMessageAt(Scanner::Location source_location, | 
| 753                        MessageTemplate::Template message, | 753                        MessageTemplate::Template message, | 
| 754                        const AstRawString* arg, | 754                        const AstRawString* arg, | 
| 755                        ParseErrorType error_type = kSyntaxError); | 755                        ParseErrorType error_type = kSyntaxError); | 
| 756 | 756 | 
| 757   // A dummy function, just useful as an argument to CHECK_OK_CUSTOM. | 757   // A dummy function, just useful as an argument to CHECK_OK_CUSTOM. | 
| 758   static void Void() {} | 758   static void Void() {} | 
| 759 | 759 | 
| 760   // "null" return type creators. | 760   // "null" return type creators. | 
| 761   static PreParserIdentifier EmptyIdentifier() { | 761   static PreParserIdentifier EmptyIdentifier() { | 
| 762     return PreParserIdentifier::Default(); | 762     return PreParserIdentifier::Default(); | 
| 763   } | 763   } | 
| 764   static PreParserExpression EmptyExpression() { | 764   static PreParserExpression EmptyExpression() { | 
| 765     return PreParserExpression::Default(); | 765     return PreParserExpression::Default(); | 
| 766   } | 766   } | 
| 767   static PreParserExpression EmptyLiteral() { | 767   static PreParserExpression EmptyLiteral() { | 
| 768     return PreParserExpression::Default(); | 768     return PreParserExpression::Default(); | 
| 769   } | 769   } | 
| 770   static PreParserExpression EmptyObjectLiteralProperty() { | 770   static PreParserExpression EmptyObjectLiteralProperty() { | 
| 771     return PreParserExpression::Default(); | 771     return PreParserExpression::Default(); | 
| 772   } | 772   } | 
| 773   static PreParserExpression EmptyFunctionLiteral() { | 773   static PreParserExpression EmptyFunctionLiteral() { | 
| 774     return PreParserExpression::Default(); | 774     return PreParserExpression::Default(); | 
| 775   } | 775   } | 
| 776 | 776 | 
| 777   static PreParserExpressionList NullExpressionList() { | 777   static PreParserExpressionList NullExpressionList() { | 
| 778     return PreParserExpressionList(); | 778     return PreParserExpressionList(); | 
| 779   } | 779   } | 
| 780   static PreParserIdentifier EmptyIdentifierString() { | 780   PreParserIdentifier EmptyIdentifierString() const { | 
| 781     return PreParserIdentifier::Default(); | 781     return PreParserIdentifier::Default(); | 
| 782   } | 782   } | 
| 783 | 783 | 
| 784   // Odd-ball literal creators. | 784   // Odd-ball literal creators. | 
| 785   PreParserExpression GetLiteralTheHole(int position, | 785   PreParserExpression GetLiteralTheHole(int position, | 
| 786                                         PreParserFactory* factory) const { | 786                                         PreParserFactory* factory) const { | 
| 787     return PreParserExpression::Default(); | 787     return PreParserExpression::Default(); | 
| 788   } | 788   } | 
| 789 | 789 | 
| 790   // Producing data during the recursive descent. | 790   // Producing data during the recursive descent. | 
| 791   PreParserIdentifier GetSymbol(Scanner* scanner); | 791   PreParserIdentifier GetSymbol(Scanner* scanner) const; | 
| 792 | 792 | 
| 793   PreParserIdentifier GetNextSymbol(Scanner* scanner) const { | 793   PreParserIdentifier GetNextSymbol(Scanner* scanner) const { | 
| 794     return PreParserIdentifier::Default(); | 794     return PreParserIdentifier::Default(); | 
| 795   } | 795   } | 
| 796 | 796 | 
| 797   PreParserIdentifier GetNumberAsSymbol(Scanner* scanner) { | 797   PreParserIdentifier GetNumberAsSymbol(Scanner* scanner) const { | 
| 798     return PreParserIdentifier::Default(); | 798     return PreParserIdentifier::Default(); | 
| 799   } | 799   } | 
| 800 | 800 | 
| 801   PreParserExpression ThisExpression(int pos = kNoSourcePosition) const { | 801   PreParserExpression ThisExpression(int pos = kNoSourcePosition) const { | 
| 802     return PreParserExpression::This(); | 802     return PreParserExpression::This(); | 
| 803   } | 803   } | 
| 804 | 804 | 
| 805   PreParserExpression NewSuperPropertyReference(PreParserFactory* factory, | 805   PreParserExpression NewSuperPropertyReference(PreParserFactory* factory, | 
| 806                                                 int pos) const { | 806                                                 int pos) const { | 
| 807     return PreParserExpression::Default(); | 807     return PreParserExpression::Default(); | 
| (...skipping 19 matching lines...) Expand all  Loading... | 
| 827     return PreParserExpression::Default(); | 827     return PreParserExpression::Default(); | 
| 828   } | 828   } | 
| 829 | 829 | 
| 830   PreParserExpression ExpressionFromIdentifier( | 830   PreParserExpression ExpressionFromIdentifier( | 
| 831       PreParserIdentifier name, int start_position, int end_position, | 831       PreParserIdentifier name, int start_position, int end_position, | 
| 832       InferName = InferName::kYes) const { | 832       InferName = InferName::kYes) const { | 
| 833     return PreParserExpression::FromIdentifier(name); | 833     return PreParserExpression::FromIdentifier(name); | 
| 834   } | 834   } | 
| 835 | 835 | 
| 836   PreParserExpression ExpressionFromString(int pos, Scanner* scanner, | 836   PreParserExpression ExpressionFromString(int pos, Scanner* scanner, | 
| 837                                            PreParserFactory* factory); | 837                                            PreParserFactory* factory) const; | 
| 838 | 838 | 
| 839   PreParserExpression GetIterator(PreParserExpression iterable, | 839   PreParserExpression GetIterator(PreParserExpression iterable, | 
| 840                                   PreParserFactory* factory, int pos) { | 840                                   PreParserFactory* factory, int pos) { | 
| 841     return PreParserExpression::Default(); | 841     return PreParserExpression::Default(); | 
| 842   } | 842   } | 
| 843 | 843 | 
| 844   PreParserExpressionList NewExpressionList(int size, Zone* zone) const { | 844   PreParserExpressionList NewExpressionList(int size, Zone* zone) const { | 
| 845     return PreParserExpressionList(); | 845     return PreParserExpressionList(); | 
| 846   } | 846   } | 
| 847 | 847 | 
| 848   PreParserExpressionList NewPropertyList(int size, Zone* zone) const { | 848   PreParserExpressionList NewPropertyList(int size, Zone* zone) const { | 
| 849     return PreParserExpressionList(); | 849     return PreParserExpressionList(); | 
| 850   } | 850   } | 
| 851 | 851 | 
| 852   PreParserStatementList NewStatementList(int size, Zone* zone) const { | 852   PreParserStatementList NewStatementList(int size, Zone* zone) const { | 
| 853     return PreParserStatementList(); | 853     return PreParserStatementList(); | 
| 854   } | 854   } | 
| 855 | 855 | 
| 856   void AddParameterInitializationBlock( | 856   void AddParameterInitializationBlock( | 
| 857       const PreParserFormalParameters& parameters, PreParserStatementList list, | 857       const PreParserFormalParameters& parameters, PreParserStatementList body, | 
| 858       bool is_async, bool* ok) const {} | 858       bool is_async, bool* ok) const {} | 
| 859 | 859 | 
| 860   void ParseAsyncArrowSingleExpressionBody( | 860   void ParseAsyncArrowSingleExpressionBody( | 
| 861       PreParserStatementList body, bool accept_IN, | 861       PreParserStatementList body, bool accept_IN, | 
| 862       Type::ExpressionClassifier* classifier, int pos, bool* ok); | 862       Type::ExpressionClassifier* classifier, int pos, bool* ok); | 
| 863 | 863 | 
| 864 | 864 | 
| 865   void AddFormalParameter(PreParserFormalParameters* parameters, | 865   void AddFormalParameter(PreParserFormalParameters* parameters, | 
| 866                           PreParserExpression pattern, | 866                           PreParserExpression pattern, | 
| 867                           PreParserExpression initializer, | 867                           PreParserExpression initializer, | 
| 868                           int initializer_end_position, bool is_rest) { | 868                           int initializer_end_position, bool is_rest) { | 
| 869     ++parameters->arity; | 869     ++parameters->arity; | 
| 870   } | 870   } | 
| 871 | 871 | 
| 872   void DeclareFormalParameter(DeclarationScope* scope, | 872   void DeclareFormalParameter(DeclarationScope* scope, | 
| 873                               PreParserIdentifier parameter, | 873                               PreParserIdentifier parameter, | 
| 874                               Type::ExpressionClassifier* classifier) { | 874                               Type::ExpressionClassifier* classifier) { | 
| 875     if (!classifier->is_simple_parameter_list()) { | 875     if (!classifier->is_simple_parameter_list()) { | 
| 876       scope->SetHasNonSimpleParameters(); | 876       scope->SetHasNonSimpleParameters(); | 
| 877     } | 877     } | 
| 878   } | 878   } | 
| 879 | 879 | 
| 880   V8_INLINE void ParseArrowFunctionFormalParameterList( | 880   V8_INLINE void ParseArrowFunctionFormalParameterList( | 
| 881       PreParserFormalParameters* parameters, PreParserExpression expression, | 881       PreParserFormalParameters* parameters, PreParserExpression params, | 
| 882       const Scanner::Location& params_loc, Scanner::Location* duplicate_loc, | 882       const Scanner::Location& params_loc, Scanner::Location* duplicate_loc, | 
| 883       const Scope::Snapshot& scope_snapshot, bool* ok); | 883       const Scope::Snapshot& scope_snapshot, bool* ok); | 
| 884 | 884 | 
| 885   V8_INLINE PreParserExpression ParseAsyncFunctionExpression(bool* ok); | 885   V8_INLINE PreParserExpression ParseAsyncFunctionExpression(bool* ok); | 
| 886 | 886 | 
| 887   V8_INLINE PreParserExpression ParseDoExpression(bool* ok); | 887   V8_INLINE PreParserExpression ParseDoExpression(bool* ok); | 
| 888 | 888 | 
| 889   void ReindexLiterals(const PreParserFormalParameters& parameters) {} | 889   void ReindexLiterals(const PreParserFormalParameters& parameters) {} | 
| 890 | 890 | 
| 891   // Temporary glue; these functions will move to ParserBase. | 891   // Temporary glue; these functions will move to ParserBase. | 
| (...skipping 365 matching lines...) Expand 10 before | Expand all | Expand 10 after  Loading... | 
| 1257     pre_parser_->function_state_->NextMaterializedLiteralIndex(); | 1257     pre_parser_->function_state_->NextMaterializedLiteralIndex(); | 
| 1258     pre_parser_->function_state_->NextMaterializedLiteralIndex(); | 1258     pre_parser_->function_state_->NextMaterializedLiteralIndex(); | 
| 1259   } | 1259   } | 
| 1260   return EmptyExpression(); | 1260   return EmptyExpression(); | 
| 1261 } | 1261 } | 
| 1262 | 1262 | 
| 1263 }  // namespace internal | 1263 }  // namespace internal | 
| 1264 }  // namespace v8 | 1264 }  // namespace v8 | 
| 1265 | 1265 | 
| 1266 #endif  // V8_PARSING_PREPARSER_H | 1266 #endif  // V8_PARSING_PREPARSER_H | 
| OLD | NEW | 
|---|