!STACK 0
java.lang.NullPointerException: Cannot invoke "org.eclipse.jdt.internal.compiler.lookup.TypeBinding.kind()" because "receiverType" is null
at org.eclipse.jdt.internal.compiler.lookup.Scope.getMethod(Scope.java:3135)
at org.eclipse.jdt.internal.compiler.ast.MessageSend.findMethodBinding(MessageSend.java:1174)
at org.eclipse.jdt.internal.compiler.ast.MessageSend.resolveType(MessageSend.java:904)
at org.eclipse.jdt.internal.compiler.ast.Expression.resolve(Expression.java:1126)
at org.eclipse.jdt.internal.compiler.ast.Statement.resolveWithBindings(Statement.java:498)
at org.eclipse.jdt.internal.compiler.ast.IfStatement.resolve(IfStatement.java:311)
at org.eclipse.jdt.internal.compiler.ast.Statement.resolveWithBindings(Statement.java:498)
at org.eclipse.jdt.internal.compiler.ast.ASTNode.resolveStatements(ASTNode.java:725)
at org.eclipse.jdt.internal.compiler.ast.Block.resolve(Block.java:128)
at org.eclipse.jdt.internal.compiler.ast.Statement.resolveWithBindings(Statement.java:498)
at org.eclipse.jdt.internal.compiler.ast.ASTNode.resolveStatements(ASTNode.java:725)
at org.eclipse.jdt.internal.compiler.ast.Block.resolve(Block.java:128)
at org.eclipse.jdt.internal.compiler.ast.Statement.resolveWithBindings(Statement.java:498)
at org.eclipse.jdt.internal.compiler.ast.ASTNode.resolveStatements(ASTNode.java:725)
at org.eclipse.jdt.internal.compiler.ast.Block.resolve(Block.java:128)
at org.eclipse.jdt.internal.compiler.ast.Statement.resolveWithBindings(Statement.java:498)
at org.eclipse.jdt.internal.compiler.ast.ASTNode.resolveStatements(ASTNode.java:725)
at org.eclipse.jdt.internal.compiler.ast.Block.resolve(Block.java:128)
at org.eclipse.jdt.internal.compiler.ast.ForeachStatement.resolve(ForeachStatement.java:683)
at org.eclipse.jdt.internal.compiler.ast.Statement.resolveWithBindings(Statement.java:498)
at org.eclipse.jdt.internal.compiler.ast.ASTNode.resolveStatements(ASTNode.java:725)
at org.eclipse.jdt.internal.compiler.ast.Block.resolve(Block.java:128)
at org.eclipse.jdt.internal.compiler.ast.Statement.resolveWithBindings(Statement.java:498)
at org.eclipse.jdt.internal.compiler.ast.ASTNode.resolveStatements(ASTNode.java:725)
at org.eclipse.jdt.internal.compiler.ast.Block.resolve(Block.java:128)
at org.eclipse.jdt.internal.compiler.ast.Statement.resolveWithBindings(Statement.java:498)
at org.eclipse.jdt.internal.compiler.ast.ASTNode.resolveStatements(ASTNode.java:725)
at org.eclipse.jdt.internal.compiler.ast.Block.resolve(Block.java:128)
at org.eclipse.jdt.internal.compiler.ast.Statement.resolveWithBindings(Statement.java:498)
at org.eclipse.jdt.internal.compiler.ast.ASTNode.resolveStatements(ASTNode.java:725)
at org.eclipse.jdt.internal.compiler.ast.AbstractMethodDeclaration.resolveStatements(AbstractMethodDeclaration.java:713)
at org.eclipse.jdt.internal.compiler.ast.ConstructorDeclaration.resolveStatements(ConstructorDeclaration.java:685)
at org.eclipse.jdt.internal.compiler.ast.AbstractMethodDeclaration.resolve(AbstractMethodDeclaration.java:611)
at org.eclipse.jdt.internal.compiler.ast.TypeDeclaration.resolve(TypeDeclaration.java:1514)
at org.eclipse.jdt.internal.compiler.ast.TypeDeclaration.resolve(TypeDeclaration.java:1643)
at org.eclipse.jdt.internal.compiler.ast.CompilationUnitDeclaration.resolve(CompilationUnitDeclaration.java:666)
at org.eclipse.jdt.internal.codeassist.CompletionEngine.complete(CompletionEngine.java:2335)
at org.eclipse.jdt.internal.core.Openable.codeComplete(Openable.java:135)
at org.eclipse.jdt.internal.core.CompilationUnit.codeComplete(CompilationUnit.java:360)
at org.eclipse.jdt.internal.core.CompilationUnit.codeComplete(CompilationUnit.java:350)
at org.eclipse.jdt.internal.ui.text.java.ChainCompletionProposalComputer.initializeRequiredContext(ChainCompletionProposalComputer.java:94)
at org.eclipse.jdt.internal.ui.text.java.ChainCompletionProposalComputer.computeCompletionProposals(ChainCompletionProposalComputer.java:71)
at org.eclipse.jdt.internal.ui.text.java.CompletionProposalComputerDescriptor.computeCompletionProposals(CompletionProposalComputerDescriptor.java:354)
at org.eclipse.jdt.internal.ui.text.java.CompletionProposalCategory.computeCompletionProposals(CompletionProposalCategory.java:340)
at org.eclipse.jdt.internal.ui.text.java.ContentAssistProcessor.collectProposals(ContentAssistProcessor.java:332)
at org.eclipse.jdt.internal.ui.text.java.ContentAssistProcessor.computeCompletionProposals(ContentAssistProcessor.java:288)
at org.eclipse.jface.text.contentassist.AsyncCompletionProposalPopup.lambda$10(AsyncCompletionProposalPopup.java:378)
at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:47)
at org.eclipse.jface.text.contentassist.AsyncCompletionProposalPopup.lambda$9(AsyncCompletionProposalPopup.java:377)
at java.base/java.util.concurrent.CompletableFuture$AsyncSupply.run(CompletableFuture.java:1768)
at java.base/java.util.concurrent.CompletableFuture$AsyncSupply.exec(CompletableFuture.java:1760)
at java.base/java.util.concurrent.ForkJoinTask.doExec(ForkJoinTask.java:387)
at java.base/java.util.concurrent.ForkJoinPool$WorkQueue.topLevelExec(ForkJoinPool.java:1312)
at java.base/java.util.concurrent.ForkJoinPool.scan(ForkJoinPool.java:1843)
at java.base/java.util.concurrent.ForkJoinPool.runWorker(ForkJoinPool.java:1808)
at java.base/java.util.concurrent.ForkJoinWorkerThread.run(ForkJoinWorkerThread.java:188)
when i am trying to code complete inside a lambda
this is part of my code:
i added 2 comment lines where code completion works and where it fails
if (docFile.exists())
{
try
{
String docContents = FileUtils.readFileToString(docFile, Charset.forName("UTF8"));
CompilerEnvirons env = new CompilerEnvirons();
env.setRecordingComments(true);
env.setRecordingLocalJsDocComments(true);
org.mozilla.javascript.Parser parser = new org.mozilla.javascript.Parser(env);
AstRoot parse = parser.parse(docContents, "", 0);
SortedSet<Comment> comments = parse.getComments();
Comment prevComment = null;
if (comments != null) for (Comment comment : comments)
{
if (comment.getNext() instanceof FunctionNode fn)
{
String name = fn.getFunctionName().toSource();
apiDoc.put(name, processFunctionJSDoc(comment.toSource()));
if (fn.getBody().hasChildren())
{
// here code completion works
fn.getBody().forEach(node -> {
if (node instanceof ExpressionStatement es)
{
// here code completion fails
}
});
}
}
else if (prevComment == null)
{
// it's the top-most comment that gives a short description of the purpose of the whole component/service
apiDoc.put(WEB_OBJECT_OVERVIEW_KEY, processFunctionJSDoc(comment.toSource()));
}
prevComment = comment;
}
}
catch (IOException e)
{
throw new RuntimeException("Cannot parse docfile: " + docFileName, e);
}
}
else
{
System.err.println(" * docfile: " + docFileName + " doesn't exist in the parent structure of the spec file " + specFile + " !");
}
We are a bit resource constrained unfortunately. Defect reports that have readily reproducible cases will likely receiver swifter response relatively speaking.
i am using Build id: I20240903-0240
and i get this exception:
when i am trying to code complete inside a lambda
this is part of my code: i added 2 comment lines where code completion works and where it fails