case class PolyType(typeParams: List[Forest.Symbol], resultType: Forest.Type) extends Forest.Type with Product with Serializable

A type function or the type of a polymorphic value (and thus of kind *).

Before the introduction of NullaryMethodType, a polymorphic nullary method (e.g, def isInstanceOf[T]: Boolean) used to be typed as PolyType(tps, restpe), and a monomorphic one as PolyType(Nil, restpe) This is now: PolyType(tps, NullaryMethodType(restpe)) and NullaryMethodType(restpe) by symmetry to MethodTypes: PolyType(tps, MethodType(params, restpe)) and MethodType(params, restpe)

Thus, a PolyType(tps, TypeRef(...)) unambiguously indicates a type function (which results from eta-expanding a type constructor alias). Similarly, PolyType(tps, ClassInfoType(...)) is a type constructor.

A polytype is of kind * iff its resultType is a (nullary) method type.

Linear Supertypes
Serializable, Serializable, Product, Equals, Forest.Type, Forest.AbsTypeImpl, Forest.AbsType, AnyRef, Any
Ordering
  1. Alphabetic
  2. By Inheritance
Inherited
  1. PolyType
  2. Serializable
  3. Serializable
  4. Product
  5. Equals
  6. Type
  7. AbsTypeImpl
  8. AbsType
  9. AnyRef
  10. Any
  1. Hide All
  2. Show All
Visibility
  1. Public
  2. All

Instance Constructors

  1. new PolyType(typeParams: List[Forest.Symbol], resultType: Forest.Type)

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. final def asInstanceOf[T0]: T0
    Definition Classes
    Any
  5. def clone(): AnyRef
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  6. 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
  7. final def eq(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef
  8. 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
    PolyTypeType
  9. def finalize(): Unit
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( classOf[java.lang.Throwable] )
  10. final def getClass(): Class[_]
    Definition Classes
    AnyRef → Any
  11. 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
    PolyTypeType
  12. final def isInstanceOf[T0]: Boolean
    Definition Classes
    Any
  13. final def ne(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef
  14. 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
  15. final def notify(): Unit
    Definition Classes
    AnyRef
  16. final def notifyAll(): Unit
    Definition Classes
    AnyRef
  17. def objectPrefix: String
    Attributes
    protected
    Definition Classes
    Type
  18. def packagePrefix: String
    Attributes
    protected
    Definition Classes
    Type
  19. def params: List[Forest.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
    PolyTypeType
  20. 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
  21. 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
  22. 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
  23. 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
  24. val resultType: Forest.Type
    Definition Classes
    PolyTypeType
  25. 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
    Type
  26. final def synchronized[T0](arg0: ⇒ T0): T0
    Definition Classes
    AnyRef
  27. 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
  28. 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
  29. def trimPrefix(str: String): String
    Definition Classes
    Type
  30. def typeArgs: List[Forest.Type]

    For a typeref, its arguments.

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

    Definition Classes
    Type
  31. val typeParams: List[Forest.Symbol]
    Definition Classes
    PolyTypeType
  32. 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
  33. 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
  34. final def wait(): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  35. final def wait(arg0: Long, arg1: Int): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  36. final def wait(arg0: Long): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  37. 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 Serializable

Inherited from Serializable

Inherited from Product

Inherited from Equals

Inherited from Forest.Type

Inherited from Forest.AbsTypeImpl

Inherited from Forest.AbsType

Inherited from AnyRef

Inherited from Any

Ungrouped