review request (M): 7044892: JSR 292: API entry points sometimes throw the wrong exceptions or doesn't throw the expected one

Vladimir Kozlov vladimir.kozlov at oracle.com
Tue May 17 13:11:31 PDT 2011


java/lang/invoke/MethodTypeForm.java

double c != void.cl check:

+            if (c == void.class)
+                c = null;  // a Void parameter was unwrapped to void; ignore
+            if (c != null && c != void.class) {

Otherwise looks good as far as I understand.

Vladimir

John Rose wrote:
> http://cr.openjdk.java.net/~jrose/7044892/webrev.00/
> 
> 7044892: JSR 292: API entry points sometimes throw the wrong exceptions or doesn't throw the expected one
> 
> This is basically a bundle of point fixes having to do with corner cases.
> 
> Grouped under this bug:
>  
> 7038847: MethodType.fromMethodDescriptorString accepts both "binary names"/"internal form of binary names"
> 7038860: MethodType.methodType(Class rtype, Class[] ptypes) doesn't throw NPE if ptypes is null
> 7042656: JSR292: invokeExact/Generic doesn't throw UnsupportedOperationException if invoked via Method.invoke
> 7042829: JSR292: MethodHandles$Lookup.findStatic[S|G]etter throws InternalError if SecurityManager is set
> 7041853: findGetter throws unexpected IllegalAccessException
> -NOBUG-: asCollector throws ArrayIndexOutOfBoundsException instead of IllegalArgumentException for values outside [0..255]
> -NOBUG-: asVarargsCollector gets wrong trailing parameter type
> -NOBUG-: MethodType.unwrap on chokes on void if class Void occurs in the parameter list
> -NOBUG-: MethodHandle.toString need to produce compliant output


More information about the mlvm-dev mailing list