proguard.classfile.editor
Class AttributeAdder

java.lang.Object
  extended by proguard.classfile.util.SimplifiedVisitor
      extended by proguard.classfile.editor.AttributeAdder
All Implemented Interfaces:
AttributeVisitor

public class AttributeAdder
extends SimplifiedVisitor
implements AttributeVisitor

This AttributeVisitor adds all attributes that it visits to the given target class, class member, or attribute.


Constructor Summary
AttributeAdder(ProgramClass targetClass, boolean replaceAttributes)
          Creates a new AttributeAdder that will copy attributes into the given target class.
AttributeAdder(ProgramClass targetClass, ProgramMember targetMember, boolean replaceAttributes)
          Creates a new AttributeAdder that will copy attributes into the given target class member.
AttributeAdder(ProgramClass targetClass, ProgramMember targetMember, CodeAttribute targetCodeAttribute, boolean replaceAttributes)
          Creates a new AttributeAdder that will copy attributes into the given target attribute.
 
Method Summary
 void visitAnnotationDefaultAttribute(Clazz clazz, Method method, AnnotationDefaultAttribute annotationDefaultAttribute)
           
 void visitCodeAttribute(Clazz clazz, Method method, CodeAttribute codeAttribute)
           
 void visitConstantValueAttribute(Clazz clazz, Field field, ConstantValueAttribute constantValueAttribute)
           
 void visitDeprecatedAttribute(Clazz clazz, DeprecatedAttribute deprecatedAttribute)
           
 void visitEnclosingMethodAttribute(Clazz clazz, EnclosingMethodAttribute enclosingMethodAttribute)
           
 void visitExceptionsAttribute(Clazz clazz, Method method, ExceptionsAttribute exceptionsAttribute)
           
 void visitInnerClassesAttribute(Clazz clazz, InnerClassesAttribute innerClassesAttribute)
           
 void visitLineNumberTableAttribute(Clazz clazz, Method method, CodeAttribute codeAttribute, LineNumberTableAttribute lineNumberTableAttribute)
           
 void visitLocalVariableTableAttribute(Clazz clazz, Method method, CodeAttribute codeAttribute, LocalVariableTableAttribute localVariableTableAttribute)
           
 void visitLocalVariableTypeTableAttribute(Clazz clazz, Method method, CodeAttribute codeAttribute, LocalVariableTypeTableAttribute localVariableTypeTableAttribute)
           
 void visitRuntimeInvisibleAnnotationsAttribute(Clazz clazz, RuntimeInvisibleAnnotationsAttribute runtimeInvisibleAnnotationsAttribute)
           
 void visitRuntimeInvisibleParameterAnnotationsAttribute(Clazz clazz, Method method, RuntimeInvisibleParameterAnnotationsAttribute runtimeInvisibleParameterAnnotationsAttribute)
           
 void visitRuntimeVisibleAnnotationsAttribute(Clazz clazz, RuntimeVisibleAnnotationsAttribute runtimeVisibleAnnotationsAttribute)
           
 void visitRuntimeVisibleParameterAnnotationsAttribute(Clazz clazz, Method method, RuntimeVisibleParameterAnnotationsAttribute runtimeVisibleParameterAnnotationsAttribute)
           
 void visitSignatureAttribute(Clazz clazz, SignatureAttribute signatureAttribute)
           
 void visitSourceDirAttribute(Clazz clazz, SourceDirAttribute sourceDirAttribute)
           
 void visitSourceFileAttribute(Clazz clazz, SourceFileAttribute sourceFileAttribute)
           
 void visitStackMapAttribute(Clazz clazz, Method method, CodeAttribute codeAttribute, StackMapAttribute stackMapAttribute)
           
 void visitStackMapTableAttribute(Clazz clazz, Method method, CodeAttribute codeAttribute, StackMapTableAttribute stackMapTableAttribute)
           
 void visitSyntheticAttribute(Clazz clazz, SyntheticAttribute syntheticAttribute)
           
 void visitUnknownAttribute(Clazz clazz, UnknownAttribute unknownAttribute)
           
 
Methods inherited from class proguard.classfile.util.SimplifiedVisitor
visitAnnotation, visitAnnotation, visitAnnotation, visitAnnotation, visitAnnotation, visitAnnotationElementValue, visitAnyAnnotationsAttribute, visitAnyAttribute, visitAnyClass, visitAnyConstant, visitAnyElementValue, visitAnyInstruction, visitAnyMember, visitAnyMethodrefConstant, visitAnyParameterAnnotationsAttribute, visitAnyRefConstant, visitAnyStackMapFrame, visitAnySwitchInstruction, visitAnyVerificationType, visitArrayElementValue, visitBranchInstruction, visitClassConstant, visitClassElementValue, visitConstantElementValue, visitConstantInstruction, visitDeprecatedAttribute, visitDeprecatedAttribute, visitDeprecatedAttribute, visitDoubleConstant, visitDoubleType, visitEnumConstantElementValue, visitFieldrefConstant, visitFloatConstant, visitFloatType, visitFullFrame, visitIntegerConstant, visitIntegerType, visitInterfaceMethodrefConstant, visitLessZeroFrame, visitLibraryClass, visitLibraryField, visitLibraryMember, visitLibraryMethod, visitLongConstant, visitLongType, visitLookUpSwitchInstruction, visitMethodrefConstant, visitMoreZeroFrame, visitNameAndTypeConstant, visitNullType, visitObjectType, visitProgramClass, visitProgramField, visitProgramMember, visitProgramMethod, visitRuntimeInvisibleAnnotationsAttribute, visitRuntimeInvisibleAnnotationsAttribute, visitRuntimeInvisibleAnnotationsAttribute, visitRuntimeVisibleAnnotationsAttribute, visitRuntimeVisibleAnnotationsAttribute, visitRuntimeVisibleAnnotationsAttribute, visitSameOneFrame, visitSameZeroFrame, visitSignatureAttribute, visitSignatureAttribute, visitSignatureAttribute, visitSimpleInstruction, visitStackDoubleType, visitStackFloatType, visitStackIntegerType, visitStackLongType, visitStackNullType, visitStackObjectType, visitStackTopType, visitStackUninitializedThisType, visitStackUninitializedType, visitStringConstant, visitSyntheticAttribute, visitSyntheticAttribute, visitSyntheticAttribute, visitTableSwitchInstruction, visitTopType, visitUninitializedThisType, visitUninitializedType, 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.attribute.visitor.AttributeVisitor
visitDeprecatedAttribute, visitDeprecatedAttribute, visitRuntimeInvisibleAnnotationsAttribute, visitRuntimeInvisibleAnnotationsAttribute, visitRuntimeVisibleAnnotationsAttribute, visitRuntimeVisibleAnnotationsAttribute, visitSignatureAttribute, visitSignatureAttribute, visitSyntheticAttribute, visitSyntheticAttribute
 

Constructor Detail

AttributeAdder

public AttributeAdder(ProgramClass targetClass,
                      boolean replaceAttributes)
Creates a new AttributeAdder that will copy attributes into the given target class.


AttributeAdder

public AttributeAdder(ProgramClass targetClass,
                      ProgramMember targetMember,
                      boolean replaceAttributes)
Creates a new AttributeAdder that will copy attributes into the given target class member.


AttributeAdder

public AttributeAdder(ProgramClass targetClass,
                      ProgramMember targetMember,
                      CodeAttribute targetCodeAttribute,
                      boolean replaceAttributes)
Creates a new AttributeAdder that will copy attributes into the given target attribute.

Method Detail

visitUnknownAttribute

public void visitUnknownAttribute(Clazz clazz,
                                  UnknownAttribute unknownAttribute)
Specified by:
visitUnknownAttribute in interface AttributeVisitor
Overrides:
visitUnknownAttribute in class SimplifiedVisitor

visitSourceFileAttribute

public void visitSourceFileAttribute(Clazz clazz,
                                     SourceFileAttribute sourceFileAttribute)
Specified by:
visitSourceFileAttribute in interface AttributeVisitor
Overrides:
visitSourceFileAttribute in class SimplifiedVisitor

visitSourceDirAttribute

public void visitSourceDirAttribute(Clazz clazz,
                                    SourceDirAttribute sourceDirAttribute)
Specified by:
visitSourceDirAttribute in interface AttributeVisitor
Overrides:
visitSourceDirAttribute in class SimplifiedVisitor

visitInnerClassesAttribute

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

visitEnclosingMethodAttribute

public void visitEnclosingMethodAttribute(Clazz clazz,
                                          EnclosingMethodAttribute enclosingMethodAttribute)
Specified by:
visitEnclosingMethodAttribute in interface AttributeVisitor
Overrides:
visitEnclosingMethodAttribute in class SimplifiedVisitor

visitDeprecatedAttribute

public void visitDeprecatedAttribute(Clazz clazz,
                                     DeprecatedAttribute deprecatedAttribute)
Specified by:
visitDeprecatedAttribute in interface AttributeVisitor
Overrides:
visitDeprecatedAttribute in class SimplifiedVisitor

visitSyntheticAttribute

public void visitSyntheticAttribute(Clazz clazz,
                                    SyntheticAttribute syntheticAttribute)
Specified by:
visitSyntheticAttribute in interface AttributeVisitor
Overrides:
visitSyntheticAttribute in class SimplifiedVisitor

visitSignatureAttribute

public void visitSignatureAttribute(Clazz clazz,
                                    SignatureAttribute signatureAttribute)
Specified by:
visitSignatureAttribute in interface AttributeVisitor
Overrides:
visitSignatureAttribute in class SimplifiedVisitor

visitConstantValueAttribute

public void visitConstantValueAttribute(Clazz clazz,
                                        Field field,
                                        ConstantValueAttribute constantValueAttribute)
Specified by:
visitConstantValueAttribute in interface AttributeVisitor
Overrides:
visitConstantValueAttribute 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

visitLineNumberTableAttribute

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

visitLocalVariableTableAttribute

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

visitLocalVariableTypeTableAttribute

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

visitRuntimeVisibleAnnotationsAttribute

public void visitRuntimeVisibleAnnotationsAttribute(Clazz clazz,
                                                    RuntimeVisibleAnnotationsAttribute runtimeVisibleAnnotationsAttribute)
Specified by:
visitRuntimeVisibleAnnotationsAttribute in interface AttributeVisitor
Overrides:
visitRuntimeVisibleAnnotationsAttribute in class SimplifiedVisitor

visitRuntimeInvisibleAnnotationsAttribute

public void visitRuntimeInvisibleAnnotationsAttribute(Clazz clazz,
                                                      RuntimeInvisibleAnnotationsAttribute runtimeInvisibleAnnotationsAttribute)
Specified by:
visitRuntimeInvisibleAnnotationsAttribute in interface AttributeVisitor
Overrides:
visitRuntimeInvisibleAnnotationsAttribute in class SimplifiedVisitor

visitRuntimeVisibleParameterAnnotationsAttribute

public void visitRuntimeVisibleParameterAnnotationsAttribute(Clazz clazz,
                                                             Method method,
                                                             RuntimeVisibleParameterAnnotationsAttribute runtimeVisibleParameterAnnotationsAttribute)
Specified by:
visitRuntimeVisibleParameterAnnotationsAttribute in interface AttributeVisitor
Overrides:
visitRuntimeVisibleParameterAnnotationsAttribute in class SimplifiedVisitor

visitRuntimeInvisibleParameterAnnotationsAttribute

public void visitRuntimeInvisibleParameterAnnotationsAttribute(Clazz clazz,
                                                               Method method,
                                                               RuntimeInvisibleParameterAnnotationsAttribute runtimeInvisibleParameterAnnotationsAttribute)
Specified by:
visitRuntimeInvisibleParameterAnnotationsAttribute in interface AttributeVisitor
Overrides:
visitRuntimeInvisibleParameterAnnotationsAttribute in class SimplifiedVisitor

visitAnnotationDefaultAttribute

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