27 : m_opaque_ptr(lldb_object_ptr) {}
30 : m_opaque_ptr(rhs.m_opaque_ptr) {
98 const bool exact =
true;
110 if (inline_file_spec && inline_file_spec->IsValid())
111 file_spec = inline_file_spec->ref();
117 start_idx, line, inline_file_spec ? inline_file_spec->get() :
nullptr,
145 SymbolFile *symfile = module_sp->GetSymbolFile();
149 TypeClass type_class =
static_cast<TypeClass
>(type_mask);
190 return this->
operator bool();
192SBCompileUnit::operator bool()
const {
195 return m_opaque_ptr !=
nullptr;
#define LLDB_INSTRUMENT_VA(...)
bool operator==(const lldb::SBCompileUnit &rhs) const
const lldb_private::CompileUnit * operator->() const
uint32_t FindLineEntryIndex(lldb::SBLineEntry &line_entry, bool exact=false) const
lldb::SBFileSpec GetFileSpec() const
lldb::SBTypeList GetTypes(uint32_t type_mask=lldb::eTypeClassAny)
Get all types matching type_mask from debug info in this compile unit.
const lldb::SBCompileUnit & operator=(const lldb::SBCompileUnit &rhs)
bool GetDescription(lldb::SBStream &description)
const lldb_private::CompileUnit & operator*() const
lldb::SBLineEntry GetLineEntryAtIndex(uint32_t idx) const
lldb_private::CompileUnit * get()
lldb_private::CompileUnit * m_opaque_ptr
void reset(lldb_private::CompileUnit *lldb_object_ptr)
uint32_t GetNumSupportFiles() const
uint32_t FindSupportFileIndex(uint32_t start_idx, const SBFileSpec &sb_file, bool full)
SBFileSpec GetSupportFileAtIndex(uint32_t idx) const
uint32_t GetNumLineEntries() const
bool operator!=(const lldb::SBCompileUnit &rhs) const
lldb::LanguageType GetLanguage()
void SetFileSpec(const lldb_private::FileSpec &fspec)
const lldb_private::FileSpec & ref() const
const lldb_private::FileSpec * get() const
lldb_private::LineEntry & ref()
void SetLineEntry(const lldb_private::LineEntry &lldb_object_ref)
lldb::SBFileSpec GetFileSpec() const
lldb_private::Stream & ref()
std::unique_ptr< lldb_private::TypeListImpl > m_opaque_up
A class that describes a compilation unit.
void Dump(Stream *s, bool show_context) const
Dump the compile unit contents to the stream s.
const SupportFileList & GetSupportFiles()
Get the compile unit's support file list.
const FileSpec & GetPrimaryFile() const
Return the primary source spec associated with this compile unit.
uint32_t FindLineEntry(uint32_t start_idx, uint32_t line, const FileSpec *file_spec_ptr, bool exact, LineEntry *line_entry)
Find the line entry by line and optional inlined file spec.
lldb::LanguageType GetLanguage()
LineTable * GetLineTable()
Get the line table for the compile unit.
bool GetLineEntryAtIndex(uint32_t idx, LineEntry &line_entry)
Get the line entry from the line table at index idx.
uint32_t GetSize() const
Gets the size of the line table in number of line table entries.
lldb::ModuleSP GetModule() const
Get const accessor for the module pointer.
A stream class that can stream formatted output to a file.
size_t PutCString(llvm::StringRef cstr)
Output a C string to the stream.
A list of support files for a CompileUnit.
const FileSpec & GetFileSpecAtIndex(size_t idx) const
size_t FindFileIndex(size_t idx, const FileSpec &file, bool full) const
Provides public interface for all SymbolFiles.
virtual void GetTypes(lldb_private::SymbolContextScope *sc_scope, lldb::TypeClass type_mask, lldb_private::TypeList &type_list)=0
A class that represents a running process on the host machine.
LanguageType
Programming language type.
@ eLanguageTypeUnknown
Unknown or invalid language value.
std::shared_ptr< lldb_private::Module > ModuleSP
A line table entry class.