From d59c99ddfed8c5f3104c3da112adb2948da9f247 Mon Sep 17 00:00:00 2001 From: Skylot Date: Tue, 12 May 2020 19:06:39 +0100 Subject: [PATCH] fix: attach method details before OverrideMethodVisitor --- jadx-core/src/main/java/jadx/core/Jadx.java | 2 +- .../java/jadx/core/dex/visitors/AttachMethodDetails.java | 6 +++++- 2 files changed, 6 insertions(+), 2 deletions(-) diff --git a/jadx-core/src/main/java/jadx/core/Jadx.java b/jadx-core/src/main/java/jadx/core/Jadx.java index 674209e8e..84dd65be2 100644 --- a/jadx-core/src/main/java/jadx/core/Jadx.java +++ b/jadx-core/src/main/java/jadx/core/Jadx.java @@ -57,6 +57,7 @@ public class Jadx { passes.add(new BlockExceptionHandler()); passes.add(new BlockFinish()); + passes.add(new AttachMethodDetails()); passes.add(new OverrideMethodVisitor()); passes.add(new SSATransform()); @@ -65,7 +66,6 @@ public class Jadx { passes.add(new InitCodeVariables()); passes.add(new MarkFinallyVisitor()); passes.add(new ConstInlineVisitor()); - passes.add(new AttachMethodDetails()); passes.add(new TypeInferenceVisitor()); if (args.isDebugInfo()) { passes.add(new DebugInfoApplyVisitor()); diff --git a/jadx-core/src/main/java/jadx/core/dex/visitors/AttachMethodDetails.java b/jadx-core/src/main/java/jadx/core/dex/visitors/AttachMethodDetails.java index 24e2ec09a..9acc384a3 100644 --- a/jadx-core/src/main/java/jadx/core/dex/visitors/AttachMethodDetails.java +++ b/jadx-core/src/main/java/jadx/core/dex/visitors/AttachMethodDetails.java @@ -8,13 +8,17 @@ import jadx.core.dex.nodes.MethodNode; import jadx.core.dex.nodes.RootNode; import jadx.core.dex.nodes.utils.MethodUtils; import jadx.core.dex.visitors.shrink.CodeShrinkVisitor; +import jadx.core.dex.visitors.typeinference.TypeInferenceVisitor; import jadx.core.utils.exceptions.JadxException; @JadxVisitor( name = "Attach Method Details", desc = "Attach method details for invoke instructions", runBefore = { - CodeShrinkVisitor.class + CodeShrinkVisitor.class, + TypeInferenceVisitor.class, + MethodInvokeVisitor.class, + OverrideMethodVisitor.class } ) public class AttachMethodDetails extends AbstractVisitor {