diff options
Diffstat (limited to 'compilerplugins/clang/stringviewparam.cxx')
-rw-r--r-- | compilerplugins/clang/stringviewparam.cxx | 13 |
1 files changed, 9 insertions, 4 deletions
diff --git a/compilerplugins/clang/stringviewparam.cxx b/compilerplugins/clang/stringviewparam.cxx index a500adf65d7c..9687bd8bbe2c 100644 --- a/compilerplugins/clang/stringviewparam.cxx +++ b/compilerplugins/clang/stringviewparam.cxx @@ -11,8 +11,9 @@ #include <set> #include <vector> +#include "config_clang.h" + #include "check.hxx" -#include "compat.hxx" #include "functionaddress.hxx" #include "plugin.hxx" @@ -122,7 +123,7 @@ DeclRefExpr const* relevantImplicitCastExpr(ImplicitCastExpr const* expr) DeclRefExpr const* relevantCXXMemberCallExpr(CXXMemberCallExpr const* expr) { - StringType t = relevantStringType(compat::getObjectType(expr)); + StringType t = relevantStringType(expr->getObjectType()); if (t == StringType::None) { return nullptr; @@ -136,7 +137,11 @@ DeclRefExpr const* relevantCXXMemberCallExpr(CXXMemberCallExpr const* expr) else if (auto const i = d->getIdentifier()) { auto const n = i->getName(); - if (n == "endsWith" || n == "isEmpty" || n == "startsWith" || n == "subView") + if (!(n == "getLength" || n == "getStr" || n == "convertToString" || n == "replace" + || n == "replaceAll" || n == "replaceAt" || n == "replaceFirst" + || n == "toAsciiLowerCase" || n == "toAsciiUpperCase" || n == "toUtf8" + || n == "startsWithIgnoreAsciiCase" || n == "toUInt64" || n == "toFloat" + || n == "toBoolean")) { good = true; } @@ -182,7 +187,7 @@ SmallVector<DeclRefExpr const*, 2> relevantCXXOperatorCallExpr(CXXOperatorCallEx } return wrap(relevantDeclRefExpr(e)); } - if (compat::isComparisonOp(expr) || (op == OO_Plus && expr->getNumArgs() == 2)) + if (expr->isComparisonOp() || (op == OO_Plus && expr->getNumArgs() == 2)) { SmallVector<DeclRefExpr const*, 2> v; if (auto const e = relevantDeclRefExpr(expr->getArg(0))) |