| Index: src/parsing/preparser.h
|
| diff --git a/src/parsing/preparser.h b/src/parsing/preparser.h
|
| index aa0fe207c9f10293d0b055beb93fbfb2567884c9..2e2e36d98f504a96fcc21273a4afa3507d6b63e0 100644
|
| --- a/src/parsing/preparser.h
|
| +++ b/src/parsing/preparser.h
|
| @@ -183,6 +183,12 @@ class PreParserExpression {
|
| ExpressionTypeField::encode(kNoTemplateTagExpression));
|
| }
|
|
|
| + static PreParserExpression Empty() {
|
| + return PreParserExpression(TypeField::encode(kEmptyExpression));
|
| + }
|
| +
|
| + bool IsEmpty() const { return TypeField::decode(code_) == kEmptyExpression; }
|
| +
|
| bool IsIdentifier() const {
|
| return TypeField::decode(code_) == kIdentifierExpression;
|
| }
|
| @@ -282,6 +288,7 @@ class PreParserExpression {
|
| private:
|
| enum Type {
|
| kExpression,
|
| + kEmptyExpression,
|
| kIdentifierExpression,
|
| kStringLiteralExpression,
|
| kBinaryOperationExpression,
|
| @@ -1005,7 +1012,7 @@ class PreParserTraits {
|
| return PreParserIdentifier::Default();
|
| }
|
| static PreParserExpression EmptyExpression() {
|
| - return PreParserExpression::Default();
|
| + return PreParserExpression::Empty();
|
| }
|
| static PreParserExpression EmptyLiteral() {
|
| return PreParserExpression::Default();
|
| @@ -1059,6 +1066,9 @@ class PreParserTraits {
|
| static typesystem::PreParserTypeMember EmptyTypeMember() {
|
| return typesystem::PreParserTypeMember::Default(false, false);
|
| }
|
| + static bool IsEmptyExpression(const PreParserExpression& expression) {
|
| + return expression.IsEmpty();
|
| + }
|
|
|
| // Odd-ball literal creators.
|
| static PreParserExpression GetLiteralTheHole(int position,
|
|
|