mirror of
https://github.com/revanced/smali.git
synced 2025-05-11 20:04:28 +02:00
baksmali: Write comments about matched resource IDs
This commit is contained in:
parent
29d4ccc8a9
commit
7e9231a211
@ -65,6 +65,7 @@ public class ArrayDataMethodItem extends InstructionMethodItem<ArrayPayload> {
|
|||||||
for (Number number: elements) {
|
for (Number number: elements) {
|
||||||
LongRenderer.writeSignedIntOrLongTo(writer, number.longValue());
|
LongRenderer.writeSignedIntOrLongTo(writer, number.longValue());
|
||||||
writer.write(suffix);
|
writer.write(suffix);
|
||||||
|
writeResourceId(writer, number.longValue());
|
||||||
writer.write("\n");
|
writer.write("\n");
|
||||||
}
|
}
|
||||||
writer.deindent(4);
|
writer.deindent(4);
|
||||||
|
@ -43,6 +43,7 @@ import org.jf.util.IndentingWriter;
|
|||||||
|
|
||||||
import javax.annotation.Nonnull;
|
import javax.annotation.Nonnull;
|
||||||
import java.io.IOException;
|
import java.io.IOException;
|
||||||
|
import java.util.Map;
|
||||||
|
|
||||||
public class InstructionMethodItem<T extends Instruction> extends MethodItem {
|
public class InstructionMethodItem<T extends Instruction> extends MethodItem {
|
||||||
@Nonnull protected final MethodDefinition methodDef;
|
@Nonnull protected final MethodDefinition methodDef;
|
||||||
@ -140,6 +141,7 @@ public class InstructionMethodItem<T extends Instruction> extends MethodItem {
|
|||||||
writeFirstRegister(writer);
|
writeFirstRegister(writer);
|
||||||
writer.write(", ");
|
writer.write(", ");
|
||||||
writeLiteral(writer);
|
writeLiteral(writer);
|
||||||
|
writeResourceId(writer, ((WideLiteralInstruction)instruction).getWideLiteral());
|
||||||
return true;
|
return true;
|
||||||
case Format21t:
|
case Format21t:
|
||||||
case Format31t:
|
case Format31t:
|
||||||
@ -337,6 +339,13 @@ public class InstructionMethodItem<T extends Instruction> extends MethodItem {
|
|||||||
LongRenderer.writeSignedIntOrLongTo(writer, ((WideLiteralInstruction)instruction).getWideLiteral());
|
LongRenderer.writeSignedIntOrLongTo(writer, ((WideLiteralInstruction)instruction).getWideLiteral());
|
||||||
}
|
}
|
||||||
|
|
||||||
|
protected void writeResourceId(IndentingWriter writer, long val) throws IOException {
|
||||||
|
Map<Long,String> resourceIds = methodDef.classDef.options.resourceIds;
|
||||||
|
if (resourceIds.containsKey(Long.valueOf(val))) {
|
||||||
|
writer.write(" # ");
|
||||||
|
writer.write(resourceIds.get(Long.valueOf(val)));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
protected void writeFieldOffset(IndentingWriter writer) throws IOException {
|
protected void writeFieldOffset(IndentingWriter writer) throws IOException {
|
||||||
writer.write("field@0x");
|
writer.write("field@0x");
|
||||||
|
@ -82,9 +82,12 @@ public class PackedSwitchMethodItem extends InstructionMethodItem<PackedSwitchPa
|
|||||||
IntegerRenderer.writeTo(writer, firstKey);
|
IntegerRenderer.writeTo(writer, firstKey);
|
||||||
writer.indent(4);
|
writer.indent(4);
|
||||||
writer.write('\n');
|
writer.write('\n');
|
||||||
|
long key = firstKey;
|
||||||
for (PackedSwitchTarget target: targets) {
|
for (PackedSwitchTarget target: targets) {
|
||||||
target.writeTargetTo(writer);
|
target.writeTargetTo(writer);
|
||||||
|
writeResourceId(writer, key);
|
||||||
writer.write('\n');
|
writer.write('\n');
|
||||||
|
key++;
|
||||||
}
|
}
|
||||||
writer.deindent(4);
|
writer.deindent(4);
|
||||||
writer.write(".end packed-switch");
|
writer.write(".end packed-switch");
|
||||||
|
@ -71,6 +71,7 @@ public class SparseSwitchMethodItem extends InstructionMethodItem<SparseSwitchPa
|
|||||||
IntegerRenderer.writeTo(writer, target.getKey());
|
IntegerRenderer.writeTo(writer, target.getKey());
|
||||||
writer.write(" -> ");
|
writer.write(" -> ");
|
||||||
target.writeTargetTo(writer);
|
target.writeTargetTo(writer);
|
||||||
|
writeResourceId(writer, target.getKey());
|
||||||
writer.write('\n');
|
writer.write('\n');
|
||||||
}
|
}
|
||||||
writer.deindent(4);
|
writer.deindent(4);
|
||||||
|
Loading…
x
Reference in New Issue
Block a user