check position validity before every completion provider

This commit is contained in:
peter.gromov
2010-09-28 16:30:21 +04:00
parent 55ad49d5eb
commit 5da5395c9e
2 changed files with 5 additions and 2 deletions
@@ -42,7 +42,8 @@ public abstract class AbstractCompletionContributor<Params extends CompletionPar
final ProcessingContext context) {
return ApplicationManager.getApplication().runReadAction(new Computable<Boolean>() {
public Boolean compute() {
return pattern.accepts(parameters.getPosition(), context);
PsiElement position = parameters.getPosition();
return position.isValid() && pattern.accepts(position, context);
}
}).booleanValue();
}
@@ -39,7 +39,9 @@ public abstract class CompletionProvider<V extends CompletionParameters> {
if (myStartInReadAction) {
ApplicationManager.getApplication().runReadAction(new Runnable() {
public void run() {
addCompletions(parameters, context, result);
if (parameters.getPosition().isValid()) {
addCompletions(parameters, context, result);
}
}
});
} else {