Class ConstantPoolTable


  • public class ConstantPoolTable
    extends java.lang.Object
    Efficient representation of the constant pool as a table. This class can be used to parse out bits of information from bytecode without instantiating a full BCClass.
    Author:
    Abe White
    • Constructor Summary

      Constructors 
      Constructor Description
      ConstantPoolTable​(byte[] b)
      Constructor; supply class bytecode.
      ConstantPoolTable​(java.io.InputStream in)
      Constructor; supply input stream to bytecode.
    • Method Summary

      All Methods Static Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      int get​(int idx)
      Return the given table entry.
      int getEndIndex()
      Return the index into the bytecode of the end of the constant pool.
      static int getEndIndex​(byte[] b)
      Allows static computation of the byte index after the constant pool without caching constant pool information.
      static int readByte​(byte[] b, int idx)
      Read a byte value at the given offset into the given bytecode.
      int readByte​(int idx)
      Read a byte value at the given offset.
      static int readInt​(byte[] b, int idx)
      Read an int value at the given offset into the given bytecode.
      int readInt​(int idx)
      Read an int value at the given offset.
      static long readLong​(byte[] b, int idx)
      Read a long value at the given offset into the given bytecode.
      long readLong​(int idx)
      Read a long value at the given offset.
      static java.lang.String readString​(byte[] b, int idx)
      Read a UTF-8 string value at the given offset into the given bytecode.
      java.lang.String readString​(int idx)
      Read a UTF-8 string value at the given offset.
      static int readUnsignedShort​(byte[] b, int idx)
      Read an unsigned short value at the given offset into the given bytecode.
      int readUnsignedShort​(int idx)
      Read an unsigned short value at the given offset.
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    • Constructor Detail

      • ConstantPoolTable

        public ConstantPoolTable​(byte[] b)
        Constructor; supply class bytecode.
      • ConstantPoolTable

        public ConstantPoolTable​(java.io.InputStream in)
                          throws java.io.IOException
        Constructor; supply input stream to bytecode.
        Throws:
        java.io.IOException
    • Method Detail

      • getEndIndex

        public static int getEndIndex​(byte[] b)
        Allows static computation of the byte index after the constant pool without caching constant pool information.
      • readByte

        public static int readByte​(byte[] b,
                                   int idx)
        Read a byte value at the given offset into the given bytecode.
      • readUnsignedShort

        public static int readUnsignedShort​(byte[] b,
                                            int idx)
        Read an unsigned short value at the given offset into the given bytecode.
      • readInt

        public static int readInt​(byte[] b,
                                  int idx)
        Read an int value at the given offset into the given bytecode.
      • readLong

        public static long readLong​(byte[] b,
                                    int idx)
        Read a long value at the given offset into the given bytecode.
      • readString

        public static java.lang.String readString​(byte[] b,
                                                  int idx)
        Read a UTF-8 string value at the given offset into the given bytecode.
      • getEndIndex

        public int getEndIndex()
        Return the index into the bytecode of the end of the constant pool.
      • get

        public int get​(int idx)
        Return the given table entry.
      • readByte

        public int readByte​(int idx)
        Read a byte value at the given offset.
      • readUnsignedShort

        public int readUnsignedShort​(int idx)
        Read an unsigned short value at the given offset.
      • readInt

        public int readInt​(int idx)
        Read an int value at the given offset.
      • readLong

        public long readLong​(int idx)
        Read a long value at the given offset.
      • readString

        public java.lang.String readString​(int idx)
        Read a UTF-8 string value at the given offset.