Skip to content

Commit 3e8af8f

Browse files
authored
Get ASTNode from ASTProvider (#1052)
1 parent 56cba63 commit 3e8af8f

File tree

2 files changed

+12
-7
lines changed
  • java-extension/com.microsoft.java.test.plugin/src/main/java/com/microsoft/java/test/plugin/util
  • test/test-projects/modular-gradle

2 files changed

+12
-7
lines changed

java-extension/com.microsoft.java.test.plugin/src/main/java/com/microsoft/java/test/plugin/util/TestSearchUtils.java

Lines changed: 11 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -41,6 +41,7 @@
4141
import org.eclipse.jdt.core.dom.CompilationUnit;
4242
import org.eclipse.jdt.core.dom.ITypeBinding;
4343
import org.eclipse.jdt.core.dom.TypeDeclaration;
44+
import org.eclipse.jdt.core.manipulation.CoreASTProvider;
4445
import org.eclipse.jdt.core.search.IJavaSearchConstants;
4546
import org.eclipse.jdt.core.search.IJavaSearchScope;
4647
import org.eclipse.jdt.core.search.SearchEngine;
@@ -111,12 +112,16 @@ public static List<TestItem> searchCodeLens(List<Object> arguments, IProgressMon
111112
}
112113

113114
public static ASTNode parseToAst(final ICompilationUnit unit, IProgressMonitor monitor) {
114-
final ASTParser parser = ASTParser.newParser(AST.JLS14);
115-
parser.setSource(unit);
116-
parser.setFocalPosition(0);
117-
parser.setResolveBindings(true);
118-
parser.setIgnoreMethodBodies(true);
119-
return parser.createAST(monitor);
115+
final CompilationUnit astRoot = CoreASTProvider.getInstance().getAST(unit, CoreASTProvider.WAIT_YES, monitor);
116+
if (astRoot == null) {
117+
final ASTParser parser = ASTParser.newParser(AST.JLS14);
118+
parser.setSource(unit);
119+
parser.setFocalPosition(0);
120+
parser.setResolveBindings(true);
121+
parser.setIgnoreMethodBodies(true);
122+
return parser.createAST(monitor);
123+
}
124+
return astRoot;
120125
}
121126

122127
/**

test/test-projects/modular-gradle/build.gradle

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@ repositories {
77
}
88

99
dependencies {
10-
testImplementation('org.junit.jupiter:junit-jupiter:5.5.2')
10+
testImplementation('org.junit.jupiter:junit-jupiter:5.6.0')
1111
}
1212

1313
test {

0 commit comments

Comments
 (0)