Class LibraryClass

    • Field Detail

      • u2accessFlags

        public int u2accessFlags
      • thisClassName

        public java.lang.String thisClassName
      • superClassName

        public java.lang.String superClassName
      • interfaceNames

        public java.lang.String[] interfaceNames
      • subClassCount

        public int subClassCount
    • Constructor Detail

      • LibraryClass

        public LibraryClass()
        Creates an empty LibraryClass.
      • LibraryClass

        public LibraryClass​(int u2accessFlags,
                            java.lang.String thisClassName,
                            java.lang.String superClassName)
        Creates an initialized LibraryClass
        Parameters:
        u2accessFlags - access flags for the new class.
        thisClassName - the fully qualified name of the new class.
        superClassName - the fully qualified name of the super class.
      • LibraryClass

        public LibraryClass​(int u2accessFlags,
                            java.lang.String thisClassName,
                            java.lang.String superClassName,
                            KotlinMetadata kotlinMetadata)
        Creates an initialized LibraryClass
        Parameters:
        u2accessFlags - access flags for the new class.
        thisClassName - the fully qualified name of the new class.
        superClassName - the fully qualified name of the super class.
        kotlinMetadata - the metadata attached to this class if it is a Kotlin class.
      • LibraryClass

        public LibraryClass​(int u2accessFlags,
                            java.lang.String thisClassName,
                            java.lang.String superClassName,
                            java.lang.String[] interfaceNames,
                            Clazz[] interfaceClasses,
                            int subClassCount,
                            Clazz[] subClasses,
                            LibraryField[] fields,
                            LibraryMethod[] methods,
                            KotlinMetadata kotlinMetadata)
        Creates an initialized LibraryClass
        Parameters:
        u2accessFlags - access flags for the new class.
        thisClassName - the fully qualified name of the new class.
        superClassName - the fully qualified name of the super class.
        interfaceNames - the names of the interfaces that are implemented by this class.
        interfaceClasses - references to the interface classes of the interfaces that are implemented by this class.
        subClassCount - the number of subclasses of this class.
        subClasses - references to the subclasses of this class.
        fields - references to the fields of this class.
        methods - references to the methods of this class.
        kotlinMetadata - the metadata attached to this class if it is a Kotlin class
    • Method Detail

      • getAccessFlags

        public int getAccessFlags()
        Description copied from interface: Clazz
        Returns the access flags of this class.
        Specified by:
        getAccessFlags in interface Clazz
        See Also:
        ClassConstants
      • getName

        public java.lang.String getName()
        Description copied from interface: Clazz
        Returns the full internal name of this class.
        Specified by:
        getName in interface Clazz
      • getSuperName

        public java.lang.String getSuperName()
        Description copied from interface: Clazz
        Returns the full internal name of the super class of this class, or null if this class represents java.lang.Object.
        Specified by:
        getSuperName in interface Clazz
      • getInterfaceCount

        public int getInterfaceCount()
        Description copied from interface: Clazz
        Returns the number of interfaces that this class implements.
        Specified by:
        getInterfaceCount in interface Clazz
      • getInterfaceName

        public java.lang.String getInterfaceName​(int index)
        Description copied from interface: Clazz
        Returns the full internal name of the interface at the given index of this class.
        Specified by:
        getInterfaceName in interface Clazz
      • getTag

        public int getTag​(int constantIndex)
        Description copied from interface: Clazz
        Returns the tag value of the Constant at the specified index.
        Specified by:
        getTag in interface Clazz
      • getString

        public java.lang.String getString​(int constantIndex)
        Description copied from interface: Clazz
        Returns the String value of the Utf8Constant at the specified index.
        Specified by:
        getString in interface Clazz
      • getStringString

        public java.lang.String getStringString​(int constantIndex)
        Description copied from interface: Clazz
        Returns the String value of the StringConstant at the specified index.
        Specified by:
        getStringString in interface Clazz
      • getClassName

        public java.lang.String getClassName​(int constantIndex)
        Description copied from interface: Clazz
        Returns the class name of ClassConstant at the specified index.
        Specified by:
        getClassName in interface Clazz
      • getName

        public java.lang.String getName​(int constantIndex)
        Description copied from interface: Clazz
        Returns the name of the NameAndTypeConstant at the specified index.
        Specified by:
        getName in interface Clazz
      • getType

        public java.lang.String getType​(int constantIndex)
        Description copied from interface: Clazz
        Returns the type of the NameAndTypeConstant at the specified index.
        Specified by:
        getType in interface Clazz
      • getRefClassName

        public java.lang.String getRefClassName​(int constantIndex)
        Description copied from interface: Clazz
        Returns the class name of the RefConstant at the specified index.
        Specified by:
        getRefClassName in interface Clazz
      • getRefName

        public java.lang.String getRefName​(int constantIndex)
        Description copied from interface: Clazz
        Returns the name of the RefConstant at the specified index.
        Specified by:
        getRefName in interface Clazz
      • getRefType

        public java.lang.String getRefType​(int constantIndex)
        Description copied from interface: Clazz
        Returns the type of the RefConstant at the specified index.
        Specified by:
        getRefType in interface Clazz
      • getModuleName

        public java.lang.String getModuleName​(int constantIndex)
        Description copied from interface: Clazz
        Returns the name of the ModuleConstant at the specified index.
        Specified by:
        getModuleName in interface Clazz
      • getPackageName

        public java.lang.String getPackageName​(int constantIndex)
        Description copied from interface: Clazz
        Returns the name of the PackageConstant at the specified index.
        Specified by:
        getPackageName in interface Clazz
      • addSubClass

        public void addSubClass​(Clazz clazz)
        Description copied from interface: Clazz
        Notifies this Clazz that it is being subclassed by another class.
        Specified by:
        addSubClass in interface Clazz
      • removeSubClass

        public void removeSubClass​(Clazz clazz)
        Description copied from interface: Clazz
        Notifies this Clazz that it is no longer being subclassed by another class.
        Specified by:
        removeSubClass in interface Clazz
      • getSuperClass

        public Clazz getSuperClass()
        Description copied from interface: Clazz
        Returns the super class of this class.
        Specified by:
        getSuperClass in interface Clazz
      • getInterface

        public Clazz getInterface​(int index)
        Description copied from interface: Clazz
        Returns the interface at the given index.
        Specified by:
        getInterface in interface Clazz
      • extends_

        public boolean extends_​(Clazz clazz)
        Description copied from interface: 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.
        Specified by:
        extends_ in interface Clazz
      • extends_

        public boolean extends_​(java.lang.String className)
        Description copied from interface: 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.
        Specified by:
        extends_ in interface Clazz
      • extendsOrImplements

        public boolean extendsOrImplements​(Clazz clazz)
        Description copied from interface: 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.
        Specified by:
        extendsOrImplements in interface Clazz
      • extendsOrImplements

        public boolean extendsOrImplements​(java.lang.String className)
        Description copied from interface: 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.
        Specified by:
        extendsOrImplements in interface Clazz
      • findField

        public Field findField​(java.lang.String name,
                               java.lang.String descriptor)
        Description copied from interface: Clazz
        Returns the field with the given name and descriptor.
        Specified by:
        findField in interface Clazz
        Parameters:
        name - the field name, or null if it is irrelevant.
        descriptor - the field type, or null if it is irrelevant.
        Returns:
        the first matching field, or null there is no matching field.
      • findMethod

        public Method findMethod​(java.lang.String name,
                                 java.lang.String descriptor)
        Description copied from interface: Clazz
        Returns the method with the given name and descriptor.
        Specified by:
        findMethod in interface Clazz
        Parameters:
        name - the method name, or null if it is irrelevant.
        descriptor - the method descriptor, or null if it is irrelevant.
        Returns:
        the first matching method, or null there is no matching method.
      • accept

        public void accept​(ClassVisitor classVisitor)
        Description copied from interface: Clazz
        Accepts the given class visitor.
        Specified by:
        accept in interface Clazz
      • hierarchyAccept

        public void hierarchyAccept​(boolean visitThisClass,
                                    boolean visitSuperClass,
                                    boolean visitInterfaces,
                                    boolean visitSubclasses,
                                    ClassVisitor classVisitor)
        Description copied from interface: Clazz
        Accepts the given class visitor in the class hierarchy.
        Specified by:
        hierarchyAccept in interface Clazz
        Parameters:
        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.
      • superClassAccept

        public void superClassAccept​(ClassVisitor classVisitor)
        Lets the given class visitor visit the superclass, if it is known.
        Parameters:
        classVisitor - the ClassVisitor that will visit the superclass.
      • interfacesAccept

        public void interfacesAccept​(ClassVisitor classVisitor)
        Lets the given class visitor visit all known direct interfaces.
        Parameters:
        classVisitor - the ClassVisitor that will visit the interfaces.
      • subclassesAccept

        public void subclassesAccept​(ClassVisitor classVisitor)
        Description copied from interface: Clazz
        Lets the given class visitor visit all known subclasses.
        Specified by:
        subclassesAccept in interface Clazz
        Parameters:
        classVisitor - the ClassVisitor that will visit the subclasses.
      • constantPoolEntriesAccept

        public void constantPoolEntriesAccept​(ConstantVisitor constantVisitor)
        Description copied from interface: Clazz
        Lets the given constant pool entry visitor visit all constant pool entries of this class.
        Specified by:
        constantPoolEntriesAccept in interface Clazz
      • constantPoolEntryAccept

        public void constantPoolEntryAccept​(int index,
                                            ConstantVisitor constantVisitor)
        Description copied from interface: Clazz
        Lets the given constant pool entry visitor visit the constant pool entry at the specified index.
        Specified by:
        constantPoolEntryAccept in interface Clazz
      • thisClassConstantAccept

        public void thisClassConstantAccept​(ConstantVisitor constantVisitor)
        Description copied from interface: Clazz
        Lets the given constant pool entry visitor visit the class constant pool entry of this class.
        Specified by:
        thisClassConstantAccept in interface Clazz
      • superClassConstantAccept

        public void superClassConstantAccept​(ConstantVisitor constantVisitor)
        Description copied from interface: 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.
        Specified by:
        superClassConstantAccept in interface Clazz
      • interfaceConstantsAccept

        public void interfaceConstantsAccept​(ConstantVisitor constantVisitor)
        Description copied from interface: Clazz
        Lets the given constant pool entry visitor visit the class constant pool entries for all interfaces of this class.
        Specified by:
        interfaceConstantsAccept in interface Clazz
      • fieldsAccept

        public void fieldsAccept​(MemberVisitor memberVisitor)
        Description copied from interface: Clazz
        Lets the given member info visitor visit all fields of this class.
        Specified by:
        fieldsAccept in interface Clazz
      • fieldAccept

        public void fieldAccept​(java.lang.String name,
                                java.lang.String descriptor,
                                MemberVisitor memberVisitor)
        Description copied from interface: Clazz
        Lets the given member info visitor visit the specified field.
        Specified by:
        fieldAccept in interface Clazz
      • methodsAccept

        public void methodsAccept​(MemberVisitor memberVisitor)
        Description copied from interface: Clazz
        Lets the given member info visitor visit all methods of this class.
        Specified by:
        methodsAccept in interface Clazz
      • methodAccept

        public void methodAccept​(java.lang.String name,
                                 java.lang.String descriptor,
                                 MemberVisitor memberVisitor)
        Description copied from interface: Clazz
        Lets the given member info visitor visit the specified method.
        Specified by:
        methodAccept in interface Clazz
      • mayHaveImplementations

        public boolean mayHaveImplementations​(Method method)
        Description copied from interface: 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.
        Specified by:
        mayHaveImplementations in interface Clazz
        Parameters:
        method - the method that may have implementations.
        Returns:
        whether it may have implementations.
      • attributesAccept

        public void attributesAccept​(AttributeVisitor attributeVisitor)
        Description copied from interface: Clazz
        Lets the given attribute info visitor visit all attributes of this class.
        Specified by:
        attributesAccept in interface Clazz
      • attributeAccept

        public void attributeAccept​(java.lang.String name,
                                    AttributeVisitor attributeVisitor)
        Description copied from interface: Clazz
        Lets the given attribute info visitor visit the specified attribute.
        Specified by:
        attributeAccept in interface Clazz
      • kotlinMetadataAccept

        public void kotlinMetadataAccept​(KotlinMetadataVisitor kotlinMetadataVisitor)
        Description copied from interface: Clazz
        Lets the given Kotlin metadata visitor visit the metadata of this class.
        Specified by:
        kotlinMetadataAccept in interface Clazz
      • toString

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