gnu.bytecode

Class Scope


public class Scope
extends java.lang.Object

Constructor Summary

Scope()
Scope(Label start, Label end)

Method Summary

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()
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
setStartPC(CodeAttr code)

Constructor Details

Scope

public Scope()

Scope

public Scope(Label start,
             Label end)

Method Details

addVariable

public Variable addVariable(CodeAttr code,
                            Type type,
                            String name)

addVariable

public void addVariable(CodeAttr code,
                        Variable var)

addVariable

public void addVariable(Variable var)

addVariableAfter

public void addVariableAfter(Variable prev,
                             Variable var)

allVars

public VarEnumerator allVars()

firstVar

public final Variable firstVar()

getVariable

public Variable getVariable(int index)
Return a variable the scope, by numerical index.
Parameters:
index - the number of the variable

linkChild

public void linkChild(Scope parent)
Link this scope as the next child of its parent scope.

lookup

public Variable lookup(String name)
Search by name for a Variable in this Scope (only).
Parameters:
name - name to search for
Returns:
the Variable, or null if not found (in this scope).

setStartPC

public void setStartPC(CodeAttr code)