LLDB  mainline
Public Types | Public Member Functions | Static Public Member Functions | Public Attributes | List of all members
lldb_private::Instruction::Operand Struct Reference

#include <Disassembler.h>

Collaboration diagram for lldb_private::Instruction::Operand:
Collaboration graph
[legend]

Public Types

enum  Type {
  Type::Invalid = 0, Type::Register, Type::Immediate, Type::Dereference,
  Type::Sum, Type::Product
}
 

Public Member Functions

bool IsValid ()
 

Static Public Member Functions

static Operand BuildRegister (ConstString &r)
 
static Operand BuildImmediate (lldb::addr_t imm, bool neg)
 
static Operand BuildImmediate (int64_t imm)
 
static Operand BuildDereference (const Operand &ref)
 
static Operand BuildSum (const Operand &lhs, const Operand &rhs)
 
static Operand BuildProduct (const Operand &lhs, const Operand &rhs)
 

Public Attributes

enum lldb_private::Instruction::Operand::Type m_type = Type::Invalid
 
std::vector< Operandm_children
 
lldb::addr_t m_immediate = 0
 
ConstString m_register
 
bool m_negative = false
 
bool m_clobbered = false
 

Detailed Description

Definition at line 200 of file Disassembler.h.

Member Enumeration Documentation

◆ Type

Enumerator
Invalid 
Register 
Immediate 
Dereference 
Sum 
Product 

Definition at line 201 of file Disassembler.h.

Member Function Documentation

◆ BuildDereference()

Instruction::Operand Instruction::Operand::BuildDereference ( const Operand ref)
static

Definition at line 1359 of file Disassembler.cpp.

References m_children, and m_type.

Referenced by lldb_private::StackFrame::GuessValueForAddress().

◆ BuildImmediate() [1/2]

Instruction::Operand Instruction::Operand::BuildImmediate ( lldb::addr_t  imm,
bool  neg 
)
static

Definition at line 1336 of file Disassembler.cpp.

References m_immediate, m_negative, and m_type.

Referenced by lldb_private::StackFrame::GuessValueForAddress().

◆ BuildImmediate() [2/2]

Instruction::Operand Instruction::Operand::BuildImmediate ( int64_t  imm)
static

Definition at line 1345 of file Disassembler.cpp.

References m_immediate, m_negative, and m_type.

◆ BuildProduct()

Instruction::Operand Instruction::Operand::BuildProduct ( const Operand lhs,
const Operand rhs 
)
static

◆ BuildRegister()

Instruction::Operand Instruction::Operand::BuildRegister ( ConstString r)
static

Definition at line 1329 of file Disassembler.cpp.

References m_register, and m_type.

Referenced by lldb_private::StackFrame::GuessValueForAddress().

◆ BuildSum()

Instruction::Operand Instruction::Operand::BuildSum ( const Operand lhs,
const Operand rhs 
)
static

Definition at line 1366 of file Disassembler.cpp.

References m_children, and m_type.

Referenced by lldb_private::StackFrame::GuessValueForAddress().

◆ IsValid()

bool lldb_private::Instruction::Operand::IsValid ( )
inline

Definition at line 215 of file Disassembler.h.

References lldb_private::Invalid.

Referenced by InstructionLLVMC::ParseOperands().

Member Data Documentation

◆ m_children

std::vector<Operand> lldb_private::Instruction::Operand::m_children

◆ m_clobbered

bool lldb_private::Instruction::Operand::m_clobbered = false

Definition at line 213 of file Disassembler.h.

Referenced by lldb_private::StackFrame::GuessValueForAddress().

◆ m_immediate

lldb::addr_t lldb_private::Instruction::Operand::m_immediate = 0

◆ m_negative

bool lldb_private::Instruction::Operand::m_negative = false

◆ m_register

ConstString lldb_private::Instruction::Operand::m_register

◆ m_type

enum lldb_private::Instruction::Operand::Type lldb_private::Instruction::Operand::m_type = Type::Invalid

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