Packages

  • package root
    Definition Classes
    root
  • case class CountingStore[Addr, Abs](content: Map[Addr, (Count, Abs)])(implicit evidence$11: Address[Addr], evidence$12: JoinLattice[Abs]) extends Store[Addr, Abs] with Product with Serializable
    Definition Classes
    root
c

CountingStore

case class CountingStore[Addr, Abs](content: Map[Addr, (Count, Abs)])(implicit evidence$11: Address[Addr], evidence$12: JoinLattice[Abs]) extends Store[Addr, Abs] with Product with Serializable

Linear Supertypes
Serializable, Serializable, Product, Equals, Store[Addr, Abs], AnyRef, Any
Ordering
  1. Alphabetic
  2. By Inheritance
Inherited
  1. CountingStore
  2. Serializable
  3. Serializable
  4. Product
  5. Equals
  6. Store
  7. AnyRef
  8. Any
Implicitly
  1. by any2stringadd
  2. by StringFormat
  3. by Ensuring
  4. by ArrowAssoc
  1. Hide All
  2. Show All
Visibility
  1. Public
  2. All

Instance Constructors

  1. new CountingStore(content: Map[Addr, (Count, Abs)])(implicit arg0: Address[Addr], arg1: JoinLattice[Abs])

Value Members

  1. def addDelta(delta: Map[Addr, Abs]): Store[Addr, Abs]

    Add a delta to the store.

    Add a delta to the store. This clears the current delta

    Definition Classes
    Store
  2. 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
  3. val content: Map[Addr, (Count, Abs)]
  4. def delta: Option[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
    Store
  5. def diff(that: Store[Addr, Abs]): Store[Addr, Abs]

    Returns a store containing items that differ between the two stores

    Returns a store containing items that differ between the two stores

    Definition Classes
    CountingStoreStore
  6. 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
    CountingStoreStore
  7. 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
    CountingStoreStore
  8. def join(that: Store[Addr, Abs]): Store[Addr, Abs]

    Joins two stores together

    Joins two stores together

    Definition Classes
    CountingStoreStore
  9. def keys: Iterable[Addr]

    Gets all the keys of the store

    Gets all the keys of the store

    Definition Classes
    CountingStoreStore
  10. def lookup(a: Addr): Option[Abs]

    Looks up a value in the store

    Looks up a value in the store

    Definition Classes
    CountingStoreStore
  11. 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
    CountingStoreStore
  12. def lookupMF(a: Addr): MayFail[Abs]
    Definition Classes
    Store
  13. def subsumes(that: Store[Addr, Abs]): Boolean

    Checks whether this store subsumes another store

    Checks whether this store subsumes another store

    Definition Classes
    CountingStoreStore
  14. def toString(): String
    Definition Classes
    CountingStore → AnyRef → Any
  15. def update(a: Addr, v: Abs): Store[Addr, Abs]

    Update an entry in the store

    Update an entry in the store

    Definition Classes
    CountingStoreStore
  16. 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
    CountingStoreStore