diff --git a/es2panda/parser/parserImpl.h b/es2panda/parser/parserImpl.h index c07300b81b0fb4bb733236ac1f5fba8dd143f47f..7eb03e42708e6e32c9e4224de363479d2027f0b0 100644 --- a/es2panda/parser/parserImpl.h +++ b/es2panda/parser/parserImpl.h @@ -504,7 +504,7 @@ class SavedStatusContext { public: explicit SavedStatusContext(ParserContext *ctx) // NOLINTNEXTLINE(readability-magic-numbers) - : ctx_(ctx), savedStatus_(static_cast(ctx->Status() & status)) + : ctx_(ctx), savedStatus_(static_cast(ctx->Status())) { // NOLINTNEXTLINE(readability-magic-numbers) ctx->Status() |= status; @@ -515,9 +515,7 @@ public: ~SavedStatusContext() { - if (savedStatus_ == ParserStatus::NO_OPTS) { - ctx_->Status() &= ~savedStatus_; - } + ctx_->Status() = savedStatus_; } private: