public abstract class DelegatingDynamicMethod extends DynamicMethod
DynamicMethod.NativeCall| Modifier and Type | Field and Description |
|---|---|
protected DynamicMethod |
delegate |
builtin, callConfig, handle, implementationClass, name, nativeCall, nativeCalls, notImplemented, protectedClass, serialNumber, visibility| Constructor and Description |
|---|
DelegatingDynamicMethod(DynamicMethod delegate) |
| Modifier and Type | Method and Description |
|---|---|
IRubyObject |
call(ThreadContext context,
IRubyObject self,
RubyModule klazz,
String name)
Arity 0, no block
|
IRubyObject |
call(ThreadContext context,
IRubyObject self,
RubyModule klazz,
String name,
Block block)
Arity 0, with block; calls through IRubyObject[] path
|
IRubyObject |
call(ThreadContext context,
IRubyObject self,
RubyModule klazz,
String name,
IRubyObject arg)
Arity 1, no block
|
IRubyObject |
call(ThreadContext context,
IRubyObject self,
RubyModule klazz,
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,
String name,
IRubyObject[] args,
Block block)
The minimum 'call' method required for a dynamic method handle.
|
IRubyObject |
call(ThreadContext context,
IRubyObject self,
RubyModule klazz,
String name,
IRubyObject arg1,
Block block)
Arity 1, with block; calls through IRubyObject[] path
|
IRubyObject |
call(ThreadContext context,
IRubyObject self,
RubyModule klazz,
String name,
IRubyObject arg1,
IRubyObject arg2)
Arity 2, no block
|
IRubyObject |
call(ThreadContext context,
IRubyObject self,
RubyModule klazz,
String name,
IRubyObject arg1,
IRubyObject arg2,
Block block)
Arity 2, with block; calls through IRubyObject[] path
|
IRubyObject |
call(ThreadContext context,
IRubyObject self,
RubyModule klazz,
String name,
IRubyObject arg1,
IRubyObject arg2,
IRubyObject arg3)
Arity 3, no block
|
IRubyObject |
call(ThreadContext context,
IRubyObject self,
RubyModule klazz,
String name,
IRubyObject arg1,
IRubyObject arg2,
IRubyObject arg3,
Block block)
Arity 3, with block; calls through IRubyObject[] path
|
DynamicMethod |
dup()
Duplicate this method, returning DynamicMethod referencing the same code
and with the same attributes.
|
boolean |
equals(Object other) |
Arity |
getArity()
Retrieve the arity of this method, used for reporting arity to Ruby
code.
|
CallConfiguration |
getCallConfig()
Get the CallConfiguration used for pre/post logic for this method handle.
|
DynamicMethod |
getDelegate() |
Object |
getHandle()
Get the "handle" associated with this DynamicMethod.
|
RubyModule |
getImplementationClass()
Retrieve the class or module on which this method is implemented, used
for 'super' logic among others.
|
MethodData |
getMethodData()
Additional metadata about this method.
|
String |
getName()
Get the base name this method was defined as.
|
DynamicMethod.NativeCall |
getNativeCall() |
DynamicMethod.NativeCall |
getNativeCall(int args,
boolean block) |
protected RubyModule |
getProtectedClass()
Retrieve the pre-calculated "protected class" used for access checks.
|
DynamicMethod |
getRealMethod()
Get the "real" method contained within this method.
|
long |
getSerialNumber()
Get the global serial number for this method object
|
Visibility |
getVisibility()
Get the visibility of this method.
|
boolean |
isBuiltin() |
boolean |
isCallableFrom(IRubyObject caller,
CallType callType)
Determine whether this method is callable from the given object using
the given call type.
|
boolean |
isImplementedBy(RubyModule other) |
boolean |
isNative()
Returns true if this method is backed by native (i.e.
|
boolean |
isNotImplemented()
Whether this method is "not implemented".
|
void |
setCallConfig(CallConfiguration callConfig)
Set the CallConfiguration used for pre/post logic for this method handle.
|
void |
setHandle(Object handle)
Set the "handle" associated with this DynamicMethod.
|
void |
setImplementationClass(RubyModule implClass)
Set the class on which this method is implemented, used for 'super'
logic, among others.
|
void |
setIsBuiltin(boolean isBuiltin) |
void |
setName(String name)
Set the base name for this method.
|
void |
setNativeCall(Class nativeTarget,
String nativeName,
Class nativeReturn,
Class[] nativeSignature,
boolean statik)
Set the single-arity NativeCall for this method.
|
void |
setNativeCall(Class nativeTarget,
String nativeName,
Class nativeReturn,
Class[] nativeSignature,
boolean statik,
boolean java)
Set the single-arity NativeCall for this method.
|
void |
setNativeCall(int args,
boolean block,
DynamicMethod.NativeCall nativeCall) |
void |
setNotImplemented(boolean setNotImplemented)
Set whether this method is "not implemented".
|
void |
setVisibility(Visibility visibility)
Set the visibility of this method.
|
calculateProtectedClass, init, isNull, isUndefinedprotected final DynamicMethod delegate
public DelegatingDynamicMethod(DynamicMethod delegate)
public DynamicMethod getDelegate()
public IRubyObject call(ThreadContext context, IRubyObject self, RubyModule klazz, String name)
DynamicMethodcall in class DynamicMethodpublic IRubyObject call(ThreadContext context, IRubyObject self, RubyModule klazz, String name, IRubyObject arg)
DynamicMethodcall in class DynamicMethodpublic IRubyObject call(ThreadContext context, IRubyObject self, RubyModule klazz, String name, IRubyObject arg1, IRubyObject arg2)
DynamicMethodcall in class DynamicMethodpublic IRubyObject call(ThreadContext context, IRubyObject self, RubyModule klazz, String name, IRubyObject arg1, IRubyObject arg2, IRubyObject arg3)
DynamicMethodcall in class DynamicMethodpublic IRubyObject call(ThreadContext context, IRubyObject self, RubyModule klazz, String name, IRubyObject[] args)
DynamicMethodcall in class DynamicMethodcontext - The thread context for the currently executing threadself - The 'self' or 'receiver' object to use for this callklazz - The Ruby class against which this method is bindingname - The incoming name used to invoke this methodargs - The first argument to this invocationpublic IRubyObject call(ThreadContext context, IRubyObject self, RubyModule klazz, String name, Block block)
DynamicMethodcall in class DynamicMethodpublic IRubyObject call(ThreadContext context, IRubyObject self, RubyModule klazz, String name, IRubyObject arg1, Block block)
DynamicMethodcall in class DynamicMethodpublic IRubyObject call(ThreadContext context, IRubyObject self, RubyModule klazz, String name, IRubyObject arg1, IRubyObject arg2, Block block)
DynamicMethodcall in class DynamicMethodpublic IRubyObject call(ThreadContext context, IRubyObject self, RubyModule klazz, String name, IRubyObject arg1, IRubyObject arg2, IRubyObject arg3, Block block)
DynamicMethodcall in class DynamicMethodpublic IRubyObject call(ThreadContext context, IRubyObject self, RubyModule klazz, String name, IRubyObject[] args, Block block)
DynamicMethodcall in class DynamicMethodcontext - The thread context for the currently executing threadself - The 'self' or 'receiver' object to use for this callklazz - 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 invocationpublic void setVisibility(Visibility visibility)
DynamicMethodsetVisibility in class DynamicMethodvisibility - The visibility of this methodpublic void setNativeCall(Class nativeTarget, String nativeName, Class nativeReturn, Class[] nativeSignature, boolean statik)
DynamicMethodsetNativeCall in class DynamicMethodnativeTarget - native method targetnativeName - native method namenativeReturn - native method returnnativeSignature - native method argumentsstatik - static?public void setIsBuiltin(boolean isBuiltin)
setIsBuiltin in class DynamicMethodpublic void setImplementationClass(RubyModule implClass)
DynamicMethodsetImplementationClass in class DynamicMethodimplClass - The class on which this method is implementedpublic void setCallConfig(CallConfiguration callConfig)
DynamicMethodsetCallConfig in class DynamicMethodcallConfig - The CallConfiguration for this method handlepublic boolean isNative()
DynamicMethodisNative in class DynamicMethodpublic boolean isCallableFrom(IRubyObject caller, CallType callType)
DynamicMethodisCallableFrom in class DynamicMethodcaller - The calling objectcallType - The type of callpublic boolean isBuiltin()
isBuiltin in class DynamicMethodpublic Visibility getVisibility()
DynamicMethodgetVisibility in class DynamicMethodpublic long getSerialNumber()
DynamicMethodgetSerialNumber in class DynamicMethodpublic DynamicMethod getRealMethod()
DynamicMethodgetRealMethod in class DynamicMethodprotected RubyModule getProtectedClass()
DynamicMethodgetProtectedClass in class DynamicMethodpublic DynamicMethod.NativeCall getNativeCall()
getNativeCall in class DynamicMethodpublic RubyModule getImplementationClass()
DynamicMethodgetImplementationClass in class DynamicMethodpublic boolean isImplementedBy(RubyModule other)
isImplementedBy in class DynamicMethodpublic CallConfiguration getCallConfig()
DynamicMethodgetCallConfig in class DynamicMethodpublic Arity getArity()
DynamicMethodgetArity in class DynamicMethodpublic String getName()
DynamicMethodgetName in class DynamicMethodpublic void setName(String name)
DynamicMethodsetName in class DynamicMethodname - the name to setpublic boolean isNotImplemented()
DynamicMethodisNotImplemented in class DynamicMethodpublic void setNotImplemented(boolean setNotImplemented)
DynamicMethodsetNotImplemented in class DynamicMethodpublic MethodData getMethodData()
DynamicMethodgetMethodData in class DynamicMethodpublic void setHandle(Object handle)
DynamicMethodsetHandle in class DynamicMethodhandle - the handlepublic Object getHandle()
DynamicMethodgetHandle in class DynamicMethodpublic void setNativeCall(int args,
boolean block,
DynamicMethod.NativeCall nativeCall)
setNativeCall in class DynamicMethodpublic DynamicMethod.NativeCall getNativeCall(int args, boolean block)
getNativeCall in class DynamicMethodpublic void setNativeCall(Class nativeTarget, String nativeName, Class nativeReturn, Class[] nativeSignature, boolean statik, boolean java)
DynamicMethodsetNativeCall in class DynamicMethodnativeTarget - native method targetnativeName - native method namenativeReturn - native method returnnativeSignature - native method argumentsstatik - static?java - plain Java method?public DynamicMethod dup()
DynamicMethoddup in class DynamicMethodCopyright © 2001-2015 JRuby. All Rights Reserved.