public abstract class NativeInvoker extends DynamicMethod
DynamicMethod.NativeCall, DynamicMethod.Version
Modifier and Type | Field and Description |
---|---|
protected Arity |
arity |
protected com.kenai.jffi.Function |
function |
definedClass, flags, handle, implementationClass, name, protectedClass, serialNumber
Constructor and Description |
---|
NativeInvoker(RubyModule implementationClass,
com.kenai.jffi.Function function,
org.jruby.ext.ffi.jffi.Signature signature) |
Modifier and Type | Method and Description |
---|---|
IRubyObject |
call(ThreadContext context,
IRubyObject self,
RubyModule clazz,
java.lang.String name,
IRubyObject[] args,
Block block)
The minimum 'call' method required for a dynamic method handle.
|
DynamicMethod |
dup()
Duplicate this method, returning DynamicMethod referencing the same code
and with the same attributes.
|
Arity |
getArity()
Retrieve the arity of this method, used for reporting arity to Ruby
code.
|
boolean |
isNative()
Returns true if this method is backed by native (i.e.
|
calculateProtectedClass, call, call, call, call, call, call, call, call, call, getCallConfig, getDefinedClass, getHandle, getImplementationClass, getMethodData, getName, getProtectedClass, getRealMethod, getSerialNumber, getVisibility, init, init, isBuiltin, isCallableFrom, isImplementedBy, isNotImplemented, isNull, isRefined, isUndefined, setCallConfig, setDefinedClass, setHandle, setImplementationClass, setIsBuiltin, setNotImplemented, setVisibility
protected final Arity arity
protected final com.kenai.jffi.Function function
public NativeInvoker(RubyModule implementationClass, com.kenai.jffi.Function function, org.jruby.ext.ffi.jffi.Signature signature)
public final DynamicMethod dup()
DynamicMethod
dup
in class DynamicMethod
public final Arity getArity()
DynamicMethod
getArity
in class DynamicMethod
public final boolean isNative()
DynamicMethod
isNative
in class DynamicMethod
public IRubyObject call(ThreadContext context, IRubyObject self, RubyModule clazz, java.lang.String name, IRubyObject[] args, Block block)
DynamicMethod
call
in class DynamicMethod
context
- The thread context for the currently executing threadself
- The 'self' or 'receiver' object to use for this callclazz
- The Ruby class against which this method is bindingname
- The incoming name used to invoke this methodargs
- The argument list to this invocationblock
- The block passed to this invocationCopyright © 2001-2020 JRuby. All Rights Reserved.