< prev index next >

src/java.compiler/share/classes/javax/lang/model/element/package-info.java

Print this page




  73  * implementing nested classes and {@linkplain
  74  * javax.lang.model.util.Elements.Origin#isBridge(ExecutableElement)
  75  * bridge methods} used in implementing covariant returns, are
  76  * translation artifacts strictly outside of this model. However, when
  77  * operating on class files, it is helpful be able to operate on such
  78  * elements, screening them out when appropriate.
  79  *
  80  * <p>During annotation processing, operating on incomplete or
  81  * erroneous programs is necessary; however, there are fewer
  82  * guarantees about the nature of the resulting model.  If the source
  83  * code is not syntactically well-formed or has some other
  84  * irrecoverable error that could not be removed by the generation of
  85  * new types, a model may or may not be provided as a quality of
  86  * implementation issue.
  87  * If a program is syntactically valid but erroneous in some other
  88  * fashion, any returned model must have no less information than if
  89  * all the method bodies in the program were replaced by {@code "throw
  90  * new RuntimeException();"}.  If a program refers to a missing type Xyz,
  91  * the returned model must contain no less information than if the
  92  * declaration of type Xyz were assumed to be {@code "class Xyz {}"},
  93  * {@code "interface Xyz {}"}, {@code "enum Xyz {}"}, or {@code
  94  * "@interface Xyz {}"}. If a program refers to a missing type {@code
  95  * Xyz<K1, ... ,Kn>}, the returned model must contain no less
  96  * information than if the declaration of Xyz were assumed to be
  97  * {@code "class Xyz<T1, ... ,Tn> {}"} or {@code "interface Xyz<T1,
  98  * ... ,Tn> {}"}
  99  *
 100  * <p> Unless otherwise specified in a particular implementation, the
 101  * collections returned by methods in this package should be expected
 102  * to be unmodifiable by the caller and unsafe for concurrent access.
 103  *
 104  * <p> Unless otherwise specified, methods in this package will throw
 105  * a {@code NullPointerException} if given a {@code null} argument.
 106  *
 107  * @author Joseph D. Darcy
 108  * @author Scott Seligman
 109  * @author Peter von der Ah&eacute;
 110  * @see javax.lang.model.util.Elements
 111  * @since 1.6
 112  */
 113 package javax.lang.model.element;


  73  * implementing nested classes and {@linkplain
  74  * javax.lang.model.util.Elements.Origin#isBridge(ExecutableElement)
  75  * bridge methods} used in implementing covariant returns, are
  76  * translation artifacts strictly outside of this model. However, when
  77  * operating on class files, it is helpful be able to operate on such
  78  * elements, screening them out when appropriate.
  79  *
  80  * <p>During annotation processing, operating on incomplete or
  81  * erroneous programs is necessary; however, there are fewer
  82  * guarantees about the nature of the resulting model.  If the source
  83  * code is not syntactically well-formed or has some other
  84  * irrecoverable error that could not be removed by the generation of
  85  * new types, a model may or may not be provided as a quality of
  86  * implementation issue.
  87  * If a program is syntactically valid but erroneous in some other
  88  * fashion, any returned model must have no less information than if
  89  * all the method bodies in the program were replaced by {@code "throw
  90  * new RuntimeException();"}.  If a program refers to a missing type Xyz,
  91  * the returned model must contain no less information than if the
  92  * declaration of type Xyz were assumed to be {@code "class Xyz {}"},
  93  * {@code "interface Xyz {}"}, {@code "enum Xyz {}"}, {@code
  94  * "@interface Xyz {}"}, or {@code "record Xyz {}"}. If a program refers to a missing type {@code
  95  * Xyz<K1, ... ,Kn>}, the returned model must contain no less
  96  * information than if the declaration of Xyz were assumed to be
  97  * {@code "class Xyz<T1, ... ,Tn> {}"} or {@code "interface Xyz<T1,
  98  * ... ,Tn> {}"}
  99  *
 100  * <p> Unless otherwise specified in a particular implementation, the
 101  * collections returned by methods in this package should be expected
 102  * to be unmodifiable by the caller and unsafe for concurrent access.
 103  *
 104  * <p> Unless otherwise specified, methods in this package will throw
 105  * a {@code NullPointerException} if given a {@code null} argument.
 106  *
 107  * @author Joseph D. Darcy
 108  * @author Scott Seligman
 109  * @author Peter von der Ah&eacute;
 110  * @see javax.lang.model.util.Elements
 111  * @since 1.6
 112  */
 113 package javax.lang.model.element;
< prev index next >