1.1 --- a/src/share/classes/com/sun/tools/javac/api/JavacTool.java Tue Nov 08 17:06:08 2011 -0800 1.2 +++ b/src/share/classes/com/sun/tools/javac/api/JavacTool.java Tue Nov 08 17:06:58 2011 -0800 1.3 @@ -52,6 +52,7 @@ 1.4 import com.sun.tools.javac.util.ClientCodeException; 1.5 import com.sun.tools.javac.util.Context; 1.6 import com.sun.tools.javac.util.Log; 1.7 +import com.sun.tools.javac.util.Log.PrefixKind; 1.8 import com.sun.tools.javac.util.Options; 1.9 import com.sun.tools.javac.util.Pair; 1.10 1.11 @@ -156,15 +157,28 @@ 1.12 return new JavacFileManager(context, true, charset); 1.13 } 1.14 1.15 + @Override 1.16 public JavacTask getTask(Writer out, 1.17 JavaFileManager fileManager, 1.18 DiagnosticListener<? super JavaFileObject> diagnosticListener, 1.19 Iterable<String> options, 1.20 Iterable<String> classes, 1.21 - Iterable<? extends JavaFileObject> compilationUnits) 1.22 + Iterable<? extends JavaFileObject> compilationUnits) { 1.23 + Context context = new Context(); 1.24 + return getTask(out, fileManager, diagnosticListener, 1.25 + options, classes, compilationUnits, 1.26 + context); 1.27 + } 1.28 + 1.29 + public JavacTask getTask(Writer out, 1.30 + JavaFileManager fileManager, 1.31 + DiagnosticListener<? super JavaFileObject> diagnosticListener, 1.32 + Iterable<String> options, 1.33 + Iterable<String> classes, 1.34 + Iterable<? extends JavaFileObject> compilationUnits, 1.35 + Context context) 1.36 { 1.37 try { 1.38 - Context context = new Context(); 1.39 ClientCodeWrapper ccw = ClientCodeWrapper.instance(context); 1.40 1.41 final String kindMsg = "All compilation units must be of SOURCE kind"; 1.42 @@ -212,9 +226,10 @@ 1.43 return; 1.44 1.45 Options optionTable = Options.instance(context); 1.46 + Log log = Log.instance(context); 1.47 1.48 JavacOption[] recognizedOptions = 1.49 - RecognizedOptions.getJavacToolOptions(new GrumpyHelper()); 1.50 + RecognizedOptions.getJavacToolOptions(new GrumpyHelper(log)); 1.51 Iterator<String> flags = options.iterator(); 1.52 while (flags.hasNext()) { 1.53 String flag = flags.next(); 1.54 @@ -227,7 +242,7 @@ 1.55 if (fileManager.handleOption(flag, flags)) { 1.56 continue; 1.57 } else { 1.58 - String msg = Main.getLocalizedString("err.invalid.flag", flag); 1.59 + String msg = log.localize(PrefixKind.JAVAC, "err.invalid.flag", flag); 1.60 throw new IllegalArgumentException(msg); 1.61 } 1.62 } 1.63 @@ -235,7 +250,7 @@ 1.64 JavacOption option = recognizedOptions[j]; 1.65 if (option.hasArg()) { 1.66 if (!flags.hasNext()) { 1.67 - String msg = Main.getLocalizedString("err.req.arg", flag); 1.68 + String msg = log.localize(PrefixKind.JAVAC, "err.req.arg", flag); 1.69 throw new IllegalArgumentException(msg); 1.70 } 1.71 String operand = flags.next(); 1.72 @@ -269,7 +284,7 @@ 1.73 1.74 public int isSupportedOption(String option) { 1.75 JavacOption[] recognizedOptions = 1.76 - RecognizedOptions.getJavacToolOptions(new GrumpyHelper()); 1.77 + RecognizedOptions.getJavacToolOptions(new GrumpyHelper(null)); 1.78 for (JavacOption o : recognizedOptions) { 1.79 if (o.matches(option)) 1.80 return o.hasArg() ? 1 : 0;