Package gnu.bytecode
Class Scope
- java.lang.Object
-
- gnu.bytecode.Scope
-
public class Scope extends Object
-
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description Variable
addVariable(CodeAttr code, Type type, String name)
void
addVariable(CodeAttr code, Variable var)
void
addVariable(Variable var)
void
addVariableAfter(Variable prev, Variable var)
VarEnumerator
allVars()
Variable
firstVar()
void
fixParamNames(HashMap<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(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)
-
-
-
Method Detail
-
firstVar
public final Variable firstVar()
-
allVars
public VarEnumerator allVars()
-
getStartLabel
public Label getStartLabel()
-
getEndLabel
public Label getEndLabel()
-
linkChild
public void linkChild(Scope parent)
Link this scope as the next child of its parent scope.
-
addVariable
public void addVariable(Variable var)
-
getVariable
public Variable getVariable(int index)
Return a variable the scope, by numerical index.- Parameters:
index
- the number of the variable
-
fixParamNames
public void fixParamNames(HashMap<String,Variable> map)
Fix duplicate names. This is needed for Android, since otherwise dex complains.
-
setStartPC
public void setStartPC(CodeAttr code)
-
noteStartFunction
public void noteStartFunction(CodeAttr code)
Should be called at the start of a logical function - inlined or not.
-
-