public final Pointer getCallback(IRubyObject callable, CachingCallSite callSite) { if (callable instanceof Pointer) { return (Pointer) callable; } Object ffiHandle = callable.getMetaClass().getRealClass().getFFIHandleAccessorField().getVariableAccessorForRead().get(callable); NativeCallbackPointer cbptr; if (ffiHandle instanceof NativeCallbackPointer && ((cbptr = (NativeCallbackPointer) ffiHandle).cbInfo == callbackInfo)) { return cbptr; } return getCallbackPointer(callable, callSite); }
public final Pointer getCallback(IRubyObject callable, CachingCallSite callSite) { if (callable instanceof Pointer) { return (Pointer) callable; } Object ffiHandle = callable.getMetaClass().getRealClass().getFFIHandleAccessorField().getVariableAccessorForRead().get(callable); NativeCallbackPointer cbptr; if (ffiHandle instanceof NativeCallbackPointer && ((cbptr = (NativeCallbackPointer) ffiHandle).cbInfo == callbackInfo)) { return cbptr; } return getCallbackPointer(callable, callSite); }
public final Pointer getCallback(IRubyObject callable, CachingCallSite callSite) { if (callable instanceof Pointer) { return (Pointer) callable; } Object ffiHandle = callable.getMetaClass().getRealClass().getFFIHandleAccessorField().getVariableAccessorForRead().get(callable); NativeCallbackPointer cbptr; if (ffiHandle instanceof NativeCallbackPointer && ((cbptr = (NativeCallbackPointer) ffiHandle).cbInfo == callbackInfo)) { return cbptr; } return getCallbackPointer(callable, callSite); }
public final Pointer getCallback(IRubyObject callable, CachingCallSite callSite) { if (callable instanceof Pointer) { return (Pointer) callable; } Object ffiHandle = callable.getMetaClass().getRealClass().getFFIHandleAccessorField().getVariableAccessorForRead().get(callable); NativeCallbackPointer cbptr; if (ffiHandle instanceof NativeCallbackPointer && ((cbptr = (NativeCallbackPointer) ffiHandle).cbInfo == callbackInfo)) { return cbptr; } return getCallbackPointer(callable, callSite); }