Class Attribute

    • Field Detail

      • name_index

        @Deprecated
        protected int name_index
        Deprecated.
        (since 6.0) will be made private; do not access directly, use getter/setter
      • length

        @Deprecated
        protected int length
        Deprecated.
        (since 6.0) (since 6.0) will be made private; do not access directly, use getter/setter
      • tag

        @Deprecated
        protected byte tag
        Deprecated.
        (since 6.0) will be made private; do not access directly, use getter/setter
      • constant_pool

        @Deprecated
        protected ConstantPool constant_pool
        Deprecated.
        (since 6.0) will be made private; do not access directly, use getter/setter
    • Constructor Detail

      • Attribute

        protected Attribute​(byte tag,
                            int name_index,
                            int length,
                            ConstantPool constant_pool)
    • Method Detail

      • addAttributeReader

        @Deprecated
        public static void addAttributeReader​(String name,
                                              AttributeReader r)
        Add an Attribute reader capable of parsing (user-defined) attributes named "name". You should not add readers for the standard attributes such as "LineNumberTable", because those are handled internally.
        Parameters:
        name - the name of the attribute as stored in the class file
        r - the reader object
      • addAttributeReader

        public static void addAttributeReader​(String name,
                                              UnknownAttributeReader r)
        Add an Attribute reader capable of parsing (user-defined) attributes named "name". You should not add readers for the standard attributes such as "LineNumberTable", because those are handled internally.
        Parameters:
        name - the name of the attribute as stored in the class file
        r - the reader object
      • println

        protected static void println​(String msg)
      • removeAttributeReader

        public static void removeAttributeReader​(String name)
        Remove attribute reader
        Parameters:
        name - the name of the attribute as stored in the class file
      • accept

        public abstract void accept​(Visitor v)
        Called by objects that are traversing the nodes of the tree implicitely defined by the contents of a Java class. I.e., the hierarchy of methods, fields, attributes, etc. spawns a tree of objects.
        Specified by:
        accept in interface Node
        Parameters:
        v - Visitor object
      • clone

        public Object clone()
        Use copy() if you want to have a deep copy(), i.e., with all references copied correctly.
        Overrides:
        clone in class Object
        Returns:
        shallow copy of this attribute
      • copy

        public abstract Attribute copy​(ConstantPool _constant_pool)
        Returns:
        deep copy of this attribute
      • getConstantPool

        public final ConstantPool getConstantPool()
        Returns:
        Constant pool used by this object.
        See Also:
        ConstantPool
      • getLength

        public final int getLength()
        Returns:
        Length of attribute field in bytes.
      • getName

        public String getName()
        Returns:
        Name of attribute
        Since:
        6.0
      • getNameIndex

        public final int getNameIndex()
        Returns:
        Name index in constant pool of attribute name.
      • getTag

        public final byte getTag()
        Returns:
        Tag of attribute, i.e., its type. Value may not be altered, thus there is no setTag() method.
      • setConstantPool

        public final void setConstantPool​(ConstantPool constant_pool)
        Parameters:
        constant_pool - Constant pool to be used for this object.
        See Also:
        ConstantPool
      • setLength

        public final void setLength​(int length)
        Parameters:
        length - length in bytes.
      • setNameIndex

        public final void setNameIndex​(int name_index)
        Parameters:
        name_index - of attribute.
      • toString

        public String toString()
        Overrides:
        toString in class Object
        Returns:
        attribute name.