String referenceString = writeInvalidItemIndex(ex, referenceInstruction.getReferenceType(), writer); referenceWritable = indentingWriter -> writer.write(referenceString); } catch (InvalidItemIndex ex) { commentOutInstruction = true; String referenceString = writeInvalidItemIndex(ex, dualReferenceInstruction.getReferenceType2(), writer); referenceWritable2 = indentingWriter -> indentingWriter.write(referenceString); if (!isAllowedOdex(opcode)) { writer.write("#disallowed odex opcode\n"); commentOutInstruction = true; writeOpcode(writer); writer.write(' '); writeTargetLabel(writer); break; case Format10x: writeOpcode(writer); break; case Format11n: writeOpcode(writer); writer.write(' '); writeFirstRegister(writer); writer.write(", "); writeLiteral(writer); break;
protected void writeFirstRegister(IndentingWriter writer) throws IOException { writeRegister(writer, ((OneRegisterInstruction)instruction).getRegisterA()); }
if (!isAllowedOdex(opcode)) { writer.write("#disallowed odex opcode\n"); commentOutInstruction = true; writeOpcode(writer); writer.write(' '); writeTargetLabel(writer); break; case Format10x: writeOpcode(writer); break; case Format11n: writeOpcode(writer); writer.write(' '); writeFirstRegister(writer); writer.write(", "); writeLiteral(writer); break; case Format11x: writeOpcode(writer); writer.write(' '); writeFirstRegister(writer); break; case Format12x: writeOpcode(writer); writer.write(' '); writeFirstRegister(writer); writer.write(", ");
public static InstructionMethodItem makeInstructionFormatMethodItem( MethodDefinition methodDef, int codeAddress, Instruction instruction) { if (instruction instanceof OffsetInstruction) { return new OffsetInstructionFormatMethodItem(methodDef.classDef.options, methodDef, codeAddress, (OffsetInstruction)instruction); } if (instruction instanceof UnresolvedOdexInstruction) { return new UnresolvedOdexInstructionMethodItem(methodDef, codeAddress, (UnresolvedOdexInstruction)instruction); } switch (instruction.getOpcode().format) { case ArrayPayload: return new ArrayDataMethodItem(methodDef, codeAddress, (ArrayPayload)instruction); case PackedSwitchPayload: return new PackedSwitchMethodItem(methodDef, codeAddress, (PackedSwitchPayload)instruction); case SparseSwitchPayload: return new SparseSwitchMethodItem(methodDef, codeAddress, (SparseSwitchPayload)instruction); default: return new InstructionMethodItem<Instruction>(methodDef, codeAddress, instruction); } } }
public static InstructionMethodItem makeInstructionFormatMethodItem( MethodDefinition methodDef, int codeAddress, Instruction instruction) { if (instruction instanceof OffsetInstruction) { return new OffsetInstructionFormatMethodItem(methodDef.classDef.options, methodDef, codeAddress, (OffsetInstruction)instruction); } if (instruction instanceof UnresolvedOdexInstruction) { return new UnresolvedOdexInstructionMethodItem(methodDef, codeAddress, (UnresolvedOdexInstruction)instruction); } switch (instruction.getOpcode().format) { case ArrayPayload: return new ArrayDataMethodItem(methodDef, codeAddress, (ArrayPayload)instruction); case PackedSwitchPayload: return new PackedSwitchMethodItem(methodDef, codeAddress, (PackedSwitchPayload)instruction); case SparseSwitchPayload: return new SparseSwitchMethodItem(methodDef, codeAddress, (SparseSwitchPayload)instruction); default: return new InstructionMethodItem<Instruction>(methodDef, codeAddress, instruction); } } }
String referenceString = writeInvalidItemIndex(ex, referenceInstruction.getReferenceType(), writer); referenceWritable = indentingWriter -> writer.write(referenceString); } catch (InvalidItemIndex ex) { commentOutInstruction = true; String referenceString = writeInvalidItemIndex(ex, dualReferenceInstruction.getReferenceType2(), writer); referenceWritable2 = indentingWriter -> indentingWriter.write(referenceString); if (!isAllowedOdex(opcode)) { writer.write("#disallowed odex opcode\n"); commentOutInstruction = true; writeOpcode(writer); writer.write(' '); writeTargetLabel(writer); break; case Format10x: writeOpcode(writer); break; case Format11n: writeOpcode(writer); writer.write(' '); writeFirstRegister(writer); writer.write(", "); writeLiteral(writer); break;
protected void writeThirdRegister(IndentingWriter writer) throws IOException { writeRegister(writer, ((ThreeRegisterInstruction) instruction).getRegisterC()); }
public static InstructionMethodItem makeInstructionFormatMethodItem( MethodDefinition methodDef, int codeAddress, Instruction instruction) { if (instruction instanceof OffsetInstruction) { return new OffsetInstructionFormatMethodItem(methodDef.classDef.options, methodDef, codeAddress, (OffsetInstruction)instruction); } if (instruction instanceof UnresolvedOdexInstruction) { return new UnresolvedOdexInstructionMethodItem(methodDef, codeAddress, (UnresolvedOdexInstruction)instruction); } switch (instruction.getOpcode().format) { case ArrayPayload: return new ArrayDataMethodItem(methodDef, codeAddress, (ArrayPayload)instruction); case PackedSwitchPayload: return new PackedSwitchMethodItem(methodDef, codeAddress, (PackedSwitchPayload)instruction); case SparseSwitchPayload: return new SparseSwitchMethodItem(methodDef, codeAddress, (SparseSwitchPayload)instruction); default: return new InstructionMethodItem<Instruction>(methodDef, codeAddress, instruction); } } }
protected void writeSecondRegister(IndentingWriter writer) throws IOException { writeRegister(writer, ((TwoRegisterInstruction)instruction).getRegisterB()); }
switch (regCount) { case 1: writeRegister(writer, instruction.getRegisterC()); break; case 2: writeRegister(writer, instruction.getRegisterC()); writer.write(", "); writeRegister(writer, instruction.getRegisterD()); break; case 3: writeRegister(writer, instruction.getRegisterC()); writer.write(", "); writeRegister(writer, instruction.getRegisterD()); writer.write(", "); writeRegister(writer, instruction.getRegisterE()); break; case 4: writeRegister(writer, instruction.getRegisterC()); writer.write(", "); writeRegister(writer, instruction.getRegisterD()); writer.write(", "); writeRegister(writer, instruction.getRegisterE()); writer.write(", "); writeRegister(writer, instruction.getRegisterF()); break; case 5: writeRegister(writer, instruction.getRegisterC()); writer.write(", "); writeRegister(writer, instruction.getRegisterD());
protected void writeSecondRegister(IndentingWriter writer) throws IOException { writeRegister(writer, ((TwoRegisterInstruction)instruction).getRegisterB()); }
protected void writeThirdRegister(IndentingWriter writer) throws IOException { writeRegister(writer, ((ThreeRegisterInstruction) instruction).getRegisterC()); }
protected void writeThirdRegister(IndentingWriter writer) throws IOException { writeRegister(writer, ((ThreeRegisterInstruction) instruction).getRegisterC()); }
protected void writeSecondRegister(IndentingWriter writer) throws IOException { writeRegister(writer, ((TwoRegisterInstruction)instruction).getRegisterB()); }
protected void writeFirstRegister(IndentingWriter writer) throws IOException { writeRegister(writer, ((OneRegisterInstruction)instruction).getRegisterA()); }
protected void writeFirstRegister(IndentingWriter writer) throws IOException { writeRegister(writer, ((OneRegisterInstruction)instruction).getRegisterA()); }
switch (regCount) { case 1: writeRegister(writer, instruction.getRegisterC()); break; case 2: writeRegister(writer, instruction.getRegisterC()); writer.write(", "); writeRegister(writer, instruction.getRegisterD()); break; case 3: writeRegister(writer, instruction.getRegisterC()); writer.write(", "); writeRegister(writer, instruction.getRegisterD()); writer.write(", "); writeRegister(writer, instruction.getRegisterE()); break; case 4: writeRegister(writer, instruction.getRegisterC()); writer.write(", "); writeRegister(writer, instruction.getRegisterD()); writer.write(", "); writeRegister(writer, instruction.getRegisterE()); writer.write(", "); writeRegister(writer, instruction.getRegisterF()); break; case 5: writeRegister(writer, instruction.getRegisterC()); writer.write(", "); writeRegister(writer, instruction.getRegisterD());
switch (regCount) { case 1: writeRegister(writer, instruction.getRegisterC()); break; case 2: writeRegister(writer, instruction.getRegisterC()); writer.write(", "); writeRegister(writer, instruction.getRegisterD()); break; case 3: writeRegister(writer, instruction.getRegisterC()); writer.write(", "); writeRegister(writer, instruction.getRegisterD()); writer.write(", "); writeRegister(writer, instruction.getRegisterE()); break; case 4: writeRegister(writer, instruction.getRegisterC()); writer.write(", "); writeRegister(writer, instruction.getRegisterD()); writer.write(", "); writeRegister(writer, instruction.getRegisterE()); writer.write(", "); writeRegister(writer, instruction.getRegisterF()); break; case 5: writeRegister(writer, instruction.getRegisterC()); writer.write(", "); writeRegister(writer, instruction.getRegisterD());