-
Notifications
You must be signed in to change notification settings - Fork 512
Open
Description
Hello,
I'm trying the experimental javac compiler and getting the following error:
!ENTRY org.eclipse.jdt.core 4 0 2025-12-29 17:07:42.568
!MESSAGE Error while analyzing
!STACK 0
java.lang.IllegalStateException: java.lang.NullPointerException: Cannot invoke "com.sun.tools.javac.tree.JCTree$JCMemberReference$ReferenceKind.ordinal()" because "tree.kind" is null
at jdk.compiler/com.sun.tools.javac.api.JavacTaskImpl.analyze(JavacTaskImpl.java:383)
at org.eclipse.jdt.core.dom.JavacCompilationUnitResolver.parse(JavacCompilationUnitResolver.java:1025)
at org.eclipse.jdt.core.dom.JavacCompilationUnitResolver.toCompilationUnit(JavacCompilationUnitResolver.java:602)
at org.eclipse.jdt.core.dom.ASTParser.internalCreateASTCached(ASTParser.java:1410)
at org.eclipse.jdt.core.dom.ASTParser.lambda$1(ASTParser.java:1289)
at org.eclipse.jdt.internal.core.JavaModelManager.cacheZipFiles(JavaModelManager.java:5709)
at org.eclipse.jdt.core.dom.ASTParser.internalCreateAST(ASTParser.java:1289)
at org.eclipse.jdt.core.dom.ASTParser.createAST(ASTParser.java:933)
at org.eclipse.jdt.internal.core.CompilationUnit.buildStructure(CompilationUnit.java:175)
at org.eclipse.jdt.internal.core.Openable.generateInfos(Openable.java:250)
at org.eclipse.jdt.internal.core.JavaElement.openWhenClosed(JavaElement.java:571)
at org.eclipse.jdt.internal.core.JavaElement.getElementInfo(JavaElement.java:294)
at org.eclipse.jdt.internal.core.JavaElement.getElementInfo(JavaElement.java:280)
at org.eclipse.jdt.internal.core.CompilationUnit.getCompilationUnitElementInfo(CompilationUnit.java:1605)
at org.eclipse.jdt.internal.core.CompilationUnit.getCustomOptions(CompilationUnit.java:1583)
at org.eclipse.jdt.core.ICompilationUnit.getOptions(ICompilationUnit.java:607)
at org.eclipse.jdt.core.dom.ASTParser.setSource(ASTParser.java:677)
at org.eclipse.jdt.internal.core.search.indexing.SourceIndexer.indexDocumentFromDOM(SourceIndexer.java:415)
at org.eclipse.jdt.internal.core.search.indexing.SourceIndexer.indexDocument(SourceIndexer.java:104)
at org.eclipse.jdt.internal.core.search.JavaSearchParticipant.indexDocument(JavaSearchParticipant.java:91)
at org.eclipse.jdt.internal.core.search.indexing.IndexManager.indexDocument(IndexManager.java:664)
at org.eclipse.jdt.internal.core.search.indexing.IndexManager$2.execute(IndexManager.java:1269)
at org.eclipse.jdt.internal.core.search.processing.JobManager.indexerLoop(JobManager.java:541)
at java.base/java.lang.Thread.run(Thread.java:1474)
Caused by: java.lang.NullPointerException: Cannot invoke "com.sun.tools.javac.tree.JCTree$JCMemberReference$ReferenceKind.ordinal()" because "tree.kind" is null
at jdk.compiler/com.sun.tools.javac.comp.ThisEscapeAnalyzer.visitReference(ThisEscapeAnalyzer.java:972)
at jdk.compiler/com.sun.tools.javac.tree.JCTree$JCMemberReference.accept(JCTree.java:2657)
at jdk.compiler/com.sun.tools.javac.tree.TreeScanner.scan(TreeScanner.java:50)
at jdk.compiler/com.sun.tools.javac.comp.ThisEscapeAnalyzer.scan(ThisEscapeAnalyzer.java:460)
at jdk.compiler/com.sun.tools.javac.comp.ThisEscapeAnalyzer.invokeUnknown(ThisEscapeAnalyzer.java:685)
at jdk.compiler/com.sun.tools.javac.comp.ThisEscapeAnalyzer.invoke(ThisEscapeAnalyzer.java:594)
at jdk.compiler/com.sun.tools.javac.comp.ThisEscapeAnalyzer.visitApply(ThisEscapeAnalyzer.java:535)
at jdk.compiler/com.sun.tools.javac.tree.JCTree$JCMethodInvocation.accept(JCTree.java:1860)
at jdk.compiler/com.sun.tools.javac.tree.TreeScanner.scan(TreeScanner.java:50)
at jdk.compiler/com.sun.tools.javac.comp.ThisEscapeAnalyzer.scan(ThisEscapeAnalyzer.java:460)
at jdk.compiler/com.sun.tools.javac.comp.ThisEscapeAnalyzer.visitSelect(ThisEscapeAnalyzer.java:934)
at jdk.compiler/com.sun.tools.javac.tree.JCTree$JCFieldAccess.accept(JCTree.java:2576)
at jdk.compiler/com.sun.tools.javac.tree.TreeScanner.scan(TreeScanner.java:50)
at jdk.compiler/com.sun.tools.javac.comp.ThisEscapeAnalyzer.scan(ThisEscapeAnalyzer.java:460)
at jdk.compiler/com.sun.tools.javac.comp.ThisEscapeAnalyzer.visitApply(ThisEscapeAnalyzer.java:510)
at jdk.compiler/com.sun.tools.javac.tree.JCTree$JCMethodInvocation.accept(JCTree.java:1860)
at jdk.compiler/com.sun.tools.javac.tree.TreeScanner.scan(TreeScanner.java:50)
at jdk.compiler/com.sun.tools.javac.comp.ThisEscapeAnalyzer.scan(ThisEscapeAnalyzer.java:460)
at jdk.compiler/com.sun.tools.javac.comp.ThisEscapeAnalyzer.visitAssign(ThisEscapeAnalyzer.java:912)
at jdk.compiler/com.sun.tools.javac.tree.JCTree$JCAssign.accept(JCTree.java:2105)
at jdk.compiler/com.sun.tools.javac.tree.TreeScanner.scan(TreeScanner.java:50)
at jdk.compiler/com.sun.tools.javac.comp.ThisEscapeAnalyzer.scan(ThisEscapeAnalyzer.java:460)
at jdk.compiler/com.sun.tools.javac.comp.ThisEscapeAnalyzer.visitExec(ThisEscapeAnalyzer.java:1080)
at jdk.compiler/com.sun.tools.javac.tree.JCTree$JCExpressionStatement.accept(JCTree.java:1647)
at jdk.compiler/com.sun.tools.javac.tree.TreeScanner.scan(TreeScanner.java:50)
at jdk.compiler/com.sun.tools.javac.comp.ThisEscapeAnalyzer.scan(ThisEscapeAnalyzer.java:460)
at jdk.compiler/com.sun.tools.javac.tree.TreeScanner.scan(TreeScanner.java:58)
at jdk.compiler/com.sun.tools.javac.tree.TreeScanner.visitBlock(TreeScanner.java:150)
at jdk.compiler/com.sun.tools.javac.comp.ThisEscapeAnalyzer.lambda$visitBlock$0(ThisEscapeAnalyzer.java:762)
at jdk.compiler/com.sun.tools.javac.comp.ThisEscapeAnalyzer.visitScoped(ThisEscapeAnalyzer.java:1274)
at jdk.compiler/com.sun.tools.javac.comp.ThisEscapeAnalyzer.visitBlock(ThisEscapeAnalyzer.java:762)
at jdk.compiler/com.sun.tools.javac.tree.JCTree$JCBlock.accept(JCTree.java:1136)
at jdk.compiler/com.sun.tools.javac.tree.TreeScanner.scan(TreeScanner.java:50)
at jdk.compiler/com.sun.tools.javac.comp.ThisEscapeAnalyzer.scan(ThisEscapeAnalyzer.java:460)
at jdk.compiler/com.sun.tools.javac.comp.ThisEscapeAnalyzer.visitIf(ThisEscapeAnalyzer.java:1074)
at jdk.compiler/com.sun.tools.javac.tree.JCTree$JCIf.accept(JCTree.java:1616)
at jdk.compiler/com.sun.tools.javac.tree.TreeScanner.scan(TreeScanner.java:50)
at jdk.compiler/com.sun.tools.javac.comp.ThisEscapeAnalyzer.scan(ThisEscapeAnalyzer.java:460)
at jdk.compiler/com.sun.tools.javac.tree.TreeScanner.scan(TreeScanner.java:58)
at jdk.compiler/com.sun.tools.javac.tree.TreeScanner.visitBlock(TreeScanner.java:150)
at jdk.compiler/com.sun.tools.javac.comp.ThisEscapeAnalyzer.lambda$visitBlock$0(ThisEscapeAnalyzer.java:762)
at jdk.compiler/com.sun.tools.javac.comp.ThisEscapeAnalyzer.visitScoped(ThisEscapeAnalyzer.java:1274)
at jdk.compiler/com.sun.tools.javac.comp.ThisEscapeAnalyzer.visitBlock(ThisEscapeAnalyzer.java:762)
at jdk.compiler/com.sun.tools.javac.tree.JCTree$JCBlock.accept(JCTree.java:1136)
at jdk.compiler/com.sun.tools.javac.tree.TreeScanner.scan(TreeScanner.java:50)
at jdk.compiler/com.sun.tools.javac.comp.ThisEscapeAnalyzer.scan(ThisEscapeAnalyzer.java:460)
at jdk.compiler/com.sun.tools.javac.comp.ThisEscapeAnalyzer.lambda$analyzeConstructor$0(ThisEscapeAnalyzer.java:1221)
at jdk.compiler/com.sun.tools.javac.comp.ThisEscapeAnalyzer.visitScoped(ThisEscapeAnalyzer.java:1274)
at jdk.compiler/com.sun.tools.javac.comp.ThisEscapeAnalyzer.analyzeConstructor(ThisEscapeAnalyzer.java:1221)
at java.base/java.util.stream.ForEachOps$ForEachOp$OfRef.accept(ForEachOps.java:186)
at java.base/java.util.stream.ReferencePipeline$2$1.accept(ReferencePipeline.java:197)
at java.base/java.util.Iterator.forEachRemaining(Iterator.java:133)
at java.base/java.util.Spliterators$IteratorSpliterator.forEachRemaining(Spliterators.java:1939)
at java.base/java.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:570)
at java.base/java.util.stream.AbstractPipeline.wrapAndCopyInto(AbstractPipeline.java:560)
at java.base/java.util.stream.ForEachOps$ForEachOp.evaluateSequential(ForEachOps.java:153)
at java.base/java.util.stream.ForEachOps$ForEachOp$OfRef.evaluateSequential(ForEachOps.java:176)
at java.base/java.util.stream.AbstractPipeline.evaluate(AbstractPipeline.java:265)
at java.base/java.util.stream.ReferencePipeline.forEach(ReferencePipeline.java:632)
at jdk.compiler/com.sun.tools.javac.comp.ThisEscapeAnalyzer.doAnalyzeTree(ThisEscapeAnalyzer.java:376)
at jdk.compiler/com.sun.tools.javac.comp.ThisEscapeAnalyzer.analyzeTree(ThisEscapeAnalyzer.java:244)
at jdk.compiler/com.sun.tools.javac.comp.WarningAnalyzer.analyzeTree(WarningAnalyzer.java:61)
at jdk.compiler/com.sun.tools.javac.main.JavaCompiler.warn(JavaCompiler.java:1469)
at jdk.compiler/com.sun.tools.javac.main.JavaCompiler.warn(JavaCompiler.java:1436)
at jdk.compiler/com.sun.tools.javac.api.JavacTaskImpl.analyze(JavacTaskImpl.java:404)
at jdk.compiler/com.sun.tools.javac.api.JavacTaskImpl.lambda$analyze$0(JavacTaskImpl.java:379)
at jdk.compiler/com.sun.tools.javac.api.JavacTaskImpl.invocationHelper(JavacTaskImpl.java:152)
at jdk.compiler/com.sun.tools.javac.api.JavacTaskImpl.analyze(JavacTaskImpl.java:379)
... 23 more
I'm not sure what I can share to be usefull
"java.jdt.ls.java.home": "~/.asdf/installs/java/openjdk-25/",
"java.jdt.ls.javac.enabled": "on",
There is no issue compiling with ecj
I can't share the source code of the project but if you tell me where to look with more debugging I can help
Regards
Metadata
Metadata
Assignees
Labels
No labels