proguard.classfile.editor
Class ClassReferenceFixer
java.lang.Object
proguard.classfile.util.SimplifiedVisitor
proguard.classfile.editor.ClassReferenceFixer
- All Implemented Interfaces:
- AnnotationVisitor, ElementValueVisitor, AttributeVisitor, InnerClassesInfoVisitor, LocalVariableInfoVisitor, LocalVariableTypeInfoVisitor, ConstantVisitor, ClassVisitor, MemberVisitor
public class ClassReferenceFixer
- extends SimplifiedVisitor
- implements ClassVisitor, ConstantVisitor, MemberVisitor, AttributeVisitor, InnerClassesInfoVisitor, LocalVariableInfoVisitor, LocalVariableTypeInfoVisitor, AnnotationVisitor, ElementValueVisitor
This ClassVisitor fixes references of constant pool entries, fields,
methods, and attributes to classes whose names have changed. Descriptors
of member references are not updated yet.
- See Also:
MemberReferenceFixer
|
Constructor Summary |
ClassReferenceFixer(boolean ensureUniqueMemberNames)
Creates a new ClassReferenceFixer. |
|
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 |
visitAnyParameterAnnotationsAttribute(Clazz clazz,
Method method,
ParameterAnnotationsAttribute parameterAnnotationsAttribute)
Visits any type of ParameterAnnotationsAttribute. |
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 |
visitInnerClassesAttribute(Clazz clazz,
InnerClassesAttribute innerClassesAttribute)
|
void |
visitInnerClassesInfo(Clazz clazz,
InnerClassesInfo innerClassesInfo)
|
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, visitAnyElementValue, visitAnyInstruction, visitAnyMember, visitAnyMethodrefConstant, visitAnyRefConstant, visitAnyStackMapFrame, visitAnySwitchInstruction, visitAnyVerificationType, visitBranchInstruction, visitConstantInstruction, visitConstantValueAttribute, visitDeprecatedAttribute, visitDeprecatedAttribute, visitDeprecatedAttribute, visitDeprecatedAttribute, visitDoubleConstant, visitDoubleType, visitEnclosingMethodAttribute, visitExceptionsAttribute, visitFieldrefConstant, visitFloatConstant, visitFloatType, visitFullFrame, 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, visitLineNumberTableAttribute, visitRuntimeInvisibleAnnotationsAttribute, visitRuntimeInvisibleAnnotationsAttribute, visitRuntimeInvisibleAnnotationsAttribute, visitRuntimeInvisibleParameterAnnotationsAttribute, visitRuntimeVisibleAnnotationsAttribute, visitRuntimeVisibleAnnotationsAttribute, visitRuntimeVisibleAnnotationsAttribute, visitRuntimeVisibleParameterAnnotationsAttribute, visitSignatureAttribute, visitSignatureAttribute, visitSourceDirAttribute, visitSourceFileAttribute, visitStackMapAttribute, visitStackMapTableAttribute, visitSyntheticAttribute, visitSyntheticAttribute, visitSyntheticAttribute, visitUnknownAttribute |
ClassReferenceFixer
public ClassReferenceFixer(boolean ensureUniqueMemberNames)
- Creates a new ClassReferenceFixer.
- Parameters:
ensureUniqueMemberNames - specifies whether class members whose
descriptor changes should get new, unique
names, in order to avoid naming conflicts
with similar methods.
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
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
visitInnerClassesAttribute
public void visitInnerClassesAttribute(Clazz clazz,
InnerClassesAttribute innerClassesAttribute)
- Specified by:
visitInnerClassesAttribute in interface AttributeVisitor- Overrides:
visitInnerClassesAttribute 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
visitInnerClassesInfo
public void visitInnerClassesInfo(Clazz clazz,
InnerClassesInfo innerClassesInfo)
- Specified by:
visitInnerClassesInfo in interface InnerClassesInfoVisitor
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
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