Search in sources :

Example 1 with OneFixedFourParameterRegisterInstruction

use of org.jf.dexlib2.iface.instruction.OneFixedFourParameterRegisterInstruction in project atlas by alibaba.

the class InstructionMethodItem method writeInvoke25xRegisters.

protected void writeInvoke25xRegisters(IndentingWriter writer) throws IOException {
    OneFixedFourParameterRegisterInstruction instruction = (OneFixedFourParameterRegisterInstruction) this.instruction;
    final int parameterRegCount = instruction.getParameterRegisterCount();
    // fixed register always present
    writeRegister(writer, instruction.getRegisterFixedC());
    writer.write(", {");
    switch(parameterRegCount) {
        case 1:
            writeRegister(writer, instruction.getRegisterParameterD());
            break;
        case 2:
            writeRegister(writer, instruction.getRegisterParameterD());
            writer.write(", ");
            writeRegister(writer, instruction.getRegisterParameterE());
            break;
        case 3:
            writeRegister(writer, instruction.getRegisterParameterD());
            writer.write(", ");
            writeRegister(writer, instruction.getRegisterParameterE());
            writer.write(", ");
            writeRegister(writer, instruction.getRegisterParameterF());
            break;
        case 4:
            writeRegister(writer, instruction.getRegisterParameterD());
            writer.write(", ");
            writeRegister(writer, instruction.getRegisterParameterE());
            writer.write(", ");
            writeRegister(writer, instruction.getRegisterParameterF());
            writer.write(", ");
            writeRegister(writer, instruction.getRegisterParameterG());
            break;
    }
    writer.write('}');
}
Also used : OneFixedFourParameterRegisterInstruction(org.jf.dexlib2.iface.instruction.OneFixedFourParameterRegisterInstruction)

Aggregations

OneFixedFourParameterRegisterInstruction (org.jf.dexlib2.iface.instruction.OneFixedFourParameterRegisterInstruction)1