public class IRScriptBody extends IRScope
booleanVariableIndex, fixnumVariableIndex, floatVariableIndex, fullInterpreterContext, interpreterContext, LOG, temporaryVariableIndex, threadPollInstrsCount
Constructor and Description |
---|
IRScriptBody(IRManager manager,
String sourceName,
StaticScope staticScope) |
Modifier and Type | Method and Description |
---|---|
InterpreterContext |
allocateInterpreterContext(List<Instr> instructions)
Make version specific to scope which needs it (e.g.
|
List<IRClosure> |
getBeginBlocks() |
String |
getFileName() |
int |
getNearestModuleReferencingScopeDepth()
Returns the nearest scope which we can extract a live module from.
|
IRScopeType |
getScopeType() |
DynamicScope |
getToplevelScope() |
boolean |
isScriptScope()
Is this an eval script or a regular file script?
|
void |
recordBeginBlock(IRClosure beginBlockClosure)
Record a begin block.
|
void |
setFileName(String fileName) |
void |
setTopLevelBindingScope(DynamicScope tlbScope) |
String |
toString() |
addChildScope, addClosure, allocateNextPrefixedName, bindingHasEscaped, buildJVMExceptionTable, canReceiveNonlocalReturns, computeScopeFlags, computeScopeFlagsEarly, createTemporaryVariable, debugOutput, definesLocalVariable, depends, equals, findExistingLocalVariable, getBooleanVariablesCount, getCFG, getClosures, getCurrentModuleVariable, getCurrentScopeVariable, getEndBlocks, getExecutedPasses, getFixnumVariablesCount, getFlags, getFloatVariablesCount, getFullInterpreterContext, getInterpreterContext, getLexicalParent, getLexicalScopes, getLineNumber, getLiveVariablesProblem, getLocalVariable, getLocalVariables, getLocalVariablesCount, getManager, getName, getNearestFlipVariableScope, getNearestMethod, getNearestTopLocalVariableScope, getNewFlipStateVariable, getNewInlineVariable, getNewLabel, getNewLabel, getNewLocalVariable, getNewTemporaryVariable, getNewTemporaryVariableFor, getNewUnboxedVariable, getNextClosureId, getPrefixCountSize, getScopeId, getSelf, getStaticScope, getStoreLocalVarPlacementProblem, getTemporaryVariablesCount, getThreadPollInstrsCount, getTopLevelScope, getUnboxableOpsAnalysisProblem, getUsedLocalVariables, getUsedVariablesCount, getVarIndices, getYieldClosureVariable, hasBeenBuilt, hasExplicitCallProtocol, hashCode, hasLoops, inlineMethod, isBeginEndBlock, isFlipScope, isModuleBody, isNestedInClosure, isNonSingletonClassBody, isTopLocalVariableScope, isUnsafeScope, lookupExistingLVar, maybeUsingRefinements, needsBinding, needsFrame, parentMaybeUsingRefinements, prepareForCompilation, prepareFullBuild, putLiveVariablesProblem, putStoreLocalVarPlacementProblem, putUnboxableOpsAnalysisProblem, receivesKeywordArgs, removeClosure, resetState, resetTemporaryVariables, resetVariableCounter, reuseParentScope, setExplicitCallProtocolFlag, setHasLoopsFlag, setInterpreterContext, setIsMaybeUsingRefinements, setLabelIndices, setLocalVariables, setName, setTemporaryVariableCount, setUpUseDefLocalVarMaps, toStringInstrs, usesBackrefOrLastline, usesEval, usesLocalVariable, usesZSuper
public IRScriptBody(IRManager manager, String sourceName, StaticScope staticScope)
public DynamicScope getToplevelScope()
public void setTopLevelBindingScope(DynamicScope tlbScope)
public InterpreterContext allocateInterpreterContext(List<Instr> instructions)
IRScope
allocateInterpreterContext
in class IRScope
public int getNearestModuleReferencingScopeDepth()
IRScope
getNearestModuleReferencingScopeDepth
in class IRScope
public IRScopeType getScopeType()
getScopeType
in class IRScope
public void recordBeginBlock(IRClosure beginBlockClosure)
IRScope
recordBeginBlock
in class IRScope
public List<IRClosure> getBeginBlocks()
getBeginBlocks
in class IRScope
public boolean isScriptScope()
IRScope
isScriptScope
in class IRScope
public void setFileName(String fileName)
setFileName
in class IRScope
public String getFileName()
getFileName
in class IRScope
Copyright © 2001-2016 JRuby. All Rights Reserved.