java.lang.Object
org.apache.tools.ant.taskdefs.optional.depend.constantpool.ConstantPoolEntry
Direct Known Subclasses:
ClassCPInfo, ConstantCPInfo, FieldRefCPInfo, InterfaceMethodRefCPInfo, MethodHandleCPInfo, MethodRefCPInfo, NameAndTypeCPInfo, Utf8CPInfo

public abstract class ConstantPoolEntry extends Object
An entry in the constant pool. This class contains a representation of the constant pool entries. It is an abstract base class for all the different forms of constant pool entry.
See Also:
  • Field Details

    • CONSTANT_UTF8

      public static final int CONSTANT_UTF8
      Tag value for UTF8 entries.
      See Also:
    • CONSTANT_INTEGER

      public static final int CONSTANT_INTEGER
      Tag value for Integer entries.
      See Also:
    • CONSTANT_FLOAT

      public static final int CONSTANT_FLOAT
      Tag value for Float entries.
      See Also:
    • CONSTANT_LONG

      public static final int CONSTANT_LONG
      Tag value for Long entries.
      See Also:
    • CONSTANT_DOUBLE

      public static final int CONSTANT_DOUBLE
      Tag value for Double entries.
      See Also:
    • CONSTANT_CLASS

      public static final int CONSTANT_CLASS
      Tag value for Class entries.
      See Also:
    • CONSTANT_STRING

      public static final int CONSTANT_STRING
      Tag value for String entries.
      See Also:
    • CONSTANT_FIELDREF

      public static final int CONSTANT_FIELDREF
      Tag value for Field Reference entries.
      See Also:
    • CONSTANT_METHODREF

      public static final int CONSTANT_METHODREF
      Tag value for Method Reference entries.
      See Also:
    • CONSTANT_INTERFACEMETHODREF

      public static final int CONSTANT_INTERFACEMETHODREF
      Tag value for Interface Method Reference entries.
      See Also:
    • CONSTANT_NAMEANDTYPE

      public static final int CONSTANT_NAMEANDTYPE
      Tag value for Name and Type entries.
      See Also:
    • CONSTANT_METHODHANDLE

      public static final int CONSTANT_METHODHANDLE
      Tag value for Method Handle entries
      See Also:
    • CONSTANT_METHODTYPE

      public static final int CONSTANT_METHODTYPE
      Tag value for Method Type entries
      See Also:
    • CONSTANT_INVOKEDYNAMIC

      public static final int CONSTANT_INVOKEDYNAMIC
      Tag value for InvokeDynamic entries
      See Also:
    • CONSTANT_MODULEINFO

      public static final int CONSTANT_MODULEINFO
      Tag value for CONSTANT_Module_info entry
      See Also:
    • CONSTANT_PACKAGEINFO

      public static final int CONSTANT_PACKAGEINFO
      Tag value for CONSTANT_Package_info entry (within a module)
      See Also:
  • Constructor Details

    • ConstantPoolEntry

      public ConstantPoolEntry(int tagValue, int entries)
      Initialise the constant pool entry.
      Parameters:
      tagValue - the tag value which identifies which type of constant pool entry this is.
      entries - the number of constant pool entry slots this entry occupies.
  • Method Details

    • readEntry

      public static ConstantPoolEntry readEntry(DataInputStream cpStream) throws IOException
      Read a constant pool entry from a stream. This is a factory method which reads a constant pool entry form a stream and returns the appropriate subclass for the entry.
      Parameters:
      cpStream - the stream from which the constant pool entry is to be read.
      Returns:
      the appropriate ConstantPoolEntry subclass representing the constant pool entry from the stream.
      Throws:
      IOException - if the constant pool entry cannot be read from the stream
    • isResolved

      public boolean isResolved()
      Indicates whether this entry has been resolved. In general a constant pool entry can reference another constant pool entry by its index value. Resolution involves replacing this index value with the constant pool entry at that index.
      Returns:
      true if this entry has been resolved.
    • resolve

      public void resolve(ConstantPool constantPool)
      Resolve this constant pool entry with respect to its dependents in the constant pool.
      Parameters:
      constantPool - the constant pool of which this entry is a member and against which this entry is to be resolved.
    • read

      public abstract void read(DataInputStream cpStream) throws IOException
      read a constant pool entry from a class stream.
      Parameters:
      cpStream - the DataInputStream which contains the constant pool entry to be read.
      Throws:
      IOException - if there is a problem reading the entry from the stream.
    • getTag

      public int getTag()
      Get the Entry's type tag.
      Returns:
      The Tag value of this entry
    • getNumEntries

      public final int getNumEntries()
      Get the number of Constant Pool Entry slots within the constant pool occupied by this entry.
      Returns:
      the number of slots used.