Package proguard.classfile
Interface Clazz
-
- All Superinterfaces:
FeatureNamed
,Processable
,java.io.Serializable
- All Known Implementing Classes:
LibraryClass
,ProgramClass
public interface Clazz extends FeatureNamed, Processable
This interface provides access to the fundamental properties of a Java class.
-
-
Method Summary
All Methods Instance Methods Abstract Methods Modifier and Type Method Description void
accept(ClassVisitor classVisitor)
Accepts the given class visitor.void
addSubClass(Clazz clazz)
Notifies this Clazz that it is being subclassed by another class.void
attributeAccept(java.lang.String name, AttributeVisitor attributeVisitor)
Lets the given attribute info visitor visit the specified attribute.void
attributesAccept(AttributeVisitor attributeVisitor)
Lets the given attribute info visitor visit all attributes of this class.void
constantPoolEntriesAccept(ConstantVisitor constantVisitor)
Lets the given constant pool entry visitor visit all constant pool entries of this class.void
constantPoolEntryAccept(int index, ConstantVisitor constantVisitor)
Lets the given constant pool entry visitor visit the constant pool entry at the specified index.boolean
extends_(java.lang.String className)
Returns whether this class extends the specified class.boolean
extends_(Clazz clazz)
Returns whether this class extends the given class.boolean
extendsOrImplements(java.lang.String className)
Returns whether this class implements the specified class.boolean
extendsOrImplements(Clazz clazz)
Returns whether this class implements the given class.void
fieldAccept(java.lang.String name, java.lang.String descriptor, MemberVisitor memberVisitor)
Lets the given member info visitor visit the specified field.void
fieldsAccept(MemberVisitor memberVisitor)
Lets the given member info visitor visit all fields of this class.Field
findField(java.lang.String name, java.lang.String descriptor)
Returns the field with the given name and descriptor.Method
findMethod(java.lang.String name, java.lang.String descriptor)
Returns the method with the given name and descriptor.int
getAccessFlags()
Returns the access flags of this class.java.lang.String
getClassName(int constantIndex)
Returns the class name of ClassConstant at the specified index.Clazz
getInterface(int index)
Returns the interface at the given index.int
getInterfaceCount()
Returns the number of interfaces that this class implements.java.lang.String
getInterfaceName(int index)
Returns the full internal name of the interface at the given index of this class.java.lang.String
getModuleName(int constantIndex)
Returns the name of the ModuleConstant at the specified index.java.lang.String
getName()
Returns the full internal name of this class.java.lang.String
getName(int constantIndex)
Returns the name of the NameAndTypeConstant at the specified index.java.lang.String
getPackageName(int constantIndex)
Returns the name of the PackageConstant at the specified index.java.lang.String
getRefClassName(int constantIndex)
Returns the class name of the RefConstant at the specified index.java.lang.String
getRefName(int constantIndex)
Returns the name of the RefConstant at the specified index.java.lang.String
getRefType(int constantIndex)
Returns the type of the RefConstant at the specified index.java.lang.String
getString(int constantIndex)
Returns the String value of the Utf8Constant at the specified index.java.lang.String
getStringString(int constantIndex)
Returns the String value of the StringConstant at the specified index.Clazz
getSuperClass()
Returns the super class of this class.java.lang.String
getSuperName()
Returns the full internal name of the super class of this class, or null if this class represents java.lang.Object.int
getTag(int constantIndex)
Returns the tag value of the Constant at the specified index.java.lang.String
getType(int constantIndex)
Returns the type of the NameAndTypeConstant at the specified index.void
hierarchyAccept(boolean visitThisClass, boolean visitSuperClass, boolean visitInterfaces, boolean visitSubclasses, ClassVisitor classVisitor)
Accepts the given class visitor in the class hierarchy.void
interfaceConstantsAccept(ConstantVisitor constantVisitor)
Lets the given constant pool entry visitor visit the class constant pool entries for all interfaces of this class.void
kotlinMetadataAccept(KotlinMetadataVisitor kotlinMetadataVisitor)
Lets the given Kotlin metadata visitor visit the metadata of this class.boolean
mayHaveImplementations(Method method)
Returns whether the given method may possibly have implementing or overriding methods down the class hierarchy.void
methodAccept(java.lang.String name, java.lang.String descriptor, MemberVisitor memberVisitor)
Lets the given member info visitor visit the specified method.void
methodsAccept(MemberVisitor memberVisitor)
Lets the given member info visitor visit all methods of this class.void
removeSubClass(Clazz clazz)
Notifies this Clazz that it is no longer being subclassed by another class.void
subclassesAccept(ClassVisitor classVisitor)
Lets the given class visitor visit all known subclasses.void
superClassConstantAccept(ConstantVisitor constantVisitor)
Lets the given constant pool entry visitor visit the class constant pool entry of the super class of this class, if there is one.void
thisClassConstantAccept(ConstantVisitor constantVisitor)
Lets the given constant pool entry visitor visit the class constant pool entry of this class.-
Methods inherited from interface proguard.util.FeatureNamed
addExtraFeatureName, getExtraFeatureNames, getFeatureName, isInFeature, setFeatureName
-
Methods inherited from interface proguard.util.Processable
getProcessingFlags, getProcessingInfo, setProcessingFlags, setProcessingInfo
-
-
-
-
Method Detail
-
getAccessFlags
int getAccessFlags()
Returns the access flags of this class.- See Also:
ClassConstants
-
getName
java.lang.String getName()
Returns the full internal name of this class.
-
getSuperName
java.lang.String getSuperName()
Returns the full internal name of the super class of this class, or null if this class represents java.lang.Object.
-
getInterfaceCount
int getInterfaceCount()
Returns the number of interfaces that this class implements.
-
getInterfaceName
java.lang.String getInterfaceName(int index)
Returns the full internal name of the interface at the given index of this class.
-
getTag
int getTag(int constantIndex)
Returns the tag value of the Constant at the specified index.
-
getString
java.lang.String getString(int constantIndex)
Returns the String value of the Utf8Constant at the specified index.
-
getStringString
java.lang.String getStringString(int constantIndex)
Returns the String value of the StringConstant at the specified index.
-
getClassName
java.lang.String getClassName(int constantIndex)
Returns the class name of ClassConstant at the specified index.
-
getName
java.lang.String getName(int constantIndex)
Returns the name of the NameAndTypeConstant at the specified index.
-
getType
java.lang.String getType(int constantIndex)
Returns the type of the NameAndTypeConstant at the specified index.
-
getRefClassName
java.lang.String getRefClassName(int constantIndex)
Returns the class name of the RefConstant at the specified index.
-
getRefName
java.lang.String getRefName(int constantIndex)
Returns the name of the RefConstant at the specified index.
-
getRefType
java.lang.String getRefType(int constantIndex)
Returns the type of the RefConstant at the specified index.
-
getModuleName
java.lang.String getModuleName(int constantIndex)
Returns the name of the ModuleConstant at the specified index.
-
getPackageName
java.lang.String getPackageName(int constantIndex)
Returns the name of the PackageConstant at the specified index.
-
addSubClass
void addSubClass(Clazz clazz)
Notifies this Clazz that it is being subclassed by another class.
-
removeSubClass
void removeSubClass(Clazz clazz)
Notifies this Clazz that it is no longer being subclassed by another class.
-
getSuperClass
Clazz getSuperClass()
Returns the super class of this class.
-
getInterface
Clazz getInterface(int index)
Returns the interface at the given index.
-
extends_
boolean extends_(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_
boolean extends_(java.lang.String className)
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.
-
extendsOrImplements
boolean extendsOrImplements(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
boolean extendsOrImplements(java.lang.String className)
Returns whether this class implements the specified class. A class is always considered to implement itself. Interfaces are considered to implement all their superinterfaces.
-
findField
Field findField(java.lang.String name, java.lang.String descriptor)
Returns the field with the given name and descriptor.- 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
Method findMethod(java.lang.String name, java.lang.String descriptor)
Returns the method with the given name and descriptor.- 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
void accept(ClassVisitor classVisitor)
Accepts the given class visitor.
-
hierarchyAccept
void hierarchyAccept(boolean visitThisClass, boolean visitSuperClass, boolean visitInterfaces, boolean visitSubclasses, ClassVisitor classVisitor)
Accepts the given class visitor in the class hierarchy.- 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
- theClassVisitor
that will visit the class hierarchy.
-
subclassesAccept
void subclassesAccept(ClassVisitor classVisitor)
Lets the given class visitor visit all known subclasses.- Parameters:
classVisitor
- theClassVisitor
that will visit the subclasses.
-
constantPoolEntriesAccept
void constantPoolEntriesAccept(ConstantVisitor constantVisitor)
Lets the given constant pool entry visitor visit all constant pool entries of this class.
-
constantPoolEntryAccept
void constantPoolEntryAccept(int index, ConstantVisitor constantVisitor)
Lets the given constant pool entry visitor visit the constant pool entry at the specified index.
-
thisClassConstantAccept
void thisClassConstantAccept(ConstantVisitor constantVisitor)
Lets the given constant pool entry visitor visit the class constant pool entry of this class.
-
superClassConstantAccept
void superClassConstantAccept(ConstantVisitor constantVisitor)
Lets the given constant pool entry visitor visit the class constant pool entry of the super class of this class, if there is one.
-
interfaceConstantsAccept
void interfaceConstantsAccept(ConstantVisitor constantVisitor)
Lets the given constant pool entry visitor visit the class constant pool entries for all interfaces of this class.
-
fieldsAccept
void fieldsAccept(MemberVisitor memberVisitor)
Lets the given member info visitor visit all fields of this class.
-
fieldAccept
void fieldAccept(java.lang.String name, java.lang.String descriptor, MemberVisitor memberVisitor)
Lets the given member info visitor visit the specified field.
-
methodsAccept
void methodsAccept(MemberVisitor memberVisitor)
Lets the given member info visitor visit all methods of this class.
-
methodAccept
void methodAccept(java.lang.String name, java.lang.String descriptor, MemberVisitor memberVisitor)
Lets the given member info visitor visit the specified method.
-
mayHaveImplementations
boolean mayHaveImplementations(Method method)
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.- Parameters:
method
- the method that may have implementations.- Returns:
- whether it may have implementations.
-
attributesAccept
void attributesAccept(AttributeVisitor attributeVisitor)
Lets the given attribute info visitor visit all attributes of this class.
-
attributeAccept
void attributeAccept(java.lang.String name, AttributeVisitor attributeVisitor)
Lets the given attribute info visitor visit the specified attribute.
-
kotlinMetadataAccept
void kotlinMetadataAccept(KotlinMetadataVisitor kotlinMetadataVisitor)
Lets the given Kotlin metadata visitor visit the metadata of this class.
-
-