diff --git a/platform/lang-api/src/com/intellij/codeInsight/completion/AbstractCompletionContributor.java b/platform/lang-api/src/com/intellij/codeInsight/completion/AbstractCompletionContributor.java index 8eab3559f61f..8628ac28d2a6 100644 --- a/platform/lang-api/src/com/intellij/codeInsight/completion/AbstractCompletionContributor.java +++ b/platform/lang-api/src/com/intellij/codeInsight/completion/AbstractCompletionContributor.java @@ -42,7 +42,8 @@ public abstract class AbstractCompletionContributor() { public Boolean compute() { - return pattern.accepts(parameters.getPosition(), context); + PsiElement position = parameters.getPosition(); + return position.isValid() && pattern.accepts(position, context); } }).booleanValue(); } diff --git a/platform/lang-api/src/com/intellij/codeInsight/completion/CompletionProvider.java b/platform/lang-api/src/com/intellij/codeInsight/completion/CompletionProvider.java index fab4c674a441..ee7937d06903 100644 --- a/platform/lang-api/src/com/intellij/codeInsight/completion/CompletionProvider.java +++ b/platform/lang-api/src/com/intellij/codeInsight/completion/CompletionProvider.java @@ -39,7 +39,9 @@ public abstract class CompletionProvider { if (myStartInReadAction) { ApplicationManager.getApplication().runReadAction(new Runnable() { public void run() { - addCompletions(parameters, context, result); + if (parameters.getPosition().isValid()) { + addCompletions(parameters, context, result); + } } }); } else {