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(); });