< 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 >