diff --git a/org.eclipse.lsp4e/src/org/eclipse/lsp4e/operations/symbols/LSPSymbolInWorkspaceDialog.java b/org.eclipse.lsp4e/src/org/eclipse/lsp4e/operations/symbols/LSPSymbolInWorkspaceDialog.java index b164c7db2..9d35f9b43 100644 --- a/org.eclipse.lsp4e/src/org/eclipse/lsp4e/operations/symbols/LSPSymbolInWorkspaceDialog.java +++ b/org.eclipse.lsp4e/src/org/eclipse/lsp4e/operations/symbols/LSPSymbolInWorkspaceDialog.java @@ -12,6 +12,7 @@ package org.eclipse.lsp4e.operations.symbols; import java.util.ArrayList; +import java.util.Collections; import java.util.Comparator; import java.util.List; import java.util.Objects; @@ -230,10 +231,10 @@ private static List toWorkspaceSymbols(@Nullable List eitherToWorkspaceSymbols( + static List<@Nullable ? extends WorkspaceSymbol> eitherToWorkspaceSymbols( final @Nullable Either, List<@Nullable ? extends WorkspaceSymbol>> source) { return source == null // - ? List.of() - : source.map(LSPSymbolInWorkspaceDialog::toWorkspaceSymbols, Function.identity()); + ? Collections.emptyList() + : source.map(LSPSymbolInWorkspaceDialog::toWorkspaceSymbols, Function.identity()); } } diff --git a/org.eclipse.lsp4e/src/org/eclipse/lsp4e/operations/symbols/WorkspaceSymbolsQuickAccessProvider.java b/org.eclipse.lsp4e/src/org/eclipse/lsp4e/operations/symbols/WorkspaceSymbolsQuickAccessProvider.java index cfb6b3274..089834acb 100644 --- a/org.eclipse.lsp4e/src/org/eclipse/lsp4e/operations/symbols/WorkspaceSymbolsQuickAccessProvider.java +++ b/org.eclipse.lsp4e/src/org/eclipse/lsp4e/operations/symbols/WorkspaceSymbolsQuickAccessProvider.java @@ -14,6 +14,7 @@ import java.util.ArrayList; import java.util.Collections; import java.util.List; +import java.util.Objects; import java.util.concurrent.CompletableFuture; import java.util.concurrent.ExecutionException; import java.util.concurrent.TimeUnit; @@ -69,7 +70,7 @@ public QuickAccessElement[] computeElements(String query, IProgressMonitor monit CompletableFuture.allOf(usedLanguageServerWrappers.stream() .map(w -> w.execute(ls -> ls.getWorkspaceService().symbol(params).thenAcceptAsync((@Nullable Either, List<@Nullable ? extends WorkspaceSymbol>> symbols) -> { if (symbols != null) { - res.addAll(LSPSymbolInWorkspaceDialog.eitherToWorkspaceSymbols(symbols).stream().map(WorkspaceSymbolQuickAccessElement::new) + res.addAll(LSPSymbolInWorkspaceDialog.eitherToWorkspaceSymbols(symbols).stream().filter(Objects::nonNull).map(WorkspaceSymbolQuickAccessElement::new) .toList()); } }))).toArray(CompletableFuture[]::new)).get(1, TimeUnit.SECONDS);