TypeRef

final
class TypeRef extends NamedType
Companion
object
class NamedType
trait PathType
trait ValueType
trait TermType
class TypeProxy
class Type
class Object
trait Matchable
class Any

Type members

Types

type ThisDesignatorType = TypeName | TypeSymbol | Scala2ExternalSymRef

Inherited types

Inherited from
Type

Value members

Concrete methods

override
def toString(): String
Definition Classes
Any
override
def underlying(using Context): Type
Definition Classes

Inherited methods

final
def &(that: Type)(using Context): Type
Inherited from
Type
final
def appliedTo(args: List[Type])(using Context): Type

The type representing

The type representing

T[U1, ..., Un]

where

Value Params
args

= U1,...,Un

this

= T

Inherited from
Type
final
def asSeenFrom(pre: Type, cls: Symbol)(using Context): Type
Inherited from
Type
final
def baseType(base: Symbol)(using Context): 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
final
def dealias(using Context): Type
Inherited from
Type
final
def isExactlyNothing(using Context): Boolean

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
final
def isOfClass(sym: Symbol)(using Context): Boolean
Inherited from
Type
final
def isRef(sym: Symbol)(using Context): Boolean
Inherited from
Type
final
def isTerm: Boolean
Inherited from
NamedType
final
def isType: Boolean
Inherited from
NamedType
final
def member(name: Name)(using Context): Symbol

The member with the given name.

The member with the given name.

Inherited from
Type
final

If designator is a name, this name. Otherwise, the original name of the designator symbol.

If designator is a name, this name. Otherwise, the original name of the designator symbol.

Inherited from
NamedType
@tailrec
final

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
final
def select(name: Name): NamedType
Inherited from
PathType
final
def select(sym: Symbol)(using Context): Type
Inherited from
Type
final
Inherited from
NamedType
def superType(using Context): Type

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.
Inherited from
TypeProxy
final
Inherited from
NamedType

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 from
TypeProxy
final
def widen(using Context): Type

Widen singleton types, ExprTypes, AnnotatedTypes and RefinedTypes.

Widen singleton types, ExprTypes, AnnotatedTypes and RefinedTypes.

Inherited from
Type
final

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
final
def |(that: Type)(using Context): Type
Inherited from
Type

Concrete fields