Interface ConstantPool

All Known Implementing Classes:
StdConstantPool

public interface ConstantPool
Interface for constant pools, which are, more or less, just lists of Constant objects.
  • Method Summary

    Modifier and Type
    Method
    Description
    get(int n)
    Get the nth entry in the constant pool, which must be valid.
    get0Ok(int n)
    Get the nth entry in the constant pool, which must be valid unless n == 0, in which case null is returned.
    Get all entries in this constant pool.
    getOrNull(int n)
    Get the nth entry in the constant pool, or null if the index is in-range but invalid.
    int
    Get the "size" of the constant pool.
  • Method Details

    • size

      int size()
      Get the "size" of the constant pool. This corresponds to the class file field constant_pool_count, and is in fact always at least one more than the actual size of the constant pool, as element 0 is always invalid.
      Returns:
      >= 1; the size
    • get

      Constant get(int n)
      Get the nth entry in the constant pool, which must be valid.
      Parameters:
      n - n >= 0, n < size(); the constant pool index
      Returns:
      non-null; the corresponding entry
      Throws:
      IllegalArgumentException - thrown if n is in-range but invalid
    • get0Ok

      Constant get0Ok(int n)
      Get the nth entry in the constant pool, which must be valid unless n == 0, in which case null is returned.
      Parameters:
      n - n >= 0, n < size(); the constant pool index
      Returns:
      null-ok; the corresponding entry, if n != 0
      Throws:
      IllegalArgumentException - thrown if n is in-range and non-zero but invalid
    • getOrNull

      Constant getOrNull(int n)
      Get the nth entry in the constant pool, or null if the index is in-range but invalid. In particular, null is returned for index 0 as well as the index after any entry which is defined to take up two slots (that is, Long and Double entries).
      Parameters:
      n - n >= 0, n < size(); the constant pool index
      Returns:
      null-ok; the corresponding entry, or null if the index is in-range but invalid
    • getEntries

      Constant[] getEntries()
      Get all entries in this constant pool.
      Returns:
      the returned array may contain null entries.