Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(340)

Unified Diff: src/parsing/preparser.h

Issue 2368083002: [parser] Refactor of ParseClass* and ParseNativeDeclaration (Closed)
Patch Set: The real patch Created 4 years, 3 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: src/parsing/preparser.h
diff --git a/src/parsing/preparser.h b/src/parsing/preparser.h
index e3a4ece78dd9199097876f225e834681d961e0a7..05a8e8f704ba3affad9a91e20fa726c78f662b00 100644
--- a/src/parsing/preparser.h
+++ b/src/parsing/preparser.h
@@ -727,7 +727,8 @@ struct ParserTypes<PreParser> {
typedef PreParserExpression ObjectLiteralProperty;
typedef PreParserExpression ClassLiteralProperty;
typedef PreParserExpressionList ExpressionList;
- typedef PreParserExpressionList PropertyList;
+ typedef PreParserExpressionList ObjectPropertyList;
+ typedef PreParserExpressionList ClassPropertyList;
typedef PreParserFormalParameters FormalParameters;
typedef PreParserStatement Statement;
typedef PreParserStatementList StatementList;
@@ -840,8 +841,6 @@ class PreParser : public ParserBase<PreParser> {
Statement ParseAsyncFunctionDeclaration(ZoneList<const AstRawString*>* names,
bool default_export, bool* ok);
Expression ParseAsyncFunctionExpression(bool* ok);
- Statement ParseClassDeclaration(ZoneList<const AstRawString*>* names,
- bool default_export, bool* ok);
Expression ParseConditionalExpression(bool accept_IN, bool* ok);
Expression ParseObjectLiteral(bool* ok);
@@ -863,11 +862,6 @@ class PreParser : public ParserBase<PreParser> {
LanguageMode language_mode, bool* ok);
LazyParsingResult ParseLazyFunctionLiteralBody(bool may_abort, bool* ok);
- PreParserExpression ParseClassLiteral(PreParserIdentifier name,
- Scanner::Location class_name_location,
- bool name_is_strict_reserved, int pos,
- bool* ok);
-
struct TemplateLiteralState {};
V8_INLINE TemplateLiteralState OpenTemplateLiteral(int pos) {
@@ -947,11 +941,6 @@ class PreParser : public ParserBase<PreParser> {
return labels;
}
- V8_INLINE PreParserStatement ParseNativeDeclaration(bool* ok) {
- UNREACHABLE();
- return PreParserStatement::Default();
- }
-
// TODO(nikolaos): The preparser currently does not keep track of labels.
V8_INLINE bool ContainsLabel(ZoneList<const AstRawString*>* labels,
PreParserIdentifier label) {
@@ -998,6 +987,28 @@ class PreParser : public ParserBase<PreParser> {
return Statement::Default();
}
+ V8_INLINE PreParserStatement
+ DeclareClass(PreParserIdentifier variable_name, PreParserExpression value,
+ ZoneList<const AstRawString*>* names, int pos, bool* ok) {
+ return PreParserStatement::Default();
+ }
+ V8_INLINE void DeclareClassVariable(PreParserIdentifier name,
+ Scope* block_scope, ClassInfo* class_info,
+ int pos, bool* ok) {}
+ V8_INLINE void DeclareClassProperty(PreParserIdentifier class_name,
+ PreParserExpression property,
+ ClassInfo* class_info, bool* ok) {}
+ V8_INLINE PreParserExpression RewriteClassLiteral(PreParserIdentifier name,
+ ClassInfo* class_info,
+ int pos, bool* ok) {
+ return PreParserExpression::Default();
+ }
+
+ V8_INLINE PreParserStatement DeclareNative(PreParserIdentifier name, int pos,
+ bool* ok) {
+ return PreParserStatement::Default();
+ }
+
V8_INLINE void QueueDestructuringAssignmentForRewriting(
PreParserExpression assignment) {}
V8_INLINE void QueueNonPatternForRewriting(PreParserExpression expr,
@@ -1105,6 +1116,7 @@ class PreParser : public ParserBase<PreParser> {
V8_INLINE void PushPropertyName(PreParserExpression expression) {}
V8_INLINE void PushEnclosingName(PreParserIdentifier name) {}
V8_INLINE static void InferFunctionName(PreParserExpression expression) {}
+ V8_INLINE static void Infer() {}
V8_INLINE static void CheckAssigningFunctionLiteralToProperty(
PreParserExpression left, PreParserExpression right) {}
@@ -1321,7 +1333,11 @@ class PreParser : public ParserBase<PreParser> {
return PreParserExpressionList();
}
- V8_INLINE PreParserExpressionList NewPropertyList(int size) const {
+ V8_INLINE PreParserExpressionList NewObjectPropertyList(int size) const {
+ return PreParserExpressionList();
+ }
+
+ V8_INLINE PreParserExpressionList NewClassPropertyList(int size) const {
return PreParserExpressionList();
}

Powered by Google App Engine
This is Rietveld 408576698