| Index: src/parsing/parser.h
|
| diff --git a/src/parsing/parser.h b/src/parsing/parser.h
|
| index af530339d0d0d291989e17d265716211371f02c4..86680e1683d713dcb112b0cafe99cdc7cd1723f6 100644
|
| --- a/src/parsing/parser.h
|
| +++ b/src/parsing/parser.h
|
| @@ -152,7 +152,8 @@ struct ParserTypes<Parser> {
|
| typedef ObjectLiteral::Property* ObjectLiteralProperty;
|
| typedef ClassLiteral::Property* ClassLiteralProperty;
|
| typedef ZoneList<v8::internal::Expression*>* ExpressionList;
|
| - typedef ZoneList<ObjectLiteral::Property*>* PropertyList;
|
| + typedef ZoneList<ObjectLiteral::Property*>* ObjectPropertyList;
|
| + typedef ZoneList<ClassLiteral::Property*>* ClassPropertyList;
|
| typedef ParserFormalParameters FormalParameters;
|
| typedef v8::internal::Statement* Statement;
|
| typedef ZoneList<v8::internal::Statement*>* StatementList;
|
| @@ -269,9 +270,6 @@ class Parser : public ParserBase<Parser> {
|
| };
|
| ZoneList<const NamedImport*>* ParseNamedImports(int pos, bool* ok);
|
| Statement* ParseFunctionDeclaration(bool* ok);
|
| - Statement* ParseClassDeclaration(ZoneList<const AstRawString*>* names,
|
| - bool default_export, bool* ok);
|
| - Statement* ParseNativeDeclaration(bool* ok);
|
| Block* BuildInitializationBlock(DeclarationParsingResult* parsing_result,
|
| ZoneList<const AstRawString*>* names,
|
| bool* ok);
|
| @@ -297,6 +295,21 @@ class Parser : public ParserBase<Parser> {
|
| FunctionLiteral* function, int pos,
|
| bool is_generator, bool is_async,
|
| ZoneList<const AstRawString*>* names, bool* ok);
|
| + V8_INLINE Statement* DeclareClass(const AstRawString* variable_name,
|
| + Expression* value,
|
| + ZoneList<const AstRawString*>* names,
|
| + int class_token_pos, int end_pos, bool* ok);
|
| + V8_INLINE void DeclareClassVariable(const AstRawString* name,
|
| + Scope* block_scope, ClassInfo* class_info,
|
| + int class_token_pos, bool* ok);
|
| + V8_INLINE void DeclareClassProperty(const AstRawString* class_name,
|
| + ClassLiteralProperty* property,
|
| + ClassInfo* class_info, bool* ok);
|
| + V8_INLINE Expression* RewriteClassLiteral(const AstRawString* name,
|
| + ClassInfo* class_info, int pos,
|
| + bool* ok);
|
| + V8_INLINE Statement* DeclareNative(const AstRawString* name, int pos,
|
| + bool* ok);
|
|
|
| Expression* ParseYieldStarExpression(bool* ok);
|
|
|
| @@ -419,11 +432,6 @@ class Parser : public ParserBase<Parser> {
|
| FunctionLiteral* SynthesizeClassFieldInitializer(int count);
|
| FunctionLiteral* InsertClassFieldInitializer(FunctionLiteral* constructor);
|
|
|
| - Expression* ParseClassLiteral(const AstRawString* name,
|
| - Scanner::Location class_name_location,
|
| - bool name_is_strict_reserved, int pos,
|
| - bool* ok);
|
| -
|
| // Get odd-ball literals.
|
| Literal* GetLiteralUndefined(int position);
|
|
|
| @@ -739,10 +747,16 @@ class Parser : public ParserBase<Parser> {
|
| fni_->PushEnclosingName(name);
|
| }
|
|
|
| - V8_INLINE void InferFunctionName(FunctionLiteral* func_to_infer) {
|
| + V8_INLINE void AddFunctionForNameInference(FunctionLiteral* func_to_infer) {
|
| + DCHECK_NOT_NULL(fni_);
|
| fni_->AddFunction(func_to_infer);
|
| }
|
|
|
| + V8_INLINE void InferFunctionName() {
|
| + DCHECK_NOT_NULL(fni_);
|
| + fni_->Infer();
|
| + }
|
| +
|
| // If we assign a function literal to a property we pretenure the
|
| // literal so it can be added as a constant function property.
|
| V8_INLINE static void CheckAssigningFunctionLiteralToProperty(
|
| @@ -936,7 +950,7 @@ class Parser : public ParserBase<Parser> {
|
| V8_INLINE ZoneList<Expression*>* NewExpressionList(int size) const {
|
| return new (zone()) ZoneList<Expression*>(size, zone());
|
| }
|
| - V8_INLINE ZoneList<ObjectLiteral::Property*>* NewPropertyList(
|
| + V8_INLINE ZoneList<ObjectLiteral::Property*>* NewObjectPropertyList(
|
| int size) const {
|
| return new (zone()) ZoneList<ObjectLiteral::Property*>(size, zone());
|
| }
|
|
|