类 ProgramClass

    • 字段详细资料

      • u4version

        public int u4version
      • u2constantPoolCount

        public int u2constantPoolCount
      • constantPool

        public Constant[] constantPool
      • u2accessFlags

        public int u2accessFlags
      • u2thisClass

        public int u2thisClass
      • u2superClass

        public int u2superClass
      • u2interfacesCount

        public int u2interfacesCount
      • u2interfaces

        public int[] u2interfaces
      • u2fieldsCount

        public int u2fieldsCount
      • u2methodsCount

        public int u2methodsCount
      • u2attributesCount

        public int u2attributesCount
      • subClasses

        public Clazz[] subClasses
        An extra field pointing to the subclasses of this class. This field is typically filled out by the ClassSubHierarchyInitializer.
      • subClassCount

        public int subClassCount
    • 构造器详细资料

      • ProgramClass

        public ProgramClass()
        Creates an uninitialized ProgramClass.
      • ProgramClass

        public ProgramClass​(int u4version,
                            int u2constantPoolCount,
                            Constant[] constantPool,
                            int u2accessFlags,
                            int u2thisClass,
                            int u2superClass)
        Creates an initialized ProgramClass without fields, methods, attributes, or subclasses.
      • ProgramClass

        public ProgramClass​(int u4version,
                            int u2constantPoolCount,
                            Constant[] constantPool,
                            int u2accessFlags,
                            int u2thisClass,
                            int u2superClass,
                            java.lang.String featureName,
                            int processingFlags,
                            java.lang.Object processingInfo)
        Creates an initialized ProgramClass without fields, methods, attributes, or subclasses.
      • ProgramClass

        public ProgramClass​(int u4version,
                            int u2constantPoolCount,
                            Constant[] constantPool,
                            int u2accessFlags,
                            int u2thisClass,
                            int u2superClass,
                            int u2interfacesCount,
                            int[] u2interfaces,
                            int u2fieldsCount,
                            ProgramField[] fields,
                            int u2methodsCount,
                            ProgramMethod[] methods,
                            int u2attributesCount,
                            Attribute[] attributes,
                            int subClassCount,
                            Clazz[] subClasses)
        Creates an initialized ProgramClass.
      • ProgramClass

        public ProgramClass​(int u4version,
                            int u2constantPoolCount,
                            Constant[] constantPool,
                            int u2accessFlags,
                            int u2thisClass,
                            int u2superClass,
                            int u2interfacesCount,
                            int[] u2interfaces,
                            int u2fieldsCount,
                            ProgramField[] fields,
                            int u2methodsCount,
                            ProgramMethod[] methods,
                            int u2attributesCount,
                            Attribute[] attributes,
                            int subClassCount,
                            Clazz[] subClasses,
                            java.lang.String featureName,
                            int processingFlags,
                            java.lang.Object processingInfo)
        Creates an initialized ProgramClass.
    • 方法详细资料

      • getConstant

        public Constant getConstant​(int constantIndex)
        Returns the Constant at the given index in the constant pool.
      • getAccessFlags

        public int getAccessFlags()
        从接口复制的说明: Clazz
        Returns the access flags of this class.
        指定者:
        getAccessFlags 在接口中 Clazz
        另请参阅:
        ClassConstants
      • getName

        public java.lang.String getName()
        从接口复制的说明: Clazz
        Returns the full internal name of this class.
        指定者:
        getName 在接口中 Clazz
      • getSuperName

        public java.lang.String getSuperName()
        从接口复制的说明: Clazz
        Returns the full internal name of the super class of this class, or null if this class represents java.lang.Object.
        指定者:
        getSuperName 在接口中 Clazz
      • getInterfaceCount

        public int getInterfaceCount()
        从接口复制的说明: Clazz
        Returns the number of interfaces that this class implements.
        指定者:
        getInterfaceCount 在接口中 Clazz
      • getInterfaceName

        public java.lang.String getInterfaceName​(int index)
        从接口复制的说明: Clazz
        Returns the full internal name of the interface at the given index of this class.
        指定者:
        getInterfaceName 在接口中 Clazz
      • getTag

        public int getTag​(int constantIndex)
        从接口复制的说明: Clazz
        Returns the tag value of the Constant at the specified index.
        指定者:
        getTag 在接口中 Clazz
      • getString

        public java.lang.String getString​(int constantIndex)
        从接口复制的说明: Clazz
        Returns the String value of the Utf8Constant at the specified index.
        指定者:
        getString 在接口中 Clazz
      • getStringString

        public java.lang.String getStringString​(int constantIndex)
        从接口复制的说明: Clazz
        Returns the String value of the StringConstant at the specified index.
        指定者:
        getStringString 在接口中 Clazz
      • getClassName

        public java.lang.String getClassName​(int constantIndex)
        从接口复制的说明: Clazz
        Returns the class name of ClassConstant at the specified index.
        指定者:
        getClassName 在接口中 Clazz
      • getName

        public java.lang.String getName​(int constantIndex)
        从接口复制的说明: Clazz
        Returns the name of the NameAndTypeConstant at the specified index.
        指定者:
        getName 在接口中 Clazz
      • getType

        public java.lang.String getType​(int constantIndex)
        从接口复制的说明: Clazz
        Returns the type of the NameAndTypeConstant at the specified index.
        指定者:
        getType 在接口中 Clazz
      • getRefClassName

        public java.lang.String getRefClassName​(int constantIndex)
        从接口复制的说明: Clazz
        Returns the class name of the RefConstant at the specified index.
        指定者:
        getRefClassName 在接口中 Clazz
      • getRefName

        public java.lang.String getRefName​(int constantIndex)
        从接口复制的说明: Clazz
        Returns the name of the RefConstant at the specified index.
        指定者:
        getRefName 在接口中 Clazz
      • getRefType

        public java.lang.String getRefType​(int constantIndex)
        从接口复制的说明: Clazz
        Returns the type of the RefConstant at the specified index.
        指定者:
        getRefType 在接口中 Clazz
      • getModuleName

        public java.lang.String getModuleName​(int constantIndex)
        从接口复制的说明: Clazz
        Returns the name of the ModuleConstant at the specified index.
        指定者:
        getModuleName 在接口中 Clazz
      • getPackageName

        public java.lang.String getPackageName​(int constantIndex)
        从接口复制的说明: Clazz
        Returns the name of the PackageConstant at the specified index.
        指定者:
        getPackageName 在接口中 Clazz
      • addSubClass

        public void addSubClass​(Clazz clazz)
        从接口复制的说明: Clazz
        Notifies this Clazz that it is being subclassed by another class.
        指定者:
        addSubClass 在接口中 Clazz
      • removeSubClass

        public void removeSubClass​(Clazz clazz)
        从接口复制的说明: Clazz
        Notifies this Clazz that it is no longer being subclassed by another class.
        指定者:
        removeSubClass 在接口中 Clazz
      • getSuperClass

        public Clazz getSuperClass()
        从接口复制的说明: Clazz
        Returns the super class of this class.
        指定者:
        getSuperClass 在接口中 Clazz
      • getInterface

        public Clazz getInterface​(int index)
        从接口复制的说明: Clazz
        Returns the interface at the given index.
        指定者:
        getInterface 在接口中 Clazz
      • extends_

        public boolean extends_​(Clazz clazz)
        从接口复制的说明: Clazz
        Returns whether this class extends the given class. A class is always considered to extend itself. Interfaces are considered to only extend the root Object class.
        指定者:
        extends_ 在接口中 Clazz
      • extends_

        public boolean extends_​(java.lang.String className)
        从接口复制的说明: Clazz
        Returns whether this class extends the specified class. A class is always considered to extend itself. Interfaces are considered to only extend the root Object class.
        指定者:
        extends_ 在接口中 Clazz
      • extendsOrImplements

        public boolean extendsOrImplements​(Clazz clazz)
        从接口复制的说明: Clazz
        Returns whether this class implements the given class. A class is always considered to implement itself. Interfaces are considered to implement all their superinterfaces.
        指定者:
        extendsOrImplements 在接口中 Clazz
      • extendsOrImplements

        public boolean extendsOrImplements​(java.lang.String className)
        从接口复制的说明: Clazz
        Returns whether this class implements the specified class. A class is always considered to implement itself. Interfaces are considered to implement all their superinterfaces.
        指定者:
        extendsOrImplements 在接口中 Clazz
      • findField

        public Field findField​(java.lang.String name,
                               java.lang.String descriptor)
        从接口复制的说明: Clazz
        Returns the field with the given name and descriptor.
        指定者:
        findField 在接口中 Clazz
        参数:
        name - the field name, or null if it is irrelevant.
        descriptor - the field type, or null if it is irrelevant.
        返回:
        the first matching field, or null there is no matching field.
      • findMethod

        public Method findMethod​(java.lang.String name,
                                 java.lang.String descriptor)
        从接口复制的说明: Clazz
        Returns the method with the given name and descriptor.
        指定者:
        findMethod 在接口中 Clazz
        参数:
        name - the method name, or null if it is irrelevant.
        descriptor - the method descriptor, or null if it is irrelevant.
        返回:
        the first matching method, or null there is no matching method.
      • accept

        public void accept​(ClassVisitor classVisitor)
        从接口复制的说明: Clazz
        Accepts the given class visitor.
        指定者:
        accept 在接口中 Clazz
      • hierarchyAccept

        public void hierarchyAccept​(boolean visitThisClass,
                                    boolean visitSuperClass,
                                    boolean visitInterfaces,
                                    boolean visitSubclasses,
                                    ClassVisitor classVisitor)
        从接口复制的说明: Clazz
        Accepts the given class visitor in the class hierarchy.
        指定者:
        hierarchyAccept 在接口中 Clazz
        参数:
        visitThisClass - specifies whether to visit this class.
        visitSuperClass - specifies whether to visit the super classes.
        visitInterfaces - specifies whether to visit the interfaces.
        visitSubclasses - specifies whether to visit the subclasses.
        classVisitor - the ClassVisitor that will visit the class hierarchy.
      • subclassesAccept

        public void subclassesAccept​(ClassVisitor classVisitor)
        从接口复制的说明: Clazz
        Lets the given class visitor visit all known subclasses.
        指定者:
        subclassesAccept 在接口中 Clazz
        参数:
        classVisitor - the ClassVisitor that will visit the subclasses.
      • constantPoolEntriesAccept

        public void constantPoolEntriesAccept​(ConstantVisitor constantVisitor)
        从接口复制的说明: Clazz
        Lets the given constant pool entry visitor visit all constant pool entries of this class.
        指定者:
        constantPoolEntriesAccept 在接口中 Clazz
      • constantPoolEntryAccept

        public void constantPoolEntryAccept​(int index,
                                            ConstantVisitor constantVisitor)
        从接口复制的说明: Clazz
        Lets the given constant pool entry visitor visit the constant pool entry at the specified index.
        指定者:
        constantPoolEntryAccept 在接口中 Clazz
      • thisClassConstantAccept

        public void thisClassConstantAccept​(ConstantVisitor constantVisitor)
        从接口复制的说明: Clazz
        Lets the given constant pool entry visitor visit the class constant pool entry of this class.
        指定者:
        thisClassConstantAccept 在接口中 Clazz
      • superClassConstantAccept

        public void superClassConstantAccept​(ConstantVisitor constantVisitor)
        从接口复制的说明: Clazz
        Lets the given constant pool entry visitor visit the class constant pool entry of the super class of this class, if there is one.
        指定者:
        superClassConstantAccept 在接口中 Clazz
      • interfaceConstantsAccept

        public void interfaceConstantsAccept​(ConstantVisitor constantVisitor)
        从接口复制的说明: Clazz
        Lets the given constant pool entry visitor visit the class constant pool entries for all interfaces of this class.
        指定者:
        interfaceConstantsAccept 在接口中 Clazz
      • fieldsAccept

        public void fieldsAccept​(MemberVisitor memberVisitor)
        从接口复制的说明: Clazz
        Lets the given member info visitor visit all fields of this class.
        指定者:
        fieldsAccept 在接口中 Clazz
      • fieldAccept

        public void fieldAccept​(java.lang.String name,
                                java.lang.String descriptor,
                                MemberVisitor memberVisitor)
        从接口复制的说明: Clazz
        Lets the given member info visitor visit the specified field.
        指定者:
        fieldAccept 在接口中 Clazz
      • methodsAccept

        public void methodsAccept​(MemberVisitor memberVisitor)
        从接口复制的说明: Clazz
        Lets the given member info visitor visit all methods of this class.
        指定者:
        methodsAccept 在接口中 Clazz
      • methodAccept

        public void methodAccept​(java.lang.String name,
                                 java.lang.String descriptor,
                                 MemberVisitor memberVisitor)
        从接口复制的说明: Clazz
        Lets the given member info visitor visit the specified method.
        指定者:
        methodAccept 在接口中 Clazz
      • mayHaveImplementations

        public boolean mayHaveImplementations​(Method method)
        从接口复制的说明: Clazz
        Returns whether the given method may possibly have implementing or overriding methods down the class hierarchy. This can only be true if the class is not final, and the method is not private, static, or final, or a constructor.
        指定者:
        mayHaveImplementations 在接口中 Clazz
        参数:
        method - the method that may have implementations.
        返回:
        whether it may have implementations.
      • attributesAccept

        public void attributesAccept​(AttributeVisitor attributeVisitor)
        从接口复制的说明: Clazz
        Lets the given attribute info visitor visit all attributes of this class.
        指定者:
        attributesAccept 在接口中 Clazz
      • attributeAccept

        public void attributeAccept​(java.lang.String name,
                                    AttributeVisitor attributeVisitor)
        从接口复制的说明: Clazz
        Lets the given attribute info visitor visit the specified attribute.
        指定者:
        attributeAccept 在接口中 Clazz
      • kotlinMetadataAccept

        public void kotlinMetadataAccept​(KotlinMetadataVisitor kotlinMetadataVisitor)
        从接口复制的说明: Clazz
        Lets the given Kotlin metadata visitor visit the metadata of this class.
        指定者:
        kotlinMetadataAccept 在接口中 Clazz
      • toString

        public java.lang.String toString()
        覆盖:
        toString 在类中 java.lang.Object