SubstApproxMap

final
class SubstApproxMap(from: List[Symbol], to: List[Type])(using x$3: Context) extends ApproximatingTypeMap

An approximating substitution that can handle wildcards in the to list

class TypeMap
trait Type => Type
class Object
trait Matchable
class Any

Value members

Concrete methods

def apply(tp: Type): Type

Inherited methods

def andThen(f: Type => Type): TypeMap
Inherited from
TypeMap
def andThen[A](g: Type => A): Type => A
Inherited from
Function1
inline protected
def atVariance[T](v: Int)(op: => T): T
Inherited from
VariantTraversal
def compose[A](g: A => Type): A => Type
Inherited from
Function1
override protected
Definition Classes
Inherited from
ApproximatingTypeMap
override protected
def derivedAndType(tp: AndType, tp1: Type, tp2: Type): Type
Definition Classes
Inherited from
ApproximatingTypeMap
override protected
def derivedAnnotatedType(tp: AnnotatedType, underlying: Type, annot: Annotation): Type
Definition Classes
Inherited from
ApproximatingTypeMap
override protected
def derivedAppliedType(tp: AppliedType, tycon: Type, args: List[Type]): Type
Definition Classes
Inherited from
ApproximatingTypeMap
override protected
Definition Classes
Inherited from
ApproximatingTypeMap
protected
def derivedExprType(tp: ExprType, restpe: Type): Type
Inherited from
TypeMap
protected
Inherited from
TypeMap
override protected
def derivedLambdaType(tp: LambdaType)(formals: List[PInfo], restpe: Type): Type
Definition Classes
Inherited from
ApproximatingTypeMap
override protected
def derivedMatchType(tp: MatchType, bound: Type, scrutinee: Type, cases: List[Type]): Type
Definition Classes
Inherited from
ApproximatingTypeMap
override protected
def derivedOrType(tp: OrType, tp1: Type, tp2: Type): Type
Definition Classes
Inherited from
ApproximatingTypeMap
override protected
def derivedRecType(tp: RecType, parent: Type): Type
Definition Classes
Inherited from
ApproximatingTypeMap
override protected
def derivedRefinedType(tp: RefinedType, parent: Type, info: Type): Type
Definition Classes
Inherited from
ApproximatingTypeMap
override protected

Derived selection.

Derived selection.

Definition Classes
Inherited from
ApproximatingTypeMap
override protected
Definition Classes
Inherited from
ApproximatingTypeMap
override protected
def derivedSuperType(tp: SuperType, thistp: Type, supertp: Type): Type
Definition Classes
Inherited from
ApproximatingTypeMap
override protected
Definition Classes
Inherited from
ApproximatingTypeMap
override protected
Definition Classes
Inherited from
ApproximatingTypeMap
protected
Inherited from
ApproximatingTypeMap
protected
Inherited from
ApproximatingTypeMap
def expandParam(tp: NamedType, pre: Type): Type

Expand parameter reference corresponding to prefix pre; If the expansion is a wildcard parameter reference, convert its underlying bounds to a range, otherwise return the expansion.

Expand parameter reference corresponding to prefix pre; If the expansion is a wildcard parameter reference, convert its underlying bounds to a range, otherwise return the expansion.

Inherited from
ApproximatingTypeMap

Whether it is currently expanding bounds

Whether it is currently expanding bounds

It is used to avoid following LazyRef in F-Bounds

Inherited from
ApproximatingTypeMap
protected
def isRange(tp: Type): Boolean
Inherited from
ApproximatingTypeMap
protected

Can the prefix of this static reference be omitted if the reference itself can be omitted? Overridden in TypeOps#avoid.

Can the prefix of this static reference be omitted if the reference itself can be omitted? Overridden in TypeOps#avoid.

Inherited from
VariantTraversal
protected
def lower(tp: Type): Type
Inherited from
ApproximatingTypeMap
protected
def mapArgs(args: List[Type], tparams: List[ParamInfo]): List[Type]
Inherited from
TypeMap
protected

Can be overridden. By default, only the prefix is mapped.

Can be overridden. By default, only the prefix is mapped.

Inherited from
TypeMap
def mapOver(tree: Tree): Tree
Inherited from
TypeMap
Inherited from
TypeMap
def mapOver(scope: Scope): Scope
Inherited from
TypeMap
def mapOver(syms: List[Symbol]): List[Symbol]
Inherited from
TypeMap
def mapOver(tp: Type): Type

Map this function over given type

Map this function over given type

Inherited from
TypeMap
protected
Inherited from
TypeMap
protected
def range(lo: Type, hi: Type): Type
Inherited from
ApproximatingTypeMap
protected
Inherited from
ApproximatingTypeMap
protected
def reapply(tp: Type): Type
Inherited from
ApproximatingTypeMap
protected
Inherited from
VariantTraversal
Inherited from
VariantTraversal
override
Definition Classes
Function1 -> Any
Inherited from
Function1
def tryWiden(tp: NamedType, pre: Type): Type

Try to widen a named type to its info relative to given prefix pre, where possible. The possible cases are listed inline in the code.

Try to widen a named type to its info relative to given prefix pre, where possible. The possible cases are listed inline in the code.

Inherited from
ApproximatingTypeMap
protected
def upper(tp: Type): Type
Inherited from
ApproximatingTypeMap

Implicits

Inherited implicits

implicit protected
Inherited from
TypeMap