public class InterpretedIRMethod extends DynamicMethod implements IRMethodArgs, PositionAware
DynamicMethod.NativeCall| Modifier and Type | Field and Description |
|---|---|
private Arity |
arity |
(package private) boolean |
displayedCFG |
private static Logger |
LOG |
private IRScope |
method |
builtin, callConfig, handle, implementationClass, name, nativeCall, nativeCalls, notImplemented, protectedClass, serialNumber, visibility| Constructor and Description |
|---|
InterpretedIRMethod(IRScope method,
RubyModule implementationClass) |
InterpretedIRMethod(IRScope method,
Visibility visibility,
RubyModule implementationClass) |
| Modifier and Type | Method and Description |
|---|---|
private Arity |
calculateArity() |
IRubyObject |
call(ThreadContext context,
IRubyObject self,
RubyModule clazz,
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.
|
Arity |
getArity()
Retrieve the arity of this method, used for reporting arity to Ruby
code.
|
java.lang.String |
getFile()
Get the filename for the method.
|
IRScope |
getIRMethod() |
int |
getLine()
Get the line number for the method.
|
java.util.List<java.lang.String[]> |
getParameterList() |
calculateProtectedClass, call, call, call, call, call, call, call, call, call, getCallConfig, getHandle, getImplementationClass, getMethodData, getName, getNativeCall, getNativeCall, getProtectedClass, getRealMethod, getSerialNumber, getVisibility, handleBreak, handleRedo, handleReturn, init, isBuiltin, isCallableFrom, isNative, isNotImplemented, isUndefined, setCallConfig, setHandle, setImplementationClass, setIsBuiltin, setName, setNativeCall, setNativeCall, setNativeCall, setNotImplemented, setVisibilityprivate static final Logger LOG
private final IRScope method
private Arity arity
boolean displayedCFG
public InterpretedIRMethod(IRScope method, Visibility visibility, RubyModule implementationClass)
public InterpretedIRMethod(IRScope method, RubyModule implementationClass)
public IRScope getIRMethod()
public java.util.List<java.lang.String[]> getParameterList()
getParameterList in interface IRMethodArgsprivate Arity calculateArity()
public Arity getArity()
DynamicMethodgetArity in class DynamicMethodpublic IRubyObject call(ThreadContext context, IRubyObject self, RubyModule clazz, 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 callname - The incoming name used to invoke this methodargs - The argument list to this invocationblock - The block passed to this invocationpublic DynamicMethod dup()
DynamicMethoddup in class DynamicMethodpublic java.lang.String getFile()
PositionAwaregetFile in interface PositionAwarepublic int getLine()
PositionAwaregetLine in interface PositionAware