github.phpd.cn/thought-machine/please@v12.2.0+incompatible/tools/javac_worker/src/build/please/compile/DiagnosticReporter.java (about) 1 package build.please.compile; 2 3 import java.util.Locale; 4 5 import javax.tools.Diagnostic; 6 import javax.tools.DiagnosticListener; 7 import javax.tools.JavaFileObject; 8 9 import build.please.worker.WorkerProto; 10 11 class DiagnosticReporter implements DiagnosticListener<JavaFileObject> { 12 13 private final WorkerProto.BuildResponse.Builder responseBuilder; 14 15 DiagnosticReporter(WorkerProto.BuildResponse.Builder responseBuilder) { 16 this.responseBuilder = responseBuilder; 17 } 18 19 @Override 20 public void report(Diagnostic<? extends JavaFileObject> diagnostic) { 21 // No i18n here obviously... 22 if (diagnostic.getSource() != null) { 23 responseBuilder.addMessages(diagnostic.getSource().getName() + ":" + diagnostic.getLineNumber() + ":" + 24 diagnostic.getColumnNumber() + ": " + diagnostic.getMessage(Locale.ENGLISH)); 25 } else { 26 responseBuilder.addMessages(diagnostic.getMessage(Locale.ENGLISH)); 27 } 28 } 29 }