| 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/parsing/parser-base.h" | 9 #include "src/parsing/parser-base.h" |
| 10 | 10 |
| (...skipping 640 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 651 int pos) { | 651 int pos) { |
| 652 return PreParserExpression::Default(); | 652 return PreParserExpression::Default(); |
| 653 } | 653 } |
| 654 PreParserStatement NewReturnStatement(PreParserExpression expression, | 654 PreParserStatement NewReturnStatement(PreParserExpression expression, |
| 655 int pos) { | 655 int pos) { |
| 656 return PreParserStatement::Jump(); | 656 return PreParserStatement::Jump(); |
| 657 } | 657 } |
| 658 PreParserExpression NewFunctionLiteral( | 658 PreParserExpression NewFunctionLiteral( |
| 659 PreParserIdentifier name, Scope* scope, PreParserStatementList body, | 659 PreParserIdentifier name, Scope* scope, PreParserStatementList body, |
| 660 int materialized_literal_count, int expected_property_count, | 660 int materialized_literal_count, int expected_property_count, |
| 661 int parameter_count, | 661 int parameter_count, int function_length, |
| 662 FunctionLiteral::ParameterFlag has_duplicate_parameters, | 662 FunctionLiteral::ParameterFlag has_duplicate_parameters, |
| 663 FunctionLiteral::FunctionType function_type, | 663 FunctionLiteral::FunctionType function_type, |
| 664 FunctionLiteral::EagerCompileHint eager_compile_hint, int position) { | 664 FunctionLiteral::EagerCompileHint eager_compile_hint, int position) { |
| 665 return PreParserExpression::Default(); | 665 return PreParserExpression::Default(); |
| 666 } | 666 } |
| 667 | 667 |
| 668 PreParserExpression NewSpread(PreParserExpression expression, int pos, | 668 PreParserExpression NewSpread(PreParserExpression expression, int pos, |
| 669 int expr_pos) { | 669 int expr_pos) { |
| 670 return PreParserExpression::Spread(expression); | 670 return PreParserExpression::Spread(expression); |
| 671 } | 671 } |
| (...skipping 82 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 754 } | 754 } |
| 755 | 755 |
| 756 private: | 756 private: |
| 757 Zone* zone_; | 757 Zone* zone_; |
| 758 }; | 758 }; |
| 759 | 759 |
| 760 | 760 |
| 761 struct PreParserFormalParameters : FormalParametersBase { | 761 struct PreParserFormalParameters : FormalParametersBase { |
| 762 explicit PreParserFormalParameters(DeclarationScope* scope) | 762 explicit PreParserFormalParameters(DeclarationScope* scope) |
| 763 : FormalParametersBase(scope) {} | 763 : FormalParametersBase(scope) {} |
| 764 int arity = 0; | |
| 765 | |
| 766 int Arity() const { return arity; } | |
| 767 PreParserIdentifier at(int i) { return PreParserIdentifier(); } // Dummy | 764 PreParserIdentifier at(int i) { return PreParserIdentifier(); } // Dummy |
| 768 }; | 765 }; |
| 769 | 766 |
| 770 | 767 |
| 771 class PreParser; | 768 class PreParser; |
| 772 | 769 |
| 773 class PreParserTarget { | 770 class PreParserTarget { |
| 774 public: | 771 public: |
| 775 PreParserTarget(ParserBase<PreParser>* preparser, | 772 PreParserTarget(ParserBase<PreParser>* preparser, |
| 776 PreParserStatement statement) {} | 773 PreParserStatement statement) {} |
| (...skipping 650 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1427 | 1424 |
| 1428 V8_INLINE void AddParameterInitializationBlock( | 1425 V8_INLINE void AddParameterInitializationBlock( |
| 1429 const PreParserFormalParameters& parameters, PreParserStatementList body, | 1426 const PreParserFormalParameters& parameters, PreParserStatementList body, |
| 1430 bool is_async, bool* ok) {} | 1427 bool is_async, bool* ok) {} |
| 1431 | 1428 |
| 1432 V8_INLINE void AddFormalParameter(PreParserFormalParameters* parameters, | 1429 V8_INLINE void AddFormalParameter(PreParserFormalParameters* parameters, |
| 1433 PreParserExpression pattern, | 1430 PreParserExpression pattern, |
| 1434 PreParserExpression initializer, | 1431 PreParserExpression initializer, |
| 1435 int initializer_end_position, | 1432 int initializer_end_position, |
| 1436 bool is_rest) { | 1433 bool is_rest) { |
| 1437 ++parameters->arity; | 1434 parameters->UpdateArityAndFunctionLength(!initializer.IsEmpty(), is_rest); |
| 1438 } | 1435 } |
| 1439 | 1436 |
| 1440 V8_INLINE void DeclareFormalParameter(DeclarationScope* scope, | 1437 V8_INLINE void DeclareFormalParameter(DeclarationScope* scope, |
| 1441 PreParserIdentifier parameter) { | 1438 PreParserIdentifier parameter) { |
| 1442 if (!classifier()->is_simple_parameter_list()) { | 1439 if (!classifier()->is_simple_parameter_list()) { |
| 1443 scope->SetHasNonSimpleParameters(); | 1440 scope->SetHasNonSimpleParameters(); |
| 1444 } | 1441 } |
| 1445 } | 1442 } |
| 1446 | 1443 |
| 1447 V8_INLINE void DeclareArrowFunctionFormalParameters( | 1444 V8_INLINE void DeclareArrowFunctionFormalParameters( |
| (...skipping 93 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1541 function_state_->NextMaterializedLiteralIndex(); | 1538 function_state_->NextMaterializedLiteralIndex(); |
| 1542 function_state_->NextMaterializedLiteralIndex(); | 1539 function_state_->NextMaterializedLiteralIndex(); |
| 1543 } | 1540 } |
| 1544 return EmptyExpression(); | 1541 return EmptyExpression(); |
| 1545 } | 1542 } |
| 1546 | 1543 |
| 1547 } // namespace internal | 1544 } // namespace internal |
| 1548 } // namespace v8 | 1545 } // namespace v8 |
| 1549 | 1546 |
| 1550 #endif // V8_PARSING_PREPARSER_H | 1547 #endif // V8_PARSING_PREPARSER_H |
| OLD | NEW |