Package proguard.classfile.editor
Class Utf8Shrinker
java.lang.Object
proguard.classfile.editor.Utf8Shrinker
- All Implemented Interfaces:
AnnotationVisitor,ElementValueVisitor,AttributeVisitor,InnerClassesInfoVisitor,LocalVariableInfoVisitor,LocalVariableTypeInfoVisitor,ParameterInfoVisitor,RecordComponentInfoVisitor,ConstantVisitor,ClassVisitor,MemberVisitor
public class Utf8Shrinker
extends Object
implements ClassVisitor, MemberVisitor, ConstantVisitor, AttributeVisitor, RecordComponentInfoVisitor, InnerClassesInfoVisitor, ParameterInfoVisitor, LocalVariableInfoVisitor, LocalVariableTypeInfoVisitor, AnnotationVisitor, ElementValueVisitor
This
ClassVisitor removes UTF-8 constant pool entries that are not used.-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionvoidvisitAnnotation(Clazz clazz, Annotation annotation) Visits any Annotation instance.voidvisitAnnotationDefaultAttribute(Clazz clazz, Method method, AnnotationDefaultAttribute annotationDefaultAttribute) voidvisitAnnotationElementValue(Clazz clazz, Annotation annotation, AnnotationElementValue annotationElementValue) voidvisitAnyAnnotationsAttribute(Clazz clazz, AnnotationsAttribute annotationsAttribute) Visits any AnnotationsAttribute instance.voidvisitAnyClass(Clazz clazz) Visits any Clazz instance.voidvisitAnyConstant(Clazz clazz, Constant constant) Visits any Constant instance.voidvisitAnyParameterAnnotationsAttribute(Clazz clazz, Method method, ParameterAnnotationsAttribute parameterAnnotationsAttribute) Visits any ParameterAnnotationsAttribute instance.voidvisitArrayElementValue(Clazz clazz, Annotation annotation, ArrayElementValue arrayElementValue) voidvisitClassConstant(Clazz clazz, ClassConstant classConstant) voidvisitClassElementValue(Clazz clazz, Annotation annotation, ClassElementValue classElementValue) voidvisitCodeAttribute(Clazz clazz, Method method, CodeAttribute codeAttribute) voidvisitConstantElementValue(Clazz clazz, Annotation annotation, ConstantElementValue constantElementValue) voidvisitConstantValueAttribute(Clazz clazz, Field field, ConstantValueAttribute constantValueAttribute) voidvisitDeprecatedAttribute(Clazz clazz, DeprecatedAttribute deprecatedAttribute) voidvisitEnclosingMethodAttribute(Clazz clazz, EnclosingMethodAttribute enclosingMethodAttribute) voidvisitEnumConstantElementValue(Clazz clazz, Annotation annotation, EnumConstantElementValue enumConstantElementValue) voidvisitExceptionsAttribute(Clazz clazz, Method method, ExceptionsAttribute exceptionsAttribute) voidvisitInnerClassesAttribute(Clazz clazz, InnerClassesAttribute innerClassesAttribute) voidvisitInnerClassesInfo(Clazz clazz, InnerClassesInfo innerClassesInfo) voidvisitLineNumberTableAttribute(Clazz clazz, Method method, CodeAttribute codeAttribute, LineNumberTableAttribute lineNumberTableAttribute) voidvisitLocalVariableInfo(Clazz clazz, Method method, CodeAttribute codeAttribute, LocalVariableInfo localVariableInfo) voidvisitLocalVariableTableAttribute(Clazz clazz, Method method, CodeAttribute codeAttribute, LocalVariableTableAttribute localVariableTableAttribute) voidvisitLocalVariableTypeInfo(Clazz clazz, Method method, CodeAttribute codeAttribute, LocalVariableTypeInfo localVariableTypeInfo) voidvisitLocalVariableTypeTableAttribute(Clazz clazz, Method method, CodeAttribute codeAttribute, LocalVariableTypeTableAttribute localVariableTypeTableAttribute) voidvisitMethodParametersAttribute(Clazz clazz, Method method, MethodParametersAttribute methodParametersAttribute) voidvisitModuleAttribute(Clazz clazz, ModuleAttribute moduleAttribute) voidvisitModuleMainClassAttribute(Clazz clazz, ModuleMainClassAttribute moduleMainClassAttribute) voidvisitModulePackagesAttribute(Clazz clazz, ModulePackagesAttribute modulePackagesAttribute) voidvisitNameAndTypeConstant(Clazz clazz, NameAndTypeConstant nameAndTypeConstant) voidvisitNestHostAttribute(Clazz clazz, NestHostAttribute nestHostAttribute) voidvisitNestMembersAttribute(Clazz clazz, NestMembersAttribute nestMembersAttribute) voidvisitParameterInfo(Clazz clazz, Method method, int parameterIndex, ParameterInfo parameterInfo) voidvisitPermittedSubclassesAttribute(Clazz clazz, PermittedSubclassesAttribute permittedSubclassesAttribute) voidvisitProgramClass(ProgramClass programClass) voidvisitProgramMember(ProgramClass programClass, ProgramMember programMember) voidvisitRecordAttribute(Clazz clazz, RecordAttribute recordAttribute) voidvisitRecordComponentInfo(Clazz clazz, RecordComponentInfo recordComponentInfo) voidvisitSignatureAttribute(Clazz clazz, SignatureAttribute signatureAttribute) voidvisitSourceDebugExtensionAttribute(Clazz clazz, SourceDebugExtensionAttribute sourceDebugExtensionAttribute) voidvisitSourceDirAttribute(Clazz clazz, SourceDirAttribute sourceDirAttribute) voidvisitSourceFileAttribute(Clazz clazz, SourceFileAttribute sourceFileAttribute) voidvisitStackMapAttribute(Clazz clazz, Method method, CodeAttribute codeAttribute, StackMapAttribute stackMapAttribute) voidvisitStackMapTableAttribute(Clazz clazz, Method method, CodeAttribute codeAttribute, StackMapTableAttribute stackMapTableAttribute) voidvisitStringConstant(Clazz clazz, StringConstant stringConstant) voidvisitSyntheticAttribute(Clazz clazz, SyntheticAttribute syntheticAttribute) voidvisitUnknownAttribute(Clazz clazz, UnknownAttribute unknownAttribute) Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitMethods inherited from interface proguard.classfile.attribute.annotation.visitor.AnnotationVisitor
visitAnnotation, visitAnnotation, visitAnnotation, visitAnnotation, visitAnnotationMethods inherited from interface proguard.classfile.attribute.visitor.AttributeVisitor
visitAnyAttribute, visitAnyTypeAnnotationsAttribute, visitBootstrapMethodsAttribute, visitDeprecatedAttribute, visitDeprecatedAttribute, visitDeprecatedAttribute, visitRuntimeInvisibleAnnotationsAttribute, visitRuntimeInvisibleAnnotationsAttribute, visitRuntimeInvisibleAnnotationsAttribute, visitRuntimeInvisibleAnnotationsAttribute, visitRuntimeInvisibleAnnotationsAttribute, visitRuntimeInvisibleParameterAnnotationsAttribute, visitRuntimeInvisibleTypeAnnotationsAttribute, visitRuntimeInvisibleTypeAnnotationsAttribute, visitRuntimeInvisibleTypeAnnotationsAttribute, visitRuntimeInvisibleTypeAnnotationsAttribute, visitRuntimeInvisibleTypeAnnotationsAttribute, visitRuntimeInvisibleTypeAnnotationsAttribute, visitRuntimeVisibleAnnotationsAttribute, visitRuntimeVisibleAnnotationsAttribute, visitRuntimeVisibleAnnotationsAttribute, visitRuntimeVisibleAnnotationsAttribute, visitRuntimeVisibleAnnotationsAttribute, visitRuntimeVisibleParameterAnnotationsAttribute, visitRuntimeVisibleTypeAnnotationsAttribute, visitRuntimeVisibleTypeAnnotationsAttribute, visitRuntimeVisibleTypeAnnotationsAttribute, visitRuntimeVisibleTypeAnnotationsAttribute, visitRuntimeVisibleTypeAnnotationsAttribute, visitRuntimeVisibleTypeAnnotationsAttribute, visitSignatureAttribute, visitSignatureAttribute, visitSignatureAttribute, visitSignatureAttribute, visitSyntheticAttribute, visitSyntheticAttribute, visitSyntheticAttributeMethods inherited from interface proguard.classfile.visitor.ClassVisitor
visitLibraryClassMethods inherited from interface proguard.classfile.constant.visitor.ConstantVisitor
visitAnyMethodrefConstant, visitAnyRefConstant, visitDoubleConstant, visitDynamicConstant, visitFieldrefConstant, visitFloatConstant, visitIntegerConstant, visitInterfaceMethodrefConstant, visitInvokeDynamicConstant, visitLongConstant, visitMethodHandleConstant, visitMethodrefConstant, visitMethodTypeConstant, visitModuleConstant, visitPackageConstant, visitPrimitiveArrayConstant, visitUtf8ConstantMethods inherited from interface proguard.classfile.attribute.annotation.visitor.ElementValueVisitor
visitAnyElementValueMethods inherited from interface proguard.classfile.visitor.MemberVisitor
visitAnyMember, visitLibraryField, visitLibraryMember, visitLibraryMethod, visitProgramField, visitProgramMethod
-
Constructor Details
-
Utf8Shrinker
public Utf8Shrinker()
-
-
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
-
visitProgramMember
- Specified by:
visitProgramMemberin interfaceMemberVisitor
-
visitAnyConstant
Description copied from interface:ConstantVisitorVisits any Constant instance. The more specific default implementations of this interface delegate to this method.- Specified by:
visitAnyConstantin interfaceConstantVisitor
-
visitStringConstant
- Specified by:
visitStringConstantin interfaceConstantVisitor
-
visitClassConstant
- Specified by:
visitClassConstantin interfaceConstantVisitor
-
visitNameAndTypeConstant
- Specified by:
visitNameAndTypeConstantin interfaceConstantVisitor
-
visitUnknownAttribute
- Specified by:
visitUnknownAttributein interfaceAttributeVisitor
-
visitSourceFileAttribute
- Specified by:
visitSourceFileAttributein interfaceAttributeVisitor
-
visitSourceDirAttribute
- Specified by:
visitSourceDirAttributein interfaceAttributeVisitor
-
visitSourceDebugExtensionAttribute
public void visitSourceDebugExtensionAttribute(Clazz clazz, SourceDebugExtensionAttribute sourceDebugExtensionAttribute) - Specified by:
visitSourceDebugExtensionAttributein interfaceAttributeVisitor
-
visitRecordAttribute
- Specified by:
visitRecordAttributein interfaceAttributeVisitor
-
visitInnerClassesAttribute
- Specified by:
visitInnerClassesAttributein interfaceAttributeVisitor
-
visitEnclosingMethodAttribute
public void visitEnclosingMethodAttribute(Clazz clazz, EnclosingMethodAttribute enclosingMethodAttribute) - Specified by:
visitEnclosingMethodAttributein interfaceAttributeVisitor
-
visitNestHostAttribute
- Specified by:
visitNestHostAttributein interfaceAttributeVisitor
-
visitNestMembersAttribute
- Specified by:
visitNestMembersAttributein interfaceAttributeVisitor
-
visitPermittedSubclassesAttribute
public void visitPermittedSubclassesAttribute(Clazz clazz, PermittedSubclassesAttribute permittedSubclassesAttribute) - Specified by:
visitPermittedSubclassesAttributein interfaceAttributeVisitor
-
visitModuleAttribute
- Specified by:
visitModuleAttributein interfaceAttributeVisitor
-
visitModuleMainClassAttribute
public void visitModuleMainClassAttribute(Clazz clazz, ModuleMainClassAttribute moduleMainClassAttribute) - Specified by:
visitModuleMainClassAttributein interfaceAttributeVisitor
-
visitModulePackagesAttribute
public void visitModulePackagesAttribute(Clazz clazz, ModulePackagesAttribute modulePackagesAttribute) - Specified by:
visitModulePackagesAttributein interfaceAttributeVisitor
-
visitDeprecatedAttribute
- Specified by:
visitDeprecatedAttributein interfaceAttributeVisitor
-
visitSyntheticAttribute
- Specified by:
visitSyntheticAttributein interfaceAttributeVisitor
-
visitSignatureAttribute
- Specified by:
visitSignatureAttributein interfaceAttributeVisitor
-
visitConstantValueAttribute
public void visitConstantValueAttribute(Clazz clazz, Field field, ConstantValueAttribute constantValueAttribute) - Specified by:
visitConstantValueAttributein interfaceAttributeVisitor
-
visitMethodParametersAttribute
public void visitMethodParametersAttribute(Clazz clazz, Method method, MethodParametersAttribute methodParametersAttribute) - Specified by:
visitMethodParametersAttributein interfaceAttributeVisitor
-
visitExceptionsAttribute
public void visitExceptionsAttribute(Clazz clazz, Method method, ExceptionsAttribute exceptionsAttribute) - Specified by:
visitExceptionsAttributein interfaceAttributeVisitor
-
visitCodeAttribute
- Specified by:
visitCodeAttributein interfaceAttributeVisitor
-
visitStackMapAttribute
public void visitStackMapAttribute(Clazz clazz, Method method, CodeAttribute codeAttribute, StackMapAttribute stackMapAttribute) - Specified by:
visitStackMapAttributein interfaceAttributeVisitor
-
visitStackMapTableAttribute
public void visitStackMapTableAttribute(Clazz clazz, Method method, CodeAttribute codeAttribute, StackMapTableAttribute stackMapTableAttribute) - Specified by:
visitStackMapTableAttributein interfaceAttributeVisitor
-
visitLineNumberTableAttribute
public void visitLineNumberTableAttribute(Clazz clazz, Method method, CodeAttribute codeAttribute, LineNumberTableAttribute lineNumberTableAttribute) - Specified by:
visitLineNumberTableAttributein interfaceAttributeVisitor
-
visitLocalVariableTableAttribute
public void visitLocalVariableTableAttribute(Clazz clazz, Method method, CodeAttribute codeAttribute, LocalVariableTableAttribute localVariableTableAttribute) - Specified by:
visitLocalVariableTableAttributein interfaceAttributeVisitor
-
visitLocalVariableTypeTableAttribute
public void visitLocalVariableTypeTableAttribute(Clazz clazz, Method method, CodeAttribute codeAttribute, LocalVariableTypeTableAttribute localVariableTypeTableAttribute) - Specified by:
visitLocalVariableTypeTableAttributein interfaceAttributeVisitor
-
visitAnyAnnotationsAttribute
Description copied from interface:AttributeVisitorVisits any AnnotationsAttribute instance. The more specific default implementations of this interface delegate to this method.- Specified by:
visitAnyAnnotationsAttributein interfaceAttributeVisitor
-
visitAnyParameterAnnotationsAttribute
public void visitAnyParameterAnnotationsAttribute(Clazz clazz, Method method, ParameterAnnotationsAttribute parameterAnnotationsAttribute) Description copied from interface:AttributeVisitorVisits any ParameterAnnotationsAttribute instance. The more specific default implementations of this interface delegate to this method.- Specified by:
visitAnyParameterAnnotationsAttributein interfaceAttributeVisitor
-
visitAnnotationDefaultAttribute
public void visitAnnotationDefaultAttribute(Clazz clazz, Method method, AnnotationDefaultAttribute annotationDefaultAttribute) - Specified by:
visitAnnotationDefaultAttributein interfaceAttributeVisitor
-
visitRecordComponentInfo
- Specified by:
visitRecordComponentInfoin interfaceRecordComponentInfoVisitor
-
visitInnerClassesInfo
- Specified by:
visitInnerClassesInfoin interfaceInnerClassesInfoVisitor
-
visitParameterInfo
public void visitParameterInfo(Clazz clazz, Method method, int parameterIndex, ParameterInfo parameterInfo) - Specified by:
visitParameterInfoin interfaceParameterInfoVisitor
-
visitLocalVariableInfo
public void visitLocalVariableInfo(Clazz clazz, Method method, CodeAttribute codeAttribute, LocalVariableInfo localVariableInfo) - Specified by:
visitLocalVariableInfoin interfaceLocalVariableInfoVisitor
-
visitLocalVariableTypeInfo
public void visitLocalVariableTypeInfo(Clazz clazz, Method method, CodeAttribute codeAttribute, LocalVariableTypeInfo localVariableTypeInfo) - Specified by:
visitLocalVariableTypeInfoin interfaceLocalVariableTypeInfoVisitor
-
visitAnnotation
Description copied from interface:AnnotationVisitorVisits any Annotation instance. The more specific default implementations of this interface delegate to this method.- Specified by:
visitAnnotationin interfaceAnnotationVisitor
-
visitConstantElementValue
public void visitConstantElementValue(Clazz clazz, Annotation annotation, ConstantElementValue constantElementValue) - Specified by:
visitConstantElementValuein interfaceElementValueVisitor
-
visitEnumConstantElementValue
public void visitEnumConstantElementValue(Clazz clazz, Annotation annotation, EnumConstantElementValue enumConstantElementValue) - Specified by:
visitEnumConstantElementValuein interfaceElementValueVisitor
-
visitClassElementValue
public void visitClassElementValue(Clazz clazz, Annotation annotation, ClassElementValue classElementValue) - Specified by:
visitClassElementValuein interfaceElementValueVisitor
-
visitAnnotationElementValue
public void visitAnnotationElementValue(Clazz clazz, Annotation annotation, AnnotationElementValue annotationElementValue) - Specified by:
visitAnnotationElementValuein interfaceElementValueVisitor
-
visitArrayElementValue
public void visitArrayElementValue(Clazz clazz, Annotation annotation, ArrayElementValue arrayElementValue) - Specified by:
visitArrayElementValuein interfaceElementValueVisitor
-