in libredex/IROpcode.cpp [503:840]
DexOpcode to_dex_opcode(IROpcode op) {
switch (op) {
case OPCODE_NOP:
return DOPCODE_NOP;
case OPCODE_MOVE:
return DOPCODE_MOVE;
case OPCODE_MOVE_WIDE:
return DOPCODE_MOVE_WIDE;
case OPCODE_MOVE_OBJECT:
return DOPCODE_MOVE_OBJECT;
case OPCODE_MOVE_RESULT:
return DOPCODE_MOVE_RESULT;
case OPCODE_MOVE_RESULT_WIDE:
return DOPCODE_MOVE_RESULT_WIDE;
case OPCODE_MOVE_RESULT_OBJECT:
return DOPCODE_MOVE_RESULT_OBJECT;
case OPCODE_MOVE_EXCEPTION:
return DOPCODE_MOVE_EXCEPTION;
case OPCODE_RETURN_VOID:
return DOPCODE_RETURN_VOID;
case OPCODE_RETURN:
return DOPCODE_RETURN;
case OPCODE_RETURN_WIDE:
return DOPCODE_RETURN_WIDE;
case OPCODE_RETURN_OBJECT:
return DOPCODE_RETURN_OBJECT;
case OPCODE_MONITOR_ENTER:
return DOPCODE_MONITOR_ENTER;
case OPCODE_MONITOR_EXIT:
return DOPCODE_MONITOR_EXIT;
case OPCODE_THROW:
return DOPCODE_THROW;
case OPCODE_GOTO:
return DOPCODE_GOTO;
case OPCODE_NEG_INT:
return DOPCODE_NEG_INT;
case OPCODE_NOT_INT:
return DOPCODE_NOT_INT;
case OPCODE_NEG_LONG:
return DOPCODE_NEG_LONG;
case OPCODE_NOT_LONG:
return DOPCODE_NOT_LONG;
case OPCODE_NEG_FLOAT:
return DOPCODE_NEG_FLOAT;
case OPCODE_NEG_DOUBLE:
return DOPCODE_NEG_DOUBLE;
case OPCODE_INT_TO_LONG:
return DOPCODE_INT_TO_LONG;
case OPCODE_INT_TO_FLOAT:
return DOPCODE_INT_TO_FLOAT;
case OPCODE_INT_TO_DOUBLE:
return DOPCODE_INT_TO_DOUBLE;
case OPCODE_LONG_TO_INT:
return DOPCODE_LONG_TO_INT;
case OPCODE_LONG_TO_FLOAT:
return DOPCODE_LONG_TO_FLOAT;
case OPCODE_LONG_TO_DOUBLE:
return DOPCODE_LONG_TO_DOUBLE;
case OPCODE_FLOAT_TO_INT:
return DOPCODE_FLOAT_TO_INT;
case OPCODE_FLOAT_TO_LONG:
return DOPCODE_FLOAT_TO_LONG;
case OPCODE_FLOAT_TO_DOUBLE:
return DOPCODE_FLOAT_TO_DOUBLE;
case OPCODE_DOUBLE_TO_INT:
return DOPCODE_DOUBLE_TO_INT;
case OPCODE_DOUBLE_TO_LONG:
return DOPCODE_DOUBLE_TO_LONG;
case OPCODE_DOUBLE_TO_FLOAT:
return DOPCODE_DOUBLE_TO_FLOAT;
case OPCODE_INT_TO_BYTE:
return DOPCODE_INT_TO_BYTE;
case OPCODE_INT_TO_CHAR:
return DOPCODE_INT_TO_CHAR;
case OPCODE_INT_TO_SHORT:
return DOPCODE_INT_TO_SHORT;
case OPCODE_ARRAY_LENGTH:
return DOPCODE_ARRAY_LENGTH;
case OPCODE_CMPL_FLOAT:
return DOPCODE_CMPL_FLOAT;
case OPCODE_CMPG_FLOAT:
return DOPCODE_CMPG_FLOAT;
case OPCODE_CMPL_DOUBLE:
return DOPCODE_CMPL_DOUBLE;
case OPCODE_CMPG_DOUBLE:
return DOPCODE_CMPG_DOUBLE;
case OPCODE_CMP_LONG:
return DOPCODE_CMP_LONG;
case OPCODE_IF_EQ:
return DOPCODE_IF_EQ;
case OPCODE_IF_NE:
return DOPCODE_IF_NE;
case OPCODE_IF_LT:
return DOPCODE_IF_LT;
case OPCODE_IF_GE:
return DOPCODE_IF_GE;
case OPCODE_IF_GT:
return DOPCODE_IF_GT;
case OPCODE_IF_LE:
return DOPCODE_IF_LE;
case OPCODE_IF_EQZ:
return DOPCODE_IF_EQZ;
case OPCODE_IF_NEZ:
return DOPCODE_IF_NEZ;
case OPCODE_IF_LTZ:
return DOPCODE_IF_LTZ;
case OPCODE_IF_GEZ:
return DOPCODE_IF_GEZ;
case OPCODE_IF_GTZ:
return DOPCODE_IF_GTZ;
case OPCODE_IF_LEZ:
return DOPCODE_IF_LEZ;
case OPCODE_AGET:
return DOPCODE_AGET;
case OPCODE_AGET_WIDE:
return DOPCODE_AGET_WIDE;
case OPCODE_AGET_OBJECT:
return DOPCODE_AGET_OBJECT;
case OPCODE_AGET_BOOLEAN:
return DOPCODE_AGET_BOOLEAN;
case OPCODE_AGET_BYTE:
return DOPCODE_AGET_BYTE;
case OPCODE_AGET_CHAR:
return DOPCODE_AGET_CHAR;
case OPCODE_AGET_SHORT:
return DOPCODE_AGET_SHORT;
case OPCODE_APUT:
return DOPCODE_APUT;
case OPCODE_APUT_WIDE:
return DOPCODE_APUT_WIDE;
case OPCODE_APUT_OBJECT:
return DOPCODE_APUT_OBJECT;
case OPCODE_APUT_BOOLEAN:
return DOPCODE_APUT_BOOLEAN;
case OPCODE_APUT_BYTE:
return DOPCODE_APUT_BYTE;
case OPCODE_APUT_CHAR:
return DOPCODE_APUT_CHAR;
case OPCODE_APUT_SHORT:
return DOPCODE_APUT_SHORT;
case OPCODE_ADD_INT:
return DOPCODE_ADD_INT;
case OPCODE_SUB_INT:
return DOPCODE_SUB_INT;
case OPCODE_MUL_INT:
return DOPCODE_MUL_INT;
case OPCODE_DIV_INT:
return DOPCODE_DIV_INT;
case OPCODE_REM_INT:
return DOPCODE_REM_INT;
case OPCODE_AND_INT:
return DOPCODE_AND_INT;
case OPCODE_OR_INT:
return DOPCODE_OR_INT;
case OPCODE_XOR_INT:
return DOPCODE_XOR_INT;
case OPCODE_SHL_INT:
return DOPCODE_SHL_INT;
case OPCODE_SHR_INT:
return DOPCODE_SHR_INT;
case OPCODE_USHR_INT:
return DOPCODE_USHR_INT;
case OPCODE_ADD_LONG:
return DOPCODE_ADD_LONG;
case OPCODE_SUB_LONG:
return DOPCODE_SUB_LONG;
case OPCODE_MUL_LONG:
return DOPCODE_MUL_LONG;
case OPCODE_DIV_LONG:
return DOPCODE_DIV_LONG;
case OPCODE_REM_LONG:
return DOPCODE_REM_LONG;
case OPCODE_AND_LONG:
return DOPCODE_AND_LONG;
case OPCODE_OR_LONG:
return DOPCODE_OR_LONG;
case OPCODE_XOR_LONG:
return DOPCODE_XOR_LONG;
case OPCODE_SHL_LONG:
return DOPCODE_SHL_LONG;
case OPCODE_SHR_LONG:
return DOPCODE_SHR_LONG;
case OPCODE_USHR_LONG:
return DOPCODE_USHR_LONG;
case OPCODE_ADD_FLOAT:
return DOPCODE_ADD_FLOAT;
case OPCODE_SUB_FLOAT:
return DOPCODE_SUB_FLOAT;
case OPCODE_MUL_FLOAT:
return DOPCODE_MUL_FLOAT;
case OPCODE_DIV_FLOAT:
return DOPCODE_DIV_FLOAT;
case OPCODE_REM_FLOAT:
return DOPCODE_REM_FLOAT;
case OPCODE_ADD_DOUBLE:
return DOPCODE_ADD_DOUBLE;
case OPCODE_SUB_DOUBLE:
return DOPCODE_SUB_DOUBLE;
case OPCODE_MUL_DOUBLE:
return DOPCODE_MUL_DOUBLE;
case OPCODE_DIV_DOUBLE:
return DOPCODE_DIV_DOUBLE;
case OPCODE_REM_DOUBLE:
return DOPCODE_REM_DOUBLE;
case OPCODE_ADD_INT_LIT16:
return DOPCODE_ADD_INT_LIT16;
case OPCODE_RSUB_INT:
return DOPCODE_RSUB_INT;
case OPCODE_MUL_INT_LIT16:
return DOPCODE_MUL_INT_LIT16;
case OPCODE_DIV_INT_LIT16:
return DOPCODE_DIV_INT_LIT16;
case OPCODE_REM_INT_LIT16:
return DOPCODE_REM_INT_LIT16;
case OPCODE_AND_INT_LIT16:
return DOPCODE_AND_INT_LIT16;
case OPCODE_OR_INT_LIT16:
return DOPCODE_OR_INT_LIT16;
case OPCODE_XOR_INT_LIT16:
return DOPCODE_XOR_INT_LIT16;
case OPCODE_ADD_INT_LIT8:
return DOPCODE_ADD_INT_LIT8;
case OPCODE_RSUB_INT_LIT8:
return DOPCODE_RSUB_INT_LIT8;
case OPCODE_MUL_INT_LIT8:
return DOPCODE_MUL_INT_LIT8;
case OPCODE_DIV_INT_LIT8:
return DOPCODE_DIV_INT_LIT8;
case OPCODE_REM_INT_LIT8:
return DOPCODE_REM_INT_LIT8;
case OPCODE_AND_INT_LIT8:
return DOPCODE_AND_INT_LIT8;
case OPCODE_OR_INT_LIT8:
return DOPCODE_OR_INT_LIT8;
case OPCODE_XOR_INT_LIT8:
return DOPCODE_XOR_INT_LIT8;
case OPCODE_SHL_INT_LIT8:
return DOPCODE_SHL_INT_LIT8;
case OPCODE_SHR_INT_LIT8:
return DOPCODE_SHR_INT_LIT8;
case OPCODE_USHR_INT_LIT8:
return DOPCODE_USHR_INT_LIT8;
case OPCODE_CONST:
return DOPCODE_CONST;
case OPCODE_FILL_ARRAY_DATA:
return DOPCODE_FILL_ARRAY_DATA;
case OPCODE_SWITCH:
return DOPCODE_SPARSE_SWITCH;
case OPCODE_CONST_WIDE:
return DOPCODE_CONST_WIDE;
case OPCODE_IGET:
return DOPCODE_IGET;
case OPCODE_IGET_WIDE:
return DOPCODE_IGET_WIDE;
case OPCODE_IGET_OBJECT:
return DOPCODE_IGET_OBJECT;
case OPCODE_IGET_BOOLEAN:
return DOPCODE_IGET_BOOLEAN;
case OPCODE_IGET_BYTE:
return DOPCODE_IGET_BYTE;
case OPCODE_IGET_CHAR:
return DOPCODE_IGET_CHAR;
case OPCODE_IGET_SHORT:
return DOPCODE_IGET_SHORT;
case OPCODE_IPUT:
return DOPCODE_IPUT;
case OPCODE_IPUT_WIDE:
return DOPCODE_IPUT_WIDE;
case OPCODE_IPUT_OBJECT:
return DOPCODE_IPUT_OBJECT;
case OPCODE_IPUT_BOOLEAN:
return DOPCODE_IPUT_BOOLEAN;
case OPCODE_IPUT_BYTE:
return DOPCODE_IPUT_BYTE;
case OPCODE_IPUT_CHAR:
return DOPCODE_IPUT_CHAR;
case OPCODE_IPUT_SHORT:
return DOPCODE_IPUT_SHORT;
case OPCODE_SGET:
return DOPCODE_SGET;
case OPCODE_SGET_WIDE:
return DOPCODE_SGET_WIDE;
case OPCODE_SGET_OBJECT:
return DOPCODE_SGET_OBJECT;
case OPCODE_SGET_BOOLEAN:
return DOPCODE_SGET_BOOLEAN;
case OPCODE_SGET_BYTE:
return DOPCODE_SGET_BYTE;
case OPCODE_SGET_CHAR:
return DOPCODE_SGET_CHAR;
case OPCODE_SGET_SHORT:
return DOPCODE_SGET_SHORT;
case OPCODE_SPUT:
return DOPCODE_SPUT;
case OPCODE_SPUT_WIDE:
return DOPCODE_SPUT_WIDE;
case OPCODE_SPUT_OBJECT:
return DOPCODE_SPUT_OBJECT;
case OPCODE_SPUT_BOOLEAN:
return DOPCODE_SPUT_BOOLEAN;
case OPCODE_SPUT_BYTE:
return DOPCODE_SPUT_BYTE;
case OPCODE_SPUT_CHAR:
return DOPCODE_SPUT_CHAR;
case OPCODE_SPUT_SHORT:
return DOPCODE_SPUT_SHORT;
case OPCODE_INVOKE_VIRTUAL:
return DOPCODE_INVOKE_VIRTUAL;
case OPCODE_INVOKE_SUPER:
return DOPCODE_INVOKE_SUPER;
case OPCODE_INVOKE_DIRECT:
return DOPCODE_INVOKE_DIRECT;
case OPCODE_INVOKE_STATIC:
return DOPCODE_INVOKE_STATIC;
case OPCODE_INVOKE_INTERFACE:
return DOPCODE_INVOKE_INTERFACE;
case OPCODE_INVOKE_CUSTOM:
return DOPCODE_INVOKE_CUSTOM;
case OPCODE_INVOKE_POLYMORPHIC:
return DOPCODE_INVOKE_POLYMORPHIC;
case OPCODE_CONST_STRING:
return DOPCODE_CONST_STRING;
case OPCODE_CONST_CLASS:
return DOPCODE_CONST_CLASS;
case OPCODE_CHECK_CAST:
return DOPCODE_CHECK_CAST;
case OPCODE_INSTANCE_OF:
return DOPCODE_INSTANCE_OF;
case OPCODE_NEW_INSTANCE:
return DOPCODE_NEW_INSTANCE;
case OPCODE_NEW_ARRAY:
return DOPCODE_NEW_ARRAY;
case OPCODE_FILLED_NEW_ARRAY:
return DOPCODE_FILLED_NEW_ARRAY;
default:
not_reached_log("Cannot create DexOpcode from %s", SHOW(op));
}
}