diff --git a/org.eclipse.lsp4e.jdt/src/org/eclipse/lsp4e/jdt/LSJavaCompletionProposalComputer.java b/org.eclipse.lsp4e.jdt/src/org/eclipse/lsp4e/jdt/LSJavaCompletionProposalComputer.java index ae8fb1b97..de079bf91 100644 --- a/org.eclipse.lsp4e.jdt/src/org/eclipse/lsp4e/jdt/LSJavaCompletionProposalComputer.java +++ b/org.eclipse.lsp4e.jdt/src/org/eclipse/lsp4e/jdt/LSJavaCompletionProposalComputer.java @@ -43,17 +43,12 @@ public void sessionStarted() { @Override public List computeCompletionProposals(ContentAssistInvocationContext context, IProgressMonitor monitor) { - CompletableFuture future = CompletableFuture.supplyAsync(() -> { - return lsContentAssistProcessor.computeCompletionProposals(context.getViewer(), context.getInvocationOffset()); - }); + CompletableFuture future = CompletableFuture.supplyAsync(() -> + lsContentAssistProcessor.computeCompletionProposals(context.getViewer(), context.getInvocationOffset())); try { return Arrays.asList(asJavaProposals(future)); - } catch (TimeoutException e) { - LanguageServerPlugin.logError(e); - javaCompletionSpecificErrorMessage = createErrorMessage(e); - return Collections.emptyList(); - } catch (ExecutionException e) { + } catch (ExecutionException | TimeoutException e) { LanguageServerPlugin.logError(e); javaCompletionSpecificErrorMessage = createErrorMessage(e); return Collections.emptyList(); diff --git a/org.eclipse.lsp4e.jdt/src/org/eclipse/lsp4e/jdt/LSJavaHoverProvider.java b/org.eclipse.lsp4e.jdt/src/org/eclipse/lsp4e/jdt/LSJavaHoverProvider.java index cde18327e..a2701a9ba 100644 --- a/org.eclipse.lsp4e.jdt/src/org/eclipse/lsp4e/jdt/LSJavaHoverProvider.java +++ b/org.eclipse.lsp4e.jdt/src/org/eclipse/lsp4e/jdt/LSJavaHoverProvider.java @@ -75,9 +75,13 @@ public Object getHoverInfo2(ITextViewer textViewer, IRegion hoverRegion) { leadingImageWidth = input.getLeadingImageWidth(); jdtHtmlHoverContent = input.getHtml(); } - - } catch (InterruptedException | ExecutionException e) { + } catch (ExecutionException e) { + LanguageServerPlugin.logWarning("Javadoc unavailable. Failed to obtain it.", e); + // Return null to let JDT compute the hover using its own Hover Providers + return null; + } catch (InterruptedException e) { LanguageServerPlugin.logWarning("Javadoc unavailable. Failed to obtain it.", e); + Thread.currentThread().interrupt(); // Return null to let JDT compute the hover using its own Hover Providers return null; } catch (TimeoutException e) {