remove read action

This commit is contained in:
peter.gromov
2010-11-17 18:55:18 +03:00
parent 393ac429ed
commit 7516a1301d
3 changed files with 3 additions and 18 deletions
@@ -38,7 +38,7 @@ public abstract class ExpressionSmartCompletionContributor extends AbstractCompl
public void fillCompletionVariants(final JavaSmartCompletionParameters parameters, CompletionResultSet result) {
for (final Pair<ElementPattern<? extends PsiElement>, CompletionProvider<JavaSmartCompletionParameters>> pair : myList) {
final ProcessingContext context = new ProcessingContext();
if (isPatternSuitable(pair.first, parameters, context)) {
if (pair.first.accepts(parameters.getPosition(), context)) {
pair.second.addCompletionVariants(parameters, context, result);
}
}
@@ -15,12 +15,6 @@
*/
package com.intellij.codeInsight.completion;
import com.intellij.psi.PsiElement;
import com.intellij.patterns.ElementPattern;
import com.intellij.util.ProcessingContext;
import com.intellij.openapi.application.ApplicationManager;
import com.intellij.openapi.util.Computable;
/**
* @author peter
*/
@@ -37,13 +31,4 @@ public abstract class AbstractCompletionContributor<Params extends CompletionPar
* @see CompletionService#getVariantsFromContributors(com.intellij.openapi.extensions.ExtensionPointName, CompletionParameters, AbstractCompletionContributor , com.intellij.util.Consumer)
*/
public abstract void fillCompletionVariants(Params parameters, CompletionResultSet result);
protected static boolean isPatternSuitable(final ElementPattern<? extends PsiElement> pattern, final CompletionParameters parameters,
final ProcessingContext context) {
return ApplicationManager.getApplication().runReadAction(new Computable<Boolean>() {
public Boolean compute() {
return pattern.accepts(parameters.getPosition(), context);
}
}).booleanValue();
}
}
@@ -152,7 +152,7 @@ public abstract class CompletionContributor extends AbstractCompletionContributo
public void fillCompletionVariants(final CompletionParameters parameters, CompletionResultSet result) {
for (final Pair<ElementPattern<? extends PsiElement>, CompletionProvider<CompletionParameters>> pair : myMap.get(parameters.getCompletionType())) {
final ProcessingContext context = new ProcessingContext();
if (isPatternSuitable(pair.first, parameters, context)) {
if (pair.first.accepts(parameters.getPosition(), context)) {
pair.second.addCompletionVariants(parameters, context, result);
if (result.isStopped()) {
return;
@@ -161,7 +161,7 @@ public abstract class CompletionContributor extends AbstractCompletionContributo
}
for (final Pair<ElementPattern<? extends PsiElement>, CompletionProvider<CompletionParameters>> pair : myMap.get(null)) {
final ProcessingContext context = new ProcessingContext();
if (isPatternSuitable(pair.first, parameters, context)) {
if (pair.first.accepts(parameters.getPosition(), context)) {
pair.second.addCompletionVariants(parameters, context, result);
if (result.isStopped()) {
return;