it.unich.scalafix.utils

This package contains utility classes used by the rest of ScalaFix.

Type members

Classlikes

trait Domain[A] extends PartialOrdering[A]

A Domain is a partial ordering with the additional contract that equiv(x, y) iff x == y. This is probably not a brilliant idea, since it makes the Domain[V] type-class too much dependent on the equality iin V. We will revaluate this choice in a future version of ScalaFix.

A Domain is a partial ordering with the additional contract that equiv(x, y) iff x == y. This is probably not a brilliant idea, since it makes the Domain[V] type-class too much dependent on the equality iin V. We will revaluate this choice in a future version of ScalaFix.

The trait also introduces a method for computing the upper bound. Not all pairs of elements have an upper bound. Generally, elements in a domain are partitioned in fibers, and an upper bound only exists for elements on the same fiber. This is not modeled by the current definition of Domain.

Companion:
object
Source:
Domain.scala
object Domain
Companion:
class
Source:
Domain.scala
object Relation

Collection of private classes, factories and extension methods for the Relation type

Collection of private classes, factories and extension methods for the Relation type

Source:
Relation.scala

Types

opaque type Relation[-A, +B]

A mathematical relation over types A and B.

A mathematical relation over types A and B.

Note:

Although theoretically it would be more correct to define this type as A \=> Set[B], this would force whoever calls ScalaFix to use sets for providing relations. If the the relation is already available in another format, this would limit data reusal.

Source:
Relation.scala