mirror of
https://gitflic.ru/project/openide/openide.git
synced 2026-09-27 10:03:11 +07:00
move member: fix modifiers in target (IDEA-250050)
GitOrigin-RevId: edb46ddced7626c58f42b97931e178f8c9acf9c6
This commit is contained in:
committed by
intellij-monorepo-bot
parent
ffd7109727
commit
b95b3e7707
+8
-2
@@ -234,8 +234,14 @@ public class MoveJavaMemberHandler implements MoveMemberHandler {
|
||||
// might need to make modifiers explicit, see IDEADEV-11416
|
||||
final PsiModifierList list = memberCopy.getModifierList();
|
||||
assert list != null;
|
||||
list.setModifierProperty(PsiModifier.STATIC, member.hasModifierProperty(PsiModifier.STATIC));
|
||||
list.setModifierProperty(PsiModifier.FINAL, member.hasModifierProperty(PsiModifier.FINAL));
|
||||
|
||||
if (!(member instanceof PsiClass && (((PsiClass)member).isEnum() || ((PsiClass)member).isInterface()))) {
|
||||
list.setModifierProperty(PsiModifier.STATIC, member.hasModifierProperty(PsiModifier.STATIC));
|
||||
}
|
||||
if (!(member instanceof PsiClass && ((PsiClass)member).isEnum())) {
|
||||
list.setModifierProperty(PsiModifier.FINAL, member.hasModifierProperty(PsiModifier.FINAL));
|
||||
}
|
||||
|
||||
VisibilityUtil.setVisibility(list, VisibilityUtil.getVisibilityModifier(member.getModifierList()));
|
||||
}
|
||||
}
|
||||
|
||||
@@ -0,0 +1,8 @@
|
||||
class A {
|
||||
public enum E {}
|
||||
|
||||
public interface I {}
|
||||
}
|
||||
|
||||
interface B {
|
||||
}
|
||||
@@ -0,0 +1,6 @@
|
||||
class A {}
|
||||
|
||||
interface B {
|
||||
enum E {}
|
||||
interface I {}
|
||||
}
|
||||
@@ -84,6 +84,10 @@ public class MoveMembersTest extends LightMultiFileTestCase {
|
||||
public void testIDEADEV12448() {
|
||||
doTest("B", "A", false, 0);
|
||||
}
|
||||
|
||||
public void testClearFinalStatic() {
|
||||
doTest("B", "A", 0, 1);
|
||||
}
|
||||
|
||||
public void testFieldForwardRef() {
|
||||
doTest("A", "Constants", 0);
|
||||
|
||||
Reference in New Issue
Block a user