| Index: src/parsing/parser.h
|
| diff --git a/src/parsing/parser.h b/src/parsing/parser.h
|
| index 94496eb1e4d8b964962722f24d747745d9e69274..62bd066cd4e2660d96a919c94133f9b97a0a2c4e 100644
|
| --- a/src/parsing/parser.h
|
| +++ b/src/parsing/parser.h
|
| @@ -334,9 +334,6 @@
|
| typedef Variable GeneratorVariable;
|
|
|
| typedef v8::internal::AstProperties AstProperties;
|
| -
|
| - typedef v8::internal::ExpressionClassifier<ParserTraits>
|
| - ExpressionClassifier;
|
|
|
| // Return types for traversing functions.
|
| typedef const AstRawString* Identifier;
|
| @@ -552,7 +549,7 @@
|
| int initializer_end_position, bool is_rest);
|
| V8_INLINE void DeclareFormalParameter(
|
| Scope* scope, const ParserFormalParameters::Parameter& parameter,
|
| - Type::ExpressionClassifier* classifier);
|
| + ExpressionClassifier* classifier);
|
| void ParseArrowFunctionFormalParameters(ParserFormalParameters* parameters,
|
| Expression* params,
|
| const Scanner::Location& params_loc,
|
| @@ -646,7 +643,6 @@
|
|
|
| V8_INLINE void QueueDestructuringAssignmentForRewriting(
|
| Expression* assignment);
|
| - V8_INLINE void QueueNonPatternForRewriting(Expression* expr);
|
|
|
| void SetFunctionNameFromPropertyName(ObjectLiteralProperty* property,
|
| const AstRawString* name);
|
| @@ -655,12 +651,11 @@
|
| Expression* identifier);
|
|
|
| // Rewrite expressions that are not used as patterns
|
| - V8_INLINE void RewriteNonPattern(Type::ExpressionClassifier* classifier,
|
| - bool* ok);
|
| -
|
| - V8_INLINE Zone* zone() const;
|
| -
|
| - V8_INLINE ZoneList<Expression*>* GetNonPatternList() const;
|
| + V8_INLINE Expression* RewriteNonPattern(
|
| + Expression* expr, const ExpressionClassifier* classifier, bool* ok);
|
| + V8_INLINE ObjectLiteralProperty* RewriteNonPatternObjectLiteralProperty(
|
| + ObjectLiteralProperty* property, const ExpressionClassifier* classifier,
|
| + bool* ok);
|
|
|
| Expression* RewriteYieldStar(
|
| Expression* generator, Expression* expression, int pos);
|
| @@ -817,9 +812,8 @@
|
| const DeclarationParsingResult::Declaration* declaration,
|
| ZoneList<const AstRawString*>* names, bool* ok);
|
|
|
| - static void RewriteDestructuringAssignment(Parser* parser,
|
| - RewritableExpression* expr,
|
| - Scope* Scope);
|
| + static void RewriteDestructuringAssignment(
|
| + Parser* parser, RewritableAssignmentExpression* expr, Scope* Scope);
|
|
|
| static Expression* RewriteDestructuringAssignment(Parser* parser,
|
| Assignment* assignment,
|
| @@ -1035,7 +1029,11 @@
|
| friend class NonPatternRewriter;
|
| V8_INLINE Expression* RewriteSpreads(ArrayLiteral* lit);
|
|
|
| - V8_INLINE void RewriteNonPattern(ExpressionClassifier* classifier, bool* ok);
|
| + V8_INLINE Expression* RewriteNonPattern(
|
| + Expression* expr, const ExpressionClassifier* classifier, bool* ok);
|
| + V8_INLINE ObjectLiteralProperty* RewriteNonPatternObjectLiteralProperty(
|
| + ObjectLiteralProperty* property, const ExpressionClassifier* classifier,
|
| + bool* ok);
|
|
|
| friend class InitializerRewriter;
|
| void RewriteParameterInitializer(Expression* expr, Scope* scope);
|
| @@ -1186,7 +1184,7 @@
|
|
|
| void ParserTraits::DeclareFormalParameter(
|
| Scope* scope, const ParserFormalParameters::Parameter& parameter,
|
| - Type::ExpressionClassifier* classifier) {
|
| + ExpressionClassifier* classifier) {
|
| bool is_duplicate = false;
|
| bool is_simple = classifier->is_simple_parameter_list();
|
| auto name = is_simple || parameter.is_rest
|
|
|