equal
deleted
inserted
replaced
31 import com.sun.tools.javac.api.JavacTaskImpl; |
31 import com.sun.tools.javac.api.JavacTaskImpl; |
32 import com.sun.tools.javac.api.JavacTool; |
32 import com.sun.tools.javac.api.JavacTool; |
33 import com.sun.tools.javac.util.Context; |
33 import com.sun.tools.javac.util.Context; |
34 import java.util.ArrayList; |
34 import java.util.ArrayList; |
35 import java.util.Arrays; |
35 import java.util.Arrays; |
36 import java.util.Iterator; |
|
37 import java.util.List; |
36 import java.util.List; |
38 import javax.tools.Diagnostic; |
37 import javax.tools.Diagnostic; |
39 import javax.tools.DiagnosticCollector; |
38 import javax.tools.DiagnosticCollector; |
40 import javax.tools.JavaCompiler; |
39 import javax.tools.JavaCompiler; |
41 import javax.tools.JavaFileManager; |
40 import javax.tools.JavaFileManager; |
393 DiagList getDiagnostics() { |
392 DiagList getDiagnostics() { |
394 if (diags == null) { |
393 if (diags == null) { |
395 LinkedHashMap<String, Diag> diagMap = new LinkedHashMap<>(); |
394 LinkedHashMap<String, Diag> diagMap = new LinkedHashMap<>(); |
396 for (Diagnostic<? extends JavaFileObject> in : diagnostics.getDiagnostics()) { |
395 for (Diagnostic<? extends JavaFileObject> in : diagnostics.getDiagnostics()) { |
397 Diag d = diag(in); |
396 Diag d = diag(in); |
398 String uniqueKey = d.getCode() + ":" + d.getPosition() + ":" + d.getMessage(null); |
397 String uniqueKey = d.getCode() + ":" + d.getPosition() + ":" + d.getMessage(PARSED_LOCALE); |
399 diagMap.put(uniqueKey, d); |
398 diagMap.put(uniqueKey, d); |
400 } |
399 } |
401 diags = new DiagList(diagMap.values()); |
400 diags = new DiagList(diagMap.values()); |
402 } |
401 } |
403 return diags; |
402 return diags; |
408 } |
407 } |
409 |
408 |
410 String shortErrorMessage() { |
409 String shortErrorMessage() { |
411 StringBuilder sb = new StringBuilder(); |
410 StringBuilder sb = new StringBuilder(); |
412 for (Diag diag : getDiagnostics()) { |
411 for (Diag diag : getDiagnostics()) { |
413 for (String line : diag.getMessage(null).split("\\r?\\n")) { |
412 for (String line : diag.getMessage(PARSED_LOCALE).split("\\r?\\n")) { |
414 if (!line.trim().startsWith("location:")) { |
413 if (!line.trim().startsWith("location:")) { |
415 sb.append(line); |
414 sb.append(line); |
416 } |
415 } |
417 } |
416 } |
418 } |
417 } |
420 } |
419 } |
421 |
420 |
422 void debugPrintDiagnostics(String src) { |
421 void debugPrintDiagnostics(String src) { |
423 for (Diag diag : getDiagnostics()) { |
422 for (Diag diag : getDiagnostics()) { |
424 state.debug(DBG_GEN, "ERROR --\n"); |
423 state.debug(DBG_GEN, "ERROR --\n"); |
425 for (String line : diag.getMessage(null).split("\\r?\\n")) { |
424 for (String line : diag.getMessage(PARSED_LOCALE).split("\\r?\\n")) { |
426 if (!line.trim().startsWith("location:")) { |
425 if (!line.trim().startsWith("location:")) { |
427 state.debug(DBG_GEN, "%s\n", line); |
426 state.debug(DBG_GEN, "%s\n", line); |
428 } |
427 } |
429 } |
428 } |
430 int start = (int) diag.getStartPosition(); |
429 int start = (int) diag.getStartPosition(); |