serp.bytecode.lowlevel
Class ConstantPoolTable

java.lang.Object
  extended by serp.bytecode.lowlevel.ConstantPoolTable

public class ConstantPoolTable
extends 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
ConstantPoolTable(byte[] b)
          Constructor; supply class bytecode.
ConstantPoolTable(InputStream in)
          Constructor; supply input stream to bytecode.
 
Method Summary
 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 String readString(byte[] b, int idx)
          Read a UTF-8 string value at the given offset into the given bytecode.
 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(InputStream in)
                  throws IOException
Constructor; supply input stream to bytecode.

Throws:
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 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 String readString(int idx)
Read a UTF-8 string value at the given offset.



Copyright © 2002-2007. All Rights Reserved.