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

Reply via email to