proguard.classfile
Interface Clazz

All Superinterfaces:
VisitorAccepter
All Known Implementing Classes:
LibraryClass, ProgramClass

public interface Clazz
extends VisitorAccepter

This interface provides access to the representation of a Java class.


Method Summary
 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 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_(Clazz clazz)
          Returns whether this class extends the given 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 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 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.
 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 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.classfile.VisitorAccepter
getVisitorInfo, setVisitorInfo
 

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.


addSubClass

void addSubClass(Clazz clazz)
Notifies this Clazz that it is 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.


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.


findField

Field findField(java.lang.String name,
                java.lang.String descriptor)
Returns the field with the given name and descriptor.


findMethod

Method findMethod(java.lang.String name,
                  java.lang.String descriptor)
Returns the method with the given name and descriptor.


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 - the ClassVisitor that will visit the class hierarchy.

subclassesAccept

void subclassesAccept(ClassVisitor classVisitor)
Lets the given class visitor visit all known subclasses.

Parameters:
classVisitor - the ClassVisitor 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.