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) |
IRubyObject |
callMethodMissing(CacheEntry entry,
CallType callType,
ThreadContext context,
IRubyObject self,
java.lang.String name,
IRubyObject[] args,
Block block)
Variable arity method_missing invocation.
|
IRubyObject |
callMethodMissing(CacheEntry entry,
CallType callType,
ThreadContext context,
IRubyObject self,
java.lang.String name,
IRubyObject arg0,
Block block)
Arity one method_missing invocation
|
IRubyObject |
callMethodMissing(CacheEntry entry,
CallType callType,
ThreadContext context,
IRubyObject self,
java.lang.String name,
IRubyObject arg0,
IRubyObject arg1,
Block block)
Arity two method_missing invocation
|
IRubyObject |
callMethodMissing(CacheEntry entry,
CallType callType,
ThreadContext context,
IRubyObject self,
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) |
static boolean |
testMetaclass(RubyClass metaclass,
IRubyObject self) |
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.Throwable
public IRubyObject fail(ThreadContext context, IRubyObject caller, IRubyObject self, IRubyObject[] args, Block block) throws java.lang.Throwable
java.lang.Throwable
public IRubyObject fail(ThreadContext context, IRubyObject caller, IRubyObject self, Block block) throws java.lang.Throwable
java.lang.Throwable
public IRubyObject fail(ThreadContext context, IRubyObject caller, IRubyObject self, IRubyObject arg0, Block block) throws java.lang.Throwable
java.lang.Throwable
public IRubyObject fail(ThreadContext context, IRubyObject caller, IRubyObject self, IRubyObject arg0, IRubyObject arg1, Block block) throws java.lang.Throwable
java.lang.Throwable
public IRubyObject fail(ThreadContext context, IRubyObject caller, IRubyObject self, IRubyObject arg0, IRubyObject arg1, IRubyObject arg2, Block block) throws java.lang.Throwable
java.lang.Throwable
public 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.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, java.lang.String name, IRubyObject[] args, Block block)
public IRubyObject callMethodMissing(CacheEntry entry, CallType callType, ThreadContext context, IRubyObject self, java.lang.String name, IRubyObject arg0, Block block)
public IRubyObject callMethodMissing(CacheEntry entry, CallType callType, ThreadContext context, IRubyObject self, java.lang.String name, IRubyObject arg0, IRubyObject arg1, Block block)
public IRubyObject callMethodMissing(CacheEntry entry, CallType callType, ThreadContext context, IRubyObject self, java.lang.String name, IRubyObject arg0, IRubyObject arg1, IRubyObject arg2, Block block)
public static boolean testMetaclass(RubyClass metaclass, IRubyObject self)
public static boolean testClass(java.lang.Object object, java.lang.Class clazz)
public java.lang.String toString()
toString
in class java.lang.Object
Copyright © 2001-2018 JRuby. All Rights Reserved.