scala.tools.nsc.symtab.Types

TypeVar

class TypeVar extends Type

A class representing a type variable Not used after phase typer'. A higher-kinded type variable has type arguments (a list of Type's) and type parameters (list of Symbols) A TypeVar whose list of args is non-empty can only be instantiated by a higher-kinded type that can be applied to these args a typevar is much like a typeref, except it has special logic for type equality/subtyping

Source
Types.scala
Linear Supertypes
Type, AbsType, AnyRef, Any
Ordering
  1. Alphabetic
  2. By inheritance
Inherited
  1. Hide All
  2. Show all
  1. TypeVar
  2. Type
  3. AbsType
  4. AnyRef
  5. Any
Visibility
  1. Public
  2. All

Instance Constructors

  1. new TypeVar(origin: Type, constr0: TypeConstraint, typeArgs: List[Type], params: List[Symbol])

Value Members

  1. final def !=(arg0: AnyRef): Boolean

    Definition Classes
    AnyRef
  2. final def !=(arg0: Any): Boolean

    Definition Classes
    Any
  3. final def ##(): Int

    Definition Classes
    AnyRef → Any
  4. def <:<(that: Type): Boolean

    Is this type a subtype of that type?

    Is this type a subtype of that type?

    Definition Classes
    Type
  5. def =:=(that: Type): Boolean

    Is this type equivalent to that type?

    Is this type equivalent to that type?

    Definition Classes
    Type
  6. final def ==(arg0: AnyRef): Boolean

    Definition Classes
    AnyRef
  7. final def ==(arg0: Any): Boolean

    Definition Classes
    Any
  8. def addHiBound(tp: Type, isNumericBound: Boolean = false): Unit

  9. def addLoBound(tp: Type, isNumericBound: Boolean = false): Unit

  10. def annotations: List[AnnotationInfo]

    Return the annotations on this type.

    Return the annotations on this type.

    Definition Classes
    Type
  11. def applyArgs(newArgs: List[Type]): TypeVar

    two occurrences of a higher-kinded typevar, e.

    two occurrences of a higher-kinded typevar, e.g. ?CC[Int] and ?CC[String], correspond to *two instances* of TypeVar that share the *same* TypeConstraint constr for ?CC only tracks type constructors anyway, so when ?CC[Int] <:< List[Int] and ?CC[String] <:< Iterable[String] ?CC's hibounds contains List and Iterable

  12. final def asInstanceOf[T0]: T0

    Definition Classes
    Any
  13. def asSeenFrom(pre: Type, clazz: Symbol): Type

    This type as seen from prefix pre' and class clazz'.

    This type as seen from prefix pre' and class clazz'. This means: Replace all thistypes of clazz' or one of its subclasses by pre' and instantiate all parameters by arguments of pre'. Proceed analogously for thistypes referring to outer classes.

    Example: class D[T] { def m: T } class C extends p.D[Int] T.asSeenFrom(ThisType(C), D) (where D is owner of m)

    Int

    Definition Classes
    Type
  14. def atOwner(owner: Symbol): Type

    Make sure this type is correct as the info of given owner; clone it if not.

    Make sure this type is correct as the info of given owner; clone it if not.

    Definition Classes
    Type
  15. def baseClasses: List[Symbol]

    The list of all baseclasses of this type (including its own typeSymbol) in reverse linearization order, starting with the class itself and ending in class Any.

    The list of all baseclasses of this type (including its own typeSymbol) in reverse linearization order, starting with the class itself and ending in class Any.

    Definition Classes
    Type
  16. def baseType(clazz: Symbol): Type

    The least type instance of given class which is a supertype of this type.

    The least type instance of given class which is a supertype of this type. Example: class D[T] class C extends p.D[Int] ThisType(C).baseType(D) = p.D[Int]

    Definition Classes
    Type
  17. def baseTypeIndex(sym: Symbol): Int

    sym

    the class symbol

    returns

    the index of given class symbol in the BaseTypeSeq of this type, or -1 if no base type with given class symbol exists.

    Definition Classes
    Type
  18. def baseTypeSeq: BaseTypeSeq

    The shortest sorted upwards closed array of types that contains this type as first element.

    The shortest sorted upwards closed array of types that contains this type as first element.

    A list or array of types ts is upwards closed if

    for all t in ts: for all typerefs p.s[args] such that t <: p.s[args] there exists a typeref p'.s[args'] in ts such that t <: p'.s['args] <: p.s[args],

    and

    for all singleton types p.s such that t <: p.s there exists a singleton type p'.s in ts such that t <: p'.s <: p.s

    Sorting is with respect to Symbol.isLess() on type symbols.

    Definition Classes
    Type
  19. def baseTypeSeqDepth: Int

    The maximum depth (@see maxDepth) of each type in the BaseTypeSeq of this type.

    The maximum depth (@see maxDepth) of each type in the BaseTypeSeq of this type.

    Definition Classes
    Type
  20. def boundSyms: Set[Symbol]

    For a (potentially wrapped) poly or existential type, its bound symbols, the empty list for all other types

    For a (potentially wrapped) poly or existential type, its bound symbols, the empty list for all other types

    Definition Classes
    Type
  21. def bounds: TypeBounds

    For a TypeBounds type, itself; for a reference denoting an abstract type, its bounds, for all other types, a TypeBounds type all of whose bounds are this type.

    For a TypeBounds type, itself; for a reference denoting an abstract type, its bounds, for all other types, a TypeBounds type all of whose bounds are this type.

    Definition Classes
    Type
  22. def clone(): AnyRef

    Attributes
    protected[lang]
    Definition Classes
    AnyRef
    Annotations
    @throws()
  23. def cloneInfo(owner: Symbol): Type

    If this is a poly- or methodtype, a copy with cloned type / value parameters owned by owner'. Identity for all other types.

    If this is a poly- or methodtype, a copy with cloned type / value parameters owned by owner'. Identity for all other types.

    Definition Classes
    Type
  24. def cloneInternal: TypeVar

  25. def complete(sym: Symbol): Unit

    Definition Classes
    AbsType
  26. def computeMemberType(sym: Symbol): Type

    Definition Classes
    Type
  27. var constr: TypeConstraint

    The constraint associated with the variable

  28. val constr0: TypeConstraint

  29. def contains(sym: Symbol): Boolean

    Does this type contain a reference to this symbol?

    Does this type contain a reference to this symbol?

    Definition Classes
    Type
  30. def containsTp(tp: Type): Boolean

    Does this type contain a reference to this type

    Does this type contain a reference to this type

    Definition Classes
    Type
  31. def dealias: Type

    Expands type aliases.

    Expands type aliases.

    Definition Classes
    Type
  32. def decl(name: Name): Symbol

    The defined or declared members with name name' in this type; an OverloadedSymbol if several exist, NoSymbol if none exist. Alternatives of overloaded symbol appear in the order they are declared.

    The defined or declared members with name name' in this type; an OverloadedSymbol if several exist, NoSymbol if none exist. Alternatives of overloaded symbol appear in the order they are declared.

    Definition Classes
    Type → AbsType
  33. def decls: Scope

    For a classtype or refined type, its defined or declared members; inherited by subtypes and typerefs.

    For a classtype or refined type, its defined or declared members; inherited by subtypes and typerefs. The empty scope for all other types.

    Definition Classes
    Type
  34. def deconst: Type

    Map a constant type or not-null-type to its underlying base type, identity for all other types.

    Map a constant type or not-null-type to its underlying base type, identity for all other types.

    Definition Classes
    Type
  35. def deferredMembers: List[Symbol]

    A list of all deferred symbols of this type (defined or inherited)

    A list of all deferred symbols of this type (defined or inherited)

    Definition Classes
    Type
  36. final def eq(arg0: AnyRef): Boolean

    Definition Classes
    AnyRef
  37. def equals(arg0: Any): Boolean

    Definition Classes
    AnyRef → Any
  38. def existentialSkolems: List[Symbol]

    The existential skolems and existentially quantified variables which are free in this type

    The existential skolems and existentially quantified variables which are free in this type

    Definition Classes
    Type
  39. def exists(p: (Type) ⇒ Boolean): Boolean

    Is there part of this type which satisfies predicate p'?

    Is there part of this type which satisfies predicate p'?

    Definition Classes
    Type
  40. def filter(p: (Type) ⇒ Boolean): List[Type]

    Returns all parts of this type which satisfy predicate p'

    Returns all parts of this type which satisfy predicate p'

    Definition Classes
    Type
  41. def finalResultType: Type

    For a curried/nullary method or poly type its non-method result type, the type itself for all other types

    For a curried/nullary method or poly type its non-method result type, the type itself for all other types

    Definition Classes
    Type
  42. def finalize(): Unit

    Attributes
    protected[lang]
    Definition Classes
    AnyRef
    Annotations
    @throws()
  43. def find(p: (Type) ⇒ Boolean): Option[Type]

    Returns optionally first type (in a preorder traversal) which satisfies predicate p', or None if none exists.

    Returns optionally first type (in a preorder traversal) which satisfies predicate p', or None if none exists.

    Definition Classes
    Type
  44. def findMember(name: Name, excludedFlags: Long, requiredFlags: Long, stableOnly: Boolean): Symbol

    Find member(s) in this type.

    Find member(s) in this type. If several members matching criteria are found, they are returned in an OverloadedSymbol

    name

    The member's name, where nme.ANYNAME means unspecified'

    excludedFlags

    Returned members do not have these flags

    requiredFlags

    Returned members do have these flags

    stableOnly

    If set, return only members that are types or stable values

    Definition Classes
    Type
  45. def foreach(f: (Type) ⇒ Unit): Unit

    Apply f' to each part of this type

    Apply f' to each part of this type

    Definition Classes
    Type
  46. final def getClass(): java.lang.Class[_]

    Definition Classes
    AnyRef → Any
  47. def hasAnnotation(clazz: Symbol): Boolean

    Test for the presence of an annotation

    Test for the presence of an annotation

    Definition Classes
    Type
  48. def hashCode(): Int

    Definition Classes
    AnyRef → Any
  49. def implicitMembers: List[Symbol]

    A list of all implicit symbols of this type (defined or inherited)

    A list of all implicit symbols of this type (defined or inherited)

    Definition Classes
    Type
  50. def instValid: Boolean

  51. def instantiateTypeParams(formals: List[Symbol], actuals: List[Type]): Type

    Replace formal type parameter symbols with actual type arguments.

    Replace formal type parameter symbols with actual type arguments.

    Amounts to substitution except for higher-kinded types. (See overridden method in TypeRef) -- @M

    Definition Classes
    Type
  52. def isComplete: Boolean

    Definition Classes
    AbsType
  53. def isDependent: Boolean

    Does this depend on an enclosing method parameter?

    Does this depend on an enclosing method parameter?

    Definition Classes
    Type
  54. def isErroneous: Boolean

    Is this type produced as a repair for an error?

    Is this type produced as a repair for an error?

    Definition Classes
    Type
  55. def isError: Boolean

    Is this type produced as a repair for an error?

    Is this type produced as a repair for an error?

    Definition Classes
    Type
  56. def isFinalType: Boolean

    Can this type only be subtyped by bottom types? This is assessed to be the case if the class is final, and all type parameters (if any) are invariant.

    Can this type only be subtyped by bottom types? This is assessed to be the case if the class is final, and all type parameters (if any) are invariant.

    Definition Classes
    Type
  57. def isGround: Boolean

    A test whether a type contains any unification type variables

    A test whether a type contains any unification type variables

    Definition Classes
    Type
  58. val isHigherKinded: Boolean

    Is this type higher-kinded, i.

    Is this type higher-kinded, i.e., is it a type constructor @M

    Definition Classes
    TypeVarType
  59. def isImmediatelyDependent: Boolean

    Does this type depend immediately on an enclosing method parameter? i.

    Does this type depend immediately on an enclosing method parameter? i.e., is it a singleton type whose termSymbol refers to an argument of the symbol's owner (which is a method)

    Definition Classes
    Type
  60. final def isInstanceOf[T0]: Boolean

    Definition Classes
    Any
  61. def isNotNull: Boolean

    Is this type guaranteed not to have null' as a value?

    Is this type guaranteed not to have null' as a value?

    Definition Classes
    Type
  62. def isRelatable(tp: Type): Boolean

    Can this variable be related in a constraint to type tp'? This is not the case if tp' contains type skolems whose skolemization level is higher than the level of this variable.

  63. def isStable: Boolean

    Does this type denote a stable reference (i.

    Does this type denote a stable reference (i.e. singleton type)?

    Definition Classes
    TypeVarType
  64. def isStructuralRefinement: Boolean

    Is this type a structural refinement type (it 'refines' members that have not been inherited)

    Is this type a structural refinement type (it 'refines' members that have not been inherited)

    Definition Classes
    Type
  65. def isTrivial: Boolean

    Types for which asSeenFrom always is the identity, no matter what prefix or owner.

    Types for which asSeenFrom always is the identity, no matter what prefix or owner.

    Definition Classes
    Type
  66. def isVolatile: Boolean

    Is this type dangerous (i.

    Is this type dangerous (i.e. it might contain conflicting type information when empty, so that it can be constructed so that type unsoundness results.) A dangerous type has an underlying type of the form T_1 with T_n { decls }, where one of the T_i (i > 1) is an abstract type.

    Definition Classes
    TypeVarType
  67. def isWildcard: Boolean

    True for WildcardType or BoundedWildcardType

    True for WildcardType or BoundedWildcardType

    Definition Classes
    Type
  68. def kind: String

    The kind of this type; used for debugging

    The kind of this type; used for debugging

    Definition Classes
    TypeVarType
  69. val level: Int

    The variable's skolemization level

  70. def load(sym: Symbol): Unit

    If this is a symbol loader type, load and assign a new type to sym'.

    If this is a symbol loader type, load and assign a new type to sym'.

    Definition Classes
    Type
  71. def looselyMatches(that: Type): Boolean

    Same as matches, except that non-method types are always assumed to match.

    Same as matches, except that non-method types are always assumed to match.

    Definition Classes
    Type
  72. def map(f: (Type) ⇒ Type): Type

    Apply f' to each part of this type; children get mapped before their parents

    Apply f' to each part of this type; children get mapped before their parents

    Definition Classes
    Type
  73. def matches(that: Type): Boolean

    Is this type close enough to that type so that members with the two type would override each other? This means:

    Is this type close enough to that type so that members with the two type would override each other? This means:

    • Either both types are polytypes with the same number of type parameters and their result types match after renaming corresponding type parameters
    • Or both types are (nullary) method types with equivalent type parameter types and matching result types
    • Or both types are equivalent
    • Or phase.erasedTypes is false and both types are neither method nor poly types.
    Definition Classes
    Type
  74. def matchesPattern(that: Type): Boolean

    Is this type a subtype of that type in a pattern context? Any type arguments on the right hand side are replaced with fresh existentials, except for Arrays.

    Is this type a subtype of that type in a pattern context? Any type arguments on the right hand side are replaced with fresh existentials, except for Arrays.

    See bug1434.scala for an example of code which would fail if only a <:< test were applied.

    Definition Classes
    Type
  75. def member(name: Name): Symbol

    The member with given name, an OverloadedSymbol if several exist, NoSymbol if none exist

    The member with given name, an OverloadedSymbol if several exist, NoSymbol if none exist

    Definition Classes
    Type
  76. def memberInfo(sym: Symbol): Type

    The info of sym', seen as a member of this type.

    The info of sym', seen as a member of this type.

    Example: class D[T] { def m: T } class C extends p.D[Int] ThisType(C).memberType(m) = Int

    Definition Classes
    Type
  77. def memberType(sym: Symbol): Type

    The type of sym', seen as a member of this type.

    The type of sym', seen as a member of this type.

    Definition Classes
    Type
  78. def members: List[Symbol]

    A list of all members of this type (defined or inherited) Members appear in linearization order of their owners.

    A list of all members of this type (defined or inherited) Members appear in linearization order of their owners. Members with the same owner appear in reverse order of their declarations.

    Definition Classes
    Type
  79. def narrow: Type

    Map to a singleton type which is a subtype of this type.

    Map to a singleton type which is a subtype of this type. The fallback implemented here gives T.narrow = (T {}).this.type Overridden where we know more about where types come from.

    todo: change to singleton type of an existentially defined variable of the right type instead of making this a this of a refined type.

    Definition Classes
    Type
  80. final def ne(arg0: AnyRef): Boolean

    Definition Classes
    AnyRef
  81. def nonLocalMember(name: Name): Symbol

    The non-local member with given name, an OverloadedSymbol if several exist, NoSymbol if none exist

    The non-local member with given name, an OverloadedSymbol if several exist, NoSymbol if none exist

    Definition Classes
    Type
  82. def nonPrivateDecl(name: Name): Symbol

    The non-private defined or declared members with name name' in this type; an OverloadedSymbol if several exist, NoSymbol if none exist. Alternatives of overloaded symbol appear in the order they are declared.

    The non-private defined or declared members with name name' in this type; an OverloadedSymbol if several exist, NoSymbol if none exist. Alternatives of overloaded symbol appear in the order they are declared.

    Definition Classes
    Type
  83. def nonPrivateMember(name: Name): Symbol

    The non-private member with given name, an OverloadedSymbol if several exist, NoSymbol if none exist.

    The non-private member with given name, an OverloadedSymbol if several exist, NoSymbol if none exist. Bridges are excluded from the result

    Definition Classes
    Type
  84. def nonPrivateMemberAdmitting(name: Name, admit: Long): Symbol

    The non-private member with given name, admitting members with given flags admit an OverloadedSymbol if several exist, NoSymbol if none exist

    The non-private member with given name, admitting members with given flags admit an OverloadedSymbol if several exist, NoSymbol if none exist

    Definition Classes
    Type
  85. def nonPrivateMembers: List[Symbol]

    A list of all non-private members of this type (defined or inherited)

    A list of all non-private members of this type (defined or inherited)

    Definition Classes
    Type
  86. def nonPrivateMembersAdmitting(admit: Long): List[Symbol]

    A list of all non-private members of this type (defined or inherited), admitting members with given flags admit

    A list of all non-private members of this type (defined or inherited), admitting members with given flags admit

    Definition Classes
    Type
  87. def normalize: Type

    Reduce to beta eta-long normal form.

    Reduce to beta eta-long normal form. Expands type aliases and converts higher-kinded TypeRefs to PolyTypes. Functions on types are also implemented as PolyTypes.

    Example: (in the below, <List> is the type constructor of List) TypeRef(pre, <List>, List()) is replaced by PolyType(X, TypeRef(pre, <List>, List(X)))

    Definition Classes
    TypeVarType
  88. def notNull: Type

    Mixin a NotNull trait unless type already has one .

    Mixin a NotNull trait unless type already has one ...if the option is given, since it is causing typing bugs.

    Definition Classes
    Type
  89. final def notify(): Unit

    Definition Classes
    AnyRef
  90. final def notifyAll(): Unit

    Definition Classes
    AnyRef
  91. def objectPrefix: String

    Attributes
    protected
    Definition Classes
    Type
  92. val origin: Type

  93. def packagePrefix: String

    Attributes
    protected
    Definition Classes
    Type
  94. def paramSectionCount: Int

    For a method type, the number of its value parameter sections, 0 for all other types

    For a method type, the number of its value parameter sections, 0 for all other types

    Definition Classes
    Type
  95. def paramTypes: List[Type]

    For a method or poly type, the types of its first value parameter section, the empty list for all other types

    For a method or poly type, the types of its first value parameter section, the empty list for all other types

    Definition Classes
    Type
  96. val params: List[Symbol]

    For a method or poly type, its first value parameter section, the empty list for all other types

    For a method or poly type, its first value parameter section, the empty list for all other types

    Definition Classes
    TypeVarType
  97. def paramss: List[List[Symbol]]

    For a method or poly type, a list of its value parameter sections, the empty list for all other types

    For a method or poly type, a list of its value parameter sections, the empty list for all other types

    Definition Classes
    Type
  98. def parents: List[Type]

    For a class or intersection type, its parents.

    For a class or intersection type, its parents. For a TypeBounds type, the parents of its hi bound. inherited by typerefs, singleton types, and refinement types, The empty list for all other types

    Definition Classes
    Type
  99. def prefix: Type

    For a typeref or single-type, the prefix of the normalized type (@see normalize).

    For a typeref or single-type, the prefix of the normalized type (@see normalize). NoType for all other types.

    Definition Classes
    Type
  100. def prefixChain: List[Type]

    A chain of all typeref or singletype prefixes of this type, longest first.

    A chain of all typeref or singletype prefixes of this type, longest first. (Only used from safeToString.)

    Definition Classes
    Type
  101. def prefixString: String

    The string representation of this type used as a prefix

    The string representation of this type used as a prefix

    Definition Classes
    Type
  102. def registerBound(tp: Type, isLowerBound: Boolean, isNumericBound: Boolean = false): Boolean

    Called when a TypeVar is involved in a subtyping check.

    Called when a TypeVar is involved in a subtyping check. Result is whether this TypeVar could plausibly be a [super/sub]type of argument tp and if so, tracks tp as a [lower/upper] bound of this TypeVar.

    if (isLowerBound) this typevar could be a subtype, track tp as a lower bound if (!isLowerBound) this typevar could be a supertype, track tp as an upper bound

    If isNumericBound is true, the subtype check is performed with weak_<:< instead of <:<.

  103. def registerTypeEquality(tp: Type, typeVarLHS: Boolean): Boolean

  104. def registerTypeSelection(sym: Symbol, tp: Type): Boolean

    ?A.

    ?A.T =:= tp is rewritten as the constraint ?A <: {type T = tp}

    TODO: make these constraints count (incorporate them into implicit search in applyImplicitArgs) (T corresponds to @param sym)

  105. def remove(clazz: Symbol): Type

    If this is a TypeRef clazz[T], return the argument T otherwise return this type

    If this is a TypeRef clazz[T], return the argument T otherwise return this type

    Definition Classes
    Type
  106. def resultApprox: Type

    Only used for dependent method types.

    Only used for dependent method types.

    Definition Classes
    Type
  107. def resultType(actuals: List[Type]): Type

    Definition Classes
    Type
  108. def resultType: Type

    For a (nullary) method or poly type, its direct result type, the type itself for all other types.

    For a (nullary) method or poly type, its direct result type, the type itself for all other types.

    Definition Classes
    Type
  109. def safeToString: String

    Definition Classes
    TypeVar → AbsType
  110. def selfsym: Symbol

    The selfsym of an annotated type, or NoSymbol of anything else

    The selfsym of an annotated type, or NoSymbol of anything else

    Definition Classes
    Type
  111. def setInst(tp: Type): Unit

  112. def skolemizeExistential: Type

    A simple version of skolemizeExistential for situations where owner or unpack location do not matter (typically used in subtype tests)

    A simple version of skolemizeExistential for situations where owner or unpack location do not matter (typically used in subtype tests)

    Definition Classes
    Type
  113. def skolemizeExistential(owner: Symbol, origin: AnyRef): Type

    If this type is an existential, turn all existentially bound variables to type skolems.

    If this type is an existential, turn all existentially bound variables to type skolems.

    owner

    The owner of the created type skolems

    origin

    The tree whose type was an existential for which the skolem was created.

    Definition Classes
    Type
  114. def specializes(sym: Symbol): Boolean

    Does this type implement symbol sym' with same or stronger type?

    Does this type implement symbol sym' with same or stronger type?

    Definition Classes
    Type
  115. def stat_<:<(that: Type): Boolean

    Definition Classes
    Type
  116. def stripAnnotations: Type

    Remove any annotations from this type and from any types embedded in this type.

    Remove any annotations from this type and from any types embedded in this type.

    Definition Classes
    Type
  117. def subst(from: List[Symbol], to: List[Type]): Type

    Substitute types to' for occurrences of references to symbols from' in this type.

    Substitute types to' for occurrences of references to symbols from' in this type.

    Definition Classes
    Type
  118. def substSuper(from: Type, to: Type): Type

    Definition Classes
    Type
  119. def substSym(from: List[Symbol], to: List[Symbol]): Type

    Substitute symbols to' for occurrences of symbols from' in this type.

    Substitute symbols to' for occurrences of symbols from' in this type. !!! NOTE !!!: If you need to do a substThis and a substSym, the substThis has to come first, as otherwise symbols will immediately get rebound in typeRef to the old symbol.

    Definition Classes
    Type
  120. def substThis(from: Symbol, to: Type): Type

    Substitute all occurrences of ThisType(from)' in this type by to'.

    Substitute all occurrences of ThisType(from)' in this type by to'. !!! NOTE !!!: If you need to do a substThis and a substSym, the substThis has to come first, as otherwise symbols will immediately get rebound in typeRef to the old symbol.

    Definition Classes
    Type
  121. final def synchronized[T0](arg0: ⇒ T0): T0

    Definition Classes
    AnyRef
  122. def termSymbol: Symbol

    The term symbol associated with the type Note that the symbol of the normalized type is returned (@see normalize)

    The term symbol associated with the type Note that the symbol of the normalized type is returned (@see normalize)

    Definition Classes
    Type
  123. def termSymbolDirect: Symbol

    The term symbol *directly* associated with the type

    The term symbol *directly* associated with the type

    Definition Classes
    Type
  124. def toLongString: String

    The string representation of this type, with singletypes explained

    The string representation of this type, with singletypes explained

    Definition Classes
    Type
  125. def toString(): String

    Definition Classes
    AbsType → AnyRef → Any
  126. def trimPrefix(str: String): String

    Definition Classes
    Type
  127. val typeArgs: List[Type]

    For a typeref, its arguments.

    For a typeref, its arguments. The empty list for all other types

    Definition Classes
    TypeVarType
  128. def typeConstructor: Type

    This type, without its type arguments @M

    This type, without its type arguments @M

    Definition Classes
    Type
  129. def typeOfThis: Type

    The type of this' of a class type or reference type

    The type of this' of a class type or reference type

    Definition Classes
    Type
  130. def typeParams: List[Symbol]

    For a (potentially wrapped) poly type, its type parameters, the empty list for all other types

    For a (potentially wrapped) poly type, its type parameters, the empty list for all other types

    Definition Classes
    Type
  131. def typeSymbol: Symbol

    The type symbol associated with the type Note that the symbol of the normalized type is returned (@see normalize)

    The type symbol associated with the type Note that the symbol of the normalized type is returned (@see normalize)

    Definition Classes
    TypeVarType → AbsType
  132. def typeSymbolDirect: Symbol

    The type symbol *directly* associated with the type

    The type symbol *directly* associated with the type

    Definition Classes
    Type
  133. def underlying: Type

    The base type underlying a type proxy, identity on all other types

    The base type underlying a type proxy, identity on all other types

    Definition Classes
    Type
  134. final def wait(): Unit

    Definition Classes
    AnyRef
    Annotations
    @throws()
  135. final def wait(arg0: Long, arg1: Int): Unit

    Definition Classes
    AnyRef
    Annotations
    @throws()
  136. final def wait(arg0: Long): Unit

    Definition Classes
    AnyRef
    Annotations
    @throws()
  137. def weak_<:<(that: Type): Boolean

    Is this type a weak subtype of that type? True also for numeric types, i.

    Is this type a weak subtype of that type? True also for numeric types, i.e. Int weak_<:< Long.

    Definition Classes
    Type
  138. def widen: Type

    Widen from singleton type to its underlying non-singleton base type by applying one or more underlying' dereferences, identity for all other types.

    Widen from singleton type to its underlying non-singleton base type by applying one or more underlying' dereferences, identity for all other types.

    class Outer { class C ; val x: C } val o: Outer <o.x.type>.widen = o.C

    Definition Classes
    Type
  139. def withAnnotation(annot: AnnotationInfo): Type

    Add an annotation to this type

    Add an annotation to this type

    Definition Classes
    Type
  140. def withAnnotations(annots: List[AnnotationInfo]): Type

    Add a number of annotations to this type

    Add a number of annotations to this type

    Definition Classes
    Type
  141. def withSelfsym(sym: Symbol): Type

    Set the self symbol of an annotated type, or do nothing otherwise.

    Set the self symbol of an annotated type, or do nothing otherwise.

    Definition Classes
    Type
  142. def withoutAnnotations: Type

    Remove any annotations from this type

    Remove any annotations from this type

    Definition Classes
    Type

Inherited from Type

Inherited from AbsType

Inherited from AnyRef

Inherited from Any