From a48ce296b8b291aff4746627967f3bcbf71efb33 Mon Sep 17 00:00:00 2001 From: Skylot Date: Tue, 5 Nov 2019 08:45:23 +0000 Subject: [PATCH] fix: resolve code generation error for interface methods (#775) --- jadx-core/src/main/java/jadx/core/codegen/NameGen.java | 6 +++++- .../main/java/jadx/core/dex/instructions/args/CodeVar.java | 4 +++- 2 files changed, 8 insertions(+), 2 deletions(-) diff --git a/jadx-core/src/main/java/jadx/core/codegen/NameGen.java b/jadx-core/src/main/java/jadx/core/codegen/NameGen.java index f18ac2a87..9764783d8 100644 --- a/jadx-core/src/main/java/jadx/core/codegen/NameGen.java +++ b/jadx-core/src/main/java/jadx/core/codegen/NameGen.java @@ -139,7 +139,11 @@ public class NameGen { } private String getFallbackName(CodeVar var) { - return getFallbackName(var.getSsaVars().get(0).getAssign()); + List ssaVars = var.getSsaVars(); + if (ssaVars.isEmpty()) { + return "v"; + } + return getFallbackName(ssaVars.get(0).getAssign()); } private String getFallbackName(RegisterArg arg) { diff --git a/jadx-core/src/main/java/jadx/core/dex/instructions/args/CodeVar.java b/jadx-core/src/main/java/jadx/core/dex/instructions/args/CodeVar.java index 8685e4875..a642e2e24 100644 --- a/jadx-core/src/main/java/jadx/core/dex/instructions/args/CodeVar.java +++ b/jadx-core/src/main/java/jadx/core/dex/instructions/args/CodeVar.java @@ -19,7 +19,9 @@ public class CodeVar { var.setName(mthArg.getName()); var.setDeclared(true); var.setThis(mthArg.isThis()); - var.setSsaVars(Collections.singletonList(new SSAVar(mthArg.getRegNum(), 0, mthArg))); + SSAVar ssaVar = new SSAVar(mthArg.getRegNum(), 0, mthArg); + ssaVar.setCodeVar(var); + var.setSsaVars(Collections.singletonList(ssaVar)); return var; }