25#include "llvm/Support/MemoryBuffer.h"
51 return "Reads debug symbols from a JSON symbol table.";
66 SymbolContextItem resolve_scope,
72 uint32_t resolved_flags = 0;
73 if (resolve_scope & eSymbolContextSymbol) {
77 resolved_flags |= eSymbolContextSymbol;
79 return resolved_flags;
95 if (&symtab == json_symtab)
100 for (
size_t i = 0; i < num_new_symbols; ++i) {
#define LLDB_PLUGIN_DEFINE(PluginName)
A section + offset based address class.
lldb::addr_t GetFileAddress() const
Get the file address.
static bool RegisterPlugin(llvm::StringRef name, llvm::StringRef description, ABICreateInstance create_callback)
static bool UnregisterPlugin(ABICreateInstance create_callback)
"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.
Symbol * symbol
The Symbol for a given query.
Containing protected virtual methods for child classes to override.
lldb::ObjectFileSP m_objfile_sp
static char ID
LLVM RTTI support.
SymbolFileJSON(lldb::ObjectFileSP objfile_sp)
uint32_t ResolveSymbolContext(const lldb_private::Address &so_addr, lldb::SymbolContextItem resolve_scope, lldb_private::SymbolContext &sc) override
void AddSymbols(Symtab &symtab) override
static llvm::StringRef GetPluginNameStatic()
void GetTypes(lldb_private::SymbolContextScope *sc_scope, lldb::TypeClass type_mask, lldb_private::TypeList &type_list) override
uint32_t CalculateAbilities() override
static llvm::StringRef GetPluginDescriptionStatic()
static lldb_private::SymbolFile * CreateInstance(lldb::ObjectFileSP objfile_sp)
lldb::CompUnitSP ParseCompileUnitAtIndex(uint32_t index) override
Provides public interface for all SymbolFiles.
virtual std::recursive_mutex & GetModuleMutex() const
Symbols file subclasses should override this to return the Module that owns the TypeSystem that this ...
Symbol * SymbolAtIndex(size_t idx)
uint32_t AddSymbol(const Symbol &symbol)
size_t GetNumSymbols() const
A class that represents a running process on the host machine.
std::shared_ptr< lldb_private::ObjectFile > ObjectFileSP
std::shared_ptr< lldb_private::CompileUnit > CompUnitSP