类 VariableOptimizer

  • 所有已实现的接口:
    proguard.classfile.attribute.visitor.AttributeVisitor, proguard.classfile.attribute.visitor.LocalVariableInfoVisitor, proguard.classfile.attribute.visitor.LocalVariableTypeInfoVisitor

    public class VariableOptimizer
    extends java.lang.Object
    implements proguard.classfile.attribute.visitor.AttributeVisitor, proguard.classfile.attribute.visitor.LocalVariableInfoVisitor, proguard.classfile.attribute.visitor.LocalVariableTypeInfoVisitor
    This AttributeVisitor optimizes variable allocation based on their the liveness, in the code attributes that it visits.
    • 构造器概要

      构造器 
      构造器 说明
      VariableOptimizer​(boolean reuseThis)
      Creates a new VariableOptimizer.
      VariableOptimizer​(boolean reuseThis, proguard.classfile.visitor.MemberVisitor extraVariableMemberVisitor)
      Creates a new VariableOptimizer with an extra visitor.
    • 方法概要

      所有方法 实例方法 具体方法 
      修饰符和类型 方法 说明
      void visitAnyAttribute​(proguard.classfile.Clazz clazz, proguard.classfile.attribute.Attribute attribute)  
      void visitCodeAttribute​(proguard.classfile.Clazz clazz, proguard.classfile.Method method, proguard.classfile.attribute.CodeAttribute codeAttribute)  
      void visitLocalVariableInfo​(proguard.classfile.Clazz clazz, proguard.classfile.Method method, proguard.classfile.attribute.CodeAttribute codeAttribute, proguard.classfile.attribute.LocalVariableInfo localVariableInfo)  
      void visitLocalVariableTableAttribute​(proguard.classfile.Clazz clazz, proguard.classfile.Method method, proguard.classfile.attribute.CodeAttribute codeAttribute, proguard.classfile.attribute.LocalVariableTableAttribute localVariableTableAttribute)  
      void visitLocalVariableTypeInfo​(proguard.classfile.Clazz clazz, proguard.classfile.Method method, proguard.classfile.attribute.CodeAttribute codeAttribute, proguard.classfile.attribute.LocalVariableTypeInfo localVariableTypeInfo)  
      void visitLocalVariableTypeTableAttribute​(proguard.classfile.Clazz clazz, proguard.classfile.Method method, proguard.classfile.attribute.CodeAttribute codeAttribute, proguard.classfile.attribute.LocalVariableTypeTableAttribute localVariableTypeTableAttribute)  
      • 从类继承的方法 java.lang.Object

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

        visitAnnotationDefaultAttribute, visitAnyAnnotationsAttribute, visitAnyParameterAnnotationsAttribute, visitAnyTypeAnnotationsAttribute, visitBootstrapMethodsAttribute, visitConstantValueAttribute, visitDeprecatedAttribute, visitDeprecatedAttribute, visitDeprecatedAttribute, visitDeprecatedAttribute, visitEnclosingMethodAttribute, visitExceptionsAttribute, visitInnerClassesAttribute, visitLineNumberTableAttribute, visitMethodParametersAttribute, visitModuleAttribute, visitModuleMainClassAttribute, visitModulePackagesAttribute, visitNestHostAttribute, visitNestMembersAttribute, visitPermittedSubclassesAttribute, visitRecordAttribute, 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, visitSignatureAttribute, visitSourceDebugExtensionAttribute, visitSourceDirAttribute, visitSourceFileAttribute, visitStackMapAttribute, visitStackMapTableAttribute, visitSyntheticAttribute, visitSyntheticAttribute, visitSyntheticAttribute, visitSyntheticAttribute, visitUnknownAttribute
    • 构造器详细资料

      • VariableOptimizer

        public VariableOptimizer​(boolean reuseThis)
        Creates a new VariableOptimizer.
        参数:
        reuseThis - specifies whether the 'this' variable can be reused. Many JVMs for JME and IBM's JVMs for JSE can't handle such reuse.
      • VariableOptimizer

        public VariableOptimizer​(boolean reuseThis,
                                 proguard.classfile.visitor.MemberVisitor extraVariableMemberVisitor)
        Creates a new VariableOptimizer with an extra visitor.
        参数:
        reuseThis - specifies whether the 'this' variable can be reused. Many JVMs for JME and IBM's JVMs for JSE can't handle such reuse.
        extraVariableMemberVisitor - an optional extra visitor for all removed variables.
    • 方法详细资料

      • visitAnyAttribute

        public void visitAnyAttribute​(proguard.classfile.Clazz clazz,
                                      proguard.classfile.attribute.Attribute attribute)
        指定者:
        visitAnyAttribute 在接口中 proguard.classfile.attribute.visitor.AttributeVisitor
      • visitCodeAttribute

        public void visitCodeAttribute​(proguard.classfile.Clazz clazz,
                                       proguard.classfile.Method method,
                                       proguard.classfile.attribute.CodeAttribute codeAttribute)
        指定者:
        visitCodeAttribute 在接口中 proguard.classfile.attribute.visitor.AttributeVisitor
      • visitLocalVariableTableAttribute

        public void visitLocalVariableTableAttribute​(proguard.classfile.Clazz clazz,
                                                     proguard.classfile.Method method,
                                                     proguard.classfile.attribute.CodeAttribute codeAttribute,
                                                     proguard.classfile.attribute.LocalVariableTableAttribute localVariableTableAttribute)
        指定者:
        visitLocalVariableTableAttribute 在接口中 proguard.classfile.attribute.visitor.AttributeVisitor
      • visitLocalVariableTypeTableAttribute

        public void visitLocalVariableTypeTableAttribute​(proguard.classfile.Clazz clazz,
                                                         proguard.classfile.Method method,
                                                         proguard.classfile.attribute.CodeAttribute codeAttribute,
                                                         proguard.classfile.attribute.LocalVariableTypeTableAttribute localVariableTypeTableAttribute)
        指定者:
        visitLocalVariableTypeTableAttribute 在接口中 proguard.classfile.attribute.visitor.AttributeVisitor
      • visitLocalVariableInfo

        public void visitLocalVariableInfo​(proguard.classfile.Clazz clazz,
                                           proguard.classfile.Method method,
                                           proguard.classfile.attribute.CodeAttribute codeAttribute,
                                           proguard.classfile.attribute.LocalVariableInfo localVariableInfo)
        指定者:
        visitLocalVariableInfo 在接口中 proguard.classfile.attribute.visitor.LocalVariableInfoVisitor
      • visitLocalVariableTypeInfo

        public void visitLocalVariableTypeInfo​(proguard.classfile.Clazz clazz,
                                               proguard.classfile.Method method,
                                               proguard.classfile.attribute.CodeAttribute codeAttribute,
                                               proguard.classfile.attribute.LocalVariableTypeInfo localVariableTypeInfo)
        指定者:
        visitLocalVariableTypeInfo 在接口中 proguard.classfile.attribute.visitor.LocalVariableTypeInfoVisitor