abstract class ApproximatingTypeMap
extends TypeMap

A type map that approximates NoTypes by upper or lower known bounds depending on variance.

if variance > 0 : approximate by upper bound variance < 0 : approximate by lower bound variance = 0 : propagate NoType to next outer level

Constructors

ApproximatingTypeMap ( )
ApproximatingTypeMap ( implicit ctx: Context )

Members

private implicit val ctx : Context
def approx ( lo: Type , hi: Type ) : Type
def approx$default$1 : TypeRef
def approx$default$2 : TypeRef
protected override def derivedAndOrType ( tp: AndOrType , tp1: Type , tp2: Type ) : Type
protected override def derivedAnnotatedType ( tp: AnnotatedType , underlying: Type , annot: Annotation ) : Type
protected override def derivedAppliedType ( tp: HKApply , tycon: Type , args: List [ Type ] ) : Type
protected override def derivedClassInfo ( tp: ClassInfo , pre: Type ) : Type
protected override def derivedRecType ( tp: RecType , parent: Type ) : Type
protected override def derivedRefinedType ( tp: RefinedType , parent: Type , info: Type ) : Type
protected override def derivedSelect ( tp: NamedType , pre: Type ) : Type
protected override def derivedSuperType ( tp: SuperType , thistp: Type , supertp: Type ) : Type
protected override def derivedTypeAlias ( tp: TypeAlias , alias: Type ) : Type
protected override def derivedTypeBounds ( tp: TypeBounds , lo: Type , hi: Type ) : Type
protected override def derivedWildcardType ( tp: WildcardType , bounds: Type ) : Type