From b80a1e8f431e66a0a9a7fb304daf0d8b6314c1e9 Mon Sep 17 00:00:00 2001 From: firewave Date: Sat, 1 Jun 2024 23:58:39 +0200 Subject: [PATCH] SymbolDatabase: reduced `Token::isCpp()` calls in `parsedecl()` --- lib/symboldatabase.cpp | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/lib/symboldatabase.cpp b/lib/symboldatabase.cpp index 7d900e6a44c..c3b6ab30ac1 100644 --- a/lib/symboldatabase.cpp +++ b/lib/symboldatabase.cpp @@ -7096,6 +7096,7 @@ static const Token* parsedecl(const Token* type, valuetype->type = getEnumType(valuetype->typeScope, settings.platform); } else valuetype->type = ValueType::Type::RECORD; + const bool cpp = type->isCpp(); bool par = false; while (Token::Match(type, "%name%|*|&|&&|::|(") && !Token::Match(type, "typename|template") && type->varId() == 0 && !type->variable() && !type->function()) { @@ -7158,7 +7159,7 @@ static const Token* parsedecl(const Token* type, if (valuetype->typeScope) valuetype->type = (scope->type == Scope::ScopeType::eClass) ? ValueType::Type::RECORD : ValueType::Type::NONSTD; } - } else if (const Library::Container* container = (type->isCpp() ? settings.library.detectContainerOrIterator(type, &isIterator) : nullptr)) { + } else if (const Library::Container* container = (cpp ? settings.library.detectContainerOrIterator(type, &isIterator) : nullptr)) { if (isIterator) valuetype->type = ValueType::Type::ITERATOR; else @@ -7180,7 +7181,7 @@ static const Token* parsedecl(const Token* type, // we are past the end of the type type = type->previous(); continue; - } else if (const Library::SmartPointer* smartPointer = (type->isCpp() ? settings.library.detectSmartPointer(type) : nullptr)) { + } else if (const Library::SmartPointer* smartPointer = (cpp ? settings.library.detectSmartPointer(type) : nullptr)) { const Token* argTok = Token::findsimplematch(type, "<"); if (!argTok) break;