mirror of
https://gitflic.ru/project/openide/openide.git
synced 2026-09-27 10:03:11 +07:00
refactoring conflicts: pass file context
to check refactorings inside one top level class (IDEA-155681)
This commit is contained in:
@@ -206,7 +206,7 @@ public class RefactoringConflictsUtil {
|
||||
@Nullable PsiClass accessClass,
|
||||
PsiMember member,
|
||||
MultiMap<PsiElement, String> conflicts) {
|
||||
if (!PsiUtil.isAccessible(refMember, newContext, accessClass)) {
|
||||
if (!JavaPsiFacade.getInstance(newContext.getProject()).getResolveHelper().isAccessible(refMember, refMember.getModifierList(), newContext, accessClass, newContext)) {
|
||||
String message = RefactoringBundle.message("0.is.1.and.will.not.be.accessible.from.2.in.the.target.class",
|
||||
RefactoringUIUtil.getDescription(refMember, true),
|
||||
VisibilityUtil.getVisibilityStringToDisplay(refMember),
|
||||
|
||||
@@ -0,0 +1,15 @@
|
||||
|
||||
class Outer {
|
||||
|
||||
class A {
|
||||
private void foo() {}
|
||||
private int i;
|
||||
|
||||
final void t<caret>est() {
|
||||
foo();
|
||||
System.out.println(i);
|
||||
}
|
||||
}
|
||||
|
||||
class B extends A {}
|
||||
}
|
||||
+16
@@ -0,0 +1,16 @@
|
||||
|
||||
class Outer {
|
||||
|
||||
class A {
|
||||
private void foo() {}
|
||||
private int i;
|
||||
|
||||
}
|
||||
|
||||
class B extends A {
|
||||
final void test() {
|
||||
foo();
|
||||
System.out.println(i);
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -41,6 +41,7 @@ public class PushDownTest extends LightRefactoringTestCase {
|
||||
public void testFieldTypeParameter() { doTest(); }
|
||||
public void testBodyTypeParameter() { doTest(); }
|
||||
public void testDisagreeTypeParameter() { doTest(true); }
|
||||
public void testInaccessibleInTheSameTopLevel() { doTest(true); }
|
||||
public void testStaticMethodNoConflictCallingOnQualifier() { doTest(); }
|
||||
public void testFieldAndReferencedClass() { doTest(); }
|
||||
public void testSecondNormalizedField() { doTest(); }
|
||||
|
||||
Reference in New Issue
Block a user