Package gnu.bytecode

Class LocalVarsAttr


  • public class LocalVarsAttr
    extends Attribute
    • 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

      • getMethod

        public final Method getMethod()
      • enterScope

        public void enterScope​(Scope scope)
      • 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).
      • isEmpty

        public final boolean isEmpty()
      • getCount

        public final int getCount()
      • getLength

        public final int getLength()
        Description copied from class: Attribute
        Return the length of the attribute in bytes. Does not include the 6-byte header (for the name_index and the length).
        Specified by:
        getLength in class Attribute
      • assignConstants

        public void assignConstants​(ClassType cl)
        Description copied from class: Attribute
        Add any needed constant pool entries for this Attribute. Overridden by sub-classes. Do any other cleanup needed before writing out a .class file.
        Overrides:
        assignConstants in class Attribute