mirror of
https://gitflic.ru/project/openide/openide.git
synced 2026-01-06 11:50:54 +07:00
move inner: avoid suspicious warnings (IDEA-234943)
GitOrigin-RevId: 4d1a7e3d829649e5ab4c6225ece1608db0614d03
This commit is contained in:
committed by
intellij-monorepo-bot
parent
3e3f251e55
commit
986ac7d7fc
@@ -411,9 +411,14 @@ public class MoveInnerProcessor extends BaseRefactoringProcessor {
|
||||
final String visibilityModifier = VisibilityUtil.getVisibilityModifier(element.getModifierList());
|
||||
if (PsiModifier.PRIVATE.equals(visibilityModifier)) return true;
|
||||
if (PsiModifier.PUBLIC.equals(visibilityModifier)) return false;
|
||||
if (PsiModifier.PROTECTED.equals(visibilityModifier) &&
|
||||
InheritanceUtil.isInheritorOrSelf(myInnerClass, myOuterClass, true)) {
|
||||
return false;
|
||||
if (PsiModifier.PROTECTED.equals(visibilityModifier)) {
|
||||
if (InheritanceUtil.isInheritorOrSelf(myInnerClass, myOuterClass, true)) {
|
||||
return false;
|
||||
}
|
||||
PsiClass memberClass = element.getContainingClass();
|
||||
if (memberClass != null && InheritanceUtil.hasEnclosingInstanceInScope(memberClass, myInnerClass, true, false)) {
|
||||
return false;
|
||||
}
|
||||
}
|
||||
final JavaPsiFacade psiFacade = JavaPsiFacade.getInstance(myProject);
|
||||
if (myTargetContainer instanceof PsiDirectory) {
|
||||
|
||||
@@ -0,0 +1,12 @@
|
||||
package package1;
|
||||
|
||||
import package2.InnerClass;
|
||||
|
||||
public class AnotherPublic {
|
||||
protected void foo(){}
|
||||
}
|
||||
|
||||
class OuterClass {
|
||||
private InnerClass instance = new InnerClass();
|
||||
|
||||
}
|
||||
@@ -1,8 +0,0 @@
|
||||
package package1;
|
||||
|
||||
import package2.InnerClass;
|
||||
|
||||
public class OuterClass {
|
||||
private InnerClass instance = new InnerClass();
|
||||
|
||||
}
|
||||
@@ -1,3 +1,9 @@
|
||||
package package2;
|
||||
|
||||
public class InnerClass { }
|
||||
import package1.AnotherPublic;
|
||||
|
||||
public class InnerClass extends AnotherPublic {
|
||||
{
|
||||
foo();
|
||||
}
|
||||
}
|
||||
|
||||
@@ -0,0 +1,15 @@
|
||||
package package1;
|
||||
|
||||
public class AnotherPublic {
|
||||
protected void foo(){}
|
||||
}
|
||||
|
||||
class OuterClass {
|
||||
private InnerClass instance = new InnerClass();
|
||||
|
||||
private static class InnerClass extends AnotherPublic {
|
||||
{
|
||||
foo();
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -1,7 +0,0 @@
|
||||
package package1;
|
||||
|
||||
public class OuterClass {
|
||||
private InnerClass instance = new InnerClass();
|
||||
|
||||
private static class InnerClass { }
|
||||
}
|
||||
Reference in New Issue
Block a user