Tests for introduce in objc

This commit is contained in:
Alexander Kirillin
2011-12-20 15:54:57 +03:00
parent 205f4f2cf3
commit 3fb7ff90e6
2 changed files with 15 additions and 6 deletions
@@ -92,13 +92,13 @@ public abstract class AbstractInplaceIntroducer<V extends PsiNameIdentifierOwner
if (localVariable != null) {
final PsiElement nameIdentifier = localVariable.getNameIdentifier();
if (nameIdentifier != null) {
myLocalMarker = editor.getDocument().createRangeMarker(nameIdentifier.getTextRange());
myLocalMarker = createMarker(nameIdentifier);
}
}
else {
myLocalMarker = null;
}
myExprText = expr != null ? expr.getText() : null;
myExprText = getExpressionText(expr);
myLocalName = localVariable != null ? localVariable.getName() : null;
myPreview =
@@ -132,6 +132,11 @@ public abstract class AbstractInplaceIntroducer<V extends PsiNameIdentifierOwner
showDialogAdvertisement(getActionName());
}
@Nullable
protected String getExpressionText(E expr) {
return expr != null ? expr.getText() : null;
}
protected final void setPreviewText(final String text) {
if (myPreview == null) return; //already disposed
ApplicationManager.getApplication().runWriteAction(new Runnable() {
@@ -433,7 +438,7 @@ public abstract class AbstractInplaceIntroducer<V extends PsiNameIdentifierOwner
if (exprMarker != null) {
myExpr = restoreExpression(containingFile, psiField, exprMarker, myExprText);
if (myExpr != null && myExpr.isPhysical()) {
myExprMarker = myEditor.getDocument().createRangeMarker(myExpr.getTextRange());
myExprMarker = createMarker(myExpr);
}
}
if (myLocalMarker != null) {
@@ -449,7 +454,7 @@ public abstract class AbstractInplaceIntroducer<V extends PsiNameIdentifierOwner
if (localVariable != null && localVariable.isPhysical()) {
final PsiElement nameIdentifier = localVariable.getNameIdentifier();
if (nameIdentifier != null) {
myLocalMarker = myEditor.getDocument().createRangeMarker(nameIdentifier.getTextRange());
myLocalMarker = createMarker(nameIdentifier);
}
}
}
@@ -76,7 +76,7 @@ public class InplaceVariableIntroducer<E extends PsiElement> extends VariableInp
myTitle = title;
myOccurrences = occurrences;
myExpr = expr;
myExprMarker = myExpr != null && myExpr.isPhysical() ? myEditor.getDocument().createRangeMarker(myExpr.getTextRange()) : null;
myExprMarker = myExpr != null && myExpr.isPhysical() ? createMarker(myExpr) : null;
initOccurrencesMarkers();
}
@@ -127,10 +127,14 @@ public class InplaceVariableIntroducer<E extends PsiElement> extends VariableInp
if (myOccurrenceMarkers != null) return;
myOccurrenceMarkers = new ArrayList<RangeMarker>();
for (E occurrence : myOccurrences) {
myOccurrenceMarkers.add(myEditor.getDocument().createRangeMarker(occurrence.getTextRange()));
myOccurrenceMarkers.add(createMarker(occurrence));
}
}
protected RangeMarker createMarker(PsiElement element) {
return myEditor.getDocument().createRangeMarker(element.getTextRange());
}
public RangeMarker getExprMarker() {
return myExprMarker;