public abstract class CachingCallSite extends CallSite
Modifier and Type | Field and Description |
---|---|
protected CacheEntry |
cache |
callType, methodName
Constructor and Description |
---|
CachingCallSite(java.lang.String methodName,
CallType callType) |
Modifier and Type | Method and Description |
---|---|
protected IRubyObject |
cacheAndCall(IRubyObject caller,
RubyClass selfType,
ThreadContext context,
IRubyObject self,
IRubyObject arg) |
protected IRubyObject |
cacheAndCall(IRubyObject caller,
RubyClass selfType,
ThreadContext context,
IRubyObject self,
IRubyObject arg1,
IRubyObject arg2) |
IRubyObject |
call(ThreadContext context,
IRubyObject caller,
IRubyObject self)
Call the site's method against the target object passing no args.
|
IRubyObject |
call(ThreadContext context,
IRubyObject caller,
IRubyObject self,
Block block)
Call the site's method against the target object passing no arguments and
a non-literal (block pass, &) block.
|
IRubyObject |
call(ThreadContext context,
IRubyObject caller,
IRubyObject self,
double flote)
Call the site's method against the target object, passing a literal double
value.
|
IRubyObject |
call(ThreadContext context,
IRubyObject caller,
IRubyObject self,
IRubyObject... args)
Call the site's method against the target object passing arguments.
|
IRubyObject |
call(ThreadContext context,
IRubyObject caller,
IRubyObject self,
IRubyObject arg1)
Call the site's method against the target object passing one argument.
|
IRubyObject |
call(ThreadContext context,
IRubyObject caller,
IRubyObject self,
IRubyObject[] args,
Block block)
Call the site's method against the target object passing one argument and
a non-literal (block pass, &) block.
|
IRubyObject |
call(ThreadContext context,
IRubyObject caller,
IRubyObject self,
IRubyObject arg1,
Block block)
Call the site's method against the target object passing one argument and
a non-literal (block pass, &) block.
|
IRubyObject |
call(ThreadContext context,
IRubyObject caller,
IRubyObject self,
IRubyObject arg1,
IRubyObject arg2)
Call the site's method against the target object passing two arguments.
|
IRubyObject |
call(ThreadContext context,
IRubyObject caller,
IRubyObject self,
IRubyObject arg1,
IRubyObject arg2,
Block block)
Call the site's method against the target object passing two arguments and
a non-literal (block pass, &) block.
|
IRubyObject |
call(ThreadContext context,
IRubyObject caller,
IRubyObject self,
IRubyObject arg1,
IRubyObject arg2,
IRubyObject arg3)
Call the site's method against the target object passing two arguments.
|
IRubyObject |
call(ThreadContext context,
IRubyObject caller,
IRubyObject self,
IRubyObject arg1,
IRubyObject arg2,
IRubyObject arg3,
Block block)
Call the site's method against the target object passing three arguments and
a non-literal (block pass, &) block.
|
IRubyObject |
call(ThreadContext context,
IRubyObject caller,
IRubyObject self,
long fixnum)
Call the site's method against the target object, passing a literal long
value.
|
IRubyObject |
callIter(ThreadContext context,
IRubyObject caller,
IRubyObject self,
Block block)
Call the site's method against the target object passing no arguments and
a literal block.
|
IRubyObject |
callIter(ThreadContext context,
IRubyObject caller,
IRubyObject self,
IRubyObject[] args,
Block block)
Call the site's method against the target object passing arguments and
a literal block.
|
IRubyObject |
callIter(ThreadContext context,
IRubyObject caller,
IRubyObject self,
IRubyObject arg1,
Block block)
Call the site's method against the target object passing one argument and
a literal block.
|
IRubyObject |
callIter(ThreadContext context,
IRubyObject caller,
IRubyObject self,
IRubyObject arg1,
IRubyObject arg2,
Block block)
Call the site's method against the target object passing two arguments and
a literal block.
|
IRubyObject |
callIter(ThreadContext context,
IRubyObject caller,
IRubyObject self,
IRubyObject arg1,
IRubyObject arg2,
IRubyObject arg3,
Block block)
Call the site's method against the target object passing three arguments and
a literal block.
|
protected IRubyObject |
callMethodMissing(ThreadContext context,
IRubyObject self,
DynamicMethod method) |
protected IRubyObject |
callMethodMissing(ThreadContext context,
IRubyObject self,
DynamicMethod method,
Block block) |
protected IRubyObject |
callMethodMissing(ThreadContext context,
IRubyObject self,
DynamicMethod method,
IRubyObject arg) |
protected IRubyObject |
callMethodMissing(ThreadContext context,
IRubyObject self,
DynamicMethod method,
IRubyObject[] args) |
protected IRubyObject |
callMethodMissing(ThreadContext context,
IRubyObject self,
DynamicMethod method,
IRubyObject[] args,
Block block) |
protected IRubyObject |
callMethodMissing(ThreadContext context,
IRubyObject self,
DynamicMethod method,
IRubyObject arg0,
Block block) |
protected IRubyObject |
callMethodMissing(ThreadContext context,
IRubyObject self,
DynamicMethod method,
IRubyObject arg0,
IRubyObject arg1) |
protected IRubyObject |
callMethodMissing(ThreadContext context,
IRubyObject self,
DynamicMethod method,
IRubyObject arg0,
IRubyObject arg1,
Block block) |
protected IRubyObject |
callMethodMissing(ThreadContext context,
IRubyObject self,
DynamicMethod method,
IRubyObject arg0,
IRubyObject arg1,
IRubyObject arg2) |
protected IRubyObject |
callMethodMissing(ThreadContext context,
IRubyObject self,
DynamicMethod method,
IRubyObject arg0,
IRubyObject arg1,
IRubyObject arg2,
Block block) |
IRubyObject |
callVarargs(ThreadContext context,
IRubyObject caller,
IRubyObject self,
IRubyObject... args)
Call the site's method against the target object passing arguments.
|
IRubyObject |
callVarargs(ThreadContext context,
IRubyObject caller,
IRubyObject self,
IRubyObject[] args,
Block block)
Call the site's method against the target object passing one argument and
a non-literal (block pass, &) block.
|
IRubyObject |
callVarargsIter(ThreadContext context,
IRubyObject caller,
IRubyObject self,
IRubyObject[] args,
Block block)
Call the site's method against the target object passing arguments and
a literal block.
|
CacheEntry |
getCache() |
int |
getCachedClassIndex() |
long |
getCachedMethodSerial() |
protected static RubyClass |
getClass(IRubyObject self) |
java.lang.String |
getMethodName() |
boolean |
isBuiltin(RubyClass selfType) |
boolean |
isOptimizable() |
protected abstract boolean |
methodMissing(DynamicMethod method,
IRubyObject caller) |
CacheEntry |
retrieveCache(RubyClass selfType) |
CacheEntry |
retrieveCache(RubyClass selfType,
java.lang.String methodName) |
protected CacheEntry cache
public CachingCallSite(java.lang.String methodName, CallType callType)
public final CacheEntry getCache()
public final boolean isOptimizable()
public final int getCachedClassIndex()
public final java.lang.String getMethodName()
public final long getCachedMethodSerial()
public IRubyObject call(ThreadContext context, IRubyObject caller, IRubyObject self, long fixnum)
CallSite
public IRubyObject call(ThreadContext context, IRubyObject caller, IRubyObject self, double flote)
CallSite
public IRubyObject call(ThreadContext context, IRubyObject caller, IRubyObject self, IRubyObject... args)
CallSite
public IRubyObject call(ThreadContext context, IRubyObject caller, IRubyObject self, IRubyObject[] args, Block block)
CallSite
public final IRubyObject callIter(ThreadContext context, IRubyObject caller, IRubyObject self, IRubyObject[] args, Block block)
CallSite
public final IRubyObject callVarargs(ThreadContext context, IRubyObject caller, IRubyObject self, IRubyObject... args)
CallSite
callVarargs
in class CallSite
context
- the ThreadContext for the current threadcaller
- the caller, for visibility checksself
- the target object to call againstargs
- the arguments to passpublic final IRubyObject callVarargs(ThreadContext context, IRubyObject caller, IRubyObject self, IRubyObject[] args, Block block)
CallSite
callVarargs
in class CallSite
context
- the ThreadContext for the current threadcaller
- the caller, for visibility checksself
- the target object to call againstargs
- the arguments to passblock
- the block argument to passpublic final IRubyObject callVarargsIter(ThreadContext context, IRubyObject caller, IRubyObject self, IRubyObject[] args, Block block)
CallSite
callVarargsIter
in class CallSite
context
- the ThreadContext for the current threadcaller
- the caller, for visibility checksself
- the target object to call againstargs
- the arguments to passblock
- the literal block to passpublic IRubyObject call(ThreadContext context, IRubyObject caller, IRubyObject self)
CallSite
public IRubyObject call(ThreadContext context, IRubyObject caller, IRubyObject self, Block block)
CallSite
public final IRubyObject callIter(ThreadContext context, IRubyObject caller, IRubyObject self, Block block)
CallSite
public IRubyObject call(ThreadContext context, IRubyObject caller, IRubyObject self, IRubyObject arg1)
CallSite
public IRubyObject call(ThreadContext context, IRubyObject caller, IRubyObject self, IRubyObject arg1, Block block)
CallSite
public final IRubyObject callIter(ThreadContext context, IRubyObject caller, IRubyObject self, IRubyObject arg1, Block block)
CallSite
public IRubyObject call(ThreadContext context, IRubyObject caller, IRubyObject self, IRubyObject arg1, IRubyObject arg2)
CallSite
public IRubyObject call(ThreadContext context, IRubyObject caller, IRubyObject self, IRubyObject arg1, IRubyObject arg2, Block block)
CallSite
call
in class CallSite
context
- the ThreadContext for the current threadcaller
- the caller, for visibility checksself
- the target object to call againstarg1
- the first argument to passarg2
- the second argument to passblock
- the block argument to passpublic final IRubyObject callIter(ThreadContext context, IRubyObject caller, IRubyObject self, IRubyObject arg1, IRubyObject arg2, Block block)
CallSite
callIter
in class CallSite
context
- the ThreadContext for the current threadcaller
- the caller, for visibility checksself
- the target object to call againstarg1
- the first argument to passarg2
- the second argument to passblock
- the literal block to passpublic IRubyObject call(ThreadContext context, IRubyObject caller, IRubyObject self, IRubyObject arg1, IRubyObject arg2, IRubyObject arg3)
CallSite
call
in class CallSite
context
- the ThreadContext for the current threadcaller
- the caller, for visibility checksself
- the target object to call againstarg1
- the first argument to passarg2
- the second argument to passarg3
- the third argument to passpublic IRubyObject call(ThreadContext context, IRubyObject caller, IRubyObject self, IRubyObject arg1, IRubyObject arg2, IRubyObject arg3, Block block)
CallSite
call
in class CallSite
context
- the ThreadContext for the current threadcaller
- the caller, for visibility checksself
- the target object to call againstarg1
- the first argument to passarg2
- the second argument to passarg3
- the third argument to passblock
- the block argument to passpublic final IRubyObject callIter(ThreadContext context, IRubyObject caller, IRubyObject self, IRubyObject arg1, IRubyObject arg2, IRubyObject arg3, Block block)
CallSite
callIter
in class CallSite
context
- the ThreadContext for the current threadcaller
- the caller, for visibility checksself
- the target object to call againstarg1
- the first argument to passarg2
- the second argument to passarg3
- the third argument to passblock
- the literal block to passpublic final CacheEntry retrieveCache(RubyClass selfType)
public final CacheEntry retrieveCache(RubyClass selfType, java.lang.String methodName)
public final boolean isBuiltin(RubyClass selfType)
protected IRubyObject cacheAndCall(IRubyObject caller, RubyClass selfType, ThreadContext context, IRubyObject self, IRubyObject arg)
protected IRubyObject cacheAndCall(IRubyObject caller, RubyClass selfType, ThreadContext context, IRubyObject self, IRubyObject arg1, IRubyObject arg2)
protected final IRubyObject callMethodMissing(ThreadContext context, IRubyObject self, DynamicMethod method, IRubyObject[] args)
protected final IRubyObject callMethodMissing(ThreadContext context, IRubyObject self, DynamicMethod method)
protected final IRubyObject callMethodMissing(ThreadContext context, IRubyObject self, DynamicMethod method, Block block)
protected final IRubyObject callMethodMissing(ThreadContext context, IRubyObject self, DynamicMethod method, IRubyObject arg)
protected final IRubyObject callMethodMissing(ThreadContext context, IRubyObject self, DynamicMethod method, IRubyObject[] args, Block block)
protected final IRubyObject callMethodMissing(ThreadContext context, IRubyObject self, DynamicMethod method, IRubyObject arg0, Block block)
protected final IRubyObject callMethodMissing(ThreadContext context, IRubyObject self, DynamicMethod method, IRubyObject arg0, IRubyObject arg1)
protected final IRubyObject callMethodMissing(ThreadContext context, IRubyObject self, DynamicMethod method, IRubyObject arg0, IRubyObject arg1, Block block)
protected final IRubyObject callMethodMissing(ThreadContext context, IRubyObject self, DynamicMethod method, IRubyObject arg0, IRubyObject arg1, IRubyObject arg2)
protected final IRubyObject callMethodMissing(ThreadContext context, IRubyObject self, DynamicMethod method, IRubyObject arg0, IRubyObject arg1, IRubyObject arg2, Block block)
protected abstract boolean methodMissing(DynamicMethod method, IRubyObject caller)
protected static RubyClass getClass(IRubyObject self)
Copyright © 2001-2018 JRuby. All Rights Reserved.