Class JvmStackLocation
- java.lang.Object
-
- proguard.analysis.cpa.jvm.witness.JvmMemoryLocation
-
- proguard.analysis.cpa.jvm.witness.JvmStackLocation
-
public class JvmStackLocation extends JvmMemoryLocation
TheJvmStackLocation
is a memory location at the operand stack. Indexing starts from the top of the stack.
-
-
Field Summary
Fields Modifier and Type Field Description int
index
-
Constructor Summary
Constructors Constructor Description JvmStackLocation(int index)
Create a stack location.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description boolean
equals(java.lang.Object obj)
<T extends LatticeAbstractState<T>>
TextractValueOrDefault(JvmAbstractState<T> jvmState, T defaultValue)
Given a JVM state, extract its content in the position represented by thisJvmMemoryLocation
.int
getIndex()
Returns the stack index from the top.int
hashCode()
java.lang.String
toString()
-
-
-
Method Detail
-
extractValueOrDefault
public <T extends LatticeAbstractState<T>> T extractValueOrDefault(JvmAbstractState<T> jvmState, T defaultValue)
Description copied from class:JvmMemoryLocation
Given a JVM state, extract its content in the position represented by thisJvmMemoryLocation
.- Specified by:
extractValueOrDefault
in classJvmMemoryLocation
- Type Parameters:
T
- The type of the states contained in the JVM state. e.g., for taint analysis this would be aSetAbstractState
containing 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
public boolean equals(java.lang.Object obj)
- Specified by:
equals
in classJvmMemoryLocation
-
hashCode
public int hashCode()
- Specified by:
hashCode
in classJvmMemoryLocation
-
toString
public java.lang.String toString()
- Specified by:
toString
in classJvmMemoryLocation
-
-