Class ConstantPool


  • public class ConstantPool
    extends java.lang.Object
    ConstantPool Class representing the ConstantPool
    • Nested Class Summary

      Nested Classes 
      Modifier and Type Class Description
      class  ConstantPool.Constant
      Constant Base class of all constant entries
      static class  ConstantPool.SUBTAG
      SUBTAG A Tag descriptor of form method-handle constants
      static class  ConstantPool.TAG
      TAG A Tag descriptor of constants in the constant pool
    • Field Summary

      Fields 
      Modifier and Type Field Description
      java.util.ArrayList<ConstantPool.Constant> pool
      The actual pool of Constants
    • Method Summary

      All Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      java.lang.String ConstantStrValue​(int cpx)
      ConstantStrValue Safely gets the string value of any Constant at any CP index.
      java.lang.String decodeClassDescriptor​(int cpx)
      decodeClassDescriptor Pulls the class name out of a string (at the CP index).
      java.lang.String getClassName​(int cpx)
      getClassName Safely gets a Java class name from a ConstantClass from the CP at a given index.
      java.lang.String getClassName​(org.openjdk.asmtools.jdis.ConstantPool.CPX classConst)
      getClassName Safely gets a Java class name from a ConstantClass from a CPX constant pool object.
      java.lang.String getClassName​(org.openjdk.asmtools.jdis.ConstantPool.CPX2 classConst)
      getClassName Safely gets a Java class name from a ConstantClass from a CPX2 constant pool object.
      ConstantPool.Constant getConst​(int cpx)
      getConst Public getter - Safely gets a Constant from the CP at a given index.
      java.lang.String getModule​(int cpx)
      getModule Public string val - Safely gets the string-rep of a ConstantModule from the CP at a given index.
      java.lang.String getName​(int cpx)
      getTypeName Safely gets a Java name from a ConstantUTF8 from the CP at a given index.
      java.lang.String getPackage​(int cpx)
      getPackage Public string val - Safely gets the string-rep of a ConstantPackage from the CP at a given index.
      java.lang.String getPrintedTAG​(ConstantPool.TAG tag)  
      java.lang.String getShortClassName​(int cpx, java.lang.String pkgPrefix)
      getShortClassName shortens a class name (if the class is in the given package). works with a CP index to a ConstantClass.
      java.lang.String getShortClassName​(java.lang.String className, java.lang.String pkgPrefix)
      getShortClassName shortens a class name (if the class is in the given package). works with a string-encoded classname.
      java.lang.String getString​(int cpx)
      getString Public string val - Safely gets the string-rep of a ConstantUTF8 from the CP at a given index.
      void print​(java.io.PrintWriter out)
      prints the entire constant pool.
      void printlnClassId​(java.io.PrintWriter out, int cpx)
      prints a constant value, with the print format based on the print options.
      void printlnClassId​(java.io.PrintWriter out, int cpx, boolean addComma)  
      void setPrintTAG​(boolean value)  
      java.lang.String StringTag​(int cpx)
      StringTag Public string val - Safely gets the string-rep of a Constant from the CP at a given index.
      java.lang.String StringValue​(int cpx)
      StringValue Safely gets the string value of any Constant at any CP index.
      • Methods inherited from class java.lang.Object

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

      • ConstantPool

        public ConstantPool​(ClassData cd)
      • ConstantPool

        public ConstantPool​(ClassData cd,
                            int size)
    • Method Detail

      • setPrintTAG

        public void setPrintTAG​(boolean value)
      • getPrintedTAG

        public java.lang.String getPrintedTAG​(ConstantPool.TAG tag)
      • getConst

        public ConstantPool.Constant getConst​(int cpx)
        getConst Public getter - Safely gets a Constant from the CP at a given index.
      • StringTag

        public java.lang.String StringTag​(int cpx)
        StringTag Public string val - Safely gets the string-rep of a Constant from the CP at a given index.
      • getString

        public java.lang.String getString​(int cpx)
        getString Public string val - Safely gets the string-rep of a ConstantUTF8 from the CP at a given index. Returns either null (if invalid), or the string value of the UTF8
      • getModule

        public java.lang.String getModule​(int cpx)
        getModule Public string val - Safely gets the string-rep of a ConstantModule from the CP at a given index. Returns either null (if invalid), or the string value of the ConstantModule
      • getPackage

        public java.lang.String getPackage​(int cpx)
        getPackage Public string val - Safely gets the string-rep of a ConstantPackage from the CP at a given index. Returns either null (if invalid), or the string value of the ConstantPackage
      • getName

        public java.lang.String getName​(int cpx)
        getTypeName Safely gets a Java name from a ConstantUTF8 from the CP at a given index. Returns either null (if invalid), or the Java name value of the UTF8
      • getClassName

        public java.lang.String getClassName​(int cpx)
        getClassName Safely gets a Java class name from a ConstantClass from the CP at a given index. Returns either the Java class name, or a CP index reference string.
      • getClassName

        public java.lang.String getClassName​(org.openjdk.asmtools.jdis.ConstantPool.CPX2 classConst)
        getClassName Safely gets a Java class name from a ConstantClass from a CPX2 constant pool object. (eg. Method/Field/Interface Ref) Returns either the Java class name, or a CP index reference string.
      • getClassName

        public java.lang.String getClassName​(org.openjdk.asmtools.jdis.ConstantPool.CPX classConst)
        getClassName Safely gets a Java class name from a ConstantClass from a CPX constant pool object. (eg. Class Ref) Returns either the Java class name, or a CP index reference string.
      • getShortClassName

        public java.lang.String getShortClassName​(java.lang.String className,
                                                  java.lang.String pkgPrefix)
        getShortClassName shortens a class name (if the class is in the given package). works with a string-encoded classname.
      • getShortClassName

        public java.lang.String getShortClassName​(int cpx,
                                                  java.lang.String pkgPrefix)
        getShortClassName shortens a class name (if the class is in the given package). works with a CP index to a ConstantClass.
      • decodeClassDescriptor

        public java.lang.String decodeClassDescriptor​(int cpx)
        decodeClassDescriptor Pulls the class name out of a string (at the CP index). (drops any array descriptors, and the class descriptors ("L" and ";")
      • StringValue

        public java.lang.String StringValue​(int cpx)
        StringValue Safely gets the string value of any Constant at any CP index.
      • ConstantStrValue

        public java.lang.String ConstantStrValue​(int cpx)
        ConstantStrValue Safely gets the string value of any Constant at any CP index. This string is either a Constant's String value, or a CP index reference string. The Constant string has a tag descriptor in the beginning.
      • print

        public void print​(java.io.PrintWriter out)
                   throws java.io.IOException
        prints the entire constant pool.
        Throws:
        java.io.IOException
      • printlnClassId

        public void printlnClassId​(java.io.PrintWriter out,
                                   int cpx)
                            throws java.io.IOException
        prints a constant value, with the print format based on the print options.
        Throws:
        java.io.IOException
      • printlnClassId

        public void printlnClassId​(java.io.PrintWriter out,
                                   int cpx,
                                   boolean addComma)
                            throws java.io.IOException
        Throws:
        java.io.IOException