src/share/classes/com/sun/tools/javac/api/JavacTool.java

changeset 1136
ae361e7f435a
parent 1135
36553cb94345
child 1157
3809292620c9
     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;

mercurial