--- a/jdk/src/share/classes/java/lang/invoke/MethodHandles.java Mon May 26 19:59:28 2014 +0400
+++ b/jdk/src/share/classes/java/lang/invoke/MethodHandles.java Mon Feb 24 18:11:55 2014 +0400
@@ -37,10 +37,11 @@
import sun.reflect.Reflection;
import sun.reflect.misc.ReflectUtil;
import sun.security.util.SecurityConstants;
+import java.lang.invoke.LambdaForm.BasicType;
+import static java.lang.invoke.LambdaForm.BasicType.*;
import static java.lang.invoke.MethodHandleStatics.*;
import static java.lang.invoke.MethodHandleNatives.Constants.*;
import java.util.concurrent.ConcurrentHashMap;
-import sun.security.util.SecurityConstants;
/**
* This class consists exclusively of static methods that operate on or return
@@ -2189,12 +2190,12 @@
Object value = values[i];
Class<?> ptype = oldType.parameterType(pos+i);
if (ptype.isPrimitive()) {
- char btype = 'I';
+ BasicType btype = I_TYPE;
Wrapper w = Wrapper.forPrimitiveType(ptype);
switch (w) {
- case LONG: btype = 'J'; break;
- case FLOAT: btype = 'F'; break;
- case DOUBLE: btype = 'D'; break;
+ case LONG: btype = J_TYPE; break;
+ case FLOAT: btype = F_TYPE; break;
+ case DOUBLE: btype = D_TYPE; break;
}
// perform unboxing and/or primitive conversion
value = w.convert(value, ptype);
@@ -2205,7 +2206,7 @@
if (pos == 0) {
result = result.bindReceiver(value);
} else {
- result = result.bindArgument(pos, 'L', value);
+ result = result.bindArgument(pos, L_TYPE, value);
}
}
return result;