AsSeenFromMap

class AsSeenFromMap(pre: Type, cls: Symbol)(using x$3: Context) extends ApproximatingTypeMap

The TypeMap handling the asSeenFrom

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

Value members

Concrete methods

def apply(tp: Type): Type
override def reapply(tp: Type): Type
Definition Classes

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 def derivedAlias(tp: AliasingBounds, alias: Type): Type
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 def derivedClassInfo(tp: ClassInfo, pre: Type): Type
Definition Classes
Inherited from:
ApproximatingTypeMap
protected def derivedExprType(tp: ExprType, restpe: Type): Type
Inherited from:
TypeMap
protected def derivedJavaArrayType(tp: JavaArrayType, elemtp: Type): Type
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 def derivedSelect(tp: NamedType, pre: Type): Type

Derived selection.

Derived selection.

Definition Classes
Inherited from:
ApproximatingTypeMap
override protected def derivedSkolemType(tp: SkolemType, info: Type): Type
Definition Classes
Inherited from:
ApproximatingTypeMap
override protected def derivedSuperType(tp: SuperType, thistp: Type, supertp: Type): Type
Definition Classes
Inherited from:
ApproximatingTypeMap
override protected def derivedTypeBounds(tp: TypeBounds, lo: Type, hi: Type): Type
Definition Classes
Inherited from:
ApproximatingTypeMap
override protected def derivedWildcardType(tp: WildcardType, bounds: Type): WildcardType
Definition Classes
Inherited from:
ApproximatingTypeMap
protected def emptyRange: Type
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
def isRange(tp: Type): Boolean
Inherited from:
TypeMap
protected def isStaticPrefix(pre: Type)(using Context): Boolean

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 def mapClassInfo(tp: ClassInfo): Type

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
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 def mapOverLambda(tp: LambdaType): Type
Inherited from:
TypeMap
protected def range(lo: Type, hi: Type): Type
Inherited from:
ApproximatingTypeMap
protected def rangeToBounds(tp: Type): Type
Inherited from:
ApproximatingTypeMap
protected def stopAt: StopAt
Inherited from:
VariantTraversal
Inherited from:
VariantTraversal
override def toString(): String

Returns a string representation of the object.

Returns a string representation of the object.

The default representation is platform dependent.

Returns:

a string representation of the object.

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

Concrete fields

Set to true when the result of apply was approximated to avoid an unstable prefix.

Set to true when the result of apply was approximated to avoid an unstable prefix.

Implicits

Inherited implicits

implicit protected val mapCtx: Context
Inherited from:
TypeMap