public class IRModuleBody extends IRScope
IRScope.LocalVariableAllocator
canReceiveBreaks, canReceiveNonlocalReturns, hasBreakInstrs, hasNonlocalReturns, temporaryVariableIndex
Constructor and Description |
---|
IRModuleBody(IRManager manager,
IRScope lexicalParent,
String name,
int lineNumber,
StaticScope scope) |
IRModuleBody(IRManager manager,
IRScope lexicalParent,
String name,
String fileName,
int lineNumber,
StaticScope scope) |
Modifier and Type | Method and Description |
---|---|
LocalVariable |
getImplicitBlockArg() |
IRScope |
getNearestModuleReferencingScope()
Returns the nearest scope which we can extract a live module from.
|
String |
getScopeName() |
CodeVersion |
getVersion() |
boolean |
isModuleBody()
Does this scope represent a module body? (SSS FIXME: what about script or eval script bodies?)
|
void |
updateVersion() |
addChildScope, addClosure, addInstr, addInstrAtBeginning, allocateNextPrefixedName, bindingHasEscaped, buildCFG, buildCFG, buildLinearization, canCaptureCallersBinding, canReceiveNonlocalReturns, cfg, checkRelinearization, computeScopeFlags, definesLocalVariable, depends, equals, findExistingLocalVariable, getCFG, getClosures, getContainerModule, getCurrentModuleVariable, getCurrentScopeVariable, getDataFlowSolution, getEnsurerPC, getFileName, getInstrs, getInstrsForInterpretation, getLastInstr, getLexicalParent, getLexicalScopes, getLineNumber, getLocalVariable, getLocalVariablesCount, getManager, getName, getNearestFlipVariableScope, getNearestMethod, getNearestTopLocalVariableScope, getNewFlipStateVariable, getNewInlineVariable, getNewLabel, getNewLabel, getNewLocalVariable, getNewTemporaryVariable, getNewTemporaryVariable, getNextClosureId, getPrefixCountSize, getRescuerPC, getScopeId, getSelf, getStaticScope, getTemporaryVariableSize, getThreadPollInstrsCount, getTopLevelScope, getUsedVariablesCount, hasExplicitCallProtocol, hashCode, hasLoops, initEvalScopeVariableAllocator, initFlipStateVariable, inlineMethod, isFlipScope, isForLoopBody, isNestedInClosure, isNonSingletonClassBody, isScriptScope, isTopLocalVariableScope, 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, usesZSuper
public IRModuleBody(IRManager manager, IRScope lexicalParent, String name, int lineNumber, StaticScope scope)
public IRModuleBody(IRManager manager, IRScope lexicalParent, String name, String fileName, int lineNumber, StaticScope scope)
public IRScope getNearestModuleReferencingScope()
IRScope
getNearestModuleReferencingScope
in class IRScope
public void updateVersion()
public String getScopeName()
getScopeName
in class IRScope
public CodeVersion getVersion()
public LocalVariable getImplicitBlockArg()
getImplicitBlockArg
in class IRScope
public boolean isModuleBody()
IRScope
isModuleBody
in class IRScope
Copyright © 2001-2014 JRuby. All Rights Reserved.