public class IREvalScript extends IRClosure
IRScope.LocalVariableAllocator
addedGEBForUncaughtBreaks, closureId, endLabel, startLabel
canReceiveBreaks, canReceiveNonlocalReturns, hasBreakInstrs, hasNonlocalReturns, temporaryVariableIndex
Constructor and Description |
---|
IREvalScript(IRManager manager,
IRScope lexicalParent,
String fileName,
int lineNumber,
StaticScope staticScope) |
Modifier and Type | Method and Description |
---|---|
IRubyObject |
call(ThreadContext context,
IRubyObject self,
RubyModule clazz,
DynamicScope evalScope,
Block block,
String backtraceName) |
LocalVariable |
findExistingLocalVariable(String name,
int scopeDepth) |
List<IRClosure> |
getBeginBlocks() |
Operand[] |
getBlockArgs() |
List<IRClosure> |
getEndBlocks() |
LocalVariable |
getNewFlipStateVariable() |
Label |
getNewLabel() |
LocalVariable |
getNewLocalVariable(String name,
int depth) |
String |
getScopeName() |
int |
getUsedVariablesCount() |
boolean |
isFlipScope() |
boolean |
isScriptScope()
Is this an eval script or a regular file script?
|
boolean |
isTopLocalVariableScope() |
void |
recordBeginBlock(IRClosure beginBlockClosure) |
void |
recordEndBlock(IRClosure endBlockClosure) |
addGEBForUncaughtBreaks, addInstr, cloneForClonedInstr, getBlockBody, getImplicitBlockArg, getLocalVariable, getNestingDepth, getNewTemporaryVariable, getNewTemporaryVariable, getNextClosureId, getParameterList, isForLoopBody, setParameterList, toStringBody
addChildScope, addClosure, addInstrAtBeginning, allocateNextPrefixedName, bindingHasEscaped, buildCFG, buildCFG, buildLinearization, canCaptureCallersBinding, canReceiveNonlocalReturns, cfg, checkRelinearization, computeScopeFlags, definesLocalVariable, depends, equals, getCFG, getClosures, getContainerModule, getCurrentModuleVariable, getCurrentScopeVariable, getDataFlowSolution, getEnsurerPC, getFileName, getInstrs, getInstrsForInterpretation, getLastInstr, getLexicalParent, getLexicalScopes, getLineNumber, getLocalVariablesCount, getManager, getName, getNearestFlipVariableScope, getNearestMethod, getNearestModuleReferencingScope, getNearestTopLocalVariableScope, getNewInlineVariable, getNewLabel, getPrefixCountSize, getRescuerPC, getScopeId, getSelf, getStaticScope, getTemporaryVariableSize, getThreadPollInstrsCount, getTopLevelScope, hasExplicitCallProtocol, hashCode, hasLoops, initEvalScopeVariableAllocator, initFlipStateVariable, inlineMethod, isModuleBody, isNestedInClosure, isNonSingletonClassBody, linearization, markUnusedImplicitBlockArg, modifiesCode, prepareForCompilation, prepareForInterpretation, receivesKeywordArgs, resetCFG, resetDFProblemsState, resetLinearizationData, resetState, resetTemporaryVariables, resetVariableCounter, setCFG, setCodeModificationFlag, setDataFlowSolution, setExplicitCallProtocolFlag, setHasLoopsFlag, setName, setUpUseDefLocalVarMaps, splitCalls, toPersistableString, toString, toStringInstrs, toStringVariables, usesBackrefOrLastline, usesEval, usesLocalVariable, usesZSuper
public IREvalScript(IRManager manager, IRScope lexicalParent, String fileName, int lineNumber, StaticScope staticScope)
public Label getNewLabel()
getNewLabel
in class IRClosure
public String getScopeName()
getScopeName
in class IRClosure
public Operand[] getBlockArgs()
getBlockArgs
in class IRClosure
public void recordBeginBlock(IRClosure beginBlockClosure)
recordBeginBlock
in class IRScope
public void recordEndBlock(IRClosure endBlockClosure)
recordEndBlock
in class IRScope
public IRubyObject call(ThreadContext context, IRubyObject self, RubyModule clazz, DynamicScope evalScope, Block block, String backtraceName)
public LocalVariable findExistingLocalVariable(String name, int scopeDepth)
findExistingLocalVariable
in class IRClosure
public LocalVariable getNewLocalVariable(String name, int depth)
getNewLocalVariable
in class IRClosure
public LocalVariable getNewFlipStateVariable()
getNewFlipStateVariable
in class IRClosure
public int getUsedVariablesCount()
getUsedVariablesCount
in class IRScope
public boolean isScriptScope()
IRScope
isScriptScope
in class IRScope
public boolean isTopLocalVariableScope()
isTopLocalVariableScope
in class IRClosure
public boolean isFlipScope()
isFlipScope
in class IRClosure
Copyright © 2001-2014 JRuby. All Rights Reserved.