forked from OSchip/llvm-project
Remove unused "append" parameter from FindTypes API
I noticed that SymbolFileDWARFDebugMap::FindTypes was implementing it incorrectly (passing append=false in a for-loop to recursive calls to FindTypes would yield only the very last set of results), but instead of fixing it, removing it seemed like an even better option. rdar://problem/54412692 Differential Revision: https://reviews.llvm.org/D68171 llvm-svn: 373224
This commit is contained in:
parent
09025ca6fc
commit
d4d428ef92
|
@ -460,7 +460,7 @@ public:
|
|||
/// specify a DeclContext and a language for the type being searched
|
||||
/// for.
|
||||
size_t FindTypes(llvm::ArrayRef<CompilerContext> pattern,
|
||||
LanguageSet languages, bool append, TypeMap &types);
|
||||
LanguageSet languages, TypeMap &types);
|
||||
|
||||
lldb::TypeSP FindFirstType(const SymbolContext &sc,
|
||||
ConstString type_name, bool exact_match);
|
||||
|
@ -1076,7 +1076,7 @@ private:
|
|||
|
||||
size_t FindTypes_Impl(
|
||||
ConstString name, const CompilerDeclContext *parent_decl_ctx,
|
||||
bool append, size_t max_matches,
|
||||
size_t max_matches,
|
||||
llvm::DenseSet<lldb_private::SymbolFile *> &searched_symbol_files,
|
||||
TypeMap &types);
|
||||
|
||||
|
|
|
@ -190,15 +190,14 @@ public:
|
|||
SymbolContextList &sc_list);
|
||||
virtual uint32_t
|
||||
FindTypes(ConstString name, const CompilerDeclContext *parent_decl_ctx,
|
||||
bool append, uint32_t max_matches,
|
||||
uint32_t max_matches,
|
||||
llvm::DenseSet<lldb_private::SymbolFile *> &searched_symbol_files,
|
||||
TypeMap &types);
|
||||
|
||||
/// Find types specified by a CompilerContextPattern.
|
||||
/// \param languages Only return results in these languages.
|
||||
virtual size_t FindTypes(llvm::ArrayRef<CompilerContext> pattern,
|
||||
LanguageSet languages, bool append,
|
||||
TypeMap &types);
|
||||
LanguageSet languages, TypeMap &types);
|
||||
|
||||
virtual void
|
||||
GetMangledNamesForFunction(const std::string &scope_qualified_name,
|
||||
|
|
|
@ -941,13 +941,13 @@ void Module::FindAddressesForLine(const lldb::TargetSP target_sp,
|
|||
|
||||
size_t Module::FindTypes_Impl(
|
||||
ConstString name, const CompilerDeclContext *parent_decl_ctx,
|
||||
bool append, size_t max_matches,
|
||||
size_t max_matches,
|
||||
llvm::DenseSet<lldb_private::SymbolFile *> &searched_symbol_files,
|
||||
TypeMap &types) {
|
||||
static Timer::Category func_cat(LLVM_PRETTY_FUNCTION);
|
||||
Timer scoped_timer(func_cat, LLVM_PRETTY_FUNCTION);
|
||||
if (SymbolFile *symbols = GetSymbolFile())
|
||||
return symbols->FindTypes(name, parent_decl_ctx, append, max_matches,
|
||||
return symbols->FindTypes(name, parent_decl_ctx, max_matches,
|
||||
searched_symbol_files, types);
|
||||
return 0;
|
||||
}
|
||||
|
@ -955,12 +955,10 @@ size_t Module::FindTypes_Impl(
|
|||
size_t Module::FindTypesInNamespace(ConstString type_name,
|
||||
const CompilerDeclContext *parent_decl_ctx,
|
||||
size_t max_matches, TypeList &type_list) {
|
||||
const bool append = true;
|
||||
TypeMap types_map;
|
||||
llvm::DenseSet<lldb_private::SymbolFile *> searched_symbol_files;
|
||||
size_t num_types =
|
||||
FindTypes_Impl(type_name, parent_decl_ctx, append, max_matches,
|
||||
searched_symbol_files, types_map);
|
||||
size_t num_types = FindTypes_Impl(type_name, parent_decl_ctx, max_matches,
|
||||
searched_symbol_files, types_map);
|
||||
if (num_types > 0) {
|
||||
SymbolContext sc;
|
||||
sc.module_sp = shared_from_this();
|
||||
|
@ -988,7 +986,6 @@ size_t Module::FindTypes(
|
|||
const char *type_name_cstr = name.GetCString();
|
||||
llvm::StringRef type_scope;
|
||||
llvm::StringRef type_basename;
|
||||
const bool append = true;
|
||||
TypeClass type_class = eTypeClassAny;
|
||||
TypeMap typesmap;
|
||||
|
||||
|
@ -1001,7 +998,7 @@ size_t Module::FindTypes(
|
|||
exact_match = type_scope.consume_front("::");
|
||||
|
||||
ConstString type_basename_const_str(type_basename);
|
||||
if (FindTypes_Impl(type_basename_const_str, nullptr, append, max_matches,
|
||||
if (FindTypes_Impl(type_basename_const_str, nullptr, max_matches,
|
||||
searched_symbol_files, typesmap)) {
|
||||
typesmap.RemoveMismatchedTypes(type_scope, type_basename, type_class,
|
||||
exact_match);
|
||||
|
@ -1013,13 +1010,13 @@ size_t Module::FindTypes(
|
|||
if (type_class != eTypeClassAny && !type_basename.empty()) {
|
||||
// The "type_name_cstr" will have been modified if we have a valid type
|
||||
// class prefix (like "struct", "class", "union", "typedef" etc).
|
||||
FindTypes_Impl(ConstString(type_basename), nullptr, append, UINT_MAX,
|
||||
FindTypes_Impl(ConstString(type_basename), nullptr, UINT_MAX,
|
||||
searched_symbol_files, typesmap);
|
||||
typesmap.RemoveMismatchedTypes(type_scope, type_basename, type_class,
|
||||
exact_match);
|
||||
num_matches = typesmap.GetSize();
|
||||
} else {
|
||||
num_matches = FindTypes_Impl(name, nullptr, append, UINT_MAX,
|
||||
num_matches = FindTypes_Impl(name, nullptr, UINT_MAX,
|
||||
searched_symbol_files, typesmap);
|
||||
if (exact_match) {
|
||||
std::string name_str(name.AsCString(""));
|
||||
|
@ -1038,11 +1035,11 @@ size_t Module::FindTypes(
|
|||
}
|
||||
|
||||
size_t Module::FindTypes(llvm::ArrayRef<CompilerContext> pattern,
|
||||
LanguageSet languages, bool append, TypeMap &types) {
|
||||
LanguageSet languages, TypeMap &types) {
|
||||
static Timer::Category func_cat(LLVM_PRETTY_FUNCTION);
|
||||
Timer scoped_timer(func_cat, LLVM_PRETTY_FUNCTION);
|
||||
if (SymbolFile *symbols = GetSymbolFile())
|
||||
return symbols->FindTypes(pattern, languages, append, types);
|
||||
return symbols->FindTypes(pattern, languages, types);
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
|
|
@ -310,19 +310,14 @@ uint32_t SymbolFileBreakpad::FindFunctions(const RegularExpression ®ex,
|
|||
|
||||
uint32_t SymbolFileBreakpad::FindTypes(
|
||||
ConstString name, const CompilerDeclContext *parent_decl_ctx,
|
||||
bool append, uint32_t max_matches,
|
||||
llvm::DenseSet<SymbolFile *> &searched_symbol_files, TypeMap &types) {
|
||||
if (!append)
|
||||
types.Clear();
|
||||
return types.GetSize();
|
||||
uint32_t max_matches, llvm::DenseSet<SymbolFile *> &searched_symbol_files,
|
||||
TypeMap &types) {
|
||||
return 0;
|
||||
}
|
||||
|
||||
size_t SymbolFileBreakpad::FindTypes(llvm::ArrayRef<CompilerContext> pattern,
|
||||
LanguageSet languages, bool append,
|
||||
TypeMap &types) {
|
||||
if (!append)
|
||||
types.Clear();
|
||||
return types.GetSize();
|
||||
LanguageSet languages, TypeMap &types) {
|
||||
return 0;
|
||||
}
|
||||
|
||||
void SymbolFileBreakpad::AddSymbols(Symtab &symtab) {
|
||||
|
|
|
@ -112,13 +112,13 @@ public:
|
|||
bool append, SymbolContextList &sc_list) override;
|
||||
|
||||
uint32_t FindTypes(ConstString name,
|
||||
const CompilerDeclContext *parent_decl_ctx, bool append,
|
||||
const CompilerDeclContext *parent_decl_ctx,
|
||||
uint32_t max_matches,
|
||||
llvm::DenseSet<SymbolFile *> &searched_symbol_files,
|
||||
TypeMap &types) override;
|
||||
|
||||
size_t FindTypes(llvm::ArrayRef<CompilerContext> pattern,
|
||||
LanguageSet languages, bool append, TypeMap &types) override;
|
||||
LanguageSet languages, TypeMap &types) override;
|
||||
|
||||
llvm::Expected<TypeSystem &>
|
||||
GetTypeSystemForLanguage(lldb::LanguageType language) override {
|
||||
|
|
|
@ -151,7 +151,7 @@ TypeSP DWARFASTParserClang::ParseTypeFromDWO(const DWARFDIE &die, Log *log) {
|
|||
// The type in the Clang module must have the same langage as the current CU.
|
||||
LanguageSet languages;
|
||||
languages.Insert(die.GetCU()->GetLanguageType());
|
||||
if (!dwo_module_sp->GetSymbolFile()->FindTypes(decl_context, languages, true,
|
||||
if (!dwo_module_sp->GetSymbolFile()->FindTypes(decl_context, languages,
|
||||
dwo_types)) {
|
||||
if (!IsClangModuleFwdDecl(die))
|
||||
return TypeSP();
|
||||
|
@ -162,8 +162,8 @@ TypeSP DWARFASTParserClang::ParseTypeFromDWO(const DWARFDIE &die, Log *log) {
|
|||
for (const auto &name_module : sym_file.getExternalTypeModules()) {
|
||||
if (!name_module.second)
|
||||
continue;
|
||||
if (name_module.second->GetSymbolFile()->FindTypes(
|
||||
decl_context, languages, true, dwo_types))
|
||||
if (name_module.second->GetSymbolFile()->FindTypes(decl_context,
|
||||
languages, dwo_types))
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
|
|
@ -2384,15 +2384,11 @@ void SymbolFileDWARF::GetMangledNamesForFunction(
|
|||
}
|
||||
|
||||
uint32_t SymbolFileDWARF::FindTypes(
|
||||
ConstString name, const CompilerDeclContext *parent_decl_ctx, bool append,
|
||||
ConstString name, const CompilerDeclContext *parent_decl_ctx,
|
||||
uint32_t max_matches,
|
||||
llvm::DenseSet<lldb_private::SymbolFile *> &searched_symbol_files,
|
||||
TypeMap &types) {
|
||||
std::lock_guard<std::recursive_mutex> guard(GetModuleMutex());
|
||||
// If we aren't appending the results to this list, then clear the list
|
||||
if (!append)
|
||||
types.Clear();
|
||||
|
||||
// Make sure we haven't already searched this SymbolFile before...
|
||||
if (searched_symbol_files.count(this))
|
||||
return 0;
|
||||
|
@ -2410,15 +2406,15 @@ uint32_t SymbolFileDWARF::FindTypes(
|
|||
GetObjectFile()->GetModule()->LogMessage(
|
||||
log,
|
||||
"SymbolFileDWARF::FindTypes (sc, name=\"%s\", parent_decl_ctx = "
|
||||
"%p (\"%s\"), append=%u, max_matches=%u, type_list)",
|
||||
"%p (\"%s\"), max_matches=%u, type_list)",
|
||||
name.GetCString(), static_cast<const void *>(parent_decl_ctx),
|
||||
parent_decl_ctx->GetName().AsCString("<NULL>"), append, max_matches);
|
||||
parent_decl_ctx->GetName().AsCString("<NULL>"), max_matches);
|
||||
else
|
||||
GetObjectFile()->GetModule()->LogMessage(
|
||||
log,
|
||||
"SymbolFileDWARF::FindTypes (sc, name=\"%s\", parent_decl_ctx = "
|
||||
"NULL, append=%u, max_matches=%u, type_list)",
|
||||
name.GetCString(), append, max_matches);
|
||||
"NULL, max_matches=%u, type_list)",
|
||||
name.GetCString(), max_matches);
|
||||
}
|
||||
|
||||
if (!DeclContextMatchesThisSymbolFile(parent_decl_ctx))
|
||||
|
@ -2427,46 +2423,25 @@ uint32_t SymbolFileDWARF::FindTypes(
|
|||
DIEArray die_offsets;
|
||||
m_index->GetTypes(name, die_offsets);
|
||||
const size_t num_die_matches = die_offsets.size();
|
||||
const uint32_t initial_types_size = types.GetSize();
|
||||
|
||||
if (num_die_matches) {
|
||||
const uint32_t initial_types_size = types.GetSize();
|
||||
for (size_t i = 0; i < num_die_matches; ++i) {
|
||||
const DIERef &die_ref = die_offsets[i];
|
||||
DWARFDIE die = GetDIE(die_ref);
|
||||
for (size_t i = 0; i < num_die_matches; ++i) {
|
||||
const DIERef &die_ref = die_offsets[i];
|
||||
DWARFDIE die = GetDIE(die_ref);
|
||||
if (die) {
|
||||
if (!DIEInDeclContext(parent_decl_ctx, die))
|
||||
continue; // The containing decl contexts don't match
|
||||
|
||||
if (die) {
|
||||
if (!DIEInDeclContext(parent_decl_ctx, die))
|
||||
continue; // The containing decl contexts don't match
|
||||
|
||||
Type *matching_type = ResolveType(die, true, true);
|
||||
if (matching_type) {
|
||||
// We found a type pointer, now find the shared pointer form our type
|
||||
// list
|
||||
types.InsertUnique(matching_type->shared_from_this());
|
||||
if (types.GetSize() >= max_matches)
|
||||
break;
|
||||
}
|
||||
} else {
|
||||
m_index->ReportInvalidDIERef(die_ref, name.GetStringRef());
|
||||
}
|
||||
}
|
||||
const uint32_t num_matches = types.GetSize() - initial_types_size;
|
||||
if (log && num_matches) {
|
||||
if (parent_decl_ctx) {
|
||||
GetObjectFile()->GetModule()->LogMessage(
|
||||
log,
|
||||
"SymbolFileDWARF::FindTypes (sc, name=\"%s\", parent_decl_ctx "
|
||||
"= %p (\"%s\"), append=%u, max_matches=%u, type_list) => %u",
|
||||
name.GetCString(), static_cast<const void *>(parent_decl_ctx),
|
||||
parent_decl_ctx->GetName().AsCString("<NULL>"), append, max_matches,
|
||||
num_matches);
|
||||
} else {
|
||||
GetObjectFile()->GetModule()->LogMessage(
|
||||
log,
|
||||
"SymbolFileDWARF::FindTypes (sc, name=\"%s\", parent_decl_ctx "
|
||||
"= NULL, append=%u, max_matches=%u, type_list) => %u",
|
||||
name.GetCString(), append, max_matches, num_matches);
|
||||
Type *matching_type = ResolveType(die, true, true);
|
||||
if (matching_type) {
|
||||
// We found a type pointer, now find the shared pointer form our type
|
||||
// list
|
||||
types.InsertUnique(matching_type->shared_from_this());
|
||||
if (types.GetSize() >= max_matches)
|
||||
break;
|
||||
}
|
||||
} else {
|
||||
m_index->ReportInvalidDIERef(die_ref, name.GetStringRef());
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -2476,31 +2451,38 @@ uint32_t SymbolFileDWARF::FindTypes(
|
|||
if (num_die_matches < max_matches) {
|
||||
UpdateExternalModuleListIfNeeded();
|
||||
|
||||
for (const auto &pair : m_external_type_modules) {
|
||||
ModuleSP external_module_sp = pair.second;
|
||||
if (external_module_sp) {
|
||||
SymbolFile *sym_file = external_module_sp->GetSymbolFile();
|
||||
if (sym_file) {
|
||||
const uint32_t num_external_matches =
|
||||
sym_file->FindTypes(name, parent_decl_ctx, append, max_matches,
|
||||
searched_symbol_files, types);
|
||||
if (num_external_matches)
|
||||
return num_external_matches;
|
||||
}
|
||||
}
|
||||
for (const auto &pair : m_external_type_modules)
|
||||
if (ModuleSP external_module_sp = pair.second)
|
||||
if (SymbolFile *sym_file = external_module_sp->GetSymbolFile())
|
||||
sym_file->FindTypes(name, parent_decl_ctx, max_matches,
|
||||
searched_symbol_files, types);
|
||||
}
|
||||
|
||||
uint32_t num_matches = types.GetSize() - initial_types_size;
|
||||
if (log && num_matches) {
|
||||
if (parent_decl_ctx) {
|
||||
GetObjectFile()->GetModule()->LogMessage(
|
||||
log,
|
||||
"SymbolFileDWARF::FindTypes (sc, name=\"%s\", parent_decl_ctx "
|
||||
"= %p (\"%s\"), max_matches=%u, type_list) => %u",
|
||||
name.GetCString(), static_cast<const void *>(parent_decl_ctx),
|
||||
parent_decl_ctx->GetName().AsCString("<NULL>"), max_matches,
|
||||
num_matches);
|
||||
} else {
|
||||
GetObjectFile()->GetModule()->LogMessage(
|
||||
log,
|
||||
"SymbolFileDWARF::FindTypes (sc, name=\"%s\", parent_decl_ctx "
|
||||
"= NULL, max_matches=%u, type_list) => %u",
|
||||
name.GetCString(), max_matches, num_matches);
|
||||
}
|
||||
}
|
||||
|
||||
return num_die_matches;
|
||||
return num_matches;
|
||||
}
|
||||
|
||||
size_t SymbolFileDWARF::FindTypes(llvm::ArrayRef<CompilerContext> pattern,
|
||||
LanguageSet languages, bool append,
|
||||
TypeMap &types) {
|
||||
LanguageSet languages, TypeMap &types) {
|
||||
std::lock_guard<std::recursive_mutex> guard(GetModuleMutex());
|
||||
if (!append)
|
||||
types.Clear();
|
||||
|
||||
if (pattern.empty())
|
||||
return 0;
|
||||
|
||||
|
|
|
@ -184,12 +184,12 @@ public:
|
|||
uint32_t
|
||||
FindTypes(lldb_private::ConstString name,
|
||||
const lldb_private::CompilerDeclContext *parent_decl_ctx,
|
||||
bool append, uint32_t max_matches,
|
||||
uint32_t max_matches,
|
||||
llvm::DenseSet<lldb_private::SymbolFile *> &searched_symbol_files,
|
||||
lldb_private::TypeMap &types) override;
|
||||
|
||||
size_t FindTypes(llvm::ArrayRef<lldb_private::CompilerContext> pattern,
|
||||
lldb_private::LanguageSet languages, bool append,
|
||||
lldb_private::LanguageSet languages,
|
||||
lldb_private::TypeMap &types) override;
|
||||
|
||||
size_t GetTypes(lldb_private::SymbolContextScope *sc_scope,
|
||||
|
|
|
@ -1201,17 +1201,14 @@ TypeSP SymbolFileDWARFDebugMap::FindCompleteObjCDefinitionTypeForDIE(
|
|||
|
||||
uint32_t SymbolFileDWARFDebugMap::FindTypes(
|
||||
ConstString name, const CompilerDeclContext *parent_decl_ctx,
|
||||
bool append, uint32_t max_matches,
|
||||
uint32_t max_matches,
|
||||
llvm::DenseSet<lldb_private::SymbolFile *> &searched_symbol_files,
|
||||
TypeMap &types) {
|
||||
std::lock_guard<std::recursive_mutex> guard(GetModuleMutex());
|
||||
if (!append)
|
||||
types.Clear();
|
||||
|
||||
const uint32_t initial_types_size = types.GetSize();
|
||||
|
||||
ForEachSymbolFile([&](SymbolFileDWARF *oso_dwarf) -> bool {
|
||||
oso_dwarf->FindTypes(name, parent_decl_ctx, append, max_matches,
|
||||
oso_dwarf->FindTypes(name, parent_decl_ctx, max_matches,
|
||||
searched_symbol_files, types);
|
||||
return types.GetSize() >= max_matches;
|
||||
});
|
||||
|
|
|
@ -111,7 +111,7 @@ public:
|
|||
uint32_t
|
||||
FindTypes(lldb_private::ConstString name,
|
||||
const lldb_private::CompilerDeclContext *parent_decl_ctx,
|
||||
bool append, uint32_t max_matches,
|
||||
uint32_t max_matches,
|
||||
llvm::DenseSet<lldb_private::SymbolFile *> &searched_symbol_files,
|
||||
lldb_private::TypeMap &types) override;
|
||||
lldb_private::CompilerDeclContext FindNamespace(
|
||||
|
|
|
@ -1252,11 +1252,9 @@ uint32_t SymbolFileNativePDB::FindFunctions(const RegularExpression ®ex,
|
|||
|
||||
uint32_t SymbolFileNativePDB::FindTypes(
|
||||
ConstString name, const CompilerDeclContext *parent_decl_ctx,
|
||||
bool append, uint32_t max_matches,
|
||||
uint32_t max_matches,
|
||||
llvm::DenseSet<SymbolFile *> &searched_symbol_files, TypeMap &types) {
|
||||
std::lock_guard<std::recursive_mutex> guard(GetModuleMutex());
|
||||
if (!append)
|
||||
types.Clear();
|
||||
if (!name)
|
||||
return 0;
|
||||
|
||||
|
@ -1270,10 +1268,7 @@ uint32_t SymbolFileNativePDB::FindTypes(
|
|||
}
|
||||
|
||||
size_t SymbolFileNativePDB::FindTypes(llvm::ArrayRef<CompilerContext> pattern,
|
||||
LanguageSet languages, bool append,
|
||||
TypeMap &types) {
|
||||
if (!append)
|
||||
types.Clear();
|
||||
LanguageSet languages, TypeMap &types) {
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
|
|
@ -129,13 +129,13 @@ public:
|
|||
bool append, SymbolContextList &sc_list) override;
|
||||
|
||||
uint32_t FindTypes(ConstString name,
|
||||
const CompilerDeclContext *parent_decl_ctx, bool append,
|
||||
const CompilerDeclContext *parent_decl_ctx,
|
||||
uint32_t max_matches,
|
||||
llvm::DenseSet<SymbolFile *> &searched_symbol_files,
|
||||
TypeMap &types) override;
|
||||
|
||||
size_t FindTypes(llvm::ArrayRef<CompilerContext> pattern,
|
||||
LanguageSet languages, bool append, TypeMap &types) override;
|
||||
LanguageSet languages, TypeMap &types) override;
|
||||
|
||||
llvm::Expected<TypeSystem &>
|
||||
GetTypeSystemForLanguage(lldb::LanguageType language) override;
|
||||
|
|
|
@ -1443,13 +1443,11 @@ void SymbolFilePDB::AddSymbols(lldb_private::Symtab &symtab) {
|
|||
|
||||
uint32_t SymbolFilePDB::FindTypes(
|
||||
lldb_private::ConstString name,
|
||||
const lldb_private::CompilerDeclContext *parent_decl_ctx, bool append,
|
||||
const lldb_private::CompilerDeclContext *parent_decl_ctx,
|
||||
uint32_t max_matches,
|
||||
llvm::DenseSet<lldb_private::SymbolFile *> &searched_symbol_files,
|
||||
lldb_private::TypeMap &types) {
|
||||
std::lock_guard<std::recursive_mutex> guard(GetModuleMutex());
|
||||
if (!append)
|
||||
types.Clear();
|
||||
if (!name)
|
||||
return 0;
|
||||
if (!DeclContextMatchesThisSymbolFile(parent_decl_ctx))
|
||||
|
@ -1585,10 +1583,8 @@ void SymbolFilePDB::FindTypesByName(
|
|||
}
|
||||
|
||||
size_t SymbolFilePDB::FindTypes(llvm::ArrayRef<CompilerContext> pattern,
|
||||
LanguageSet languages, bool append,
|
||||
LanguageSet languages,
|
||||
lldb_private::TypeMap &types) {
|
||||
if (!append)
|
||||
types.Clear();
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
|
|
@ -128,12 +128,12 @@ public:
|
|||
uint32_t
|
||||
FindTypes(lldb_private::ConstString name,
|
||||
const lldb_private::CompilerDeclContext *parent_decl_ctx,
|
||||
bool append, uint32_t max_matches,
|
||||
uint32_t max_matches,
|
||||
llvm::DenseSet<lldb_private::SymbolFile *> &searched_symbol_files,
|
||||
lldb_private::TypeMap &types) override;
|
||||
|
||||
size_t FindTypes(llvm::ArrayRef<lldb_private::CompilerContext> pattern,
|
||||
lldb_private::LanguageSet languages, bool append,
|
||||
lldb_private::LanguageSet languages,
|
||||
lldb_private::TypeMap &types) override;
|
||||
|
||||
void FindTypesByRegex(const lldb_private::RegularExpression ®ex,
|
||||
|
|
|
@ -141,19 +141,14 @@ void SymbolFile::GetMangledNamesForFunction(
|
|||
|
||||
uint32_t SymbolFile::FindTypes(
|
||||
ConstString name, const CompilerDeclContext *parent_decl_ctx,
|
||||
bool append, uint32_t max_matches,
|
||||
uint32_t max_matches,
|
||||
llvm::DenseSet<lldb_private::SymbolFile *> &searched_symbol_files,
|
||||
TypeMap &types) {
|
||||
if (!append)
|
||||
types.Clear();
|
||||
return 0;
|
||||
}
|
||||
|
||||
size_t SymbolFile::FindTypes(llvm::ArrayRef<CompilerContext> pattern,
|
||||
LanguageSet languages, bool append,
|
||||
TypeMap &types) {
|
||||
if (!append)
|
||||
types.Clear();
|
||||
LanguageSet languages, TypeMap &types) {
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
|
|
@ -519,10 +519,10 @@ Error opts::symbols::findTypes(lldb_private::Module &Module) {
|
|||
DenseSet<SymbolFile *> SearchedFiles;
|
||||
TypeMap Map;
|
||||
if (!Name.empty())
|
||||
Symfile.FindTypes(ConstString(Name), ContextPtr, true, UINT32_MAX,
|
||||
SearchedFiles, Map);
|
||||
Symfile.FindTypes(ConstString(Name), ContextPtr, UINT32_MAX, SearchedFiles,
|
||||
Map);
|
||||
else
|
||||
Module.FindTypes(parseCompilerContext(), languages, true, Map);
|
||||
Module.FindTypes(parseCompilerContext(), languages, Map);
|
||||
|
||||
outs() << formatv("Found {0} types:\n", Map.GetSize());
|
||||
StreamString Stream;
|
||||
|
|
Loading…
Reference in New Issue