类 ParameterUsageMarker
- java.lang.Object
-
- proguard.optimize.info.ParameterUsageMarker
-
- 所有已实现的接口:
proguard.classfile.attribute.visitor.AttributeVisitor,proguard.classfile.instruction.visitor.InstructionVisitor,proguard.classfile.visitor.MemberVisitor
public class ParameterUsageMarker extends java.lang.Object implements proguard.classfile.visitor.MemberVisitor, proguard.classfile.attribute.visitor.AttributeVisitor, proguard.classfile.instruction.visitor.InstructionVisitorThis MemberVisitor counts the parameters and marks the used parameters of the methods that it visits. It also marks the 'this' parameters of methods that have hierarchies.
-
-
构造器概要
构造器 构造器 说明 ParameterUsageMarker()Creates a new ParameterUsageMarker.ParameterUsageMarker(boolean markThisParameter, boolean markAllParameters)Creates a new ParameterUsageMarker that optionally marks all parameters.ParameterUsageMarker(boolean markThisParameter, boolean markAllParameters, boolean analyzeCode)Creates a new ParameterUsageMarker that optionally marks all parameters.
-
方法概要
所有方法 静态方法 实例方法 具体方法 修饰符和类型 方法 说明 static intgetParameterSize(proguard.classfile.Method method)Returns the total size of the parameters.static longgetUsedParameters(proguard.classfile.Method method)Returns which parameters are being used.static booleanhasUnusedParameters(proguard.classfile.Method method)Returns whether the given method has any unused parameters.static booleanisParameterUsed(proguard.classfile.Method method, int variableIndex)Returns whether the given parameter is being used.static voidmarkParameterUsed(proguard.classfile.Method method, int variableIndex)Marks the given parameter as being used.voidvisitAnyAttribute(proguard.classfile.Clazz clazz, proguard.classfile.attribute.Attribute attribute)voidvisitAnyInstruction(proguard.classfile.Clazz clazz, proguard.classfile.Method method, proguard.classfile.attribute.CodeAttribute codeAttribute, int offset, proguard.classfile.instruction.Instruction instruction)voidvisitCodeAttribute(proguard.classfile.Clazz clazz, proguard.classfile.Method method, proguard.classfile.attribute.CodeAttribute codeAttribute)voidvisitLibraryMethod(proguard.classfile.LibraryClass libraryClass, proguard.classfile.LibraryMethod libraryMethod)voidvisitProgramMethod(proguard.classfile.ProgramClass programClass, proguard.classfile.ProgramMethod programMethod)voidvisitVariableInstruction(proguard.classfile.Clazz clazz, proguard.classfile.Method method, proguard.classfile.attribute.CodeAttribute codeAttribute, int offset, proguard.classfile.instruction.VariableInstruction variableInstruction)-
从类继承的方法 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, 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
-
-
-
-
构造器详细资料
-
ParameterUsageMarker
public ParameterUsageMarker()
Creates a new ParameterUsageMarker.
-
ParameterUsageMarker
public ParameterUsageMarker(boolean markThisParameter, boolean markAllParameters)Creates a new ParameterUsageMarker that optionally marks all parameters.- 参数:
markThisParameter- specifies whether all 'this' parameters should be marked as being used.markAllParameters- specifies whether all other parameters should be marked as being used.
-
ParameterUsageMarker
public ParameterUsageMarker(boolean markThisParameter, boolean markAllParameters, boolean analyzeCode)Creates a new ParameterUsageMarker that optionally marks all parameters.- 参数:
markThisParameter- specifies whether all 'this' parameters should be marked as being used.markAllParameters- specifies whether all other parameters should be marked as being used.analyzeCode- specifies whether the code of visited methods should be analyzed for used parameters.
-
-
方法详细资料
-
visitProgramMethod
public void visitProgramMethod(proguard.classfile.ProgramClass programClass, proguard.classfile.ProgramMethod programMethod)- 指定者:
visitProgramMethod在接口中proguard.classfile.visitor.MemberVisitor
-
visitLibraryMethod
public void visitLibraryMethod(proguard.classfile.LibraryClass libraryClass, proguard.classfile.LibraryMethod libraryMethod)- 指定者:
visitLibraryMethod在接口中proguard.classfile.visitor.MemberVisitor
-
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
-
visitAnyInstruction
public void visitAnyInstruction(proguard.classfile.Clazz clazz, proguard.classfile.Method method, proguard.classfile.attribute.CodeAttribute codeAttribute, int offset, proguard.classfile.instruction.Instruction instruction)- 指定者:
visitAnyInstruction在接口中proguard.classfile.instruction.visitor.InstructionVisitor
-
visitVariableInstruction
public void visitVariableInstruction(proguard.classfile.Clazz clazz, proguard.classfile.Method method, proguard.classfile.attribute.CodeAttribute codeAttribute, int offset, proguard.classfile.instruction.VariableInstruction variableInstruction)- 指定者:
visitVariableInstruction在接口中proguard.classfile.instruction.visitor.InstructionVisitor
-
getParameterSize
public static int getParameterSize(proguard.classfile.Method method)
Returns the total size of the parameters.
-
markParameterUsed
public static void markParameterUsed(proguard.classfile.Method method, int variableIndex)Marks the given parameter as being used.
-
hasUnusedParameters
public static boolean hasUnusedParameters(proguard.classfile.Method method)
Returns whether the given method has any unused parameters.
-
isParameterUsed
public static boolean isParameterUsed(proguard.classfile.Method method, int variableIndex)Returns whether the given parameter is being used.
-
getUsedParameters
public static long getUsedParameters(proguard.classfile.Method method)
Returns which parameters are being used.
-
-