mirror of
https://gitflic.ru/project/openide/openide.git
synced 2026-09-27 10:03:11 +07:00
move instance: do not warn about self references
This commit is contained in:
@@ -337,7 +337,7 @@ public class MoveInnerProcessor extends BaseRefactoringProcessor {
|
||||
super.visitReferenceElement(reference);
|
||||
final PsiElement resolve = reference.resolve();
|
||||
if (resolve instanceof PsiMember) {
|
||||
if (PsiTreeUtil.isAncestor(myOuterClass, resolve, true) && !PsiTreeUtil.isAncestor(myInnerClass, resolve, true)) {
|
||||
if (PsiTreeUtil.isAncestor(myOuterClass, resolve, true) && !PsiTreeUtil.isAncestor(myInnerClass, resolve, false)) {
|
||||
if (becomesInaccessible((PsiMember)resolve)) {
|
||||
registerConflict(reference, resolve, reported, conflicts);
|
||||
}
|
||||
|
||||
@@ -0,0 +1,4 @@
|
||||
package p;
|
||||
|
||||
class A {
|
||||
}
|
||||
@@ -0,0 +1,7 @@
|
||||
package p;
|
||||
|
||||
class B {
|
||||
public static B create() {
|
||||
return new B();
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,9 @@
|
||||
package p;
|
||||
|
||||
class A {
|
||||
private static class B {
|
||||
public static B create() {
|
||||
return new B();
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -56,6 +56,10 @@ public class MoveInnerTest extends MultiFileTestCase {
|
||||
}
|
||||
}
|
||||
|
||||
public void testInnerClassSelfRef() throws Exception {
|
||||
doTest(createAction("p.A.B", "B", false, null, false, false, null));
|
||||
}
|
||||
|
||||
public void testScr30106() throws Exception {
|
||||
doTest(createAction("p.A.B", "B", true, "outer", false, false, null));
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user