28 std::unique_ptr<SymbolVendor> instance_up;
35 instance_up.reset(create_callback(module_sp, feedback_strm));
38 return instance_up.release();
44 FileSpec sym_spec = module_sp->GetSymbolFileFileSpec();
45 if (sym_spec && sym_spec != module_sp->GetObjectFile()->GetFileSpec()) {
50 data_sp, data_offset);
53 sym_objfile_sp = module_sp->GetObjectFile()->shared_from_this();
54 instance_up = std::make_unique<SymbolVendor>(module_sp);
55 instance_up->AddSymbolFileRepresentation(sym_objfile_sp);
56 return instance_up.release();
67 std::lock_guard<std::recursive_mutex> guard(module_sp->GetMutex());
static FileSystem & Instance()
A mix in class that contains a pointer back to the module that owns the object which inherits from it...
lldb::ModuleSP GetModule() const
Get const accessor for the module pointer.
static lldb::ObjectFileSP FindPlugin(const lldb::ModuleSP &module_sp, const FileSpec *file_spec, lldb::offset_t file_offset, lldb::offset_t file_size, lldb::DataBufferSP &data_sp, lldb::offset_t &data_offset)
Find a ObjectFile plug-in that can parse file_spec.
static SymbolVendorCreateInstance GetSymbolVendorCreateCallbackAtIndex(uint32_t idx)
A stream class that can stream formatted output to a file.
static SymbolFile * FindPlugin(lldb::ObjectFileSP objfile_sp)
void AddSymbolFileRepresentation(const lldb::ObjectFileSP &objfile_sp)
static SymbolVendor * FindPlugin(const lldb::ModuleSP &module_sp, Stream *feedback_strm)
std::unique_ptr< SymbolFile > m_sym_file_up
SymbolVendor(const lldb::ModuleSP &module_sp)
A class that represents a running process on the host machine.
SymbolVendor *(* SymbolVendorCreateInstance)(const lldb::ModuleSP &module_sp, lldb_private::Stream *feedback_strm)
std::shared_ptr< lldb_private::ObjectFile > ObjectFileSP
std::shared_ptr< lldb_private::DataBuffer > DataBufferSP
std::shared_ptr< lldb_private::Module > ModuleSP