org.jruby.cext
Class NativeProcMethod
java.lang.Object
org.jruby.internal.runtime.methods.DynamicMethod
org.jruby.cext.NativeMethod
org.jruby.cext.NativeProcMethod
public class NativeProcMethod
- extends NativeMethod
A NativeProcMethod
represents native functions that are wrapped in a RubyProc
object. They don't have scoping as normal Procs do and are no closures.
Method Summary |
IRubyObject |
call(ThreadContext context,
IRubyObject recv,
RubyModule clazz,
java.lang.String name,
IRubyObject[] args)
A default implementation of n-arity, non-block 'call' method,
which simply calls the n-arity, block-receiving version with
the arg list and Block.NULL_BLOCK. |
IRubyObject |
call(ThreadContext context,
IRubyObject recv,
RubyModule clazz,
java.lang.String name,
IRubyObject[] args,
Block block)
The minimum 'call' method required for a dynamic method handle. |
Methods inherited from class org.jruby.internal.runtime.methods.DynamicMethod |
calculateProtectedClass, call, call, call, call, call, call, call, call, call, call, call, call, call, call, call, call, call, call, call, call, call, call, getCallConfig, getImplementationClass, getName, getNativeCall, getProtectedClass, getRealMethod, getSerialNumber, getVisibility, handleBreak, handleRedo, handleReturn, init, isBuiltin, isCallableFrom, isNotImplemented, isUndefined, setCallConfig, setImplementationClass, setIsBuiltin, setName, setNativeCall, setNotImplemented, setVisibility |
Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
NativeProcMethod
public NativeProcMethod(RubyModule clazz,
long function)
call
public IRubyObject call(ThreadContext context,
IRubyObject recv,
RubyModule clazz,
java.lang.String name,
IRubyObject[] args)
- Description copied from class:
DynamicMethod
- A default implementation of n-arity, non-block 'call' method,
which simply calls the n-arity, block-receiving version with
the arg list and Block.NULL_BLOCK.
- Overrides:
call
in class NativeMethod
- Parameters:
context
- The thread context for the currently executing threadrecv
- The 'self' or 'receiver' object to use for this callname
- The incoming name used to invoke this method
- Returns:
- The result of the call
call
public IRubyObject call(ThreadContext context,
IRubyObject recv,
RubyModule clazz,
java.lang.String name,
IRubyObject[] args,
Block block)
- Description copied from class:
DynamicMethod
- The minimum 'call' method required for a dynamic method handle.
Subclasses must impleemnt this method, but may implement the other
signatures to provide faster, non-boxing call paths. Typically
subclasses will implement this method to check variable arity calls,
then performing a specific-arity invocation to the appropriate method
or performing variable-arity logic in-line.
- Overrides:
call
in class NativeMethod
- Parameters:
context
- The thread context for the currently executing threadrecv
- The 'self' or 'receiver' object to use for this callname
- The incoming name used to invoke this methodargs
- The argument list to this invocationblock
- The block passed to this invocation
- Returns:
- The result of the call
Copyright © 2002-2009 JRuby Team. All Rights Reserved.