diff options
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.java | 13 |
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); } } |