mirror of
https://gitflic.ru/project/openide/openide.git
synced 2026-02-05 08:06:56 +07:00
Java: stable method ordering for "Convert to instance method" (IDEA-356128)
GitOrigin-RevId: 81b2e38494d7792dfe3ec13703851e4eb1539e71
This commit is contained in:
committed by
intellij-monorepo-bot
parent
004e3fb505
commit
610358505b
@@ -246,12 +246,13 @@ public final class ConvertToInstanceMethodProcessor extends BaseRefactoringProce
|
||||
if (!markAsDefault) {
|
||||
for (final PsiClass psiClass : inheritors) {
|
||||
final PsiMethod newMethod = addMethodToClass(psiClass);
|
||||
PsiUtil.setModifierProperty(newMethod, myNewVisibility != null && !myNewVisibility.equals(VisibilityUtil.ESCALATE_VISIBILITY) ? myNewVisibility
|
||||
: PsiModifier.PUBLIC, true);
|
||||
String modifier = myNewVisibility != null && !myNewVisibility.equals(VisibilityUtil.ESCALATE_VISIBILITY)
|
||||
? myNewVisibility
|
||||
: PsiModifier.PUBLIC;
|
||||
PsiUtil.setModifierProperty(newMethod, modifier, true);
|
||||
}
|
||||
}
|
||||
}
|
||||
myMethod.delete();
|
||||
return result;
|
||||
}
|
||||
|
||||
@@ -326,7 +327,16 @@ public final class ConvertToInstanceMethodProcessor extends BaseRefactoringProce
|
||||
}
|
||||
|
||||
private PsiMethod addMethodToClass(final PsiClass targetClass) {
|
||||
final PsiMethod newMethod = (PsiMethod)targetClass.add(myMethod);
|
||||
final PsiMethod newMethod;
|
||||
if (targetClass == myMethod.getContainingClass()) {
|
||||
newMethod = myMethod;
|
||||
}
|
||||
else {
|
||||
newMethod = (PsiMethod)targetClass.add(myMethod);
|
||||
PsiMethod copy = (PsiMethod)myMethod.copy();
|
||||
myMethod.delete();
|
||||
myMethod = copy;
|
||||
}
|
||||
final PsiModifierList modifierList = newMethod.getModifierList();
|
||||
modifierList.setModifierProperty(PsiModifier.STATIC, false);
|
||||
ChangeContextUtil.decodeContextInfo(newMethod, null, null);
|
||||
|
||||
Reference in New Issue
Block a user