TypeProxy
Type proxies.
Each implementation is expected to redefine the underlying
method.
Type members
Inherited types
Value members
Abstract methods
Concrete methods
The closest supertype of this type.
The closest supertype of this type.
This is the same as underlying
, except that
- instead of a TypeBounds type it returns its upper bound, and
- for applied types it returns the upper bound of the constructor re-applied to the arguments.
Same as superType, except for two differences:
Same as superType, except for two differences:
- opaque types are treated as transparent aliases
- applied type are matchtype-reduced if possible
Note: the reason to reduce match type aliases here and not in superType
is that superType
is context-independent and cached, whereas matchtype
reduction depends on context and should not be cached (at least not without
the very specific cache invalidation condition for matchtypes).
Inherited methods
The type representing
The type representing
T[U1, ..., Un]
where
- Value Params
- args
=
U1,...,Un
- this
=
T
- Inherited from
- Type
The basetype of this type with given class symbol, NoType if base
is not a class.
The basetype of this type with given class symbol, NoType if base
is not a class.
- Inherited from
- Type
Is this type exactly Nothing (no vars, aliases, refinements etc allowed)?
Is this type exactly Nothing (no vars, aliases, refinements etc allowed)?
- Inherited from
- Type
The normalized prefix of this type is:
The normalized prefix of this type is:
- For a type alias, the normalized prefix of its alias.
- For all other named type and class infos: the prefix.
- Inherited by all other type proxies.
NoType
for all other types.
- Inherited from
- Type
Widen singleton types, ExprTypes, AnnotatedTypes and RefinedTypes.
Widen singleton types, ExprTypes, AnnotatedTypes and RefinedTypes.
- Inherited from
- Type
Widen from ExprType type to its result type.
Widen from ExprType type to its result type.
For all other types, return this
.
- Inherited from
- Type