proguard.classfile.visitor
Class ClassCleaner

java.lang.Object
  extended by proguard.classfile.util.SimplifiedVisitor
      extended by proguard.classfile.visitor.ClassCleaner
All Implemented Interfaces:
AnnotationVisitor, ElementValueVisitor, StackMapFrameVisitor, VerificationTypeVisitor, AttributeVisitor, ExceptionInfoVisitor, InnerClassesInfoVisitor, ConstantVisitor, ClassVisitor, MemberVisitor

public class ClassCleaner
extends SimplifiedVisitor
implements ClassVisitor, ConstantVisitor, MemberVisitor, AttributeVisitor, ExceptionInfoVisitor, InnerClassesInfoVisitor, StackMapFrameVisitor, VerificationTypeVisitor, AnnotationVisitor, ElementValueVisitor

This ClassVisitor removes all visitor information of the classes it visits.


Constructor Summary
ClassCleaner()
           
 
Method Summary
 void visitAnnotation(Clazz clazz, Annotation annotation)
           
 void visitAnnotationDefaultAttribute(Clazz clazz, Method method, AnnotationDefaultAttribute annotationDefaultAttribute)
           
 void visitAnnotationElementValue(Clazz clazz, Annotation annotation, AnnotationElementValue annotationElementValue)
           
 void visitAnyAnnotationsAttribute(Clazz clazz, AnnotationsAttribute annotationsAttribute)
          Visits any type of AnnotationsAttribute of a class.
 void visitAnyAttribute(Clazz clazz, Attribute attribute)
          Visit any type of attribute.
 void visitAnyConstant(Clazz clazz, Constant constant)
           
 void visitAnyElementValue(Clazz clazz, Annotation annotation, ElementValue elementValue)
           
 void visitAnyParameterAnnotationsAttribute(Clazz clazz, Method method, ParameterAnnotationsAttribute parameterAnnotationsAttribute)
          Visits any type of ParameterAnnotationsAttribute.
 void visitAnyVerificationType(Clazz clazz, Method method, CodeAttribute codeAttribute, int offset, VerificationType verificationType)
          Visits any type of VerificationType.
 void visitArrayElementValue(Clazz clazz, Annotation annotation, ArrayElementValue arrayElementValue)
           
 void visitCodeAttribute(Clazz clazz, Method method, CodeAttribute codeAttribute)
           
 void visitExceptionInfo(Clazz clazz, Method method, CodeAttribute codeAttribute, ExceptionInfo exceptionInfo)
           
 void visitExceptionsAttribute(Clazz clazz, Method method, ExceptionsAttribute exceptionsAttribute)
           
 void visitFullFrame(Clazz clazz, Method method, CodeAttribute codeAttribute, int offset, FullFrame fullFrame)
           
 void visitInnerClassesAttribute(Clazz clazz, InnerClassesAttribute innerClassesAttribute)
           
 void visitInnerClassesInfo(Clazz clazz, InnerClassesInfo innerClassesInfo)
           
 void visitLessZeroFrame(Clazz clazz, Method method, CodeAttribute codeAttribute, int offset, LessZeroFrame lessZeroFrame)
           
 void visitLibraryClass(LibraryClass libraryClass)
           
 void visitLibraryMember(LibraryClass libraryClass, LibraryMember libraryMember)
          Visits any type of class member of the given library class.
 void visitMoreZeroFrame(Clazz clazz, Method method, CodeAttribute codeAttribute, int offset, MoreZeroFrame moreZeroFrame)
           
 void visitProgramClass(ProgramClass programClass)
           
 void visitProgramMember(ProgramClass programClass, ProgramMember programMember)
          Visits any type of class member of the given program class.
 void visitSameOneFrame(Clazz clazz, Method method, CodeAttribute codeAttribute, int offset, SameOneFrame sameOneFrame)
           
 void visitSameZeroFrame(Clazz clazz, Method method, CodeAttribute codeAttribute, int offset, SameZeroFrame sameZeroFrame)
           
 void visitStackMapAttribute(Clazz clazz, Method method, CodeAttribute codeAttribute, StackMapAttribute stackMapAttribute)
           
 void visitStackMapTableAttribute(Clazz clazz, Method method, CodeAttribute codeAttribute, StackMapTableAttribute stackMapTableAttribute)
           
 
Methods inherited from class proguard.classfile.util.SimplifiedVisitor
visitAnnotation, visitAnnotation, visitAnnotation, visitAnnotation, visitAnyClass, visitAnyInstruction, visitAnyMember, visitAnyMethodrefConstant, visitAnyRefConstant, visitAnyStackMapFrame, visitAnySwitchInstruction, visitBranchInstruction, visitClassConstant, visitClassElementValue, visitConstantElementValue, visitConstantInstruction, visitConstantValueAttribute, visitDeprecatedAttribute, visitDeprecatedAttribute, visitDeprecatedAttribute, visitDeprecatedAttribute, visitDoubleConstant, visitDoubleType, visitEnclosingMethodAttribute, visitEnumConstantElementValue, visitFieldrefConstant, visitFloatConstant, visitFloatType, visitIntegerConstant, visitIntegerType, visitInterfaceMethodrefConstant, visitLibraryField, visitLibraryMethod, visitLineNumberTableAttribute, visitLocalVariableTableAttribute, visitLocalVariableTypeTableAttribute, visitLongConstant, visitLongType, visitLookUpSwitchInstruction, visitMethodrefConstant, visitNameAndTypeConstant, visitNullType, visitObjectType, visitProgramField, visitProgramMethod, visitRuntimeInvisibleAnnotationsAttribute, visitRuntimeInvisibleAnnotationsAttribute, visitRuntimeInvisibleAnnotationsAttribute, visitRuntimeInvisibleAnnotationsAttribute, visitRuntimeInvisibleParameterAnnotationsAttribute, visitRuntimeVisibleAnnotationsAttribute, visitRuntimeVisibleAnnotationsAttribute, visitRuntimeVisibleAnnotationsAttribute, visitRuntimeVisibleAnnotationsAttribute, visitRuntimeVisibleParameterAnnotationsAttribute, visitSignatureAttribute, visitSignatureAttribute, visitSignatureAttribute, visitSignatureAttribute, visitSimpleInstruction, visitSourceDirAttribute, visitSourceFileAttribute, visitStackDoubleType, visitStackFloatType, visitStackIntegerType, visitStackLongType, 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.constant.visitor.ConstantVisitor
visitClassConstant, visitDoubleConstant, visitFieldrefConstant, visitFloatConstant, visitIntegerConstant, visitInterfaceMethodrefConstant, visitLongConstant, visitMethodrefConstant, visitNameAndTypeConstant, visitStringConstant, visitUtf8Constant
 
Methods inherited from interface proguard.classfile.visitor.MemberVisitor
visitLibraryField, visitLibraryMethod, visitProgramField, visitProgramMethod
 
Methods inherited from interface proguard.classfile.attribute.visitor.AttributeVisitor
visitConstantValueAttribute, visitDeprecatedAttribute, visitDeprecatedAttribute, visitDeprecatedAttribute, visitEnclosingMethodAttribute, visitLineNumberTableAttribute, visitLocalVariableTableAttribute, visitLocalVariableTypeTableAttribute, visitRuntimeInvisibleAnnotationsAttribute, visitRuntimeInvisibleAnnotationsAttribute, visitRuntimeInvisibleAnnotationsAttribute, visitRuntimeInvisibleParameterAnnotationsAttribute, visitRuntimeVisibleAnnotationsAttribute, visitRuntimeVisibleAnnotationsAttribute, visitRuntimeVisibleAnnotationsAttribute, visitRuntimeVisibleParameterAnnotationsAttribute, visitSignatureAttribute, visitSignatureAttribute, visitSignatureAttribute, visitSourceDirAttribute, visitSourceFileAttribute, visitSyntheticAttribute, visitSyntheticAttribute, visitSyntheticAttribute, visitUnknownAttribute
 
Methods inherited from interface proguard.classfile.attribute.preverification.visitor.VerificationTypeVisitor
visitDoubleType, visitFloatType, visitIntegerType, visitLongType, visitNullType, visitObjectType, visitStackDoubleType, visitStackFloatType, visitStackIntegerType, visitStackLongType, visitStackNullType, visitStackObjectType, visitStackTopType, visitStackUninitializedThisType, visitStackUninitializedType, visitTopType, visitUninitializedThisType, visitUninitializedType, visitVariablesDoubleType, visitVariablesFloatType, visitVariablesIntegerType, visitVariablesLongType, visitVariablesNullType, visitVariablesObjectType, visitVariablesTopType, visitVariablesUninitializedThisType, visitVariablesUninitializedType
 
Methods inherited from interface proguard.classfile.attribute.annotation.visitor.AnnotationVisitor
visitAnnotation, visitAnnotation, visitAnnotation
 
Methods inherited from interface proguard.classfile.attribute.annotation.visitor.ElementValueVisitor
visitClassElementValue, visitConstantElementValue, visitEnumConstantElementValue
 

Constructor Detail

ClassCleaner

public ClassCleaner()
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

visitAnyConstant

public void visitAnyConstant(Clazz clazz,
                             Constant constant)
Overrides:
visitAnyConstant 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 libraryClass,
                               LibraryMember libraryMember)
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

visitInnerClassesAttribute

public void visitInnerClassesAttribute(Clazz clazz,
                                       InnerClassesAttribute innerClassesAttribute)
Specified by:
visitInnerClassesAttribute in interface AttributeVisitor
Overrides:
visitInnerClassesAttribute in class SimplifiedVisitor

visitExceptionsAttribute

public void visitExceptionsAttribute(Clazz clazz,
                                     Method method,
                                     ExceptionsAttribute exceptionsAttribute)
Specified by:
visitExceptionsAttribute in interface AttributeVisitor
Overrides:
visitExceptionsAttribute in class SimplifiedVisitor

visitCodeAttribute

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

visitStackMapAttribute

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

visitStackMapTableAttribute

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

visitAnyAnnotationsAttribute

public void visitAnyAnnotationsAttribute(Clazz clazz,
                                         AnnotationsAttribute annotationsAttribute)
Description copied from class: SimplifiedVisitor
Visits any type of AnnotationsAttribute of a class.

Overrides:
visitAnyAnnotationsAttribute in class SimplifiedVisitor

visitAnyParameterAnnotationsAttribute

public void visitAnyParameterAnnotationsAttribute(Clazz clazz,
                                                  Method method,
                                                  ParameterAnnotationsAttribute parameterAnnotationsAttribute)
Description copied from class: SimplifiedVisitor
Visits any type of ParameterAnnotationsAttribute.

Overrides:
visitAnyParameterAnnotationsAttribute in class SimplifiedVisitor

visitAnnotationDefaultAttribute

public void visitAnnotationDefaultAttribute(Clazz clazz,
                                            Method method,
                                            AnnotationDefaultAttribute annotationDefaultAttribute)
Specified by:
visitAnnotationDefaultAttribute in interface AttributeVisitor
Overrides:
visitAnnotationDefaultAttribute in class SimplifiedVisitor

visitInnerClassesInfo

public void visitInnerClassesInfo(Clazz clazz,
                                  InnerClassesInfo innerClassesInfo)
Specified by:
visitInnerClassesInfo in interface InnerClassesInfoVisitor

visitExceptionInfo

public void visitExceptionInfo(Clazz clazz,
                               Method method,
                               CodeAttribute codeAttribute,
                               ExceptionInfo exceptionInfo)
Specified by:
visitExceptionInfo in interface ExceptionInfoVisitor

visitSameZeroFrame

public void visitSameZeroFrame(Clazz clazz,
                               Method method,
                               CodeAttribute codeAttribute,
                               int offset,
                               SameZeroFrame sameZeroFrame)
Specified by:
visitSameZeroFrame in interface StackMapFrameVisitor
Overrides:
visitSameZeroFrame in class SimplifiedVisitor

visitSameOneFrame

public void visitSameOneFrame(Clazz clazz,
                              Method method,
                              CodeAttribute codeAttribute,
                              int offset,
                              SameOneFrame sameOneFrame)
Specified by:
visitSameOneFrame in interface StackMapFrameVisitor
Overrides:
visitSameOneFrame in class SimplifiedVisitor

visitLessZeroFrame

public void visitLessZeroFrame(Clazz clazz,
                               Method method,
                               CodeAttribute codeAttribute,
                               int offset,
                               LessZeroFrame lessZeroFrame)
Specified by:
visitLessZeroFrame in interface StackMapFrameVisitor
Overrides:
visitLessZeroFrame in class SimplifiedVisitor

visitMoreZeroFrame

public void visitMoreZeroFrame(Clazz clazz,
                               Method method,
                               CodeAttribute codeAttribute,
                               int offset,
                               MoreZeroFrame moreZeroFrame)
Specified by:
visitMoreZeroFrame in interface StackMapFrameVisitor
Overrides:
visitMoreZeroFrame in class SimplifiedVisitor

visitFullFrame

public void visitFullFrame(Clazz clazz,
                           Method method,
                           CodeAttribute codeAttribute,
                           int offset,
                           FullFrame fullFrame)
Specified by:
visitFullFrame in interface StackMapFrameVisitor
Overrides:
visitFullFrame in class SimplifiedVisitor

visitAnyVerificationType

public void visitAnyVerificationType(Clazz clazz,
                                     Method method,
                                     CodeAttribute codeAttribute,
                                     int offset,
                                     VerificationType verificationType)
Description copied from class: SimplifiedVisitor
Visits any type of VerificationType.

Overrides:
visitAnyVerificationType in class SimplifiedVisitor

visitAnnotation

public void visitAnnotation(Clazz clazz,
                            Annotation annotation)
Specified by:
visitAnnotation in interface AnnotationVisitor
Overrides:
visitAnnotation in class SimplifiedVisitor

visitAnyElementValue

public void visitAnyElementValue(Clazz clazz,
                                 Annotation annotation,
                                 ElementValue elementValue)
Overrides:
visitAnyElementValue in class SimplifiedVisitor

visitAnnotationElementValue

public void visitAnnotationElementValue(Clazz clazz,
                                        Annotation annotation,
                                        AnnotationElementValue annotationElementValue)
Specified by:
visitAnnotationElementValue in interface ElementValueVisitor
Overrides:
visitAnnotationElementValue in class SimplifiedVisitor

visitArrayElementValue

public void visitArrayElementValue(Clazz clazz,
                                   Annotation annotation,
                                   ArrayElementValue arrayElementValue)
Specified by:
visitArrayElementValue in interface ElementValueVisitor
Overrides:
visitArrayElementValue in class SimplifiedVisitor