< prev index next >

src/jdk.compiler/share/classes/com/sun/source/util/JavacTask.java

Print this page




  33 import javax.lang.model.type.TypeMirror;
  34 import javax.lang.model.util.Elements;
  35 import javax.lang.model.util.Types;
  36 import javax.tools.JavaCompiler.CompilationTask;
  37 import javax.tools.JavaFileObject;
  38 
  39 import com.sun.source.tree.CompilationUnitTree;
  40 import com.sun.source.tree.Tree;
  41 import com.sun.tools.javac.api.BasicJavacTask;
  42 import com.sun.tools.javac.processing.JavacProcessingEnvironment;
  43 import com.sun.tools.javac.util.Context;
  44 
  45 /**
  46  * Provides access to functionality specific to the JDK Java Compiler, javac.
  47  *
  48  * @author Peter von der Ah&eacute;
  49  * @author Jonathan Gibbons
  50  * @since 1.6
  51  */
  52 public abstract class JavacTask implements CompilationTask {




  53 
  54     /**
  55      * Returns the {@code JavacTask} for a {@code ProcessingEnvironment}.
  56      * If the compiler is being invoked using a
  57      * {@link javax.tools.JavaCompiler.CompilationTask CompilationTask},
  58      * then that task will be returned.
  59      * @param processingEnvironment the processing environment
  60      * @return the {@code JavacTask} for a {@code ProcessingEnvironment}
  61      * @since 1.8
  62      */
  63     public static JavacTask instance(ProcessingEnvironment processingEnvironment) {
  64         if (!processingEnvironment.getClass().getName().equals(
  65                 "com.sun.tools.javac.processing.JavacProcessingEnvironment"))
  66             throw new IllegalArgumentException();
  67         Context c = ((JavacProcessingEnvironment) processingEnvironment).getContext();
  68         JavacTask t = c.get(JavacTask.class);
  69         return (t != null) ? t : new BasicJavacTask(c, true);
  70     }
  71 
  72     /**




  33 import javax.lang.model.type.TypeMirror;
  34 import javax.lang.model.util.Elements;
  35 import javax.lang.model.util.Types;
  36 import javax.tools.JavaCompiler.CompilationTask;
  37 import javax.tools.JavaFileObject;
  38 
  39 import com.sun.source.tree.CompilationUnitTree;
  40 import com.sun.source.tree.Tree;
  41 import com.sun.tools.javac.api.BasicJavacTask;
  42 import com.sun.tools.javac.processing.JavacProcessingEnvironment;
  43 import com.sun.tools.javac.util.Context;
  44 
  45 /**
  46  * Provides access to functionality specific to the JDK Java Compiler, javac.
  47  *
  48  * @author Peter von der Ah&eacute;
  49  * @author Jonathan Gibbons
  50  * @since 1.6
  51  */
  52 public abstract class JavacTask implements CompilationTask {
  53     /**
  54      * Constructor for subclasses to call.
  55      */
  56     public JavacTask() {}
  57 
  58     /**
  59      * Returns the {@code JavacTask} for a {@code ProcessingEnvironment}.
  60      * If the compiler is being invoked using a
  61      * {@link javax.tools.JavaCompiler.CompilationTask CompilationTask},
  62      * then that task will be returned.
  63      * @param processingEnvironment the processing environment
  64      * @return the {@code JavacTask} for a {@code ProcessingEnvironment}
  65      * @since 1.8
  66      */
  67     public static JavacTask instance(ProcessingEnvironment processingEnvironment) {
  68         if (!processingEnvironment.getClass().getName().equals(
  69                 "com.sun.tools.javac.processing.JavacProcessingEnvironment"))
  70             throw new IllegalArgumentException();
  71         Context c = ((JavacProcessingEnvironment) processingEnvironment).getContext();
  72         JavacTask t = c.get(JavacTask.class);
  73         return (t != null) ? t : new BasicJavacTask(c, true);
  74     }
  75 
  76     /**


< prev index next >