public class IRClosure extends IRScope
Modifier and Type | Field and Description |
---|---|
protected ArgumentDescriptor[] |
argDesc |
int |
closureId |
Label |
endLabel |
Label |
startLabel |
booleanVariableIndex, fixnumVariableIndex, floatVariableIndex, fullInterpreterContext, interpreterContext, LOG, temporaryVariableIndex, threadPollInstrsCount
Modifier | Constructor and Description |
---|---|
protected |
IRClosure(IRClosure c,
IRScope lexicalParent,
int closureId,
String fullName)
Used by cloning code
|
|
IRClosure(IRManager manager,
IRScope lexicalParent,
int lineNumber,
StaticScope staticScope,
Signature signature) |
|
IRClosure(IRManager manager,
IRScope lexicalParent,
int lineNumber,
StaticScope staticScope,
Signature signature,
boolean needsCoverage) |
|
IRClosure(IRManager manager,
IRScope lexicalParent,
int lineNumber,
StaticScope staticScope,
Signature signature,
String prefix) |
|
IRClosure(IRManager manager,
IRScope lexicalParent,
int lineNumber,
StaticScope staticScope,
Signature signature,
String prefix,
boolean isBeginEndBlock) |
|
IRClosure(IRManager manager,
IRScope lexicalParent,
int lineNumber,
StaticScope staticScope,
Signature signature,
String prefix,
boolean isBeginEndBlock,
boolean needsCoverage) |
protected |
IRClosure(IRManager manager,
IRScope lexicalParent,
int lineNumber,
StaticScope staticScope,
String prefix) |
addChildScope, addClosure, allocateNextPrefixedName, bindingHasEscaped, buildJVMExceptionTable, canReceiveNonlocalReturns, computeScopeFlags, computeScopeFlagsEarly, debugOutput, definesLocalVariable, depends, equals, getBeginBlocks, getBooleanVariablesCount, getCFG, getClosures, getCurrentModuleVariable, getCurrentScopeVariable, getEndBlocks, getExecutedPasses, getFileName, getFixnumVariablesCount, getFlags, getFloatVariablesCount, getFullInterpreterContext, getInterpreterContext, getLexicalParent, getLexicalScopes, getLineNumber, getLiveVariablesProblem, getLocalVariables, getLocalVariablesCount, getManager, getName, getNearestFlipVariableScope, getNearestMethod, getNearestModuleReferencingScopeDepth, getNearestTopLocalVariableScope, getNewInlineVariable, getNewLabel, getNewTemporaryVariableFor, getNewUnboxedVariable, getPrefixCountSize, getScopeId, getSelf, getStaticScope, getStoreLocalVarPlacementProblem, getTemporaryVariablesCount, getThreadPollInstrsCount, getTopLevelScope, getUnboxableOpsAnalysisProblem, getUsedLocalVariables, getUsedVariablesCount, getVarIndices, getYieldClosureVariable, hasBeenBuilt, hasExplicitCallProtocol, hashCode, hasLoops, inlineMethod, isModuleBody, isNestedInClosure, isNonSingletonClassBody, isScriptScope, isUnsafeScope, lookupExistingLVar, maybeUsingRefinements, needsBinding, needsFrame, parentMaybeUsingRefinements, prepareForCompilation, prepareFullBuild, putLiveVariablesProblem, putStoreLocalVarPlacementProblem, putUnboxableOpsAnalysisProblem, receivesKeywordArgs, recordBeginBlock, removeClosure, resetState, resetTemporaryVariables, resetVariableCounter, reuseParentScope, setExplicitCallProtocolFlag, setFileName, setHasLoopsFlag, setInterpreterContext, setIsMaybeUsingRefinements, setLabelIndices, setLocalVariables, setTemporaryVariableCount, setUpUseDefLocalVarMaps, toString, toStringInstrs, usesBackrefOrLastline, usesEval, usesLocalVariable, usesZSuper
public final Label startLabel
public final Label endLabel
public final int closureId
protected ArgumentDescriptor[] argDesc
protected IRClosure(IRManager manager, IRScope lexicalParent, int lineNumber, StaticScope staticScope, String prefix)
protected IRClosure(IRClosure c, IRScope lexicalParent, int closureId, String 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, boolean needsCoverage)
public IRClosure(IRManager manager, IRScope lexicalParent, int lineNumber, StaticScope staticScope, Signature signature, String prefix)
public IRClosure(IRManager manager, IRScope lexicalParent, int lineNumber, StaticScope staticScope, Signature signature, String prefix, boolean isBeginEndBlock)
public IRClosure(IRManager manager, IRScope lexicalParent, int lineNumber, StaticScope staticScope, Signature signature, String prefix, boolean isBeginEndBlock, boolean needsCoverage)
public InterpreterContext allocateInterpreterContext(List<Instr> instructions)
IRScope
allocateInterpreterContext
in class IRScope
public InterpreterContext allocateInterpreterContext(Callable<List<Instr>> instructions)
IRScope
allocateInterpreterContext
in class IRScope
public void setBeginEndBlock()
public boolean isBeginEndBlock()
isBeginEndBlock
in class IRScope
public int getNextClosureId()
getNextClosureId
in class IRScope
public LocalVariable getNewFlipStateVariable()
getNewFlipStateVariable
in class IRScope
public TemporaryLocalVariable createTemporaryVariable()
createTemporaryVariable
in class IRScope
public TemporaryLocalVariable getNewTemporaryVariable(TemporaryVariableType type)
getNewTemporaryVariable
in class IRScope
public Label getNewLabel()
getNewLabel
in class IRScope
public IRScopeType getScopeType()
getScopeType
in class IRScope
public boolean isTopLocalVariableScope()
isTopLocalVariableScope
in class IRScope
public boolean isFlipScope()
isFlipScope
in class IRScope
public String toStringBody()
public BlockBody getBlockBody()
public boolean isNestedClosuresSafeForMethodConversion()
public void setSource(IterNode iter)
protected LocalVariable findExistingLocalVariable(String name, int scopeDepth)
findExistingLocalVariable
in class IRScope
public LocalVariable getNewLocalVariable(String name, int depth)
getNewLocalVariable
in class IRScope
public LocalVariable getLocalVariable(String name, int depth)
IRScope
getLocalVariable
in class IRScope
public Signature getSignature()
public void setHandle(org.objectweb.asm.Handle handle)
public org.objectweb.asm.Handle getHandle()
public ArgumentDescriptor[] getArgumentDescriptors()
public void setArgumentDescriptors(ArgumentDescriptor[] argDesc)
Copyright © 2001-2016 JRuby. All Rights Reserved.