类 ClassMerger

  • 所有已实现的接口:
    proguard.classfile.constant.visitor.ConstantVisitor, proguard.classfile.visitor.ClassVisitor

    public class ClassMerger
    extends java.lang.Object
    implements proguard.classfile.visitor.ClassVisitor, proguard.classfile.constant.visitor.ConstantVisitor
    This ClassVisitor inlines the classes that it visits in a given target class, whenever possible.
    另请参阅:
    RetargetedInnerClassAttributeRemover, TargetClassChanger, ClassReferenceFixer, MemberReferenceFixer, AccessFixer
    • 构造器概要

      构造器 
      构造器 说明
      ClassMerger​(proguard.classfile.ProgramClass targetClass, boolean allowAccessModification, boolean mergeInterfacesAggressively, boolean mergeWrapperClasses)
      Creates a new ClassMerger that will merge classes into the given target class.
      ClassMerger​(proguard.classfile.ProgramClass targetClass, boolean allowAccessModification, boolean mergeInterfacesAggressively, boolean mergeWrapperClasses, proguard.classfile.visitor.ClassVisitor extraClassVisitor)
      Creates a new ClassMerger that will merge classes into the given target class.
    • 方法概要

      所有方法 静态方法 实例方法 具体方法 
      修饰符和类型 方法 说明
      static proguard.classfile.Clazz getTargetClass​(proguard.classfile.Clazz clazz)  
      boolean isMergeable​(proguard.classfile.ProgramClass programClass)  
      static boolean isNestHostOrMember​(proguard.classfile.Clazz clazz)  
      static void setTargetClass​(proguard.classfile.Clazz clazz, proguard.classfile.Clazz targetClass)  
      void visitAnyClass​(proguard.classfile.Clazz clazz)  
      void visitProgramClass​(proguard.classfile.ProgramClass programClass)  
      • 从类继承的方法 java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
      • 从接口继承的方法 proguard.classfile.visitor.ClassVisitor

        visitLibraryClass
      • 从接口继承的方法 proguard.classfile.constant.visitor.ConstantVisitor

        visitAnyConstant, visitAnyMethodrefConstant, visitAnyRefConstant, visitClassConstant, visitDoubleConstant, visitDynamicConstant, visitFieldrefConstant, visitFloatConstant, visitIntegerConstant, visitInterfaceMethodrefConstant, visitInvokeDynamicConstant, visitLongConstant, visitMethodHandleConstant, visitMethodrefConstant, visitMethodTypeConstant, visitModuleConstant, visitNameAndTypeConstant, visitPackageConstant, visitPrimitiveArrayConstant, visitStringConstant, visitUtf8Constant
    • 构造器详细资料

      • ClassMerger

        public ClassMerger​(proguard.classfile.ProgramClass targetClass,
                           boolean allowAccessModification,
                           boolean mergeInterfacesAggressively,
                           boolean mergeWrapperClasses)
        Creates a new ClassMerger that will merge classes into the given target class.
        参数:
        targetClass - the class into which all visited classes will be merged.
        allowAccessModification - specifies whether the access modifiers of classes can be changed in order to merge them.
        mergeInterfacesAggressively - specifies whether interfaces may be merged aggressively.
      • ClassMerger

        public ClassMerger​(proguard.classfile.ProgramClass targetClass,
                           boolean allowAccessModification,
                           boolean mergeInterfacesAggressively,
                           boolean mergeWrapperClasses,
                           proguard.classfile.visitor.ClassVisitor extraClassVisitor)
        Creates a new ClassMerger that will merge classes into the given target class.
        参数:
        targetClass - the class into which all visited classes will be merged.
        allowAccessModification - specifies whether the access modifiers of classes can be changed in order to merge them.
        mergeInterfacesAggressively - specifies whether interfaces may be merged aggressively.
        extraClassVisitor - an optional extra visitor for all merged classes.
    • 方法详细资料

      • visitAnyClass

        public void visitAnyClass​(proguard.classfile.Clazz clazz)
        指定者:
        visitAnyClass 在接口中 proguard.classfile.visitor.ClassVisitor
      • visitProgramClass

        public void visitProgramClass​(proguard.classfile.ProgramClass programClass)
        指定者:
        visitProgramClass 在接口中 proguard.classfile.visitor.ClassVisitor
      • isMergeable

        public boolean isMergeable​(proguard.classfile.ProgramClass programClass)
      • isNestHostOrMember

        public static boolean isNestHostOrMember​(proguard.classfile.Clazz clazz)
      • setTargetClass

        public static void setTargetClass​(proguard.classfile.Clazz clazz,
                                          proguard.classfile.Clazz targetClass)
      • getTargetClass

        public static proguard.classfile.Clazz getTargetClass​(proguard.classfile.Clazz clazz)