9#ifndef LLDB_SOURCE_PLUGINS_SYMBOLFILE_DWARF_MANUALDWARFINDEX_H
10#define LLDB_SOURCE_PLUGINS_SYMBOLFILE_DWARF_MANUALDWARFINDEX_H
14#include "llvm/ADT/DenseSet.h"
23 llvm::DenseSet<dw_offset_t> units_to_avoid = {})
31 llvm::function_ref<
bool(
DWARFDIE die)> callback)
override;
34 llvm::function_ref<
bool(
DWARFDIE die)> callback)
override;
37 llvm::function_ref<
bool(
DWARFDIE die)> callback)
override;
39 llvm::function_ref<
bool(
DWARFDIE die)> callback)
override;
41 ConstString class_name,
bool must_be_implementation,
42 llvm::function_ref<
bool(
DWARFDIE die)> callback)
override;
44 llvm::function_ref<
bool(
DWARFDIE die)> callback)
override;
46 llvm::function_ref<
bool(
DWARFDIE die)> callback)
override;
48 llvm::function_ref<
bool(
DWARFDIE die)> callback)
override;
52 llvm::function_ref<
bool(
DWARFDIE die)> callback)
override;
54 llvm::function_ref<
bool(
DWARFDIE die)> callback)
override;
69 void Encode(DataEncoder &encoder)
const;
98 bool &signature_mismatch);
115 bool Encode(DataEncoder &encoder)
const;
Represents a generic declaration context in a program.
A uniqued constant string class.
SymbolFileDWARF * m_dwarf
The DWARF file which we are indexing.
void Dump(Stream &s) override
void IndexUnit(DWARFUnit &unit, SymbolFileDWARFDwo *dwp, IndexSet &set)
void GetCompleteObjCClass(ConstString class_name, bool must_be_implementation, llvm::function_ref< bool(DWARFDIE die)> callback) override
static void IndexUnitImpl(DWARFUnit &unit, const lldb::LanguageType cu_language, IndexSet &set)
void GetTypes(ConstString name, llvm::function_ref< bool(DWARFDIE die)> callback) override
void GetNamespaces(ConstString name, llvm::function_ref< bool(DWARFDIE die)> callback) override
bool Encode(DataEncoder &encoder) const
Encode this object into a data encoder object.
ManualDWARFIndex(Module &module, SymbolFileDWARF &dwarf, llvm::DenseSet< dw_offset_t > units_to_avoid={})
std::string GetCacheKey()
Get the cache key string for this symbol table.
bool Decode(const DataExtractor &data, lldb::offset_t *offset_ptr, bool &signature_mismatch)
Decode a serialized version of this object from data.
bool LoadFromCache()
Load the symbol table from the index cache.
void GetObjCMethods(ConstString class_name, llvm::function_ref< bool(DWARFDIE die)> callback) override
void GetFunctions(const Module::LookupInfo &lookup_info, SymbolFileDWARF &dwarf, const CompilerDeclContext &parent_decl_ctx, llvm::function_ref< bool(DWARFDIE die)> callback) override
void SaveToCache()
Save the symbol table data out into a cache.
llvm::DenseSet< dw_offset_t > m_units_to_avoid
Which dwarf units should we skip while building the index.
void GetGlobalVariables(ConstString basename, llvm::function_ref< bool(DWARFDIE die)> callback) override
Finds global variables with the given base name.
A class that encapsulates name lookup information.
A class that describes an executable image and its associated object and symbol files.
A stream class that can stream formatted output to a file.
A class that represents a running process on the host machine.
LanguageType
Programming language type.
bool operator==(const IndexSet &rhs) const
NameToDIE function_fullnames
bool Decode(const DataExtractor &data, lldb::offset_t *offset_ptr)
void Encode(DataEncoder &encoder) const
NameToDIE objc_class_selectors
NameToDIE function_basenames
NameToDIE function_methods
NameToDIE function_selectors