Class JvmTaintAbstractState
- java.lang.Object
-
- proguard.analysis.cpa.jvm.state.JvmAbstractState<SetAbstractState<JvmTaintSource>>
-
- proguard.analysis.cpa.jvm.domain.taint.JvmTaintAbstractState
-
- All Implemented Interfaces:
LatticeAbstractState<JvmAbstractState<SetAbstractState<JvmTaintSource>>>
,AbstractState
,ProgramLocationDependent<JvmCfaNode,JvmCfaEdge,MethodSignature>
public class JvmTaintAbstractState extends JvmAbstractState<SetAbstractState<JvmTaintSource>>
TheJvmTaintAbstractState
is aJvmAbstractState
with features specific to taint analysis.
-
-
Field Summary
-
Fields inherited from class proguard.analysis.cpa.jvm.state.JvmAbstractState
DEFAULT_FIELD, frame, heap, programLocation, staticFields, topLocation
-
-
Constructor Summary
Constructors Constructor Description JvmTaintAbstractState(JvmCfaNode programLocation, JvmFrameAbstractState<SetAbstractState<JvmTaintSource>> frame, JvmHeapAbstractState<SetAbstractState<JvmTaintSource>> heap, MapAbstractState<java.lang.String,SetAbstractState<JvmTaintSource>> staticFields)
Create a taint JVM abstract state.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description JvmTaintAbstractState
copy()
Creates a copy of itself.JvmTaintAbstractState
join(JvmAbstractState<SetAbstractState<JvmTaintSource>> abstractState)
Computes a join over itself and theabstractState
.-
Methods inherited from class proguard.analysis.cpa.jvm.state.JvmAbstractState
clearOperandStack, equals, getArrayElementOrDefault, getFieldOrDefault, getFieldOrDefault, getFrame, getHeap, getProgramLocation, getStaticFields, getStaticOrDefault, getVariableOrDefault, hashCode, isLessOrEqual, newArray, newObject, newObject, peek, peek, peekOrDefault, peekOrDefault, pop, popOrDefault, push, pushAll, setArrayElement, setField, setField, setProgramLocation, setStatic, setVariable
-
Methods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, toString, wait, wait, wait
-
Methods inherited from interface proguard.analysis.cpa.interfaces.AbstractState
getPrecision, getStateByName
-
Methods inherited from interface proguard.analysis.cpa.defaults.LatticeAbstractState
isLess
-
-
-
-
Constructor Detail
-
JvmTaintAbstractState
public JvmTaintAbstractState(JvmCfaNode programLocation, JvmFrameAbstractState<SetAbstractState<JvmTaintSource>> frame, JvmHeapAbstractState<SetAbstractState<JvmTaintSource>> heap, MapAbstractState<java.lang.String,SetAbstractState<JvmTaintSource>> staticFields)
Create a taint JVM abstract state.- Parameters:
programLocation
- a CFA nodeframe
- a frame abstract stateheap
- a heap abstract statestaticFields
- a static field table
-
-
Method Detail
-
join
public JvmTaintAbstractState join(JvmAbstractState<SetAbstractState<JvmTaintSource>> abstractState)
Description copied from interface:LatticeAbstractState
Computes a join over itself and theabstractState
.- Specified by:
join
in interfaceLatticeAbstractState<JvmAbstractState<SetAbstractState<JvmTaintSource>>>
- Overrides:
join
in classJvmAbstractState<SetAbstractState<JvmTaintSource>>
-
copy
public JvmTaintAbstractState copy()
Description copied from interface:AbstractState
Creates a copy of itself.- Specified by:
copy
in interfaceAbstractState
- Overrides:
copy
in classJvmAbstractState<SetAbstractState<JvmTaintSource>>
-
-