Store in the given destination 1 if the register provided contains an instance of the given type/field, 0 in other case. Example: instance-of vA, vB, type@CCCC Semantic: vA = type(vB) == type@CCCC ? 1 : 0.
More...
|
|
| Instruction22c (std::vector< uint8_t > &bytecode, std::size_t index, Parser *parser) |
| |
| std::uint8_t | get_destination () const |
| | Get the destination operand for the instruction.
|
| |
| TYPES::Operand | get_destination_type () const |
| | Get the destination operand type.
|
| |
| std::uint8_t | get_operand () const |
| | Get the operand checked in the instruction.
|
| |
| TYPES::Operand | get_operand_type () const |
| | Get the type of the operand of the instruction.
|
| |
| std::uint16_t | get_checked_id () const |
| | Get the ID of the checked Type/Field.
|
| |
| TYPES::Operand | get_checked_id_type () const |
| | Get the type of the checked ID.
|
| |
| const std::string & | get_checked_value_str () const |
| | Get a pretty-printed version of the checked value.
|
| |
| DVMType * | get_checked_dvmtype () const |
| | Check if checked value is a DVMType and get a pointer.
|
| |
| FieldID * | get_checked_field () |
| | Check if checked value is a FieldID and get 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.
|
| |
Store in the given destination 1 if the register provided contains an instance of the given type/field, 0 in other case. Example: instance-of vA, vB, type@CCCC Semantic: vA = type(vB) == type@CCCC ? 1 : 0.