Package serp.bytecode.lowlevel
Class ConstantPoolTable
- java.lang.Object
-
- serp.bytecode.lowlevel.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 fullBCClass
.- 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.
-
-
-
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.
-
-