From 5eec8f754da9c18258023922998859a172a69272 Mon Sep 17 00:00:00 2001 From: Skylot Date: Sat, 29 Feb 2020 19:24:01 +0000 Subject: [PATCH] fix: class resolving issues (#867) --- jadx-core/src/main/java/jadx/core/dex/nodes/RootNode.java | 6 ++++++ .../main/java/jadx/core/dex/nodes/utils/MethodUtils.java | 2 +- 2 files changed, 7 insertions(+), 1 deletion(-) diff --git a/jadx-core/src/main/java/jadx/core/dex/nodes/RootNode.java b/jadx-core/src/main/java/jadx/core/dex/nodes/RootNode.java index 32d20823d..49c54759b 100644 --- a/jadx-core/src/main/java/jadx/core/dex/nodes/RootNode.java +++ b/jadx-core/src/main/java/jadx/core/dex/nodes/RootNode.java @@ -176,6 +176,12 @@ public class RootNode { @Nullable public ClassNode resolveClass(ArgType clsType) { + if (!clsType.isTypeKnown() || clsType.isGenericType()) { + return null; + } + if (clsType.getWildcardBound() == ArgType.WildcardBound.UNBOUND) { + return null; + } if (clsType.isGeneric()) { clsType = ArgType.object(clsType.getObject()); } diff --git a/jadx-core/src/main/java/jadx/core/dex/nodes/utils/MethodUtils.java b/jadx-core/src/main/java/jadx/core/dex/nodes/utils/MethodUtils.java index 67f24e708..4c7c82e7a 100644 --- a/jadx-core/src/main/java/jadx/core/dex/nodes/utils/MethodUtils.java +++ b/jadx-core/src/main/java/jadx/core/dex/nodes/utils/MethodUtils.java @@ -68,7 +68,7 @@ public class MethodUtils { } public boolean processMethodArgsOverloaded(ArgType startCls, MethodInfo mthInfo, @Nullable List collectedMths) { - if (startCls == null) { + if (startCls == null || !startCls.isObject()) { return false; } boolean isMthConstructor = mthInfo.isConstructor() || mthInfo.isClassInit();