From 219bd44127c4f61f372b3c62516faf7621bd86cc Mon Sep 17 00:00:00 2001 From: peter Date: Fri, 29 Oct 2010 23:10:46 +0400 Subject: [PATCH] we don't need a smart pointer in PsiClass reference insertion --- .../completion/JavaCompletionUtil.java | 32 ++++++++----------- 1 file changed, 13 insertions(+), 19 deletions(-) diff --git a/java/java-impl/src/com/intellij/codeInsight/completion/JavaCompletionUtil.java b/java/java-impl/src/com/intellij/codeInsight/completion/JavaCompletionUtil.java index 94390d7655eb..e04f1b1824d7 100644 --- a/java/java-impl/src/com/intellij/codeInsight/completion/JavaCompletionUtil.java +++ b/java/java-impl/src/com/intellij/codeInsight/completion/JavaCompletionUtil.java @@ -1104,8 +1104,6 @@ public class JavaCompletionUtil { final Project project = file.getProject(); PsiDocumentManager.getInstance(project).commitAllDocuments(); - SmartPsiElementPointer pointer = SmartPointerManager.getInstance(project).createSmartPsiElementPointer(psiClass); - final PsiManager manager = file.getManager(); final Document document = FileDocumentManager.getInstance().getDocument(file.getViewProvider().getVirtualFile()); @@ -1135,26 +1133,22 @@ public class JavaCompletionUtil { PsiJavaCodeReferenceElement ref = (PsiJavaCodeReferenceElement)parent; if (!psiClass.getManager().areElementsEquivalent(psiClass, resolveReference(ref))) { - final PsiElement pointerElement = pointer.getElement(); - if (pointerElement instanceof PsiClass) { - final boolean staticImport = ref instanceof PsiImportStaticReferenceElement; - PsiElement newElement = staticImport - ? ((PsiImportStaticReferenceElement)ref).bindToTargetClass((PsiClass)pointerElement) - : ref.bindToElement(pointerElement); + final boolean staticImport = ref instanceof PsiImportStaticReferenceElement; + PsiElement newElement = staticImport + ? ((PsiImportStaticReferenceElement)ref).bindToTargetClass(psiClass) + : ref.bindToElement(psiClass); - RangeMarker marker = document.createRangeMarker(newElement.getTextRange()); - newElement = CodeInsightUtilBase.forcePsiPostprocessAndRestoreElement(newElement); - newStartOffset = marker.getStartOffset(); + RangeMarker marker = document.createRangeMarker(newElement.getTextRange()); + newElement = CodeInsightUtilBase.forcePsiPostprocessAndRestoreElement(newElement); + newStartOffset = marker.getStartOffset(); - if (!staticImport && - newElement instanceof PsiJavaCodeReferenceElement && - !psiClass.getManager().areElementsEquivalent(psiClass, resolveReference((PsiReference)newElement))) { - final String qName = psiClass.getQualifiedName(); - if (qName != null) { - document.replaceString(newStartOffset, newElement.getTextRange().getEndOffset(), qName); - } + if (!staticImport && + newElement instanceof PsiJavaCodeReferenceElement && + !psiClass.getManager().areElementsEquivalent(psiClass, resolveReference((PsiReference)newElement))) { + final String qName = psiClass.getQualifiedName(); + if (qName != null) { + document.replaceString(newStartOffset, newElement.getTextRange().getEndOffset(), qName); } - } } }