public static class CompiledMethod.LazyCompiledMethod extends DynamicMethod implements Cloneable, PositionAware, MethodArgs2
DynamicMethod.NativeCall
builtin, callConfig, handle, implementationClass, name, nativeCall, nativeCalls, notImplemented, protectedClass, serialNumber, visibility
Constructor and Description |
---|
CompiledMethod.LazyCompiledMethod(RubyModule implementationClass,
String rubyName,
String javaName,
Visibility visibility,
StaticScope scope,
Object scriptObject,
CallConfiguration callConfig,
ISourcePosition position,
String parameterDesc,
MethodFactory factory,
MethodNodes methodNodes) |
Modifier and Type | Method and Description |
---|---|
IRubyObject |
call(ThreadContext context,
IRubyObject self,
RubyModule clazz,
String name)
Arity 0, no block
|
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 arg0)
Arity 1, no block
|
IRubyObject |
call(ThreadContext context,
IRubyObject self,
RubyModule clazz,
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 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)
Arity 2, no block
|
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)
Arity 3, no block
|
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
|
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.
|
CallConfiguration |
getCallConfig()
Get the CallConfiguration used for pre/post logic for this method handle.
|
String |
getFile()
Get the filename for the method.
|
RubyModule |
getImplementationClass()
Retrieve the class or module on which this method is implemented, used
for 'super' logic among others.
|
int |
getLine()
Get the line number for the method.
|
String[] |
getParameterList() |
protected RubyModule |
getProtectedClass()
Retrieve the pre-calculated "protected class" used for access checks.
|
DynamicMethod |
getRealMethod()
Get the "real" method contained within this method.
|
Visibility |
getVisibility()
Get the visibility of this method.
|
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.
|
void |
setCallConfig(CallConfiguration callConfig)
Set the CallConfiguration used for pre/post logic for this method handle.
|
void |
setImplementationClass(RubyModule implClass)
Set the class on which this method is implemented, used for 'super'
logic, among others.
|
void |
setVisibility(Visibility visibility)
Set the visibility of this method.
|
calculateProtectedClass, getHandle, getMethodData, getName, getNativeCall, getNativeCall, getSerialNumber, handleBreak, handleRedo, handleReturn, init, isBuiltin, isNotImplemented, isNull, isUndefined, setHandle, setIsBuiltin, setName, setNativeCall, setNativeCall, setNativeCall, setNotImplemented
public CompiledMethod.LazyCompiledMethod(RubyModule implementationClass, String rubyName, String javaName, Visibility visibility, StaticScope scope, Object scriptObject, CallConfiguration callConfig, ISourcePosition position, String parameterDesc, MethodFactory factory, MethodNodes methodNodes)
public IRubyObject call(ThreadContext context, IRubyObject self, RubyModule clazz, String name)
DynamicMethod
call
in class DynamicMethod
public IRubyObject call(ThreadContext context, IRubyObject self, RubyModule clazz, String name, IRubyObject arg0)
DynamicMethod
call
in class DynamicMethod
public IRubyObject call(ThreadContext context, IRubyObject self, RubyModule clazz, String name, IRubyObject arg0, IRubyObject arg1)
DynamicMethod
call
in class DynamicMethod
public IRubyObject call(ThreadContext context, IRubyObject self, RubyModule clazz, String name, IRubyObject arg0, IRubyObject arg1, IRubyObject arg2)
DynamicMethod
call
in class DynamicMethod
public IRubyObject call(ThreadContext context, IRubyObject self, RubyModule clazz, String name, IRubyObject[] args)
DynamicMethod
call
in class DynamicMethod
context
- 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 first argument to this invocationpublic IRubyObject call(ThreadContext context, IRubyObject self, RubyModule clazz, String name, Block block)
DynamicMethod
call
in class DynamicMethod
public IRubyObject call(ThreadContext context, IRubyObject self, RubyModule clazz, String name, IRubyObject arg0, Block block)
DynamicMethod
call
in class DynamicMethod
public IRubyObject call(ThreadContext context, IRubyObject self, RubyModule clazz, String name, IRubyObject arg0, IRubyObject arg1, Block block)
DynamicMethod
call
in class DynamicMethod
public IRubyObject call(ThreadContext context, IRubyObject self, RubyModule clazz, String name, IRubyObject arg0, IRubyObject arg1, IRubyObject arg2, Block block)
DynamicMethod
call
in class DynamicMethod
public IRubyObject call(ThreadContext context, IRubyObject self, RubyModule clazz, String name, IRubyObject[] args, Block block)
DynamicMethod
call
in class DynamicMethod
context
- 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 Arity getArity()
DynamicMethod
getArity
in class DynamicMethod
public CallConfiguration getCallConfig()
DynamicMethod
getCallConfig
in class DynamicMethod
public RubyModule getImplementationClass()
DynamicMethod
getImplementationClass
in class DynamicMethod
public boolean isImplementedBy(RubyModule other)
isImplementedBy
in class DynamicMethod
protected RubyModule getProtectedClass()
DynamicMethod
getProtectedClass
in class DynamicMethod
public DynamicMethod getRealMethod()
DynamicMethod
getRealMethod
in class DynamicMethod
public Visibility getVisibility()
DynamicMethod
getVisibility
in class DynamicMethod
public boolean isCallableFrom(IRubyObject caller, CallType callType)
DynamicMethod
isCallableFrom
in class DynamicMethod
caller
- The calling objectcallType
- The type of callpublic boolean isNative()
DynamicMethod
isNative
in class DynamicMethod
public void setCallConfig(CallConfiguration callConfig)
DynamicMethod
setCallConfig
in class DynamicMethod
callConfig
- The CallConfiguration for this method handlepublic void setImplementationClass(RubyModule implClass)
DynamicMethod
setImplementationClass
in class DynamicMethod
implClass
- The class on which this method is implementedpublic void setVisibility(Visibility visibility)
DynamicMethod
setVisibility
in class DynamicMethod
visibility
- The visibility of this methodpublic DynamicMethod dup()
DynamicMethod
dup
in class DynamicMethod
public String getFile()
PositionAware
getFile
in interface PositionAware
public int getLine()
PositionAware
getLine
in interface PositionAware
public String[] getParameterList()
getParameterList
in interface MethodArgs2
Copyright © 2001-2015 JRuby. All Rights Reserved.