Class JvmMemoryLocation
java.lang.Object
proguard.analysis.cpa.jvm.witness.JvmMemoryLocation
- Direct Known Subclasses:
JvmLocalVariableLocation,JvmStackLocation,JvmStaticFieldLocation
A
JvmMemoryLocation points at a specific location in a certain state of the Jvm. For
example a JvmStackLocation with index 0 indicates the top of the stack.-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionabstract booleanabstract <T extends AbstractState<T>>
TextractValueOrDefault(JvmAbstractState<T> jvmState, T defaultValue) Given a JVM state, extract its content in the position represented by thisJvmMemoryLocation.abstract inthashCode()abstract StringtoString()
-
Constructor Details
-
JvmMemoryLocation
public JvmMemoryLocation()
-
-
Method Details
-
extractValueOrDefault
public abstract <T extends AbstractState<T>> T extractValueOrDefault(JvmAbstractState<T> jvmState, T defaultValue) Given a JVM state, extract its content in the position represented by thisJvmMemoryLocation.- Type Parameters:
T- The type of the states contained in the JVM state. e.g., for taint analysis this would be aSetAbstractStatecontaining the taints and for value analysis aValueAbstractState.- Parameters:
jvmState- The state from which the value is extracted.defaultValue- The value returned if it's not possible to extract the value.- Returns:
- The value from the JVM abstract state for the memory location represented by this object. Or default value if not possible.
-
equals
-
hashCode
public abstract int hashCode() -
toString
-