Uploaded image for project: 'JDK'
  1. JDK
  2. JDK-7086604

(reflect) Clarifications to javadoc for getGeneric*Type methods in j.l.r

    Details

    • Type: Enhancement
    • Status: Resolved
    • Priority: P4
    • Resolution: Fixed
    • Affects Version/s: 8
    • Fix Version/s: 13
    • Component/s: core-libs
    • Labels:

      Backports

        Description

        1) In java.lang.reflect.Field.getGenericType(), the text:

        "If the Type is a parameterized type, the Type object returned must accurately reflect the actual type parameters used in the source code."

        should be:

        "If the declared type of the field is a parameterized type, the Type object returned must accurately reflect the type arguments used in the source code."

        NB What exactly is being created or resolved in: "If the type of the underlying field is a type variable or a parameterized type, it is created. Otherwise, it is resolved."

        NB Since the Type object is not restricted to representing generic types (in fact it never does! generic type != parameterized type), a better name for the method would be Field.getDeclaredType.

        2) Similar changes apply to Method and Constructor:

        Type[] getGenericExceptionTypes()
        Type[] getGenericParameterTypes()
        Type getGenericReturnType()

        3) In Field.getAnnotation/getDeclaredAnnotations, Method.getAnnotation/getDeclaredAnnotations/getParameterAnnotations, and Constructor.getAnnotation/getDeclaredAnnotations/getParameterAnnotations, please state that the returned annotations are all declaration annotations. (Please do not turn "Returns an array of arrays that represent the annotations" into "Returns an array of arrays that represent the DECLARATION annotations" because that implies that non-declaration annotations might exist on the element, which cannot happen.)

          Attachments

            Issue Links

              Activity

                People

                • Assignee:
                  darcy Joe Darcy
                  Reporter:
                  abuckley Alex Buckley
                • Votes:
                  0 Vote for this issue
                  Watchers:
                  2 Start watching this issue

                  Dates

                  • Created:
                    Updated:
                    Resolved:
                    Imported:
                    Indexed: