Skip to content

Commit 16aaf75

Browse files
committed
fix: Add null check for visitors (#974)
1 parent 9b63a77 commit 16aaf75

File tree

1 file changed

+10
-2
lines changed

1 file changed

+10
-2
lines changed

gradle-language-server/src/main/java/com/microsoft/gradle/GradleServices.java

Lines changed: 10 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -197,8 +197,12 @@ public CompletableFuture<SemanticTokens> semanticTokensFull(SemanticTokensParams
197197
return CompletableFuture.completedFuture(new SemanticTokens(Collections.emptyList()));
198198
}
199199
this.semanticTokenVisitor.visitCompilationUnit(uri, unit);
200+
List<SemanticToken> semanticTokens = this.semanticTokenVisitor.getSemanticTokens(uri);
201+
if (semanticTokens == null) {
202+
return CompletableFuture.completedFuture(new SemanticTokens(Collections.emptyList()));
203+
}
200204
return CompletableFuture.completedFuture(
201-
new SemanticTokens(SemanticToken.encodedTokens(this.semanticTokenVisitor.getSemanticTokens(uri))));
205+
new SemanticTokens(SemanticToken.encodedTokens(semanticTokens)));
202206
}
203207

204208
@Override
@@ -210,8 +214,12 @@ public CompletableFuture<List<Either<SymbolInformation, DocumentSymbol>>> docume
210214
return CompletableFuture.completedFuture(Collections.emptyList());
211215
}
212216
this.documentSymbolVisitor.visitCompilationUnit(uri, unit);
217+
List<DocumentSymbol> documentSymbols = this.documentSymbolVisitor.getDocumentSymbols(uri);
218+
if (documentSymbols == null) {
219+
return CompletableFuture.completedFuture(Collections.emptyList());
220+
}
213221
List<Either<SymbolInformation, DocumentSymbol>> result = new ArrayList<>();
214-
for (DocumentSymbol symbol : this.documentSymbolVisitor.getDocumentSymbols(uri)) {
222+
for (DocumentSymbol symbol : documentSymbols) {
215223
result.add(Either.forRight(symbol));
216224
}
217225
return CompletableFuture.completedFuture(result);

0 commit comments

Comments
 (0)