DumbService dumbService = DumbService.getInstance(getProject());
PsiElementFinder[] finders = finders();
if (dumbService.isDumb()) {
- List<PsiElementFinder> list = dumbService.filterByDumbAwareness(Arrays.asList(finders));
+ List<PsiElementFinder> list = dumbService.filterByDumbAwareness(finders);
finders = list.toArray(new PsiElementFinder[list.size()]);
}
return finders;
import javax.swing.*;
import java.util.ArrayList;
+import java.util.Arrays;
import java.util.Collection;
import java.util.List;
return INSTANCE_KEY.getValue(project);
}
+ /**
+ * @return all the elements of the given array if there's no dumb mode currently, or the dumb-aware ones if {@link #isDumb()} is true.
+ * @see #isDumbAware(Object)
+ */
+ @NotNull
+ public <T> List<T> filterByDumbAwareness(@NotNull T[] array) {
+ return filterByDumbAwareness(Arrays.asList(array));
+ }
+
+ /**
+ * @return all the elements of the given collection if there's no dumb mode currently, or the dumb-aware ones if {@link #isDumb()} is true.
+ * @see #isDumbAware(Object)
+ */
@NotNull
public <T> List<T> filterByDumbAwareness(@NotNull Collection<T> collection) {
if (isDumb()) {
private static FileHighlightingSetting getDefaultHighlightingSetting(@NotNull Project project, final VirtualFile virtualFile) {
if (virtualFile != null) {
DefaultHighlightingSettingProvider[] providers = DefaultHighlightingSettingProvider.EP_NAME.getExtensions();
- List<DefaultHighlightingSettingProvider> filtered =
- DumbService.getInstance(project).filterByDumbAwareness(Arrays.asList(providers));
+ List<DefaultHighlightingSettingProvider> filtered = DumbService.getInstance(project).filterByDumbAwareness(providers);
for (DefaultHighlightingSettingProvider p : filtered) {
FileHighlightingSetting setting = p.getDefaultSetting(project, virtualFile);
if (setting != null) {
import org.jetbrains.annotations.Nullable;
import java.util.ArrayList;
-import java.util.Arrays;
import java.util.Collection;
import java.util.List;
}
private TreeStructureProvider[] getProvidersDumbAware() {
- List<TreeStructureProvider> allProviders = Arrays.asList(Extensions.getExtensions(TreeStructureProvider.EP_NAME, myProject));
+ TreeStructureProvider[] allProviders = Extensions.getExtensions(TreeStructureProvider.EP_NAME, myProject);
List<TreeStructureProvider> dumbAware = DumbService.getInstance(myProject).filterByDumbAwareness(allProviders);
return dumbAware.toArray(new TreeStructureProvider[dumbAware.size()]);
}
import org.jetbrains.annotations.NotNull;
import java.util.ArrayList;
-import java.util.Arrays;
import java.util.Collections;
import java.util.List;
@NotNull
private static List<UsageTargetProvider> getProviders(Project project) {
- return DumbService.getInstance(project).filterByDumbAwareness(Arrays.asList(Extensions.getExtensions(EP_NAME)));
+ return DumbService.getInstance(project).filterByDumbAwareness(Extensions.getExtensions(EP_NAME));
}
}