public class CompiledIRBlockBody extends IRBlockBody
Modifier and Type | Field and Description |
---|---|
protected java.lang.invoke.MethodHandle |
callHandle |
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 |
yieldDirectHandle |
closure, 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() |
protected IRubyObject |
commonYieldPath(ThreadContext context,
Block block,
Block.Type type,
IRubyObject[] args,
IRubyObject self,
Block blockArg) |
ArgumentDescriptor[] |
getArgumentDescriptors() |
java.lang.invoke.MethodHandle |
getCallHandle() |
java.lang.invoke.MethodHandle |
getNormalYieldHandle() |
java.lang.invoke.MethodHandle |
getNormalYieldSpecificHandle() |
java.lang.invoke.MethodHandle |
getNormalYieldUnwrapHandle() |
protected IRubyObject |
yieldDirect(ThreadContext context,
Block block,
IRubyObject[] args,
IRubyObject self) |
call, call, call, call, call, call, doYield, doYield, doYieldLambda, getFile, getLine, getScope, toAry, 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 final java.lang.invoke.MethodHandle callHandle
protected final java.lang.invoke.MethodHandle yieldDirectHandle
protected java.lang.invoke.MethodHandle normalYieldHandle
protected java.lang.invoke.MethodHandle normalYieldSpecificHandle
protected java.lang.invoke.MethodHandle normalYieldUnwrapHandle
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 getCallHandle()
public java.lang.invoke.MethodHandle getNormalYieldSpecificHandle()
public java.lang.invoke.MethodHandle getNormalYieldHandle()
public java.lang.invoke.MethodHandle getNormalYieldUnwrapHandle()
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
protected IRubyObject commonYieldPath(ThreadContext context, Block block, Block.Type type, IRubyObject[] args, IRubyObject self, Block blockArg)
commonYieldPath
in class IRBlockBody
Copyright © 2001-2021 JRuby. All Rights Reserved.