Class JvmStackLocation
java.lang.Object
proguard.analysis.cpa.jvm.witness.JvmMemoryLocation
proguard.analysis.cpa.jvm.witness.JvmStackLocation
The
JvmStackLocation is a memory location at the operand stack. Indexing starts from the
top of the stack.-
Field Summary
Fields -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionboolean<T extends AbstractState<T>>
TextractValueOrDefault(JvmAbstractState<T> jvmState, T defaultValue) Given a JVM state, extract its content in the position represented by thisJvmMemoryLocation.intgetIndex()Returns the stack index from the top.inthashCode()toString()
-
Field Details
-
index
public final int index
-
-
Constructor Details
-
JvmStackLocation
public JvmStackLocation(int index) Create a stack location.- Parameters:
index- a stack element index from the top
-
-
Method Details
-
extractValueOrDefault
public <T extends AbstractState<T>> T extractValueOrDefault(JvmAbstractState<T> jvmState, T defaultValue) Description copied from class:JvmMemoryLocationGiven a JVM state, extract its content in the position represented by thisJvmMemoryLocation.- Specified by:
extractValueOrDefaultin classJvmMemoryLocation- 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.
-
getIndex
public int getIndex()Returns the stack index from the top. -
equals
- Specified by:
equalsin classJvmMemoryLocation
-
hashCode
public int hashCode()- Specified by:
hashCodein classJvmMemoryLocation
-
toString
- Specified by:
toStringin classJvmMemoryLocation
-