Fix how reference index is written in format 35c and 3rc

This commit is contained in:
Ben Gruver 2012-12-28 20:10:43 -08:00
parent 257fa2dfca
commit b2ae115dd5

View File

@ -479,7 +479,7 @@ public class CodeItemPool {
public void writeFormat35c(@Nonnull DexWriter writer, @Nonnull Instruction35c instruction) throws IOException {
writer.write(instruction.getOpcode().value);
writer.write(packNibbles(instruction.getRegisterG(), instruction.getRegisterCount()));
writer.write(getReferenceIndex(instruction));
writer.writeUshort(getReferenceIndex(instruction));
writer.write(packNibbles(instruction.getRegisterC(), instruction.getRegisterD()));
writer.write(packNibbles(instruction.getRegisterE(), instruction.getRegisterF()));
}
@ -487,7 +487,7 @@ public class CodeItemPool {
public void writeFormat3rc(@Nonnull DexWriter writer, @Nonnull Instruction3rc instruction) throws IOException {
writer.write(instruction.getOpcode().value);
writer.write(instruction.getRegisterCount());
writer.write(getReferenceIndex(instruction));
writer.writeUshort(getReferenceIndex(instruction));
writer.writeUshort(instruction.getStartRegister());
}