diff --git a/spring-cloud-function-compiler/src/main/java/org/springframework/cloud/function/compiler/java/RuntimeJavaCompiler.java b/spring-cloud-function-compiler/src/main/java/org/springframework/cloud/function/compiler/java/RuntimeJavaCompiler.java index 92afab844..234bf99b7 100644 --- a/spring-cloud-function-compiler/src/main/java/org/springframework/cloud/function/compiler/java/RuntimeJavaCompiler.java +++ b/spring-cloud-function-compiler/src/main/java/org/springframework/cloud/function/compiler/java/RuntimeJavaCompiler.java @@ -77,9 +77,13 @@ public class RuntimeJavaCompiler { String sourceCode =null; try { sourceCode = (String)diagnostic.getSource().getCharContent(true); - } catch (IOException ioe) { + } + catch (IOException ioe) { // Unexpected, but leave sourceCode null to indicate it was not retrievable } + catch (NullPointerException npe) { + // TODO: should we skip warning diagnostics in the loop altogether? + } int startPosition = (int)diagnostic.getPosition(); if (startPosition == Diagnostic.NOPOS) { startPosition = (int)diagnostic.getStartPosition();