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_9) |
protected |
IRClosure(IRManager manager,
IRScope lexicalParent,
java.lang.String fileName,
int lineNumber,
StaticScope staticScope,
java.lang.String prefix) |
| Modifier and Type | Method and Description |
|---|---|
protected boolean |
addGEBForUncaughtBreaks() |
void |
addInstr(Instr i) |
IRClosure |
cloneForClonedInstr(InlinerInfo ii) |
LocalVariable |
findExistingLocalVariable(java.lang.String name,
int scopeDepth) |
Operand[] |
getBlockArgs() |
BlockBody |
getBlockBody() |
LocalVariable |
getImplicitBlockArg() |
LocalVariable |
getLocalVariable(java.lang.String name,
int scopeDepth)
Find or create a local variable.
|
int |
getNestingDepth() |
LocalVariable |
getNewFlipStateVariable() |
Label |
getNewLabel() |
LocalVariable |
getNewLocalVariable(java.lang.String name,
int depth) |
TemporaryVariable |
getNewTemporaryVariable() |
TemporaryVariable |
getNewTemporaryVariable(java.lang.String name) |
int |
getNextClosureId() |
java.lang.String[] |
getParameterList() |
java.lang.String |
getScopeName() |
boolean |
isFlipScope() |
boolean |
isForLoopBody() |
boolean |
isTopLocalVariableScope() |
void |
setParameterList(java.lang.String[] parameterList) |
java.lang.String |
toStringBody() |
addChildScope, addClosure, addInstrAtBeginning, allocateNextPrefixedName, bindingHasEscaped, buildCFG, buildCFG, buildLinearization, canCaptureCallersBinding, canReceiveNonlocalReturns, cfg, checkRelinearization, computeScopeFlags, definesLocalVariable, depends, 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, getSelf, getStaticScope, getTemporaryVariableSize, getThreadPollInstrsCount, getTopLevelScope, getUsedVariablesCount, hasExplicitCallProtocol, hashCode, hasLoops, initEvalScopeVariableAllocator, initFlipStateVariable, inlineMethod, isModuleBody, isNestedInClosure, isNonSingletonClassBody, isScriptScope, linearization, markUnusedImplicitBlockArg, modifiesCode, prepareForCompilation, prepareForInterpretation, 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_9)
protected IRClosure(IRManager manager, IRScope lexicalParent, java.lang.String fileName, int lineNumber, StaticScope staticScope, java.lang.String prefix)
public void setParameterList(java.lang.String[] parameterList)
public java.lang.String[] getParameterList()
public int getNextClosureId()
getNextClosureId in class IRScopepublic LocalVariable getNewFlipStateVariable()
getNewFlipStateVariable in class IRScopepublic TemporaryVariable getNewTemporaryVariable()
getNewTemporaryVariable in class IRScopepublic TemporaryVariable getNewTemporaryVariable(java.lang.String name)
getNewTemporaryVariable in class IRScopepublic Label getNewLabel()
getNewLabel in class IRScopepublic java.lang.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 java.lang.String toStringBody()
public BlockBody getBlockBody()
public LocalVariable findExistingLocalVariable(java.lang.String name, int scopeDepth)
findExistingLocalVariable in class IRScopepublic LocalVariable getNewLocalVariable(java.lang.String name, int depth)
getNewLocalVariable in class IRScopepublic LocalVariable getLocalVariable(java.lang.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 © 2002-2009 JRuby Team. All Rights Reserved.