Lines Matching defs:arrayClass
64 static MethodHandle makeArrayElementAccessor(Class<?> arrayClass, ArrayAccess access) {
65 if (arrayClass == Object[].class) {
68 if (!arrayClass.isArray())
69 throw newIllegalArgumentException("not an array: "+arrayClass);
70 MethodHandle[] cache = ArrayAccessor.TYPED_ACCESSORS.get(arrayClass);
74 mh = ArrayAccessor.getAccessor(arrayClass, access);
75 MethodType correctType = ArrayAccessor.correctType(arrayClass, access);
197 static String name(Class<?> arrayClass, ArrayAccess access) {
198 Class<?> elemClass = arrayClass.getComponentType();
199 if (elemClass == null) throw newIllegalArgumentException("not an array", arrayClass);
202 static MethodType type(Class<?> arrayClass, ArrayAccess access) {
203 Class<?> elemClass = arrayClass.getComponentType();
204 Class<?> arrayArgClass = arrayClass;
216 static MethodType correctType(Class<?> arrayClass, ArrayAccess access) {
217 Class<?> elemClass = arrayClass.getComponentType();
219 case GET: return MethodType.methodType(elemClass, arrayClass, int.class);
220 case SET: return MethodType.methodType(void.class, arrayClass, int.class, elemClass);
221 case LENGTH: return MethodType.methodType(int.class, arrayClass);
225 static MethodHandle getAccessor(Class<?> arrayClass, ArrayAccess access) {
226 String name = name(arrayClass, access);
227 MethodType type = type(arrayClass, access);