From fd10ee30af9e68e8fdf31029b2579e393a190d65 Mon Sep 17 00:00:00 2001 From: aboyko Date: Fri, 19 Apr 2024 14:10:54 -0400 Subject: [PATCH] NPE check for java definition navigation --- .../vscode/boot/java/JavaDefinitionHandler.java | 14 ++++++++------ 1 file changed, 8 insertions(+), 6 deletions(-) diff --git a/headless-services/spring-boot-language-server/src/main/java/org/springframework/ide/vscode/boot/java/JavaDefinitionHandler.java b/headless-services/spring-boot-language-server/src/main/java/org/springframework/ide/vscode/boot/java/JavaDefinitionHandler.java index b1e98d1d5..81c0251dc 100644 --- a/headless-services/spring-boot-language-server/src/main/java/org/springframework/ide/vscode/boot/java/JavaDefinitionHandler.java +++ b/headless-services/spring-boot-language-server/src/main/java/org/springframework/ide/vscode/boot/java/JavaDefinitionHandler.java @@ -57,13 +57,15 @@ public class JavaDefinitionHandler implements DefinitionHandler, LanguageSpecifi URI docUri = URI.create(doc.getUri()); return cuCache.withCompilationUnit(project, docUri, cu -> { Builder builder = ImmutableList.builder(); - int start = cu.getPosition(definitionParams.getPosition().getLine() + 1, definitionParams.getPosition().getCharacter()); - ASTNode node = NodeFinder.perform(cu, start, 0); - for (IJavaDefinitionProvider provider : providers) { - if (cancelToken.isCanceled()) { - break; + if (cu != null) { + int start = cu.getPosition(definitionParams.getPosition().getLine() + 1, definitionParams.getPosition().getCharacter()); + ASTNode node = NodeFinder.perform(cu, start, 0); + for (IJavaDefinitionProvider provider : providers) { + if (cancelToken.isCanceled()) { + break; + } + builder.addAll(provider.getDefinitions(cancelToken, project, cu, node)); } - builder.addAll(provider.getDefinitions(cancelToken, project, cu, node)); } return builder.build(); });