From d4eebb6401097a5e2d6f3db271915db4c23a9d5f Mon Sep 17 00:00:00 2001 From: peter Date: Mon, 20 Jul 2015 17:52:01 +0200 Subject: [PATCH] tolerate malformed fqns in java completion (EA-63095 - IOE: PsiJavaParserFacadeImpl.createExpressionFromText) --- .../codeInsight/completion/JavaCompletionUtil.java | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 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 f099bf1ccabd..970dc0459783 100644 --- a/java/java-impl/src/com/intellij/codeInsight/completion/JavaCompletionUtil.java +++ b/java/java-impl/src/com/intellij/codeInsight/completion/JavaCompletionUtil.java @@ -665,9 +665,15 @@ public class JavaCompletionUtil { if (psiClass.isValid() && !psiClass.getManager().areElementsEquivalent(psiClass, resolveReference(ref))) { final boolean staticImport = ref instanceof PsiImportStaticReferenceElement; - PsiElement newElement = staticImport - ? ((PsiImportStaticReferenceElement)ref).bindToTargetClass(psiClass) - : ref.bindToElement(psiClass); + PsiElement newElement; + try { + newElement = staticImport + ? ((PsiImportStaticReferenceElement)ref).bindToTargetClass(psiClass) + : ref.bindToElement(psiClass); + } + catch (IncorrectOperationException e) { + return endOffset; // can happen if fqn contains reserved words, for example + } final RangeMarker rangeMarker = document.createRangeMarker(newElement.getTextRange()); documentManager.doPostponedOperationsAndUnblockDocument(document);