Class ConstantPoolReader

java.lang.Object
com.ibm.wala.shrike.shrikeBT.ConstantPoolReader

public abstract class ConstantPoolReader extends Object
This class provides read-only access to a constant pool. It gets subclassed for each class reader/editor toolkit you want to work with.
  • Constructor Details

    • ConstantPoolReader

      public ConstantPoolReader()
  • Method Details

    • getConstantPoolItemType

      public abstract int getConstantPoolItemType(int index)
      Retrieve the JVM constant pool item type (a Constants.CONSTANT_xxx value). This method should be overriden by a toolkit-specific subclass.
      Parameters:
      index - the constant pool item to examine
    • getConstantPoolInteger

      public abstract int getConstantPoolInteger(int index)
      Retrieve the value of a CONSTANT_Integer constant pool item. This method should be overriden by a toolkit-specific subclass.
      Parameters:
      index - the constant pool item to examine
    • getConstantPoolFloat

      public abstract float getConstantPoolFloat(int index)
      Retrieve the value of a CONSTANT_Float constant pool item. This method should be overriden by a toolkit-specific subclass.
      Parameters:
      index - the constant pool item to examine
    • getConstantPoolLong

      public abstract long getConstantPoolLong(int index)
      Retrieve the value of a CONSTANT_Long constant pool item. This method should be overriden by a toolkit-specific subclass.
      Parameters:
      index - the constant pool item to examine
    • getConstantPoolDouble

      public abstract double getConstantPoolDouble(int index)
      Retrieve the value of a CONSTANT_Double constant pool item. This method should be overriden by a toolkit-specific subclass.
      Parameters:
      index - the constant pool item to examine
    • getConstantPoolString

      public abstract String getConstantPoolString(int index)
      Retrieve the value of a CONSTANT_String constant pool item. This method should be overriden by a toolkit-specific subclass.
      Parameters:
      index - the constant pool item to examine
    • getConstantPoolMethodType

      public abstract String getConstantPoolMethodType(int index)
      Retrieve the value of a CONSTANT_MethodType constant pool item. This method should be overriden by a toolkit-specific subclass.
      Parameters:
      index - the constant pool item to examine
    • getConstantPoolClassType

      public abstract String getConstantPoolClassType(int index)
      Retrieve the value of a CONSTANT_Class constant pool item in JVM internal class format (e.g., java/lang/Object). This method should be overriden by a toolkit-specific subclass.
      Parameters:
      index - the constant pool item to examine
    • getConstantPoolMemberClassType

      public abstract String getConstantPoolMemberClassType(int index)
      Retrieve the class part of a CONSTANT_FieldRef, CONSTANT_MethodRef, or CONSTANT_InterfaceMethodRef constant pool item, in JVM internal class format (e.g., java/lang/Object). This method should be overriden by a toolkit-specific subclass.
      Parameters:
      index - the constant pool item to examine
    • getConstantPoolMemberName

      public abstract String getConstantPoolMemberName(int index)
      Retrieve the name part of a CONSTANT_FieldRef, CONSTANT_MethodRef, or CONSTANT_InterfaceMethodRef constant pool item, This method should be overriden by a toolkit-specific subclass.
      Parameters:
      index - the constant pool item to examine
    • getConstantPoolMemberType

      public abstract String getConstantPoolMemberType(int index)
      Retrieve the type part of a CONSTANT_FieldRef, CONSTANT_MethodRef, or CONSTANT_InterfaceMethodRef constant pool item, in JVM internal type format (e.g., Ljava/lang/Object;). This method should be overriden by a toolkit-specific subclass.
      Parameters:
      index - the constant pool item to examine
    • getConstantPoolHandleClassType

      public abstract String getConstantPoolHandleClassType(int index)
      Retrieve the class part of the CONSTANT_FieldRef, CONSTANT_MethodRef, or CONSTANT_InterfaceMethodRef constant pool item pointed to by a CONSTANT_MethodHandle entry. This method should be overriden by a toolkit-specific subclass.
      Parameters:
      index - the constant pool item to examine
    • getConstantPoolHandleName

      public abstract String getConstantPoolHandleName(int index)
      Retrieve the name part of the CONSTANT_FieldRef, CONSTANT_MethodRef, or CONSTANT_InterfaceMethodRef constant pool item pointed to by a CONSTANT_MethodHandle entry. This method should be overriden by a toolkit-specific subclass.
      Parameters:
      index - the constant pool item to examine
    • getConstantPoolHandleType

      public abstract String getConstantPoolHandleType(int index)
      Retrieve the type part of the CONSTANT_FieldRef, CONSTANT_MethodRef, or CONSTANT_InterfaceMethodRef constant pool item pointed to by a CONSTANT_MethodHandle entry. This method should be overriden by a toolkit-specific subclass.
      Parameters:
      index - the constant pool item to examine
    • getConstantPoolHandleKind

      public abstract byte getConstantPoolHandleKind(int index)
    • getConstantPoolDynamicBootstrap

      public abstract BootstrapMethodsReader.BootstrapMethod getConstantPoolDynamicBootstrap(int index)
    • getConstantPoolDynamicName

      public abstract String getConstantPoolDynamicName(int index)
    • getConstantPoolDynamicType

      public abstract String getConstantPoolDynamicType(int index)