public class IRClosure extends IRScope
IRScope.LocalVariableAllocator| Modifier and Type | Field and Description |
|---|---|
boolean |
addedGEBForUncaughtBreaks |
int |
closureId |
Label |
endLabel |
Label |
startLabel |
canReceiveBreaks, canReceiveNonlocalReturns, hasBreakInstrs, hasNonlocalReturns, temporaryVariableIndex| Modifier | Constructor and Description |
|---|---|
|
IRClosure(IRManager manager,
IRScope lexicalParent,
boolean isForLoopBody,
int lineNumber,
StaticScope staticScope,
Arity arity,
int argumentType,
boolean is1_8) |
protected |
IRClosure(IRManager manager,
IRScope lexicalParent,
String fileName,
int lineNumber,
StaticScope staticScope,
String prefix) |
| Modifier and Type | Method and Description |
|---|---|
protected boolean |
addGEBForUncaughtBreaks() |
void |
addInstr(Instr i) |
IRClosure |
cloneForClonedInstr(InlinerInfo ii) |
LocalVariable |
findExistingLocalVariable(String name,
int scopeDepth) |
Operand[] |
getBlockArgs() |
BlockBody |
getBlockBody() |
LocalVariable |
getImplicitBlockArg() |
LocalVariable |
getLocalVariable(String name,
int scopeDepth)
Find or create a local variable.
|
int |
getNestingDepth() |
LocalVariable |
getNewFlipStateVariable() |
Label |
getNewLabel() |
LocalVariable |
getNewLocalVariable(String name,
int depth) |
TemporaryVariable |
getNewTemporaryVariable() |
TemporaryVariable |
getNewTemporaryVariable(String name) |
int |
getNextClosureId() |
String[] |
getParameterList() |
String |
getScopeName() |
boolean |
isFlipScope() |
boolean |
isForLoopBody() |
boolean |
isTopLocalVariableScope() |
void |
setParameterList(String[] parameterList) |
String |
toStringBody() |
addChildScope, addClosure, addInstrAtBeginning, allocateNextPrefixedName, bindingHasEscaped, buildCFG, buildCFG, buildLinearization, canCaptureCallersBinding, canReceiveNonlocalReturns, cfg, checkRelinearization, computeScopeFlags, definesLocalVariable, depends, equals, getCFG, getClosures, getContainerModule, getCurrentModuleVariable, getCurrentScopeVariable, getDataFlowSolution, getEnsurerPC, getFileName, getInstrs, getInstrsForInterpretation, getLastInstr, getLexicalParent, getLexicalScopes, getLineNumber, getLocalVariablesCount, getManager, getName, getNearestFlipVariableScope, getNearestMethod, getNearestModuleReferencingScope, getNearestTopLocalVariableScope, getNewInlineVariable, getNewLabel, getPrefixCountSize, getRescuerPC, getScopeId, getSelf, getStaticScope, getTemporaryVariableSize, getThreadPollInstrsCount, getTopLevelScope, getUsedVariablesCount, hasExplicitCallProtocol, hashCode, hasLoops, initEvalScopeVariableAllocator, initFlipStateVariable, inlineMethod, isModuleBody, isNestedInClosure, isNonSingletonClassBody, isScriptScope, linearization, markUnusedImplicitBlockArg, modifiesCode, prepareForCompilation, prepareForInterpretation, receivesKeywordArgs, recordBeginBlock, recordEndBlock, resetCFG, resetDFProblemsState, resetLinearizationData, resetState, resetTemporaryVariables, resetVariableCounter, setCFG, setCodeModificationFlag, setDataFlowSolution, setExplicitCallProtocolFlag, setHasLoopsFlag, setName, setUpUseDefLocalVarMaps, splitCalls, toPersistableString, toString, toStringInstrs, toStringVariables, usesBackrefOrLastline, usesEval, usesLocalVariable, usesZSuperpublic final Label startLabel
public final Label endLabel
public final int closureId
public boolean addedGEBForUncaughtBreaks
public IRClosure(IRManager manager, IRScope lexicalParent, boolean isForLoopBody, int lineNumber, StaticScope staticScope, Arity arity, int argumentType, boolean is1_8)
protected IRClosure(IRManager manager, IRScope lexicalParent, String fileName, int lineNumber, StaticScope staticScope, String prefix)
public void setParameterList(String[] parameterList)
public String[] getParameterList()
public int getNextClosureId()
getNextClosureId in class IRScopepublic LocalVariable getNewFlipStateVariable()
getNewFlipStateVariable in class IRScopepublic TemporaryVariable getNewTemporaryVariable()
getNewTemporaryVariable in class IRScopepublic TemporaryVariable getNewTemporaryVariable(String name)
getNewTemporaryVariable in class IRScopepublic Label getNewLabel()
getNewLabel in class IRScopepublic String getScopeName()
getScopeName in class IRScopepublic boolean isForLoopBody()
isForLoopBody in class IRScopepublic boolean isTopLocalVariableScope()
isTopLocalVariableScope in class IRScopepublic boolean isFlipScope()
isFlipScope in class IRScopepublic Operand[] getBlockArgs()
public String toStringBody()
public BlockBody getBlockBody()
public LocalVariable findExistingLocalVariable(String name, int scopeDepth)
findExistingLocalVariable in class IRScopepublic LocalVariable getNewLocalVariable(String name, int depth)
getNewLocalVariable in class IRScopepublic LocalVariable getLocalVariable(String name, int scopeDepth)
IRScopegetLocalVariable in class IRScopepublic int getNestingDepth()
public LocalVariable getImplicitBlockArg()
getImplicitBlockArg in class IRScopepublic IRClosure cloneForClonedInstr(InlinerInfo ii)
protected boolean addGEBForUncaughtBreaks()
Copyright © 2001-2014 JRuby. All Rights Reserved.