summaryrefslogtreecommitdiffstats
path: root/compilerplugins
diff options
context:
space:
mode:
authorStephan Bergmann <sbergman@redhat.com>2021-09-23 10:16:21 +0200
committerStephan Bergmann <sbergman@redhat.com>2021-09-23 12:19:55 +0200
commitfdce0a04bd8b23200631e09979b3880adf754b2a (patch)
treea94da81e5b0be3a7a4e3b37bccb9c13aecbab8f7 /compilerplugins
parentLook for the udkapi types.rdb file in the right place when cross-compiling (diff)
downloadcore-fdce0a04bd8b23200631e09979b3880adf754b2a.tar.gz
core-fdce0a04bd8b23200631e09979b3880adf754b2a.zip
Extend loplugin:stringviewparam to starts/endsWith
Change-Id: I4b8fb5e963e582836440587dcaa2922cb5d05bc7 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/122512 Tested-by: Jenkins Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
Diffstat (limited to 'compilerplugins')
-rw-r--r--compilerplugins/clang/stringviewparam.cxx2
-rw-r--r--compilerplugins/clang/test/stringviewparam.cxx6
2 files changed, 5 insertions, 3 deletions
diff --git a/compilerplugins/clang/stringviewparam.cxx b/compilerplugins/clang/stringviewparam.cxx
index 862e9f331133..aa0899ca10a0 100644
--- a/compilerplugins/clang/stringviewparam.cxx
+++ b/compilerplugins/clang/stringviewparam.cxx
@@ -168,7 +168,7 @@ DeclRefExpr const* relevantCXXMemberCallExpr(CXXMemberCallExpr const* expr)
else if (auto const i = d->getIdentifier())
{
auto const n = i->getName();
- if (n == "isEmpty" || n == "subView")
+ if (n == "endsWith" || n == "isEmpty" || n == "startsWith" || n == "subView")
{
good = true;
}
diff --git a/compilerplugins/clang/test/stringviewparam.cxx b/compilerplugins/clang/test/stringviewparam.cxx
index db57c8ac415f..f5f165804490 100644
--- a/compilerplugins/clang/test/stringviewparam.cxx
+++ b/compilerplugins/clang/test/stringviewparam.cxx
@@ -23,7 +23,8 @@ void f1a(std::string_view);
char f1b(OString const& s)
{
f1a(s);
- if (s.isEmpty())
+ OString rest;
+ if (s.isEmpty() || s.startsWith("foo", &rest) || s.endsWith("foo"))
{
f1a(std::string_view(s));
}
@@ -35,7 +36,8 @@ void f2a(std::u16string_view);
sal_Unicode f2b(OUString const& s)
{
f2a(s);
- if (s.isEmpty())
+ OUString rest;
+ if (s.isEmpty() || s.startsWith("foo", &rest) || s.endsWith("foo"))
{
f2a(std::u16string_view(s));
}