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
protected
def
stopAtStatic
: Boolean
protected
def
variance_=
(
x$1:
Int
)
: Unit