public class ParameterEscapeMarker extends SimplifiedVisitor implements MemberVisitor, AttributeVisitor, InstructionVisitor, ConstantVisitor, ParameterVisitor
SideEffectClassChecker,
SideEffectClassMarker| Constructor and Description |
|---|
ParameterEscapeMarker(MutableBoolean repeatTrigger)
Creates a new ParameterEscapeMarker.
|
ParameterEscapeMarker(MutableBoolean repeatTrigger,
PartialEvaluator partialEvaluator,
boolean runPartialEvaluator)
Creates a new ParameterEscapeMarker.
|
ParameterEscapeMarker(MutableBoolean repeatTrigger,
PartialEvaluator partialEvaluator,
boolean runPartialEvaluator,
ReferenceEscapeChecker referenceEscapeChecker,
boolean runReferenceEscapeChecker)
Creates a new ParameterEscapeMarker.
|
ParameterEscapeMarker(MutableBoolean repeatTrigger,
ValueFactory valueFactory)
Creates a new ParameterEscapeMarker.
|
ParameterEscapeMarker(MutableBoolean repeatTrigger,
ValueFactory valueFactory,
ReferenceTracingValueFactory tracingValueFactory)
Creates a new ParameterEscapeMarker.
|
| Modifier and Type | Method and Description |
|---|---|
static long |
getEscapingParameters(Method method)
Returns which parameters are escaping from the given method.
|
static long |
getModifiedParameters(Method method)
Returns which parameters are modified by the given method.
|
static long |
getReturnedParameters(Method method)
Returns which parameters are returned from the given method.
|
static boolean |
isParameterEscaping(Method method,
int parameterIndex)
Returns whether the given parameter is escaping from the given method.
|
static boolean |
isParameterModified(Method method,
int parameterIndex)
Returns whether the given parameter is modified by the given method.
|
static boolean |
isParameterReturned(Method method,
int parameterIndex)
Returns whether the given parameter is returned from the given method.
|
static boolean |
modifiesAnything(Method method)
Returns whether anything may be modified by the given method.
|
static boolean |
returnsExternalValues(Method method)
Returns whether the given method returns external reference values
(not parameter or new instance).
|
static boolean |
returnsNewInstances(Method method)
Returns whether the given method returns new instances (created inside
the method).
|
void |
visitAnyAttribute(Clazz clazz,
Attribute attribute)
Visit any type of attribute.
|
void |
visitAnyConstant(Clazz clazz,
Constant constant) |
void |
visitAnyInstruction(Clazz clazz,
Method method,
CodeAttribute codeAttribute,
int offset,
Instruction instruction)
Visits any type of Instruction.
|
void |
visitAnyMethodrefConstant(Clazz clazz,
RefConstant refConstant)
Visits any type of method RefConstant of the given class.
|
void |
visitClassConstant(Clazz clazz,
ClassConstant classConstant) |
void |
visitCodeAttribute(Clazz clazz,
Method method,
CodeAttribute codeAttribute) |
void |
visitConstantInstruction(Clazz clazz,
Method method,
CodeAttribute codeAttribute,
int offset,
ConstantInstruction constantInstruction) |
void |
visitFieldrefConstant(Clazz clazz,
FieldrefConstant fieldrefConstant) |
void |
visitInvokeDynamicConstant(Clazz clazz,
InvokeDynamicConstant invokeDynamicConstant) |
void |
visitParameter(Clazz clazz,
Member member,
int parameterIndex,
int parameterCount,
int parameterOffset,
int parameterSize,
String parameterType,
Clazz referencedClass)
Visits the given parameter.
|
void |
visitProgramMethod(ProgramClass programClass,
ProgramMethod programMethod) |
void |
visitSimpleInstruction(Clazz clazz,
Method method,
CodeAttribute codeAttribute,
int offset,
SimpleInstruction simpleInstruction) |
void |
visitStringConstant(Clazz clazz,
StringConstant stringConstant) |
visitAnnotation, visitAnnotation, visitAnnotation, visitAnnotation, visitAnnotation, visitAnnotation, visitAnnotationDefaultAttribute, visitAnnotationElementValue, visitAnyAnnotationsAttribute, visitAnyClass, visitAnyElementValue, visitAnyMember, visitAnyParameterAnnotationsAttribute, visitAnyPrimitiveArrayConstant, visitAnyPrimitiveArrayConstantElement, visitAnyRefConstant, visitAnyStackMapFrame, visitAnySwitchInstruction, visitAnyTargetInfo, visitAnyTypeAnnotationsAttribute, visitAnyVerificationType, visitArrayElementValue, visitBooleanArrayConstant, visitBooleanArrayConstantElement, visitBootstrapMethodsAttribute, visitBranchInstruction, visitByteArrayConstant, visitByteArrayConstantElement, visitCatchTargetInfo, visitCharArrayConstant, visitCharArrayConstantElement, visitClassElementValue, visitConstantElementValue, visitConstantValueAttribute, visitDeprecatedAttribute, visitDeprecatedAttribute, visitDeprecatedAttribute, visitDeprecatedAttribute, visitDoubleArrayConstant, visitDoubleArrayConstantElement, visitDoubleConstant, visitDoubleType, visitDynamicConstant, visitEmptyTargetInfo, visitEmptyTargetInfo, visitEmptyTargetInfo, visitEnclosingMethodAttribute, visitEnumConstantElementValue, visitExceptionsAttribute, visitFloatArrayConstant, visitFloatArrayConstantElement, visitFloatConstant, visitFloatType, visitFormalParameterTargetInfo, visitFullFrame, visitInnerClassesAttribute, visitIntArrayConstant, visitIntArrayConstantElement, visitIntegerConstant, visitIntegerType, visitInterfaceMethodrefConstant, visitLessZeroFrame, visitLibraryClass, visitLibraryField, visitLibraryMember, visitLibraryMethod, visitLineNumberTableAttribute, visitLocalVariableTableAttribute, visitLocalVariableTargetInfo, visitLocalVariableTypeTableAttribute, visitLongArrayConstant, visitLongArrayConstantElement, visitLongConstant, visitLongType, visitLookUpSwitchInstruction, visitMethodHandleConstant, visitMethodParametersAttribute, visitMethodrefConstant, visitMethodTypeConstant, visitModuleAttribute, visitModuleConstant, visitModuleMainClassAttribute, visitModulePackagesAttribute, visitMoreZeroFrame, visitNameAndTypeConstant, visitNestHostAttribute, visitNestMembersAttribute, visitNullType, visitObjectType, visitOffsetTargetInfo, visitPackageConstant, visitPrimitiveArrayConstant, visitProgramClass, visitProgramField, visitProgramMember, visitRuntimeInvisibleAnnotationsAttribute, visitRuntimeInvisibleAnnotationsAttribute, visitRuntimeInvisibleAnnotationsAttribute, visitRuntimeInvisibleAnnotationsAttribute, visitRuntimeInvisibleParameterAnnotationsAttribute, visitRuntimeInvisibleTypeAnnotationsAttribute, visitRuntimeInvisibleTypeAnnotationsAttribute, visitRuntimeInvisibleTypeAnnotationsAttribute, visitRuntimeInvisibleTypeAnnotationsAttribute, visitRuntimeInvisibleTypeAnnotationsAttribute, visitRuntimeVisibleAnnotationsAttribute, visitRuntimeVisibleAnnotationsAttribute, visitRuntimeVisibleAnnotationsAttribute, visitRuntimeVisibleAnnotationsAttribute, visitRuntimeVisibleParameterAnnotationsAttribute, visitRuntimeVisibleTypeAnnotationsAttribute, visitRuntimeVisibleTypeAnnotationsAttribute, visitRuntimeVisibleTypeAnnotationsAttribute, visitRuntimeVisibleTypeAnnotationsAttribute, visitRuntimeVisibleTypeAnnotationsAttribute, visitSameOneFrame, visitSameZeroFrame, visitShortArrayConstant, visitShortArrayConstantElement, visitSignatureAttribute, visitSignatureAttribute, visitSignatureAttribute, visitSignatureAttribute, visitSourceDirAttribute, visitSourceFileAttribute, visitStackDoubleType, visitStackFloatType, visitStackIntegerType, visitStackLongType, visitStackMapAttribute, visitStackMapTableAttribute, visitStackNullType, visitStackObjectType, visitStackTopType, visitStackUninitializedThisType, visitStackUninitializedType, visitSuperTypeTargetInfo, visitSyntheticAttribute, visitSyntheticAttribute, visitSyntheticAttribute, visitSyntheticAttribute, visitTableSwitchInstruction, visitThrowsTargetInfo, visitTopType, visitTypeAnnotation, visitTypeAnnotation, visitTypeAnnotation, visitTypeAnnotation, visitTypeAnnotation, visitTypeAnnotation, visitTypeArgumentTargetInfo, visitTypeParameterBoundTargetInfo, visitTypeParameterBoundTargetInfo, visitTypeParameterBoundTargetInfo, visitTypeParameterBoundTargetInfo, visitTypeParameterTargetInfo, visitTypeParameterTargetInfo, visitTypePathInfo, visitTypePathInfo, visitTypePathInfo, visitTypePathInfo, visitTypePathInfo, visitUninitializedThisType, visitUninitializedType, visitUnknownAttribute, visitUtf8Constant, visitVariableInstruction, visitVariablesDoubleType, visitVariablesFloatType, visitVariablesIntegerType, visitVariablesLongType, visitVariablesNullType, visitVariablesObjectType, visitVariablesTopType, visitVariablesUninitializedThisType, visitVariablesUninitializedTypeclone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitvisitLibraryField, visitLibraryMethod, visitProgramFieldvisitAnnotationDefaultAttribute, visitBootstrapMethodsAttribute, visitConstantValueAttribute, visitDeprecatedAttribute, visitDeprecatedAttribute, visitDeprecatedAttribute, visitEnclosingMethodAttribute, visitExceptionsAttribute, visitInnerClassesAttribute, visitLineNumberTableAttribute, visitLocalVariableTableAttribute, visitLocalVariableTypeTableAttribute, visitMethodParametersAttribute, visitModuleAttribute, visitModuleMainClassAttribute, visitModulePackagesAttribute, visitNestHostAttribute, visitNestMembersAttribute, visitRuntimeInvisibleAnnotationsAttribute, visitRuntimeInvisibleAnnotationsAttribute, visitRuntimeInvisibleAnnotationsAttribute, visitRuntimeInvisibleParameterAnnotationsAttribute, visitRuntimeInvisibleTypeAnnotationsAttribute, visitRuntimeInvisibleTypeAnnotationsAttribute, visitRuntimeInvisibleTypeAnnotationsAttribute, visitRuntimeInvisibleTypeAnnotationsAttribute, visitRuntimeVisibleAnnotationsAttribute, visitRuntimeVisibleAnnotationsAttribute, visitRuntimeVisibleAnnotationsAttribute, visitRuntimeVisibleParameterAnnotationsAttribute, visitRuntimeVisibleTypeAnnotationsAttribute, visitRuntimeVisibleTypeAnnotationsAttribute, visitRuntimeVisibleTypeAnnotationsAttribute, visitRuntimeVisibleTypeAnnotationsAttribute, visitSignatureAttribute, visitSignatureAttribute, visitSignatureAttribute, visitSourceDirAttribute, visitSourceFileAttribute, visitStackMapAttribute, visitStackMapTableAttribute, visitSyntheticAttribute, visitSyntheticAttribute, visitSyntheticAttribute, visitUnknownAttributevisitBranchInstruction, visitLookUpSwitchInstruction, visitTableSwitchInstruction, visitVariableInstructionvisitDoubleConstant, visitDynamicConstant, visitFloatConstant, visitIntegerConstant, visitInterfaceMethodrefConstant, visitLongConstant, visitMethodHandleConstant, visitMethodrefConstant, visitMethodTypeConstant, visitModuleConstant, visitNameAndTypeConstant, visitPackageConstant, visitPrimitiveArrayConstant, visitUtf8Constantpublic ParameterEscapeMarker(MutableBoolean repeatTrigger)
public ParameterEscapeMarker(MutableBoolean repeatTrigger, ValueFactory valueFactory)
public ParameterEscapeMarker(MutableBoolean repeatTrigger, ValueFactory valueFactory, ReferenceTracingValueFactory tracingValueFactory)
public ParameterEscapeMarker(MutableBoolean repeatTrigger, PartialEvaluator partialEvaluator, boolean runPartialEvaluator)
public ParameterEscapeMarker(MutableBoolean repeatTrigger, PartialEvaluator partialEvaluator, boolean runPartialEvaluator, ReferenceEscapeChecker referenceEscapeChecker, boolean runReferenceEscapeChecker)
public void visitProgramMethod(ProgramClass programClass, ProgramMethod programMethod)
visitProgramMethod in interface MemberVisitorvisitProgramMethod in class SimplifiedVisitorpublic void visitAnyAttribute(Clazz clazz, Attribute attribute)
SimplifiedVisitorvisitAnyAttribute in class SimplifiedVisitorpublic void visitCodeAttribute(Clazz clazz, Method method, CodeAttribute codeAttribute)
visitCodeAttribute in interface AttributeVisitorvisitCodeAttribute in class SimplifiedVisitorpublic void visitAnyInstruction(Clazz clazz, Method method, CodeAttribute codeAttribute, int offset, Instruction instruction)
SimplifiedVisitorvisitAnyInstruction in class SimplifiedVisitorpublic void visitSimpleInstruction(Clazz clazz, Method method, CodeAttribute codeAttribute, int offset, SimpleInstruction simpleInstruction)
visitSimpleInstruction in interface InstructionVisitorvisitSimpleInstruction in class SimplifiedVisitorpublic void visitConstantInstruction(Clazz clazz, Method method, CodeAttribute codeAttribute, int offset, ConstantInstruction constantInstruction)
visitConstantInstruction in interface InstructionVisitorvisitConstantInstruction in class SimplifiedVisitorpublic void visitAnyConstant(Clazz clazz, Constant constant)
visitAnyConstant in class SimplifiedVisitorpublic void visitStringConstant(Clazz clazz, StringConstant stringConstant)
visitStringConstant in interface ConstantVisitorvisitStringConstant in class SimplifiedVisitorpublic void visitClassConstant(Clazz clazz, ClassConstant classConstant)
visitClassConstant in interface ConstantVisitorvisitClassConstant in class SimplifiedVisitorpublic void visitInvokeDynamicConstant(Clazz clazz, InvokeDynamicConstant invokeDynamicConstant)
visitInvokeDynamicConstant in interface ConstantVisitorvisitInvokeDynamicConstant in class SimplifiedVisitorpublic void visitFieldrefConstant(Clazz clazz, FieldrefConstant fieldrefConstant)
visitFieldrefConstant in interface ConstantVisitorvisitFieldrefConstant in class SimplifiedVisitorpublic void visitAnyMethodrefConstant(Clazz clazz, RefConstant refConstant)
SimplifiedVisitorvisitAnyMethodrefConstant in class SimplifiedVisitorpublic void visitParameter(Clazz clazz, Member member, int parameterIndex, int parameterCount, int parameterOffset, int parameterSize, String parameterType, Clazz referencedClass)
ParameterVisitorvisitParameter in interface ParameterVisitorclazz - the class of the method.member - the field or method of the parameter.parameterIndex - the index of the parameter.parameterCount - the total number of parameters.parameterOffset - the offset of the parameter, accounting for
longs and doubles taking up two entries.parameterSize - the total size of the parameters, accounting for
longs and doubles taking up two entries.parameterType - the parameter type.referencedClass - the class contained in the parameter type, if any.public static boolean isParameterEscaping(Method method, int parameterIndex)
public static long getEscapingParameters(Method method)
public static boolean isParameterReturned(Method method, int parameterIndex)
public static long getReturnedParameters(Method method)
public static boolean returnsNewInstances(Method method)
public static boolean returnsExternalValues(Method method)
public static boolean isParameterModified(Method method, int parameterIndex)
public static long getModifiedParameters(Method method)
public static boolean modifiesAnything(Method method)
Copyright © 2019. All rights reserved.