LLDB mainline
Public Member Functions | Protected Member Functions | Protected Attributes | List of all members
lldb_private::PseudoInstruction Class Reference

#include <Disassembler.h>

Inheritance diagram for lldb_private::PseudoInstruction:
Inheritance graph
[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)
 
virtual void CalculateMnemonicOperandsAndComment (const ExecutionContext *exe_ctx)=0
 
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.
 
virtual bool DoesBranch ()=0
 
virtual bool HasDelaySlot ()
 
virtual bool IsLoad ()=0
 
virtual bool IsAuthenticated ()=0
 
bool CanSetBreakpoint ()
 
virtual size_t Decode (const Disassembler &disassembler, const DataExtractor &data, lldb::offset_t data_offset)=0
 
virtual void SetDescription (llvm::StringRef)
 
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 353 of file Disassembler.h.

Constructor & Destructor Documentation

◆ PseudoInstruction() [1/2]

PseudoInstruction::PseudoInstruction ( )

Definition at line 1152 of file Disassembler.cpp.

◆ ~PseudoInstruction()

PseudoInstruction::~PseudoInstruction ( )
overridedefault

◆ PseudoInstruction() [2/2]

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

Member Function Documentation

◆ CalculateMnemonicOperandsAndComment()

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

Implements lldb_private::Instruction.

Definition at line 367 of file Disassembler.h.

◆ Decode()

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

◆ DoesBranch()

bool PseudoInstruction::DoesBranch ( )
overridevirtual

Implements lldb_private::Instruction.

Definition at line 1157 of file Disassembler.cpp.

◆ HasDelaySlot()

bool PseudoInstruction::HasDelaySlot ( )
overridevirtual

Reimplemented from lldb_private::Instruction.

Definition at line 1162 of file Disassembler.cpp.

◆ IsAuthenticated()

bool PseudoInstruction::IsAuthenticated ( )
overridevirtual

Implements lldb_private::Instruction.

Definition at line 1169 of file Disassembler.cpp.

◆ IsLoad()

bool PseudoInstruction::IsLoad ( )
overridevirtual

Implements lldb_private::Instruction.

Definition at line 1167 of file Disassembler.cpp.

◆ operator=()

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

◆ SetDescription()

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

Reimplemented from lldb_private::Instruction.

Definition at line 1207 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 382 of file Disassembler.h.

Referenced by SetDescription().


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