gnu.bytecode

Class LocalVarsAttr

public class LocalVarsAttr extends Attribute

Field Summary
Scopecurrent_scope
Constructor Summary
LocalVarsAttr(CodeAttr code)
Add a new LocalVarsAttr to a CodeAttr.
LocalVarsAttr(Method method)
Create, but don't link into method.code's attributes list (yet).
Method Summary
VarEnumeratorallVars()
voidassignConstants(ClassType cl)
voidenterScope(Scope scope)
intgetCount()
intgetLength()
MethodgetMethod()
booleanisEmpty()
voidpreserveVariablesUpto(Scope scope)
Mark scopes upto specified scope as 'preserved'.
voidprint(ClassTypeWriter dst)
voidwrite(DataOutputStream dstr)

Field Detail

current_scope

public Scope current_scope

Constructor Detail

LocalVarsAttr

public LocalVarsAttr(CodeAttr code)
Add a new LocalVarsAttr to a CodeAttr.

LocalVarsAttr

public LocalVarsAttr(Method method)
Create, but don't link into method.code's attributes list (yet).

Method Detail

allVars

public VarEnumerator allVars()

assignConstants

public void assignConstants(ClassType cl)

enterScope

public void enterScope(Scope scope)

getCount

public final int getCount()

getLength

public final int getLength()

getMethod

public final Method getMethod()

isEmpty

public final boolean isEmpty()

preserveVariablesUpto

public void preserveVariablesUpto(Scope scope)
Mark scopes upto specified scope as 'preserved'. This means that the local variable slots are not available for reuse when the scope exits. The effected scopes are all ancestor scopes from the current scope (inclusive) upto the specified scope (exclusive).

print

public void print(ClassTypeWriter dst)

write

public void write(DataOutputStream dstr)