tree 08203354e00ad827403fcdb47ffe838c7d291968
parent 90b7fc8d8b6c92e3c8ce79c173ab47d1acafadc8
author Yabin Cui <yabinc@google.com> 1685562217 +0000
committer Yabin Cui <yabinc@google.com> 1685724580 +0000

Fix code for clang-tidy warnings

After clang-r498229, we got below new warnings:
art/artd/artd.cc:810:42: error: redundant call to 'c_str'
  [readability-redundant-string-cstr,-warnings-as-errors]
    context = ClassLoaderContext::Create(in_classLoaderContext->c_str());
                                         ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
                                         *in_classLoaderContext->
art/artd/artd.cc:899:35: error: redundant call to 'c_str'
  [readability-redundant-string-cstr,-warnings-as-errors]
    std::string dex_dir = Dirname(in_dexFile.c_str());
                                  ^~~~~~~~~~~~~~~~~~
                                  in_dexFile

art/artd/artd_test.cc:75:42: error: using decl 'GetDexoptStatusResult' is unused
  [misc-unused-using-decls,-warnings-as-errors]
using ::aidl::com::android::server::art::GetDexoptStatusResult;
                                         ^

art/artd/path_utils_test.cc:31:42: error: using decl 'VdexPath' is unused
  [misc-unused-using-decls,-warnings-as-errors]
using ::aidl::com::android::server::art::VdexPath;
                                         ^

art/artd/artd_test.cc:394:15: error: parameter 'cancellation_signal' is passed by value
and only copied once; consider moving it to avoid unnecessary copies
[performance-unnecessary-value-param,-warnings-as-errors]
              cancellation_signal);
              ^
              std::move(         )

Bug: 285008138
Test: build with WITH_TIDY=1
Change-Id: Id17bfea4dc78175aec3b1328e916f8c574e61a8c
