From c97568edcd055369d1f2159e8763d21fb7fd9a7c Mon Sep 17 00:00:00 2001 From: anna Date: Fri, 14 Oct 2011 16:12:26 +0200 Subject: [PATCH] skip inaccessible duplicates (IDEA-75520) --- .../util/duplicates/DuplicatesFinder.java | 2 +- .../SkipNotAccessible.java | 18 ++++++++++++++++++ .../FindMethodDuplicatesMiscTest.java | 4 ++++ 3 files changed, 23 insertions(+), 1 deletion(-) create mode 100644 java/java-tests/testData/refactoring/methodDuplicatesMisc/SkipNotAccessible.java diff --git a/java/java-impl/src/com/intellij/refactoring/util/duplicates/DuplicatesFinder.java b/java/java-impl/src/com/intellij/refactoring/util/duplicates/DuplicatesFinder.java index 6417859128ec..cf1ca752b9d9 100644 --- a/java/java-impl/src/com/intellij/refactoring/util/duplicates/DuplicatesFinder.java +++ b/java/java-impl/src/com/intellij/refactoring/util/duplicates/DuplicatesFinder.java @@ -583,7 +583,7 @@ public class DuplicatesFinder { } } - if (class2 != null) { + if (class2 != null && PsiUtil.isAccessible(method1, class2, null)) { final PsiMethod[] methods = class2.getAllMethods(); if (ArrayUtil.find(methods, method1) != -1) return true; } diff --git a/java/java-tests/testData/refactoring/methodDuplicatesMisc/SkipNotAccessible.java b/java/java-tests/testData/refactoring/methodDuplicatesMisc/SkipNotAccessible.java new file mode 100644 index 000000000000..6145799966e2 --- /dev/null +++ b/java/java-tests/testData/refactoring/methodDuplicatesMisc/SkipNotAccessible.java @@ -0,0 +1,18 @@ +class B { + private void g() { + f(); + } + + private void f() { + } +} + + +class C extends B { + private void g() { + f(); + } + + private void f() { + } +} diff --git a/java/java-tests/testSrc/com/intellij/refactoring/FindMethodDuplicatesMiscTest.java b/java/java-tests/testSrc/com/intellij/refactoring/FindMethodDuplicatesMiscTest.java index 434b76b8208a..08cf2792a90b 100644 --- a/java/java-tests/testSrc/com/intellij/refactoring/FindMethodDuplicatesMiscTest.java +++ b/java/java-tests/testSrc/com/intellij/refactoring/FindMethodDuplicatesMiscTest.java @@ -85,4 +85,8 @@ public class FindMethodDuplicatesMiscTest extends FindMethodDuplicatesBaseTest { public void testVarVarargsAccess() throws Exception { doTest(); } + + public void testSkipNotAccessible() throws Exception { + doTest(false); + } } \ No newline at end of file