org.jruby.cext
Class NativeProcMethod

java.lang.Object
  extended by org.jruby.internal.runtime.methods.DynamicMethod
      extended by org.jruby.cext.NativeMethod
          extended by 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.


Nested Class Summary
 
Nested classes/interfaces inherited from class org.jruby.internal.runtime.methods.DynamicMethod
DynamicMethod.NativeCall
 
Field Summary
 
Fields inherited from class org.jruby.cext.NativeMethod
arity, function
 
Fields inherited from class org.jruby.internal.runtime.methods.DynamicMethod
builtin, callConfig, implementationClass, name, nativeCall, notImplemented, protectedClass, serialNumber, visibility
 
Constructor Summary
NativeProcMethod(RubyModule clazz, long function)
           
 
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.cext.NativeMethod
dup, getArity, isNative
 
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
 

Constructor Detail

NativeProcMethod

public NativeProcMethod(RubyModule clazz,
                        long function)
Method Detail

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 thread
recv - The 'self' or 'receiver' object to use for this call
name - 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 thread
recv - The 'self' or 'receiver' object to use for this call
name - The incoming name used to invoke this method
args - The argument list to this invocation
block - The block passed to this invocation
Returns:
The result of the call


Copyright © 2002-2009 JRuby Team. All Rights Reserved.