< prev index next >

src/java.base/share/classes/java/lang/invoke/MethodHandles.java

Print this page

        

*** 3484,3493 **** --- 3484,3499 ---- for (int i = 0; i < insCount; i++) { Object value = values[i]; Class<?> ptype = ptypes[pos+i]; if (ptype.isPrimitive()) { result = insertArgumentPrimitive(result, pos, ptype, value); + } else if (MinimalValueTypes_1_0.isValueType(ptype)) { + Class<?> vcc = MinimalValueTypes_1_0.getValueCapableClass(ptype); + Objects.requireNonNull(value); // throw NPE if needed + value = vcc.cast(value); // throw CCE if needed + MethodHandle unbox = ValueType.forClass(vcc).unbox(); + result = result.bindArgumentQ(pos, value, unbox); } else { value = ptype.cast(value); // throw CCE if needed result = result.bindArgumentL(pos, value); } }
< prev index next >