case class DeltaStore[Addr, Abs](content: Map[Addr, Abs], d: Map[Addr, Abs])(implicit evidence$7: Address[Addr], evidence$8: JoinLattice[Abs]) extends Store[Addr, Abs] with Product with Serializable
A store that supports store deltas. Many operations are not implemented because they are not needed.
- Alphabetic
- By Inheritance
- DeltaStore
- Serializable
- Serializable
- Product
- Equals
- Store
- AnyRef
- Any
- by any2stringadd
- by StringFormat
- by Ensuring
- by ArrowAssoc
- Hide All
- Show All
- Public
- All
Instance Constructors
- new DeltaStore()(implicit arg0: Address[Addr], arg1: JoinLattice[Abs])
- new DeltaStore(content: Map[Addr, Abs], d: Map[Addr, Abs])(implicit arg0: Address[Addr], arg1: JoinLattice[Abs])
Value Members
-
def
addDelta(delta: Map[Addr, Abs]): DeltaStore[Addr, Abs]
Add a delta to the store.
Add a delta to the store. This clears the current delta
- Definition Classes
- DeltaStore → Store
-
def
cardinalities(withPrimitives: Boolean = false): Map[Addr, Cardinality]
Returns the cardinality of each lattice element of this store
Returns the cardinality of each lattice element of this store
- Definition Classes
- Store
- val content: Map[Addr, Abs]
- val d: Map[Addr, Abs]
-
def
delta: Some[Map[Addr, Abs]]
Returns a delta of the changes made on this store.
Returns a delta of the changes made on this store. None if the store doesn't support store deltas
- Definition Classes
- DeltaStore → Store
-
def
diff(that: Store[Addr, Abs]): Nothing
Returns a store containing items that differ between the two stores
Returns a store containing items that differ between the two stores
- Definition Classes
- DeltaStore → Store
-
def
extend(a: Addr, v: Abs): Store[Addr, Abs]
Add a new entry in the store
Add a new entry in the store
- Definition Classes
- DeltaStore → Store
-
def
forall(p: ((Addr, Abs)) ⇒ Boolean): Boolean
Checks if a predicate is true for all elements of the store
Checks if a predicate is true for all elements of the store
- Definition Classes
- DeltaStore → Store
-
def
join(that: Store[Addr, Abs]): Store[Addr, Abs]
Joins two stores together
Joins two stores together
- Definition Classes
- DeltaStore → Store
-
def
keys: Iterable[Addr]
Gets all the keys of the store
Gets all the keys of the store
- Definition Classes
- DeltaStore → Store
-
def
lookup(a: Addr): Option[Abs]
Looks up a value in the store
Looks up a value in the store
- Definition Classes
- DeltaStore → Store
-
def
lookupBot(a: Addr): Abs
Looks up a value in the store, or return bottom if it's not there
Looks up a value in the store, or return bottom if it's not there
- Definition Classes
- DeltaStore → Store
-
def
lookupMF(a: Addr): MayFail[Abs]
- Definition Classes
- Store
-
def
subsumes(that: Store[Addr, Abs]): Nothing
Checks whether this store subsumes another store
Checks whether this store subsumes another store
- Definition Classes
- DeltaStore → Store
-
def
toString(): String
- Definition Classes
- DeltaStore → AnyRef → Any
-
def
update(a: Addr, v: Abs): Store[Addr, Abs]
Update an entry in the store
Update an entry in the store
- Definition Classes
- DeltaStore → Store
-
def
updateOrExtend(a: Addr, v: Abs): Store[Addr, Abs]
Tries to update an address if it's already mapped into the store.
Tries to update an address if it's already mapped into the store. Otherwise, extend the store
- Definition Classes
- DeltaStore → Store