public class CompiledIRMethod extends DynamicMethod implements IRMethodArgs, PositionAware
DynamicMethod.NativeCall| Modifier and Type | Field and Description |
|---|---|
protected IRScope |
method |
protected java.lang.invoke.MethodHandle |
specific |
protected int |
specificArity |
protected java.lang.invoke.MethodHandle |
variable |
builtin, callConfig, handle, implementationClass, name, nativeCall, nativeCalls, notImplemented, protectedClass, serialNumber, visibility| Constructor and Description |
|---|
CompiledIRMethod(java.lang.invoke.MethodHandle variable,
IRScope method,
Visibility visibility,
RubyModule implementationClass,
boolean hasKwargs) |
CompiledIRMethod(java.lang.invoke.MethodHandle variable,
java.lang.invoke.MethodHandle specific,
int specificArity,
IRScope method,
Visibility visibility,
RubyModule implementationClass,
boolean hasKwargs) |
| Modifier and Type | Method and Description |
|---|---|
IRubyObject |
call(ThreadContext context,
IRubyObject self,
RubyModule clazz,
String name,
Block block)
Arity 0, with block; calls through IRubyObject[] path
|
IRubyObject |
call(ThreadContext context,
IRubyObject self,
RubyModule clazz,
String name,
IRubyObject[] args,
Block block)
The minimum 'call' method required for a dynamic method handle.
|
IRubyObject |
call(ThreadContext context,
IRubyObject self,
RubyModule clazz,
String name,
IRubyObject arg0,
Block block)
Arity 1, with block; calls through IRubyObject[] path
|
IRubyObject |
call(ThreadContext context,
IRubyObject self,
RubyModule clazz,
String name,
IRubyObject arg0,
IRubyObject arg1,
Block block)
Arity 2, with block; calls through IRubyObject[] path
|
IRubyObject |
call(ThreadContext context,
IRubyObject self,
RubyModule clazz,
String name,
IRubyObject arg0,
IRubyObject arg1,
IRubyObject arg2,
Block block)
Arity 3, with block; calls through IRubyObject[] path
|
IRubyObject |
callNoProtocol(ThreadContext context,
IRubyObject self,
RubyModule clazz,
String name,
Block block) |
IRubyObject |
callNoProtocol(ThreadContext context,
IRubyObject self,
RubyModule clazz,
String name,
IRubyObject arg0,
Block block) |
IRubyObject |
callNoProtocol(ThreadContext context,
IRubyObject self,
RubyModule clazz,
String name,
IRubyObject arg0,
IRubyObject arg1,
Block block) |
IRubyObject |
callNoProtocol(ThreadContext context,
IRubyObject self,
RubyModule clazz,
String name,
IRubyObject arg0,
IRubyObject arg1,
IRubyObject arg2,
Block block) |
DynamicMethod |
dup()
Duplicate this method, returning DynamicMethod referencing the same code
and with the same attributes.
|
ArgumentDescriptor[] |
getArgumentDescriptors()
Get the array of ArgumentDescriptors that represent the arguments to this method.
|
Arity |
getArity()
Retrieve the arity of this method, used for reporting arity to Ruby
code.
|
String |
getFile()
Get the filename for the method.
|
java.lang.invoke.MethodHandle |
getHandleFor(int arity) |
IRScope |
getIRMethod() |
int |
getLine()
Get the line number for the method.
|
Signature |
getSignature()
Get the Signature for this method.
|
StaticScope |
getStaticScope() |
protected void |
post(ThreadContext context) |
protected void |
pre(ThreadContext context,
StaticScope staticScope,
RubyModule implementationClass,
IRubyObject self,
String name,
Block block) |
calculateProtectedClass, call, call, call, call, call, getCallConfig, getHandle, getImplementationClass, getMethodData, getName, getNativeCall, getNativeCall, getProtectedClass, getRealMethod, getSerialNumber, getVisibility, init, isBuiltin, isCallableFrom, isImplementedBy, isNative, isNotImplemented, isNull, isUndefined, setCallConfig, setHandle, setImplementationClass, setIsBuiltin, setName, setNativeCall, setNativeCall, setNativeCall, setNotImplemented, setVisibilityprotected final java.lang.invoke.MethodHandle variable
protected final java.lang.invoke.MethodHandle specific
protected final int specificArity
protected final IRScope method
public CompiledIRMethod(java.lang.invoke.MethodHandle variable, IRScope method, Visibility visibility, RubyModule implementationClass, boolean hasKwargs)
public CompiledIRMethod(java.lang.invoke.MethodHandle variable, java.lang.invoke.MethodHandle specific, int specificArity, IRScope method, Visibility visibility, RubyModule implementationClass, boolean hasKwargs)
public IRScope getIRMethod()
public StaticScope getStaticScope()
public java.lang.invoke.MethodHandle getHandleFor(int arity)
public Signature getSignature()
IRMethodArgsgetSignature in interface IRMethodArgspublic ArgumentDescriptor[] getArgumentDescriptors()
IRMethodArgsgetArgumentDescriptors in interface IRMethodArgspublic Arity getArity()
DynamicMethodgetArity in class DynamicMethodprotected void post(ThreadContext context)
protected void pre(ThreadContext context, StaticScope staticScope, RubyModule implementationClass, IRubyObject self, String name, Block block)
public IRubyObject call(ThreadContext context, IRubyObject self, RubyModule clazz, 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 callclazz - 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 IRubyObject call(ThreadContext context, IRubyObject self, RubyModule clazz, String name, Block block)
DynamicMethodcall in class DynamicMethodpublic IRubyObject call(ThreadContext context, IRubyObject self, RubyModule clazz, String name, IRubyObject arg0, Block block)
DynamicMethodcall in class DynamicMethodpublic IRubyObject call(ThreadContext context, IRubyObject self, RubyModule clazz, String name, IRubyObject arg0, IRubyObject arg1, Block block)
DynamicMethodcall in class DynamicMethodpublic IRubyObject call(ThreadContext context, IRubyObject self, RubyModule clazz, String name, IRubyObject arg0, IRubyObject arg1, IRubyObject arg2, Block block)
DynamicMethodcall in class DynamicMethodpublic IRubyObject callNoProtocol(ThreadContext context, IRubyObject self, RubyModule clazz, String name, Block block) throws Throwable
Throwablepublic IRubyObject callNoProtocol(ThreadContext context, IRubyObject self, RubyModule clazz, String name, IRubyObject arg0, Block block) throws Throwable
Throwablepublic IRubyObject callNoProtocol(ThreadContext context, IRubyObject self, RubyModule clazz, String name, IRubyObject arg0, IRubyObject arg1, Block block) throws Throwable
Throwablepublic IRubyObject callNoProtocol(ThreadContext context, IRubyObject self, RubyModule clazz, String name, IRubyObject arg0, IRubyObject arg1, IRubyObject arg2, Block block) throws Throwable
Throwablepublic DynamicMethod dup()
DynamicMethoddup in class DynamicMethodpublic String getFile()
PositionAwaregetFile in interface PositionAwarepublic int getLine()
PositionAwaregetLine in interface PositionAwareCopyright © 2001-2015 JRuby. All Rights Reserved.