This is an automated email from the ASF dual-hosted git repository. lkishalmi pushed a commit to branch delivery in repository https://gitbox.apache.org/repos/asf/netbeans.git
The following commit(s) were added to refs/heads/delivery by this push: new edf441e Prevent NullPointerException from LSP HyperlinkProvider edf441e is described below commit edf441ee6f96be68aa5fd1970672bec10fb909c5 Author: Matthias Bläsing <mblaes...@doppel-helix.eu> AuthorDate: Sun Oct 25 00:17:02 2020 +0200 Prevent NullPointerException from LSP HyperlinkProvider The LSP HyperlinkProvider is registered for every document. It expects, that documents always provide token sequences. This assumption is invalid and the calls need to be guarded agains null token sequences. Observed backtrace: SEVERE [global] java.lang.NullPointerException at org.netbeans.modules.lsp.client.bindings.HyperlinkProviderImpl.getHyperlinkSpan(HyperlinkProviderImpl.java:76) at org.netbeans.modules.lsp.client.bindings.HyperlinkProviderImpl.isHyperlinkPoint(HyperlinkProviderImpl.java:62) at org.netbeans.lib.editor.hyperlink.HyperlinkOperation.findProvider(HyperlinkOperation.java:266) at org.netbeans.lib.editor.hyperlink.HyperlinkOperation.performHyperlinking(HyperlinkOperation.java:224) at org.netbeans.lib.editor.hyperlink.HyperlinkOperation.keyPressed(HyperlinkOperation.java:382) at java.desktop/java.awt.AWTEventMulticaster.keyPressed(AWTEventMulticaster.java:258) at java.desktop/java.awt.AWTEventMulticaster.keyPressed(AWTEventMulticaster.java:257) --- .../modules/lsp/client/bindings/HyperlinkProviderImpl.java | 12 +++++++----- 1 file changed, 7 insertions(+), 5 deletions(-) diff --git a/ide/lsp.client/src/org/netbeans/modules/lsp/client/bindings/HyperlinkProviderImpl.java b/ide/lsp.client/src/org/netbeans/modules/lsp/client/bindings/HyperlinkProviderImpl.java index c087b67..eed30cd 100644 --- a/ide/lsp.client/src/org/netbeans/modules/lsp/client/bindings/HyperlinkProviderImpl.java +++ b/ide/lsp.client/src/org/netbeans/modules/lsp/client/bindings/HyperlinkProviderImpl.java @@ -72,14 +72,16 @@ public class HyperlinkProviderImpl implements HyperlinkProviderExt { try { //XXX: not really using the server, are we? int[] ident = Utilities.getIdentifierBlock((BaseDocument) doc, offset); + if (ident == null) { + return null; + } TokenSequence<?> ts = TokenHierarchy.get(doc).tokenSequence(); + if (ts == null) { + return null; + } ts.move(offset); if (ts.moveNext() && ts.token().id() == TextmateTokenId.TEXTMATE) { - if (ident != null) { - return new int[] {ts.offset(), ts.offset() + ts.token().length()}; - } else { - return null; - } + return new int[]{ts.offset(), ts.offset() + ts.token().length()}; } return ident; } catch (BadLocationException ex) { --------------------------------------------------------------------- To unsubscribe, e-mail: commits-unsubscr...@netbeans.apache.org For additional commands, e-mail: commits-h...@netbeans.apache.org For further information about the NetBeans mailing lists, visit: https://cwiki.apache.org/confluence/display/NETBEANS/Mailing+lists