Replace std::string::find == 0 with StringRef::startswith

This is both more readable and faster. Found by clang-tidy's
abseil-string-find-startswith.
This commit is contained in:
Benjamin Kramer 2020-03-31 20:56:24 +02:00
parent 03f43b3aca
commit e8f13f4f62
7 changed files with 9 additions and 8 deletions

View File

@ -140,7 +140,8 @@ getAArch64MicroArchFeaturesFromMtune(const Driver &D, StringRef Mtune,
// Handle CPU name is 'native'.
if (MtuneLowerCase == "native")
MtuneLowerCase = std::string(llvm::sys::getHostCPUName());
if (MtuneLowerCase == "cyclone" || MtuneLowerCase.find("apple") == 0) {
if (MtuneLowerCase == "cyclone" ||
StringRef(MtuneLowerCase).startswith("apple")) {
Features.push_back("+zcm");
Features.push_back("+zcz");
}

View File

@ -42,7 +42,7 @@ public:
for (const StmtSequence &Arg : {A, B}) {
if (const auto *D =
dyn_cast<const FunctionDecl>(Arg.getContainingDecl())) {
if (D->getNameAsString().find("bar") == 0)
if (StringRef(D->getNameAsString()).startswith("bar"))
return false;
}
}

View File

@ -1414,7 +1414,7 @@ void Module::SetSymbolFileFileSpec(const FileSpec &file) {
if (FileSystem::Instance().IsDirectory(file)) {
std::string new_path(file.GetPath());
std::string old_path(obj_file->GetFileSpec().GetPath());
if (old_path.find(new_path) == 0) {
if (llvm::StringRef(old_path).startswith(new_path)) {
// We specified the same bundle as the symbol file that we already
// have
return;

View File

@ -88,7 +88,7 @@ ObjectContainerBSDArchive::Object::Extract(const DataExtractor &data,
return LLDB_INVALID_OFFSET;
str.assign((const char *)data.GetData(&offset, 16), 16);
if (str.find("#1/") == 0) {
if (llvm::StringRef(str).startswith("#1/")) {
// If the name is longer than 16 bytes, or contains an embedded space then
// it will use this format where the length of the name is here and the
// name characters are after this header.

View File

@ -5140,10 +5140,10 @@ uint32_t ObjectFileMachO::GetDependentModules(FileSpecList &files) {
std::string loader_path("@loader_path");
std::string executable_path("@executable_path");
for (auto &rpath : rpath_paths) {
if (rpath.find(loader_path) == 0) {
if (llvm::StringRef(rpath).startswith(loader_path)) {
rpath.erase(0, loader_path.size());
rpath.insert(0, this_file_spec.GetDirectory().GetCString());
} else if (rpath.find(executable_path) == 0) {
} else if (llvm::StringRef(rpath).startswith(executable_path)) {
rpath.erase(0, executable_path.size());
rpath.insert(0, this_file_spec.GetDirectory().GetCString());
}

View File

@ -4418,7 +4418,7 @@ bool ParseRegisters(XMLNode feature_node, GdbServerTargetInfo &target_info,
});
if (!gdb_type.empty() && !(encoding_set || format_set)) {
if (gdb_type.find("int") == 0) {
if (llvm::StringRef(gdb_type).startswith("int")) {
reg_info.format = eFormatHex;
reg_info.encoding = eEncodingUint;
} else if (gdb_type == "data_ptr" || gdb_type == "code_ptr") {

View File

@ -529,7 +529,7 @@ static void PrivateAutoCompleteMembers(
i, member_name, nullptr, nullptr, nullptr);
if (partial_member_name.empty() ||
member_name.find(partial_member_name) == 0) {
llvm::StringRef(member_name).startswith(partial_member_name)) {
if (member_name == partial_member_name) {
PrivateAutoComplete(
frame, partial_path,