9#ifndef LLDB_SOURCE_PLUGINS_SYMBOLFILE_BREAKPAD_SYMBOLFILEBREAKPAD_H
10#define LLDB_SOURCE_PLUGINS_SYMBOLFILE_BREAKPAD_SYMBOLFILEBREAKPAD_H
31 bool isA(
const void *ClassID)
const override {
44 return "Breakpad debug symbol file reader.";
81 std::vector<lldb_private::SourceModule> &imported_modules)
override {
104 lldb::SymbolContextItem resolve_scope,
108 lldb::SymbolContextItem resolve_scope,
121 llvm::Expected<lldb::TypeSystemSP>
123 return llvm::createStringError(
124 "SymbolFileBreakpad does not support GetTypeSystemForLanguage");
129 bool only_root_namespaces)
override {
139 const RegisterInfoResolver &resolver)
override;
A section + offset based address class.
A class that describes a compilation unit.
Represents a generic declaration context in a program.
Generic representation of a type in a programming language.
A uniqued constant string class.
A class to manage flag bits.
"lldb/Target/ExecutionContext.h" A class that contains an execution context.
A class that describes a function.
A class that encapsulates name lookup information.
"lldb/Core/SourceLocationSpec.h" A source location specifier class.
A list of support files for a CompileUnit.
Defines a list of symbol context objects.
"lldb/Symbol/SymbolContextScope.h" Inherit from this if your object is part of a symbol context and c...
Defines a symbol context baton that can be handed other debug core functions.
Containing protected virtual methods for child classes to override.
bool isA(const void *ClassID) const override
LLVM RTTI support.
Provides public interface for all SymbolFiles.
virtual bool isA(const void *ClassID) const
LLVM RTTI support.
std::unique_ptr< LineTable > line_table_up
CompUnitData(Bookmark bookmark)
std::optional< FileSpecList > support_files
CompUnitData(const CompUnitData &rhs)
friend bool operator<(const CompUnitData &lhs, const CompUnitData &rhs)
CompUnitData & operator=(const CompUnitData &rhs)
size_t ParseBlocksRecursive(Function &func) override
uint64_t GetDebugInfoSize(bool load_all_debug_info=false) override
Metrics gathering functions.
size_t ParseFunctions(CompileUnit &comp_unit) override
bool ParseImportedModules(const SymbolContext &sc, std::vector< lldb_private::SourceModule > &imported_modules) override
void InitializeObject() override
Initialize the SymbolFile object.
uint32_t CalculateAbilities() override
bool isA(const void *ClassID) const override
LLVM RTTI support.
static void DebuggerInitialize(Debugger &debugger)
lldb::CompUnitSP ParseCompileUnitAtIndex(uint32_t index) override
lldb::UnwindPlanSP ParseCFIUnwindPlan(const Bookmark &bookmark, const RegisterInfoResolver &resolver)
uint32_t CalculateNumCompileUnits() override
static llvm::StringRef GetPluginNameStatic()
lldb::UnwindPlanSP ParseWinUnwindPlan(const Bookmark &bookmark, const RegisterInfoResolver &resolver)
llvm::ArrayRef< uint8_t > SaveAsDWARF(postfix::Node &node)
lldb::addr_t GetBaseFileAddress()
size_t ParseTypes(CompileUnit &cu) override
bool ParseCFIUnwindRow(llvm::StringRef unwind_rules, const RegisterInfoResolver &resolver, UnwindPlan::Row &row)
lldb::UnwindPlanSP GetUnwindPlan(const Address &address, const RegisterInfoResolver &resolver) override
llvm::Expected< lldb::addr_t > GetParameterStackSize(Symbol &symbol) override
Return the number of stack bytes taken up by the parameters to this function.
std::optional< std::vector< llvm::StringRef > > m_inline_origins
static llvm::StringRef GetPluginDescriptionStatic()
bool CompleteType(CompilerType &compiler_type) override
llvm::Expected< lldb::TypeSystemSP > GetTypeSystemForLanguage(lldb::LanguageType language) override
std::optional< std::vector< FileSpec > > m_files
void GetTypes(SymbolContextScope *sc_scope, lldb::TypeClass type_mask, TypeList &type_list) override
SymbolFileBreakpad(lldb::ObjectFileSP objfile_sp)
bool ParseLineTable(CompileUnit &comp_unit) override
uint32_t ResolveSymbolContext(const Address &so_addr, lldb::SymbolContextItem resolve_scope, SymbolContext &sc) override
static SymbolFile * CreateInstance(lldb::ObjectFileSP objfile_sp)
void FindFunctions(const Module::LookupInfo &lookup_info, const CompilerDeclContext &parent_decl_ctx, bool include_inlines, SymbolContextList &sc_list) override
~SymbolFileBreakpad() override=default
Type * ResolveTypeUID(lldb::user_id_t type_uid) override
static char ID
LLVM RTTI support.
void FindGlobalVariables(ConstString name, const CompilerDeclContext &parent_decl_ctx, uint32_t max_matches, VariableList &variables) override
void AddSymbols(Symtab &symtab) override
bool ParseSupportFiles(CompileUnit &comp_unit, SupportFileList &support_files) override
std::optional< ArrayInfo > GetDynamicArrayInfoForUID(lldb::user_id_t type_uid, const lldb_private::ExecutionContext *exe_ctx) override
If type_uid points to an array type, return its characteristics.
size_t ParseVariablesForContext(const SymbolContext &sc) override
std::optional< CompUnitMap > m_cu_data
std::optional< UnwindData > m_unwind_data
llvm::BumpPtrAllocator m_allocator
void ParseLineTableAndSupportFiles(CompileUnit &cu, CompUnitData &data)
bool ParseDebugMacros(CompileUnit &comp_unit) override
void ParseInlineOriginRecords()
CompilerDeclContext FindNamespace(ConstString name, const CompilerDeclContext &parent_decl_ctx, bool only_root_namespaces) override
Finds a namespace of name name and whose parent context is parent_decl_ctx.
lldb::FunctionSP GetOrCreateFunction(CompileUnit &comp_unit)
llvm::StringRef GetPluginName() override
static bool classof(const SymbolFile *obj)
llvm::iterator_range< LineIterator > lines(Record::Kind section_type)
lldb::LanguageType ParseLanguage(CompileUnit &comp_unit) override
The base class for all nodes in the parsed postfix tree.
A class that represents a running process on the host machine.
std::shared_ptr< lldb_private::Function > FunctionSP
std::shared_ptr< lldb_private::ObjectFile > ObjectFileSP
LanguageType
Programming language type.
@ eLanguageTypeUnknown
Unknown or invalid language value.
std::shared_ptr< lldb_private::UnwindPlan > UnwindPlanSP
std::shared_ptr< lldb_private::CompileUnit > CompUnitSP
friend bool operator<(const Bookmark &lhs, const Bookmark &rhs)