for (int i = 0; i < parameterTypes.length; ++i) {
IRubyObject type = paramTypes.entry(i);
if (!(type instanceof Type)) {
throw context.runtime.newArgumentError("Invalid parameter type");
}
parameterTypes[i] = (Type) paramTypes.entry(i);
}
DirectMemoryIO fptr = (DirectMemoryIO) ptr.getMemoryIO();
return new JFFIInvoker(context.runtime, (RubyClass) recv, fptr,
(Type) returnType, parameterTypes,
"stdcall".equals(convention) ? CallingConvention.STDCALL : CallingConvention.DEFAULT,