Index: src/parsing/preparser.h |
diff --git a/src/parsing/preparser.h b/src/parsing/preparser.h |
index 9a4c323b97edf8c0866a427a1a7d36aed40f1fcf..0beb499c0bfa1cb1f5fedfc1b3ee37fa24fcf0be 100644 |
--- a/src/parsing/preparser.h |
+++ b/src/parsing/preparser.h |
@@ -68,6 +68,9 @@ class PreParserIdentifier { |
static PreParserIdentifier Async() { |
return PreParserIdentifier(kAsyncIdentifier); |
} |
+ static PreParserIdentifier Name() { |
+ return PreParserIdentifier(kNameIdentifier); |
+ } |
bool IsEmpty() const { return type_ == kEmptyIdentifier; } |
bool IsEval() const { return type_ == kEvalIdentifier; } |
bool IsArguments() const { return type_ == kArgumentsIdentifier; } |
@@ -80,6 +83,7 @@ class PreParserIdentifier { |
bool IsConstructor() const { return type_ == kConstructorIdentifier; } |
bool IsEnum() const { return type_ == kEnumIdentifier; } |
bool IsAwait() const { return type_ == kAwaitIdentifier; } |
+ bool IsName() const { return type_ == kNameIdentifier; } |
// Allow identifier->name()[->length()] to work. The preparser |
// does not need the actual positions/lengths of the identifiers. |
@@ -105,7 +109,8 @@ class PreParserIdentifier { |
kConstructorIdentifier, |
kEnumIdentifier, |
kAwaitIdentifier, |
- kAsyncIdentifier |
+ kAsyncIdentifier, |
+ kNameIdentifier |
}; |
explicit PreParserIdentifier(Type type) : type_(type), string_(nullptr) {} |
@@ -1152,6 +1157,10 @@ class PreParser : public ParserBase<PreParser> { |
return identifier.IsConstructor(); |
} |
+ V8_INLINE bool IsName(PreParserIdentifier identifier) const { |
+ return identifier.IsName(); |
+ } |
+ |
V8_INLINE static bool IsBoilerplateProperty(PreParserExpression property) { |
// PreParser doesn't count boilerplate properties. |
return false; |