diff --git a/jadx-core/src/main/java/jadx/core/dex/visitors/OverrideMethodVisitor.java b/jadx-core/src/main/java/jadx/core/dex/visitors/OverrideMethodVisitor.java index 865ca37c4..7bcdba07f 100644 --- a/jadx-core/src/main/java/jadx/core/dex/visitors/OverrideMethodVisitor.java +++ b/jadx-core/src/main/java/jadx/core/dex/visitors/OverrideMethodVisitor.java @@ -53,9 +53,11 @@ public class OverrideMethodVisitor extends AbstractVisitor { ClassNode classNode = root.resolveClass(superType); if (classNode != null) { for (MethodNode mth : classNode.getMethods()) { - String mthShortId = mth.getMethodInfo().getShortId(); - if (mthShortId.startsWith(signature)) { - overrideList.add(mth); + if (!mth.getAccessFlags().isPrivate()) { + String mthShortId = mth.getMethodInfo().getShortId(); + if (mthShortId.startsWith(signature)) { + overrideList.add(mth); + } } } } else { diff --git a/jadx-core/src/test/java/jadx/tests/integration/others/TestOverridePrivateMethod.java b/jadx-core/src/test/java/jadx/tests/integration/others/TestOverridePrivateMethod.java new file mode 100644 index 000000000..59ccd031f --- /dev/null +++ b/jadx-core/src/test/java/jadx/tests/integration/others/TestOverridePrivateMethod.java @@ -0,0 +1,29 @@ +package jadx.tests.integration.others; + +import org.junit.jupiter.api.Test; + +import jadx.tests.api.IntegrationTest; + +import static jadx.tests.api.utils.assertj.JadxAssertions.assertThat; + +public class TestOverridePrivateMethod extends IntegrationTest { + + public static class TestCls { + public static class BaseClass { + private void a() { + } + } + + public static class MyClass extends BaseClass { + public void a() { + } + } + } + + @Test + public void test() { + assertThat(getClassNode(TestCls.class)) + .code() + .doesNotContain("@Override"); + } +}