class TypeVar extends Forest.Type

A class representing a type variable: not used after phase typer.

A higher-kinded TypeVar has params (Symbols) and typeArgs (Types). A TypeVar with nonEmpty typeArgs can only be instantiated by a higher-kinded type that can be applied to those args. A TypeVar is much like a TypeRef, except it has special logic for equality and subtyping.

Linear Supertypes
Ordering
  1. Alphabetic
  2. By Inheritance
Inherited
  1. TypeVar
  2. Type
  3. AbsTypeImpl
  4. AbsType
  5. AnyRef
  6. Any
  1. Hide All
  2. Show All
Visibility
  1. Public
  2. All

Instance Constructors

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

Value Members

  1. final def !=(arg0: Any): Boolean
    Definition Classes
    AnyRef → Any
  2. final def ##(): Int
    Definition Classes
    AnyRef → Any
  3. final def ==(arg0: Any): Boolean
    Definition Classes
    AnyRef → Any
  4. def applyArgs(newArgs: List[Forest.Type]): Forest.TypeVar

    Two occurrences of a higher-kinded typevar, e.g.

    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.

  5. final def asInstanceOf[T0]: T0
    Definition Classes
    Any
  6. def clone(): AnyRef
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  7. var constr: Forest.TypeConstraint

    The constraint associated with the variable

  8. val constr0: Forest.TypeConstraint
  9. def decls: List[Forest.Tree]

    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
  10. final def eq(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef
  11. def equals(arg0: Any): Boolean
    Definition Classes
    AnyRef → Any
  12. def finalResultType: Forest.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
  13. def finalize(): Unit
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( classOf[java.lang.Throwable] )
  14. final def getClass(): Class[_]
    Definition Classes
    AnyRef → Any
  15. def hashCode(): Int
    Definition Classes
    AnyRef → Any
  16. def isHigherKinded: Boolean

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

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

    Definition Classes
    Type
  17. final def isInstanceOf[T0]: Boolean
    Definition Classes
    Any
  18. final def ne(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef
  19. def normalize: Forest.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
    Type
  20. final def notify(): Unit
    Definition Classes
    AnyRef
  21. final def notifyAll(): Unit
    Definition Classes
    AnyRef
  22. def objectPrefix: String
    Attributes
    protected
    Definition Classes
    Type
  23. val origin: Forest.Type
  24. def packagePrefix: String
    Attributes
    protected
    Definition Classes
    Type
  25. val params: List[Forest.Symbol]
    Definition Classes
    TypeVarType
  26. def parents: List[Forest.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
  27. def prefix: Forest.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
  28. def prefixChain: List[Forest.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
  29. 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
  30. def resultType: Forest.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
  31. def safeToString: String

    Method to be implemented in subclasses.

    Method to be implemented in subclasses. Converts this type to a string in calling toString for its parts.

    Definition Classes
    TypeVarType
  32. final def synchronized[T0](arg0: ⇒ T0): T0
    Definition Classes
    AnyRef
  33. def termSymbol: Forest.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
  34. def toString(): String

    Convert toString avoiding infinite recursions by cutting off after maxTostringRecursions recursion levels.

    Convert toString avoiding infinite recursions by cutting off after maxTostringRecursions recursion levels. Uses safeToString to produce a string on each level.

    Definition Classes
    Type → AnyRef → Any
  35. def trimPrefix(str: String): String
    Definition Classes
    Type
  36. val typeArgs: List[Forest.Type]
    Definition Classes
    TypeVarType
  37. def typeParams: List[Forest.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
  38. def typeSymbol: Forest.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
    TypeAbsType
  39. def underlying: Forest.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
  40. final def wait(): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  41. final def wait(arg0: Long, arg1: Int): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  42. final def wait(arg0: Long): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  43. def widen: Forest.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

Inherited from Forest.Type

Inherited from Forest.AbsTypeImpl

Inherited from Forest.AbsType

Inherited from AnyRef

Inherited from Any

Ungrouped