proguard.classfile.attribute.visitor
Class AllAttributeVisitor

java.lang.Object
  extended by proguard.classfile.util.SimplifiedVisitor
      extended by proguard.classfile.attribute.visitor.AllAttributeVisitor
All Implemented Interfaces:
AttributeVisitor, ClassVisitor, MemberVisitor

public class AllAttributeVisitor
extends SimplifiedVisitor
implements ClassVisitor, MemberVisitor, AttributeVisitor

This ClassVisitor, MemberVisitor, and AttributeVisitor lets a given AttributeVisitor visit all Attribute objects of the program classes, program class members, or code attributes, respectively, that it visits.


Constructor Summary
AllAttributeVisitor(AttributeVisitor attributeVisitor)
          Creates a new shallow AllAttributeVisitor.
AllAttributeVisitor(boolean deep, AttributeVisitor attributeVisitor)
          Creates a new optionally deep AllAttributeVisitor.
 
Method Summary
 void visitAnyAttribute(Clazz clazz, Attribute attribute)
          Visit any type of attribute.
 void visitCodeAttribute(Clazz clazz, Method method, CodeAttribute codeAttribute)
           
 void visitLibraryClass(LibraryClass libraryClass)
           
 void visitLibraryMember(LibraryClass programClass, LibraryMember programMember)
          Visits any type of class member of the given library class.
 void visitProgramClass(ProgramClass programClass)
           
 void visitProgramMember(ProgramClass programClass, ProgramMember programMember)
          Visits any type of class member of the given program class.
 
Methods inherited from class proguard.classfile.util.SimplifiedVisitor
visitAnnotation, visitAnnotation, visitAnnotation, visitAnnotation, visitAnnotation, visitAnnotationDefaultAttribute, visitAnnotationElementValue, visitAnyAnnotationsAttribute, visitAnyClass, visitAnyConstant, visitAnyElementValue, visitAnyInstruction, visitAnyMember, visitAnyMethodrefConstant, visitAnyParameterAnnotationsAttribute, visitAnyRefConstant, visitAnyStackMapFrame, visitAnySwitchInstruction, visitAnyVerificationType, visitArrayElementValue, visitBranchInstruction, visitClassConstant, visitClassElementValue, visitConstantElementValue, visitConstantInstruction, visitConstantValueAttribute, visitDeprecatedAttribute, visitDeprecatedAttribute, visitDeprecatedAttribute, visitDeprecatedAttribute, visitDoubleConstant, visitDoubleType, visitEnclosingMethodAttribute, visitEnumConstantElementValue, visitExceptionsAttribute, visitFieldrefConstant, visitFloatConstant, visitFloatType, visitFullFrame, visitInnerClassesAttribute, visitIntegerConstant, visitIntegerType, visitInterfaceMethodrefConstant, visitLessZeroFrame, visitLibraryField, visitLibraryMethod, visitLineNumberTableAttribute, visitLocalVariableTableAttribute, visitLocalVariableTypeTableAttribute, visitLongConstant, visitLongType, visitLookUpSwitchInstruction, visitMethodrefConstant, visitMoreZeroFrame, visitNameAndTypeConstant, visitNullType, visitObjectType, visitProgramField, visitProgramMethod, visitRuntimeInvisibleAnnotationsAttribute, visitRuntimeInvisibleAnnotationsAttribute, visitRuntimeInvisibleAnnotationsAttribute, visitRuntimeInvisibleAnnotationsAttribute, visitRuntimeInvisibleParameterAnnotationsAttribute, visitRuntimeVisibleAnnotationsAttribute, visitRuntimeVisibleAnnotationsAttribute, visitRuntimeVisibleAnnotationsAttribute, visitRuntimeVisibleAnnotationsAttribute, visitRuntimeVisibleParameterAnnotationsAttribute, visitSameOneFrame, visitSameZeroFrame, visitSignatureAttribute, visitSignatureAttribute, visitSignatureAttribute, visitSignatureAttribute, visitSimpleInstruction, visitSourceDirAttribute, visitSourceFileAttribute, visitStackDoubleType, visitStackFloatType, visitStackIntegerType, visitStackLongType, visitStackMapAttribute, visitStackMapTableAttribute, visitStackNullType, visitStackObjectType, visitStackTopType, visitStackUninitializedThisType, visitStackUninitializedType, visitStringConstant, visitSyntheticAttribute, visitSyntheticAttribute, visitSyntheticAttribute, visitSyntheticAttribute, visitTableSwitchInstruction, visitTopType, visitUninitializedThisType, visitUninitializedType, visitUnknownAttribute, visitUtf8Constant, visitVariableInstruction, visitVariablesDoubleType, visitVariablesFloatType, visitVariablesIntegerType, visitVariablesLongType, visitVariablesNullType, visitVariablesObjectType, visitVariablesTopType, visitVariablesUninitializedThisType, visitVariablesUninitializedType
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 
Methods inherited from interface proguard.classfile.visitor.MemberVisitor
visitLibraryField, visitLibraryMethod, visitProgramField, visitProgramMethod
 
Methods inherited from interface proguard.classfile.attribute.visitor.AttributeVisitor
visitAnnotationDefaultAttribute, visitConstantValueAttribute, visitDeprecatedAttribute, visitDeprecatedAttribute, visitDeprecatedAttribute, visitEnclosingMethodAttribute, visitExceptionsAttribute, visitInnerClassesAttribute, visitLineNumberTableAttribute, visitLocalVariableTableAttribute, visitLocalVariableTypeTableAttribute, visitRuntimeInvisibleAnnotationsAttribute, visitRuntimeInvisibleAnnotationsAttribute, visitRuntimeInvisibleAnnotationsAttribute, visitRuntimeInvisibleParameterAnnotationsAttribute, visitRuntimeVisibleAnnotationsAttribute, visitRuntimeVisibleAnnotationsAttribute, visitRuntimeVisibleAnnotationsAttribute, visitRuntimeVisibleParameterAnnotationsAttribute, visitSignatureAttribute, visitSignatureAttribute, visitSignatureAttribute, visitSourceDirAttribute, visitSourceFileAttribute, visitStackMapAttribute, visitStackMapTableAttribute, visitSyntheticAttribute, visitSyntheticAttribute, visitSyntheticAttribute, visitUnknownAttribute
 

Constructor Detail

AllAttributeVisitor

public AllAttributeVisitor(AttributeVisitor attributeVisitor)
Creates a new shallow AllAttributeVisitor.

Parameters:
attributeVisitor - the AttributeVisitor to which visits will be delegated.

AllAttributeVisitor

public AllAttributeVisitor(boolean deep,
                           AttributeVisitor attributeVisitor)
Creates a new optionally deep AllAttributeVisitor.

Parameters:
deep - specifies whether the attributes contained further down the class structure should be visited too.
attributeVisitor - the AttributeVisitor to which visits will be delegated.
Method Detail

visitProgramClass

public void visitProgramClass(ProgramClass programClass)
Specified by:
visitProgramClass in interface ClassVisitor
Overrides:
visitProgramClass in class SimplifiedVisitor

visitLibraryClass

public void visitLibraryClass(LibraryClass libraryClass)
Specified by:
visitLibraryClass in interface ClassVisitor
Overrides:
visitLibraryClass in class SimplifiedVisitor

visitProgramMember

public void visitProgramMember(ProgramClass programClass,
                               ProgramMember programMember)
Description copied from class: SimplifiedVisitor
Visits any type of class member of the given program class.

Overrides:
visitProgramMember in class SimplifiedVisitor

visitLibraryMember

public void visitLibraryMember(LibraryClass programClass,
                               LibraryMember programMember)
Description copied from class: SimplifiedVisitor
Visits any type of class member of the given library class.

Overrides:
visitLibraryMember in class SimplifiedVisitor

visitAnyAttribute

public void visitAnyAttribute(Clazz clazz,
                              Attribute attribute)
Description copied from class: SimplifiedVisitor
Visit any type of attribute.

Overrides:
visitAnyAttribute in class SimplifiedVisitor

visitCodeAttribute

public void visitCodeAttribute(Clazz clazz,
                               Method method,
                               CodeAttribute codeAttribute)
Specified by:
visitCodeAttribute in interface AttributeVisitor
Overrides:
visitCodeAttribute in class SimplifiedVisitor