Package gnu.bytecode

Class Attribute

    • Constructor Detail

      • Attribute

        public Attribute​(String name)
        Create a new Attribute.
        Parameters:
        name - - an interned String that names the Attribute.
    • Method Detail

      • getContainer

        public final AttrContainer getContainer()
        Return the Attribute container that contains this Attribute.
      • setContainer

        public final void setContainer​(AttrContainer container)
      • getNext

        public final Attribute getNext()
        Get the next Attribute belonging to getContainer().
      • setNext

        public final void setNext​(Attribute next)
        Set the next Attribute in the chain belonging to getContainer().
      • addToFrontOf

        public void addToFrontOf​(AttrContainer container)
        Add this to (the front of) of the specified attribute container.
      • isSkipped

        public final boolean isSkipped()
        Returns true if this attribute should be skipped on output.
      • setSkipped

        public final void setSkipped​(boolean skip)
        Iff skip, cause this attributed to be skipped on output.
      • setSkipped

        public final void setSkipped()
        Cause this attributed to be skipped on output.
      • getName

        public final String getName()
      • setName

        public final void setName​(String name)
      • getNameIndex

        public final int getNameIndex()
      • setNameIndex

        public final void setNameIndex​(int index)
      • get

        public static Attribute get​(AttrContainer container,
                                    String name)
        Find an Attribute by name, in an attribute cointainer.
        Parameters:
        container - the attribute container to search
        name - the (interned) name of the attribute we are seeking
        Returns:
        the matching Attribute, or null if the search failed.
      • assignConstants

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

        public static void assignConstants​(AttrContainer container,
                                           ClassType cl)
        Add any needed constant pool entries for all attributes in a container. Do any other cleanup needed before writing out a .class file.
      • getLength

        public abstract int getLength()
        Return the length of the attribute in bytes. Does not include the 6-byte header (for the name_index and the length).
      • getLengthAll

        public static int getLengthAll​(AttrContainer container)
        Return the length of all the attributes (with headers) in bytes.