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, syncAll
type
protected 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
Throwable
public IRubyObject fail(ThreadContext context, IRubyObject caller, IRubyObject self, IRubyObject[] args, Block block) throws Throwable
Throwable
public IRubyObject fail(ThreadContext context, IRubyObject caller, IRubyObject self, Block block) throws Throwable
Throwable
public IRubyObject fail(ThreadContext context, IRubyObject caller, IRubyObject self, IRubyObject arg0, Block block) throws Throwable
Throwable
public IRubyObject fail(ThreadContext context, IRubyObject caller, IRubyObject self, IRubyObject arg0, IRubyObject arg1, Block block) throws Throwable
Throwable
public IRubyObject fail(ThreadContext context, IRubyObject caller, IRubyObject self, IRubyObject arg0, IRubyObject arg1, IRubyObject arg2, Block block) throws Throwable
Throwable
public 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.MutableCallSite
public 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.