Hi Joe, I applied the patch and built a jdk, looks good to me.
(Not a Reviewer kind of reviewer tough.) cheers /Joel On 20 maj 2013, at 23:10, Joe Darcy <joe.da...@oracle.com> wrote: > Hello, > > Please review the patch below which implements > > 8014836: Have GenericDeclaration extend AnnotatedElement > > All the existing implementations of GenericDeclaration in the JDK already > implement AnnotatedElement. Some code in java.lang.Class needed to be > adjusted slightly since AnnotatedElement declares a default method and > calling an interface's default method in an implementing class has to go > through the direct interface type. > > Thanks, > > -Joe > > --- a/src/share/classes/java/lang/Class.java Mon May 20 11:56:46 2013 -0700 > +++ b/src/share/classes/java/lang/Class.java Mon May 20 14:07:15 2013 -0700 > @@ -28,6 +28,7 @@ > import java.lang.reflect.AnnotatedElement; > import java.lang.reflect.Array; > import java.lang.reflect.GenericArrayType; > +import java.lang.reflect.GenericDeclaration; > import java.lang.reflect.Member; > import java.lang.reflect.Field; > import java.lang.reflect.Executable; > @@ -115,9 +116,9 @@ > * @since JDK1.0 > */ > public final class Class<T> implements java.io.Serializable, > - java.lang.reflect.GenericDeclaration, > - java.lang.reflect.Type, > - java.lang.reflect.AnnotatedElement { > + GenericDeclaration, > + Type, > + AnnotatedElement { > private static final int ANNOTATION= 0x00002000; > private static final int ENUM = 0x00004000; > private static final int SYNTHETIC = 0x00001000; > @@ -3182,7 +3183,7 @@ > */ > @Override > public boolean isAnnotationPresent(Class<? extends Annotation> > annotationClass) { > - return AnnotatedElement.super.isAnnotationPresent(annotationClass); > + return GenericDeclaration.super.isAnnotationPresent(annotationClass); > } > > /** > diff -r 6a9148865139 > src/share/classes/java/lang/reflect/GenericDeclaration.java > --- a/src/share/classes/java/lang/reflect/GenericDeclaration.java Mon May 20 > 11:56:46 2013 -0700 > +++ b/src/share/classes/java/lang/reflect/GenericDeclaration.java Mon May 20 > 14:07:15 2013 -0700 > @@ -1,5 +1,5 @@ > /* > - * Copyright (c) 2003, 2011, Oracle and/or its affiliates. All rights > reserved. > + * Copyright (c) 2003, 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 > @@ -30,7 +30,7 @@ > * > * @since 1.5 > */ > -public interface GenericDeclaration { > +public interface GenericDeclaration extends AnnotatedElement { > /** > * Returns an array of {@code TypeVariable} objects that > * represent the type variables declared by the generic >