From 862fd9b9925d73a4eb747e8ca7f02ac45fe40a9a Mon Sep 17 00:00:00 2001 From: aboyko Date: Thu, 5 Oct 2023 09:25:01 -0400 Subject: [PATCH] Fix NPE --- .../rewrite/RewriteCodeActionHandler.java | 28 ++++++++++--------- 1 file changed, 15 insertions(+), 13 deletions(-) diff --git a/headless-services/spring-boot-language-server/src/main/java/org/springframework/ide/vscode/boot/java/rewrite/RewriteCodeActionHandler.java b/headless-services/spring-boot-language-server/src/main/java/org/springframework/ide/vscode/boot/java/rewrite/RewriteCodeActionHandler.java index b2c037493..cdb121275 100644 --- a/headless-services/spring-boot-language-server/src/main/java/org/springframework/ide/vscode/boot/java/rewrite/RewriteCodeActionHandler.java +++ b/headless-services/spring-boot-language-server/src/main/java/org/springframework/ide/vscode/boot/java/rewrite/RewriteCodeActionHandler.java @@ -107,23 +107,25 @@ public class RewriteCodeActionHandler implements JavaCodeActionHandler { final QuickfixType rewriteFixType = quickfixRegistry.getQuickfixType(RewriteRefactorings.REWRITE_RECIPE_QUICKFIX); if (isSupported(capabilities, context) && rewriteFixType != null) { List codeActions = cuCache.withCompilationUnit(project, uri, cu -> { - try { - List cas = new ArrayList<>(); - List problems = new ArrayList<>(); - BasicProblemCollector problemsCollector = new BasicProblemCollector(problems); - jdtReconciler.reconcile(project, uri, cu, problemsCollector, true); - for (ReconcileProblem p : problems) { - if (p.getOffset() <= region.getOffset() && p.getOffset() + p.getLength() >= region.getOffset() + region.getLength() && severityProvider.getDiagnosticSeverity(p) == null) { - for (QuickfixData qf : p.getQuickfixes()) { - if (qf.params instanceof FixDescriptor) { - cas.add(createCodeActionFromScope((FixDescriptor) qf.params)); + if (cu != null) { + try { + List cas = new ArrayList<>(); + List problems = new ArrayList<>(); + BasicProblemCollector problemsCollector = new BasicProblemCollector(problems); + jdtReconciler.reconcile(project, uri, cu, problemsCollector, true); + for (ReconcileProblem p : problems) { + if (p.getOffset() <= region.getOffset() && p.getOffset() + p.getLength() >= region.getOffset() + region.getLength() && severityProvider.getDiagnosticSeverity(p) == null) { + for (QuickfixData qf : p.getQuickfixes()) { + if (qf.params instanceof FixDescriptor) { + cas.add(createCodeActionFromScope((FixDescriptor) qf.params)); + } } } } + return cas; + } catch (Exception e) { + log.error("", e); } - return cas; - } catch (Exception e) { - log.error("", e); } return Collections.emptyList(); });