类 ClassReferenceFixer
- java.lang.Object
-
- proguard.classfile.editor.ClassReferenceFixer
-
- 所有已实现的接口:
AnnotationVisitor,ElementValueVisitor,AttributeVisitor,InnerClassesInfoVisitor,LocalVariableInfoVisitor,LocalVariableTypeInfoVisitor,RecordComponentInfoVisitor,ConstantVisitor,ClassVisitor,MemberVisitor
public class ClassReferenceFixer extends java.lang.Object implements ClassVisitor, ConstantVisitor, MemberVisitor, AttributeVisitor, RecordComponentInfoVisitor, InnerClassesInfoVisitor, LocalVariableInfoVisitor, LocalVariableTypeInfoVisitor, AnnotationVisitor, ElementValueVisitor
ThisClassVisitorfixes references of constant pool entries, fields, methods, attributes and kotlin metadata to classes whose names have changed. Descriptors of programMember references are not updated yet.- 另请参阅:
MemberReferenceFixer
-
-
嵌套类概要
嵌套类 修饰符和类型 类 说明 static interfaceClassReferenceFixer.NameGenerationStrategyThis interface provides an abstraction on how aMembershould be renamed when its descriptor need to be updated.
-
构造器概要
构造器 构造器 说明 ClassReferenceFixer(boolean ensureUniqueMemberNames)Creates a new ClassReferenceFixer.ClassReferenceFixer(ClassReferenceFixer.NameGenerationStrategy newNameStrategy)Creates a new ClassReferenceFixer.
-
方法概要
所有方法 静态方法 实例方法 具体方法 修饰符和类型 方法 说明 static java.lang.StringnewDescriptor(java.lang.String descriptor, Clazz[] referencedClasses)Returns the new descriptor of a method after applying the obfuscation, given the old descriptor and the referenced classes.static java.lang.StringshortKotlinNestedClassName(java.lang.String enclosingClassName, java.lang.String shortInnerClassName, Clazz referencedClass)Returns the short classname to be used as the nested classname.voidvisitAnnotation(Clazz clazz, Annotation annotation)Visits any Annotation instance.voidvisitAnnotationDefaultAttribute(Clazz clazz, Method method, AnnotationDefaultAttribute annotationDefaultAttribute)voidvisitAnnotationElementValue(Clazz clazz, Annotation annotation, AnnotationElementValue annotationElementValue)voidvisitAnyAnnotationsAttribute(Clazz clazz, AnnotationsAttribute annotationsAttribute)Visits any AnnotationsAttribute instance.voidvisitAnyAttribute(Clazz clazz, Attribute attribute)Visits any Attribute instance.voidvisitAnyClass(Clazz clazz)Visits any Clazz instance.voidvisitAnyConstant(Clazz clazz, Constant constant)Visits any Constant instance.voidvisitAnyParameterAnnotationsAttribute(Clazz clazz, Method method, ParameterAnnotationsAttribute parameterAnnotationsAttribute)Visits any ParameterAnnotationsAttribute instance.voidvisitArrayElementValue(Clazz clazz, Annotation annotation, ArrayElementValue arrayElementValue)voidvisitClassConstant(Clazz clazz, ClassConstant classConstant)voidvisitClassElementValue(Clazz clazz, Annotation annotation, ClassElementValue classElementValue)voidvisitCodeAttribute(Clazz clazz, Method method, CodeAttribute codeAttribute)voidvisitConstantElementValue(Clazz clazz, Annotation annotation, ConstantElementValue constantElementValue)voidvisitDynamicConstant(Clazz clazz, DynamicConstant dynamicConstant)voidvisitEnumConstantElementValue(Clazz clazz, Annotation annotation, EnumConstantElementValue enumConstantElementValue)voidvisitInnerClassesAttribute(Clazz clazz, InnerClassesAttribute innerClassesAttribute)voidvisitInnerClassesInfo(Clazz clazz, InnerClassesInfo innerClassesInfo)voidvisitInvokeDynamicConstant(Clazz clazz, InvokeDynamicConstant invokeDynamicConstant)voidvisitLibraryClass(LibraryClass libraryClass)voidvisitLibraryField(LibraryClass libraryClass, LibraryField libraryField)voidvisitLibraryMethod(LibraryClass libraryClass, LibraryMethod libraryMethod)voidvisitLocalVariableInfo(Clazz clazz, Method method, CodeAttribute codeAttribute, LocalVariableInfo localVariableInfo)voidvisitLocalVariableTableAttribute(Clazz clazz, Method method, CodeAttribute codeAttribute, LocalVariableTableAttribute localVariableTableAttribute)voidvisitLocalVariableTypeInfo(Clazz clazz, Method method, CodeAttribute codeAttribute, LocalVariableTypeInfo localVariableTypeInfo)voidvisitLocalVariableTypeTableAttribute(Clazz clazz, Method method, CodeAttribute codeAttribute, LocalVariableTypeTableAttribute localVariableTypeTableAttribute)voidvisitMethodTypeConstant(Clazz clazz, MethodTypeConstant methodTypeConstant)voidvisitProgramClass(ProgramClass programClass)voidvisitProgramField(ProgramClass programClass, ProgramField programField)voidvisitProgramMethod(ProgramClass programClass, ProgramMethod programMethod)voidvisitRecordAttribute(Clazz clazz, RecordAttribute recordAttribute)voidvisitRecordComponentInfo(Clazz clazz, RecordComponentInfo recordComponentInfo)voidvisitSignatureAttribute(Clazz clazz, SignatureAttribute signatureAttribute)voidvisitStringConstant(Clazz clazz, StringConstant stringConstant)-
从类继承的方法 java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
-
从接口继承的方法 proguard.classfile.attribute.annotation.visitor.AnnotationVisitor
visitAnnotation, visitAnnotation, visitAnnotation, visitAnnotation, visitAnnotation
-
从接口继承的方法 proguard.classfile.attribute.visitor.AttributeVisitor
visitAnyTypeAnnotationsAttribute, visitBootstrapMethodsAttribute, visitConstantValueAttribute, visitDeprecatedAttribute, visitDeprecatedAttribute, visitDeprecatedAttribute, visitDeprecatedAttribute, visitEnclosingMethodAttribute, visitExceptionsAttribute, visitLineNumberTableAttribute, visitMethodParametersAttribute, visitModuleAttribute, visitModuleMainClassAttribute, visitModulePackagesAttribute, visitNestHostAttribute, visitNestMembersAttribute, visitPermittedSubclassesAttribute, visitRuntimeInvisibleAnnotationsAttribute, visitRuntimeInvisibleAnnotationsAttribute, visitRuntimeInvisibleAnnotationsAttribute, visitRuntimeInvisibleAnnotationsAttribute, visitRuntimeInvisibleAnnotationsAttribute, visitRuntimeInvisibleParameterAnnotationsAttribute, visitRuntimeInvisibleTypeAnnotationsAttribute, visitRuntimeInvisibleTypeAnnotationsAttribute, visitRuntimeInvisibleTypeAnnotationsAttribute, visitRuntimeInvisibleTypeAnnotationsAttribute, visitRuntimeInvisibleTypeAnnotationsAttribute, visitRuntimeInvisibleTypeAnnotationsAttribute, visitRuntimeVisibleAnnotationsAttribute, visitRuntimeVisibleAnnotationsAttribute, visitRuntimeVisibleAnnotationsAttribute, visitRuntimeVisibleAnnotationsAttribute, visitRuntimeVisibleAnnotationsAttribute, visitRuntimeVisibleParameterAnnotationsAttribute, visitRuntimeVisibleTypeAnnotationsAttribute, visitRuntimeVisibleTypeAnnotationsAttribute, visitRuntimeVisibleTypeAnnotationsAttribute, visitRuntimeVisibleTypeAnnotationsAttribute, visitRuntimeVisibleTypeAnnotationsAttribute, visitRuntimeVisibleTypeAnnotationsAttribute, visitSignatureAttribute, visitSignatureAttribute, visitSignatureAttribute, visitSignatureAttribute, visitSourceDebugExtensionAttribute, visitSourceDirAttribute, visitSourceFileAttribute, visitStackMapAttribute, visitStackMapTableAttribute, visitSyntheticAttribute, visitSyntheticAttribute, visitSyntheticAttribute, visitSyntheticAttribute, visitUnknownAttribute
-
从接口继承的方法 proguard.classfile.constant.visitor.ConstantVisitor
visitAnyMethodrefConstant, visitAnyRefConstant, visitDoubleConstant, visitFieldrefConstant, visitFloatConstant, visitIntegerConstant, visitInterfaceMethodrefConstant, visitLongConstant, visitMethodHandleConstant, visitMethodrefConstant, visitModuleConstant, visitNameAndTypeConstant, visitPackageConstant, visitPrimitiveArrayConstant, visitUtf8Constant
-
从接口继承的方法 proguard.classfile.attribute.annotation.visitor.ElementValueVisitor
visitAnyElementValue
-
从接口继承的方法 proguard.classfile.visitor.MemberVisitor
visitAnyMember, visitLibraryMember, visitProgramMember
-
-
-
-
构造器详细资料
-
ClassReferenceFixer
public ClassReferenceFixer(boolean ensureUniqueMemberNames)
Creates a new ClassReferenceFixer.- 参数:
ensureUniqueMemberNames- specifies whether class members whose descriptor changes should get new, unique names, in order to avoid naming conflicts with similar methods.
-
ClassReferenceFixer
public ClassReferenceFixer(ClassReferenceFixer.NameGenerationStrategy newNameStrategy)
Creates a new ClassReferenceFixer.- 参数:
newNameStrategy- specifies how class members whose descriptor changes should get a new name in order to avoid naming conflicts with similar members.
-
-
方法详细资料
-
visitAnyClass
public void visitAnyClass(Clazz clazz)
从接口复制的说明:ClassVisitorVisits any Clazz instance. The more specific default implementations of this interface delegate to this method.- 指定者:
visitAnyClass在接口中ClassVisitor
-
visitProgramClass
public void visitProgramClass(ProgramClass programClass)
- 指定者:
visitProgramClass在接口中ClassVisitor
-
visitLibraryClass
public void visitLibraryClass(LibraryClass libraryClass)
- 指定者:
visitLibraryClass在接口中ClassVisitor
-
visitProgramField
public void visitProgramField(ProgramClass programClass, ProgramField programField)
- 指定者:
visitProgramField在接口中MemberVisitor
-
visitProgramMethod
public void visitProgramMethod(ProgramClass programClass, ProgramMethod programMethod)
- 指定者:
visitProgramMethod在接口中MemberVisitor
-
visitLibraryField
public void visitLibraryField(LibraryClass libraryClass, LibraryField libraryField)
- 指定者:
visitLibraryField在接口中MemberVisitor
-
visitLibraryMethod
public void visitLibraryMethod(LibraryClass libraryClass, LibraryMethod libraryMethod)
- 指定者:
visitLibraryMethod在接口中MemberVisitor
-
visitAnyConstant
public void visitAnyConstant(Clazz clazz, Constant constant)
从接口复制的说明:ConstantVisitorVisits any Constant instance. The more specific default implementations of this interface delegate to this method.- 指定者:
visitAnyConstant在接口中ConstantVisitor
-
visitStringConstant
public void visitStringConstant(Clazz clazz, StringConstant stringConstant)
- 指定者:
visitStringConstant在接口中ConstantVisitor
-
visitDynamicConstant
public void visitDynamicConstant(Clazz clazz, DynamicConstant dynamicConstant)
- 指定者:
visitDynamicConstant在接口中ConstantVisitor
-
visitInvokeDynamicConstant
public void visitInvokeDynamicConstant(Clazz clazz, InvokeDynamicConstant invokeDynamicConstant)
- 指定者:
visitInvokeDynamicConstant在接口中ConstantVisitor
-
visitClassConstant
public void visitClassConstant(Clazz clazz, ClassConstant classConstant)
- 指定者:
visitClassConstant在接口中ConstantVisitor
-
visitMethodTypeConstant
public void visitMethodTypeConstant(Clazz clazz, MethodTypeConstant methodTypeConstant)
- 指定者:
visitMethodTypeConstant在接口中ConstantVisitor
-
visitAnyAttribute
public void visitAnyAttribute(Clazz clazz, Attribute attribute)
从接口复制的说明:AttributeVisitorVisits any Attribute instance. The more specific default implementations of this interface delegate to this method.- 指定者:
visitAnyAttribute在接口中AttributeVisitor
-
visitRecordAttribute
public void visitRecordAttribute(Clazz clazz, RecordAttribute recordAttribute)
- 指定者:
visitRecordAttribute在接口中AttributeVisitor
-
visitInnerClassesAttribute
public void visitInnerClassesAttribute(Clazz clazz, InnerClassesAttribute innerClassesAttribute)
- 指定者:
visitInnerClassesAttribute在接口中AttributeVisitor
-
visitCodeAttribute
public void visitCodeAttribute(Clazz clazz, Method method, CodeAttribute codeAttribute)
- 指定者:
visitCodeAttribute在接口中AttributeVisitor
-
visitLocalVariableTableAttribute
public void visitLocalVariableTableAttribute(Clazz clazz, Method method, CodeAttribute codeAttribute, LocalVariableTableAttribute localVariableTableAttribute)
-
visitLocalVariableTypeTableAttribute
public void visitLocalVariableTypeTableAttribute(Clazz clazz, Method method, CodeAttribute codeAttribute, LocalVariableTypeTableAttribute localVariableTypeTableAttribute)
-
visitSignatureAttribute
public void visitSignatureAttribute(Clazz clazz, SignatureAttribute signatureAttribute)
- 指定者:
visitSignatureAttribute在接口中AttributeVisitor
-
visitAnyAnnotationsAttribute
public void visitAnyAnnotationsAttribute(Clazz clazz, AnnotationsAttribute annotationsAttribute)
从接口复制的说明:AttributeVisitorVisits any AnnotationsAttribute instance. The more specific default implementations of this interface delegate to this method.- 指定者:
visitAnyAnnotationsAttribute在接口中AttributeVisitor
-
visitAnyParameterAnnotationsAttribute
public void visitAnyParameterAnnotationsAttribute(Clazz clazz, Method method, ParameterAnnotationsAttribute parameterAnnotationsAttribute)
从接口复制的说明:AttributeVisitorVisits any ParameterAnnotationsAttribute instance. The more specific default implementations of this interface delegate to this method.
-
visitAnnotationDefaultAttribute
public void visitAnnotationDefaultAttribute(Clazz clazz, Method method, AnnotationDefaultAttribute annotationDefaultAttribute)
-
visitRecordComponentInfo
public void visitRecordComponentInfo(Clazz clazz, RecordComponentInfo recordComponentInfo)
-
visitInnerClassesInfo
public void visitInnerClassesInfo(Clazz clazz, InnerClassesInfo innerClassesInfo)
- 指定者:
visitInnerClassesInfo在接口中InnerClassesInfoVisitor
-
visitLocalVariableInfo
public void visitLocalVariableInfo(Clazz clazz, Method method, CodeAttribute codeAttribute, LocalVariableInfo localVariableInfo)
-
visitLocalVariableTypeInfo
public void visitLocalVariableTypeInfo(Clazz clazz, Method method, CodeAttribute codeAttribute, LocalVariableTypeInfo localVariableTypeInfo)
-
visitAnnotation
public void visitAnnotation(Clazz clazz, Annotation annotation)
从接口复制的说明:AnnotationVisitorVisits any Annotation instance. The more specific default implementations of this interface delegate to this method.- 指定者:
visitAnnotation在接口中AnnotationVisitor
-
visitConstantElementValue
public void visitConstantElementValue(Clazz clazz, Annotation annotation, ConstantElementValue constantElementValue)
- 指定者:
visitConstantElementValue在接口中ElementValueVisitor
-
visitEnumConstantElementValue
public void visitEnumConstantElementValue(Clazz clazz, Annotation annotation, EnumConstantElementValue enumConstantElementValue)
-
visitClassElementValue
public void visitClassElementValue(Clazz clazz, Annotation annotation, ClassElementValue classElementValue)
- 指定者:
visitClassElementValue在接口中ElementValueVisitor
-
visitAnnotationElementValue
public void visitAnnotationElementValue(Clazz clazz, Annotation annotation, AnnotationElementValue annotationElementValue)
-
visitArrayElementValue
public void visitArrayElementValue(Clazz clazz, Annotation annotation, ArrayElementValue arrayElementValue)
- 指定者:
visitArrayElementValue在接口中ElementValueVisitor
-
shortKotlinNestedClassName
public static java.lang.String shortKotlinNestedClassName(java.lang.String enclosingClassName, java.lang.String shortInnerClassName, Clazz referencedClass)Returns the short classname to be used as the nested classname.
-
newDescriptor
public static java.lang.String newDescriptor(java.lang.String descriptor, Clazz[] referencedClasses)Returns the new descriptor of a method after applying the obfuscation, given the old descriptor and the referenced classes.
-
-