From 0b8893e5f975b0e07be3ba0f806a62fc70e98b5f Mon Sep 17 00:00:00 2001 From: Sebastian Thomschke Date: Sat, 24 Aug 2024 17:03:53 +0200 Subject: [PATCH] refact: address Sonar findings --- .../ContentTypeToLanguageServerDefinition.java | 2 +- .../src/org/eclipse/lsp4e/LSPEclipseUtils.java | 16 +++++++--------- .../completion/CompletionSnippetParser.java | 3 ++- .../completion/LSContentAssistProcessor.java | 3 +-- .../operations/format/LSPFormatHandler.java | 8 +++----- .../inlayhint/LSPLineContentCodeMining.java | 2 +- .../LSPLinkedEditingReconcilingStrategy.java | 16 ++++++++-------- .../lsp4e/outline/SymbolsLabelProvider.java | 6 +++--- 8 files changed, 26 insertions(+), 30 deletions(-) diff --git a/org.eclipse.lsp4e/src/org/eclipse/lsp4e/ContentTypeToLanguageServerDefinition.java b/org.eclipse.lsp4e/src/org/eclipse/lsp4e/ContentTypeToLanguageServerDefinition.java index d7a253901..bd42c336c 100644 --- a/org.eclipse.lsp4e/src/org/eclipse/lsp4e/ContentTypeToLanguageServerDefinition.java +++ b/org.eclipse.lsp4e/src/org/eclipse/lsp4e/ContentTypeToLanguageServerDefinition.java @@ -47,7 +47,7 @@ public boolean isUserEnabled() { } public boolean isExtensionEnabled(@Nullable URI uri) { - return enablement != null ? enablement.evaluate(uri) : true; + return enablement != null && enablement.evaluate(uri); } public @Nullable EnablementTester getEnablementCondition() { diff --git a/org.eclipse.lsp4e/src/org/eclipse/lsp4e/LSPEclipseUtils.java b/org.eclipse.lsp4e/src/org/eclipse/lsp4e/LSPEclipseUtils.java index 8eefc1bda..40f97a8ca 100644 --- a/org.eclipse.lsp4e/src/org/eclipse/lsp4e/LSPEclipseUtils.java +++ b/org.eclipse.lsp4e/src/org/eclipse/lsp4e/LSPEclipseUtils.java @@ -1055,15 +1055,13 @@ private static boolean applyWorkspaceEditIfSingleOpenFile(WorkspaceEdit wsEdit) .filter(Objects::nonNull) .findFirst(); - doc.ifPresent(document -> { - UI.getDisplay().syncExec(() -> { - try { - LSPEclipseUtils.applyEdits(document, firstDocumentEdits); - } catch (BadLocationException ex) { - LanguageServerPlugin.logError(ex); - } - }); - }); + doc.ifPresent(document -> UI.getDisplay().syncExec(() -> { + try { + LSPEclipseUtils.applyEdits(document, firstDocumentEdits); + } catch (BadLocationException ex) { + LanguageServerPlugin.logError(ex); + } + })); return doc.isPresent(); } diff --git a/org.eclipse.lsp4e/src/org/eclipse/lsp4e/operations/completion/CompletionSnippetParser.java b/org.eclipse.lsp4e/src/org/eclipse/lsp4e/operations/completion/CompletionSnippetParser.java index 45037ae8d..0311fcf9e 100644 --- a/org.eclipse.lsp4e/src/org/eclipse/lsp4e/operations/completion/CompletionSnippetParser.java +++ b/org.eclipse.lsp4e/src/org/eclipse/lsp4e/operations/completion/CompletionSnippetParser.java @@ -17,6 +17,7 @@ import java.util.List; import java.util.Map; import java.util.function.Function; +import java.util.function.UnaryOperator; import org.eclipse.jface.text.IDocument; import org.eclipse.jface.text.contentassist.CompletionProposal; @@ -46,7 +47,7 @@ class CompletionSnippetParser { * @param insertionOffset the document offset this completion will be applied to * @param getVariableValue a function that resolves variable values */ - public CompletionSnippetParser(IDocument document, String snippetText, int insertionOffset, Function getVariableValue) { + public CompletionSnippetParser(IDocument document, String snippetText, int insertionOffset, UnaryOperator getVariableValue) { this.document = document; this.snippetText = snippetText; this.insertionOffset = insertionOffset; diff --git a/org.eclipse.lsp4e/src/org/eclipse/lsp4e/operations/completion/LSContentAssistProcessor.java b/org.eclipse.lsp4e/src/org/eclipse/lsp4e/operations/completion/LSContentAssistProcessor.java index 201ceaf52..177bbafda 100644 --- a/org.eclipse.lsp4e/src/org/eclipse/lsp4e/operations/completion/LSContentAssistProcessor.java +++ b/org.eclipse.lsp4e/src/org/eclipse/lsp4e/operations/completion/LSContentAssistProcessor.java @@ -145,8 +145,7 @@ public LSContentAssistProcessor(boolean errorAsCompletionItem, boolean incomplet .collectAll((w, ls) -> cancellationSupport.execute(ls.getTextDocumentService().completion(param)) // .thenAccept(completion -> { boolean isIncomplete = completion != null && completion.isRight() - ? completion.getRight().isIncomplete() - : false; + && completion.getRight().isIncomplete(); proposals.addAll(toProposals(document, offset, completion, w, cancellationSupport, isIncomplete)); if (isIncomplete) { diff --git a/org.eclipse.lsp4e/src/org/eclipse/lsp4e/operations/format/LSPFormatHandler.java b/org.eclipse.lsp4e/src/org/eclipse/lsp4e/operations/format/LSPFormatHandler.java index 6833d6dd0..7c1560e92 100644 --- a/org.eclipse.lsp4e/src/org/eclipse/lsp4e/operations/format/LSPFormatHandler.java +++ b/org.eclipse.lsp4e/src/org/eclipse/lsp4e/operations/format/LSPFormatHandler.java @@ -46,9 +46,8 @@ protected void execute(ExecutionEvent event, ITextEditor textEditor) { return; try { - formatter.requestFormatting(doc, textSelection) - .thenAcceptAsync(result -> { - result.ifPresent(edits -> { + formatter.requestFormatting(doc, textSelection) // + .thenAcceptAsync(result -> result.ifPresent(edits -> { try { edits.apply(); } catch (final ConcurrentModificationException ex) { @@ -58,8 +57,7 @@ protected void execute(ExecutionEvent event, ITextEditor textEditor) { } catch (BadLocationException e) { LanguageServerPlugin.logError(e); } - }); - }, UI.getDisplay()); + }), UI.getDisplay()); } catch (BadLocationException e) { LanguageServerPlugin.logError(e); } diff --git a/org.eclipse.lsp4e/src/org/eclipse/lsp4e/operations/inlayhint/LSPLineContentCodeMining.java b/org.eclipse.lsp4e/src/org/eclipse/lsp4e/operations/inlayhint/LSPLineContentCodeMining.java index a5f4490e0..67df6be73 100644 --- a/org.eclipse.lsp4e/src/org/eclipse/lsp4e/operations/inlayhint/LSPLineContentCodeMining.java +++ b/org.eclipse.lsp4e/src/org/eclipse/lsp4e/operations/inlayhint/LSPLineContentCodeMining.java @@ -73,7 +73,7 @@ public void setLabel(final @Nullable String label) { protected static @Nullable String getInlayHintString(InlayHint inlayHint) { Either> label = inlayHint.getLabel(); - return label.map(Function.identity(), (parts) -> { + return label.map(Function.identity(), parts -> { if (parts == null) { return null; } diff --git a/org.eclipse.lsp4e/src/org/eclipse/lsp4e/operations/linkedediting/LSPLinkedEditingReconcilingStrategy.java b/org.eclipse.lsp4e/src/org/eclipse/lsp4e/operations/linkedediting/LSPLinkedEditingReconcilingStrategy.java index 62b14e9fc..c3ca1ee7d 100644 --- a/org.eclipse.lsp4e/src/org/eclipse/lsp4e/operations/linkedediting/LSPLinkedEditingReconcilingStrategy.java +++ b/org.eclipse.lsp4e/src/org/eclipse/lsp4e/operations/linkedediting/LSPLinkedEditingReconcilingStrategy.java @@ -166,14 +166,14 @@ private void updateLinkedEditing(int offset) { linkedModel.exit(ILinkedModeListener.EXIT_ALL); this.linkedModel = null; } - collectLinkedEditingRanges(document, offset).thenAcceptAsync(optional -> { - optional.ifPresent(this::applyLinkedEdit); - }).exceptionally(e -> { - if (!CancellationUtil.isRequestCancelledException(e)) { // do not report error if the server has cancelled the request - LanguageServerPlugin.logError(e); - } - return null; - }); + collectLinkedEditingRanges(document, offset) + .thenAcceptAsync(optional -> optional.ifPresent(this::applyLinkedEdit)) // + .exceptionally(e -> { + if (!CancellationUtil.isRequestCancelledException(e)) { // do not report error if the server has cancelled the request + LanguageServerPlugin.logError(e); + } + return null; + }); } } diff --git a/org.eclipse.lsp4e/src/org/eclipse/lsp4e/outline/SymbolsLabelProvider.java b/org.eclipse.lsp4e/src/org/eclipse/lsp4e/outline/SymbolsLabelProvider.java index 6025d5136..9f4e63b0d 100644 --- a/org.eclipse.lsp4e/src/org/eclipse/lsp4e/outline/SymbolsLabelProvider.java +++ b/org.eclipse.lsp4e/src/org/eclipse/lsp4e/outline/SymbolsLabelProvider.java @@ -279,7 +279,7 @@ public StyledString getStyledText(@Nullable Object element) { if (element instanceof SymbolInformation symbolInformation) { name = symbolInformation.getName(); kind = symbolInformation.getKind(); - deprecated = isDeprecated(symbolInformation.getTags()) || symbolInformation.getDeprecated() == null ? false: symbolInformation.getDeprecated(); + deprecated = isDeprecated(symbolInformation.getTags()) || Boolean.TRUE.equals(symbolInformation.getDeprecated()); try { location = URI.create(symbolInformation.getLocation().getUri()); } catch (IllegalArgumentException e) { @@ -299,13 +299,13 @@ public StyledString getStyledText(@Nullable Object element) { name = documentSymbol.getName(); kind = documentSymbol.getKind(); detail = documentSymbol.getDetail(); - deprecated = isDeprecated(documentSymbol.getTags()) || documentSymbol.getDeprecated() == null ? false: documentSymbol.getDeprecated(); + deprecated = isDeprecated(documentSymbol.getTags()) || Boolean.TRUE.equals(documentSymbol.getDeprecated()); } else if (element instanceof DocumentSymbolWithURI symbolWithURI) { name = symbolWithURI.symbol.getName(); kind = symbolWithURI.symbol.getKind(); detail = symbolWithURI.symbol.getDetail(); location = symbolWithURI.uri; - deprecated = isDeprecated(symbolWithURI.symbol.getTags()) || symbolWithURI.symbol.getDeprecated() == null ? false: symbolWithURI.symbol.getDeprecated(); + deprecated = isDeprecated(symbolWithURI.symbol.getTags()) || Boolean.TRUE.equals(symbolWithURI.symbol.getDeprecated()); } if (name != null) { if (deprecated) {