public class ParameterEscapeMarker
extends java.lang.Object
implements proguard.classfile.visitor.MemberVisitor, proguard.classfile.attribute.visitor.AttributeVisitor, proguard.classfile.instruction.visitor.InstructionVisitor, proguard.classfile.constant.visitor.ConstantVisitor, proguard.classfile.visitor.ParameterVisitor
SideEffectClassChecker,
SideEffectClassMarker| Constructor and Description |
|---|
ParameterEscapeMarker()
Creates a new ParameterEscapeMarker.
|
ParameterEscapeMarker(proguard.classfile.visitor.MemberVisitor extraMemberVisitor)
Creates a new ParameterEscapeMarker.
|
ParameterEscapeMarker(proguard.evaluation.PartialEvaluator partialEvaluator,
boolean runPartialEvaluator,
proguard.classfile.visitor.MemberVisitor extraMemberVisitor)
Creates a new ParameterEscapeMarker.
|
ParameterEscapeMarker(proguard.evaluation.PartialEvaluator partialEvaluator,
boolean runPartialEvaluator,
ReferenceEscapeChecker referenceEscapeChecker,
boolean runReferenceEscapeChecker,
proguard.classfile.visitor.MemberVisitor extraMemberVisitor)
Creates a new ParameterEscapeMarker.
|
ParameterEscapeMarker(proguard.evaluation.value.ValueFactory valueFactory,
proguard.classfile.visitor.MemberVisitor extraMemberVisitor)
Creates a new ParameterEscapeMarker.
|
ParameterEscapeMarker(proguard.evaluation.value.ValueFactory valueFactory,
proguard.evaluation.ReferenceTracingValueFactory tracingValueFactory,
proguard.classfile.visitor.MemberVisitor extraMemberVisitor)
Creates a new ParameterEscapeMarker.
|
| Modifier and Type | Method and Description |
|---|---|
static long |
getEscapingParameters(proguard.classfile.Method method)
Returns which parameters are escaping from the given method.
|
static long |
getModifiedParameters(proguard.classfile.Method method)
Returns which parameters are modified by the given method.
|
static long |
getReturnedParameters(proguard.classfile.Method method)
Returns which parameters are returned from the given method.
|
static boolean |
isParameterEscaping(proguard.classfile.Method method,
int parameterIndex)
Returns whether the given parameter is escaping from the given method.
|
static boolean |
isParameterModified(proguard.classfile.Method method,
int parameterIndex)
Returns whether the given parameter is modified by the given method.
|
static boolean |
isParameterReturned(proguard.classfile.Method method,
int parameterIndex)
Returns whether the given parameter is returned from the given method.
|
static boolean |
modifiesAnything(proguard.classfile.Method method)
Returns whether anything may be modified by the given method.
|
static boolean |
returnsExternalValues(proguard.classfile.Method method)
Returns whether the given method returns external reference values
(not parameter or new instance).
|
static boolean |
returnsNewInstances(proguard.classfile.Method method)
Returns whether the given method returns new instances (created inside
the method).
|
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 |
visitClassConstant(proguard.classfile.Clazz clazz,
proguard.classfile.constant.ClassConstant classConstant) |
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 |
visitInvokeDynamicConstant(proguard.classfile.Clazz clazz,
proguard.classfile.constant.InvokeDynamicConstant invokeDynamicConstant) |
void |
visitParameter(proguard.classfile.Clazz clazz,
proguard.classfile.Member member,
int parameterIndex,
int parameterCount,
int parameterOffset,
int parameterSize,
java.lang.String parameterType,
proguard.classfile.Clazz referencedClass) |
void |
visitProgramMethod(proguard.classfile.ProgramClass programClass,
proguard.classfile.ProgramMethod programMethod) |
void |
visitSimpleInstruction(proguard.classfile.Clazz clazz,
proguard.classfile.Method method,
proguard.classfile.attribute.CodeAttribute codeAttribute,
int offset,
proguard.classfile.instruction.SimpleInstruction simpleInstruction) |
void |
visitStringConstant(proguard.classfile.Clazz clazz,
proguard.classfile.constant.StringConstant stringConstant) |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitvisitAnyMember, visitLibraryField, visitLibraryMember, visitLibraryMethod, visitProgramField, visitProgramMembervisitAnnotationDefaultAttribute, 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, visitDoubleConstant, visitDynamicConstant, visitFloatConstant, visitIntegerConstant, visitInterfaceMethodrefConstant, visitLongConstant, visitMethodHandleConstant, visitMethodrefConstant, visitMethodTypeConstant, visitModuleConstant, visitNameAndTypeConstant, visitPackageConstant, visitPrimitiveArrayConstant, visitUtf8Constantpublic ParameterEscapeMarker()
public ParameterEscapeMarker(proguard.classfile.visitor.MemberVisitor extraMemberVisitor)
public ParameterEscapeMarker(proguard.evaluation.value.ValueFactory valueFactory,
proguard.classfile.visitor.MemberVisitor extraMemberVisitor)
public ParameterEscapeMarker(proguard.evaluation.value.ValueFactory valueFactory,
proguard.evaluation.ReferenceTracingValueFactory tracingValueFactory,
proguard.classfile.visitor.MemberVisitor extraMemberVisitor)
public ParameterEscapeMarker(proguard.evaluation.PartialEvaluator partialEvaluator,
boolean runPartialEvaluator,
proguard.classfile.visitor.MemberVisitor extraMemberVisitor)
public ParameterEscapeMarker(proguard.evaluation.PartialEvaluator partialEvaluator,
boolean runPartialEvaluator,
ReferenceEscapeChecker referenceEscapeChecker,
boolean runReferenceEscapeChecker,
proguard.classfile.visitor.MemberVisitor extraMemberVisitor)
public void visitProgramMethod(proguard.classfile.ProgramClass programClass,
proguard.classfile.ProgramMethod programMethod)
visitProgramMethod in interface proguard.classfile.visitor.MemberVisitorpublic 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 visitStringConstant(proguard.classfile.Clazz clazz,
proguard.classfile.constant.StringConstant stringConstant)
visitStringConstant in interface proguard.classfile.constant.visitor.ConstantVisitorpublic void visitClassConstant(proguard.classfile.Clazz clazz,
proguard.classfile.constant.ClassConstant classConstant)
visitClassConstant in interface proguard.classfile.constant.visitor.ConstantVisitorpublic void visitInvokeDynamicConstant(proguard.classfile.Clazz clazz,
proguard.classfile.constant.InvokeDynamicConstant invokeDynamicConstant)
visitInvokeDynamicConstant 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.ConstantVisitorpublic void visitParameter(proguard.classfile.Clazz clazz,
proguard.classfile.Member member,
int parameterIndex,
int parameterCount,
int parameterOffset,
int parameterSize,
java.lang.String parameterType,
proguard.classfile.Clazz referencedClass)
visitParameter in interface proguard.classfile.visitor.ParameterVisitorpublic static boolean isParameterEscaping(proguard.classfile.Method method,
int parameterIndex)
public static long getEscapingParameters(proguard.classfile.Method method)
public static boolean isParameterReturned(proguard.classfile.Method method,
int parameterIndex)
public static long getReturnedParameters(proguard.classfile.Method method)
public static boolean returnsNewInstances(proguard.classfile.Method method)
public static boolean returnsExternalValues(proguard.classfile.Method method)
public static boolean isParameterModified(proguard.classfile.Method method,
int parameterIndex)
public static long getModifiedParameters(proguard.classfile.Method method)
public static boolean modifiesAnything(proguard.classfile.Method method)