[Lldb-commits] [lldb] bb61021 - [lldb][NFC] Remove giant do{...}while(false); in ClangASTSource::FindExternalVisibleDecls
Raphael Isemann via lldb-commits
lldb-commits at lists.llvm.org
Wed Feb 19 08:35:33 PST 2020
Author: Raphael Isemann
Date: 2020-02-19T17:35:07+01:00
New Revision: bb61021a8fcc21676af65e4cbbf4d495831fad52
URL: https://github.com/llvm/llvm-project/commit/bb61021a8fcc21676af65e4cbbf4d495831fad52
DIFF: https://github.com/llvm/llvm-project/commit/bb61021a8fcc21676af65e4cbbf4d495831fad52.diff
LOG: [lldb][NFC] Remove giant do{...}while(false); in ClangASTSource::FindExternalVisibleDecls
Added:
Modified:
lldb/source/Plugins/ExpressionParser/Clang/ClangASTSource.cpp
Removed:
################################################################################
diff --git a/lldb/source/Plugins/ExpressionParser/Clang/ClangASTSource.cpp b/lldb/source/Plugins/ExpressionParser/Clang/ClangASTSource.cpp
index ad1111e1aef9..02b1f9bcd4a0 100644
--- a/lldb/source/Plugins/ExpressionParser/Clang/ClangASTSource.cpp
+++ b/lldb/source/Plugins/ExpressionParser/Clang/ClangASTSource.cpp
@@ -705,149 +705,146 @@ void ClangASTSource::FindExternalVisibleDecls(
}
}
- do {
- if (context.m_found.type)
- break;
+ if (context.m_found.type)
+ return;
- TypeList types;
- const bool exact_match = true;
- llvm::DenseSet<lldb_private::SymbolFile *> searched_symbol_files;
- if (module_sp && namespace_decl)
- module_sp->FindTypesInNamespace(name, namespace_decl, 1, types);
- else {
- m_target->GetImages().FindTypes(module_sp.get(), name, exact_match, 1,
- searched_symbol_files, types);
- }
+ TypeList types;
+ const bool exact_match = true;
+ llvm::DenseSet<lldb_private::SymbolFile *> searched_symbol_files;
+ if (module_sp && namespace_decl)
+ module_sp->FindTypesInNamespace(name, namespace_decl, 1, types);
+ else {
+ m_target->GetImages().FindTypes(module_sp.get(), name, exact_match, 1,
+ searched_symbol_files, types);
+ }
- if (size_t num_types = types.GetSize()) {
- for (size_t ti = 0; ti < num_types; ++ti) {
- lldb::TypeSP type_sp = types.GetTypeAtIndex(ti);
+ if (size_t num_types = types.GetSize()) {
+ for (size_t ti = 0; ti < num_types; ++ti) {
+ lldb::TypeSP type_sp = types.GetTypeAtIndex(ti);
- if (log) {
- const char *name_string = type_sp->GetName().GetCString();
+ if (log) {
+ const char *name_string = type_sp->GetName().GetCString();
- LLDB_LOG(log, " CAS::FEVD[{0}] Matching type found for \"{1}\": {2}",
- current_id, name,
- (name_string ? name_string : "<anonymous>"));
- }
+ LLDB_LOG(log, " CAS::FEVD[{0}] Matching type found for \"{1}\": {2}",
+ current_id, name,
+ (name_string ? name_string : "<anonymous>"));
+ }
- CompilerType full_type = type_sp->GetFullCompilerType();
+ CompilerType full_type = type_sp->GetFullCompilerType();
- CompilerType copied_clang_type(GuardedCopyType(full_type));
+ CompilerType copied_clang_type(GuardedCopyType(full_type));
- if (!copied_clang_type) {
- LLDB_LOG(log, " CAS::FEVD[{0}] - Couldn't export a type",
- current_id);
+ if (!copied_clang_type) {
+ LLDB_LOG(log, " CAS::FEVD[{0}] - Couldn't export a type",
+ current_id);
- continue;
- }
+ continue;
+ }
- context.AddTypeDecl(copied_clang_type);
+ context.AddTypeDecl(copied_clang_type);
- context.m_found.type = true;
- break;
- }
+ context.m_found.type = true;
+ break;
}
+ }
- if (!context.m_found.type) {
- // Try the modules next.
+ if (!context.m_found.type) {
+ // Try the modules next.
- do {
- if (ClangModulesDeclVendor *modules_decl_vendor =
- m_target->GetClangModulesDeclVendor()) {
- bool append = false;
- uint32_t max_matches = 1;
- std::vector<clang::NamedDecl *> decls;
+ do {
+ if (ClangModulesDeclVendor *modules_decl_vendor =
+ m_target->GetClangModulesDeclVendor()) {
+ bool append = false;
+ uint32_t max_matches = 1;
+ std::vector<clang::NamedDecl *> decls;
- if (!modules_decl_vendor->FindDecls(name, append, max_matches, decls))
- break;
+ if (!modules_decl_vendor->FindDecls(name, append, max_matches, decls))
+ break;
- if (log) {
- LLDB_LOG(log,
- " CAS::FEVD[{0}] Matching entity found for \"{1}\" in "
- "the modules",
- current_id, name);
- }
+ if (log) {
+ LLDB_LOG(log,
+ " CAS::FEVD[{0}] Matching entity found for \"{1}\" in "
+ "the modules",
+ current_id, name);
+ }
- clang::NamedDecl *const decl_from_modules = decls[0];
+ clang::NamedDecl *const decl_from_modules = decls[0];
- if (llvm::isa<clang::TypeDecl>(decl_from_modules) ||
- llvm::isa<clang::ObjCContainerDecl>(decl_from_modules) ||
- llvm::isa<clang::EnumConstantDecl>(decl_from_modules)) {
- clang::Decl *copied_decl = CopyDecl(decl_from_modules);
- clang::NamedDecl *copied_named_decl =
- copied_decl ? dyn_cast<clang::NamedDecl>(copied_decl) : nullptr;
+ if (llvm::isa<clang::TypeDecl>(decl_from_modules) ||
+ llvm::isa<clang::ObjCContainerDecl>(decl_from_modules) ||
+ llvm::isa<clang::EnumConstantDecl>(decl_from_modules)) {
+ clang::Decl *copied_decl = CopyDecl(decl_from_modules);
+ clang::NamedDecl *copied_named_decl =
+ copied_decl ? dyn_cast<clang::NamedDecl>(copied_decl) : nullptr;
- if (!copied_named_decl) {
- LLDB_LOG(
- log,
- " CAS::FEVD[{0}] - Couldn't export a type from the modules",
- current_id);
+ if (!copied_named_decl) {
+ LLDB_LOG(
+ log,
+ " CAS::FEVD[{0}] - Couldn't export a type from the modules",
+ current_id);
- break;
- }
+ break;
+ }
- context.AddNamedDecl(copied_named_decl);
+ context.AddNamedDecl(copied_named_decl);
- context.m_found.type = true;
- }
+ context.m_found.type = true;
}
- } while (false);
- }
-
- if (!context.m_found.type) {
- do {
- // Couldn't find any types elsewhere. Try the Objective-C runtime if
- // one exists.
+ }
+ } while (false);
+ }
- lldb::ProcessSP process(m_target->GetProcessSP());
+ if (!context.m_found.type) {
+ do {
+ // Couldn't find any types elsewhere. Try the Objective-C runtime if
+ // one exists.
- if (!process)
- break;
+ lldb::ProcessSP process(m_target->GetProcessSP());
- ObjCLanguageRuntime *language_runtime(
- ObjCLanguageRuntime::Get(*process));
+ if (!process)
+ break;
- if (!language_runtime)
- break;
+ ObjCLanguageRuntime *language_runtime(
+ ObjCLanguageRuntime::Get(*process));
- DeclVendor *decl_vendor = language_runtime->GetDeclVendor();
+ if (!language_runtime)
+ break;
- if (!decl_vendor)
- break;
+ DeclVendor *decl_vendor = language_runtime->GetDeclVendor();
- bool append = false;
- uint32_t max_matches = 1;
- std::vector<clang::NamedDecl *> decls;
+ if (!decl_vendor)
+ break;
- auto *clang_decl_vendor = llvm::cast<ClangDeclVendor>(decl_vendor);
- if (!clang_decl_vendor->FindDecls(name, append, max_matches, decls))
- break;
+ bool append = false;
+ uint32_t max_matches = 1;
+ std::vector<clang::NamedDecl *> decls;
- if (log) {
- LLDB_LOG(
- log,
- " CAS::FEVD[{0}] Matching type found for \"{0}\" in the runtime",
- current_id, name);
- }
+ auto *clang_decl_vendor = llvm::cast<ClangDeclVendor>(decl_vendor);
+ if (!clang_decl_vendor->FindDecls(name, append, max_matches, decls))
+ break;
- clang::Decl *copied_decl = CopyDecl(decls[0]);
- clang::NamedDecl *copied_named_decl =
- copied_decl ? dyn_cast<clang::NamedDecl>(copied_decl) : nullptr;
+ if (log) {
+ LLDB_LOG(
+ log,
+ " CAS::FEVD[{0}] Matching type found for \"{0}\" in the runtime",
+ current_id, name);
+ }
- if (!copied_named_decl) {
- LLDB_LOG(log,
- " CAS::FEVD[{0}] - Couldn't export a type from the runtime",
- current_id);
+ clang::Decl *copied_decl = CopyDecl(decls[0]);
+ clang::NamedDecl *copied_named_decl =
+ copied_decl ? dyn_cast<clang::NamedDecl>(copied_decl) : nullptr;
- break;
- }
+ if (!copied_named_decl) {
+ LLDB_LOG(log,
+ " CAS::FEVD[{0}] - Couldn't export a type from the runtime",
+ current_id);
- context.AddNamedDecl(copied_named_decl);
- } while (false);
- }
+ break;
+ }
- } while (false);
+ context.AddNamedDecl(copied_named_decl);
+ } while (false);
+ }
}
template <class D> class TaggedASTDecl {
More information about the lldb-commits
mailing list