--- a/langtools/src/share/classes/com/sun/tools/javac/util/DiagnosticFormatter.java Thu Jul 24 11:12:41 2008 +0100
+++ b/langtools/src/share/classes/com/sun/tools/javac/util/DiagnosticFormatter.java Thu Jul 24 19:06:57 2008 +0100
@@ -25,6 +25,7 @@
package com.sun.tools.javac.util;
+import java.util.Collection;
import javax.tools.JavaFileObject;
import com.sun.tools.javac.file.JavacFileManager;
@@ -145,6 +146,8 @@
}
else if (arg instanceof JavaFileObject)
sb.append(JavacFileManager.getJavacBaseFileName((JavaFileObject) arg));
+ else if (arg instanceof Collection<?>)
+ sb.append(convert((Collection<?>)arg));
else
sb.append(arg);
sep = ", ";
@@ -152,6 +155,18 @@
return sb.toString();
}
+ static <T> List<T> convert(Collection<T> c) {
+ if (c instanceof List<?>)
+ return (List<T>)c;
+ else {
+ List<T> l = List.<T>nil();
+ for (T t : c) {
+ l = l.prepend(t);
+ }
+ return l.reverse();
+ }
+ }
+
private String format_std(JCDiagnostic d) {
DiagnosticSource source = d.getDiagnosticSource();
DiagnosticType type = d.getType();