src/share/classes/com/sun/tools/javac/util/JCDiagnostic.java

changeset 80
5c9cdeb740f2
parent 73
1cf29847eb6e
child 83
37470f5ea179
equal deleted inserted replaced
79:36df13bde238 80:5c9cdeb740f2
23 * have any questions. 23 * have any questions.
24 */ 24 */
25 25
26 package com.sun.tools.javac.util; 26 package com.sun.tools.javac.util;
27 27
28 import java.util.ResourceBundle;
29 import java.util.Collection;
28 import java.util.Locale; 30 import java.util.Locale;
29 import java.util.Map; 31 import java.util.Map;
30 32
31 import javax.tools.Diagnostic; 33 import javax.tools.Diagnostic;
32 import javax.tools.JavaFileObject; 34 import javax.tools.JavaFileObject;
33 35
36 import com.sun.tools.javac.api.Formattable;
34 import com.sun.tools.javac.file.JavacFileManager; 37 import com.sun.tools.javac.file.JavacFileManager;
35 import com.sun.tools.javac.tree.JCTree; 38 import com.sun.tools.javac.tree.JCTree;
36 39
37 import static com.sun.tools.javac.util.JCDiagnostic.DiagnosticType.*; 40 import static com.sun.tools.javac.util.JCDiagnostic.DiagnosticType.*;
38 41
429 Object arg = args[i]; 432 Object arg = args[i];
430 if (arg == null) 433 if (arg == null)
431 strings[i] = null; 434 strings[i] = null;
432 else if (arg instanceof JCDiagnostic) 435 else if (arg instanceof JCDiagnostic)
433 strings[i] = ((JCDiagnostic) arg).getMessage(null); 436 strings[i] = ((JCDiagnostic) arg).getMessage(null);
437 else if (arg instanceof Collection<?>)
438 strings[i] = DiagnosticFormatter.convert((Collection<?>)arg).toString();
439 else if (arg instanceof Formattable) {
440 ResourceBundle rb = ResourceBundle.getBundle(messageBundleName);
441 strings[i] = ((Formattable)arg).toString(rb);
442 }
434 else 443 else
435 strings[i] = arg.toString(); 444 strings[i] = arg.toString();
436 } 445 }
437 446
438 return messages.getLocalizedString(key, (Object[]) strings); 447 return messages.getLocalizedString(key, (Object[]) strings);

mercurial