public class IRClosure extends IRScope
| Modifier and Type | Field and Description |
|---|---|
protected ArgumentDescriptor[] |
argDesc |
int |
closureId |
compilable, fullInterpreterContext, interpreterContext, LOG, nextClosureIndex, optimizedInterpreterContext| Modifier | Constructor and Description |
|---|---|
protected |
IRClosure(IRClosure c,
IRScope lexicalParent,
int closureId,
ByteList fullName)
Used by cloning code for inlining
|
protected |
IRClosure(IRManager manager,
IRScope lexicalParent,
int lineNumber,
StaticScope staticScope,
ByteList prefix) |
protected |
IRClosure(IRManager manager,
IRScope lexicalParent,
int lineNumber,
StaticScope staticScope,
ByteList prefix,
int coverageMode) |
protected |
IRClosure(IRManager manager,
IRScope lexicalParent,
int lineNumber,
StaticScope staticScope,
int closureId,
ByteList fullName) |
|
IRClosure(IRManager manager,
IRScope lexicalParent,
int lineNumber,
StaticScope staticScope,
Signature signature) |
|
IRClosure(IRManager manager,
IRScope lexicalParent,
int lineNumber,
StaticScope staticScope,
Signature signature,
ByteList prefix) |
|
IRClosure(IRManager manager,
IRScope lexicalParent,
int lineNumber,
StaticScope staticScope,
Signature signature,
ByteList prefix,
boolean isBeginEndBlock) |
|
IRClosure(IRManager manager,
IRScope lexicalParent,
int lineNumber,
StaticScope staticScope,
Signature signature,
ByteList prefix,
boolean isBeginEndBlock,
int coverageMode) |
|
IRClosure(IRManager manager,
IRScope lexicalParent,
int lineNumber,
StaticScope staticScope,
Signature signature,
int coverageMode) |
accessesParentsLocalVariables, addChildScope, addClosure, allocateInitialFlags, anyUsesEval, buildJVMExceptionTable, builtInterpreterContext, canCaptureCallersBinding, canReceiveBreaks, canReceiveNonlocalReturns, captureParentRefinements, cleanupAfterExecution, countForLoops, debugOutput, depends, dumpToIGV, equals, executesOnce, getByteName, getClosures, getCoverageMode, getExecutedPasses, getExecutionContext, getFile, getFileName, getFullInterpreterContext, getFullyQualifiedName, getId, getInterpreterContext, getLexicalParent, getLexicalScopes, getLine, getLineNumber, getLocalVariables, getManager, getName, getNearestMethod, getNearestModuleReferencingScopeDepth, getNearestTopLocalVariableScope, getNewLabel, getNextLabelIndex, getOptimizedInterpreterContext, getRootLexicalScope, getScopeId, getSelf, getStaticScope, hasBeenBuilt, hasBreakInstructions, hashCode, hasLoops, hasNonLocalReturns, inlineMethod, inlineMethodCompiled, inlineMethodJIT, inliningAllowed, isModuleBody, isNestedInClosure, isNonSingletonClassBody, isScopeContainedBy, isScriptScope, isWithinEND, lookupExistingLVar, maybeUsingRefinements, needsCodeCoverage, parentMaybeUsingRefinements, persistScopeFlags, prepareForCompilation, prepareFullBuild, receivesClosureArg, receivesKeywordArgs, removeClosure, setAccessesParentsLocalVariables, setCanCaptureCallersBinding, setCanReceiveBreaks, setCanReceiveNonlocalReturns, setCoverageMode, setFileName, setHasBreakInstructions, setHasLoops, setHasNonLocalReturns, setIsMaybeUsingRefinements, setNeedsCodeCoverage, setNextLabelIndex, setReceivesClosureArg, setReceivesKeywordArgs, setUsesEval, setUsesSuper, setUsesZSuper, toString, toStringCompileForm, toStringInstrs, usesEval, usesSuper, usesZSuperpublic final int closureId
protected ArgumentDescriptor[] argDesc
protected IRClosure(IRManager manager, IRScope lexicalParent, int lineNumber, StaticScope staticScope, ByteList prefix, int coverageMode)
protected IRClosure(IRManager manager, IRScope lexicalParent, int lineNumber, StaticScope staticScope, ByteList prefix)
protected IRClosure(IRManager manager, IRScope lexicalParent, int lineNumber, StaticScope staticScope, int closureId, ByteList fullName)
protected IRClosure(IRClosure c, IRScope lexicalParent, int closureId, ByteList fullName)
public IRClosure(IRManager manager, IRScope lexicalParent, int lineNumber, StaticScope staticScope, Signature signature)
public IRClosure(IRManager manager, IRScope lexicalParent, int lineNumber, StaticScope staticScope, Signature signature, int coverageMode)
public IRClosure(IRManager manager, IRScope lexicalParent, int lineNumber, StaticScope staticScope, Signature signature, ByteList prefix)
public IRClosure(IRManager manager, IRScope lexicalParent, int lineNumber, StaticScope staticScope, Signature signature, ByteList prefix, boolean isBeginEndBlock)
public IRClosure(IRManager manager, IRScope lexicalParent, int lineNumber, StaticScope staticScope, Signature signature, ByteList prefix, boolean isBeginEndBlock, int coverageMode)
public InterpreterContext allocateInterpreterContext(java.util.List<Instr> instructions, int temporaryVariableCount, java.util.EnumSet<IRFlags> flags)
IRScopeallocateInterpreterContext in class IRScopepublic InterpreterContext allocateInterpreterContext(java.util.function.Supplier<java.util.List<Instr>> instructions, int temporaryVariableCount, java.util.EnumSet<IRFlags> flags)
IRScopeallocateInterpreterContext in class IRScopepublic void setIsEND()
public boolean isEND()
public int getNextClosureId()
getNextClosureId in class IRScopepublic Label getNewLabel()
getNewLabel in class IRScopepublic IRScopeType getScopeType()
getScopeType in class IRScopepublic boolean isTopLocalVariableScope()
isTopLocalVariableScope in class IRScopepublic java.lang.String toStringBody()
public BlockBody getBlockBody()
public boolean isNestedClosuresSafeForMethodConversion()
public void setSource(IterNode iter)
protected LocalVariable findExistingLocalVariable(RubySymbol name, int scopeDepth)
findExistingLocalVariable in class IRScopepublic LocalVariable getNewLocalVariable(RubySymbol name, int depth)
getNewLocalVariable in class IRScopepublic LocalVariable getLocalVariable(RubySymbol name, int depth)
IRScopegetLocalVariable in class IRScopepublic void setByteName(ByteList name)
setByteName in class IRScopepublic Signature getSignature()
public ArgumentDescriptor[] getArgumentDescriptors()
public void setArgumentDescriptors(ArgumentDescriptor[] argDesc)
public void persistScopeHeader(IRWriterEncoder file)
persistScopeHeader in class IRScopeCopyright © 2001-2022 JRuby. All Rights Reserved.