Class JvmMemoryLocation
- java.lang.Object
-
- proguard.analysis.cpa.jvm.witness.JvmMemoryLocation
-
- Direct Known Subclasses:
JvmLocalVariableLocation,JvmStackLocation,JvmStaticFieldLocation
public abstract class JvmMemoryLocation extends java.lang.ObjectAJvmMemoryLocationpoints at a specific location in a certain state of the Jvm. For example aJvmStackLocationwith index 0 indicates the top of the stack.
-
-
Constructor Summary
Constructors Constructor Description JvmMemoryLocation()
-
Method Summary
All Methods Instance Methods Abstract Methods Modifier and Type Method Description abstract booleanequals(java.lang.Object obj)abstract <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 java.lang.StringtoString()
-
-
-
Method Detail
-
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
public abstract boolean equals(java.lang.Object obj)
- Overrides:
equalsin classjava.lang.Object
-
hashCode
public abstract int hashCode()
- Overrides:
hashCodein classjava.lang.Object
-
toString
public abstract java.lang.String toString()
- Overrides:
toStringin classjava.lang.Object
-
-