class DWARFExpression::Operation
Declaration
class DWARFExpression::Operation { /* full declaration omitted */ };
Description
This class represents an Operation in the Expression. Each operation can have up to 2 oprerands. An Operation can be in Error state (check with isError()). This means that it couldn't be decoded successfully and if it is the case, all others fields contain undefined values.
Declared at: llvm/include/llvm/DebugInfo/DWARF/DWARFExpression.h:34
Member Variables
- private uint8_t Opcode
- The Op Opcode, DW_OP_ <something >.
- private llvm::DWARFExpression::Operation::Description Desc
- private bool Error = false
- private uint64_t EndOffset
- private uint64_t[2] Operands
- private uint64_t[2] OperandEndOffsets
Method Overview
- private bool extract(llvm::DataExtractor Data, uint8_t AddressSize, uint64_t Offset, Optional<dwarf::DwarfFormat> Format)
- public uint8_t getCode() const
- public const llvm::DWARFExpression::Operation::Description & getDescription() const
- public uint64_t getEndOffset() const
- public uint64_t getOperandEndOffset(unsigned int Idx) const
- public uint64_t getRawOperand(unsigned int Idx) const
- public bool isError() const
- public bool print(llvm::raw_ostream & OS, llvm::DIDumpOptions DumpOpts, const llvm::DWARFExpression * Expr, const llvm::MCRegisterInfo * RegInfo, llvm::DWARFUnit * U, bool isEH) const
- public static bool verify(const llvm::DWARFExpression::Operation & Op, llvm::DWARFUnit * U)
Methods
¶bool extract(llvm::DataExtractor Data,
uint8_t AddressSize,
uint64_t Offset,
Optional<dwarf::DwarfFormat> Format)
bool extract(llvm::DataExtractor Data,
uint8_t AddressSize,
uint64_t Offset,
Optional<dwarf::DwarfFormat> Format)
Declared at: llvm/include/llvm/DebugInfo/DWARF/DWARFExpression.h:104
Parameters
- llvm::DataExtractor Data
- uint8_t AddressSize
- uint64_t Offset
- Optional<dwarf::DwarfFormat> Format
¶uint8_t getCode() const
uint8_t getCode() const
Declared at: llvm/include/llvm/DebugInfo/DWARF/DWARFExpression.h:89
¶const llvm::DWARFExpression::Operation::
Description&
getDescription() const
const llvm::DWARFExpression::Operation::
Description&
getDescription() const
Declared at: llvm/include/llvm/DebugInfo/DWARF/DWARFExpression.h:88
¶uint64_t getEndOffset() const
uint64_t getEndOffset() const
Declared at: llvm/include/llvm/DebugInfo/DWARF/DWARFExpression.h:94
¶uint64_t getOperandEndOffset(
unsigned int Idx) const
uint64_t getOperandEndOffset(
unsigned int Idx) const
Declared at: llvm/include/llvm/DebugInfo/DWARF/DWARFExpression.h:91
Parameters
- unsigned int Idx
¶uint64_t getRawOperand(unsigned int Idx) const
uint64_t getRawOperand(unsigned int Idx) const
Declared at: llvm/include/llvm/DebugInfo/DWARF/DWARFExpression.h:90
Parameters
- unsigned int Idx
¶bool isError() const
bool isError() const
Declared at: llvm/include/llvm/DebugInfo/DWARF/DWARFExpression.h:95
¶bool print(llvm::raw_ostream& OS,
llvm::DIDumpOptions DumpOpts,
const llvm::DWARFExpression* Expr,
const llvm::MCRegisterInfo* RegInfo,
llvm::DWARFUnit* U,
bool isEH) const
bool print(llvm::raw_ostream& OS,
llvm::DIDumpOptions DumpOpts,
const llvm::DWARFExpression* Expr,
const llvm::MCRegisterInfo* RegInfo,
llvm::DWARFUnit* U,
bool isEH) const
Declared at: llvm/include/llvm/DebugInfo/DWARF/DWARFExpression.h:96
Parameters
- llvm::raw_ostream& OS
- llvm::DIDumpOptions DumpOpts
- const llvm::DWARFExpression* Expr
- const llvm::MCRegisterInfo* RegInfo
- llvm::DWARFUnit* U
- bool isEH
¶static bool verify(
const llvm::DWARFExpression::Operation& Op,
llvm::DWARFUnit* U)
static bool verify(
const llvm::DWARFExpression::Operation& Op,
llvm::DWARFUnit* U)
Description
Verify \p Op. Does not affect the return of \a isError().
Declared at: llvm/include/llvm/DebugInfo/DWARF/DWARFExpression.h:101
Parameters
- const llvm::DWARFExpression::Operation& Op
- llvm::DWARFUnit* U