Class ConstantPool

  • Direct Known Subclasses:
    MutableConstantPool

    public class ConstantPool
    extends java.lang.Object
    • Constructor Detail

      • ConstantPool

        public ConstantPool​(java.lang.Object[] pool)
    • Method Detail

      • size

        public int size()
      • entry

        public <T> T entry​(int index)
      • tag

        public int tag​(int index)
      • utf8

        public java.lang.String utf8​(int utf8_index)
      • className

        public java.lang.String className​(int class_info_index)
      • moduleName

        public java.lang.String moduleName​(int module_info_index)
      • packageName

        public java.lang.String packageName​(int package_info_index)
      • string

        public java.lang.String string​(int string_info_index)
      • toString

        public java.lang.String toString()
        Overrides:
        toString in class java.lang.Object
      • read

        public static ConstantPool read​(java.io.DataInput in)
                                 throws java.io.IOException
        Throws:
        java.io.IOException
      • index

        protected <I> int index​(java.lang.Class<I> infoType,
                                java.util.function.Predicate<I> match,
                                java.util.function.Supplier<I> supplier)
      • add

        protected <I> int add​(java.lang.Class<I> infoType,
                              java.util.function.Supplier<I> supplier)
      • integerInfo

        public int integerInfo​(int constant)
      • integerInfo

        public int integerInfo​(java.lang.Integer constant)
      • integerInfo

        public int integerInfo​(java.lang.Byte constant)
      • integerInfo

        public int integerInfo​(java.lang.Character constant)
      • integerInfo

        public int integerInfo​(java.lang.Short constant)
      • integerInfo

        public int integerInfo​(java.lang.Boolean constant)
      • longInfo

        public int longInfo​(java.lang.Long constant)
      • longInfo

        public int longInfo​(long constant)
      • floatInfo

        public int floatInfo​(java.lang.Float constant)
      • floatInfo

        public int floatInfo​(float constant)
      • doubleInfo

        public int doubleInfo​(java.lang.Double constant)
      • doubleInfo

        public int doubleInfo​(double constant)
      • utf8Info

        public int utf8Info​(java.lang.String utf8)
      • stringInfo

        public int stringInfo​(java.lang.String string)
      • moduleInfo

        public int moduleInfo​(java.lang.String module_name)
      • packageInfo

        public int packageInfo​(java.lang.String package_name)
      • classInfo

        public int classInfo​(java.lang.String class_name)
      • fieldrefInfo

        public int fieldrefInfo​(java.lang.String class_name,
                                java.lang.String name,
                                java.lang.String descriptor)
      • methodrefInfo

        public int methodrefInfo​(java.lang.String class_name,
                                 java.lang.String name,
                                 java.lang.String descriptor)
      • interfaceMethodrefInfo

        public int interfaceMethodrefInfo​(java.lang.String class_name,
                                          java.lang.String name,
                                          java.lang.String descriptor)
      • nameAndTypeInfo

        public int nameAndTypeInfo​(java.lang.String name,
                                   java.lang.String descriptor)
      • methodHandleInfo

        public int methodHandleInfo​(int reference_kind,
                                    java.lang.String class_name,
                                    java.lang.String name,
                                    java.lang.String descriptor,
                                    ConstantPool.RefInfoFunction refInfoFunction)
      • methodTypeInfo

        public int methodTypeInfo​(java.lang.String descriptor)
      • dynamicInfo

        public int dynamicInfo​(int bootstrap_method_attr_index,
                               java.lang.String name,
                               java.lang.String descriptor)
      • invokeDynamicInfo

        public int invokeDynamicInfo​(int bootstrap_method_attr_index,
                                     java.lang.String name,
                                     java.lang.String descriptor)
      • write

        public void write​(java.io.DataOutput out)
                   throws java.io.IOException
        Throws:
        java.io.IOException