Title: experimental javac compiler: tree.kind is null · Issue #4295 · redhat-developer/vscode-java · GitHub
Open Graph Title: experimental javac compiler: tree.kind is null · Issue #4295 · redhat-developer/vscode-java
X Title: experimental javac compiler: tree.kind is null · Issue #4295 · redhat-developer/vscode-java
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.NullPointerExce...
Open Graph 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.IllegalS...
X 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.Ille...
Opengraph URL: https://github.com/redhat-developer/vscode-java/issues/4295
X: @github
Domain: patch-diff.githubusercontent.com
{"@context":"https://schema.org","@type":"DiscussionForumPosting","headline":"experimental javac compiler: tree.kind is null","articleBody":"Hello,\n\nI'm trying the experimental javac compiler and getting the following error:\n\n```\n!ENTRY org.eclipse.jdt.core 4 0 2025-12-29 17:07:42.568\n!MESSAGE Error while analyzing\n!STACK 0\njava.lang.IllegalStateException: java.lang.NullPointerException: Cannot invoke \"com.sun.tools.javac.tree.JCTree$JCMemberReference$ReferenceKind.ordinal()\" because \"tree.kind\" is null\n\tat jdk.compiler/com.sun.tools.javac.api.JavacTaskImpl.analyze(JavacTaskImpl.java:383)\n\tat org.eclipse.jdt.core.dom.JavacCompilationUnitResolver.parse(JavacCompilationUnitResolver.java:1025)\n\tat org.eclipse.jdt.core.dom.JavacCompilationUnitResolver.toCompilationUnit(JavacCompilationUnitResolver.java:602)\n\tat org.eclipse.jdt.core.dom.ASTParser.internalCreateASTCached(ASTParser.java:1410)\n\tat org.eclipse.jdt.core.dom.ASTParser.lambda$1(ASTParser.java:1289)\n\tat org.eclipse.jdt.internal.core.JavaModelManager.cacheZipFiles(JavaModelManager.java:5709)\n\tat org.eclipse.jdt.core.dom.ASTParser.internalCreateAST(ASTParser.java:1289)\n\tat org.eclipse.jdt.core.dom.ASTParser.createAST(ASTParser.java:933)\n\tat org.eclipse.jdt.internal.core.CompilationUnit.buildStructure(CompilationUnit.java:175)\n\tat org.eclipse.jdt.internal.core.Openable.generateInfos(Openable.java:250)\n\tat org.eclipse.jdt.internal.core.JavaElement.openWhenClosed(JavaElement.java:571)\n\tat org.eclipse.jdt.internal.core.JavaElement.getElementInfo(JavaElement.java:294)\n\tat org.eclipse.jdt.internal.core.JavaElement.getElementInfo(JavaElement.java:280)\n\tat org.eclipse.jdt.internal.core.CompilationUnit.getCompilationUnitElementInfo(CompilationUnit.java:1605)\n\tat org.eclipse.jdt.internal.core.CompilationUnit.getCustomOptions(CompilationUnit.java:1583)\n\tat org.eclipse.jdt.core.ICompilationUnit.getOptions(ICompilationUnit.java:607)\n\tat org.eclipse.jdt.core.dom.ASTParser.setSource(ASTParser.java:677)\n\tat org.eclipse.jdt.internal.core.search.indexing.SourceIndexer.indexDocumentFromDOM(SourceIndexer.java:415)\n\tat org.eclipse.jdt.internal.core.search.indexing.SourceIndexer.indexDocument(SourceIndexer.java:104)\n\tat org.eclipse.jdt.internal.core.search.JavaSearchParticipant.indexDocument(JavaSearchParticipant.java:91)\n\tat org.eclipse.jdt.internal.core.search.indexing.IndexManager.indexDocument(IndexManager.java:664)\n\tat org.eclipse.jdt.internal.core.search.indexing.IndexManager$2.execute(IndexManager.java:1269)\n\tat org.eclipse.jdt.internal.core.search.processing.JobManager.indexerLoop(JobManager.java:541)\n\tat java.base/java.lang.Thread.run(Thread.java:1474)\nCaused by: java.lang.NullPointerException: Cannot invoke \"com.sun.tools.javac.tree.JCTree$JCMemberReference$ReferenceKind.ordinal()\" because \"tree.kind\" is null\n\tat jdk.compiler/com.sun.tools.javac.comp.ThisEscapeAnalyzer.visitReference(ThisEscapeAnalyzer.java:972)\n\tat jdk.compiler/com.sun.tools.javac.tree.JCTree$JCMemberReference.accept(JCTree.java:2657)\n\tat jdk.compiler/com.sun.tools.javac.tree.TreeScanner.scan(TreeScanner.java:50)\n\tat jdk.compiler/com.sun.tools.javac.comp.ThisEscapeAnalyzer.scan(ThisEscapeAnalyzer.java:460)\n\tat jdk.compiler/com.sun.tools.javac.comp.ThisEscapeAnalyzer.invokeUnknown(ThisEscapeAnalyzer.java:685)\n\tat jdk.compiler/com.sun.tools.javac.comp.ThisEscapeAnalyzer.invoke(ThisEscapeAnalyzer.java:594)\n\tat jdk.compiler/com.sun.tools.javac.comp.ThisEscapeAnalyzer.visitApply(ThisEscapeAnalyzer.java:535)\n\tat jdk.compiler/com.sun.tools.javac.tree.JCTree$JCMethodInvocation.accept(JCTree.java:1860)\n\tat jdk.compiler/com.sun.tools.javac.tree.TreeScanner.scan(TreeScanner.java:50)\n\tat jdk.compiler/com.sun.tools.javac.comp.ThisEscapeAnalyzer.scan(ThisEscapeAnalyzer.java:460)\n\tat jdk.compiler/com.sun.tools.javac.comp.ThisEscapeAnalyzer.visitSelect(ThisEscapeAnalyzer.java:934)\n\tat jdk.compiler/com.sun.tools.javac.tree.JCTree$JCFieldAccess.accept(JCTree.java:2576)\n\tat jdk.compiler/com.sun.tools.javac.tree.TreeScanner.scan(TreeScanner.java:50)\n\tat jdk.compiler/com.sun.tools.javac.comp.ThisEscapeAnalyzer.scan(ThisEscapeAnalyzer.java:460)\n\tat jdk.compiler/com.sun.tools.javac.comp.ThisEscapeAnalyzer.visitApply(ThisEscapeAnalyzer.java:510)\n\tat jdk.compiler/com.sun.tools.javac.tree.JCTree$JCMethodInvocation.accept(JCTree.java:1860)\n\tat jdk.compiler/com.sun.tools.javac.tree.TreeScanner.scan(TreeScanner.java:50)\n\tat jdk.compiler/com.sun.tools.javac.comp.ThisEscapeAnalyzer.scan(ThisEscapeAnalyzer.java:460)\n\tat jdk.compiler/com.sun.tools.javac.comp.ThisEscapeAnalyzer.visitAssign(ThisEscapeAnalyzer.java:912)\n\tat jdk.compiler/com.sun.tools.javac.tree.JCTree$JCAssign.accept(JCTree.java:2105)\n\tat jdk.compiler/com.sun.tools.javac.tree.TreeScanner.scan(TreeScanner.java:50)\n\tat jdk.compiler/com.sun.tools.javac.comp.ThisEscapeAnalyzer.scan(ThisEscapeAnalyzer.java:460)\n\tat jdk.compiler/com.sun.tools.javac.comp.ThisEscapeAnalyzer.visitExec(ThisEscapeAnalyzer.java:1080)\n\tat jdk.compiler/com.sun.tools.javac.tree.JCTree$JCExpressionStatement.accept(JCTree.java:1647)\n\tat jdk.compiler/com.sun.tools.javac.tree.TreeScanner.scan(TreeScanner.java:50)\n\tat jdk.compiler/com.sun.tools.javac.comp.ThisEscapeAnalyzer.scan(ThisEscapeAnalyzer.java:460)\n\tat jdk.compiler/com.sun.tools.javac.tree.TreeScanner.scan(TreeScanner.java:58)\n\tat jdk.compiler/com.sun.tools.javac.tree.TreeScanner.visitBlock(TreeScanner.java:150)\n\tat jdk.compiler/com.sun.tools.javac.comp.ThisEscapeAnalyzer.lambda$visitBlock$0(ThisEscapeAnalyzer.java:762)\n\tat jdk.compiler/com.sun.tools.javac.comp.ThisEscapeAnalyzer.visitScoped(ThisEscapeAnalyzer.java:1274)\n\tat jdk.compiler/com.sun.tools.javac.comp.ThisEscapeAnalyzer.visitBlock(ThisEscapeAnalyzer.java:762)\n\tat jdk.compiler/com.sun.tools.javac.tree.JCTree$JCBlock.accept(JCTree.java:1136)\n\tat jdk.compiler/com.sun.tools.javac.tree.TreeScanner.scan(TreeScanner.java:50)\n\tat jdk.compiler/com.sun.tools.javac.comp.ThisEscapeAnalyzer.scan(ThisEscapeAnalyzer.java:460)\n\tat jdk.compiler/com.sun.tools.javac.comp.ThisEscapeAnalyzer.visitIf(ThisEscapeAnalyzer.java:1074)\n\tat jdk.compiler/com.sun.tools.javac.tree.JCTree$JCIf.accept(JCTree.java:1616)\n\tat jdk.compiler/com.sun.tools.javac.tree.TreeScanner.scan(TreeScanner.java:50)\n\tat jdk.compiler/com.sun.tools.javac.comp.ThisEscapeAnalyzer.scan(ThisEscapeAnalyzer.java:460)\n\tat jdk.compiler/com.sun.tools.javac.tree.TreeScanner.scan(TreeScanner.java:58)\n\tat jdk.compiler/com.sun.tools.javac.tree.TreeScanner.visitBlock(TreeScanner.java:150)\n\tat jdk.compiler/com.sun.tools.javac.comp.ThisEscapeAnalyzer.lambda$visitBlock$0(ThisEscapeAnalyzer.java:762)\n\tat jdk.compiler/com.sun.tools.javac.comp.ThisEscapeAnalyzer.visitScoped(ThisEscapeAnalyzer.java:1274)\n\tat jdk.compiler/com.sun.tools.javac.comp.ThisEscapeAnalyzer.visitBlock(ThisEscapeAnalyzer.java:762)\n\tat jdk.compiler/com.sun.tools.javac.tree.JCTree$JCBlock.accept(JCTree.java:1136)\n\tat jdk.compiler/com.sun.tools.javac.tree.TreeScanner.scan(TreeScanner.java:50)\n\tat jdk.compiler/com.sun.tools.javac.comp.ThisEscapeAnalyzer.scan(ThisEscapeAnalyzer.java:460)\n\tat jdk.compiler/com.sun.tools.javac.comp.ThisEscapeAnalyzer.lambda$analyzeConstructor$0(ThisEscapeAnalyzer.java:1221)\n\tat jdk.compiler/com.sun.tools.javac.comp.ThisEscapeAnalyzer.visitScoped(ThisEscapeAnalyzer.java:1274)\n\tat jdk.compiler/com.sun.tools.javac.comp.ThisEscapeAnalyzer.analyzeConstructor(ThisEscapeAnalyzer.java:1221)\n\tat java.base/java.util.stream.ForEachOps$ForEachOp$OfRef.accept(ForEachOps.java:186)\n\tat java.base/java.util.stream.ReferencePipeline$2$1.accept(ReferencePipeline.java:197)\n\tat java.base/java.util.Iterator.forEachRemaining(Iterator.java:133)\n\tat java.base/java.util.Spliterators$IteratorSpliterator.forEachRemaining(Spliterators.java:1939)\n\tat java.base/java.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:570)\n\tat java.base/java.util.stream.AbstractPipeline.wrapAndCopyInto(AbstractPipeline.java:560)\n\tat java.base/java.util.stream.ForEachOps$ForEachOp.evaluateSequential(ForEachOps.java:153)\n\tat java.base/java.util.stream.ForEachOps$ForEachOp$OfRef.evaluateSequential(ForEachOps.java:176)\n\tat java.base/java.util.stream.AbstractPipeline.evaluate(AbstractPipeline.java:265)\n\tat java.base/java.util.stream.ReferencePipeline.forEach(ReferencePipeline.java:632)\n\tat jdk.compiler/com.sun.tools.javac.comp.ThisEscapeAnalyzer.doAnalyzeTree(ThisEscapeAnalyzer.java:376)\n\tat jdk.compiler/com.sun.tools.javac.comp.ThisEscapeAnalyzer.analyzeTree(ThisEscapeAnalyzer.java:244)\n\tat jdk.compiler/com.sun.tools.javac.comp.WarningAnalyzer.analyzeTree(WarningAnalyzer.java:61)\n\tat jdk.compiler/com.sun.tools.javac.main.JavaCompiler.warn(JavaCompiler.java:1469)\n\tat jdk.compiler/com.sun.tools.javac.main.JavaCompiler.warn(JavaCompiler.java:1436)\n\tat jdk.compiler/com.sun.tools.javac.api.JavacTaskImpl.analyze(JavacTaskImpl.java:404)\n\tat jdk.compiler/com.sun.tools.javac.api.JavacTaskImpl.lambda$analyze$0(JavacTaskImpl.java:379)\n\tat jdk.compiler/com.sun.tools.javac.api.JavacTaskImpl.invocationHelper(JavacTaskImpl.java:152)\n\tat jdk.compiler/com.sun.tools.javac.api.JavacTaskImpl.analyze(JavacTaskImpl.java:379)\n\t... 23 more\n```\n\nI'm not sure what I can share to be usefull\n\n```\n \"java.jdt.ls.java.home\": \"~/.asdf/installs/java/openjdk-25/\",\n \"java.jdt.ls.javac.enabled\": \"on\",\n```\n\n\u003cimg width=\"624\" height=\"236\" alt=\"Image\" src=\"https://github.com/user-attachments/assets/c36f78a2-24a1-4501-8468-9699a3bd1906\" /\u003e\n\nThere is no issue compiling with ecj\n\nI can't share the source code of the project but if you tell me where to look with more debugging I can help\n\nRegards\n","author":{"url":"https://github.com/ylecuyer","@type":"Person","name":"ylecuyer"},"datePublished":"2025-12-29T16:15:36.000Z","interactionStatistic":{"@type":"InteractionCounter","interactionType":"https://schema.org/CommentAction","userInteractionCount":2},"url":"https://github.com/4295/vscode-java/issues/4295"}
| route-pattern | /_view_fragments/issues/show/:user_id/:repository/:id/issue_layout(.:format) |
| route-controller | voltron_issues_fragments |
| route-action | issue_layout |
| fetch-nonce | v2:ddd8e490-333b-cb36-1c2e-9ce2d10c54f8 |
| current-catalog-service-hash | 81bb79d38c15960b92d99bca9288a9108c7a47b18f2423d0f6438c5b7bcd2114 |
| request-id | C3C4:235E6A:1BB7B0:23E6A3:6991DC5C |
| html-safe-nonce | 6f8cadfb0c264b9c79fd046b89f7051a1d2e51c46d164fa73032f0a84a05ae5b |
| visitor-payload | eyJyZWZlcnJlciI6IiIsInJlcXVlc3RfaWQiOiJDM0M0OjIzNUU2QToxQkI3QjA6MjNFNkEzOjY5OTFEQzVDIiwidmlzaXRvcl9pZCI6IjQ0OTY0MzY0MDEwODEwMTUzODgiLCJyZWdpb25fZWRnZSI6ImlhZCIsInJlZ2lvbl9yZW5kZXIiOiJpYWQifQ== |
| visitor-hmac | 44f0b01b5dd1b8a686421cfd3fd17d24c8854fe0d781509716fae9587e45d693 |
| hovercard-subject-tag | issue:3767785694 |
| github-keyboard-shortcuts | repository,issues,copilot |
| google-site-verification | Apib7-x98H0j5cPqHWwSMm6dNU4GmODRoqxLiDzdx9I |
| octolytics-url | https://collector.github.com/github/collect |
| analytics-location | / |
| fb:app_id | 1401488693436528 |
| apple-itunes-app | app-id=1477376905, app-argument=https://github.com/_view_fragments/issues/show/redhat-developer/vscode-java/4295/issue_layout |
| twitter:image | https://opengraph.githubassets.com/b3ca43af938cef731bc021b552aea04589ae388365715db939ab0f65270e4a57/redhat-developer/vscode-java/issues/4295 |
| twitter:card | summary_large_image |
| og:image | https://opengraph.githubassets.com/b3ca43af938cef731bc021b552aea04589ae388365715db939ab0f65270e4a57/redhat-developer/vscode-java/issues/4295 |
| og:image:alt | 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.IllegalS... |
| og:image:width | 1200 |
| og:image:height | 600 |
| og:site_name | GitHub |
| og:type | object |
| og:author:username | ylecuyer |
| hostname | github.com |
| expected-hostname | github.com |
| None | 42c603b9d642c4a9065a51770f75e5e27132fef0e858607f5c9cb7e422831a7b |
| turbo-cache-control | no-preview |
| go-import | github.com/redhat-developer/vscode-java git https://github.com/redhat-developer/vscode-java.git |
| octolytics-dimension-user_id | 11033755 |
| octolytics-dimension-user_login | redhat-developer |
| octolytics-dimension-repository_id | 65561709 |
| octolytics-dimension-repository_nwo | redhat-developer/vscode-java |
| octolytics-dimension-repository_public | true |
| octolytics-dimension-repository_is_fork | false |
| octolytics-dimension-repository_network_root_id | 65561709 |
| octolytics-dimension-repository_network_root_nwo | redhat-developer/vscode-java |
| turbo-body-classes | logged-out env-production page-responsive |
| disable-turbo | false |
| browser-stats-url | https://api.github.com/_private/browser/stats |
| browser-errors-url | https://api.github.com/_private/browser/errors |
| release | 848bc6032dcc93a9a7301dcc3f379a72ba13b96e |
| ui-target | full |
| theme-color | #1e2327 |
| color-scheme | light dark |
Links:
Viewport: width=device-width