public abstract class InvokeSite extends java.lang.invoke.MutableCallSite
| Modifier and Type | Field and Description |
|---|---|
CallType |
callType |
protected String |
file |
protected int |
line |
protected String |
methodName |
| Constructor and Description |
|---|
InvokeSite(java.lang.invoke.MethodType type,
String name,
CallType callType,
String file,
int line) |
| Modifier and Type | Method and Description |
|---|---|
static java.lang.invoke.CallSite |
bootstrap(InvokeSite site,
java.lang.invoke.MethodHandles.Lookup lookup) |
IRubyObject |
callMethodMissing(CacheEntry entry,
CallType callType,
ThreadContext context,
IRubyObject self,
String name,
IRubyObject[] args,
Block block)
Variable arity method_missing invocation.
|
IRubyObject |
callMethodMissing(CacheEntry entry,
CallType callType,
ThreadContext context,
IRubyObject self,
String name,
IRubyObject arg0,
Block block)
Arity one method_missing invocation
|
IRubyObject |
callMethodMissing(CacheEntry entry,
CallType callType,
ThreadContext context,
IRubyObject self,
String name,
IRubyObject arg0,
IRubyObject arg1,
Block block)
Arity two method_missing invocation
|
IRubyObject |
callMethodMissing(CacheEntry entry,
CallType callType,
ThreadContext context,
IRubyObject self,
String name,
IRubyObject arg0,
IRubyObject arg1,
IRubyObject arg2,
Block block)
Arity three method_missing invocation
|
IRubyObject |
fail(ThreadContext context,
IRubyObject caller,
IRubyObject self,
Block block)
Failover version uses a monomorphic cache and DynamicMethod.call, as in non-indy.
|
IRubyObject |
fail(ThreadContext context,
IRubyObject caller,
IRubyObject self,
IRubyObject[] args,
Block block)
Failover version uses a monomorphic cache and DynamicMethod.call, as in non-indy.
|
IRubyObject |
fail(ThreadContext context,
IRubyObject caller,
IRubyObject self,
IRubyObject arg0,
Block block)
Failover version uses a monomorphic cache and DynamicMethod.call, as in non-indy.
|
IRubyObject |
fail(ThreadContext context,
IRubyObject caller,
IRubyObject self,
IRubyObject arg0,
IRubyObject arg1,
Block block)
Failover version uses a monomorphic cache and DynamicMethod.call, as in non-indy.
|
IRubyObject |
fail(ThreadContext context,
IRubyObject caller,
IRubyObject self,
IRubyObject arg0,
IRubyObject arg1,
IRubyObject arg2,
Block block)
Failover version uses a monomorphic cache and DynamicMethod.call, as in non-indy.
|
IRubyObject |
invoke(ThreadContext context,
IRubyObject caller,
IRubyObject self,
IRubyObject[] args,
Block block) |
abstract boolean |
methodMissing(CacheEntry entry,
IRubyObject caller) |
String |
name() |
RubyClass |
pollAndGetClass(ThreadContext context,
IRubyObject self) |
com.headius.invokebinder.Binder |
prepareBinder(boolean varargs)
Prepare a binder for this call site's target, forcing varargs if specified
|
void |
setInitialTarget(java.lang.invoke.MethodHandle target) |
void |
setTarget(java.lang.invoke.MethodHandle target) |
static boolean |
testClass(Object object,
Class clazz) |
static boolean |
testMetaclass(RubyClass metaclass,
IRubyObject self) |
String |
toString() |
dynamicInvoker, getTarget, syncAlltypeprotected final String methodName
protected final String file
protected final int line
public final CallType callType
public InvokeSite(java.lang.invoke.MethodType type, String name, CallType callType, String file, int line)
public String name()
public static java.lang.invoke.CallSite bootstrap(InvokeSite site, java.lang.invoke.MethodHandles.Lookup lookup)
public IRubyObject invoke(ThreadContext context, IRubyObject caller, IRubyObject self, IRubyObject[] args, Block block) throws Throwable
Throwablepublic IRubyObject fail(ThreadContext context, IRubyObject caller, IRubyObject self, IRubyObject[] args, Block block) throws Throwable
Throwablepublic IRubyObject fail(ThreadContext context, IRubyObject caller, IRubyObject self, Block block) throws Throwable
Throwablepublic IRubyObject fail(ThreadContext context, IRubyObject caller, IRubyObject self, IRubyObject arg0, Block block) throws Throwable
Throwablepublic IRubyObject fail(ThreadContext context, IRubyObject caller, IRubyObject self, IRubyObject arg0, IRubyObject arg1, Block block) throws Throwable
Throwablepublic IRubyObject fail(ThreadContext context, IRubyObject caller, IRubyObject self, IRubyObject arg0, IRubyObject arg1, IRubyObject arg2, Block block) throws Throwable
Throwablepublic com.headius.invokebinder.Binder prepareBinder(boolean varargs)
varargs - whether to only call an arg-boxed variable arity pathpublic RubyClass pollAndGetClass(ThreadContext context, IRubyObject self)
public void setTarget(java.lang.invoke.MethodHandle target)
setTarget in class java.lang.invoke.MutableCallSitepublic void setInitialTarget(java.lang.invoke.MethodHandle target)
public abstract boolean methodMissing(CacheEntry entry, IRubyObject caller)
public IRubyObject callMethodMissing(CacheEntry entry, CallType callType, ThreadContext context, IRubyObject self, String name, IRubyObject[] args, Block block)
public IRubyObject callMethodMissing(CacheEntry entry, CallType callType, ThreadContext context, IRubyObject self, String name, IRubyObject arg0, Block block)
public IRubyObject callMethodMissing(CacheEntry entry, CallType callType, ThreadContext context, IRubyObject self, String name, IRubyObject arg0, IRubyObject arg1, Block block)
public IRubyObject callMethodMissing(CacheEntry entry, CallType callType, ThreadContext context, IRubyObject self, String name, IRubyObject arg0, IRubyObject arg1, IRubyObject arg2, Block block)
public static boolean testMetaclass(RubyClass metaclass, IRubyObject self)
Copyright © 2001-2017 JRuby. All Rights Reserved.