< prev index next >
src/java.compiler/share/classes/javax/lang/model/element/package-info.java
Print this page
*** 1,7 ****
/*
! * Copyright (c) 2005, 2013, 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
* under the terms of the GNU General Public License version 2 only, as
* published by the Free Software Foundation. Oracle designates this
--- 1,7 ----
/*
! * Copyright (c) 2005, 2016, 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
* under the terms of the GNU General Public License version 2 only, as
* published by the Free Software Foundation. Oracle designates this
*** 51,72 ****
* provide source position information.
*
* Names of parameters may not be recoverable from class files.
*
* The {@linkplain javax.lang.model.element.Modifier modifiers} on an
! * element may differ in some cases including:
*
* <ul>
* <li> {@code strictfp} on a class or interface
* <li> {@code final} on a parameter
* <li> {@code protected}, {@code private}, and {@code static} on classes and interfaces
* </ul>
*
! * Additionally, synthetic constructs in a class file, such as
! * accessor methods used in implementing nested classes and bridge
! * methods used in implementing covariant returns, are translation
! * artifacts outside of this model.
*
* <p>During annotation processing, operating on incomplete or
* erroneous programs is necessary; however, there are fewer
* guarantees about the nature of the resulting model. If the source
* code is not syntactically well-formed or has some other
--- 51,81 ----
* provide source position information.
*
* Names of parameters may not be recoverable from class files.
*
* The {@linkplain javax.lang.model.element.Modifier modifiers} on an
! * element created from a class file may differ in some cases from an
! * element for the same declaration created from a source file
! * including:
*
* <ul>
* <li> {@code strictfp} on a class or interface
* <li> {@code final} on a parameter
* <li> {@code protected}, {@code private}, and {@code static} on classes and interfaces
* </ul>
*
! * Some elements which are {@linkplain Elements.Naturalness#MANDATED
! * mandated} may not be marked as such when created from class files.
! *
! * Additionally, {@linkplain Elements.Naturalness#SYNTHETIC synthetic}
! * constructs in a class file, such as accessor methods used in
! * implementing nested classes and {@linkplain
! * Elements#isBridge(Element) bridge methods} used in implementing
! * covariant returns, are translation artifacts strictly outside of
! * this model. However, when operation on class files, it is helpful
! * be able to operate on such elements, screening them out when
! * appropriate.
*
* <p>During annotation processing, operating on incomplete or
* erroneous programs is necessary; however, there are fewer
* guarantees about the nature of the resulting model. If the source
* code is not syntactically well-formed or has some other
< prev index next >