Packages

abstract class Store[Addr, Abs] extends MemoHashCode

Linear Supertypes
MemoHashCode, Product, Equals, AnyRef, Any
Known Subclasses
Ordering
  1. Alphabetic
  2. By Inheritance
Inherited
  1. Store
  2. MemoHashCode
  3. Product
  4. Equals
  5. AnyRef
  6. 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 Store()(implicit arg0: Address[Addr], arg1: JoinLattice[Abs])

Abstract Value Members

  1. abstract def canEqual(that: Any): Boolean
    Definition Classes
    Equals
  2. abstract def diff(that: Store[Addr, Abs]): Store[Addr, Abs]

    Returns a store containing items that differ between the two stores

  3. abstract def extend(a: Addr, v: Abs): Store[Addr, Abs]

    Add a new entry in the store

  4. abstract def forall(p: ((Addr, Abs)) ⇒ Boolean): Boolean

    Checks if a predicate is true for all elements of the store

  5. abstract def join(that: Store[Addr, Abs]): Store[Addr, Abs]

    Joins two stores together

  6. abstract def keys: Iterable[Addr]

    Gets all the keys of the store

  7. abstract def lookup(a: Addr): Option[Abs]

    Looks up a value in the store

  8. abstract def lookupBot(a: Addr): Abs

    Looks up a value in the store, or return bottom if it's not there

  9. abstract def productArity: Int
    Definition Classes
    Product
  10. abstract def productElement(n: Int): Any
    Definition Classes
    Product
  11. abstract def subsumes(that: Store[Addr, Abs]): Boolean

    Checks whether this store subsumes another store

  12. abstract def update(a: Addr, v: Abs): Store[Addr, Abs]

    Update an entry in the store

  13. abstract 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

Concrete 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

  2. def cardinalities(withPrimitives: Boolean = false): Map[Addr, Cardinality]

    Returns the cardinality of each lattice element of this store

  3. 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

  4. def hashCode(): Int

    Memoized default hash code

    Memoized default hash code

    Definition Classes
    MemoHashCode → AnyRef → Any
  5. def lookupMF(a: Addr): MayFail[Abs]
  6. def productIterator: Iterator[Any]
    Definition Classes
    Product
  7. def productPrefix: String
    Definition Classes
    Product