Eirik Bakke created NETBEANS-4259:
-------------------------------------

             Summary: NPE in code completion when in incorrect cast syntax
                 Key: NETBEANS-4259
                 URL: https://issues.apache.org/jira/browse/NETBEANS-4259
             Project: NetBeans
          Issue Type: Bug
          Components: java - Source
    Affects Versions: 11.3
         Environment: NetBeans 11.3 on Windows (OS shouldn't matter)
            Reporter: Eirik Bakke


In the following class, put the cursor after "dat" and invoke code completion 
(Ctrl+Space). This situation often happens from muscle memory while typing a 
cast. A NPE will result:

{code:java}
public class TestFoo {
  private String someMethod(Object someArg) {
    if (someArg instanceof String)
      return (String dat); // To see parser error, open code completion with 
cursor after "dat
    return null;
  }
}
{code}

The desired behavior is to just ignore the incorrect syntax, and perform no 
completion. Instead, the following exception is shown:

{noformat}
java.lang.NullPointerException
        at 
org.netbeans.modules.java.completion.BaseTask.getEnvImpl(BaseTask.java:389)
        at 
org.netbeans.modules.java.completion.BaseTask.getCompletionEnvironment(BaseTask.java:270)
        at 
org.netbeans.modules.java.completion.JavaCompletionTask.resolve(JavaCompletionTask.java:297)
        at org.netbeans.modules.java.completion.BaseTask.run(BaseTask.java:94)
        at 
org.netbeans.modules.java.completion.JavaCompletionTask.run(JavaCompletionTask.java:60)
        at 
org.netbeans.modules.parsing.impl.TaskProcessor.callUserTask(TaskProcessor.java:586)
        at 
org.netbeans.modules.parsing.api.ParserManager$UserTaskAction.run(ParserManager.java:130)
        at 
org.netbeans.modules.parsing.api.ParserManager$UserTaskAction.run(ParserManager.java:114)
        at 
org.netbeans.modules.parsing.impl.TaskProcessor$2.call(TaskProcessor.java:181)
        at 
org.netbeans.modules.parsing.impl.TaskProcessor$2.call(TaskProcessor.java:178)
        at 
org.netbeans.modules.masterfs.filebasedfs.utils.FileChangedManager.priorityIO(FileChangedManager.java:153)
        at 
org.netbeans.modules.masterfs.providers.ProvidedExtensions.priorityIO(ProvidedExtensions.java:335)
        at 
org.netbeans.modules.parsing.nb.DataObjectEnvFactory.runPriorityIO(DataObjectEnvFactory.java:118)
        at 
org.netbeans.modules.parsing.impl.Utilities.runPriorityIO(Utilities.java:67)
        at 
org.netbeans.modules.parsing.impl.TaskProcessor.runUserTask(TaskProcessor.java:178)
Caused: org.netbeans.modules.parsing.spi.ParseException
        at 
org.netbeans.modules.parsing.impl.TaskProcessor.runUserTask(TaskProcessor.java:186)
        at 
org.netbeans.modules.parsing.api.ParserManager.parse(ParserManager.java:81)
[catch] at 
org.netbeans.modules.editor.java.JavaCompletionProvider$JavaCompletionQuery.query(JavaCompletionProvider.java:193)
        at 
org.netbeans.spi.editor.completion.support.AsyncCompletionTask.run(AsyncCompletionTask.java:198)
        at 
org.openide.util.RequestProcessor$Task.run(RequestProcessor.java:1418)
        at 
org.netbeans.modules.openide.util.GlobalLookup.execute(GlobalLookup.java:45)
        at org.openide.util.lookup.Lookups.executeWith(Lookups.java:278)
        at 
org.openide.util.RequestProcessor$Processor.run(RequestProcessor.java:2033)

{noformat}


Reporting this bug in case a pattern emerges where various kinds of errors like 
this pop up instead of being silently ignored.



--
This message was sent by Atlassian Jira
(v8.3.4#803005)

---------------------------------------------------------------------
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