Class RequiredAttributeFilter
- java.lang.Object
-
- proguard.classfile.attribute.visitor.RequiredAttributeFilter
-
- All Implemented Interfaces:
AttributeVisitor
public class RequiredAttributeFilter extends java.lang.Object implements AttributeVisitor
ThisAttributeVisitor
delegates its visits to one of two otherAttributeVisitor
instances, 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:
visitUnknownAttribute
in interfaceAttributeVisitor
-
visitBootstrapMethodsAttribute
public void visitBootstrapMethodsAttribute(Clazz clazz, BootstrapMethodsAttribute bootstrapMethodsAttribute)
- Specified by:
visitBootstrapMethodsAttribute
in interfaceAttributeVisitor
-
visitSourceFileAttribute
public void visitSourceFileAttribute(Clazz clazz, SourceFileAttribute sourceFileAttribute)
- Specified by:
visitSourceFileAttribute
in interfaceAttributeVisitor
-
visitSourceDirAttribute
public void visitSourceDirAttribute(Clazz clazz, SourceDirAttribute sourceDirAttribute)
- Specified by:
visitSourceDirAttribute
in interfaceAttributeVisitor
-
visitSourceDebugExtensionAttribute
public void visitSourceDebugExtensionAttribute(Clazz clazz, SourceDebugExtensionAttribute sourceDebugExtensionAttribute)
- Specified by:
visitSourceDebugExtensionAttribute
in interfaceAttributeVisitor
-
visitRecordAttribute
public void visitRecordAttribute(Clazz clazz, RecordAttribute recordAttribute)
- Specified by:
visitRecordAttribute
in interfaceAttributeVisitor
-
visitInnerClassesAttribute
public void visitInnerClassesAttribute(Clazz clazz, InnerClassesAttribute innerClassesAttribute)
- Specified by:
visitInnerClassesAttribute
in interfaceAttributeVisitor
-
visitEnclosingMethodAttribute
public void visitEnclosingMethodAttribute(Clazz clazz, EnclosingMethodAttribute enclosingMethodAttribute)
- Specified by:
visitEnclosingMethodAttribute
in interfaceAttributeVisitor
-
visitNestHostAttribute
public void visitNestHostAttribute(Clazz clazz, NestHostAttribute nestHostAttribute)
- Specified by:
visitNestHostAttribute
in interfaceAttributeVisitor
-
visitNestMembersAttribute
public void visitNestMembersAttribute(Clazz clazz, NestMembersAttribute nestMembersAttribute)
- Specified by:
visitNestMembersAttribute
in interfaceAttributeVisitor
-
visitPermittedSubclassesAttribute
public void visitPermittedSubclassesAttribute(Clazz clazz, PermittedSubclassesAttribute permittedSubclassesAttribute)
- Specified by:
visitPermittedSubclassesAttribute
in interfaceAttributeVisitor
-
visitModuleAttribute
public void visitModuleAttribute(Clazz clazz, ModuleAttribute moduleAttribute)
- Specified by:
visitModuleAttribute
in interfaceAttributeVisitor
-
visitModuleMainClassAttribute
public void visitModuleMainClassAttribute(Clazz clazz, ModuleMainClassAttribute moduleMainClassAttribute)
- Specified by:
visitModuleMainClassAttribute
in interfaceAttributeVisitor
-
visitModulePackagesAttribute
public void visitModulePackagesAttribute(Clazz clazz, ModulePackagesAttribute modulePackagesAttribute)
- Specified by:
visitModulePackagesAttribute
in interfaceAttributeVisitor
-
visitDeprecatedAttribute
public void visitDeprecatedAttribute(Clazz clazz, DeprecatedAttribute deprecatedAttribute)
- Specified by:
visitDeprecatedAttribute
in interfaceAttributeVisitor
-
visitDeprecatedAttribute
public void visitDeprecatedAttribute(Clazz clazz, Field field, DeprecatedAttribute deprecatedAttribute)
- Specified by:
visitDeprecatedAttribute
in interfaceAttributeVisitor
-
visitDeprecatedAttribute
public void visitDeprecatedAttribute(Clazz clazz, Method method, DeprecatedAttribute deprecatedAttribute)
- Specified by:
visitDeprecatedAttribute
in interfaceAttributeVisitor
-
visitSyntheticAttribute
public void visitSyntheticAttribute(Clazz clazz, SyntheticAttribute syntheticAttribute)
- Specified by:
visitSyntheticAttribute
in interfaceAttributeVisitor
-
visitSyntheticAttribute
public void visitSyntheticAttribute(Clazz clazz, Field field, SyntheticAttribute syntheticAttribute)
- Specified by:
visitSyntheticAttribute
in interfaceAttributeVisitor
-
visitSyntheticAttribute
public void visitSyntheticAttribute(Clazz clazz, Method method, SyntheticAttribute syntheticAttribute)
- Specified by:
visitSyntheticAttribute
in interfaceAttributeVisitor
-
visitSignatureAttribute
public void visitSignatureAttribute(Clazz clazz, SignatureAttribute signatureAttribute)
- Specified by:
visitSignatureAttribute
in interfaceAttributeVisitor
-
visitSignatureAttribute
public void visitSignatureAttribute(Clazz clazz, RecordComponentInfo recordComponentInfo, SignatureAttribute signatureAttribute)
- Specified by:
visitSignatureAttribute
in interfaceAttributeVisitor
-
visitSignatureAttribute
public void visitSignatureAttribute(Clazz clazz, Field field, SignatureAttribute signatureAttribute)
- Specified by:
visitSignatureAttribute
in interfaceAttributeVisitor
-
visitSignatureAttribute
public void visitSignatureAttribute(Clazz clazz, Method method, SignatureAttribute signatureAttribute)
- Specified by:
visitSignatureAttribute
in interfaceAttributeVisitor
-
visitConstantValueAttribute
public void visitConstantValueAttribute(Clazz clazz, Field field, ConstantValueAttribute constantValueAttribute)
- Specified by:
visitConstantValueAttribute
in interfaceAttributeVisitor
-
visitMethodParametersAttribute
public void visitMethodParametersAttribute(Clazz clazz, Method method, MethodParametersAttribute exceptionsAttribute)
- Specified by:
visitMethodParametersAttribute
in interfaceAttributeVisitor
-
visitExceptionsAttribute
public void visitExceptionsAttribute(Clazz clazz, Method method, ExceptionsAttribute exceptionsAttribute)
- Specified by:
visitExceptionsAttribute
in interfaceAttributeVisitor
-
visitCodeAttribute
public void visitCodeAttribute(Clazz clazz, Method method, CodeAttribute codeAttribute)
- Specified by:
visitCodeAttribute
in interfaceAttributeVisitor
-
visitStackMapAttribute
public void visitStackMapAttribute(Clazz clazz, Method method, CodeAttribute codeAttribute, StackMapAttribute stackMapAttribute)
- Specified by:
visitStackMapAttribute
in interfaceAttributeVisitor
-
visitStackMapTableAttribute
public void visitStackMapTableAttribute(Clazz clazz, Method method, CodeAttribute codeAttribute, StackMapTableAttribute stackMapTableAttribute)
- Specified by:
visitStackMapTableAttribute
in interfaceAttributeVisitor
-
visitLineNumberTableAttribute
public void visitLineNumberTableAttribute(Clazz clazz, Method method, CodeAttribute codeAttribute, LineNumberTableAttribute lineNumberTableAttribute)
- Specified by:
visitLineNumberTableAttribute
in interfaceAttributeVisitor
-
visitLocalVariableTableAttribute
public void visitLocalVariableTableAttribute(Clazz clazz, Method method, CodeAttribute codeAttribute, LocalVariableTableAttribute localVariableTableAttribute)
- Specified by:
visitLocalVariableTableAttribute
in interfaceAttributeVisitor
-
visitLocalVariableTypeTableAttribute
public void visitLocalVariableTypeTableAttribute(Clazz clazz, Method method, CodeAttribute codeAttribute, LocalVariableTypeTableAttribute localVariableTypeTableAttribute)
- Specified by:
visitLocalVariableTypeTableAttribute
in interfaceAttributeVisitor
-
visitRuntimeVisibleAnnotationsAttribute
public void visitRuntimeVisibleAnnotationsAttribute(Clazz clazz, RuntimeVisibleAnnotationsAttribute runtimeVisibleAnnotationsAttribute)
- Specified by:
visitRuntimeVisibleAnnotationsAttribute
in interfaceAttributeVisitor
-
visitRuntimeVisibleAnnotationsAttribute
public void visitRuntimeVisibleAnnotationsAttribute(Clazz clazz, RecordComponentInfo recordComponentInfo, RuntimeVisibleAnnotationsAttribute runtimeVisibleAnnotationsAttribute)
- Specified by:
visitRuntimeVisibleAnnotationsAttribute
in interfaceAttributeVisitor
-
visitRuntimeVisibleAnnotationsAttribute
public void visitRuntimeVisibleAnnotationsAttribute(Clazz clazz, Field field, RuntimeVisibleAnnotationsAttribute runtimeVisibleAnnotationsAttribute)
- Specified by:
visitRuntimeVisibleAnnotationsAttribute
in interfaceAttributeVisitor
-
visitRuntimeVisibleAnnotationsAttribute
public void visitRuntimeVisibleAnnotationsAttribute(Clazz clazz, Method method, RuntimeVisibleAnnotationsAttribute runtimeVisibleAnnotationsAttribute)
- Specified by:
visitRuntimeVisibleAnnotationsAttribute
in interfaceAttributeVisitor
-
visitRuntimeInvisibleAnnotationsAttribute
public void visitRuntimeInvisibleAnnotationsAttribute(Clazz clazz, RuntimeInvisibleAnnotationsAttribute runtimeInvisibleAnnotationsAttribute)
- Specified by:
visitRuntimeInvisibleAnnotationsAttribute
in interfaceAttributeVisitor
-
visitRuntimeInvisibleAnnotationsAttribute
public void visitRuntimeInvisibleAnnotationsAttribute(Clazz clazz, RecordComponentInfo recordComponentInfo, RuntimeInvisibleAnnotationsAttribute runtimeInvisibleAnnotationsAttribute)
- Specified by:
visitRuntimeInvisibleAnnotationsAttribute
in interfaceAttributeVisitor
-
visitRuntimeInvisibleAnnotationsAttribute
public void visitRuntimeInvisibleAnnotationsAttribute(Clazz clazz, Field field, RuntimeInvisibleAnnotationsAttribute runtimeInvisibleAnnotationsAttribute)
- Specified by:
visitRuntimeInvisibleAnnotationsAttribute
in interfaceAttributeVisitor
-
visitRuntimeInvisibleAnnotationsAttribute
public void visitRuntimeInvisibleAnnotationsAttribute(Clazz clazz, Method method, RuntimeInvisibleAnnotationsAttribute runtimeInvisibleAnnotationsAttribute)
- Specified by:
visitRuntimeInvisibleAnnotationsAttribute
in interfaceAttributeVisitor
-
visitRuntimeVisibleParameterAnnotationsAttribute
public void visitRuntimeVisibleParameterAnnotationsAttribute(Clazz clazz, Method method, RuntimeVisibleParameterAnnotationsAttribute runtimeVisibleParameterAnnotationsAttribute)
- Specified by:
visitRuntimeVisibleParameterAnnotationsAttribute
in interfaceAttributeVisitor
-
visitRuntimeInvisibleParameterAnnotationsAttribute
public void visitRuntimeInvisibleParameterAnnotationsAttribute(Clazz clazz, Method method, RuntimeInvisibleParameterAnnotationsAttribute runtimeInvisibleParameterAnnotationsAttribute)
- Specified by:
visitRuntimeInvisibleParameterAnnotationsAttribute
in interfaceAttributeVisitor
-
visitRuntimeVisibleTypeAnnotationsAttribute
public void visitRuntimeVisibleTypeAnnotationsAttribute(Clazz clazz, RuntimeVisibleTypeAnnotationsAttribute runtimeVisibleTypeAnnotationsAttribute)
- Specified by:
visitRuntimeVisibleTypeAnnotationsAttribute
in interfaceAttributeVisitor
-
visitRuntimeVisibleTypeAnnotationsAttribute
public void visitRuntimeVisibleTypeAnnotationsAttribute(Clazz clazz, RecordComponentInfo recordComponentInfo, RuntimeVisibleTypeAnnotationsAttribute runtimeVisibleTypeAnnotationsAttribute)
- Specified by:
visitRuntimeVisibleTypeAnnotationsAttribute
in interfaceAttributeVisitor
-
visitRuntimeVisibleTypeAnnotationsAttribute
public void visitRuntimeVisibleTypeAnnotationsAttribute(Clazz clazz, Field field, RuntimeVisibleTypeAnnotationsAttribute runtimeVisibleTypeAnnotationsAttribute)
- Specified by:
visitRuntimeVisibleTypeAnnotationsAttribute
in interfaceAttributeVisitor
-
visitRuntimeVisibleTypeAnnotationsAttribute
public void visitRuntimeVisibleTypeAnnotationsAttribute(Clazz clazz, Method method, RuntimeVisibleTypeAnnotationsAttribute runtimeVisibleTypeAnnotationsAttribute)
- Specified by:
visitRuntimeVisibleTypeAnnotationsAttribute
in interfaceAttributeVisitor
-
visitRuntimeVisibleTypeAnnotationsAttribute
public void visitRuntimeVisibleTypeAnnotationsAttribute(Clazz clazz, Method method, CodeAttribute codeAttribute, RuntimeVisibleTypeAnnotationsAttribute runtimeVisibleTypeAnnotationsAttribute)
- Specified by:
visitRuntimeVisibleTypeAnnotationsAttribute
in interfaceAttributeVisitor
-
visitRuntimeInvisibleTypeAnnotationsAttribute
public void visitRuntimeInvisibleTypeAnnotationsAttribute(Clazz clazz, RuntimeInvisibleTypeAnnotationsAttribute runtimeInvisibleTypeAnnotationsAttribute)
- Specified by:
visitRuntimeInvisibleTypeAnnotationsAttribute
in interfaceAttributeVisitor
-
visitRuntimeInvisibleTypeAnnotationsAttribute
public void visitRuntimeInvisibleTypeAnnotationsAttribute(Clazz clazz, RecordComponentInfo recordComponentInfo, RuntimeInvisibleTypeAnnotationsAttribute runtimeInvisibleTypeAnnotationsAttribute)
- Specified by:
visitRuntimeInvisibleTypeAnnotationsAttribute
in interfaceAttributeVisitor
-
visitRuntimeInvisibleTypeAnnotationsAttribute
public void visitRuntimeInvisibleTypeAnnotationsAttribute(Clazz clazz, Field field, RuntimeInvisibleTypeAnnotationsAttribute runtimeInvisibleTypeAnnotationsAttribute)
- Specified by:
visitRuntimeInvisibleTypeAnnotationsAttribute
in interfaceAttributeVisitor
-
visitRuntimeInvisibleTypeAnnotationsAttribute
public void visitRuntimeInvisibleTypeAnnotationsAttribute(Clazz clazz, Method method, RuntimeInvisibleTypeAnnotationsAttribute runtimeInvisibleTypeAnnotationsAttribute)
- Specified by:
visitRuntimeInvisibleTypeAnnotationsAttribute
in interfaceAttributeVisitor
-
visitRuntimeInvisibleTypeAnnotationsAttribute
public void visitRuntimeInvisibleTypeAnnotationsAttribute(Clazz clazz, Method method, CodeAttribute codeAttribute, RuntimeInvisibleTypeAnnotationsAttribute runtimeInvisibleTypeAnnotationsAttribute)
- Specified by:
visitRuntimeInvisibleTypeAnnotationsAttribute
in interfaceAttributeVisitor
-
visitAnnotationDefaultAttribute
public void visitAnnotationDefaultAttribute(Clazz clazz, Method method, AnnotationDefaultAttribute annotationDefaultAttribute)
- Specified by:
visitAnnotationDefaultAttribute
in interfaceAttributeVisitor
-
-