changeset 646:a5454419dd46

6966732: replace use of static Log.getLocalizedString with non-static alternative where possible Reviewed-by: darcy
author jjg
date Tue, 13 Jul 2010 19:14:09 -0700
parents 064468702a8d
children 0e1fab5cffc8
files src/share/classes/com/sun/tools/javac/jvm/ClassReader.java src/share/classes/com/sun/tools/javac/jvm/ClassWriter.java src/share/classes/com/sun/tools/javac/main/JavaCompiler.java src/share/classes/com/sun/tools/javac/processing/JavacProcessingEnvironment.java src/share/classes/com/sun/tools/javac/util/Log.java
diffstat 5 files changed, 50 insertions(+), 32 deletions(-) [+]
line wrap: on
line diff
--- a/src/share/classes/com/sun/tools/javac/jvm/ClassReader.java	Mon Jul 12 16:37:46 2010 -0700
+++ b/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);
     }
 
 
--- a/src/share/classes/com/sun/tools/javac/jvm/ClassWriter.java	Mon Jul 12 16:37:46 2010 -0700
+++ b/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 {
--- a/src/share/classes/com/sun/tools/javac/main/JavaCompiler.java	Mon Jul 12 16:37:46 2010 -0700
+++ b/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();
         }
     }
--- a/src/share/classes/com/sun/tools/javac/processing/JavacProcessingEnvironment.java	Mon Jul 12 16:37:46 2010 -0700
+++ b/src/share/classes/com/sun/tools/javac/processing/JavacProcessingEnvironment.java	Tue Jul 13 19:14:09 2010 -0700
@@ -654,9 +654,6 @@
                                      Set<TypeElement> annotationsPresent,
                                      List<ClassSymbol> topLevelClasses,
                                      List<PackageSymbol> packageInfoFiles) {
-        // Writer for -XprintRounds and -XprintProcessorInfo data
-        PrintWriter xout = context.get(Log.outKey);
-
         Map<String, TypeElement> unmatchedAnnotations =
             new HashMap<String, TypeElement>(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<JCCompilationUnit> runLastRound(PrintWriter xout,
-                                                 int roundNumber,
+    private List<JCCompilationUnit> runLastRound(int roundNumber,
                                                  boolean errorStatus,
                                                  JavaCompiler compiler,
                                                  List<JCCompilationUnit> roots,
@@ -991,7 +985,7 @@
         roundNumber++;
         List<ClassSymbol> noTopLevelClasses = List.nil();
         Set<TypeElement> noAnnotations =  Collections.emptySet();
-        printRoundInfo(xout, roundNumber, noTopLevelClasses, noAnnotations, true);
+        printRoundInfo(roundNumber, noTopLevelClasses, noAnnotations, true);
 
         Set<Element> 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<ClassSymbol> topLevelClasses,
                                 Set<TypeElement> 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);
         }
     }
 
--- a/src/share/classes/com/sun/tools/javac/util/Log.java	Mon Jul 12 16:37:46 2010 -0700
+++ b/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