diff --git a/check_api/src/main/java/com/google/errorprone/fixes/SuggestedFixes.java b/check_api/src/main/java/com/google/errorprone/fixes/SuggestedFixes.java index 439b60676f6..5626d92f8f8 100644 --- a/check_api/src/main/java/com/google/errorprone/fixes/SuggestedFixes.java +++ b/check_api/src/main/java/com/google/errorprone/fixes/SuggestedFixes.java @@ -1309,8 +1309,10 @@ public CharSequence getCharContent(boolean ignoreEncodingErrors) throws IOExcept boolean warningInSameCompilationUnit = false; for (Diagnostic diagnostic : diagnosticListener.getDiagnostics()) { warningIsError |= diagnostic.getCode().equals("compiler.err.warnings.and.werror"); + JavaFileObject diagnosticSource = diagnostic.getSource(); + // If the source's origin is unknown, assume that new diagnostics are due to a modification. boolean diagnosticInSameCompilationUnit = - diagnostic.getSource().toUri().equals(modifiedFileUri); + diagnosticSource == null || diagnosticSource.toUri().equals(modifiedFileUri); switch (diagnostic.getKind()) { case ERROR: ++countErrors;