Class Field

  • All Implemented Interfaces:
    Cloneable, Node

    public final class Field
    extends FieldOrMethod
    This class represents the field info structure, i.e., the representation for a variable in the class. See JVM specification for details.
    • Constructor Detail

      • Field

        public Field​(Field c)
        Initialize from another object. Note that both objects use the same references (shallow copy). Use clone() for a physical copy.
      • Field

        public Field​(int access_flags,
                     int name_index,
                     int signature_index,
                     Attribute[] attributes,
                     ConstantPool constant_pool)
        Parameters:
        access_flags - Access rights of field
        name_index - Points to field name in constant pool
        signature_index - Points to encoded signature
        attributes - Collection of attributes
        constant_pool - Array of constants
    • Method Detail

      • accept

        public 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.
        Parameters:
        v - Visitor object
      • getConstantValue

        public ConstantValue getConstantValue()
        Returns:
        constant value associated with this field (may be null)
      • toString

        public String toString()
        Return string representation close to declaration format, `public static final short MAX = 100', e.g..
        Overrides:
        toString in class Object
        Returns:
        String representation of field, including the signature.
      • copy

        public Field copy​(ConstantPool _constant_pool)
        Returns:
        deep copy of this field
      • getType

        public Type getType()
        Returns:
        type of field
      • getComparator

        public static BCELComparator getComparator()
        Returns:
        Comparison strategy object
      • setComparator

        public static void setComparator​(BCELComparator comparator)
        Parameters:
        comparator - Comparison strategy object
      • equals

        public boolean equals​(Object obj)
        Return value as defined by given BCELComparator strategy. By default two Field objects are said to be equal when their names and signatures are equal.
        Overrides:
        equals in class Object
        See Also:
        Object.equals(java.lang.Object)
      • hashCode

        public int hashCode()
        Return value as defined by given BCELComparator strategy. By default return the hashcode of the field's name XOR signature.
        Overrides:
        hashCode in class Object
        See Also:
        Object.hashCode()