From 5a900e22e068b8e6bb3dd6e9f65d198b5bd5d566 Mon Sep 17 00:00:00 2001 From: Ben Gruver Date: Sun, 2 Feb 2020 20:06:55 -0800 Subject: [PATCH] Use reference type from wrapped instruction in BaseRewrittenReferenceInstruction Otherwise, the reference won't be rewritten correctly if the overriding class overrides getReferenceType to return a different type. --- .../main/java/org/jf/dexlib2/rewriter/InstructionRewriter.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/dexlib2/src/main/java/org/jf/dexlib2/rewriter/InstructionRewriter.java b/dexlib2/src/main/java/org/jf/dexlib2/rewriter/InstructionRewriter.java index c7da8ca9..92d94bec 100644 --- a/dexlib2/src/main/java/org/jf/dexlib2/rewriter/InstructionRewriter.java +++ b/dexlib2/src/main/java/org/jf/dexlib2/rewriter/InstructionRewriter.java @@ -81,7 +81,7 @@ public class InstructionRewriter implements Rewriter { } @Override @Nonnull public Reference getReference() { - switch (getReferenceType()) { + switch (instruction.getReferenceType()) { case ReferenceType.TYPE: return RewriterUtils.rewriteTypeReference(rewriters.getTypeRewriter(), (TypeReference)instruction.getReference());