类 ProgramFieldOptimizationInfo

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

    public class ProgramFieldOptimizationInfo
    extends FieldOptimizationInfo
    implements proguard.classfile.attribute.visitor.AttributeVisitor
    This class stores some optimization information that can be attached to a field that can be analyzed in detail.
    • 方法概要

      所有方法 静态方法 实例方法 具体方法 
      修饰符和类型 方法 说明
      boolean canBeMadePrivate()
      Returns whether the field can be made private.
      void generalizeReferencedClass​(proguard.evaluation.value.ReferenceValue referencedClass)
      Specifies a representation of the class through which the field is accessed.
      void generalizeValue​(proguard.evaluation.value.Value value)
      Specifies a representation of the value of the field.
      static ProgramFieldOptimizationInfo getProgramFieldOptimizationInfo​(proguard.classfile.Field field)
      Returns the ProgramFieldOptimizationInfo instance from the given field.
      proguard.evaluation.value.ReferenceValue getReferencedClass()
      Returns a representation of the class through which the field is accessed, or null if it is unknown.
      boolean isKept()
      Returns whether the method is kept.
      boolean isRead()
      Returns whether the field is ever read.
      boolean isWritten()
      Returns whether the field is ever written to.
      void resetValue​(proguard.classfile.Clazz clazz, proguard.classfile.Field field)
      Initializes the representation of the value of the field.
      void setCanNotBeMadePrivate()
      Specifies that the field can be made private.
      static void setProgramFieldOptimizationInfo​(proguard.classfile.Clazz clazz, proguard.classfile.Field field, boolean optimizeConservatively)
      Creates and sets a ProgramFieldOptimizationInfo instance on the given field.
      void setRead()
      Specifies that the field is read.
      void setWritten()
      Specifies that the field is written to.
      void visitAnyAttribute​(proguard.classfile.Clazz clazz, proguard.classfile.attribute.Attribute attribute)  
      void visitConstantValueAttribute​(proguard.classfile.Clazz clazz, proguard.classfile.Field field, proguard.classfile.attribute.ConstantValueAttribute constantValueAttribute)  
      • 从类继承的方法 java.lang.Object

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

        visitAnnotationDefaultAttribute, visitAnyAnnotationsAttribute, visitAnyParameterAnnotationsAttribute, visitAnyTypeAnnotationsAttribute, visitBootstrapMethodsAttribute, visitCodeAttribute, visitDeprecatedAttribute, visitDeprecatedAttribute, visitDeprecatedAttribute, visitDeprecatedAttribute, visitEnclosingMethodAttribute, visitExceptionsAttribute, visitInnerClassesAttribute, visitLineNumberTableAttribute, visitLocalVariableTableAttribute, visitLocalVariableTypeTableAttribute, 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
    • 构造器详细资料

      • ProgramFieldOptimizationInfo

        public ProgramFieldOptimizationInfo​(proguard.classfile.Clazz clazz,
                                            proguard.classfile.Field field,
                                            boolean alwaysInitializeValue)
    • 方法详细资料

      • setWritten

        public void setWritten()
        Specifies that the field is written to.
      • setRead

        public void setRead()
        Specifies that the field is read.
      • setCanNotBeMadePrivate

        public void setCanNotBeMadePrivate()
        Specifies that the field can be made private.
      • generalizeReferencedClass

        public void generalizeReferencedClass​(proguard.evaluation.value.ReferenceValue referencedClass)
        Specifies a representation of the class through which the field is accessed.
      • resetValue

        public void resetValue​(proguard.classfile.Clazz clazz,
                               proguard.classfile.Field field)
        Initializes the representation of the value of the field.
      • generalizeValue

        public void generalizeValue​(proguard.evaluation.value.Value value)
        Specifies a representation of the value of the field.
      • visitAnyAttribute

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

        public void visitConstantValueAttribute​(proguard.classfile.Clazz clazz,
                                                proguard.classfile.Field field,
                                                proguard.classfile.attribute.ConstantValueAttribute constantValueAttribute)
        指定者:
        visitConstantValueAttribute 在接口中 proguard.classfile.attribute.visitor.AttributeVisitor
      • setProgramFieldOptimizationInfo

        public static void setProgramFieldOptimizationInfo​(proguard.classfile.Clazz clazz,
                                                           proguard.classfile.Field field,
                                                           boolean optimizeConservatively)
        Creates and sets a ProgramFieldOptimizationInfo instance on the given field.
      • getProgramFieldOptimizationInfo

        public static ProgramFieldOptimizationInfo getProgramFieldOptimizationInfo​(proguard.classfile.Field field)
        Returns the ProgramFieldOptimizationInfo instance from the given field.