Class CPFact
java.lang.Object
pascal.taie.analysis.dataflow.fact.MapFact<Var,Value>
pascal.taie.analysis.dataflow.analysis.constprop.CPFact
Represents data facts of constant propagation, which maps variables
to their lattice values.
For better performance, this implementation treats temporary constant variables specially. These variables have two features:
- its value is associated with itself
- its value never change
Note that in this implementation, we use absence to represent UNDEF, i.e., if a CPFact does not contain variable-value mapping of a variable, it represents that the lattice value of the variable is UNDEF; moreover, if we set the lattice value of a variable to UNDEF, it effectively removes the variable from the CPFact.