public class Scope
extends java.lang.Object
| Constructor and Description |
|---|
Scope () |
Scope (Label start,
Label end) |
| Modifier and Type | Method and Description |
|---|---|
Variable |
addVariable (CodeAttr code,
Type type,
java.lang.String name) |
void |
addVariable (CodeAttr code,
Variable var) |
void |
addVariable (Variable var) |
void |
addVariableAfter (Variable prev,
Variable var) |
VarEnumerator |
allVars () |
Variable |
firstVar () |
void |
fixParamNames (java.util.HashMap<java.lang.String,Variable> map)
Fix duplicate names.
|
Label |
getEndLabel () |
Label |
getStartLabel () |
Variable |
getVariable (int index)
Return a variable the scope, by numerical index.
|
void |
linkChild (Scope parent)
Link this scope as the next child of its parent scope.
|
Variable |
lookup (java.lang.String name)
Search by name for a Variable in this Scope (only).
|
void |
noteStartFunction (CodeAttr code)
Should be called at the start of a logical function - inlined or not.
|
void |
setStartPC (CodeAttr code) |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitpublic final Variable firstVar()
public VarEnumerator allVars()
public Label getStartLabel()
public Label getEndLabel()
public void linkChild(Scope parent)
public void addVariable(Variable var)
public Variable getVariable(int index)
index - the number of the variablepublic void fixParamNames(java.util.HashMap<java.lang.String,Variable> map)
public void setStartPC(CodeAttr code)
public void noteStartFunction(CodeAttr code)
public Variable lookup(java.lang.String name)
name - name to search for