Move a reference to a register from a string, type, etc example instruction: const-string vAA, string@BBBB.
More...
|
| Instruction21c (std::vector< uint8_t > &bytecode, std::size_t index, Parser *parser) |
|
std::uint8_t | get_destination () const |
| Get the index of the register for destination.
|
|
TYPES::Operand | get_destination_type () const |
| Get the type of the destination.
|
|
std::uint16_t | get_source () const |
| Get the index used as source operand, this is an index to a string, type, etc...
|
|
TYPES::Operand | get_source_type () const |
| Get the type of the source, this time is a KIND the KIND can be various things.
|
|
const std::string & | pretty_print_source () const |
| Print a string version of the source.
|
|
bool | is_source_string () const |
| Check if source is a string.
|
|
std::string & | get_source_str () |
| get reference of the string this should be called only if is_str == true
|
|
DVMType * | get_source_dvmtype () const |
| Check if source is a DVMType and return a pointer.
|
|
DVMFundamental * | get_source_dvmfundamental () const |
| Check if source is a DVMFundamental and return a pointer.
|
|
DVMClass * | get_source_dvmclass () const |
| check if source is a DVMClass and return a pointer
|
|
DVMArray * | get_source_dvmarray () const |
| check if source is a DVMArray and return a pointer
|
|
FieldID * | get_source_field () const |
| check if source is a FieldID and return a pointer
|
|
ProtoID * | get_source_proto () const |
| Check if source is a ProtoID and return a pointer.
|
|
MethodID * | get_source_method () const |
| check if source is a MethodID and return a pointer
|
|
virtual std::string | print_instruction () |
| Return a string with the representation of the instruction.
|
|
virtual void | print_instruction (std::ostream &os) |
| Print the instruction on a given stream.
|
|
| Instruction (std::vector< uint8_t > &bytecode, std::size_t index, dexinsttype_t instruction_type) |
| Constructor of the Instruction, here is applied the parsing of the opcodes.
|
|
| Instruction (std::vector< uint8_t > &bytecode, std::size_t index, dexinsttype_t instruction_type, std::uint32_t length) |
|
virtual | ~Instruction ()=default |
| Destructor of the instruction.
|
|
virtual TYPES::Kind | get_kind () const |
| Get the kind of instruction, use a DalvikOpcodes function.
|
|
virtual dexinsttype_t | get_instruction_type () const |
| Get the instruction type from the enum.
|
|
virtual std::uint32_t | get_instruction_length () const |
| Get the length of the instruction.
|
|
virtual std::uint32_t | get_instruction_opcode () const |
| Get the opcode of the instruction.
|
|
virtual void | set_address (std::uint64_t address) |
| Set the address of the instruction.
|
|
virtual std::uint64_t | get_address () const |
| Get the address of the instruction.
|
|
virtual const std::span< std::uint8_t > & | get_opcodes () |
| Return the op codes in raw from the instruction.
|
|
virtual bool | is_terminator () |
| Check if the instruction is a terminator (branch, ret, multibranch)
|
|
virtual bool | has_side_effects () const |
| Instruction has or can have some side effect.
|
|
virtual bool | may_throw () const |
| May throw an exception.
|
|
Move a reference to a register from a string, type, etc example instruction: const-string vAA, string@BBBB.