Package org.jruby.runtime
Class InterpretedIRBlockBody
java.lang.Object
org.jruby.runtime.BlockBody
org.jruby.runtime.ContextAwareBlockBody
org.jruby.runtime.IRBlockBody
org.jruby.runtime.InterpretedIRBlockBody
- All Implemented Interfaces:
Compilable<InterpreterContext>
-
Field Summary
FieldsModifier and TypeFieldDescriptionprivate intprivate final IRClosureprivate booleanprivate InterpreterContextprivate InterpreterContextprivate static final Loggerprotected final booleanprotected final booleanFields inherited from class org.jruby.runtime.IRBlockBody
fileName, lineNumberFields inherited from class org.jruby.runtime.ContextAwareBlockBody
scopeFields inherited from class org.jruby.runtime.BlockBody
NULL_BODY, signature, testBlockBody -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionprotected IRubyObjectcallDirect(ThreadContext context, Block block, IRubyObject[] args, Block blockArg) booleanprotected IRubyObjectcommonYieldPath(ThreadContext context, Block block, Block.Type type, IRubyObject[] args, IRubyObject self, Block blockArg) voidcompleteBuild(InterpreterContext interpreterContext) getName()Return the owning module/class name.getScope()private voidpromoteToFullBuild(ThreadContext context) voidsetCallCount(int callCount) protected IRubyObjectyieldDirect(ThreadContext context, Block block, IRubyObject[] args, IRubyObject self) Methods inherited from class org.jruby.runtime.IRBlockBody
call, call, call, call, call, call, doYield, doYield, doYieldLambda, getFile, getLine, postYield, toAry, yieldSpecific, yieldSpecific, yieldSpecific, yieldSpecificMethods inherited from class org.jruby.runtime.ContextAwareBlockBody
getStaticScope, post, pre, setStaticScopeMethods inherited from class org.jruby.runtime.BlockBody
arity, call, call, call, call, getSignature, getTestBlockBody, isGiven, prepareArgumentsForCall, testBlockBody, yield, yield, yield, yieldMethods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitMethods inherited from interface org.jruby.compiler.Compilable
getClassName, getFile, getLine
-
Field Details
-
LOG
-
pushScope
protected final boolean pushScope -
reuseParentScope
protected final boolean reuseParentScope -
displayedCFG
private boolean displayedCFG -
callCount
private int callCount -
interpreterContext
-
fullInterpreterContext
-
closure
-
-
Constructor Details
-
InterpretedIRBlockBody
-
-
Method Details
-
setCallCount
public void setCallCount(int callCount) - Specified by:
setCallCountin interfaceCompilable<InterpreterContext>
-
completeBuild
- Specified by:
completeBuildin interfaceCompilable<InterpreterContext>
-
getIRScope
- Specified by:
getIRScopein interfaceCompilable<InterpreterContext>
-
getArgumentDescriptors
- Overrides:
getArgumentDescriptorsin classBlockBody
-
ensureInstrsReady
- Specified by:
ensureInstrsReadyin interfaceCompilable<InterpreterContext>
-
getOwnerName
Description copied from interface:CompilableReturn the owning module/class name.- Specified by:
getOwnerNamein interfaceCompilable<InterpreterContext>- Returns:
- method/block owner's name
-
getName
- Specified by:
getNamein interfaceCompilable<InterpreterContext>- Returns:
- method/closure identifier
-
canCallDirect
public boolean canCallDirect()- Specified by:
canCallDirectin classIRBlockBody
-
callDirect
protected IRubyObject callDirect(ThreadContext context, Block block, IRubyObject[] args, Block blockArg) - Overrides:
callDirectin classBlockBody
-
yieldDirect
protected IRubyObject yieldDirect(ThreadContext context, Block block, IRubyObject[] args, IRubyObject self) - Overrides:
yieldDirectin classBlockBody
-
commonYieldPath
protected IRubyObject commonYieldPath(ThreadContext context, Block block, Block.Type type, IRubyObject[] args, IRubyObject self, Block blockArg) - Specified by:
commonYieldPathin classIRBlockBody
-
promoteToFullBuild
-
getImplementationClass
- Specified by:
getImplementationClassin interfaceCompilable<InterpreterContext>
-
getScope
- Overrides:
getScopein classIRBlockBody
-