diff --git a/jadx-core/src/main/java/jadx/core/codegen/InsnGen.java b/jadx-core/src/main/java/jadx/core/codegen/InsnGen.java index a5a9cdc0dccd8073eb183ef807c8086142711e5c..62bb5529a0f342eaebd0f5c4fb13b37f7334fd44 100644 --- a/jadx-core/src/main/java/jadx/core/codegen/InsnGen.java +++ b/jadx-core/src/main/java/jadx/core/codegen/InsnGen.java @@ -172,7 +172,7 @@ public class InsnGen { private void instanceField(ICodeWriter code, FieldInfo field, InsnArg arg) throws CodegenException { ClassNode pCls = mth.getParentClass(); - FieldNode fieldNode = pCls.root().deepResolveField(field); + FieldNode fieldNode = pCls.root().resolveField(field); if (fieldNode != null) { FieldReplaceAttr replace = fieldNode.get(AType.FIELD_REPLACE); if (replace != null) { @@ -210,7 +210,7 @@ public class InsnGen { } code.add('.'); } - FieldNode fieldNode = clsGen.getClassNode().root().deepResolveField(field); + FieldNode fieldNode = clsGen.getClassNode().root().resolveField(field); if (fieldNode != null) { code.attachAnnotation(fieldNode); } @@ -764,7 +764,7 @@ public class InsnGen { return; } MethodInfo callMth = insn.getCallMth(); - MethodNode callMthNode = mth.root().deepResolveMethod(callMth); + MethodNode callMthNode = mth.root().resolveMethod(callMth); int k = 0; switch (type) { 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 6b700f6d74abbef1e2f37f3180c39838d6de9ca7..bb1f3453ff5916ff4706ff67d78a467bc0177993 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 @@ -378,15 +378,6 @@ public class RootNode { @Nullable public MethodNode resolveMethod(@NotNull MethodInfo mth) { - ClassNode cls = resolveClass(mth.getDeclClass()); - if (cls != null) { - return cls.searchMethod(mth); - } - return null; - } - - @Nullable - public MethodNode deepResolveMethod(@NotNull MethodInfo mth) { ClassNode cls = resolveClass(mth.getDeclClass()); if (cls == null) { return null; @@ -430,19 +421,14 @@ public class RootNode { @Nullable public FieldNode resolveField(FieldInfo field) { - ClassNode cls = resolveClass(field.getDeclClass()); - if (cls != null) { - return cls.searchField(field); - } - return null; - } - - @Nullable - public FieldNode deepResolveField(@NotNull FieldInfo field) { ClassNode cls = resolveClass(field.getDeclClass()); if (cls == null) { return null; } + FieldNode fieldNode = cls.searchField(field); + if (fieldNode != null) { + return fieldNode; + } return deepResolveField(cls, field); } 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 e18f97ed2bd9737c4df65233b26f18fa44dc73bf..d1aab59fb46f79fd337917c4aebbca34ea7fdbf0 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 @@ -38,7 +38,7 @@ public class MethodUtils { @Nullable public IMethodDetails getMethodDetails(MethodInfo callMth) { - MethodNode mthNode = root.deepResolveMethod(callMth); + MethodNode mthNode = root.resolveMethod(callMth); if (mthNode != null) { return mthNode; } diff --git a/jadx-core/src/main/java/jadx/core/dex/visitors/ClassModifier.java b/jadx-core/src/main/java/jadx/core/dex/visitors/ClassModifier.java index c2d153f8ecd47a670519c3fcd41cb92747adfa33..09e213b312ef06645d3c0b980fa3161811444c0f 100644 --- a/jadx-core/src/main/java/jadx/core/dex/visitors/ClassModifier.java +++ b/jadx-core/src/main/java/jadx/core/dex/visitors/ClassModifier.java @@ -244,7 +244,7 @@ public class ClassModifier extends AbstractVisitor { return false; } MethodInfo callMth = invokeInsn.getCallMth(); - MethodNode wrappedMth = mth.root().deepResolveMethod(callMth); + MethodNode wrappedMth = mth.root().resolveMethod(callMth); if (wrappedMth == null) { return false; } diff --git a/jadx-core/src/main/java/jadx/core/dex/visitors/MarkMethodsForInline.java b/jadx-core/src/main/java/jadx/core/dex/visitors/MarkMethodsForInline.java index 4878fc6b025eff514bc51591c320ddbec0aa52aa..46a012e6c4afdfce381be1e3f797a5ccb4bc31a4 100644 --- a/jadx-core/src/main/java/jadx/core/dex/visitors/MarkMethodsForInline.java +++ b/jadx-core/src/main/java/jadx/core/dex/visitors/MarkMethodsForInline.java @@ -106,7 +106,7 @@ public class MarkMethodsForInline extends AbstractVisitor { InsnType insnType = insn.getType(); if (insnType == InsnType.INVOKE) { InvokeNode invoke = (InvokeNode) insn; - MethodNode callMthNode = mth.root().deepResolveMethod(invoke.getCallMth()); + MethodNode callMthNode = mth.root().resolveMethod(invoke.getCallMth()); if (callMthNode != null) { FixAccessModifiers.changeVisibility(callMthNode, newVisFlag); } diff --git a/jadx-core/src/main/java/jadx/core/utils/InsnUtils.java b/jadx-core/src/main/java/jadx/core/utils/InsnUtils.java index f428d75af577ba9b9c52bc0aae2b8d1b63c9380e..3399210f605981e204dc729c6558a670833151e0 100644 --- a/jadx-core/src/main/java/jadx/core/utils/InsnUtils.java +++ b/jadx-core/src/main/java/jadx/core/utils/InsnUtils.java @@ -96,7 +96,7 @@ public class InsnUtils { return ((ConstClassNode) insn).getClsType(); case SGET: FieldInfo f = (FieldInfo) ((IndexInsnNode) insn).getIndex(); - FieldNode fieldNode = root.deepResolveField(f); + FieldNode fieldNode = root.resolveField(f); if (fieldNode == null) { LOG.warn("Field {} not found", f); return null;