类 ReferenceEscapeChecker
- java.lang.Object
-
- proguard.optimize.info.ReferenceEscapeChecker
-
- 所有已实现的接口:
proguard.classfile.attribute.visitor.AttributeVisitor,proguard.classfile.constant.visitor.ConstantVisitor,proguard.classfile.instruction.visitor.InstructionVisitor
public class ReferenceEscapeChecker extends java.lang.Object implements proguard.classfile.attribute.visitor.AttributeVisitor, proguard.classfile.instruction.visitor.InstructionVisitor, proguard.classfile.constant.visitor.ConstantVisitorThis AttributeVisitor can tell whether reference parameters and instances are escaping, are modified, or are returned.- 另请参阅:
ParameterEscapeMarker
-
-
构造器概要
构造器 构造器 说明 ReferenceEscapeChecker()Creates a new ReferenceEscapeChecker.ReferenceEscapeChecker(proguard.evaluation.PartialEvaluator partialEvaluator, boolean runPartialEvaluator)Creates a new ReferenceEscapeChecker.
-
方法概要
所有方法 实例方法 具体方法 修饰符和类型 方法 说明 booleanisInstanceEscaping(int instructionOffset)Returns whether the instance created or retrieved at the specified instruction offset is escaping.booleanisInstanceExternal(int instructionOffset)Returns whether the instance created or retrieved at the specified instruction offset is external to this method and its invoked methods.booleanisInstanceModified(int instructionOffset)Returns whether the instance created or retrieved at the specified instruction offset is being modified.booleanisInstanceReturned(int instructionOffset)Returns whether the instance created or retrieved at the specified instruction offset is being returned.voidvisitAnyAttribute(proguard.classfile.Clazz clazz, proguard.classfile.attribute.Attribute attribute)voidvisitAnyConstant(proguard.classfile.Clazz clazz, proguard.classfile.constant.Constant constant)voidvisitAnyInstruction(proguard.classfile.Clazz clazz, proguard.classfile.Method method, proguard.classfile.attribute.CodeAttribute codeAttribute, int offset, proguard.classfile.instruction.Instruction instruction)voidvisitAnyMethodrefConstant(proguard.classfile.Clazz clazz, proguard.classfile.constant.AnyMethodrefConstant anyMethodrefConstant)voidvisitCodeAttribute(proguard.classfile.Clazz clazz, proguard.classfile.Method method, proguard.classfile.attribute.CodeAttribute codeAttribute)voidvisitConstantInstruction(proguard.classfile.Clazz clazz, proguard.classfile.Method method, proguard.classfile.attribute.CodeAttribute codeAttribute, int offset, proguard.classfile.instruction.ConstantInstruction constantInstruction)voidvisitFieldrefConstant(proguard.classfile.Clazz clazz, proguard.classfile.constant.FieldrefConstant fieldrefConstant)voidvisitSimpleInstruction(proguard.classfile.Clazz clazz, proguard.classfile.Method method, proguard.classfile.attribute.CodeAttribute codeAttribute, int offset, proguard.classfile.instruction.SimpleInstruction simpleInstruction)-
从类继承的方法 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
-
从接口继承的方法 proguard.classfile.constant.visitor.ConstantVisitor
visitAnyRefConstant, visitClassConstant, visitDoubleConstant, visitDynamicConstant, visitFloatConstant, visitIntegerConstant, visitInterfaceMethodrefConstant, visitInvokeDynamicConstant, visitLongConstant, visitMethodHandleConstant, visitMethodrefConstant, visitMethodTypeConstant, visitModuleConstant, visitNameAndTypeConstant, visitPackageConstant, visitPrimitiveArrayConstant, visitStringConstant, visitUtf8Constant
-
-
-
-
构造器详细资料
-
ReferenceEscapeChecker
public ReferenceEscapeChecker()
Creates a new ReferenceEscapeChecker.
-
ReferenceEscapeChecker
public ReferenceEscapeChecker(proguard.evaluation.PartialEvaluator partialEvaluator, boolean runPartialEvaluator)Creates a new ReferenceEscapeChecker.- 参数:
partialEvaluator- the evaluator to be used for the analysis.runPartialEvaluator- specifies whether to run this evaluator on every code attribute that is visited.
-
-
方法详细资料
-
isInstanceEscaping
public boolean isInstanceEscaping(int instructionOffset)
Returns whether the instance created or retrieved at the specified instruction offset is escaping.
-
isInstanceReturned
public boolean isInstanceReturned(int instructionOffset)
Returns whether the instance created or retrieved at the specified instruction offset is being returned.
-
isInstanceModified
public boolean isInstanceModified(int instructionOffset)
Returns whether the instance created or retrieved at the specified instruction offset is being modified.
-
isInstanceExternal
public boolean isInstanceExternal(int instructionOffset)
Returns whether the instance created or retrieved at the specified instruction offset is external to this method and its invoked methods.
-
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
-
visitSimpleInstruction
public void visitSimpleInstruction(proguard.classfile.Clazz clazz, proguard.classfile.Method method, proguard.classfile.attribute.CodeAttribute codeAttribute, int offset, proguard.classfile.instruction.SimpleInstruction simpleInstruction)- 指定者:
visitSimpleInstruction在接口中proguard.classfile.instruction.visitor.InstructionVisitor
-
visitConstantInstruction
public void visitConstantInstruction(proguard.classfile.Clazz clazz, proguard.classfile.Method method, proguard.classfile.attribute.CodeAttribute codeAttribute, int offset, proguard.classfile.instruction.ConstantInstruction constantInstruction)- 指定者:
visitConstantInstruction在接口中proguard.classfile.instruction.visitor.InstructionVisitor
-
visitAnyConstant
public void visitAnyConstant(proguard.classfile.Clazz clazz, proguard.classfile.constant.Constant constant)- 指定者:
visitAnyConstant在接口中proguard.classfile.constant.visitor.ConstantVisitor
-
visitFieldrefConstant
public void visitFieldrefConstant(proguard.classfile.Clazz clazz, proguard.classfile.constant.FieldrefConstant fieldrefConstant)- 指定者:
visitFieldrefConstant在接口中proguard.classfile.constant.visitor.ConstantVisitor
-
visitAnyMethodrefConstant
public void visitAnyMethodrefConstant(proguard.classfile.Clazz clazz, proguard.classfile.constant.AnyMethodrefConstant anyMethodrefConstant)- 指定者:
visitAnyMethodrefConstant在接口中proguard.classfile.constant.visitor.ConstantVisitor
-
-