public class ReferenceEscapeChecker
extends java.lang.Object
implements proguard.classfile.attribute.visitor.AttributeVisitor, proguard.classfile.instruction.visitor.InstructionVisitor, proguard.classfile.constant.visitor.ConstantVisitor
ParameterEscapeMarker| Constructor and Description |
|---|
ReferenceEscapeChecker()
Creates a new ReferenceEscapeChecker.
|
ReferenceEscapeChecker(proguard.evaluation.PartialEvaluator partialEvaluator,
boolean runPartialEvaluator)
Creates a new ReferenceEscapeChecker.
|
| Modifier and Type | Method and Description |
|---|---|
boolean |
isInstanceEscaping(int instructionOffset)
Returns whether the instance created or retrieved at the specified
instruction offset is escaping.
|
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.
|
boolean |
isInstanceModified(int instructionOffset)
Returns whether the instance created or retrieved at the specified
instruction offset is being modified.
|
boolean |
isInstanceReturned(int instructionOffset)
Returns whether the instance created or retrieved at the specified
instruction offset is being returned.
|
void |
visitAnyAttribute(proguard.classfile.Clazz clazz,
proguard.classfile.attribute.Attribute attribute) |
void |
visitAnyConstant(proguard.classfile.Clazz clazz,
proguard.classfile.constant.Constant constant) |
void |
visitAnyInstruction(proguard.classfile.Clazz clazz,
proguard.classfile.Method method,
proguard.classfile.attribute.CodeAttribute codeAttribute,
int offset,
proguard.classfile.instruction.Instruction instruction) |
void |
visitAnyMethodrefConstant(proguard.classfile.Clazz clazz,
proguard.classfile.constant.AnyMethodrefConstant anyMethodrefConstant) |
void |
visitCodeAttribute(proguard.classfile.Clazz clazz,
proguard.classfile.Method method,
proguard.classfile.attribute.CodeAttribute codeAttribute) |
void |
visitConstantInstruction(proguard.classfile.Clazz clazz,
proguard.classfile.Method method,
proguard.classfile.attribute.CodeAttribute codeAttribute,
int offset,
proguard.classfile.instruction.ConstantInstruction constantInstruction) |
void |
visitFieldrefConstant(proguard.classfile.Clazz clazz,
proguard.classfile.constant.FieldrefConstant fieldrefConstant) |
void |
visitSimpleInstruction(proguard.classfile.Clazz clazz,
proguard.classfile.Method method,
proguard.classfile.attribute.CodeAttribute codeAttribute,
int offset,
proguard.classfile.instruction.SimpleInstruction simpleInstruction) |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitvisitAnnotationDefaultAttribute, 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, visitUnknownAttributevisitAnySwitchInstruction, visitBranchInstruction, visitLookUpSwitchInstruction, visitTableSwitchInstruction, visitVariableInstructionvisitAnyRefConstant, visitClassConstant, visitDoubleConstant, visitDynamicConstant, visitFloatConstant, visitIntegerConstant, visitInterfaceMethodrefConstant, visitInvokeDynamicConstant, visitLongConstant, visitMethodHandleConstant, visitMethodrefConstant, visitMethodTypeConstant, visitModuleConstant, visitNameAndTypeConstant, visitPackageConstant, visitPrimitiveArrayConstant, visitStringConstant, visitUtf8Constantpublic ReferenceEscapeChecker()
public ReferenceEscapeChecker(proguard.evaluation.PartialEvaluator partialEvaluator,
boolean runPartialEvaluator)
partialEvaluator - the evaluator to be used for the analysis.runPartialEvaluator - specifies whether to run this evaluator on
every code attribute that is visited.public boolean isInstanceEscaping(int instructionOffset)
public boolean isInstanceReturned(int instructionOffset)
public boolean isInstanceModified(int instructionOffset)
public boolean isInstanceExternal(int instructionOffset)
public void visitAnyAttribute(proguard.classfile.Clazz clazz,
proguard.classfile.attribute.Attribute attribute)
visitAnyAttribute in interface proguard.classfile.attribute.visitor.AttributeVisitorpublic void visitCodeAttribute(proguard.classfile.Clazz clazz,
proguard.classfile.Method method,
proguard.classfile.attribute.CodeAttribute codeAttribute)
visitCodeAttribute in interface proguard.classfile.attribute.visitor.AttributeVisitorpublic void visitAnyInstruction(proguard.classfile.Clazz clazz,
proguard.classfile.Method method,
proguard.classfile.attribute.CodeAttribute codeAttribute,
int offset,
proguard.classfile.instruction.Instruction instruction)
visitAnyInstruction in interface proguard.classfile.instruction.visitor.InstructionVisitorpublic void visitSimpleInstruction(proguard.classfile.Clazz clazz,
proguard.classfile.Method method,
proguard.classfile.attribute.CodeAttribute codeAttribute,
int offset,
proguard.classfile.instruction.SimpleInstruction simpleInstruction)
visitSimpleInstruction in interface proguard.classfile.instruction.visitor.InstructionVisitorpublic void visitConstantInstruction(proguard.classfile.Clazz clazz,
proguard.classfile.Method method,
proguard.classfile.attribute.CodeAttribute codeAttribute,
int offset,
proguard.classfile.instruction.ConstantInstruction constantInstruction)
visitConstantInstruction in interface proguard.classfile.instruction.visitor.InstructionVisitorpublic void visitAnyConstant(proguard.classfile.Clazz clazz,
proguard.classfile.constant.Constant constant)
visitAnyConstant in interface proguard.classfile.constant.visitor.ConstantVisitorpublic void visitFieldrefConstant(proguard.classfile.Clazz clazz,
proguard.classfile.constant.FieldrefConstant fieldrefConstant)
visitFieldrefConstant in interface proguard.classfile.constant.visitor.ConstantVisitorpublic void visitAnyMethodrefConstant(proguard.classfile.Clazz clazz,
proguard.classfile.constant.AnyMethodrefConstant anyMethodrefConstant)
visitAnyMethodrefConstant in interface proguard.classfile.constant.visitor.ConstantVisitor