LLDB mainline
lldb_private::PseudoInstruction Class Reference

#include <Disassembler.h>

Inheritance diagram for lldb_private::PseudoInstruction:
[legend]

Public Member Functions

 PseudoInstruction ()
 ~PseudoInstruction () override
bool DoesBranch () override
bool HasDelaySlot () override
bool IsLoad () override
bool IsAuthenticated () override
void CalculateMnemonicOperandsAndComment (const ExecutionContext *exe_ctx) override
size_t Decode (const Disassembler &disassembler, const DataExtractor &data, lldb::offset_t data_offset) override
void SetOpcode (size_t opcode_size, void *opcode_data)
void SetDescription (llvm::StringRef description) override
Public Member Functions inherited from lldb_private::Instruction
 Instruction (const Address &address, AddressClass addr_class=AddressClass::eInvalid)
virtual ~Instruction ()
const AddressGetAddress () const
const char * GetMnemonic (const ExecutionContext *exe_ctx, bool markup=false)
const char * GetOperands (const ExecutionContext *exe_ctx, bool markup=false)
const char * GetComment (const ExecutionContext *exe_ctx)
virtual lldb::InstructionControlFlowKind GetControlFlowKind (const ExecutionContext *exe_ctx)
AddressClass GetAddressClass ()
void SetAddress (const Address &addr)
virtual void Dump (Stream *s, uint32_t max_opcode_byte_size, bool show_address, bool show_bytes, bool show_control_flow_kind, const ExecutionContext *exe_ctx, const SymbolContext *sym_ctx, const SymbolContext *prev_sym_ctx, const FormatEntity::Entry *disassembly_addr_format, size_t max_address_text_size)
 Dump the text representation of this Instruction to a Stream.
bool CanSetBreakpoint ()
lldb::OptionValueSP ReadArray (FILE *in_file, Stream &out_stream, OptionValue::Type data_type)
lldb::OptionValueSP ReadDictionary (FILE *in_file, Stream &out_stream)
bool DumpEmulation (const ArchSpec &arch)
virtual bool TestEmulation (Stream &stream, const char *test_file_name)
bool Emulate (const ArchSpec &arch, uint32_t evaluate_options, void *baton, EmulateInstruction::ReadMemoryCallback read_mem_callback, EmulateInstruction::WriteMemoryCallback write_mem_calback, EmulateInstruction::ReadRegisterCallback read_reg_callback, EmulateInstruction::WriteRegisterCallback write_reg_callback)
const OpcodeGetOpcode () const
uint32_t GetData (DataExtractor &data)
virtual bool ParseOperands (llvm::SmallVectorImpl< Operand > &operands)
virtual bool IsCall ()

Protected Member Functions

 PseudoInstruction (const PseudoInstruction &)=delete
const PseudoInstructionoperator= (const PseudoInstruction &)=delete
Protected Member Functions inherited from lldb_private::Instruction
void CalculateMnemonicOperandsAndCommentIfNeeded (const ExecutionContext *exe_ctx)

Protected Attributes

std::string m_description
Protected Attributes inherited from lldb_private::Instruction
Address m_address
Opcode m_opcode
std::string m_opcode_name
std::string m_markup_opcode_name
std::string m_mnemonics
std::string m_markup_mnemonics
std::string m_comment
bool m_calculated_strings

Additional Inherited Members

Static Public Member Functions inherited from lldb_private::Instruction
static const char * GetNameForInstructionControlFlowKind (lldb::InstructionControlFlowKind instruction_control_flow_kind)

Detailed Description

Definition at line 354 of file Disassembler.h.

Constructor & Destructor Documentation

◆ PseudoInstruction() [1/2]

PseudoInstruction::PseudoInstruction ( )

◆ ~PseudoInstruction()

PseudoInstruction::~PseudoInstruction ( )
overridedefault

◆ PseudoInstruction() [2/2]

lldb_private::PseudoInstruction::PseudoInstruction ( const PseudoInstruction & )
protecteddelete

References PseudoInstruction().

Member Function Documentation

◆ CalculateMnemonicOperandsAndComment()

void lldb_private::PseudoInstruction::CalculateMnemonicOperandsAndComment ( const ExecutionContext * exe_ctx)
inlineoverridevirtual

Implements lldb_private::Instruction.

Definition at line 368 of file Disassembler.h.

◆ Decode()

size_t PseudoInstruction::Decode ( const Disassembler & disassembler,
const DataExtractor & data,
lldb::offset_t data_offset )
overridevirtual

Implements lldb_private::Instruction.

Definition at line 1352 of file Disassembler.cpp.

References lldb_private::Instruction::m_opcode.

◆ DoesBranch()

bool PseudoInstruction::DoesBranch ( )
overridevirtual

Implements lldb_private::Instruction.

Definition at line 1338 of file Disassembler.cpp.

◆ HasDelaySlot()

bool PseudoInstruction::HasDelaySlot ( )
overridevirtual

Reimplemented from lldb_private::Instruction.

Definition at line 1343 of file Disassembler.cpp.

◆ IsAuthenticated()

bool PseudoInstruction::IsAuthenticated ( )
overridevirtual

Implements lldb_private::Instruction.

Definition at line 1350 of file Disassembler.cpp.

◆ IsLoad()

bool PseudoInstruction::IsLoad ( )
overridevirtual

Implements lldb_private::Instruction.

Definition at line 1348 of file Disassembler.cpp.

◆ operator=()

const PseudoInstruction & lldb_private::PseudoInstruction::operator= ( const PseudoInstruction & )
protecteddelete

References PseudoInstruction().

◆ SetDescription()

void PseudoInstruction::SetDescription ( llvm::StringRef description)
overridevirtual

Reimplemented from lldb_private::Instruction.

Definition at line 1388 of file Disassembler.cpp.

References m_description.

◆ SetOpcode()

void PseudoInstruction::SetOpcode ( size_t opcode_size,
void * opcode_data )

Member Data Documentation

◆ m_description

std::string lldb_private::PseudoInstruction::m_description
protected

Definition at line 383 of file Disassembler.h.

Referenced by PseudoInstruction(), and SetDescription().


The documentation for this class was generated from the following files: