On Fri, 19 Mar 2021 15:20:00 GMT, Rafael Winterhalter
<[email protected]> wrote:
>> 8263763: The constructor of an enumeration prefixes with two synthetic
>> arguments for constant name and ordinal index. For this reason, the
>> constructor annotations need to be shifted two indices to the right, such
>> that the annotation indices match with the parameter indices.
>
> Rafael Winterhalter has refreshed the contents of this pull request, and
> previous commits have been removed. The incremental views will show
> differences compared to the previous content of the PR.
Marked as reviewed by darcy (Reviewer).
src/java.base/share/classes/java/lang/reflect/Constructor.java line 612:
> 610: Class<?> declaringClass = getDeclaringClass();
> 611: if (
> 612: declaringClass.isEnum()
Please format as
if (declaringClass.isEnum()) {
...
test/jdk/java/lang/annotation/EnumConstructorAnnotation.java line 39:
> 37: public static void main(String[] args) {
> 38: Constructor<?> c = SampleEnum.class.getDeclaredConstructors()[0];
> 39: Annotation[] a = c.getParameters()[2].getAnnotations();
The value of c.getParameters().getAnnotations() can be checked for consistency
against c.getParameterAnnotations(). (The type java.lang.reflect.Parameter was
added several releases after annotations were added.)
-------------
PR: https://git.openjdk.java.net/jdk/pull/3082