From 6ac79cda6b90fa4e107792323576827e0c1a8021 Mon Sep 17 00:00:00 2001 From: anna Date: Fri, 25 Mar 2011 20:45:02 +0100 Subject: [PATCH] inplace introduce variable: remember input type --- .../introduceVariable/VariableInplaceIntroducer.java | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/java/java-impl/src/com/intellij/refactoring/introduceVariable/VariableInplaceIntroducer.java b/java/java-impl/src/com/intellij/refactoring/introduceVariable/VariableInplaceIntroducer.java index 5da76bbd8561..9ae8973f4744 100644 --- a/java/java-impl/src/com/intellij/refactoring/introduceVariable/VariableInplaceIntroducer.java +++ b/java/java-impl/src/com/intellij/refactoring/introduceVariable/VariableInplaceIntroducer.java @@ -75,7 +75,7 @@ public class VariableInplaceIntroducer extends VariableInplaceRenamer { private final SmartPsiElementPointer myPointer; private final RangeMarker myExprMarker; private final List myOccurrenceMarkers; - private final PsiType myDefaultType; + private final SmartTypePointer myDefaultType; protected JCheckBox myCanBeFinal; private Balloon myBalloon; @@ -97,14 +97,15 @@ public class VariableInplaceIntroducer extends VariableInplaceRenamer { myExprMarker = exprMarker; myOccurrenceMarkers = occurrenceMarkers; - myDefaultType = elementToRename.getType(); + final PsiType defaultType = elementToRename.getType(); + myDefaultType = SmartTypePointerManager.getInstance(project).createSmartTypePointer(defaultType); final PsiDeclarationStatement declarationStatement = PsiTreeUtil.getParentOfType(elementToRename, PsiDeclarationStatement.class); myPointer = declarationStatement != null ? SmartPointerManager.getInstance(project).createSmartPsiElementPointer(declarationStatement) : null; editor.putUserData(ReassignVariableUtil.DECLARATION_KEY, myPointer); editor.putUserData(ReassignVariableUtil.OCCURRENCES_KEY, occurrenceMarkers.toArray(new RangeMarker[occurrenceMarkers.size()])); - setAdvertisementText(getAdvertisementText(declarationStatement, myDefaultType, hasTypeSuggestion)); + setAdvertisementText(getAdvertisementText(declarationStatement, defaultType, hasTypeSuggestion)); if (!cantChangeFinalModifier) { myCanBeFinal = new NonFocusableCheckBox("Declare final"); myCanBeFinal.setSelected(createFinals()); @@ -221,7 +222,7 @@ public class VariableInplaceIntroducer extends VariableInplaceRenamer { protected void saveSettings(PsiVariable psiVariable) { JavaRefactoringSettings.getInstance().INTRODUCE_LOCAL_CREATE_FINALS = psiVariable.hasModifierProperty(PsiModifier.FINAL); - TypeSelectorManagerImpl.typeSelected(psiVariable.getType(), myDefaultType); + TypeSelectorManagerImpl.typeSelected(psiVariable.getType(), myDefaultType.getType()); }