Class RequiredAttributeFilter
- java.lang.Object
-
- proguard.classfile.attribute.visitor.RequiredAttributeFilter
-
- All Implemented Interfaces:
AttributeVisitor
public class RequiredAttributeFilter extends java.lang.Object implements AttributeVisitor
ThisAttributeVisitordelegates its visits to one of two otherAttributeVisitorinstances, depending on whether the visited attribute is strictly required or not.Stack map attributes and stack map table attributes are treated as optional.
-
-
Constructor Summary
Constructors Constructor Description RequiredAttributeFilter(AttributeVisitor requiredAttributeVisitor)Creates a new RequiredAttributeFilter for visiting required attributes.RequiredAttributeFilter(AttributeVisitor requiredAttributeVisitor, AttributeVisitor optionalAttributeVisitor)Creates a new RequiredAttributeFilter for visiting required and optional attributes.
-
Method Summary
-
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
-
Methods inherited from interface proguard.classfile.attribute.visitor.AttributeVisitor
visitAnyAnnotationsAttribute, visitAnyAttribute, visitAnyParameterAnnotationsAttribute, visitAnyTypeAnnotationsAttribute, visitDeprecatedAttribute, visitRuntimeInvisibleAnnotationsAttribute, visitRuntimeInvisibleTypeAnnotationsAttribute, visitRuntimeVisibleAnnotationsAttribute, visitRuntimeVisibleTypeAnnotationsAttribute, visitSignatureAttribute, visitSyntheticAttribute
-
-
-
-
Constructor Detail
-
RequiredAttributeFilter
public RequiredAttributeFilter(AttributeVisitor requiredAttributeVisitor)
Creates a new RequiredAttributeFilter for visiting required attributes.- Parameters:
requiredAttributeVisitor- the visitor that will visit required attributes.
-
RequiredAttributeFilter
public RequiredAttributeFilter(AttributeVisitor requiredAttributeVisitor, AttributeVisitor optionalAttributeVisitor)
Creates a new RequiredAttributeFilter for visiting required and optional attributes.- Parameters:
requiredAttributeVisitor- the visitor that will visit required attributes.optionalAttributeVisitor- the visitor that will visit optional attributes.
-
-
Method Detail
-
visitUnknownAttribute
public void visitUnknownAttribute(Clazz clazz, UnknownAttribute unknownAttribute)
- Specified by:
visitUnknownAttributein interfaceAttributeVisitor
-
visitBootstrapMethodsAttribute
public void visitBootstrapMethodsAttribute(Clazz clazz, BootstrapMethodsAttribute bootstrapMethodsAttribute)
- Specified by:
visitBootstrapMethodsAttributein interfaceAttributeVisitor
-
visitSourceFileAttribute
public void visitSourceFileAttribute(Clazz clazz, SourceFileAttribute sourceFileAttribute)
- Specified by:
visitSourceFileAttributein interfaceAttributeVisitor
-
visitSourceDirAttribute
public void visitSourceDirAttribute(Clazz clazz, SourceDirAttribute sourceDirAttribute)
- Specified by:
visitSourceDirAttributein interfaceAttributeVisitor
-
visitSourceDebugExtensionAttribute
public void visitSourceDebugExtensionAttribute(Clazz clazz, SourceDebugExtensionAttribute sourceDebugExtensionAttribute)
- Specified by:
visitSourceDebugExtensionAttributein interfaceAttributeVisitor
-
visitRecordAttribute
public void visitRecordAttribute(Clazz clazz, RecordAttribute recordAttribute)
- Specified by:
visitRecordAttributein interfaceAttributeVisitor
-
visitInnerClassesAttribute
public void visitInnerClassesAttribute(Clazz clazz, InnerClassesAttribute innerClassesAttribute)
- Specified by:
visitInnerClassesAttributein interfaceAttributeVisitor
-
visitEnclosingMethodAttribute
public void visitEnclosingMethodAttribute(Clazz clazz, EnclosingMethodAttribute enclosingMethodAttribute)
- Specified by:
visitEnclosingMethodAttributein interfaceAttributeVisitor
-
visitNestHostAttribute
public void visitNestHostAttribute(Clazz clazz, NestHostAttribute nestHostAttribute)
- Specified by:
visitNestHostAttributein interfaceAttributeVisitor
-
visitNestMembersAttribute
public void visitNestMembersAttribute(Clazz clazz, NestMembersAttribute nestMembersAttribute)
- Specified by:
visitNestMembersAttributein interfaceAttributeVisitor
-
visitPermittedSubclassesAttribute
public void visitPermittedSubclassesAttribute(Clazz clazz, PermittedSubclassesAttribute permittedSubclassesAttribute)
- Specified by:
visitPermittedSubclassesAttributein interfaceAttributeVisitor
-
visitModuleAttribute
public void visitModuleAttribute(Clazz clazz, ModuleAttribute moduleAttribute)
- 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
public void visitDeprecatedAttribute(Clazz clazz, DeprecatedAttribute deprecatedAttribute)
- Specified by:
visitDeprecatedAttributein interfaceAttributeVisitor
-
visitDeprecatedAttribute
public void visitDeprecatedAttribute(Clazz clazz, Field field, DeprecatedAttribute deprecatedAttribute)
- Specified by:
visitDeprecatedAttributein interfaceAttributeVisitor
-
visitDeprecatedAttribute
public void visitDeprecatedAttribute(Clazz clazz, Method method, DeprecatedAttribute deprecatedAttribute)
- Specified by:
visitDeprecatedAttributein interfaceAttributeVisitor
-
visitSyntheticAttribute
public void visitSyntheticAttribute(Clazz clazz, SyntheticAttribute syntheticAttribute)
- Specified by:
visitSyntheticAttributein interfaceAttributeVisitor
-
visitSyntheticAttribute
public void visitSyntheticAttribute(Clazz clazz, Field field, SyntheticAttribute syntheticAttribute)
- Specified by:
visitSyntheticAttributein interfaceAttributeVisitor
-
visitSyntheticAttribute
public void visitSyntheticAttribute(Clazz clazz, Method method, SyntheticAttribute syntheticAttribute)
- Specified by:
visitSyntheticAttributein interfaceAttributeVisitor
-
visitSignatureAttribute
public void visitSignatureAttribute(Clazz clazz, SignatureAttribute signatureAttribute)
- Specified by:
visitSignatureAttributein interfaceAttributeVisitor
-
visitSignatureAttribute
public void visitSignatureAttribute(Clazz clazz, RecordComponentInfo recordComponentInfo, SignatureAttribute signatureAttribute)
- Specified by:
visitSignatureAttributein interfaceAttributeVisitor
-
visitSignatureAttribute
public void visitSignatureAttribute(Clazz clazz, Field field, SignatureAttribute signatureAttribute)
- Specified by:
visitSignatureAttributein interfaceAttributeVisitor
-
visitSignatureAttribute
public void visitSignatureAttribute(Clazz clazz, Method method, SignatureAttribute signatureAttribute)
- 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 exceptionsAttribute)
- Specified by:
visitMethodParametersAttributein interfaceAttributeVisitor
-
visitExceptionsAttribute
public void visitExceptionsAttribute(Clazz clazz, Method method, ExceptionsAttribute exceptionsAttribute)
- Specified by:
visitExceptionsAttributein interfaceAttributeVisitor
-
visitCodeAttribute
public void visitCodeAttribute(Clazz clazz, Method method, CodeAttribute codeAttribute)
- 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
-
visitRuntimeVisibleAnnotationsAttribute
public void visitRuntimeVisibleAnnotationsAttribute(Clazz clazz, RuntimeVisibleAnnotationsAttribute runtimeVisibleAnnotationsAttribute)
- Specified by:
visitRuntimeVisibleAnnotationsAttributein interfaceAttributeVisitor
-
visitRuntimeVisibleAnnotationsAttribute
public void visitRuntimeVisibleAnnotationsAttribute(Clazz clazz, RecordComponentInfo recordComponentInfo, RuntimeVisibleAnnotationsAttribute runtimeVisibleAnnotationsAttribute)
- Specified by:
visitRuntimeVisibleAnnotationsAttributein interfaceAttributeVisitor
-
visitRuntimeVisibleAnnotationsAttribute
public void visitRuntimeVisibleAnnotationsAttribute(Clazz clazz, Field field, RuntimeVisibleAnnotationsAttribute runtimeVisibleAnnotationsAttribute)
- Specified by:
visitRuntimeVisibleAnnotationsAttributein interfaceAttributeVisitor
-
visitRuntimeVisibleAnnotationsAttribute
public void visitRuntimeVisibleAnnotationsAttribute(Clazz clazz, Method method, RuntimeVisibleAnnotationsAttribute runtimeVisibleAnnotationsAttribute)
- Specified by:
visitRuntimeVisibleAnnotationsAttributein interfaceAttributeVisitor
-
visitRuntimeInvisibleAnnotationsAttribute
public void visitRuntimeInvisibleAnnotationsAttribute(Clazz clazz, RuntimeInvisibleAnnotationsAttribute runtimeInvisibleAnnotationsAttribute)
- Specified by:
visitRuntimeInvisibleAnnotationsAttributein interfaceAttributeVisitor
-
visitRuntimeInvisibleAnnotationsAttribute
public void visitRuntimeInvisibleAnnotationsAttribute(Clazz clazz, RecordComponentInfo recordComponentInfo, RuntimeInvisibleAnnotationsAttribute runtimeInvisibleAnnotationsAttribute)
- Specified by:
visitRuntimeInvisibleAnnotationsAttributein interfaceAttributeVisitor
-
visitRuntimeInvisibleAnnotationsAttribute
public void visitRuntimeInvisibleAnnotationsAttribute(Clazz clazz, Field field, RuntimeInvisibleAnnotationsAttribute runtimeInvisibleAnnotationsAttribute)
- Specified by:
visitRuntimeInvisibleAnnotationsAttributein interfaceAttributeVisitor
-
visitRuntimeInvisibleAnnotationsAttribute
public void visitRuntimeInvisibleAnnotationsAttribute(Clazz clazz, Method method, RuntimeInvisibleAnnotationsAttribute runtimeInvisibleAnnotationsAttribute)
- Specified by:
visitRuntimeInvisibleAnnotationsAttributein interfaceAttributeVisitor
-
visitRuntimeVisibleParameterAnnotationsAttribute
public void visitRuntimeVisibleParameterAnnotationsAttribute(Clazz clazz, Method method, RuntimeVisibleParameterAnnotationsAttribute runtimeVisibleParameterAnnotationsAttribute)
- Specified by:
visitRuntimeVisibleParameterAnnotationsAttributein interfaceAttributeVisitor
-
visitRuntimeInvisibleParameterAnnotationsAttribute
public void visitRuntimeInvisibleParameterAnnotationsAttribute(Clazz clazz, Method method, RuntimeInvisibleParameterAnnotationsAttribute runtimeInvisibleParameterAnnotationsAttribute)
- Specified by:
visitRuntimeInvisibleParameterAnnotationsAttributein interfaceAttributeVisitor
-
visitRuntimeVisibleTypeAnnotationsAttribute
public void visitRuntimeVisibleTypeAnnotationsAttribute(Clazz clazz, RuntimeVisibleTypeAnnotationsAttribute runtimeVisibleTypeAnnotationsAttribute)
- Specified by:
visitRuntimeVisibleTypeAnnotationsAttributein interfaceAttributeVisitor
-
visitRuntimeVisibleTypeAnnotationsAttribute
public void visitRuntimeVisibleTypeAnnotationsAttribute(Clazz clazz, RecordComponentInfo recordComponentInfo, RuntimeVisibleTypeAnnotationsAttribute runtimeVisibleTypeAnnotationsAttribute)
- Specified by:
visitRuntimeVisibleTypeAnnotationsAttributein interfaceAttributeVisitor
-
visitRuntimeVisibleTypeAnnotationsAttribute
public void visitRuntimeVisibleTypeAnnotationsAttribute(Clazz clazz, Field field, RuntimeVisibleTypeAnnotationsAttribute runtimeVisibleTypeAnnotationsAttribute)
- Specified by:
visitRuntimeVisibleTypeAnnotationsAttributein interfaceAttributeVisitor
-
visitRuntimeVisibleTypeAnnotationsAttribute
public void visitRuntimeVisibleTypeAnnotationsAttribute(Clazz clazz, Method method, RuntimeVisibleTypeAnnotationsAttribute runtimeVisibleTypeAnnotationsAttribute)
- Specified by:
visitRuntimeVisibleTypeAnnotationsAttributein interfaceAttributeVisitor
-
visitRuntimeVisibleTypeAnnotationsAttribute
public void visitRuntimeVisibleTypeAnnotationsAttribute(Clazz clazz, Method method, CodeAttribute codeAttribute, RuntimeVisibleTypeAnnotationsAttribute runtimeVisibleTypeAnnotationsAttribute)
- Specified by:
visitRuntimeVisibleTypeAnnotationsAttributein interfaceAttributeVisitor
-
visitRuntimeInvisibleTypeAnnotationsAttribute
public void visitRuntimeInvisibleTypeAnnotationsAttribute(Clazz clazz, RuntimeInvisibleTypeAnnotationsAttribute runtimeInvisibleTypeAnnotationsAttribute)
- Specified by:
visitRuntimeInvisibleTypeAnnotationsAttributein interfaceAttributeVisitor
-
visitRuntimeInvisibleTypeAnnotationsAttribute
public void visitRuntimeInvisibleTypeAnnotationsAttribute(Clazz clazz, RecordComponentInfo recordComponentInfo, RuntimeInvisibleTypeAnnotationsAttribute runtimeInvisibleTypeAnnotationsAttribute)
- Specified by:
visitRuntimeInvisibleTypeAnnotationsAttributein interfaceAttributeVisitor
-
visitRuntimeInvisibleTypeAnnotationsAttribute
public void visitRuntimeInvisibleTypeAnnotationsAttribute(Clazz clazz, Field field, RuntimeInvisibleTypeAnnotationsAttribute runtimeInvisibleTypeAnnotationsAttribute)
- Specified by:
visitRuntimeInvisibleTypeAnnotationsAttributein interfaceAttributeVisitor
-
visitRuntimeInvisibleTypeAnnotationsAttribute
public void visitRuntimeInvisibleTypeAnnotationsAttribute(Clazz clazz, Method method, RuntimeInvisibleTypeAnnotationsAttribute runtimeInvisibleTypeAnnotationsAttribute)
- Specified by:
visitRuntimeInvisibleTypeAnnotationsAttributein interfaceAttributeVisitor
-
visitRuntimeInvisibleTypeAnnotationsAttribute
public void visitRuntimeInvisibleTypeAnnotationsAttribute(Clazz clazz, Method method, CodeAttribute codeAttribute, RuntimeInvisibleTypeAnnotationsAttribute runtimeInvisibleTypeAnnotationsAttribute)
- Specified by:
visitRuntimeInvisibleTypeAnnotationsAttributein interfaceAttributeVisitor
-
visitAnnotationDefaultAttribute
public void visitAnnotationDefaultAttribute(Clazz clazz, Method method, AnnotationDefaultAttribute annotationDefaultAttribute)
- Specified by:
visitAnnotationDefaultAttributein interfaceAttributeVisitor
-
-