Re: [cp-patches] [PATCH] Fix raw type references in AnnotationInvocationHandler
On Wed, Oct 12, 2011 at 1:28 AM, Dr Andrew John Hughes ahug...@redhat.com wrote: We can't do this. This class is part of the VM interface and the VM interface is meant to work with 1.5. Would it be OK to use @SuppressWarnings here? I'd like to make builds less verbose. On Wed, Oct 12, 2011 at 1:28 AM, Dr Andrew John Hughes ahug...@redhat.com wrote: If we're going to change that, it should happen after the next release and with plenty of discussion / heads up for VMs. Right. I guess I could send patches for JamVM, CACAO, and Jato as well. Are there other VMs we care about? Pekka
Re: [cp-patches] [PATCH] Fix raw type references in AnnotationInvocationHandler
On 12 October 2011 03:52, Mark Wielaard m...@klomp.org wrote: On Wed, 2011-10-12 at 10:29 +0300, Pekka Enberg wrote: On Wed, Oct 12, 2011 at 1:28 AM, Dr Andrew John Hughes ahug...@redhat.com wrote: If we're going to change that, it should happen after the next release and with plenty of discussion / heads up for VMs. Right. I guess I could send patches for JamVM, CACAO, and Jato as well. Are there other VMs we care about? JikesRVM and GCJ of course! Although they only use part of the VM interface at this time. There is a somewhat full list at: https://www.gnu.org/software/classpath/stories.html#jvm Some of those are somewhat in hibernation though. Heay, and JATO is missing... And if we are going to extend/adapt the VM interface anyway, it would not harm to work on the Common Virtual Machine Interface (CVMI) project http://icedtea.classpath.org/wiki/CVMIDiscussion (Heay, I can dream :) Cheers, Mark Jikes RVM is woefully out-of-date wrt Classpath, MRP (http://mrp.codehaus.org/) isn't :-) Regards, Ian
Re: [cp-patches] [PATCH] Fix raw type references in AnnotationInvocationHandler
On 12:07 Wed 12 Oct , Ian Rogers wrote: On 12 October 2011 03:52, Mark Wielaard m...@klomp.org wrote: On Wed, 2011-10-12 at 10:29 +0300, Pekka Enberg wrote: On Wed, Oct 12, 2011 at 1:28 AM, Dr Andrew John Hughes ahug...@redhat.com wrote: If we're going to change that, it should happen after the next release and with plenty of discussion / heads up for VMs. Right. I guess I could send patches for JamVM, CACAO, and Jato as well. Are there other VMs we care about? JikesRVM and GCJ of course! Although they only use part of the VM interface at this time. There is a somewhat full list at: https://www.gnu.org/software/classpath/stories.html#jvm Some of those are somewhat in hibernation though. Heay, and JATO is missing... If we're going to do this, it needs to wait until after the next release. -- Andrew :) Free Java Software Engineer Red Hat, Inc. (http://www.redhat.com) Support Free Java! Contribute to GNU Classpath and IcedTea http://www.gnu.org/software/classpath http://icedtea.classpath.org PGP Key: 248BDC07 (https://keys.indymedia.org/) Fingerprint = EC5A 1F5E C0AD 1D15 8F1F 8F91 3B96 A578 248B DC07
Re: [cp-patches] [PATCH] Fix raw type references in AnnotationInvocationHandler
On Wed, Oct 12, 2011 at 3:16 PM, Dr Andrew John Hughes ahug...@redhat.com wrote: On 12:07 Wed 12 Oct , Ian Rogers wrote: On 12 October 2011 03:52, Mark Wielaard m...@klomp.org wrote: On Wed, 2011-10-12 at 10:29 +0300, Pekka Enberg wrote: On Wed, Oct 12, 2011 at 1:28 AM, Dr Andrew John Hughes ahug...@redhat.com wrote: If we're going to change that, it should happen after the next release and with plenty of discussion / heads up for VMs. Right. I guess I could send patches for JamVM, CACAO, and Jato as well. Are there other VMs we care about? JikesRVM and GCJ of course! Although they only use part of the VM interface at this time. There is a somewhat full list at: https://www.gnu.org/software/classpath/stories.html#jvm Some of those are somewhat in hibernation though. Heay, and JATO is missing... If we're going to do this, it needs to wait until after the next release. When is that? Brian
Re: [cp-patches] [PATCH] Fix raw type references in AnnotationInvocationHandler
On 16:26 Wed 12 Oct , Brian Jones wrote: On Wed, Oct 12, 2011 at 3:16 PM, Dr Andrew John Hughes ahug...@redhat.com wrote: On 12:07 Wed 12 Oct , Ian Rogers wrote: On 12 October 2011 03:52, Mark Wielaard m...@klomp.org wrote: On Wed, 2011-10-12 at 10:29 +0300, Pekka Enberg wrote: On Wed, Oct 12, 2011 at 1:28 AM, Dr Andrew John Hughes ahug...@redhat.com wrote: If we're going to change that, it should happen after the next release and with plenty of discussion / heads up for VMs. Right. I guess I could send patches for JamVM, CACAO, and Jato as well. Are there other VMs we care about? JikesRVM and GCJ of course! Although they only use part of the VM interface at this time. There is a somewhat full list at: https://www.gnu.org/software/classpath/stories.html#jvm Some of those are somewhat in hibernation though. Heay, and JATO is missing... If we're going to do this, it needs to wait until after the next release. When is that? I need to finish the fix for: http://gcc.gnu.org/bugzilla/show_bug.cgi?id=42390 and fix: https://bugzilla.redhat.com/show_bug.cgi?id=712013 Then we'll have a release, if there are no objections. Is anyone against moving the VM interfaces to 1.5 constructs post 0.99? Or adding 1.7 classes for that matter (which was discussed earlier)? Brian -- Andrew :) Free Java Software Engineer Red Hat, Inc. (http://www.redhat.com) Support Free Java! Contribute to GNU Classpath and IcedTea http://www.gnu.org/software/classpath http://icedtea.classpath.org PGP Key: 248BDC07 (https://keys.indymedia.org/) Fingerprint = EC5A 1F5E C0AD 1D15 8F1F 8F91 3B96 A578 248B DC07
[cp-patches] [PATCH] Fix raw type references in AnnotationInvocationHandler
This patch converts AnnotationInvoncationHandler to use parametrized types for Class, Map, and Iterator which kills few compilation warnings during build. Signed-off-by: Pekka Enberg penb...@kernel.org --- ChangeLog | 10 ++ .../annotation/AnnotationInvocationHandler.java| 31 +++ 2 files changed, 28 insertions(+), 13 deletions(-) diff --git a/ChangeLog b/ChangeLog index 7f57a9e..cf728f4 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,13 @@ +2011-10-11 Pekka Enberg penb...@kernel.org + + * sun/reflect/annotation/AnnotationInvocationHandler.java: + (AnnotationInvocationHandler): Parametrize raw types. + (create): Parametrize raw types. + (equals): Parametrize raw types. + (hashCode): Parametrize raw types. + (toString): Parametrize raw types. + (getBoxedReturnType): Parametrize raw types. + 2011-09-09 Andrew John Hughes ahug...@redhat.com PR classpath/45526: Produce header files for diff --git a/sun/reflect/annotation/AnnotationInvocationHandler.java b/sun/reflect/annotation/AnnotationInvocationHandler.java index 909e7ae..7d585a9 100644 --- a/sun/reflect/annotation/AnnotationInvocationHandler.java +++ b/sun/reflect/annotation/AnnotationInvocationHandler.java @@ -62,21 +62,23 @@ 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 MapString, 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, + MapString, Object memberValues) { this.type = type; this.memberValues = memberValues; } -public static Annotation create(Class type, Map memberValues) +public static Annotation create(Class? extends Annotation type, +MapString, Object memberValues) { for (Method m : type.getDeclaredMethods()) { @@ -106,7 +108,8 @@ 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, + MapString, Object memberValues, Object other) { if (type.isInstance(other)) { @@ -217,13 +220,14 @@ 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, + MapString, Object memberValues) { int h = 0; -Iterator iter = memberValues.keySet().iterator(); +IteratorString 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 +271,16 @@ 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, + MapString, Object memberValues) { StringBuffer sb = new StringBuffer(); sb.append('@').append(type.getName()).append('('); String sep = ; -Iterator iter = memberValues.keySet().iterator(); +IteratorString 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 +289,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.6.4
Re: [cp-patches] [PATCH] Fix raw type references in AnnotationInvocationHandler
On 00:00 Wed 12 Oct , Pekka Enberg wrote: This patch converts AnnotationInvoncationHandler to use parametrized types for Class, Map, and Iterator which kills few compilation warnings during build. Signed-off-by: Pekka Enberg penb...@kernel.org --- ChangeLog | 10 ++ .../annotation/AnnotationInvocationHandler.java| 31 +++ 2 files changed, 28 insertions(+), 13 deletions(-) diff --git a/ChangeLog b/ChangeLog index 7f57a9e..cf728f4 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,13 @@ +2011-10-11 Pekka Enberg penb...@kernel.org + + * sun/reflect/annotation/AnnotationInvocationHandler.java: + (AnnotationInvocationHandler): Parametrize raw types. + (create): Parametrize raw types. + (equals): Parametrize raw types. + (hashCode): Parametrize raw types. + (toString): Parametrize raw types. + (getBoxedReturnType): Parametrize raw types. + 2011-09-09 Andrew John Hughes ahug...@redhat.com PR classpath/45526: Produce header files for diff --git a/sun/reflect/annotation/AnnotationInvocationHandler.java b/sun/reflect/annotation/AnnotationInvocationHandler.java index 909e7ae..7d585a9 100644 --- a/sun/reflect/annotation/AnnotationInvocationHandler.java +++ b/sun/reflect/annotation/AnnotationInvocationHandler.java @@ -62,21 +62,23 @@ 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 MapString, 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, + MapString, Object memberValues) { this.type = type; this.memberValues = memberValues; } -public static Annotation create(Class type, Map memberValues) +public static Annotation create(Class? extends Annotation type, +MapString, Object memberValues) { for (Method m : type.getDeclaredMethods()) { @@ -106,7 +108,8 @@ 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, + MapString, Object memberValues, Object other) { if (type.isInstance(other)) { @@ -217,13 +220,14 @@ 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, + MapString, Object memberValues) { int h = 0; -Iterator iter = memberValues.keySet().iterator(); +IteratorString 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 +271,16 @@ 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, + MapString, Object memberValues) { StringBuffer sb = new StringBuffer(); sb.append('@').append(type.getName()).append('('); String sep = ; -Iterator iter = memberValues.keySet().iterator(); +IteratorString 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 +289,9 @@ public final class AnnotationInvocationHandler return sb.toString(); } -private static Class getBoxedReturnType(Method method) +private static Class? getBoxedReturnType(Method method) { -Class returnType = method.getReturnType();