From ebbc4282ff4a3bdeba62b808da2c42d85c86b2d6 Mon Sep 17 00:00:00 2001 From: David Thompson Date: Mon, 6 Oct 2025 16:34:38 -0400 Subject: [PATCH] Update flags for jdt-javac Update the flags to match https://github.com/eclipse-jdtls/eclipse-jdt-core-incubator/blob/dom-with-javac/org.eclipse.jdt.core.javac/META-INF/p2.inf This opens a bunch of jdk internals that the jdt-javac work uses, and also sets the flags to enable the javac-based search. Signed-off-by: David Thompson --- src/javaServerStarter.ts | 81 ++++++++++++++++++++++------------------ 1 file changed, 44 insertions(+), 37 deletions(-) diff --git a/src/javaServerStarter.ts b/src/javaServerStarter.ts index 78aa340d9..5bfaa24b0 100644 --- a/src/javaServerStarter.ts +++ b/src/javaServerStarter.ts @@ -123,43 +123,50 @@ function prepareParams(requirements: RequirementsData, workspacePath, context: E if (javacEnabled) { // Javac flags params.push( - '--add-opens', - 'jdk.compiler/com.sun.tools.javac.main=ALL-UNNAMED', - '--add-opens', - 'jdk.compiler/com.sun.tools.javac.util=ALL-UNNAMED', - '--add-opens', - 'jdk.compiler/com.sun.tools.javac.tree=ALL-UNNAMED', - '--add-opens', - 'jdk.compiler/com.sun.tools.javac.api=ALL-UNNAMED', - '--add-opens', - 'jdk.compiler/com.sun.tools.javac.file=ALL-UNNAMED', - '--add-opens', - 'jdk.compiler/com.sun.tools.javac.parser=ALL-UNNAMED', - '--add-opens', - 'jdk.compiler/com.sun.tools.javac.comp=ALL-UNNAMED', - '--add-opens', - 'jdk.compiler/com.sun.tools.javac.code=ALL-UNNAMED', - '--add-opens', - 'jdk.javadoc/jdk.javadoc.internal.doclets.formats.html.taglets.snippet=ALL-UNNAMED', - '--add-opens', - 'jdk.javadoc/jdk.javadoc.internal.doclets.formats.html.taglets=ALL-UNNAMED', - '--add-opens', - 'jdk.compiler/com.sun.tools.javac.platform=ALL-UNNAMED', - '--add-opens', - 'jdk.compiler/com.sun.tools.javac.resources=ALL-UNNAMED', - '--add-opens', - 'jdk.compiler/com.sun.tools.javac.jvm=ALL-UNNAMED', - '--add-opens', - 'jdk.zipfs/jdk.nio.zipfs=ALL-UNNAMED', - '--add-opens', - 'java.compiler/javax.tools=ALL-UNNAMED', - '--add-opens', - 'java.base/java.nio.channels=ALL-UNNAMED', - '--add-opens', - 'java.base/sun.nio.ch=ALL-UNNAMED', - '-DICompilationUnitResolver=org.eclipse.jdt.core.dom.JavacCompilationUnitResolver', - '-DCompilationUnit.DOM_BASED_OPERATIONS=true', - '-DAbstractImageBuilder.compilerFactory=org.eclipse.jdt.internal.javac.JavacCompilerFactory' + '--add-opens', + 'jdk.compiler/com.sun.tools.javac.main=ALL-UNNAMED', + '--add-opens', + 'jdk.compiler/com.sun.tools.javac.util=ALL-UNNAMED', + '--add-opens', + 'jdk.compiler/com.sun.tools.javac.tree=ALL-UNNAMED', + '--add-opens', + 'jdk.compiler/com.sun.tools.javac.api=ALL-UNNAMED', + '--add-opens', + 'jdk.compiler/com.sun.tools.javac.file=ALL-UNNAMED', + '--add-opens', + 'jdk.compiler/com.sun.tools.javac.parser=ALL-UNNAMED', + '--add-opens', + 'jdk.compiler/com.sun.tools.javac.comp=ALL-UNNAMED', + '--add-opens', + 'jdk.compiler/com.sun.tools.javac.code=ALL-UNNAMED', + '--add-opens', + 'jdk.javadoc/jdk.javadoc.internal.doclets.formats.html.taglets.snippet=ALL-UNNAMED', + '--add-opens', + 'jdk.javadoc/jdk.javadoc.internal.doclets.formats.html.taglets=ALL-UNNAMED', + '--add-opens', + 'jdk.compiler/com.sun.tools.javac.processing=ALL-UNNAMED', + '--add-opens', + 'jdk.compiler/com.sun.tools.javac.jvm=ALL-UNNAMED', + '--add-opens', + 'jdk.compiler/com.sun.tools.javac.model=ALL-UNNAMED', + '--add-opens', + 'jdk.compiler/com.sun.tools.javac.platform=ALL-UNNAMED', + '--add-opens', + 'jdk.compiler/com.sun.tools.javac.resources=ALL-UNNAMED', + '--add-opens', + 'java.base/sun.nio.ch=ALL-UNNAMED', + '--add-opens', + 'jdk.zipfs/jdk.nio.zipfs=ALL-UNNAMED', + '--add-opens', + 'java.compiler/javax.tools=ALL-UNNAMED', + '--add-opens', + 'java.base/java.nio.channels=ALL-UNNAMED', + '-DICompilationUnitResolver=org.eclipse.jdt.core.dom.JavacCompilationUnitResolver', + '-DAbstractImageBuilder.compilerFactory=org.eclipse.jdt.internal.javac.JavacCompilerFactory', + '-DCompilationUnit.DOM_BASED_OPERATIONS=true', + '-DSourceIndexer.DOM_BASED_INDEXER=true', + '-DMatchLocator.DOM_BASED_MATCH=true', + '-DIJavaSearchDelegate=org.eclipse.jdt.internal.core.search.DOMJavaSearchDelegate', ); if('dom' === getJavaConfiguration().get('completion.engine')){