langtools/src/share/classes/com/sun/tools/javac/api/JavacTool.java
changeset 9069 bcab4a29758f
parent 8844 18170a311747
child 9071 88cd61b4e5aa
equal deleted inserted replaced
9068:6697b4cbba1d 9069:bcab4a29758f
    26 package com.sun.tools.javac.api;
    26 package com.sun.tools.javac.api;
    27 
    27 
    28 import java.io.File;
    28 import java.io.File;
    29 import java.io.InputStream;
    29 import java.io.InputStream;
    30 import java.io.OutputStream;
    30 import java.io.OutputStream;
       
    31 import java.io.OutputStreamWriter;
    31 import java.io.PrintWriter;
    32 import java.io.PrintWriter;
    32 import java.io.Writer;
    33 import java.io.Writer;
       
    34 import java.nio.charset.Charset;
    33 import java.util.ArrayList;
    35 import java.util.ArrayList;
    34 import java.util.Collections;
    36 import java.util.Collections;
    35 import java.util.EnumSet;
    37 import java.util.EnumSet;
    36 import java.util.Iterator;
    38 import java.util.Iterator;
    37 import java.util.List;
    39 import java.util.List;
    47 import com.sun.tools.javac.main.Main;
    49 import com.sun.tools.javac.main.Main;
    48 import com.sun.tools.javac.main.RecognizedOptions.GrumpyHelper;
    50 import com.sun.tools.javac.main.RecognizedOptions.GrumpyHelper;
    49 import com.sun.tools.javac.main.RecognizedOptions;
    51 import com.sun.tools.javac.main.RecognizedOptions;
    50 import com.sun.tools.javac.util.Context;
    52 import com.sun.tools.javac.util.Context;
    51 import com.sun.tools.javac.util.Log;
    53 import com.sun.tools.javac.util.Log;
    52 import com.sun.tools.javac.util.JavacMessages;
       
    53 import com.sun.tools.javac.util.Options;
    54 import com.sun.tools.javac.util.Options;
    54 import com.sun.tools.javac.util.Pair;
    55 import com.sun.tools.javac.util.Pair;
    55 import java.nio.charset.Charset;
       
    56 
    56 
    57 /**
    57 /**
    58  * TODO: describe com.sun.tools.javac.api.Tool
    58  * TODO: describe com.sun.tools.javac.api.Tool
    59  *
    59  *
    60  * <p><b>This is NOT part of any supported API.
    60  * <p><b>This is NOT part of any supported API.
   143     public JavacFileManager getStandardFileManager(
   143     public JavacFileManager getStandardFileManager(
   144         DiagnosticListener<? super JavaFileObject> diagnosticListener,
   144         DiagnosticListener<? super JavaFileObject> diagnosticListener,
   145         Locale locale,
   145         Locale locale,
   146         Charset charset) {
   146         Charset charset) {
   147         Context context = new Context();
   147         Context context = new Context();
   148         JavacMessages.instance(context).setCurrentLocale(locale);
   148         context.put(Locale.class, locale);
   149         if (diagnosticListener != null)
   149         if (diagnosticListener != null)
   150             context.put(DiagnosticListener.class, diagnosticListener);
   150             context.put(DiagnosticListener.class, diagnosticListener);
   151         context.put(Log.outKey, new PrintWriter(System.err, true)); // FIXME
   151         PrintWriter pw = (charset == null)
       
   152                 ? new PrintWriter(System.err, true)
       
   153                 : new PrintWriter(new OutputStreamWriter(System.err, charset), true);
       
   154         context.put(Log.outKey, pw);
   152         return new JavacFileManager(context, true, charset);
   155         return new JavacFileManager(context, true, charset);
   153     }
   156     }
   154 
   157 
   155     public JavacTask getTask(Writer out,
   158     public JavacTask getTask(Writer out,
   156                              JavaFileManager fileManager,
   159                              JavaFileManager fileManager,