Lines Matching defs:arrayClass

2520      * @param arrayClass an array type
2523 * @throws IllegalArgumentException if {@code arrayClass} is not an array type
2528 MethodHandle arrayConstructor(Class<?> arrayClass) throws IllegalArgumentException {
2529 if (!arrayClass.isArray()) {
2530 throw newIllegalArgumentException("not an array class: " + arrayClass.getName());
2533 bindTo(arrayClass.getComponentType());
2534 return ani.asType(ani.type().changeReturnType(arrayClass));
2541 * @param arrayClass an array type
2544 * @throws IllegalArgumentException if arrayClass is not an array type
2548 MethodHandle arrayLength(Class<?> arrayClass) throws IllegalArgumentException {
2549 return MethodHandleImpl.makeArrayElementAccessor(arrayClass, MethodHandleImpl.ArrayAccess.LENGTH);
2557 * @param arrayClass an array type
2560 * @throws IllegalArgumentException if arrayClass is not an array type
2563 MethodHandle arrayElementGetter(Class<?> arrayClass) throws IllegalArgumentException {
2564 return MethodHandleImpl.makeArrayElementAccessor(arrayClass, MethodHandleImpl.ArrayAccess.GET);
2572 * @param arrayClass the class of an array
2575 * @throws IllegalArgumentException if arrayClass is not an array type
2578 MethodHandle arrayElementSetter(Class<?> arrayClass) throws IllegalArgumentException {
2579 return MethodHandleImpl.makeArrayElementAccessor(arrayClass, MethodHandleImpl.ArrayAccess.SET);
2584 * {@code arrayClass}. The VarHandle's variable type is the component type
2585 * of {@code arrayClass} and the list of coordinate types is
2586 * {@code (arrayClass, int)}, where the {@code int} coordinate type
2628 * @param arrayClass the class of an array, of type {@code T[]}
2630 * @throws NullPointerException if the arrayClass is null
2631 * @throws IllegalArgumentException if arrayClass is not an array type
2635 VarHandle arrayElementVarHandle(Class<?> arrayClass) throws IllegalArgumentException {
2636 return VarHandles.makeArrayElementHandle(arrayClass);