public abstract class IRExecutionScope extends IRScopeImpl
Modifier and Type | Field and Description |
---|---|
protected int |
optionalArgs |
protected int |
requiredArgs |
protected int |
restArg |
Constructor and Description |
---|
IRExecutionScope(IRScope lexicalParent,
Operand container,
java.lang.String name,
StaticScope staticScope) |
getContainer, getContainerModule, getLexicalParent, getName, getNearestModule, getNewInlineVariable, getNewLabel, getNewLabel, getNewTemporaryClosureVariable, getNewTemporaryVariable, getNextClosureId, getPrefixCountSize, getRenamedVariableSize, getScopeName, getStaticScope, getTemporaryVariableSize, prepareForInterpretation, recordMethodAlias, runCompilerPass, setContainer, setName, toString, unaliasMethodName
protected int requiredArgs
protected int optionalArgs
protected int restArg
public IRExecutionScope(IRScope lexicalParent, Operand container, java.lang.String name, StaticScope staticScope)
public void addClosure(IRClosure c)
public void addInstr(Instr i)
IRScope
addInstr
in interface IRScope
addInstr
in class IRScopeImpl
public void startLoop(IRLoop l)
public void endLoop(IRLoop l)
public IRLoop getCurrentLoop()
public java.util.List<IRClosure> getClosures()
public java.util.List<Instr> getInstrs()
getInstrs
in class IRScopeImpl
public IRMethod getClosestMethodAncestor()
public void setCodeModificationFlag(boolean f)
public boolean modifiesCode()
public boolean requiresBinding()
public boolean canCaptureCallersBinding()
public CFG buildCFG()
public CFG getCFG()
public void runCompilerPassOnNestedScopes(CompilerPass p)
runCompilerPassOnNestedScopes
in class IRScopeImpl
public void computeExecutionScopeFlags()
public java.lang.String toStringInstrs()
toStringInstrs
in class IRScopeImpl
public java.lang.String toStringVariables()
toStringVariables
in class IRScopeImpl
public java.util.Iterator<LocalVariable> getLiveLocalVariables()
public StaticScope allocateStaticScope(StaticScope parent)
parent
- scope should be non-null for all closures and null for methodspublic void calculateParameterCounts()
protected abstract StaticScope constructStaticScope(StaticScope parent)
parent
- scope should be non-null for all closures and null for methodspublic Variable getSelf()
public LocalVariable getLocalVariable(java.lang.String name)
IRScope
public int getLocalVariablesCount()
Copyright © 2002-2009 JRuby Team. All Rights Reserved.