public abstract class InvokeSite
extends java.lang.invoke.MutableCallSite
| Modifier and Type | Field and Description |
|---|---|
CallType |
callType |
protected java.lang.String |
file |
protected int |
line |
protected java.lang.String |
methodName |
static java.lang.invoke.MethodHandle |
NEGATE |
| Constructor and Description |
|---|
InvokeSite(java.lang.invoke.MethodType type,
java.lang.String name,
CallType callType,
boolean literalClosure,
java.lang.String file,
int line) |
InvokeSite(java.lang.invoke.MethodType type,
java.lang.String name,
CallType callType,
java.lang.String file,
int line) |
| Modifier and Type | Method and Description |
|---|---|
static java.lang.invoke.CallSite |
bootstrap(InvokeSite site,
java.lang.invoke.MethodHandles.Lookup lookup) |
static IRubyObject |
callMethodMissing(CacheEntry entry,
CallType callType,
ThreadContext context,
IRubyObject self,
RubyClass selfClass,
java.lang.String name,
IRubyObject[] args,
Block block)
Variable arity method_missing invocation.
|
static IRubyObject |
callMethodMissing(CacheEntry entry,
CallType callType,
ThreadContext context,
IRubyObject self,
RubyClass selfClass,
java.lang.String name,
IRubyObject arg0,
Block block)
Arity one method_missing invocation
|
static IRubyObject |
callMethodMissing(CacheEntry entry,
CallType callType,
ThreadContext context,
IRubyObject self,
RubyClass selfClass,
java.lang.String name,
IRubyObject arg0,
IRubyObject arg1,
Block block)
Arity two method_missing invocation
|
static IRubyObject |
callMethodMissing(CacheEntry entry,
CallType callType,
ThreadContext context,
IRubyObject self,
RubyClass selfClass,
java.lang.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) |
java.lang.String |
name() |
static IRubyObject |
negate(IRubyObject object,
RubyNil nil,
RubyBoolean.True tru,
RubyBoolean.False fals) |
static 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(java.lang.Object object,
java.lang.Class clazz) |
java.lang.String |
toString() |
protected final java.lang.String methodName
protected final java.lang.String file
protected final int line
public final CallType callType
public static final java.lang.invoke.MethodHandle NEGATE
public InvokeSite(java.lang.invoke.MethodType type,
java.lang.String name,
CallType callType,
java.lang.String file,
int line)
public InvokeSite(java.lang.invoke.MethodType type,
java.lang.String name,
CallType callType,
boolean literalClosure,
java.lang.String file,
int line)
public java.lang.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 java.lang.Throwable
java.lang.Throwablepublic IRubyObject fail(ThreadContext context, IRubyObject caller, IRubyObject self, IRubyObject[] args, Block block) throws java.lang.Throwable
java.lang.Throwablepublic IRubyObject fail(ThreadContext context, IRubyObject caller, IRubyObject self, Block block) throws java.lang.Throwable
java.lang.Throwablepublic IRubyObject fail(ThreadContext context, IRubyObject caller, IRubyObject self, IRubyObject arg0, Block block) throws java.lang.Throwable
java.lang.Throwablepublic IRubyObject fail(ThreadContext context, IRubyObject caller, IRubyObject self, IRubyObject arg0, IRubyObject arg1, Block block) throws java.lang.Throwable
java.lang.Throwablepublic IRubyObject fail(ThreadContext context, IRubyObject caller, IRubyObject self, IRubyObject arg0, IRubyObject arg1, IRubyObject arg2, Block block) throws java.lang.Throwable
java.lang.Throwablepublic com.headius.invokebinder.Binder prepareBinder(boolean varargs)
varargs - whether to only call an arg-boxed variable arity pathpublic static IRubyObject negate(IRubyObject object, RubyNil nil, RubyBoolean.True tru, RubyBoolean.False fals)
public static 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 static IRubyObject callMethodMissing(CacheEntry entry, CallType callType, ThreadContext context, IRubyObject self, RubyClass selfClass, java.lang.String name, IRubyObject[] args, Block block)
public static IRubyObject callMethodMissing(CacheEntry entry, CallType callType, ThreadContext context, IRubyObject self, RubyClass selfClass, java.lang.String name, IRubyObject arg0, Block block)
public static IRubyObject callMethodMissing(CacheEntry entry, CallType callType, ThreadContext context, IRubyObject self, RubyClass selfClass, java.lang.String name, IRubyObject arg0, IRubyObject arg1, Block block)
public static IRubyObject callMethodMissing(CacheEntry entry, CallType callType, ThreadContext context, IRubyObject self, RubyClass selfClass, java.lang.String name, IRubyObject arg0, IRubyObject arg1, IRubyObject arg2, Block block)
public static boolean testClass(java.lang.Object object,
java.lang.Class clazz)
public java.lang.String toString()
toString in class java.lang.ObjectCopyright © 2001-2020 JRuby. All Rights Reserved.