summaryrefslogtreecommitdiff
path: root/java/java-impl/src/com/intellij/refactoring/introduceField
diff options
context:
space:
mode:
Diffstat (limited to 'java/java-impl/src/com/intellij/refactoring/introduceField')
-rw-r--r--java/java-impl/src/com/intellij/refactoring/introduceField/BaseExpressionToFieldHandler.java3
-rw-r--r--java/java-impl/src/com/intellij/refactoring/introduceField/InplaceIntroduceConstantPopup.java5
-rw-r--r--java/java-impl/src/com/intellij/refactoring/introduceField/InplaceIntroduceFieldPopup.java9
3 files changed, 15 insertions, 2 deletions
diff --git a/java/java-impl/src/com/intellij/refactoring/introduceField/BaseExpressionToFieldHandler.java b/java/java-impl/src/com/intellij/refactoring/introduceField/BaseExpressionToFieldHandler.java
index 731daff180c9..a751acea42df 100644
--- a/java/java-impl/src/com/intellij/refactoring/introduceField/BaseExpressionToFieldHandler.java
+++ b/java/java-impl/src/com/intellij/refactoring/introduceField/BaseExpressionToFieldHandler.java
@@ -405,7 +405,8 @@ public abstract class BaseExpressionToFieldHandler extends IntroduceHandlerBase
PsiElementFactory factory = JavaPsiFacade.getInstance(psiManager.getProject()).getElementFactory();
try {
PsiField field = factory.createFieldFromText(pattern.toString(), null);
- field.getTypeElement().replace(factory.createTypeElement(type));
+ final PsiTypeElement typeElement = factory.createTypeElement(type);
+ field.getTypeElement().replace(typeElement);
field = (PsiField)CodeStyleManager.getInstance(psiManager.getProject()).reformat(field);
if (includeInitializer) {
field.getInitializer().replace(initializerExpr);
diff --git a/java/java-impl/src/com/intellij/refactoring/introduceField/InplaceIntroduceConstantPopup.java b/java/java-impl/src/com/intellij/refactoring/introduceField/InplaceIntroduceConstantPopup.java
index 4238c2181f0b..ceae8aed2e44 100644
--- a/java/java-impl/src/com/intellij/refactoring/introduceField/InplaceIntroduceConstantPopup.java
+++ b/java/java-impl/src/com/intellij/refactoring/introduceField/InplaceIntroduceConstantPopup.java
@@ -224,6 +224,11 @@ public class InplaceIntroduceConstantPopup extends AbstractInplaceIntroduceField
}
@Override
+ protected String getRefactoringId() {
+ return "refactoring.extractConstant";
+ }
+
+ @Override
protected boolean startsOnTheSameElement(RefactoringActionHandler handler, PsiElement element) {
return super.startsOnTheSameElement(handler, element) && handler instanceof IntroduceConstantHandler;
}
diff --git a/java/java-impl/src/com/intellij/refactoring/introduceField/InplaceIntroduceFieldPopup.java b/java/java-impl/src/com/intellij/refactoring/introduceField/InplaceIntroduceFieldPopup.java
index 4c1de5e39551..3998a93d1b54 100644
--- a/java/java-impl/src/com/intellij/refactoring/introduceField/InplaceIntroduceFieldPopup.java
+++ b/java/java-impl/src/com/intellij/refactoring/introduceField/InplaceIntroduceFieldPopup.java
@@ -148,6 +148,11 @@ public class InplaceIntroduceFieldPopup extends AbstractInplaceIntroduceFieldPop
}
}
+ @Override
+ protected String getRefactoringId() {
+ return "refactoring.extractField";
+ }
+
public void setVisibility(String visibility) {
myIntroduceFieldPanel.setVisibility(visibility);
}
@@ -203,6 +208,8 @@ public class InplaceIntroduceFieldPopup extends AbstractInplaceIntroduceFieldPop
protected void performIntroduce() {
ourLastInitializerPlace = myIntroduceFieldPanel.getInitializerPlace();
+ final PsiType forcedType = getType();
+ LOG.assertTrue(forcedType == null || forcedType.isValid(), forcedType);
final BaseExpressionToFieldHandler.Settings settings =
new BaseExpressionToFieldHandler.Settings(getInputName(),
getExpr(),
@@ -211,7 +218,7 @@ public class InplaceIntroduceFieldPopup extends AbstractInplaceIntroduceFieldPop
myIntroduceFieldPanel.isDeclareFinal(),
myIntroduceFieldPanel.getInitializerPlace(),
myIntroduceFieldPanel.getFieldVisibility(), (PsiLocalVariable)getLocalVariable(),
- getType(),
+ forcedType,
myIntroduceFieldPanel.isDeleteVariable(),
myParentClass, false, false);
new WriteCommandAction(myProject, getCommandName(), getCommandName()){