Package proguard.classfile.util
Class ClassSuperHierarchyInitializer
java.lang.Object
proguard.classfile.util.ClassSuperHierarchyInitializer
- All Implemented Interfaces:
ConstantVisitor,ClassVisitor
This
ClassVisitor initializes the superclass hierarchy of all classes that it visits.
Visited library classes get direct references to their superclasses and interfaces, replacing the superclass names and interface names. The direct references are equivalent to the names, but they are more efficient to work with.
This visitor optionally prints warnings if some superclasses can't be found or if they are in the program class pool.
-
Constructor Summary
ConstructorsConstructorDescriptionClassSuperHierarchyInitializer(ClassPool programClassPool, ClassPool libraryClassPool) Creates a new ClassSuperHierarchyInitializer that initializes the super hierarchy of all visited class files.ClassSuperHierarchyInitializer(ClassPool programClassPool, ClassPool libraryClassPool, InvalidClassReferenceVisitor invalidClassReferenceVisitor) Creates a new ClassSuperHierarchyInitializer that initializes the super hierarchy of all visited class files, visiting the givenInvalidClassReferenceVisitorfor any broken references.ClassSuperHierarchyInitializer(ClassPool programClassPool, ClassPool libraryClassPool, WarningPrinter missingWarningPrinter, WarningPrinter dependencyWarningPrinter) Creates a new ClassSuperHierarchyInitializer that initializes the super hierarchy of all visited class files, optionally printing warnings if some classes can't be found or if they are in the program class pool. -
Method Summary
Modifier and TypeMethodDescriptionvoidvisitAnyClass(Clazz clazz) Visits any Clazz instance.voidvisitClassConstant(Clazz clazz, ClassConstant classConstant) voidvisitLibraryClass(LibraryClass libraryClass) voidvisitProgramClass(ProgramClass programClass) Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitMethods inherited from interface proguard.classfile.constant.visitor.ConstantVisitor
visitAnyConstant, visitAnyMethodrefConstant, visitAnyRefConstant, visitDoubleConstant, visitDynamicConstant, visitFieldrefConstant, visitFloatConstant, visitIntegerConstant, visitInterfaceMethodrefConstant, visitInvokeDynamicConstant, visitLongConstant, visitMethodHandleConstant, visitMethodrefConstant, visitMethodTypeConstant, visitModuleConstant, visitNameAndTypeConstant, visitPackageConstant, visitPrimitiveArrayConstant, visitStringConstant, visitUtf8Constant
-
Constructor Details
-
ClassSuperHierarchyInitializer
Creates a new ClassSuperHierarchyInitializer that initializes the super hierarchy of all visited class files. -
ClassSuperHierarchyInitializer
public ClassSuperHierarchyInitializer(ClassPool programClassPool, ClassPool libraryClassPool, WarningPrinter missingWarningPrinter, WarningPrinter dependencyWarningPrinter) Creates a new ClassSuperHierarchyInitializer that initializes the super hierarchy of all visited class files, optionally printing warnings if some classes can't be found or if they are in the program class pool. -
ClassSuperHierarchyInitializer
public ClassSuperHierarchyInitializer(ClassPool programClassPool, ClassPool libraryClassPool, InvalidClassReferenceVisitor invalidClassReferenceVisitor) Creates a new ClassSuperHierarchyInitializer that initializes the super hierarchy of all visited class files, visiting the givenInvalidClassReferenceVisitorfor any broken references.
-
-
Method Details
-
visitAnyClass
Description copied from interface:ClassVisitorVisits any Clazz instance. The more specific default implementations of this interface delegate to this method.- Specified by:
visitAnyClassin interfaceClassVisitor
-
visitProgramClass
- Specified by:
visitProgramClassin interfaceClassVisitor
-
visitLibraryClass
- Specified by:
visitLibraryClassin interfaceClassVisitor
-
visitClassConstant
- Specified by:
visitClassConstantin interfaceConstantVisitor
-