CPlusPlus: Reuse QScopeGuard instead of ExecuteOnDestruction

Change-Id: Ifb2cf839777c18b4f66a88b7f5106f05148b0c20
Reviewed-by: hjk <hjk@qt.io>
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
This commit is contained in:
Jarek Kobus
2023-06-03 13:56:37 +02:00
parent deb74751fb
commit f1c04035a6
2 changed files with 14 additions and 13 deletions

View File

@@ -25,7 +25,7 @@
#include "cppassert.h" #include "cppassert.h"
#include <utils/executeondestruction.h> #include <QScopeGuard>
#include <cctype> #include <cctype>
@@ -756,9 +756,9 @@ void Lexer::scanStringLiteral(Token *tok, unsigned char hint)
void Lexer::scanRawStringLiteral(Token *tok, unsigned char hint) void Lexer::scanRawStringLiteral(Token *tok, unsigned char hint)
{ {
Utils::ExecuteOnDestruction suffixCleaner; QScopeGuard cleanup([this] { _expectedRawStringSuffix.clear(); });
if (!control()) if (control())
suffixCleaner.reset([this] { _expectedRawStringSuffix.clear(); }); cleanup.dismiss();
const char *yytext = _currentChar; const char *yytext = _currentChar;
@@ -827,7 +827,7 @@ void Lexer::scanRawStringLiteral(Token *tok, unsigned char hint)
tok->f.kind = T_RAW_STRING_LITERAL; tok->f.kind = T_RAW_STRING_LITERAL;
if (!control() && !closed) { if (!control() && !closed) {
suffixCleaner.reset([]{}); cleanup.dismiss();
s._tokenKind = tok->f.kind; s._tokenKind = tok->f.kind;
_expectedRawStringSuffix.prepend(')'); _expectedRawStringSuffix.prepend(')');
_expectedRawStringSuffix.append('"'); _expectedRawStringSuffix.append('"');

View File

@@ -30,7 +30,6 @@
#include <cplusplus/Literals.h> #include <cplusplus/Literals.h>
#include <cplusplus/cppassert.h> #include <cplusplus/cppassert.h>
#include <utils/executeondestruction.h>
#include <utils/filepath.h> #include <utils/filepath.h>
#include <utils/scopedswap.h> #include <utils/scopedswap.h>
@@ -40,6 +39,7 @@
#include <QLoggingCategory> #include <QLoggingCategory>
#include <QTime> #include <QTime>
#include <QPair> #include <QPair>
#include <QScopeGuard>
#include <cctype> #include <cctype>
#include <deque> #include <deque>
@@ -1513,14 +1513,15 @@ bool Preprocessor::collectActualArguments(PPToken *tk, QVector<QVector<PPToken>
Q_ASSERT(tk); Q_ASSERT(tk);
Q_ASSERT(actuals); Q_ASSERT(actuals);
ExecuteOnDestruction removeBlockedName; QScopeGuard cleanup([this] {
if (m_state.m_tokenBuffer) { if (m_state.m_tokenBuffer && !m_state.m_tokenBuffer->blockedMacroNames.empty())
removeBlockedName.reset([this] { m_state.m_tokenBuffer->blockedMacroNames.pop_back();
if (m_state.m_tokenBuffer && !m_state.m_tokenBuffer->blockedMacroNames.empty()) });
m_state.m_tokenBuffer->blockedMacroNames.pop_back();
}); if (m_state.m_tokenBuffer)
m_state.m_tokenBuffer->blockedMacroNames.push_back(parentMacroName); m_state.m_tokenBuffer->blockedMacroNames.push_back(parentMacroName);
} else
cleanup.dismiss();
lex(tk); // consume the identifier lex(tk); // consume the identifier