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

Unified Diff: src/parsing/preparser.h

Issue 2368083002: [parser] Refactor of ParseClass* and ParseNativeDeclaration (Closed)
Patch Set: Rebase again 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
« no previous file with comments | « src/parsing/parser-base.h ('k') | src/parsing/preparser.cc » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: src/parsing/preparser.h
diff --git a/src/parsing/preparser.h b/src/parsing/preparser.h
index 6fe0232964b2ab08cc1691333a251aa04d42f5bf..689d4c2a562719f7728394260cf04c2989738b34 100644
--- a/src/parsing/preparser.h
+++ b/src/parsing/preparser.h
@@ -728,7 +728,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;
@@ -837,8 +838,6 @@ class PreParser : public ParserBase<PreParser> {
// By making the 'exception handling' explicit, we are forced to check
// for failure at the call sites.
Statement ParseFunctionDeclaration(bool* ok);
- Statement ParseClassDeclaration(ZoneList<const AstRawString*>* names,
- bool default_export, bool* ok);
Expression ParseConditionalExpression(bool accept_IN, bool* ok);
Expression ParseObjectLiteral(bool* ok);
@@ -860,11 +859,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) {
@@ -946,11 +940,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) {
@@ -997,6 +986,29 @@ class PreParser : public ParserBase<PreParser> {
return Statement::Default();
}
+ V8_INLINE PreParserStatement
+ DeclareClass(PreParserIdentifier variable_name, PreParserExpression value,
+ ZoneList<const AstRawString*>* names, int class_token_pos,
+ int end_pos, bool* ok) {
+ return PreParserStatement::Default();
+ }
+ V8_INLINE void DeclareClassVariable(PreParserIdentifier name,
+ Scope* block_scope, ClassInfo* class_info,
+ int class_token_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,
@@ -1103,7 +1115,9 @@ class PreParser : public ParserBase<PreParser> {
V8_INLINE static void PushVariableName(PreParserIdentifier id) {}
V8_INLINE void PushPropertyName(PreParserExpression expression) {}
V8_INLINE void PushEnclosingName(PreParserIdentifier name) {}
- V8_INLINE static void InferFunctionName(PreParserExpression expression) {}
+ V8_INLINE static void AddFunctionForNameInference(
+ PreParserExpression expression) {}
+ V8_INLINE static void InferFunctionName() {}
V8_INLINE static void CheckAssigningFunctionLiteralToProperty(
PreParserExpression left, PreParserExpression right) {}
@@ -1318,7 +1332,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();
}
« no previous file with comments | « src/parsing/parser-base.h ('k') | src/parsing/preparser.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698