Type parametrize uses of generic types in AnnotationInvocationHandler. Signed-off-by: Pekka Enberg <penb...@kernel.org> --- ChangeLog | 10 +++++++ .../annotation/AnnotationInvocationHandler.java | 28 ++++++++++---------- 2 files changed, 24 insertions(+), 14 deletions(-)
diff --git a/ChangeLog b/ChangeLog index 289a979..08f2d6e 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,5 +1,15 @@ 2013-03-09 Pekka Enberg <penb...@kernel.org> + * sun/reflect/annotation/AnnotationInvocationHandler.java: + (AnnotationInvocationHandler(Class, Map)): Add type parameters. + (create(Class, Map)): Add type parameters. + (equals(Class, Map)): Add type parameters. + (hashCode(Class, Map)): Add type parameters. + (toString(Class, Map)): Add type parameters. + (getBoxedReturnType(Method)): Add type parameters. + +2013-03-09 Pekka Enberg <penb...@kernel.org> + * .gitignore: Exclude autogen-generated files. 2013-03-04 Andrew John Hughes <gnu_and...@member.fsf.org> diff --git a/sun/reflect/annotation/AnnotationInvocationHandler.java b/sun/reflect/annotation/AnnotationInvocationHandler.java index 909e7ae..7494967 100644 --- a/sun/reflect/annotation/AnnotationInvocationHandler.java +++ b/sun/reflect/annotation/AnnotationInvocationHandler.java @@ -62,21 +62,21 @@ public final class AnnotationInvocationHandler implements InvocationHandler, Serializable { private static final long serialVersionUID = 6182022883658399397L; - private final Class type; - private final Map memberValues; + private final Class<? extends Annotation> type; + private final Map<String, Object> memberValues; /** * Construct a new invocation handler for an annotation proxy. * Note that the VM is responsible for filling the memberValues map * with the default values of all the annotation members. */ - public AnnotationInvocationHandler(Class type, Map memberValues) + public AnnotationInvocationHandler(Class<? extends Annotation> type, Map<String, Object> memberValues) { this.type = type; this.memberValues = memberValues; } - public static Annotation create(Class type, Map memberValues) + public static Annotation create(Class<? extends Annotation> type, Map<String, Object> memberValues) { for (Method m : type.getDeclaredMethods()) { @@ -90,7 +90,7 @@ public final class AnnotationInvocationHandler AnnotationInvocationHandler handler = new AnnotationInvocationHandler(type, memberValues); return (Annotation) Proxy.newProxyInstance(type.getClassLoader(), - new Class[] { type }, + new Class<?>[] { type }, handler); } @@ -106,7 +106,7 @@ public final class AnnotationInvocationHandler * (can) use different representations of annotations that reuse this * method. */ - public static boolean equals(Class type, Map memberValues, Object other) + public static boolean equals(Class<? extends Annotation> type, Map<String, Object> memberValues, Object other) { if (type.isInstance(other)) { @@ -217,13 +217,13 @@ public final class AnnotationInvocationHandler * (can) use different representations of annotations that reuse this * method. */ - public static int hashCode(Class type, Map memberValues) + public static int hashCode(Class<? extends Annotation> type, Map<String, Object> memberValues) { int h = 0; - Iterator iter = memberValues.keySet().iterator(); + Iterator<String> iter = memberValues.keySet().iterator(); while (iter.hasNext()) { - Object key = iter.next(); + String key = iter.next(); Object val = memberValues.get(key); h += deepHashCode(val) ^ 127 * key.hashCode(); } @@ -267,15 +267,15 @@ public final class AnnotationInvocationHandler * (can) use different representations of annotations that reuse this * method. */ - public static String toString(Class type, Map memberValues) + public static String toString(Class<? extends Annotation> type, Map<String, Object> memberValues) { StringBuffer sb = new StringBuffer(); sb.append('@').append(type.getName()).append('('); String sep = ""; - Iterator iter = memberValues.keySet().iterator(); + Iterator<String> iter = memberValues.keySet().iterator(); while (iter.hasNext()) { - Object key = iter.next(); + String key = iter.next(); Object val = memberValues.get(key); sb.append(sep).append(key).append('=').append(deepToString(val)); sep = ", "; @@ -284,9 +284,9 @@ public final class AnnotationInvocationHandler return sb.toString(); } - private static Class getBoxedReturnType(Method method) + private static Class<?> getBoxedReturnType(Method method) { - Class returnType = method.getReturnType(); + Class<?> returnType = method.getReturnType(); if (returnType == boolean.class) return Boolean.class; -- 1.7.7.6