IDEA-90513 Spring EL: on class rename from the constructor in SPEL expression the class name is changed but the expression is not updated

This commit is contained in:
Dmitry Avdeev
2012-08-29 20:24:10 +04:00
parent 6493c56659
commit 4d76a4ba8d
4 changed files with 21 additions and 27 deletions
@@ -180,12 +180,9 @@ public class JavaClassReference extends GenericReference implements PsiJavaRefer
@Override
public PsiElement handleElementRename(String newElementName) throws IncorrectOperationException {
final ElementManipulator<PsiElement> manipulator = getManipulator(getElement());
if (manipulator != null) {
final PsiElement element = manipulator.handleContentChange(getElement(), getRangeInElement(), newElementName);
myRange = new TextRange(getRangeInElement().getStartOffset(), getRangeInElement().getStartOffset() + newElementName.length());
return element;
}
throw new IncorrectOperationException("Manipulator for this element is not defined: " + getElement());
final PsiElement element = manipulator.handleContentChange(getElement(), getRangeInElement(), newElementName);
myRange = new TextRange(getRangeInElement().getStartOffset(), getRangeInElement().getStartOffset() + newElementName.length());
return element;
}
@Override
@@ -215,12 +212,9 @@ public class JavaClassReference extends GenericReference implements PsiJavaRefer
}
TextRange range = new TextRange(myJavaClassReferenceSet.getReference(0).getRangeInElement().getStartOffset(), end);
final ElementManipulator<PsiElement> manipulator = getManipulator(getElement());
if (manipulator != null) {
final PsiElement finalElement = manipulator.handleContentChange(getElement(), range, newName);
myJavaClassReferenceSet.reparse(finalElement, TextRange.from(range.getStartOffset(), newName.length()));
return finalElement;
}
return element;
final PsiElement finalElement = manipulator.handleContentChange(getElement(), range, newName);
myJavaClassReferenceSet.reparse(finalElement, TextRange.from(range.getStartOffset(), newName.length()));
return finalElement;
}
@Override