public abstract class DelegatingDynamicMethod extends DynamicMethod
DynamicMethod.NativeCall, DynamicMethod.Version| Modifier and Type | Field and Description |
|---|---|
protected DynamicMethod |
delegate |
definedClass, flags, handle, implementationClass, name, protectedClass, serialNumber| Constructor and Description |
|---|
DelegatingDynamicMethod(DynamicMethod delegate) |
| Modifier and Type | Method and Description |
|---|---|
IRubyObject |
call(ThreadContext context,
IRubyObject self,
RubyModule klazz,
java.lang.String name)
Arity 0, no block
|
IRubyObject |
call(ThreadContext context,
IRubyObject self,
RubyModule klazz,
java.lang.String name,
Block block)
Arity 0, with block; calls through IRubyObject[] path
|
IRubyObject |
call(ThreadContext context,
IRubyObject self,
RubyModule klazz,
java.lang.String name,
IRubyObject arg)
Arity 1, no 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)
Arity 1, with block; calls through IRubyObject[] path
|
IRubyObject |
call(ThreadContext context,
IRubyObject self,
RubyModule klazz,
java.lang.String name,
IRubyObject arg1,
IRubyObject arg2)
Arity 2, no block
|
IRubyObject |
call(ThreadContext context,
IRubyObject self,
RubyModule klazz,
java.lang.String name,
IRubyObject arg1,
IRubyObject arg2,
Block block)
Arity 2, with block; calls through IRubyObject[] path
|
IRubyObject |
call(ThreadContext context,
IRubyObject self,
RubyModule klazz,
java.lang.String name,
IRubyObject arg1,
IRubyObject arg2,
IRubyObject arg3)
Arity 3, no block
|
IRubyObject |
call(ThreadContext context,
IRubyObject self,
RubyModule klazz,
java.lang.String name,
IRubyObject arg1,
IRubyObject arg2,
IRubyObject arg3,
Block block)
Arity 3, with block; calls through IRubyObject[] path
|
abstract DynamicMethod |
dup()
Duplicate this method, returning DynamicMethod referencing the same code
and with the same attributes.
|
boolean |
equals(java.lang.Object other) |
Arity |
getArity()
Deprecated.
|
DynamicMethod |
getDelegate() |
java.lang.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.
|
java.util.Collection<java.lang.String> |
getInstanceVariableNames() |
MethodData |
getMethodData()
Additional metadata about this method.
|
java.lang.String |
getName()
Get the base name this method was defined as.
|
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
|
Signature |
getSignature()
Retrieve the signature of this method.
|
Visibility |
getVisibility()
Get the visibility of this method.
|
boolean |
isBuiltin()
Whether this method is a builtin method, i.e.
|
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".
|
boolean |
isRefined() |
void |
setHandle(java.lang.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)
Force this method to be treated as a core built-in method if true,
or as a normal non-core method otherwise.
|
void |
setNotImplemented(boolean setNotImplemented)
Set whether this method is "not implemented".
|
void |
setVisibility(Visibility visibility)
Set the visibility of this method.
|
calculateProtectedClass, callRespondTo, getCallConfig, getDefinedClass, init, init, isNull, isUndefined, setCallConfig, setDefinedClassprotected final DynamicMethod delegate
public DelegatingDynamicMethod(DynamicMethod delegate)
public DynamicMethod getDelegate()
public IRubyObject call(ThreadContext context, IRubyObject self, RubyModule klazz, java.lang.String name)
DynamicMethodcall in class DynamicMethodpublic IRubyObject call(ThreadContext context, IRubyObject self, RubyModule klazz, java.lang.String name, IRubyObject arg)
DynamicMethodcall in class DynamicMethodpublic IRubyObject call(ThreadContext context, IRubyObject self, RubyModule klazz, java.lang.String name, IRubyObject arg1, IRubyObject arg2)
DynamicMethodcall in class DynamicMethodpublic IRubyObject call(ThreadContext context, IRubyObject self, RubyModule klazz, java.lang.String name, IRubyObject arg1, IRubyObject arg2, IRubyObject arg3)
DynamicMethodcall in class DynamicMethodpublic IRubyObject call(ThreadContext context, IRubyObject self, RubyModule klazz, java.lang.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, java.lang.String name, Block block)
DynamicMethodcall in class DynamicMethodpublic IRubyObject call(ThreadContext context, IRubyObject self, RubyModule klazz, java.lang.String name, IRubyObject arg1, Block block)
DynamicMethodcall in class DynamicMethodpublic IRubyObject call(ThreadContext context, IRubyObject self, RubyModule klazz, java.lang.String name, IRubyObject arg1, IRubyObject arg2, Block block)
DynamicMethodcall in class DynamicMethodpublic IRubyObject call(ThreadContext context, IRubyObject self, RubyModule klazz, java.lang.String name, IRubyObject arg1, IRubyObject arg2, IRubyObject arg3, Block block)
DynamicMethodcall in class DynamicMethodpublic IRubyObject call(ThreadContext context, IRubyObject self, RubyModule klazz, java.lang.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 setIsBuiltin(boolean isBuiltin)
DynamicMethodsetIsBuiltin in class DynamicMethodisBuiltin - true if this is a core built-in method, false otherwisepublic void setImplementationClass(RubyModule implClass)
DynamicMethodsetImplementationClass in class DynamicMethodimplClass - The class on which this method is implementedpublic 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()
DynamicMethodisBuiltin 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 RubyModule getImplementationClass()
DynamicMethodgetImplementationClass in class DynamicMethodpublic boolean isImplementedBy(RubyModule other)
isImplementedBy in class DynamicMethod@Deprecated public Arity getArity()
DynamicMethodgetArity in class DynamicMethodpublic Signature getSignature()
DynamicMethodgetSignature in class DynamicMethodpublic java.lang.String getName()
DynamicMethodgetName in class DynamicMethodpublic boolean isNotImplemented()
DynamicMethodisNotImplemented in class DynamicMethodpublic void setNotImplemented(boolean setNotImplemented)
DynamicMethodsetNotImplemented in class DynamicMethodpublic MethodData getMethodData()
DynamicMethodgetMethodData in class DynamicMethodpublic java.util.Collection<java.lang.String> getInstanceVariableNames()
getInstanceVariableNames in class DynamicMethodpublic void setHandle(java.lang.Object handle)
DynamicMethodsetHandle in class DynamicMethodhandle - the handlepublic java.lang.Object getHandle()
DynamicMethodgetHandle in class DynamicMethodpublic boolean isRefined()
isRefined in class DynamicMethodpublic abstract DynamicMethod dup()
DynamicMethoddup in class DynamicMethodpublic boolean equals(java.lang.Object other)
equals in class java.lang.ObjectCopyright © 2001-2022 JRuby. All Rights Reserved.