nativeTarget = site.lookup().findVirtual(method.getClass(), "call", methodType(IRubyObject.class, callMethodParameters));
nativeTarget = site.lookup().findVirtual(method.getClass(), "call", methodType(IRubyObject.class, callMethodParameters));
.from(site.type().changeReturnType(void.class)) .insert(0, new Class[]{int.class, int.class, boolean.class}, required, optional, rest) .invokeStaticQuiet(site.lookup(), InvocationLinker.class, "checkArity"); nativeTarget = foldArguments(nativeTarget, arityCheck);
.permute(fullSig.to("context", "self", "arg*", "block")) .insert(0, scriptObject) .invokeStaticQuiet(site.lookup(), nativeCall.getNativeTarget(), nativeCall.getNativeName());
.from(site.type().changeReturnType(void.class)) .insert(0, new Class[]{int.class, int.class, boolean.class}, required, optional, rest) .invokeStaticQuiet(site.lookup(), InvocationLinker.class, "checkArity"); nativeTarget = foldArguments(nativeTarget, arityCheck);
.permute(fullSig.to("context", "self", "arg*", "block")) .insert(0, scriptObject) .invokeStaticQuiet(site.lookup(), nativeCall.getNativeTarget(), nativeCall.getNativeName());