public class CompiledIRBlockBody extends IRBlockBody
Modifier and Type | Field and Description |
---|---|
protected java.lang.invoke.MethodHandle |
handle |
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 |
getHandle() |
protected IRubyObject |
yieldDirect(ThreadContext context,
Block block,
IRubyObject[] args,
IRubyObject self) |
call, call, call, call, call, call, 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
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()
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-2018 JRuby. All Rights Reserved.