proguard.optimize.peephole
Class TargetClassChanger
java.lang.Object
proguard.classfile.util.SimplifiedVisitor
proguard.optimize.peephole.TargetClassChanger
- All Implemented Interfaces:
- AnnotationVisitor, ElementValueVisitor, AttributeVisitor, LocalVariableInfoVisitor, LocalVariableTypeInfoVisitor, ConstantVisitor, ClassVisitor, MemberVisitor
public class TargetClassChanger
- extends SimplifiedVisitor
- implements ClassVisitor, ConstantVisitor, MemberVisitor, AttributeVisitor, LocalVariableInfoVisitor, LocalVariableTypeInfoVisitor, AnnotationVisitor, ElementValueVisitor
This ClassVisitor replaces references to classes and class members if the
classes have targets that are intended to replace them.
- See Also:
VerticalClassMerger,
ClassReferenceFixer,
MemberReferenceFixer
|
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 |
visitAnyRefConstant(Clazz clazz,
RefConstant refConstant)
Visits any type of RefConstant of the given class. |
void |
visitArrayElementValue(Clazz clazz,
Annotation annotation,
ArrayElementValue arrayElementValue)
|
void |
visitClassConstant(Clazz clazz,
ClassConstant classConstant)
|
void |
visitClassElementValue(Clazz clazz,
Annotation annotation,
ClassElementValue classElementValue)
|
void |
visitCodeAttribute(Clazz clazz,
Method method,
CodeAttribute codeAttribute)
|
void |
visitConstantElementValue(Clazz clazz,
Annotation annotation,
ConstantElementValue constantElementValue)
|
void |
visitEnumConstantElementValue(Clazz clazz,
Annotation annotation,
EnumConstantElementValue enumConstantElementValue)
|
void |
visitLibraryClass(LibraryClass libraryClass)
|
void |
visitLibraryField(LibraryClass libraryClass,
LibraryField libraryField)
|
void |
visitLibraryMethod(LibraryClass libraryClass,
LibraryMethod libraryMethod)
|
void |
visitLocalVariableInfo(Clazz clazz,
Method method,
CodeAttribute codeAttribute,
LocalVariableInfo localVariableInfo)
|
void |
visitLocalVariableTableAttribute(Clazz clazz,
Method method,
CodeAttribute codeAttribute,
LocalVariableTableAttribute localVariableTableAttribute)
|
void |
visitLocalVariableTypeInfo(Clazz clazz,
Method method,
CodeAttribute codeAttribute,
LocalVariableTypeInfo localVariableTypeInfo)
|
void |
visitLocalVariableTypeTableAttribute(Clazz clazz,
Method method,
CodeAttribute codeAttribute,
LocalVariableTypeTableAttribute localVariableTypeTableAttribute)
|
void |
visitProgramClass(ProgramClass programClass)
|
void |
visitProgramField(ProgramClass programClass,
ProgramField programField)
|
void |
visitProgramMethod(ProgramClass programClass,
ProgramMethod programMethod)
|
void |
visitSignatureAttribute(Clazz clazz,
SignatureAttribute signatureAttribute)
|
void |
visitStringConstant(Clazz clazz,
StringConstant stringConstant)
|
| Methods inherited from class proguard.classfile.util.SimplifiedVisitor |
visitAnnotation, visitAnnotation, visitAnnotation, visitAnnotation, visitAnyClass, visitAnyInstruction, visitAnyMember, visitAnyMethodrefConstant, visitAnyStackMapFrame, visitAnySwitchInstruction, visitAnyVerificationType, visitBranchInstruction, visitConstantInstruction, visitConstantValueAttribute, visitDeprecatedAttribute, visitDeprecatedAttribute, visitDeprecatedAttribute, visitDeprecatedAttribute, visitDoubleConstant, visitDoubleType, visitEnclosingMethodAttribute, visitExceptionsAttribute, visitFieldrefConstant, visitFloatConstant, visitFloatType, visitFullFrame, visitInnerClassesAttribute, visitIntegerConstant, visitIntegerType, visitInterfaceMethodrefConstant, visitLessZeroFrame, visitLibraryMember, visitLineNumberTableAttribute, visitLongConstant, visitLongType, visitLookUpSwitchInstruction, visitMethodrefConstant, visitMoreZeroFrame, visitNameAndTypeConstant, visitNullType, visitObjectType, visitProgramMember, visitRuntimeInvisibleAnnotationsAttribute, visitRuntimeInvisibleAnnotationsAttribute, visitRuntimeInvisibleAnnotationsAttribute, visitRuntimeInvisibleAnnotationsAttribute, visitRuntimeInvisibleParameterAnnotationsAttribute, visitRuntimeVisibleAnnotationsAttribute, visitRuntimeVisibleAnnotationsAttribute, visitRuntimeVisibleAnnotationsAttribute, visitRuntimeVisibleAnnotationsAttribute, visitRuntimeVisibleParameterAnnotationsAttribute, visitSameOneFrame, visitSameZeroFrame, visitSignatureAttribute, visitSignatureAttribute, visitSignatureAttribute, visitSimpleInstruction, visitSourceDirAttribute, visitSourceFileAttribute, visitStackDoubleType, visitStackFloatType, visitStackIntegerType, visitStackLongType, visitStackMapAttribute, visitStackMapTableAttribute, visitStackNullType, visitStackObjectType, visitStackTopType, visitStackUninitializedThisType, visitStackUninitializedType, 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.attribute.visitor.AttributeVisitor |
visitConstantValueAttribute, visitDeprecatedAttribute, visitDeprecatedAttribute, visitDeprecatedAttribute, visitEnclosingMethodAttribute, visitExceptionsAttribute, visitInnerClassesAttribute, visitLineNumberTableAttribute, visitRuntimeInvisibleAnnotationsAttribute, visitRuntimeInvisibleAnnotationsAttribute, visitRuntimeInvisibleAnnotationsAttribute, visitRuntimeInvisibleParameterAnnotationsAttribute, visitRuntimeVisibleAnnotationsAttribute, visitRuntimeVisibleAnnotationsAttribute, visitRuntimeVisibleAnnotationsAttribute, visitRuntimeVisibleParameterAnnotationsAttribute, visitSignatureAttribute, visitSignatureAttribute, visitSourceDirAttribute, visitSourceFileAttribute, visitStackMapAttribute, visitStackMapTableAttribute, visitSyntheticAttribute, visitSyntheticAttribute, visitSyntheticAttribute, visitUnknownAttribute |
TargetClassChanger
public TargetClassChanger()
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
visitProgramField
public void visitProgramField(ProgramClass programClass,
ProgramField programField)
- Specified by:
visitProgramField in interface MemberVisitor- Overrides:
visitProgramField in class SimplifiedVisitor
visitProgramMethod
public void visitProgramMethod(ProgramClass programClass,
ProgramMethod programMethod)
- Specified by:
visitProgramMethod in interface MemberVisitor- Overrides:
visitProgramMethod in class SimplifiedVisitor
visitLibraryField
public void visitLibraryField(LibraryClass libraryClass,
LibraryField libraryField)
- Specified by:
visitLibraryField in interface MemberVisitor- Overrides:
visitLibraryField in class SimplifiedVisitor
visitLibraryMethod
public void visitLibraryMethod(LibraryClass libraryClass,
LibraryMethod libraryMethod)
- Specified by:
visitLibraryMethod in interface MemberVisitor- Overrides:
visitLibraryMethod in class SimplifiedVisitor
visitAnyConstant
public void visitAnyConstant(Clazz clazz,
Constant constant)
- Overrides:
visitAnyConstant in class SimplifiedVisitor
visitStringConstant
public void visitStringConstant(Clazz clazz,
StringConstant stringConstant)
- Specified by:
visitStringConstant in interface ConstantVisitor- Overrides:
visitStringConstant in class SimplifiedVisitor
visitAnyRefConstant
public void visitAnyRefConstant(Clazz clazz,
RefConstant refConstant)
- Description copied from class:
SimplifiedVisitor
- Visits any type of RefConstant of the given class.
- Overrides:
visitAnyRefConstant in class SimplifiedVisitor
visitClassConstant
public void visitClassConstant(Clazz clazz,
ClassConstant classConstant)
- Specified by:
visitClassConstant in interface ConstantVisitor- Overrides:
visitClassConstant 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
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
visitSignatureAttribute
public void visitSignatureAttribute(Clazz clazz,
SignatureAttribute signatureAttribute)
- Specified by:
visitSignatureAttribute in interface AttributeVisitor- Overrides:
visitSignatureAttribute 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
visitLocalVariableInfo
public void visitLocalVariableInfo(Clazz clazz,
Method method,
CodeAttribute codeAttribute,
LocalVariableInfo localVariableInfo)
- Specified by:
visitLocalVariableInfo in interface LocalVariableInfoVisitor
visitLocalVariableTypeInfo
public void visitLocalVariableTypeInfo(Clazz clazz,
Method method,
CodeAttribute codeAttribute,
LocalVariableTypeInfo localVariableTypeInfo)
- Specified by:
visitLocalVariableTypeInfo in interface LocalVariableTypeInfoVisitor
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
visitConstantElementValue
public void visitConstantElementValue(Clazz clazz,
Annotation annotation,
ConstantElementValue constantElementValue)
- Specified by:
visitConstantElementValue in interface ElementValueVisitor- Overrides:
visitConstantElementValue in class SimplifiedVisitor
visitEnumConstantElementValue
public void visitEnumConstantElementValue(Clazz clazz,
Annotation annotation,
EnumConstantElementValue enumConstantElementValue)
- Specified by:
visitEnumConstantElementValue in interface ElementValueVisitor- Overrides:
visitEnumConstantElementValue in class SimplifiedVisitor
visitClassElementValue
public void visitClassElementValue(Clazz clazz,
Annotation annotation,
ClassElementValue classElementValue)
- Specified by:
visitClassElementValue in interface ElementValueVisitor- Overrides:
visitClassElementValue 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