# HG changeset patch # User jjg # Date 1279073649 25200 # Node ID 79b7dee406cc29bbb706b32107fa529df43c3a83 # Parent 03b276d8e6a6468667facaf6ed2b5eba07e9b596 6966732: replace use of static Log.getLocalizedString with non-static alternative where possible Reviewed-by: darcy diff -r 03b276d8e6a6 -r 79b7dee406cc langtools/src/share/classes/com/sun/tools/javac/jvm/ClassReader.java --- a/langtools/src/share/classes/com/sun/tools/javac/jvm/ClassReader.java Mon Jul 12 16:37:46 2010 -0700 +++ b/langtools/src/share/classes/com/sun/tools/javac/jvm/ClassReader.java Tue Jul 13 19:14:09 2010 -0700 @@ -2628,7 +2628,7 @@ * @param arg An argument for substitution into the output string. */ private void printVerbose(String key, CharSequence arg) { - Log.printLines(log.noticeWriter, Log.getLocalizedString("verbose." + key, arg)); + log.printNoteLines("verbose." + key, arg); } /** Output for "-checkclassfile" option. @@ -2636,7 +2636,7 @@ * @param arg An argument for substitution into the output string. */ private void printCCF(String key, Object arg) { - Log.printLines(log.noticeWriter, Log.getLocalizedString(key, arg)); + log.printNoteLines(key, arg); } diff -r 03b276d8e6a6 -r 79b7dee406cc langtools/src/share/classes/com/sun/tools/javac/jvm/ClassWriter.java --- a/langtools/src/share/classes/com/sun/tools/javac/jvm/ClassWriter.java Mon Jul 12 16:37:46 2010 -0700 +++ b/langtools/src/share/classes/com/sun/tools/javac/jvm/ClassWriter.java Tue Jul 13 19:14:09 2010 -0700 @@ -1604,7 +1604,7 @@ try { writeClassFile(out, c); if (verbose) - log.errWriter.println(Log.getLocalizedString("verbose.wrote.file", outFile)); + log.printErrLines("verbose.wrote.file", outFile); out.close(); out = null; } finally { diff -r 03b276d8e6a6 -r 79b7dee406cc langtools/src/share/classes/com/sun/tools/javac/main/JavaCompiler.java --- a/langtools/src/share/classes/com/sun/tools/javac/main/JavaCompiler.java Mon Jul 12 16:37:46 2010 -0700 +++ b/langtools/src/share/classes/com/sun/tools/javac/main/JavaCompiler.java Tue Jul 13 19:14:09 2010 -0700 @@ -1105,7 +1105,7 @@ return env; if (verboseCompilePolicy) - Log.printLines(log.noticeWriter, "[attribute " + env.enclClass.sym + "]"); + printNote("[attribute " + env.enclClass.sym + "]"); if (verbose) printVerbose("checking.attribution", env.enclClass.sym); @@ -1527,19 +1527,19 @@ * @param arg An argument for substitution into the output string. */ protected void printVerbose(String key, Object arg) { - Log.printLines(log.noticeWriter, Log.getLocalizedString("verbose." + key, arg)); + log.printNoteLines("verbose." + key, arg); } /** Print numbers of errors and warnings. */ protected void printCount(String kind, int count) { if (count != 0) { - String text; + String key; if (count == 1) - text = Log.getLocalizedString("count." + kind, String.valueOf(count)); + key = "count." + kind; else - text = Log.getLocalizedString("count." + kind + ".plural", String.valueOf(count)); - Log.printLines(log.errWriter, text); + key = "count." + kind + ".plural"; + log.printErrLines(key, String.valueOf(count)); log.errWriter.flush(); } } diff -r 03b276d8e6a6 -r 79b7dee406cc langtools/src/share/classes/com/sun/tools/javac/processing/JavacProcessingEnvironment.java --- a/langtools/src/share/classes/com/sun/tools/javac/processing/JavacProcessingEnvironment.java Mon Jul 12 16:37:46 2010 -0700 +++ b/langtools/src/share/classes/com/sun/tools/javac/processing/JavacProcessingEnvironment.java Tue Jul 13 19:14:09 2010 -0700 @@ -654,9 +654,6 @@ Set annotationsPresent, List topLevelClasses, List packageInfoFiles) { - // Writer for -XprintRounds and -XprintProcessorInfo data - PrintWriter xout = context.get(Log.outKey); - Map unmatchedAnnotations = new HashMap(annotationsPresent.size()); @@ -708,10 +705,10 @@ ps.removeSupportedOptions(unmatchedProcessorOptions); if (printProcessorInfo || verbose) { - xout.println(Log.getLocalizedString("x.print.processor.info", - ps.processor.getClass().getName(), - matchedNames.toString(), - processingResult)); + log.printNoteLines("x.print.processor.info", + ps.processor.getClass().getName(), + matchedNames.toString(), + processingResult); } if (processingResult) { @@ -795,8 +792,6 @@ throws IOException { log = Log.instance(context); - // Writer for -XprintRounds and -XprintProcessorInfo data - PrintWriter xout = context.get(Log.outKey); TaskListener taskListener = context.get(TaskListener.class); JavaCompiler compiler = JavaCompiler.instance(context); @@ -839,7 +834,7 @@ this.context = currentContext; roundNumber++; - printRoundInfo(xout, roundNumber, topLevelClasses, annotationsPresent, false); + printRoundInfo(roundNumber, topLevelClasses, annotationsPresent, false); if (taskListener != null) taskListener.started(new TaskEvent(TaskEvent.Kind.ANNOTATION_PROCESSING_ROUND)); @@ -908,7 +903,7 @@ break runAround; // No new files } } - roots = runLastRound(xout, roundNumber, errorStatus, compiler, roots, taskListener); + roots = runLastRound(roundNumber, errorStatus, compiler, roots, taskListener); // Set error status for any files compiled and generated in // the last round if (log.unrecoverableError) @@ -982,8 +977,7 @@ } // Call the last round of annotation processing - private List runLastRound(PrintWriter xout, - int roundNumber, + private List runLastRound(int roundNumber, boolean errorStatus, JavaCompiler compiler, List roots, @@ -991,7 +985,7 @@ roundNumber++; List noTopLevelClasses = List.nil(); Set noAnnotations = Collections.emptySet(); - printRoundInfo(xout, roundNumber, noTopLevelClasses, noAnnotations, true); + printRoundInfo(roundNumber, noTopLevelClasses, noAnnotations, true); Set emptyRootElements = Collections.emptySet(); // immutable RoundEnvironment renv = new JavacRoundEnvironment(true, @@ -1032,17 +1026,16 @@ } } - private void printRoundInfo(PrintWriter xout, - int roundNumber, + private void printRoundInfo(int roundNumber, List topLevelClasses, Set annotationsPresent, boolean lastRound) { if (printRounds || verbose) { - xout.println(Log.getLocalizedString("x.print.rounds", - roundNumber, - "{" + topLevelClasses.toString(", ") + "}", - annotationsPresent, - lastRound)); + log.printNoteLines("x.print.rounds", + roundNumber, + "{" + topLevelClasses.toString(", ") + "}", + annotationsPresent, + lastRound); } } diff -r 03b276d8e6a6 -r 79b7dee406cc langtools/src/share/classes/com/sun/tools/javac/util/Log.java --- a/langtools/src/share/classes/com/sun/tools/javac/util/Log.java Mon Jul 12 16:37:46 2010 -0700 +++ b/langtools/src/share/classes/com/sun/tools/javac/util/Log.java Tue Jul 13 19:14:09 2010 -0700 @@ -269,7 +269,7 @@ */ public void prompt() { if (promptOnError) { - System.err.println(getLocalizedString("resume.abort")); + System.err.println(localize("resume.abort")); char ch; try { while (true) { @@ -317,8 +317,23 @@ if (msg.length() != 0) writer.println(msg); } + /** Print the text of a message to the errWriter stream, + * translating newlines appropriately for the platform. + */ + public void printErrLines(String key, Object... args) { + printLines(errWriter, localize(key, args)); + } + + + /** Print the text of a message to the noticeWriter stream, + * translating newlines appropriately for the platform. + */ + public void printNoteLines(String key, Object... args) { + printLines(noticeWriter, localize(key, args)); + } + protected void directError(String key, Object... args) { - printLines(errWriter, getLocalizedString(key, args)); + printErrLines(key, args); errWriter.flush(); } @@ -426,6 +441,8 @@ } /** Find a localized string in the resource bundle. + * Because this method is static, it ignores the locale. + * Use localize(key, args) when possible. * @param key The key for the localized string. * @param args Fields to substitute into the string. */ @@ -433,6 +450,14 @@ return JavacMessages.getDefaultLocalizedString("compiler.misc." + key, args); } + /** Find a localized string in the resource bundle. + * @param key The key for the localized string. + * @param args Fields to substitute into the string. + */ + public String localize(String key, Object... args) { + return messages.getLocalizedString("compiler.misc." + key, args); + } + /*************************************************************************** * raw error messages without internationalization; used for experimentation * and quick prototyping