inplace introduce: restore initial local variable name

This commit is contained in:
anna
2011-06-29 18:52:49 +04:00
parent 59ed4dc0c2
commit 2f34ff976e
3 changed files with 19 additions and 2 deletions
@@ -15,6 +15,6 @@
*/
class Test {
void simpleMethod() {
boolean B<caret>B = false;
boolean b<caret>b = false;
}
}
@@ -16,6 +16,6 @@
class Test {
void simpleMethod() {
boolean <caret>BB = false;
boolean <caret>bb = false;
}
}
@@ -333,6 +333,23 @@ public abstract class AbstractInplaceIntroducer<V extends PsiNameIdentifierOwner
myExprMarker = myEditor.getDocument().createRangeMarker(myExpr.getTextRange());
}
}
if (myLocalMarker != null) {
final PsiElement refVariableElement = containingFile.findElementAt(myLocalMarker.getStartOffset());
if (refVariableElement != null) {
final PsiElement parent = refVariableElement.getParent();
if (parent instanceof PsiNamedElement) {
((PsiNamedElement)parent).setName(myLocalName);
}
}
final V localVariable = getLocalVariable();
if (localVariable != null && localVariable.isPhysical()) {
final PsiElement nameIdentifier = localVariable.getNameIdentifier();
if (nameIdentifier != null) {
myLocalMarker = myEditor.getDocument().createRangeMarker(nameIdentifier.getTextRange());
}
}
}
final List<RangeMarker> occurrenceMarkers = getOccurrenceMarkers();
for (int i = 0, occurrenceMarkersSize = occurrenceMarkers.size(); i < occurrenceMarkersSize; i++) {
RangeMarker marker = occurrenceMarkers.get(i);