summaryrefslogtreecommitdiff
path: root/platform/lang-impl/src/com/intellij/refactoring/rename/RenameUtil.java
diff options
context:
space:
mode:
Diffstat (limited to 'platform/lang-impl/src/com/intellij/refactoring/rename/RenameUtil.java')
-rw-r--r--platform/lang-impl/src/com/intellij/refactoring/rename/RenameUtil.java13
1 files changed, 10 insertions, 3 deletions
diff --git a/platform/lang-impl/src/com/intellij/refactoring/rename/RenameUtil.java b/platform/lang-impl/src/com/intellij/refactoring/rename/RenameUtil.java
index 59595bcc81d0..490efeea1734 100644
--- a/platform/lang-impl/src/com/intellij/refactoring/rename/RenameUtil.java
+++ b/platform/lang-impl/src/com/intellij/refactoring/rename/RenameUtil.java
@@ -240,10 +240,17 @@ public class RenameUtil {
for (UsageInfo usage : usages) {
final PsiReference ref = usage.getReference();
if (ref instanceof BindablePsiReference) {
- try {
- ref.bindToElement(namedElement);
+ boolean fallback = true;
+ if (!(ref instanceof FragmentaryPsiReference
+ && ((FragmentaryPsiReference)ref).isFragmentOnlyRename())) {
+ try {
+ ref.bindToElement(namedElement);
+ fallback = false;
+ }
+ catch (IncorrectOperationException ignored) {
+ }
}
- catch (IncorrectOperationException e) {//fall back to old scheme
+ if (fallback) {//fall back to old scheme
ref.handleElementRename(newName);
}
}