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 TypeFieldDescriptionprotected 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, IRubyObject[] args, IRubyObject self, Block blockArg) voidcompleteBuild(ThreadContext context, InterpreterContext interpreterContext) booleanforceBuild(ThreadContext context) Force this Compilable to finish its build process.getName()getOwnerName(ThreadContext context) getScope()booleanIndicates whether this Compilable has completed its build process.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, isRubyBlock, 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
completeBuild, getClassName, getFile, getLine, getOwnerName
-
Field Details
-
pushScope
protected final boolean pushScope -
reuseParentScope
protected final boolean reuseParentScope
-
-
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
- Specified by:
getOwnerNamein interfaceCompilable<InterpreterContext>
-
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, IRubyObject[] args, IRubyObject self, Block blockArg) - Specified by:
commonYieldPathin classIRBlockBody
-
forceBuild
Description copied from interface:CompilableForce this Compilable to finish its build process. Override this andCompilable.isBuildComplete()for implementations that have a build process.- Specified by:
forceBuildin interfaceCompilable<InterpreterContext>- Parameters:
context- the current thread context- Returns:
- true if the forced build completed; false otherwise
-
isBuildComplete
public boolean isBuildComplete()Description copied from interface:CompilableIndicates whether this Compilable has completed its build process. Override this andCompilable.forceBuild(ThreadContext)for implementations that have a build process.- Specified by:
isBuildCompletein interfaceCompilable<InterpreterContext>- Returns:
- true if the build has completed; false otherwise.
-
getImplementationClass
- Specified by:
getImplementationClassin interfaceCompilable<InterpreterContext>
-
getScope
- Overrides:
getScopein classIRBlockBody
-