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

changeset 136
8eafba4f61be
parent 100
37551dc0f591
child 137
e4eaddca54b7
equal deleted inserted replaced
135:ac6ce899d007 136:8eafba4f61be
27 27
28 import java.io.*; 28 import java.io.*;
29 import java.util.HashSet; 29 import java.util.HashSet;
30 import java.util.Map; 30 import java.util.Map;
31 import java.util.Set; 31 import java.util.Set;
32 import java.util.Locale;
33 import javax.tools.DiagnosticListener; 32 import javax.tools.DiagnosticListener;
34 import javax.tools.JavaFileObject; 33 import javax.tools.JavaFileObject;
35 34
36 import com.sun.tools.javac.file.JavacFileManager; 35 import com.sun.tools.javac.file.JavacFileManager;
37 import com.sun.tools.javac.tree.JCTree; 36 import com.sun.tools.javac.tree.JCTree;
95 /** 94 /**
96 * Formatter for diagnostics 95 * Formatter for diagnostics
97 */ 96 */
98 private DiagnosticFormatter<JCDiagnostic> diagFormatter; 97 private DiagnosticFormatter<JCDiagnostic> diagFormatter;
99 98
99 /**
100 * JavacMessages object used for localization
101 */
102 private JavacMessages messages;
103
100 /** Construct a log with given I/O redirections. 104 /** Construct a log with given I/O redirections.
101 */ 105 */
102 @Deprecated 106 @Deprecated
103 protected Log(Context context, PrintWriter errWriter, PrintWriter warnWriter, PrintWriter noticeWriter) { 107 protected Log(Context context, PrintWriter errWriter, PrintWriter warnWriter, PrintWriter noticeWriter) {
104 super(JCDiagnostic.Factory.instance(context)); 108 super(JCDiagnostic.Factory.instance(context));
113 this.emitWarnings = options.get("-Xlint:none") == null; 117 this.emitWarnings = options.get("-Xlint:none") == null;
114 this.MaxErrors = getIntOption(options, "-Xmaxerrs", 100); 118 this.MaxErrors = getIntOption(options, "-Xmaxerrs", 100);
115 this.MaxWarnings = getIntOption(options, "-Xmaxwarns", 100); 119 this.MaxWarnings = getIntOption(options, "-Xmaxwarns", 100);
116 120
117 boolean rawDiagnostics = options.get("rawDiagnostics") != null; 121 boolean rawDiagnostics = options.get("rawDiagnostics") != null;
118 Messages msgs = Messages.instance(context); 122 messages = JavacMessages.instance(context);
119 this.diagFormatter = rawDiagnostics ? new RawDiagnosticFormatter(msgs) : 123 this.diagFormatter = rawDiagnostics ? new RawDiagnosticFormatter(messages) :
120 new BasicDiagnosticFormatter(options, msgs); 124 new BasicDiagnosticFormatter(options, messages);
121 @SuppressWarnings("unchecked") // FIXME 125 @SuppressWarnings("unchecked") // FIXME
122 DiagnosticListener<? super JavaFileObject> diagListener = 126 DiagnosticListener<? super JavaFileObject> diagListener =
123 context.get(DiagnosticListener.class); 127 context.get(DiagnosticListener.class);
124 this.diagListener = diagListener; 128 this.diagListener = diagListener;
125 } 129 }
333 } 337 }
334 } 338 }
335 339
336 PrintWriter writer = getWriterForDiagnosticType(diag.getType()); 340 PrintWriter writer = getWriterForDiagnosticType(diag.getType());
337 341
338 printLines(writer, diagFormatter.format(diag, Locale.getDefault())); 342 printLines(writer, diagFormatter.format(diag, messages.getCurrentLocale()));
339 if (diagFormatter.displaySource(diag)) { 343 if (diagFormatter.displaySource(diag)) {
340 int pos = diag.getIntPosition(); 344 int pos = diag.getIntPosition();
341 if (pos != Position.NOPOS) { 345 if (pos != Position.NOPOS) {
342 JavaFileObject prev = useSource(diag.getSource()); 346 JavaFileObject prev = useSource(diag.getSource());
343 printErrLine(pos, writer); 347 printErrLine(pos, writer);
382 /** Find a localized string in the resource bundle. 386 /** Find a localized string in the resource bundle.
383 * @param key The key for the localized string. 387 * @param key The key for the localized string.
384 * @param args Fields to substitute into the string. 388 * @param args Fields to substitute into the string.
385 */ 389 */
386 public static String getLocalizedString(String key, Object ... args) { 390 public static String getLocalizedString(String key, Object ... args) {
387 return Messages.getDefaultLocalizedString("compiler.misc." + key, args); 391 return JavacMessages.getDefaultLocalizedString("compiler.misc." + key, args);
388 } 392 }
389 393
390 /*************************************************************************** 394 /***************************************************************************
391 * raw error messages without internationalization; used for experimentation 395 * raw error messages without internationalization; used for experimentation
392 * and quick prototyping 396 * and quick prototyping

mercurial