nmatt opened a new issue, #9172:
URL: https://github.com/apache/netbeans/issues/9172
### Apache NetBeans version
Apache NetBeans 28
### What happened
The following ClassCastException repeatedly occurred during code completion
in a file with syntax errors, intermittently breaking code completion:
```
java.lang.ClassCastException: class
com.sun.tools.javac.code.Symbol$ClassSymbol cannot be cast to class
javax.lang.model.element.ExecutableElement
(com.sun.tools.javac.code.Symbol$ClassSymbol and
javax.lang.model.element.ExecutableElement are in unnamed module of loader
org.netbeans.StandardModule$OneModuleClassLoader @1426fa1e)
at
org.netbeans.modules.java.completion.JavaCompletionTask.getSmartTypesImpl(JavaCompletionTask.java:5999)
at
org.netbeans.modules.java.completion.JavaCompletionTask.getSmartTypes(JavaCompletionTask.java:5728)
at
org.netbeans.modules.java.completion.JavaCompletionTask.addMembers(JavaCompletionTask.java:4083)
at
org.netbeans.modules.java.completion.JavaCompletionTask.insideMemberSelect(JavaCompletionTask.java:1909)
at
org.netbeans.modules.java.completion.JavaCompletionTask.resolve(JavaCompletionTask.java:380)
at org.netbeans.modules.java.completion.BaseTask.run(BaseTask.java:96)
at
org.netbeans.modules.java.completion.JavaCompletionTask.run(JavaCompletionTask.java:67)
at
org.netbeans.modules.parsing.impl.TaskProcessor.callUserTask(TaskProcessor.java:586)
at
org.netbeans.modules.parsing.api.ParserManager$UserTaskAction.run(ParserManager.java:197)
at
org.netbeans.modules.parsing.api.ParserManager$UserTaskAction.run(ParserManager.java:180)
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:83)
[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:1403)
at
org.netbeans.modules.openide.util.GlobalLookup.execute(GlobalLookup.java:45)
at org.openide.util.lookup.Lookups.executeWith(Lookups.java:287)
at
org.openide.util.RequestProcessor$Processor.run(RequestProcessor.java:2018)
```
### Language / Project Type / NetBeans Component
_No response_
### How to reproduce
I can't provide the code where this happened (large file in a large
proprietary code base), but the situation was that additional parameters were
added to an existing method (temporarily breaking call sites for that method in
the same source file), and the ClassCastException occurred while performing
code completion within the argument list of one of the callers (while trying to
add the new arguments for the new method parameters).
Similar to:
```java
void foo()
{
bar(arg1, arg2, newArg2.<code completion here> );
}
void bar( A arg1, B arg2, C newArg3, D newArg4, E newArg5)
{
... also some syntax errors here ...
}
```
Closing the source file and reopening it, and first filling `null` for the
multiple missing method arguments before re-attempting code completion, made
code completion working again.
### Did this work correctly in an earlier version?
No / Don't know
### Operating System
Windows
### JDK
JDK 21
### Apache NetBeans packaging
Apache NetBeans binary zip
### Anything else
While I can't provide a reproducible example, maybe the mismatched types
causing the ClassCastException and the stacktrace are sufficient to track down
where the bug is.
### Are you willing to submit a pull request?
No
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: [email protected]
For queries about this service, please contact Infrastructure at:
[email protected]
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]
For further information about the NetBeans mailing lists, visit:
https://cwiki.apache.org/confluence/display/NETBEANS/Mailing+lists