public class InterpretedIRBlockBody extends IRBlockBody implements Compilable<InterpreterContext>
Modifier and Type | Field and Description |
---|---|
protected boolean |
pushScope |
protected boolean |
reuseParentScope |
closure, fileName, lineNumber
scope
NULL_BODY, signature, testBlockBody
Constructor and Description |
---|
InterpretedIRBlockBody(IRClosure closure,
Signature signature) |
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) |
void |
completeBuild(InterpreterContext interpreterContext) |
InterpreterContext |
ensureInstrsReady() |
ArgumentDescriptor[] |
getArgumentDescriptors() |
java.lang.String |
getClassName(ThreadContext context) |
RubyModule |
getImplementationClass() |
IRScope |
getIRScope() |
java.lang.String |
getName() |
void |
setCallCount(int callCount) |
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
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
getFile, getLine
protected boolean pushScope
protected boolean reuseParentScope
public void setCallCount(int callCount)
setCallCount
in interface Compilable<InterpreterContext>
public void completeBuild(InterpreterContext interpreterContext)
completeBuild
in interface Compilable<InterpreterContext>
public IRScope getIRScope()
getIRScope
in interface Compilable<InterpreterContext>
public ArgumentDescriptor[] getArgumentDescriptors()
getArgumentDescriptors
in class BlockBody
public InterpreterContext ensureInstrsReady()
ensureInstrsReady
in interface Compilable<InterpreterContext>
public java.lang.String getClassName(ThreadContext context)
getClassName
in interface Compilable<InterpreterContext>
public java.lang.String getName()
getName
in interface Compilable<InterpreterContext>
public boolean canCallDirect()
canCallDirect
in class IRBlockBody
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
public RubyModule getImplementationClass()
getImplementationClass
in interface Compilable<InterpreterContext>
Copyright © 2001-2018 JRuby. All Rights Reserved.