| Index: src/parsing/expression-classifier.h
|
| diff --git a/src/parsing/expression-classifier.h b/src/parsing/expression-classifier.h
|
| index 3f70ed82d060965cce15739cb5f3cada9f204354..d3ac6daf97b935479129dc3978897c27c2fb44fa 100644
|
| --- a/src/parsing/expression-classifier.h
|
| +++ b/src/parsing/expression-classifier.h
|
| @@ -17,16 +17,19 @@ template <typename Traits>
|
| class ExpressionClassifier {
|
| public:
|
| struct Error {
|
| - Error()
|
| - : location(Scanner::Location::invalid()),
|
| - message(MessageTemplate::kNone),
|
| - type(kSyntaxError),
|
| - arg(nullptr) {}
|
| + Error() { reset(); }
|
|
|
| Scanner::Location location;
|
| MessageTemplate::Template message : 30;
|
| ParseErrorType type : 2;
|
| const char* arg;
|
| +
|
| + V8_INLINE void reset() {
|
| + location.beg_pos = location.end_pos = -1;
|
| + message = MessageTemplate::kNone;
|
| + type = kSyntaxError;
|
| + arg = nullptr;
|
| + }
|
| };
|
|
|
| enum TargetProduction {
|
| @@ -320,12 +323,12 @@ class ExpressionClassifier {
|
|
|
| void ForgiveCoverInitializedNameError() {
|
| invalid_productions_ &= ~CoverInitializedNameProduction;
|
| - cover_initialized_name_error_ = Error();
|
| + cover_initialized_name_error_.reset();
|
| }
|
|
|
| void ForgiveAssignmentPatternError() {
|
| invalid_productions_ &= ~AssignmentPatternProduction;
|
| - assignment_pattern_error_ = Error();
|
| + assignment_pattern_error_.reset();
|
| }
|
|
|
| void Accumulate(ExpressionClassifier* inner,
|
|
|