org.jruby.internal.runtime.methods
Class WrapperMethod

java.lang.Object
  extended by org.jruby.internal.runtime.methods.DynamicMethod
      extended by org.jruby.internal.runtime.methods.WrapperMethod

public class WrapperMethod
extends DynamicMethod

Author:
jpetersen

Field Summary
 
Fields inherited from class org.jruby.internal.runtime.methods.DynamicMethod
callConfig, implementationClass, protectedClass, visibility
 
Constructor Summary
WrapperMethod(RubyModule implementationClass, DynamicMethod method, Visibility visibility)
          Constructor for WrapperCallable.
 
Method Summary
 IRubyObject call(ThreadContext context, IRubyObject self, RubyModule klazz, java.lang.String name)
          A default implementation of zero arity, non-block 'call' method, which simply calls the zero-arity, block-receiving version with Block.NULL_BLOCK.
 IRubyObject call(ThreadContext context, IRubyObject self, RubyModule klazz, java.lang.String name, Block block)
          A default implementation of zero arity, block-receiving 'call' method, which simply calls the n-arity, block-receiving version with IRubyObject.NULL_ARRAY.
 IRubyObject call(ThreadContext context, IRubyObject self, RubyModule klazz, java.lang.String name, IRubyObject arg)
          A default implementation of one-arity, non-block 'call' method, which simply calls the one-arity, block-receiving version with the argument and Block.NULL_BLOCK.
 IRubyObject call(ThreadContext context, IRubyObject self, RubyModule klazz, 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 self, RubyModule klazz, java.lang.String name, IRubyObject[] args, Block block)
          The minimum 'call' method required for a dynamic method handle.
 IRubyObject call(ThreadContext context, IRubyObject self, RubyModule klazz, java.lang.String name, IRubyObject arg1, Block block)
          A default implementation of one-arity, block-receiving 'call' method, which simply calls the n-arity, block-receiving version with a boxed arg list.
 IRubyObject call(ThreadContext context, IRubyObject self, RubyModule klazz, java.lang.String name, IRubyObject arg1, IRubyObject arg2)
          A default implementation of two-arity, non-block 'call' method, which simply calls the two-arity, block-receiving version with the arguments and Block.NULL_BLOCK.
 IRubyObject call(ThreadContext context, IRubyObject self, RubyModule klazz, java.lang.String name, IRubyObject arg1, IRubyObject arg2, Block block)
          A default implementation of two-arity, block-receiving 'call' method, which simply calls the n-arity, block-receiving version with a boxed arg list.
 IRubyObject call(ThreadContext context, IRubyObject self, RubyModule klazz, java.lang.String name, IRubyObject arg1, IRubyObject arg2, IRubyObject arg3)
          A default implementation of three-arity, non-block 'call' method, which simply calls the three-arity, block-receiving version with the arguments and Block.NULL_BLOCK.
 IRubyObject call(ThreadContext context, IRubyObject self, RubyModule klazz, java.lang.String name, IRubyObject arg1, IRubyObject arg2, IRubyObject arg3, Block block)
          A default implementation of three-arity, block-receiving 'call' method, which simply calls the n-arity, block-receiving version with a boxed arg list.
 DynamicMethod dup()
          Duplicate this method, returning DynamicMethod referencing the same code and with the same attributes.
 
Methods inherited from class org.jruby.internal.runtime.methods.DynamicMethod
calculateProtectedClass, getArity, getCallConfig, getImplementationClass, getProtectedClass, getRealMethod, getVisibility, handleRedo, handleReturn, init, isCallableFrom, isNative, isUndefined, setCallConfig, setImplementationClass, setVisibility
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

WrapperMethod

public WrapperMethod(RubyModule implementationClass,
                     DynamicMethod method,
                     Visibility visibility)
Constructor for WrapperCallable.

Parameters:
visibility -
Method Detail

call

public IRubyObject call(ThreadContext context,
                        IRubyObject self,
                        RubyModule klazz,
                        java.lang.String name)
Description copied from class: DynamicMethod
A default implementation of zero arity, non-block 'call' method, which simply calls the zero-arity, block-receiving version with Block.NULL_BLOCK.

Overrides:
call in class DynamicMethod
Parameters:
context - The thread context for the currently executing thread
self - The 'self' or 'receiver' object to use for this call
klazz - The Ruby class against which this method is binding
name - The incoming name used to invoke this method
Returns:
The result of the call

call

public IRubyObject call(ThreadContext context,
                        IRubyObject self,
                        RubyModule klazz,
                        java.lang.String name,
                        IRubyObject arg)
Description copied from class: DynamicMethod
A default implementation of one-arity, non-block 'call' method, which simply calls the one-arity, block-receiving version with the argument and Block.NULL_BLOCK.

Overrides:
call in class DynamicMethod
Parameters:
context - The thread context for the currently executing thread
self - The 'self' or 'receiver' object to use for this call
klazz - The Ruby class against which this method is binding
name - The incoming name used to invoke this method
Returns:
The result of the call

call

public IRubyObject call(ThreadContext context,
                        IRubyObject self,
                        RubyModule klazz,
                        java.lang.String name,
                        IRubyObject arg1,
                        IRubyObject arg2)
Description copied from class: DynamicMethod
A default implementation of two-arity, non-block 'call' method, which simply calls the two-arity, block-receiving version with the arguments and Block.NULL_BLOCK.

Overrides:
call in class DynamicMethod
Parameters:
context - The thread context for the currently executing thread
self - The 'self' or 'receiver' object to use for this call
klazz - The Ruby class against which this method is binding
name - The incoming name used to invoke this method
arg1 - The first argument to this invocation
arg2 - The second argument to this invocation
Returns:
The result of the call

call

public IRubyObject call(ThreadContext context,
                        IRubyObject self,
                        RubyModule klazz,
                        java.lang.String name,
                        IRubyObject arg1,
                        IRubyObject arg2,
                        IRubyObject arg3)
Description copied from class: DynamicMethod
A default implementation of three-arity, non-block 'call' method, which simply calls the three-arity, block-receiving version with the arguments and Block.NULL_BLOCK.

Overrides:
call in class DynamicMethod
Parameters:
context - The thread context for the currently executing thread
self - The 'self' or 'receiver' object to use for this call
klazz - The Ruby class against which this method is binding
name - The incoming name used to invoke this method
arg1 - The first argument to this invocation
arg2 - The second argument to this invocation
Returns:
The result of the call

call

public IRubyObject call(ThreadContext context,
                        IRubyObject self,
                        RubyModule klazz,
                        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 DynamicMethod
Parameters:
context - The thread context for the currently executing thread
self - 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 self,
                        RubyModule klazz,
                        java.lang.String name,
                        Block block)
Description copied from class: DynamicMethod
A default implementation of zero arity, block-receiving 'call' method, which simply calls the n-arity, block-receiving version with IRubyObject.NULL_ARRAY.

Overrides:
call in class DynamicMethod
Parameters:
context - The thread context for the currently executing thread
self - The 'self' or 'receiver' object to use for this call
klazz - The Ruby class against which this method is binding
name - The incoming name used to invoke this method
block - The block passed to this invocation
Returns:
The result of the call

call

public IRubyObject call(ThreadContext context,
                        IRubyObject self,
                        RubyModule klazz,
                        java.lang.String name,
                        IRubyObject arg1,
                        Block block)
Description copied from class: DynamicMethod
A default implementation of one-arity, block-receiving 'call' method, which simply calls the n-arity, block-receiving version with a boxed arg list.

Overrides:
call in class DynamicMethod
Parameters:
context - The thread context for the currently executing thread
self - The 'self' or 'receiver' object to use for this call
klazz - The Ruby class against which this method is binding
name - The incoming name used to invoke this method
arg1 - The one argument to this method
block - The block passed to this invocation
Returns:
The result of the call

call

public IRubyObject call(ThreadContext context,
                        IRubyObject self,
                        RubyModule klazz,
                        java.lang.String name,
                        IRubyObject arg1,
                        IRubyObject arg2,
                        Block block)
Description copied from class: DynamicMethod
A default implementation of two-arity, block-receiving 'call' method, which simply calls the n-arity, block-receiving version with a boxed arg list.

Overrides:
call in class DynamicMethod
Parameters:
context - The thread context for the currently executing thread
self - The 'self' or 'receiver' object to use for this call
klazz - The Ruby class against which this method is binding
name - The incoming name used to invoke this method
arg1 - The first argument to this invocation
arg2 - The second argument to this invocation
block - The block passed to this invocation
Returns:
The result of the call

call

public IRubyObject call(ThreadContext context,
                        IRubyObject self,
                        RubyModule klazz,
                        java.lang.String name,
                        IRubyObject arg1,
                        IRubyObject arg2,
                        IRubyObject arg3,
                        Block block)
Description copied from class: DynamicMethod
A default implementation of three-arity, block-receiving 'call' method, which simply calls the n-arity, block-receiving version with a boxed arg list.

Overrides:
call in class DynamicMethod
Parameters:
context - The thread context for the currently executing thread
self - The 'self' or 'receiver' object to use for this call
klazz - The Ruby class against which this method is binding
name - The incoming name used to invoke this method
arg1 - The first argument to this invocation
arg2 - The second argument to this invocation
block - The block passed to this invocation
Returns:
The result of the call

call

public IRubyObject call(ThreadContext context,
                        IRubyObject self,
                        RubyModule klazz,
                        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.

Specified by:
call in class DynamicMethod
Parameters:
context - The thread context for the currently executing thread
self - 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

dup

public DynamicMethod dup()
Description copied from class: DynamicMethod
Duplicate this method, returning DynamicMethod referencing the same code and with the same attributes. It is not required that this method produce a new object if the semantics of the DynamicMethod subtype do not require such.

Specified by:
dup in class DynamicMethod
Returns:
An identical DynamicMethod object to the target.


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