8173944: Reference Origin.MANDATED in getEnclosedElements specs

Reviewed-by: jlahoda
This commit is contained in:
Joe Darcy 2017-02-06 16:32:37 -08:00
parent f4c670d9b6
commit d84c982cbc
3 changed files with 13 additions and 5 deletions

View File

@ -176,6 +176,9 @@ public interface Element extends javax.lang.model.AnnotatedConstruct {
* A {@linkplain ModuleElement#getEnclosedElements module}
* encloses packages within it.
*
* Enclosed elements may include implicitly declared {@linkplain
* Elements.Origin#MANDATED mandated} elements.
*
* Other kinds of elements are not currently considered to enclose
* any elements; however, that may change as this API or the
* programming language evolves.

View File

@ -63,9 +63,10 @@ public interface TypeElement extends Element, Parameterizable, QualifiedNameable
* Returns the fields, methods, constructors, and member types
* that are directly declared in this class or interface.
*
* This includes any (implicit) default constructor and
* the implicit {@code values} and {@code valueOf} methods of an
* enum type.
* This includes any {@linkplain Elements.Origin#MANDATED
* mandated} elements such as the (implicit) default constructor
* and the implicit {@code values} and {@code valueOf} methods of
* an enum type.
*
* @apiNote As a particular instance of the {@linkplain
* javax.lang.model.element general accuracy requirements} and the
@ -74,10 +75,13 @@ public interface TypeElement extends Element, Parameterizable, QualifiedNameable
* originating source of information about the type. For example,
* if the information about the type is originating from a source
* file, the elements will be returned in source code order.
* (However, in that case the the ordering of {@linkplain Elements.Origin#MANDATED mandated}
* elements, such as a default constructor, is not specified.)
* (However, in that case the the ordering of elements, such as a
* default constructor, is not specified.)
*
* @return the enclosed elements in proper order, or an empty list if none
*
* @jls 8.8.9 Default Constructor
* @jls 8.9.3 Enum Members
*/
@Override
List<? extends Element> getEnclosedElements();

View File

@ -282,6 +282,7 @@ public interface Elements {
* multiple annotations of a repeatable annotation type.
*
* @jls 8.8.9 Default Constructor
* @jls 8.9.3 Enum Members
* @jls 9.6.3 Repeatable Annotation Types
* @jls 9.7.5 Multiple Annotations of the Same Type
*/