org.jruby.internal.runtime.methods
Class MethodMissingMethod

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

public class MethodMissingMethod
extends DynamicMethod

Author:
enebo

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.internal.runtime.methods.DynamicMethod
builtin, callConfig, implementationClass, nativeCall, notImplemented, protectedClass, serialNumber, visibility
 
Constructor Summary
MethodMissingMethod(RubyModule implementationClass, RubyString name)
           
 
Method Summary
 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.
 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, call, call, call, call, call, call, call, call, call, call, call, call, call, call, call, call, call, call, call, call, call, call, call, getArity, getCallConfig, getImplementationClass, getName, getNativeCall, getProtectedClass, getRealMethod, getSerialNumber, getVisibility, handleBreak, handleRedo, handleReturn, init, isBuiltin, isCallableFrom, isNative, 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

MethodMissingMethod

public MethodMissingMethod(RubyModule implementationClass,
                           RubyString name)
Method Detail

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
See Also:
org.jruby.runtime.ICallable#call(Ruby, IRubyObject, String, IRubyObject[], boolean)

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-2009 JRuby Team. All Rights Reserved.