From 81db8fda180aced4a25b1177514c230bc27a6bfe Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Daniel=20Marjam=C3=A4ki?= Date: Thu, 1 Aug 2019 17:29:25 +0200 Subject: [PATCH] SymbolDatabase: Code cleanup in findFunction --- lib/symboldatabase.cpp | 22 ++++------------------ 1 file changed, 4 insertions(+), 18 deletions(-) diff --git a/lib/symboldatabase.cpp b/lib/symboldatabase.cpp index 2828f5004..3d6d8239c 100644 --- a/lib/symboldatabase.cpp +++ b/lib/symboldatabase.cpp @@ -4229,29 +4229,15 @@ const Function* Scope::findFunction(const Token *tok, bool requireConst) const } } - // check for a match with a numeric literal - else if (Token::Match(arguments[j], "%num%")) { - const Token *calltok = arguments[j]; - if (funcarg->isPointer() && MathLib::isNullValue(calltok->str())) { - fallback1++; - } else { - ValueType::MatchResult res = ValueType::matchParameter(arguments[j]->valueType(), funcarg->valueType()); - if (res == ValueType::MatchResult::SAME) - ++same; - else if (res == ValueType::MatchResult::FALLBACK1) - ++fallback1; - else if (res == ValueType::MatchResult::FALLBACK2) - ++fallback2; - } - } - else if (funcarg->isStlStringType() && arguments[j]->valueType() && arguments[j]->valueType()->pointer == 1 && arguments[j]->valueType()->type == ValueType::Type::CHAR) fallback1++; // check for a match with nullptr - else if (funcarg->isPointer() && Token::Match(arguments[j], "nullptr|NULL ,|)")) { + else if (funcarg->isPointer() && Token::Match(arguments[j], "nullptr|NULL ,|)")) same++; - } + + else if (arguments[j]->isNumber() && funcarg->isPointer() && MathLib::isNullValue(arguments[j]->str())) + fallback1++; // Try to evaluate the apparently more complex expression else {