# HG changeset patch # User lana # Date 1330995888 28800 # Node ID cc866298b20ce4177e580a1f882a13869089b7d8 # Parent 0cfc6f845c5beb1366335b6222d1f8d6df5e58ec# Parent 568a53eb0e22f42c158fa71d8918ae7662ba372d Merge diff -r 0cfc6f845c5b -r cc866298b20c langtools/src/share/classes/com/sun/source/tree/MemberReferenceTree.java --- a/langtools/src/share/classes/com/sun/source/tree/MemberReferenceTree.java Thu Mar 01 12:23:33 2012 -0800 +++ b/langtools/src/share/classes/com/sun/source/tree/MemberReferenceTree.java Mon Mar 05 17:04:48 2012 -0800 @@ -1,5 +1,5 @@ /* - * Copyright (c) 2011, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2011, 2012, Oracle and/or its affiliates. All rights reserved. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * * This code is free software; you can redistribute it and/or modify it @@ -37,7 +37,7 @@ * expression # [ identifier | new ] * * - * @see JSR 292 + * @since 1.8 */ public interface MemberReferenceTree extends ExpressionTree { diff -r 0cfc6f845c5b -r cc866298b20c langtools/src/share/classes/com/sun/source/util/JavacTask.java --- a/langtools/src/share/classes/com/sun/source/util/JavacTask.java Thu Mar 01 12:23:33 2012 -0800 +++ b/langtools/src/share/classes/com/sun/source/util/JavacTask.java Mon Mar 05 17:04:48 2012 -0800 @@ -1,5 +1,5 @@ /* - * Copyright (c) 2005, 2006, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2005, 2012, Oracle and/or its affiliates. All rights reserved. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * * This code is free software; you can redistribute it and/or modify it @@ -25,9 +25,9 @@ package com.sun.source.util; -import com.sun.source.tree.CompilationUnitTree; -import com.sun.source.tree.Tree; import java.io.IOException; + +import javax.annotation.processing.ProcessingEnvironment; import javax.lang.model.element.Element; import javax.lang.model.type.TypeMirror; import javax.lang.model.util.Elements; @@ -35,6 +35,12 @@ import javax.tools.JavaCompiler.CompilationTask; import javax.tools.JavaFileObject; +import com.sun.source.tree.CompilationUnitTree; +import com.sun.source.tree.Tree; +import com.sun.tools.javac.api.BasicJavacTask; +import com.sun.tools.javac.processing.JavacProcessingEnvironment; +import com.sun.tools.javac.util.Context; + /** * Provides access to functionality specific to the JDK Java Compiler, javac. * @@ -45,10 +51,29 @@ public abstract class JavacTask implements CompilationTask { /** + * Get the {@code JavacTask} for a {@code ProcessingEnvironment}. + * If the compiler is being invoked using a + * {@link javax.tools.JavaCompiler.CompilationTask CompilationTask}, + * then that task will be returned. + * @param processingEnvironment + * @return the {@code JavacTask} for a {@code ProcessingEnvironment} + * @since 1.8 + */ + public static JavacTask instance(ProcessingEnvironment processingEnvironment) { + if (!processingEnvironment.getClass().getName().equals( + "com.sun.tools.javac.processing.JavacProcessingEnvironment")) + throw new IllegalArgumentException(); + Context c = ((JavacProcessingEnvironment) processingEnvironment).getContext(); + JavacTask t = c.get(JavacTask.class); + return (t != null) ? t : new BasicJavacTask(c, true); + } + + /** * Parse the specified files returning a list of abstract syntax trees. * * @return a list of abstract syntax trees * @throws IOException if an unhandled I/O error occurred in the compiler. + * @throws IllegalStateException if the operation cannot be performed at this time. */ public abstract Iterable parse() throws IOException; @@ -58,6 +83,7 @@ * * @return a list of elements that were analyzed * @throws IOException if an unhandled I/O error occurred in the compiler. + * @throws IllegalStateException if the operation cannot be performed at this time. */ public abstract Iterable analyze() throws IOException; @@ -66,17 +92,51 @@ * * @return a list of files that were generated * @throws IOException if an unhandled I/O error occurred in the compiler. + * @throws IllegalStateException if the operation cannot be performed at this time. */ public abstract Iterable generate() throws IOException; /** - * The specified listener will receive events describing the progress of - * this compilation task. + * The specified listener will receive notification of events + * describing the progress of this compilation task. + * + * If another listener is receiving notifications as a result of a prior + * call of this method, then that listener will no longer receive notifications. + * + * Informally, this method is equivalent to calling {@code removeTaskListener} for + * any listener that has been previously set, followed by {@code addTaskListener} + * for the new listener. + * + * @throws IllegalStateException if the specified listener has already been added. */ public abstract void setTaskListener(TaskListener taskListener); /** + * The specified listener will receive notification of events + * describing the progress of this compilation task. + * + * This method may be called at any time before or during the compilation. + * + * @throws IllegalStateException if the specified listener has already been added. + * @since 1.8 + */ + public abstract void addTaskListener(TaskListener taskListener); + + /** + * The specified listener will no longer receive notification of events + * describing the progress of this compilation task. + * + * This method may be called at any time before or during the compilation. + * + * @since 1.8 + */ + public abstract void removeTaskListener(TaskListener taskListener); + + /** * Get a type mirror of the tree node determined by the specified path. + * This method has been superceded by methods on + * {@link com.sun.source.util.Trees Trees}. + * @see com.sun.source.util.Trees#getTypeMirror */ public abstract TypeMirror getTypeMirror(Iterable path); /** diff -r 0cfc6f845c5b -r cc866298b20c langtools/src/share/classes/com/sun/tools/doclets/package.html --- a/langtools/src/share/classes/com/sun/tools/doclets/package.html Thu Mar 01 12:23:33 2012 -0800 +++ b/langtools/src/share/classes/com/sun/tools/doclets/package.html Mon Mar 05 17:04:48 2012 -0800 @@ -1,5 +1,5 @@