public class IRScriptBody extends IRScope
IRScope.LocalVariableAllocator
canReceiveBreaks, canReceiveNonlocalReturns, hasBreakInstrs, hasNonlocalReturns, temporaryVariableIndex
Constructor and Description |
---|
IRScriptBody(IRManager manager,
String className,
String sourceName,
StaticScope staticScope) |
Modifier and Type | Method and Description |
---|---|
List<IRClosure> |
getBeginBlocks() |
List<IRClosure> |
getEndBlocks() |
LocalVariable |
getImplicitBlockArg() |
IRScope |
getNearestModuleReferencingScope()
Returns the nearest scope which we can extract a live module from.
|
String |
getScopeName() |
boolean |
isScriptScope()
Is this an eval script or a regular file script?
|
void |
recordBeginBlock(IRClosure beginBlockClosure) |
void |
recordEndBlock(IRClosure endBlockClosure) |
String |
toString() |
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, isModuleBody, isNestedInClosure, isNonSingletonClassBody, isTopLocalVariableScope, linearization, markUnusedImplicitBlockArg, modifiesCode, prepareForCompilation, prepareForInterpretation, receivesKeywordArgs, resetCFG, resetDFProblemsState, resetLinearizationData, resetState, resetTemporaryVariables, resetVariableCounter, setCFG, setCodeModificationFlag, setDataFlowSolution, setExplicitCallProtocolFlag, setHasLoopsFlag, setName, setUpUseDefLocalVarMaps, splitCalls, toPersistableString, toStringInstrs, toStringVariables, usesBackrefOrLastline, usesEval, usesLocalVariable, usesZSuper
public IRScriptBody(IRManager manager, String className, String sourceName, StaticScope staticScope)
public IRScope getNearestModuleReferencingScope()
IRScope
getNearestModuleReferencingScope
in class IRScope
public LocalVariable getImplicitBlockArg()
getImplicitBlockArg
in class IRScope
public String getScopeName()
getScopeName
in class IRScope
public void recordBeginBlock(IRClosure beginBlockClosure)
recordBeginBlock
in class IRScope
public void recordEndBlock(IRClosure endBlockClosure)
recordEndBlock
in class IRScope
public boolean isScriptScope()
IRScope
isScriptScope
in class IRScope
Copyright © 2001-2014 JRuby. All Rights Reserved.