inline introduce: rebind types (IDEA-67726)

This commit is contained in:
anna
2011-04-08 11:55:33 +02:00
parent d09514da77
commit a8a4d2988f
2 changed files with 15 additions and 12 deletions
@@ -62,7 +62,7 @@ public class InplaceIntroduceConstantPopup {
private PsiExpression myExpr;
private final PsiLocalVariable myLocalVariable;
private final PsiExpression[] myOccurrences;
private final TypeSelectorManagerImpl myTypeSelectorManager;
private TypeSelectorManagerImpl myTypeSelectorManager;
private PsiElement myAnchorElement;
private int myAnchorIdx = -1;
private PsiElement myAnchorElementIfAll;
@@ -370,6 +370,7 @@ public class InplaceIntroduceConstantPopup {
final TemplateState templateState = TemplateManagerImpl.getTemplateState(myEditor);
if (templateState != null) {
templateState.gotoEnd(true);
myTypeSelectorManager = new TypeSelectorManagerImpl(myProject, myFieldTypePointer.getType(), null, myExpr, myOccurrences);
startIntroduceTemplate(isReplaceAllOccurrences());
}
}
@@ -59,7 +59,7 @@ public class InplaceIntroduceFieldPopup {
private final Editor myEditor;
private Project myProject;
private final TypeSelectorManagerImpl myTypeSelectorManager;
private TypeSelectorManagerImpl myTypeSelectorManager;
private final PsiElement myAnchorElement;
private int myAnchorIdx = -1;
private final PsiElement myAnchorElementIfAll;
@@ -136,16 +136,7 @@ public class InplaceIntroduceFieldPopup {
myWholePanel.add(myIntroduceFieldPanel.createCenterPanel(), gc);
myIntroduceFieldPanel.initializeControls(initializerExpression, ourLastInitializerPlace);
myIntroduceFieldPanel.addOccurrenceListener(new ItemListener() {
@Override
public void itemStateChanged(ItemEvent e) {
final TemplateState templateState = TemplateManagerImpl.getTemplateState(myEditor);
if (templateState != null) {
templateState.gotoEnd(true);
startTemplate(myIntroduceFieldPanel.isReplaceAllOccurrences());
}
}
});
}
@@ -298,6 +289,17 @@ public class InplaceIntroduceFieldPopup {
finalListener.perform(myIntroduceFieldPanel.isDeclareFinal());
}
});
myIntroduceFieldPanel.addOccurrenceListener(new ItemListener() {
@Override
public void itemStateChanged(ItemEvent e) {
final TemplateState templateState = TemplateManagerImpl.getTemplateState(myEditor);
if (templateState != null) {
templateState.gotoEnd(true);
myTypeSelectorManager = new TypeSelectorManagerImpl(myProject, myFieldTypePointer.getType(), null, myInitializerExpression, myOccurrences);
startTemplate(myIntroduceFieldPanel.isReplaceAllOccurrences());
}
}
});
}
return myWholePanel;