diff --git a/baksmali/src/main/java/org/jf/baksmali/Adaptors/DebugMethodItem.java b/baksmali/src/main/java/org/jf/baksmali/Adaptors/DebugMethodItem.java index ced19dbd..858c5251 100644 --- a/baksmali/src/main/java/org/jf/baksmali/Adaptors/DebugMethodItem.java +++ b/baksmali/src/main/java/org/jf/baksmali/Adaptors/DebugMethodItem.java @@ -50,7 +50,7 @@ public abstract class DebugMethodItem extends MethodItem { protected static void writeLine(IndentingWriter writer, int line) throws IOException { writer.write(".line "); - writer.printIntAsDec(line); + writer.printSignedIntAsDec(line); } protected static void writeEndPrologue(IndentingWriter writer) throws IOException { diff --git a/baksmali/src/main/java/org/jf/baksmali/Adaptors/Format/ArrayDataMethodItem.java b/baksmali/src/main/java/org/jf/baksmali/Adaptors/Format/ArrayDataMethodItem.java index 17ad0612..3595b388 100644 --- a/baksmali/src/main/java/org/jf/baksmali/Adaptors/Format/ArrayDataMethodItem.java +++ b/baksmali/src/main/java/org/jf/baksmali/Adaptors/Format/ArrayDataMethodItem.java @@ -43,7 +43,7 @@ public class ArrayDataMethodItem extends InstructionMethodItem extends MethodItem { protected void writeFieldOffset(IndentingWriter writer) throws IOException { writer.write("field@0x"); - writer.printLongAsHex(((OdexedFieldAccess)instruction).getFieldOffset()); + writer.printUnsignedLongAsHex(((OdexedFieldAccess) instruction).getFieldOffset()); } protected void writeVtableIndex(IndentingWriter writer) throws IOException { writer.write("vtable@0x"); - writer.printLongAsHex(((OdexedInvokeVirtual)instruction).getMethodIndex()); + writer.printUnsignedLongAsHex(((OdexedInvokeVirtual) instruction).getMethodIndex()); } protected void writeReference(IndentingWriter writer) throws IOException { diff --git a/baksmali/src/main/java/org/jf/baksmali/Adaptors/LabelMethodItem.java b/baksmali/src/main/java/org/jf/baksmali/Adaptors/LabelMethodItem.java index 13dfa2db..dc0ace92 100644 --- a/baksmali/src/main/java/org/jf/baksmali/Adaptors/LabelMethodItem.java +++ b/baksmali/src/main/java/org/jf/baksmali/Adaptors/LabelMethodItem.java @@ -74,9 +74,9 @@ public class LabelMethodItem extends MethodItem { writer.write(':'); writer.write(labelPrefix); if (baksmali.useSequentialLabels) { - writer.printLongAsHex(labelSequence); + writer.printUnsignedLongAsHex(labelSequence); } else { - writer.printLongAsHex(this.getLabelAddress()); + writer.printUnsignedLongAsHex(this.getLabelAddress()); } return true; } diff --git a/baksmali/src/main/java/org/jf/baksmali/Adaptors/MethodDefinition.java b/baksmali/src/main/java/org/jf/baksmali/Adaptors/MethodDefinition.java index 25f44f95..815a295b 100644 --- a/baksmali/src/main/java/org/jf/baksmali/Adaptors/MethodDefinition.java +++ b/baksmali/src/main/java/org/jf/baksmali/Adaptors/MethodDefinition.java @@ -120,7 +120,7 @@ public class MethodDefinition { } else { writer.write(".registers "); } - writer.printIntAsDec(getRegisterCount(encodedMethod)); + writer.printSignedIntAsDec(getRegisterCount(encodedMethod)); writer.write('\n'); writeParameters(writer, codeItem, parameterAnnotations); if (annotationSet != null) { @@ -339,7 +339,7 @@ public class MethodDefinition { @Override public boolean writeTo(IndentingWriter writer) throws IOException { writer.write("#@"); - writer.printLongAsHex(codeAddress & 0xFFFFFFFF); + writer.printUnsignedLongAsHex(codeAddress & 0xFFFFFFFF); return true; } }); @@ -417,7 +417,7 @@ public class MethodDefinition { @Override public boolean writeTo(IndentingWriter writer) throws IOException { writer.write("#@"); - writer.printLongAsHex(codeAddress & 0xFFFFFFFF); + writer.printUnsignedLongAsHex(codeAddress & 0xFFFFFFFF); return true; } }); diff --git a/baksmali/src/main/java/org/jf/baksmali/Adaptors/PreInstructionRegisterInfoMethodItem.java b/baksmali/src/main/java/org/jf/baksmali/Adaptors/PreInstructionRegisterInfoMethodItem.java index 7e6e2737..ab99f436 100644 --- a/baksmali/src/main/java/org/jf/baksmali/Adaptors/PreInstructionRegisterInfoMethodItem.java +++ b/baksmali/src/main/java/org/jf/baksmali/Adaptors/PreInstructionRegisterInfoMethodItem.java @@ -219,7 +219,7 @@ public class PreInstructionRegisterInfoMethodItem extends MethodItem { writer.write("Start:"); } else { writer.write("0x"); - writer.printLongAsHex(methodAnalyzer.getInstructionAddress(predecessor)); + writer.printUnsignedLongAsHex(methodAnalyzer.getInstructionAddress(predecessor)); writer.write(':'); } predecessorRegisterType.writeTo(writer); diff --git a/baksmali/src/main/java/org/jf/baksmali/Adaptors/RegisterFormatter.java b/baksmali/src/main/java/org/jf/baksmali/Adaptors/RegisterFormatter.java index 87f176bb..35c620d5 100644 --- a/baksmali/src/main/java/org/jf/baksmali/Adaptors/RegisterFormatter.java +++ b/baksmali/src/main/java/org/jf/baksmali/Adaptors/RegisterFormatter.java @@ -63,17 +63,17 @@ public class RegisterFormatter { if (startRegister >= registerCount - parameterRegisterCount) { writer.write("{p"); - writer.printIntAsDec(startRegister - (registerCount - parameterRegisterCount)); + writer.printSignedIntAsDec(startRegister - (registerCount - parameterRegisterCount)); writer.write(" .. p"); - writer.printIntAsDec(lastRegister - (registerCount - parameterRegisterCount)); + writer.printSignedIntAsDec(lastRegister - (registerCount - parameterRegisterCount)); writer.write('}'); return; } } writer.write("{v"); - writer.printIntAsDec(startRegister); + writer.printSignedIntAsDec(startRegister); writer.write(" .. v"); - writer.printIntAsDec(lastRegister); + writer.printSignedIntAsDec(lastRegister); writer.write('}'); } @@ -93,11 +93,11 @@ public class RegisterFormatter { int registerCount = codeItem.getRegisterCount(); if (register >= registerCount - parameterRegisterCount) { writer.write('p'); - writer.printIntAsDec((register - (registerCount - parameterRegisterCount))); + writer.printSignedIntAsDec((register - (registerCount - parameterRegisterCount))); return; } } writer.write('v'); - writer.printIntAsDec(register); + writer.printSignedIntAsDec(register); } } diff --git a/baksmali/src/main/java/org/jf/baksmali/Renderers/ByteRenderer.java b/baksmali/src/main/java/org/jf/baksmali/Renderers/ByteRenderer.java index 7debe671..9c060fd4 100644 --- a/baksmali/src/main/java/org/jf/baksmali/Renderers/ByteRenderer.java +++ b/baksmali/src/main/java/org/jf/baksmali/Renderers/ByteRenderer.java @@ -36,18 +36,18 @@ public class ByteRenderer { public static void writeTo(IndentingWriter writer, byte val) throws IOException { if (val<0) { writer.write("-0x"); - writer.printLongAsHex(-val); + writer.printUnsignedLongAsHex(-val); writer.write('t'); } else { writer.write("0x"); - writer.printLongAsHex(val); + writer.printUnsignedLongAsHex(val); writer.write('t'); } } public static void writeUnsignedTo(IndentingWriter writer, byte val) throws IOException { writer.write("0x"); - writer.printLongAsHex(val & 0xFF); + writer.printUnsignedLongAsHex(val & 0xFF); writer.write('t'); } } diff --git a/baksmali/src/main/java/org/jf/baksmali/Renderers/IntegerRenderer.java b/baksmali/src/main/java/org/jf/baksmali/Renderers/IntegerRenderer.java index e0165fb2..30b764d5 100644 --- a/baksmali/src/main/java/org/jf/baksmali/Renderers/IntegerRenderer.java +++ b/baksmali/src/main/java/org/jf/baksmali/Renderers/IntegerRenderer.java @@ -36,15 +36,15 @@ public class IntegerRenderer { public static void writeTo(IndentingWriter writer, int val) throws IOException { if (val<0) { writer.write("-0x"); - writer.printLongAsHex(-((long)val)); + writer.printUnsignedLongAsHex(-((long) val)); } else { writer.write("0x"); - writer.printLongAsHex(val); + writer.printUnsignedLongAsHex(val); } } public static void writeUnsignedTo(IndentingWriter writer, int val) throws IOException { writer.write("0x"); - writer.printLongAsHex(val & 0xFFFFFFFF); + writer.printUnsignedLongAsHex(val & 0xFFFFFFFF); } } diff --git a/baksmali/src/main/java/org/jf/baksmali/Renderers/LongRenderer.java b/baksmali/src/main/java/org/jf/baksmali/Renderers/LongRenderer.java index 74d499f7..83076e48 100644 --- a/baksmali/src/main/java/org/jf/baksmali/Renderers/LongRenderer.java +++ b/baksmali/src/main/java/org/jf/baksmali/Renderers/LongRenderer.java @@ -36,11 +36,11 @@ public class LongRenderer { public static void writeTo(IndentingWriter writer, long val) throws IOException { if (val<0) { writer.write("-0x"); - writer.printLongAsHex(-val); + writer.printUnsignedLongAsHex(-val); writer.write('L'); } else { writer.write("0x"); - writer.printLongAsHex(val); + writer.printUnsignedLongAsHex(val); writer.write('L'); } } @@ -48,13 +48,13 @@ public class LongRenderer { public static void writeSignedIntOrLongTo(IndentingWriter writer, long val) throws IOException { if (val<0) { writer.write("-0x"); - writer.printLongAsHex(-val); + writer.printUnsignedLongAsHex(-val); if (val < Integer.MIN_VALUE) { writer.write('L'); } } else { writer.write("0x"); - writer.printLongAsHex(val); + writer.printUnsignedLongAsHex(val); if (val > Integer.MAX_VALUE) { writer.write('L'); } diff --git a/baksmali/src/main/java/org/jf/baksmali/Renderers/ShortRenderer.java b/baksmali/src/main/java/org/jf/baksmali/Renderers/ShortRenderer.java index 8cdbf901..3385c6b6 100644 --- a/baksmali/src/main/java/org/jf/baksmali/Renderers/ShortRenderer.java +++ b/baksmali/src/main/java/org/jf/baksmali/Renderers/ShortRenderer.java @@ -36,11 +36,11 @@ public class ShortRenderer { public static void writeTo(IndentingWriter writer, short val) throws IOException { if (val < 0) { writer.write("-0x"); - writer.printLongAsHex(-val); + writer.printUnsignedLongAsHex(-val); writer.write('s'); } else { writer.write("0x"); - writer.printLongAsHex(val); + writer.printUnsignedLongAsHex(val); writer.write('s'); } } diff --git a/util/src/main/java/org/jf/util/IndentingWriter.java b/util/src/main/java/org/jf/util/IndentingWriter.java index 196a7807..79f43b32 100644 --- a/util/src/main/java/org/jf/util/IndentingWriter.java +++ b/util/src/main/java/org/jf/util/IndentingWriter.java @@ -148,7 +148,7 @@ public class IndentingWriter extends Writer { //} } - public void printLongAsHex(long value) throws IOException { + public void printUnsignedLongAsHex(long value) throws IOException { int bufferIndex = 0; do { int digit = (int)(value & 15); @@ -166,7 +166,7 @@ public class IndentingWriter extends Writer { } } - public void printIntAsDec(int value) throws IOException { + public void printSignedIntAsDec(int value) throws IOException { int bufferIndex = 0; if (value < 0) {