Skip to content

Commit c323fb9

Browse files
committed
setting javac based compilation unit resolver for early tests
1 parent 617bc6c commit c323fb9

File tree

2 files changed

+15
-1
lines changed

2 files changed

+15
-1
lines changed

headless-services/spring-boot-language-server/src/main/java/org/springframework/ide/vscode/boot/java/utils/ASTParserCleanupEnabled.java

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,7 @@
1010
*******************************************************************************/
1111
package org.springframework.ide.vscode.boot.java.utils;
1212

13+
import java.lang.reflect.Field;
1314
import java.util.Map;
1415

1516
import org.eclipse.core.runtime.IProgressMonitor;
@@ -18,6 +19,8 @@
1819
import org.eclipse.jdt.core.dom.ASTNode;
1920
import org.eclipse.jdt.core.dom.ASTParser;
2021
import org.eclipse.jdt.core.dom.FileASTRequestor;
22+
import org.eclipse.jdt.core.dom.JavacCompilationUnitResolver;
23+
import org.eclipse.jdt.internal.core.dom.ICompilationUnitResolver;
2124
import org.springframework.ide.vscode.boot.java.annotations.AnnotationHierarchies;
2225

2326
/**
@@ -48,6 +51,17 @@ public ASTParserCleanupEnabled(String[] classpathEntries, String[] sourceEntries
4851
parser.setIgnoreMethodBodies(ignoreMethodBodies);
4952

5053
parser.setEnvironment(classpathEntries, sourceEntries, null, false);
54+
55+
try {
56+
Field field = parser.getClass().getDeclaredField("unitResolver");
57+
field.setAccessible(true);
58+
59+
ICompilationUnitResolver resolver = new JavacCompilationUnitResolver();
60+
field.set(parser, resolver);
61+
} catch (Exception e) {
62+
e.printStackTrace();
63+
}
64+
5165

5266
// List<Classpath> classpaths = CUResolver.getClasspath(parser);
5367
// environment = CUResolver.createLookupEnvironment(classpaths.toArray(new Classpath[classpaths.size()]));

headless-services/spring-boot-language-server/src/main/java/org/springframework/ide/vscode/boot/java/utils/SpringIndexerJava.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -587,7 +587,7 @@ public void acceptAST(String sourceFilePath, CompilationUnit cu) {
587587
};
588588

589589
ASTParserCleanupEnabled parser = createParser(project, annotations, ignoreMethodBodies);
590-
parser.createASTs(javaFiles, null, new String[0], requestor, null);
590+
parser.createASTs(javaFiles, new String[javaFiles.length], new String[0], requestor, null);
591591
parser.cleanup();
592592

593593
return (String[]) nextPassFiles.toArray(new String[nextPassFiles.size()]);

0 commit comments

Comments
 (0)