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 |
yieldThreeValuesHandle |
protected java.lang.invoke.MethodHandle |
yieldTwoValuesHandle |
closure, evalType, fileName, lineNumber
scope
NULL_BODY, signature, testBlockBody
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 |
getYieldThreeValuesHandle() |
java.lang.invoke.MethodHandle |
getYieldTwoValuesHandle() |
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
arity, call, call, call, call, getSignature, getTestBlockBody, isGiven, prepareArgumentsForCall, testBlockBody, yield, yield, yield, yield
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 yieldTwoValuesHandle
protected volatile java.lang.invoke.MethodHandle yieldThreeValuesHandle
public CompiledIRBlockBody(java.lang.invoke.MethodHandle handle, IRScope closure, long encodedSignature)
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 getYieldTwoValuesHandle()
public java.lang.invoke.MethodHandle getYieldThreeValuesHandle()
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.