* <p/>
* Implement {@link HighPriorityAction HighPriorityAction} or
* {@link LowPriorityAction LowPriorityAction} to change ordering.
+ * <p/>
+ * Can be {@link com.intellij.openapi.project.DumbAware}.
*
* @see IntentionManager#registerIntentionAndMetaData(IntentionAction, String...)
*/
import com.intellij.codeInsight.daemon.impl.HighlightInfo;
import com.intellij.codeInsight.intention.IntentionAction;
+import com.intellij.openapi.project.DumbService;
+import com.intellij.openapi.project.PossiblyDumbAware;
import com.intellij.openapi.util.Comparing;
import com.intellij.openapi.diagnostic.Logger;
import org.jetbrains.annotations.NotNull;
/**
* @author cdr
*/
-class IntentionActionWithTextCaching implements Comparable<IntentionActionWithTextCaching> {
+class IntentionActionWithTextCaching implements Comparable<IntentionActionWithTextCaching>, PossiblyDumbAware {
private static final Logger LOG = Logger.getInstance("#com.intellij.codeInsight.intention.impl.IntentionActionWithTextCaching");
private final List<IntentionAction> myOptionIntentions = new ArrayList<IntentionAction>();
private final List<IntentionAction> myOptionErrorFixes = new ArrayList<IntentionAction>();
public Icon getIcon() {
return myIcon;
}
+
+ @Override
+ public boolean isDumbAware() {
+ return DumbService.isDumbAware(myAction);
+ }
}
import com.intellij.openapi.application.ApplicationManager;
import com.intellij.openapi.diagnostic.Logger;
import com.intellij.openapi.editor.Editor;
+import com.intellij.openapi.project.DumbService;
import com.intellij.openapi.project.Project;
import com.intellij.openapi.ui.popup.*;
import com.intellij.openapi.util.Comparing;
result.addAll(myCachedInspectionFixes);
result.addAll(myCachedIntentions);
result.addAll(myCachedGutters);
+ result = DumbService.getInstance(myProject).filterByDumbAwareness(result);
Collections.sort(result, new Comparator<IntentionActionWithTextCaching>() {
@Override
public int compare(final IntentionActionWithTextCaching o1, final IntentionActionWithTextCaching o2) {