Package gnu.bytecode
Class LocalVarsAttr
java.lang.Object
gnu.bytecode.Attribute
gnu.bytecode.LocalVarsAttr
-
Field Summary
Fields -
Constructor Summary
ConstructorsConstructorDescriptionLocalVarsAttr(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
Modifier and TypeMethodDescriptionallVars()voidAdd any needed constant pool entries for this Attribute.voidenterScope(Scope scope) final intgetCount()final intReturn the length of the attribute in bytes.final Methodfinal booleanisEmpty()voidpreserveVariablesUpto(Scope scope) Mark scopes upto specified scope as 'preserved'.voidprint(ClassTypeWriter dst) voidwrite(DataOutputStream dstr) Write out the contents of the Attribute.Methods inherited from class gnu.bytecode.Attribute
addToFrontOf, assignConstants, count, get, getConstants, getContainer, getLengthAll, getName, getNameIndex, getNext, isSkipped, setContainer, setName, setNameIndex, setNext, setSkipped, setSkipped, writeAll
-
Field Details
-
current_scope
-
-
Constructor Details
-
LocalVarsAttr
Add a new LocalVarsAttr to a CodeAttr. -
LocalVarsAttr
Create, but don't link into method.code's attributes list (yet).
-
-
Method Details
-
getMethod
-
allVars
-
enterScope
-
preserveVariablesUpto
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). -
isEmpty
public final boolean isEmpty() -
getCount
public final int getCount() -
getLength
public final int getLength()Description copied from class:AttributeReturn the length of the attribute in bytes. Does not include the 6-byte header (for the name_index and the length). -
assignConstants
Description copied from class:AttributeAdd any needed constant pool entries for this Attribute. Overridden by sub-classes. Do any other cleanup needed before writing out a .class file.- Overrides:
assignConstantsin classAttribute
-
write
Description copied from class:AttributeWrite out the contents of the Attribute. Does not write the 6-byte attribute header.- Specified by:
writein classAttribute- Throws:
IOException
-
print
-