Class

it.unich.scalafix.finite

SimpleGraphEquationSystem

Related Doc: package finite

Permalink

case class SimpleGraphEquationSystem[U, V, E](unknowns: Iterable[U], inputUnknowns: Set[U], edgeAction: EdgeAction[U, V, E], sources: (E) ⇒ Iterable[U], target: (E) ⇒ U, outgoing: (U) ⇒ Iterable[E], ingoing: (U) ⇒ Iterable[E], initial: InputAssignment[U, V], tracer: Option[EquationSystemTracer[U, V]] = None)(implicit dom: Domain[V]) extends EquationSystemBase[U, V] with GraphEquationSystem[U, V, E] with Product with Serializable

A simple standard implementation of FiniteEquationSystem. All fields must be provided explicitly by the user with the exception of body, bodyWithDependencies and infl which are computed by the graph.

Linear Supertypes
Serializable, Serializable, Product, Equals, GraphEquationSystem[U, V, E], FiniteEquationSystem[U, V], EquationSystemBase[U, V], EquationSystem[U, V], AnyRef, Any
Ordering
  1. Alphabetic
  2. By Inheritance
Inherited
  1. SimpleGraphEquationSystem
  2. Serializable
  3. Serializable
  4. Product
  5. Equals
  6. GraphEquationSystem
  7. FiniteEquationSystem
  8. EquationSystemBase
  9. EquationSystem
  10. AnyRef
  11. Any
  1. Hide All
  2. Show All
Visibility
  1. Public
  2. All

Instance Constructors

  1. new SimpleGraphEquationSystem(unknowns: Iterable[U], inputUnknowns: Set[U], edgeAction: EdgeAction[U, V, E], sources: (E) ⇒ Iterable[U], target: (E) ⇒ U, outgoing: (U) ⇒ Iterable[E], ingoing: (U) ⇒ Iterable[E], initial: InputAssignment[U, V], tracer: Option[EquationSystemTracer[U, V]] = None)(implicit dom: Domain[V])

    Permalink

Value Members

  1. final def !=(arg0: Any): Boolean

    Permalink
    Definition Classes
    AnyRef → Any
  2. final def ##(): Int

    Permalink
    Definition Classes
    AnyRef → Any
  3. final def ==(arg0: Any): Boolean

    Permalink
    Definition Classes
    AnyRef → Any
  4. final def asInstanceOf[T0]: T0

    Permalink
    Definition Classes
    Any
  5. val body: Body[U, V]

    Permalink

    The body of the equation system, i.e., a map Assignment[U,V] => Assignment[U,V].

    The body of the equation system, i.e., a map Assignment[U,V] => Assignment[U,V].

    Definition Classes
    SimpleGraphEquationSystemEquationSystem
  6. def bodyWithBaseAssignment(init: PartialFunction[U, V], comb: (V, V) ⇒ V): Body[U, V]

    Permalink

    Returns a new body, in which the init assignment is combined with the result of body evaluation trough the use of the comb combiner.

    Returns a new body, in which the init assignment is combined with the result of body evaluation trough the use of the comb combiner.

    Attributes
    protected
    Definition Classes
    EquationSystemBase
  7. def bodyWithBoxAssignment(boxes: BoxAssignment[U, V]): Body[U, V]

    Permalink

    Returns a new body with boxes added to the evaluation.

    Returns a new body with boxes added to the evaluation. If tracer is defined, the boxEvaluation callback is invoked during evaluation.

    Attributes
    protected
    Definition Classes
    EquationSystemBase
  8. val bodyWithDependencies: BodyWithDependencies[U, V]

    Permalink

    Implement the bodyWithDependencies method by instrumenting the source assignment in order to record access to unknowns.

    Implement the bodyWithDependencies method by instrumenting the source assignment in order to record access to unknowns.

    Definition Classes
    SimpleGraphEquationSystemEquationSystemBaseEquationSystem
  9. def bodyWithTracer(t: EquationSystemTracer[U, V]): Body[U, V]

    Permalink

    Returns a new body which calls the current tracer before and after evaluation.

    Returns a new body which calls the current tracer before and after evaluation.

    t

    the tracer to be called by the new body

    Attributes
    protected
    Definition Classes
    EquationSystemBase
  10. def clone(): AnyRef

    Permalink
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  11. implicit val dom: Domain[V]

    Permalink

    The domain type-class for the type V.

    The domain type-class for the type V.

    Definition Classes
    SimpleGraphEquationSystemGraphEquationSystem
  12. val edgeAction: EdgeAction[U, V, E]

    Permalink

    A function which, given an assignment and an edge, returns the output value of the edge.

    A function which, given an assignment and an edge, returns the output value of the edge.

    Definition Classes
    SimpleGraphEquationSystemGraphEquationSystem
  13. final def eq(arg0: AnyRef): Boolean

    Permalink
    Definition Classes
    AnyRef
  14. def finalize(): Unit

    Permalink
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( classOf[java.lang.Throwable] )
  15. final def getClass(): Class[_]

    Permalink
    Definition Classes
    AnyRef → Any
  16. val infl: Relation[U]

    Permalink

    The static relation between an unknown x and the unknowns y it influences.

    The static relation between an unknown x and the unknowns y it influences. If infl(x) does not contain y, it means that eqs(rho)(y) == eqs(rho')(y), when rho' = rho[x / eqs(rho)(x)].

    Definition Classes
    SimpleGraphEquationSystemFiniteEquationSystem
  17. val ingoing: (U) ⇒ Iterable[E]

    Permalink

    Maps each unknown to the collection of edges arriving on it.

    Maps each unknown to the collection of edges arriving on it.

    Definition Classes
    SimpleGraphEquationSystemGraphEquationSystem
  18. val initial: InputAssignment[U, V]

    Permalink

    An initial value for starting the analyzer

    An initial value for starting the analyzer

    Definition Classes
    SimpleGraphEquationSystemEquationSystem
  19. val inputUnknowns: Set[U]

    Permalink

    The unknowns which may be considered the input to this equation system.

    The unknowns which may be considered the input to this equation system.

    Definition Classes
    SimpleGraphEquationSystemFiniteEquationSystemEquationSystem
  20. final def isInstanceOf[T0]: Boolean

    Permalink
    Definition Classes
    Any
  21. final def ne(arg0: AnyRef): Boolean

    Permalink
    Definition Classes
    AnyRef
  22. final def notify(): Unit

    Permalink
    Definition Classes
    AnyRef
  23. final def notifyAll(): Unit

    Permalink
    Definition Classes
    AnyRef
  24. val outgoing: (U) ⇒ Iterable[E]

    Permalink

    Maps each unknown to the collection of edges departing from it.

    Maps each unknown to the collection of edges departing from it.

    Definition Classes
    SimpleGraphEquationSystemGraphEquationSystem
  25. val sources: (E) ⇒ Iterable[U]

    Permalink

    Maps each edge to its source unknowns.

    Maps each edge to its source unknowns.

    Definition Classes
    SimpleGraphEquationSystemGraphEquationSystem
  26. final def synchronized[T0](arg0: ⇒ T0): T0

    Permalink
    Definition Classes
    AnyRef
  27. val target: (E) ⇒ U

    Permalink

    Maps each edge to its target unknown.

    Maps each edge to its target unknown.

    Definition Classes
    SimpleGraphEquationSystemGraphEquationSystem
  28. val tracer: Option[EquationSystemTracer[U, V]]

    Permalink

    An optional tracer which should be called during body evaluation.

    An optional tracer which should be called during body evaluation.

    Definition Classes
    SimpleGraphEquationSystemEquationSystemBase
  29. val unknowns: Iterable[U]

    Permalink

    The collection of all unknowns.

    The collection of all unknowns.

    Definition Classes
    SimpleGraphEquationSystemFiniteEquationSystem
  30. final def wait(): Unit

    Permalink
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  31. final def wait(arg0: Long, arg1: Int): Unit

    Permalink
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  32. final def wait(arg0: Long): Unit

    Permalink
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  33. def withBaseAssignment(init: PartialFunction[U, V])(implicit magma: Magma[V]): FiniteEquationSystem[U, V]

    Permalink

    Combine a base assignment with the equation system.

    Combine a base assignment with the equation system. The type V should be endowed with a magma.

    init

    the assignment to add to the equation system

    Definition Classes
    SimpleGraphEquationSystemFiniteEquationSystemEquationSystem
  34. def withBoxes(boxes: BoxAssignment[U, V]): FiniteEquationSystem[U, V]

    Permalink

    Add boxes to the equation system

    Add boxes to the equation system

    boxes

    a box assignment

    Definition Classes
    SimpleGraphEquationSystemFiniteEquationSystemEquationSystem
  35. def withLocalizedBoxes(boxes: BoxAssignment[U, V], ordering: Ordering[U]): GraphEquationSystem[U, V, E]

    Permalink

    Add boxes to the equation system in a localized way.

    Add boxes to the equation system in a localized way.

    boxes

    new boxes to add.

    ordering

    an order on unknown used to decide which edges needs to be widened

    Definition Classes
    SimpleGraphEquationSystemGraphEquationSystem
  36. def withLocalizedWarrowing(widenings: BoxAssignment[U, V], narrowings: BoxAssignment[U, V], ordering: Ordering[U]): FiniteEquationSystem[U, V]

    Permalink

    Add warrowing to the equation system in a localized way.

    Add warrowing to the equation system in a localized way. Localized warrowing requires a different procedure than standard localized widenings. Moreover, it is not entirely clear whether this works as intended or not.

    widenings

    a widening assignment

    narrowings

    a narrowing assignment

    Definition Classes
    SimpleGraphEquationSystemGraphEquationSystem
  37. def withTracer(t: EquationSystemTracer[U, V]): GraphEquationSystem[U, V, E]

    Permalink

    Add a tracer to the equation system.

    Add a tracer to the equation system. The tracer contains call-backs to be invoked during body evaluation.

    t

    the tracer

    Definition Classes
    SimpleGraphEquationSystemGraphEquationSystemFiniteEquationSystemEquationSystem

Inherited from Serializable

Inherited from Serializable

Inherited from Product

Inherited from Equals

Inherited from GraphEquationSystem[U, V, E]

Inherited from FiniteEquationSystem[U, V]

Inherited from EquationSystemBase[U, V]

Inherited from EquationSystem[U, V]

Inherited from AnyRef

Inherited from Any

Ungrouped