public class Scope
extends java.lang.Object
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) |
public 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