类 ShortMethodInliner

  • 所有已实现的接口:
    proguard.classfile.attribute.visitor.AttributeVisitor, proguard.classfile.attribute.visitor.ExceptionInfoVisitor, proguard.classfile.attribute.visitor.LineNumberInfoVisitor, proguard.classfile.constant.visitor.ConstantVisitor, proguard.classfile.instruction.visitor.InstructionVisitor, proguard.classfile.visitor.MemberVisitor

    public class ShortMethodInliner
    extends MethodInliner
    This AttributeVisitor inlines short methods in the code attributes that it visits.
    • 构造器概要

      构造器 
      构造器 说明
      ShortMethodInliner​(boolean microEdition, boolean android, boolean allowAccessModification)  
      ShortMethodInliner​(boolean microEdition, boolean android, boolean allowAccessModification, proguard.classfile.instruction.visitor.InstructionVisitor extraInlinedInvocationVisitor)  
    • 方法概要

      所有方法 实例方法 具体方法 
      修饰符和类型 方法 说明
      protected boolean shouldInline​(proguard.classfile.Clazz clazz, proguard.classfile.Method method, proguard.classfile.attribute.CodeAttribute codeAttribute)
      Indicates whether this method should be inlined.
      • 从类继承的方法 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, 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
      • 从接口继承的方法 proguard.classfile.constant.visitor.ConstantVisitor

        visitAnyConstant, visitAnyRefConstant, visitClassConstant, visitDoubleConstant, visitDynamicConstant, visitFieldrefConstant, visitFloatConstant, visitIntegerConstant, visitInterfaceMethodrefConstant, visitInvokeDynamicConstant, visitLongConstant, visitMethodHandleConstant, visitMethodrefConstant, visitMethodTypeConstant, visitModuleConstant, visitNameAndTypeConstant, visitPackageConstant, visitPrimitiveArrayConstant, visitStringConstant, visitUtf8Constant
      • 从接口继承的方法 proguard.classfile.instruction.visitor.InstructionVisitor

        visitAnySwitchInstruction, visitBranchInstruction, visitLookUpSwitchInstruction, visitTableSwitchInstruction
      • 从接口继承的方法 proguard.classfile.visitor.MemberVisitor

        visitLibraryField, visitLibraryMember, visitProgramField, visitProgramMember
    • 构造器详细资料

      • ShortMethodInliner

        public ShortMethodInliner​(boolean microEdition,
                                  boolean android,
                                  boolean allowAccessModification)
      • ShortMethodInliner

        public ShortMethodInliner​(boolean microEdition,
                                  boolean android,
                                  boolean allowAccessModification,
                                  proguard.classfile.instruction.visitor.InstructionVisitor extraInlinedInvocationVisitor)
    • 方法详细资料

      • shouldInline

        protected boolean shouldInline​(proguard.classfile.Clazz clazz,
                                       proguard.classfile.Method method,
                                       proguard.classfile.attribute.CodeAttribute codeAttribute)
        从类复制的说明: MethodInliner
        Indicates whether this method should be inlined. Subclasses can overwrite this method to change which methods are inlined. Note that the method will always still first be tested on whether they can technically be inlined (see `visitProgramMethod`) and only then will this method be called to decide whether to actually inline or not.
        指定者:
        shouldInline 在类中 MethodInliner
        method - The method that is eligible for inlining.