ConstraintLens

abstract class ConstraintLens[T <: AnyRef]

A lens for updating a single entry array in one of the three constraint maps

class Object
trait Matchable
class Any

Value members

Abstract methods

def entries(c: OrderingConstraint, poly: TypeLambda): Array[T] | Null
def initial: T

Concrete methods

def apply(c: OrderingConstraint, poly: TypeLambda, idx: Int): T
def map(prev: OrderingConstraint, current: OrderingConstraint, poly: TypeLambda, idx: Int, f: T => T)(using Context): OrderingConstraint
def map(prev: OrderingConstraint, current: OrderingConstraint, param: TypeParamRef, f: T => T)(using Context): OrderingConstraint
def update(prev: OrderingConstraint, current: OrderingConstraint, poly: TypeLambda, idx: Int, entry: T)(using Context): OrderingConstraint

The current constraint but with the entry for param updated to entry. current is used linearly. If it is different from prev it is known to be dead after the call. Hence it is OK to update destructively parts of current which are not shared by prev.

The current constraint but with the entry for param updated to entry. current is used linearly. If it is different from prev it is known to be dead after the call. Hence it is OK to update destructively parts of current which are not shared by prev.