public class CompiledIRBlockBody extends IRBlockBody
Modifier and Type | Field and Description |
---|---|
protected java.lang.invoke.MethodHandle |
handle |
protected java.lang.invoke.MethodHandle |
normalYieldHandle |
protected java.lang.invoke.MethodHandle |
normalYieldSpecificHandle |
protected java.lang.invoke.MethodHandle |
normalYieldUnwrapHandle |
protected java.lang.invoke.MethodHandle |
testBlockBody |
closure, evalType, fileName, lineNumber
scope
EMPTY_PARAMETER_LIST, NULL_BODY, signature
Constructor and Description |
---|
CompiledIRBlockBody(java.lang.invoke.MethodHandle handle,
IRScope closure,
long encodedSignature) |
Modifier and Type | Method and Description |
---|---|
protected IRubyObject |
callDirect(ThreadContext context,
Block block,
IRubyObject[] args,
Block blockArg) |
boolean |
canCallDirect() |
ArgumentDescriptor[] |
getArgumentDescriptors() |
java.lang.invoke.MethodHandle |
getHandle() |
java.lang.invoke.MethodHandle |
getNormalYieldHandle() |
java.lang.invoke.MethodHandle |
getNormalYieldSpecificHandle() |
java.lang.invoke.MethodHandle |
getNormalYieldUnwrapHandle() |
java.lang.invoke.MethodHandle |
getTestBlockBody() |
static boolean |
testBlockBody(Block block,
IRBlockBody body) |
protected IRubyObject |
yieldDirect(ThreadContext context,
Block block,
IRubyObject[] args,
IRubyObject self) |
call, call, call, call, call, call, commonYieldPath, doYield, doYield, doYieldLambda, getEvalType, getFile, getLine, getScope, setEvalType, yieldSpecific, yieldSpecific, yieldSpecific, yieldSpecific
getStaticScope, post, pre, setStaticScope
protected final java.lang.invoke.MethodHandle handle
protected volatile java.lang.invoke.MethodHandle normalYieldSpecificHandle
protected volatile java.lang.invoke.MethodHandle normalYieldHandle
protected volatile java.lang.invoke.MethodHandle normalYieldUnwrapHandle
protected volatile java.lang.invoke.MethodHandle testBlockBody
public CompiledIRBlockBody(java.lang.invoke.MethodHandle handle, IRScope closure, long encodedSignature)
public static boolean testBlockBody(Block block, IRBlockBody body)
public ArgumentDescriptor[] getArgumentDescriptors()
getArgumentDescriptors
in class BlockBody
public boolean canCallDirect()
canCallDirect
in class IRBlockBody
public java.lang.invoke.MethodHandle getHandle()
public java.lang.invoke.MethodHandle getNormalYieldSpecificHandle()
public java.lang.invoke.MethodHandle getNormalYieldHandle()
public java.lang.invoke.MethodHandle getNormalYieldUnwrapHandle()
public java.lang.invoke.MethodHandle getTestBlockBody()
protected IRubyObject callDirect(ThreadContext context, Block block, IRubyObject[] args, Block blockArg)
callDirect
in class BlockBody
protected IRubyObject yieldDirect(ThreadContext context, Block block, IRubyObject[] args, IRubyObject self)
yieldDirect
in class BlockBody
Copyright © 2001-2016 JRuby. All Rights Reserved.