abstract class TypeMap
extends Function1

Constructors

TypeMap ( )
TypeMap ( implicit ctx: Context )

Members

protected implicit val ctx : Context
protected var variance : Int
def andThen ( f: Type => Type ) : TypeMap
def apply ( tp: Type ) : Type
protected def derivedAndOrType ( tp: AndOrType , tp1: Type , tp2: Type ) : Type
protected def derivedAnnotatedType ( tp: AnnotatedType , underlying: Type , annot: Annotation ) : Type
protected def derivedAppliedType ( tp: HKApply , tycon: Type , args: List [ Type ] ) : Type
protected def derivedClassInfo ( tp: ClassInfo , pre: Type ) : Type
protected def derivedExprType ( tp: ExprType , restpe: Type ) : Type
protected def derivedJavaArrayType ( tp: JavaArrayType , elemtp: Type ) : Type
protected def derivedLambdaType ( tp: LambdaType ) ( formals: List [ PInfo ] , restpe: Type ) : Type
protected def derivedRecType ( tp: RecType , parent: Type ) : Type
protected def derivedRefinedType ( tp: RefinedType , parent: Type , info: Type ) : Type
protected def derivedSelect ( tp: NamedType , pre: Type ) : Type
protected def derivedSuperType ( tp: SuperType , thistp: Type , supertp: Type ) : Type
protected def derivedTypeAlias ( tp: TypeAlias , alias: Type ) : Type
protected def derivedTypeBounds ( tp: TypeBounds , lo: Type , hi: Type ) : Type
protected def derivedWildcardType ( tp: WildcardType , bounds: Type ) : Type
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.

def mapOver ( tp: Type ) : Type

Map this function over given type

Map this function over given type

def mapOver ( syms: List [ Symbol ] ) : List [ Symbol ]
def mapOver ( scope: Scope ) : Scope
def mapOver ( annot: Annotation ) : Annotation
def mapOver ( tree: Tree ) : Tree
protected def stopAtStatic : Boolean
private def treeTypeMap : TreeTypeMap
protected def variance_= ( x$1: Int ) : Unit