10 #ifndef LLVM_DEBUGINFO_DWARFCONTEXT_H
11 #define LLVM_DEBUGINFO_DWARFCONTEXT_H
46 void parseCompileUnits();
49 void parseTypeUnits();
53 void parseDWOCompileUnits();
87 parseDWOCompileUnits();
108 parseDWOCompileUnits();
109 return DWOCUs[index];
141 virtual const std::map<object::SectionRef, Section> &
getTypesSections() = 0;
163 return version == 2 || version == 3 || version == 4;
178 virtual void anchor();
182 std::map<object::SectionRef, Section> TypesSections;
212 return TypesSections;
231 return StringOffsetDWOSection;
virtual StringRef getAbbrevSection()=0
virtual const Section & getInfoDWOSection()
virtual StringRef getAddrSection()=0
DWARFCompileUnit * getDWOCompileUnitAtIndex(unsigned index)
Get the compile unit at the specified index for the DWO compile units.
const DWARFDebugFrame * getDebugFrame()
Get a pointer to the parsed frame information object.
virtual const Section & getInfoSection()=0
A parsed .debug_frame section.
const DWARFDebugLoc * getDebugLoc()
Get a pointer to the parsed DebugLoc object.
virtual StringRef getStringOffsetDWOSection()=0
virtual StringRef getRangeDWOSection()=0
unsigned getNumDWOCompileUnits()
Get the number of compile units in the DWO context.
virtual StringRef getPubTypesSection()
virtual StringRef getStringSection()
virtual StringRef getARangeSection()
unsigned getNumTypeUnits()
Get the number of compile units in this context.
const DWARFDebugAbbrev * getDebugAbbrevDWO()
Get a pointer to the parsed dwo abbreviations object.
virtual StringRef getStringDWOSection()=0
virtual uint8_t getAddressSize() const =0
virtual const Section & getLocSection()=0
virtual StringRef getAbbrevDWOSection()
virtual DILineInfoTable getLineInfoForAddressRange(uint64_t Address, uint64_t Size, DILineInfoSpecifier Specifier=DILineInfoSpecifier())
virtual StringRef getGnuPubTypesSection()=0
DIContextKind getKind() const
unsigned getNumCompileUnits()
Get the number of compile units in this context.
virtual const Section & getLocSection()
virtual StringRef getPubNamesSection()
virtual uint8_t getAddressSize() const
virtual StringRef getPubTypesSection()=0
virtual StringRef getStringOffsetDWOSection()
virtual StringRef getRangeSection()=0
const DWARFDebugAranges * getDebugAranges()
Get a pointer to the parsed DebugAranges object.
virtual StringRef getRangeSection()
const DWARFDebugAbbrev * getDebugAbbrev()
Get a pointer to the parsed DebugAbbrev object.
DWARFCompileUnit * getCompileUnitAtIndex(unsigned index)
Get the compile unit at the specified index for this compile unit.
virtual StringRef getPubNamesSection()=0
DWARFTypeUnit * getTypeUnitAtIndex(unsigned index)
Get the type unit at the specified index for this compile unit.
virtual void dump(raw_ostream &OS, DIDumpType DumpType=DIDT_All)
DIInliningInfo - a format-neutral container for inlined code description.
DIDumpType
Selects which debug sections get dumped.
virtual const Section & getInfoSection()
virtual const Section & getLineSection()
virtual StringRef getStringDWOSection()
virtual StringRef getRangeDWOSection()
DILineInfo - a format-neutral container for source line information.
virtual const Section & getLineSection()=0
DWARFContextInMemory(object::ObjectFile *)
virtual const std::map< object::SectionRef, Section > & getTypesSections()
virtual StringRef getAddrSection()
virtual StringRef getAbbrevSection()
#define LLVM_DELETED_FUNCTION
virtual bool isLittleEndian() const
const DWARFDebugLine::LineTable * getLineTableForCompileUnit(DWARFCompileUnit *cu)
Get a pointer to a parsed line table corresponding to a compile unit.
virtual StringRef getAbbrevDWOSection()=0
static bool isSupportedVersion(unsigned version)
virtual StringRef getGnuPubTypesSection()
virtual StringRef getDebugFrameSection()
virtual StringRef getARangeSection()=0
virtual const std::map< object::SectionRef, Section > & getTypesSections()=0
static bool classof(const DIContext *DICtx)
virtual DIInliningInfo getInliningInfoForAddress(uint64_t Address, DILineInfoSpecifier Specifier=DILineInfoSpecifier())
virtual StringRef getGnuPubNamesSection()
virtual StringRef getStringSection()=0
virtual StringRef getDebugFrameSection()=0
virtual StringRef getGnuPubNamesSection()=0
virtual bool isLittleEndian() const =0
virtual const Section & getInfoDWOSection()=0
virtual DILineInfo getLineInfoForAddress(uint64_t Address, DILineInfoSpecifier Specifier=DILineInfoSpecifier())