mirror of
https://gitflic.ru/project/openide/openide.git
synced 2026-09-18 09:34:34 +07:00
[java] Don't add redundant qualifier in introduce constant refactoring
Add initializer to the physical file instead of the non-physical field to make sure the context of the field is properly taken into account when doing the PSI replacement. #IDEA-385631 Fixed GitOrigin-RevId: 2954ce938f6573b0422edfd5e0b59901f854381d
This commit is contained in:
committed by
intellij-monorepo-bot
parent
985077423b
commit
50c312aa91
+7
-8
@@ -448,9 +448,6 @@ public abstract class BaseExpressionToFieldHandler extends IntroduceHandlerBase
|
||||
final PsiTypeElement typeElement = factory.createTypeElement(type);
|
||||
field.getTypeElement().replace(typeElement);
|
||||
field = (PsiField)CodeStyleManager.getInstance(psiManager.getProject()).reformat(field);
|
||||
if (includeInitializer) {
|
||||
field.getInitializer().replace(initializerExpr);
|
||||
}
|
||||
return field;
|
||||
}
|
||||
catch (IncorrectOperationException e) {
|
||||
@@ -758,11 +755,10 @@ public abstract class BaseExpressionToFieldHandler extends IntroduceHandlerBase
|
||||
if (!CommonRefactoringUtil.checkReadOnlyStatus(myProject, destClass.getContainingFile())) return;
|
||||
|
||||
ChangeContextUtil.encodeContextInfo(destClass, true);
|
||||
|
||||
myField = mySettings.isIntroduceEnumConstant() ? EnumConstantsUtil.createEnumConstant(destClass, myFieldName, initializer) :
|
||||
createField(myFieldName, type.getType(), initializer,
|
||||
initializerPlace == InitializationPlace.IN_FIELD_DECLARATION && initializer != null,
|
||||
myParentClass);
|
||||
boolean includeInitializer = initializerPlace == InitializationPlace.IN_FIELD_DECLARATION && initializer != null;
|
||||
myField = mySettings.isIntroduceEnumConstant()
|
||||
? EnumConstantsUtil.createEnumConstant(destClass, myFieldName, initializer)
|
||||
: createField(myFieldName, type.getType(), initializer, includeInitializer, myParentClass);
|
||||
|
||||
setModifiers(myField, mySettings);
|
||||
PsiElement finalAnchorElement = null;
|
||||
@@ -796,6 +792,9 @@ public abstract class BaseExpressionToFieldHandler extends IntroduceHandlerBase
|
||||
anchorMember = null;
|
||||
}
|
||||
myField = appendField(initializer, initializerPlace, destClass, myParentClass, myField, anchorMember);
|
||||
if (includeInitializer) {
|
||||
myField.getInitializer().replace(initializer);
|
||||
}
|
||||
if (!mySettings.isIntroduceEnumConstant()) {
|
||||
VisibilityUtil.fixVisibility(myOccurrences, myField, mySettings.getFieldVisibility());
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user