public class IRScriptBody extends IRScope
IRScope.LocalVariableAllocator
canReceiveBreaks, canReceiveNonlocalReturns, hasBreakInstrs, hasNonlocalReturns, temporaryVariableIndex
Constructor and Description |
---|
IRScriptBody(IRManager manager,
java.lang.String className,
java.lang.String sourceName,
StaticScope staticScope) |
Modifier and Type | Method and Description |
---|---|
java.util.List<IRClosure> |
getBeginBlocks() |
java.util.List<IRClosure> |
getEndBlocks() |
LocalVariable |
getImplicitBlockArg() |
IRScope |
getNearestModuleReferencingScope()
Returns the nearest scope which we can extract a live module from.
|
java.lang.String |
getScopeName() |
boolean |
isScriptScope()
Is this an eval script or a regular file script?
|
void |
recordBeginBlock(IRClosure beginBlockClosure) |
void |
recordEndBlock(IRClosure endBlockClosure) |
java.lang.String |
toString() |
addChildScope, addClosure, addInstr, addInstrAtBeginning, allocateNextPrefixedName, bindingHasEscaped, buildCFG, buildCFG, buildLinearization, canCaptureCallersBinding, canReceiveNonlocalReturns, cfg, checkRelinearization, computeScopeFlags, definesLocalVariable, depends, 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, getSelf, getStaticScope, getTemporaryVariableSize, getThreadPollInstrsCount, getTopLevelScope, getUsedVariablesCount, hasExplicitCallProtocol, hashCode, hasLoops, initEvalScopeVariableAllocator, initFlipStateVariable, inlineMethod, isFlipScope, isForLoopBody, isModuleBody, isNestedInClosure, isNonSingletonClassBody, isTopLocalVariableScope, linearization, markUnusedImplicitBlockArg, modifiesCode, prepareForCompilation, prepareForInterpretation, 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, java.lang.String className, java.lang.String sourceName, StaticScope staticScope)
public IRScope getNearestModuleReferencingScope()
IRScope
getNearestModuleReferencingScope
in class IRScope
public LocalVariable getImplicitBlockArg()
getImplicitBlockArg
in class IRScope
public java.lang.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 java.util.List<IRClosure> getBeginBlocks()
public java.util.List<IRClosure> getEndBlocks()
public boolean isScriptScope()
IRScope
isScriptScope
in class IRScope
Copyright © 2002-2009 JRuby Team. All Rights Reserved.