Packages

c

scala.tools.nsc.typechecker.Namers

PolyTypeCompleter

class PolyTypeCompleter extends Analyzer.TypeCompleter with Analyzer.LockingTypeCompleter with Global.FlagAgnosticCompleter

A class representing a lazy type with known type parameters. ctx is the namer context in which the owner is defined.

Constructing a PolyTypeCompleter for a DefDef creates type skolems for the type parameters and assigns them to the tparams trees.

Source
Namers.scala
Ordering
  1. Alphabetic
  2. By Inheritance
Inherited
  1. PolyTypeCompleter
  2. FlagAgnosticCompleter
  3. LockingTypeCompleter
  4. TypeCompleter
  5. LazyType
  6. Type
  7. Annotatable
  8. TypeApiImpl
  9. TypeApi
  10. AnyRef
  11. Any
Implicitly
  1. by any2stringadd
  2. by StringFormat
  3. by Ensuring
  4. by ArrowAssoc
  1. Hide All
  2. Show All
Visibility
  1. Public
  2. All

Instance Constructors

  1. new PolyTypeCompleter(tparams: List[Global.TypeDef], restp: Analyzer.TypeCompleter, ctx: Analyzer.Context)

Type Members

  1. class FilterMapForeach extends reflect.internal.SymbolTable.FilterTypeCollector
    Definition Classes
    Type

Value Members

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

    Test two objects for inequality.

    Test two objects for inequality.

    returns

    true if !(this == that), false otherwise.

    Definition Classes
    AnyRef → Any
  2. final def ##(): Int

    Equivalent to x.hashCode except for boxed numeric types and null.

    Equivalent to x.hashCode except for boxed numeric types and null. For numerics, it returns a hash value which is consistent with value equality: if two value type instances compare as true, then ## will produce the same hash value for each of them. For null returns a hashcode where null.hashCode throws a NullPointerException.

    returns

    a hash value consistent with ==

    Definition Classes
    AnyRef → Any
  3. def +(other: String): String
    Implicit
    This member is added by an implicit conversion from Analyzer.PolyTypeCompleter to any2stringadd[Analyzer.PolyTypeCompleter] performed by method any2stringadd in scala.Predef.
    Definition Classes
    any2stringadd
  4. def ->[B](y: B): (Analyzer.PolyTypeCompleter, B)
    Implicit
    This member is added by an implicit conversion from Analyzer.PolyTypeCompleter to ArrowAssoc[Analyzer.PolyTypeCompleter] performed by method ArrowAssoc in scala.Predef.
    Definition Classes
    ArrowAssoc
    Annotations
    @inline()
  5. def <:<(that: Global.Type): Boolean
    Definition Classes
    Type → TypeApi
  6. def =:=(that: Global.Type): Boolean
    Definition Classes
    Type → TypeApi
  7. final def ==(arg0: Any): Boolean

    The expression x == that is equivalent to if (x eq null) that eq null else x.equals(that).

    The expression x == that is equivalent to if (x eq null) that eq null else x.equals(that).

    returns

    true if the receiver object is equivalent to the argument; false otherwise.

    Definition Classes
    AnyRef → Any
  8. def addThrowsAnnotation(throwableSym: Global.Symbol): Global.Type
    Definition Classes
    Annotatable
  9. def annotations: List[Global.AnnotationInfo]
    Definition Classes
    Type → Annotatable
  10. final def asInstanceOf[T0]: T0

    Cast the receiver object to be of type T0.

    Cast the receiver object to be of type T0.

    Note that the success of a cast at runtime is modulo Scala's erasure semantics. Therefore the expression 1.asInstanceOf[String] will throw a ClassCastException at runtime, while the expression List(1).asInstanceOf[List[String]] will not. In the latter example, because the type argument is erased as part of compilation it is not possible to check whether the contents of the list are of the requested type.

    returns

    the receiver object.

    Definition Classes
    Any
    Exceptions thrown

    ClassCastException if the receiver object is not an instance of the erasure of type T0.

  11. def asSeenFrom(pre: Global.Type, clazz: Global.Symbol): Global.Type
    Definition Classes
    Type → TypeApi
  12. def atOwner(owner: Global.Symbol): Global.Type
    Definition Classes
    Type
  13. def baseClasses: List[Global.Symbol]
    Definition Classes
    Type → TypeApi
  14. def baseType(clazz: Global.Symbol): Global.Type
    Definition Classes
    Type → TypeApi
  15. def baseTypeIndex(sym: Global.Symbol): Int
    Definition Classes
    Type
  16. def baseTypeSeq: Global.BaseTypeSeq
    Definition Classes
    Type
  17. def baseTypeSeqDepth: Depth
    Definition Classes
    Type
  18. def betaReduce: Global.Type
    Definition Classes
    Type
  19. def boundSyms: Set[Global.Symbol]
    Definition Classes
    Type
  20. def bounds: Global.TypeBounds
    Definition Classes
    Type
  21. def clone(): AnyRef

    Create a copy of the receiver object.

    Create a copy of the receiver object.

    The default implementation of the clone method is platform dependent.

    returns

    a copy of the receiver object.

    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
    Note

    not specified by SLS as a member of AnyRef

  22. def cloneInfo(owner: Global.Symbol): Global.Type
    Definition Classes
    Type
  23. def collect[T](pf: PartialFunction[Global.Type, T]): List[T]
    Definition Classes
    Type
  24. def companion: Global.Type
    Definition Classes
    TypeApiImpl → TypeApi
  25. def complete(sym: Global.Symbol): Unit
    Definition Classes
    LockingTypeCompleter → LazyType → Type
  26. def completeImpl(sym: Global.Symbol): Unit
  27. def computeMemberType(sym: Global.Symbol): Global.Type
    Definition Classes
    Type
  28. def contains(sym: Global.Symbol): Boolean
    Definition Classes
    Type → TypeApi
  29. def dealias: Global.Type
    Definition Classes
    Type → TypeApi
  30. def dealiasWiden: Global.Type
    Definition Classes
    Type
  31. def dealiasWidenChain: List[Global.Type]
    Definition Classes
    Type
  32. def decl(name: Global.Name): Global.Symbol
    Definition Classes
    Type → TypeApi
  33. def declaration(name: Global.Name): Global.Symbol
    Definition Classes
    TypeApiImpl → TypeApi
  34. def declarations: Global.Scope
    Definition Classes
    TypeApiImpl → TypeApi
  35. def decls: Global.Scope
    Definition Classes
    Type → TypeApi
  36. def deconst: Global.Type
    Definition Classes
    Type
  37. def deferredMembers: Global.Scope
    Definition Classes
    Type
  38. def directObjectString: String
    Definition Classes
    Type
  39. def dummyArgs: List[Global.Type]
    Attributes
    protected
    Definition Classes
    Type
  40. def ensuring(cond: (Analyzer.PolyTypeCompleter) ⇒ Boolean, msg: ⇒ Any): Analyzer.PolyTypeCompleter
    Implicit
    This member is added by an implicit conversion from Analyzer.PolyTypeCompleter to Ensuring[Analyzer.PolyTypeCompleter] performed by method Ensuring in scala.Predef.
    Definition Classes
    Ensuring
  41. def ensuring(cond: (Analyzer.PolyTypeCompleter) ⇒ Boolean): Analyzer.PolyTypeCompleter
    Implicit
    This member is added by an implicit conversion from Analyzer.PolyTypeCompleter to Ensuring[Analyzer.PolyTypeCompleter] performed by method Ensuring in scala.Predef.
    Definition Classes
    Ensuring
  42. def ensuring(cond: Boolean, msg: ⇒ Any): Analyzer.PolyTypeCompleter
    Implicit
    This member is added by an implicit conversion from Analyzer.PolyTypeCompleter to Ensuring[Analyzer.PolyTypeCompleter] performed by method Ensuring in scala.Predef.
    Definition Classes
    Ensuring
  43. def ensuring(cond: Boolean): Analyzer.PolyTypeCompleter
    Implicit
    This member is added by an implicit conversion from Analyzer.PolyTypeCompleter to Ensuring[Analyzer.PolyTypeCompleter] performed by method Ensuring in scala.Predef.
    Definition Classes
    Ensuring
  44. final def eq(arg0: AnyRef): Boolean

    Tests whether the argument (that) is a reference to the receiver object (this).

    Tests whether the argument (that) is a reference to the receiver object (this).

    The eq method implements an equivalence relation on non-null instances of AnyRef, and has three additional properties:

    • It is consistent: for any non-null instances x and y of type AnyRef, multiple invocations of x.eq(y) consistently returns true or consistently returns false.
    • For any non-null instance x of type AnyRef, x.eq(null) and null.eq(x) returns false.
    • null.eq(null) returns true.

    When overriding the equals or hashCode methods, it is important to ensure that their behavior is consistent with reference equality. Therefore, if two objects are references to each other (o1 eq o2), they should be equal to each other (o1 == o2) and they should hash to the same value (o1.hashCode == o2.hashCode).

    returns

    true if the argument is a reference to the receiver object; false otherwise.

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

    The equality method for reference types.

    The equality method for reference types. Default implementation delegates to eq.

    See also equals in scala.Any.

    returns

    true if the receiver object is equivalent to the argument; false otherwise.

    Definition Classes
    AnyRef → Any
  46. def erasure: Global.Type
    Definition Classes
    TypeApiImpl → TypeApi
  47. def etaExpand: Global.Type
    Definition Classes
    Type → TypeApi
  48. def exists(p: (Global.Type) ⇒ Boolean): Boolean
    Definition Classes
    Type → TypeApi
  49. def filterAnnotations(p: (Global.AnnotationInfo) ⇒ Boolean): Global.Type
    Definition Classes
    Type → Annotatable
  50. final def finalResultType: Global.Type
    Definition Classes
    Type → TypeApi
  51. def finalize(): Unit

    Called by the garbage collector on the receiver object when there are no more references to the object.

    Called by the garbage collector on the receiver object when there are no more references to the object.

    The details of when and if the finalize method is invoked, as well as the interaction between finalize and non-local returns and exceptions, are all platform dependent.

    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( classOf[java.lang.Throwable] )
    Note

    not specified by SLS as a member of AnyRef

  52. def find(p: (Global.Type) ⇒ Boolean): Option[Global.Type]
    Definition Classes
    Type → TypeApi
  53. def findMember(name: Global.Name, excludedFlags: Long, requiredFlags: Long, stableOnly: Boolean): Global.Symbol
    Definition Classes
    Type
  54. def findMembers(excludedFlags: Long, requiredFlags: Long): Global.Scope
    Definition Classes
    Type
  55. def firstParent: Global.Type
    Definition Classes
    Type
  56. def foreach(f: (Global.Type) ⇒ Unit): Unit
    Definition Classes
    Type → TypeApi
  57. def formatted(fmtstr: String): String
    Implicit
    This member is added by an implicit conversion from Analyzer.PolyTypeCompleter to StringFormat[Analyzer.PolyTypeCompleter] performed by method StringFormat in scala.Predef.
    Definition Classes
    StringFormat
    Annotations
    @inline()
  58. def getAnnotation(cls: Global.Symbol): Option[Global.AnnotationInfo]
    Definition Classes
    Annotatable
  59. final def getClass(): Class[_]

    Returns the runtime class representation of the object.

    Returns the runtime class representation of the object.

    returns

    a class object corresponding to the runtime type of the receiver.

    Definition Classes
    AnyRef → Any
  60. def hasAnnotation(cls: Global.Symbol): Boolean
    Definition Classes
    Annotatable
  61. def hashCode(): Int

    The hashCode method for reference types.

    The hashCode method for reference types. See hashCode in scala.Any.

    returns

    the hash code value for this object.

    Definition Classes
    AnyRef → Any
  62. def implicitMembers: Global.Scope
    Definition Classes
    Type
  63. def instantiateTypeParams(formals: List[Global.Symbol], actuals: List[Global.Type]): Global.Type
    Definition Classes
    Type
  64. def isComplete: Boolean
    Definition Classes
    LazyType → Type
  65. def isDependentMethodType: Boolean
    Definition Classes
    Type
  66. def isErroneous: Boolean
    Definition Classes
    Type
  67. def isError: Boolean
    Definition Classes
    Type
  68. def isFinalType: Boolean
    Definition Classes
    Type
  69. def isGround: Boolean
    Definition Classes
    Type
  70. def isHigherKinded: Boolean
    Definition Classes
    Type
  71. def isImmediatelyDependent: Boolean
    Definition Classes
    Type
  72. final def isInstanceOf[T0]: Boolean

    Test whether the dynamic type of the receiver object is T0.

    Test whether the dynamic type of the receiver object is T0.

    Note that the result of the test is modulo Scala's erasure semantics. Therefore the expression 1.isInstanceOf[String] will return false, while the expression List(1).isInstanceOf[List[String]] will return true. In the latter example, because the type argument is erased as part of compilation it is not possible to check whether the contents of the list are of the specified type.

    returns

    true if the receiver object is an instance of erasure of type T0; false otherwise.

    Definition Classes
    Any
  73. def isSpliceable: Boolean
    Definition Classes
    TypeApiImpl
  74. final def isStable: Boolean
    Definition Classes
    Type
  75. def isStructuralRefinement: Boolean
    Definition Classes
    Type
  76. def isTrivial: Boolean
    Definition Classes
    Type
  77. final def isVolatile: Boolean
    Definition Classes
    Type
  78. def isWildcard: Boolean
    Definition Classes
    Type
  79. def kind: String
    Definition Classes
    LazyType → Type
  80. def load(sym: Global.Symbol): Unit
    Definition Classes
    Type
  81. def looselyMatches(that: Global.Type): Boolean
    Definition Classes
    Type
  82. def map(f: (Global.Type) ⇒ Global.Type): Global.Type
    Definition Classes
    Type → TypeApi
  83. def matches(that: Global.Type): Boolean
    Definition Classes
    Type
  84. def matchesPattern(that: Global.Type): Boolean
    Definition Classes
    Type
  85. def member(name: Global.Name): Global.Symbol
    Definition Classes
    Type → TypeApi
  86. def memberBasedOnName(name: Global.Name, excludedFlags: Long): Global.Symbol
    Definition Classes
    Type
  87. def memberInfo(sym: Global.Symbol): Global.Type
    Definition Classes
    Type
  88. def memberType(sym: Global.Symbol): Global.Type
    Definition Classes
    Type
  89. def members: Global.Scope
    Definition Classes
    Type → TypeApi
  90. def membersBasedOnFlags(excludedFlags: Long, requiredFlags: Long): Global.Scope
    Definition Classes
    Type
  91. def narrow: Global.Type
    Definition Classes
    Type
  92. final def ne(arg0: AnyRef): Boolean

    Equivalent to !(this eq that).

    Equivalent to !(this eq that).

    returns

    true if the argument is not a reference to the receiver object; false otherwise.

    Definition Classes
    AnyRef
  93. def nonLocalMember(name: Global.Name): Global.Symbol
    Definition Classes
    Type
  94. def nonPrivateDecl(name: Global.Name): Global.Symbol
    Definition Classes
    Type
  95. def nonPrivateDecls: List[Global.Symbol]
    Definition Classes
    Type
  96. def nonPrivateMember(name: Global.Name): Global.Symbol
    Definition Classes
    Type
  97. def nonPrivateMemberAdmitting(name: Global.Name, admit: Long): Global.Symbol
    Definition Classes
    Type
  98. def nonPrivateMembers: Global.Scope
    Definition Classes
    Type
  99. def nonPrivateMembersAdmitting(admit: Long): Global.Scope
    Definition Classes
    Type
  100. def normalize: Global.Type
    Definition Classes
    Type → TypeApi
  101. final def notify(): Unit

    Wakes up a single thread that is waiting on the receiver object's monitor.

    Wakes up a single thread that is waiting on the receiver object's monitor.

    Definition Classes
    AnyRef
    Note

    not specified by SLS as a member of AnyRef

  102. final def notifyAll(): Unit

    Wakes up all threads that are waiting on the receiver object's monitor.

    Wakes up all threads that are waiting on the receiver object's monitor.

    Definition Classes
    AnyRef
    Note

    not specified by SLS as a member of AnyRef

  103. def objectPrefix: String
    Attributes
    protected
    Definition Classes
    Type
  104. final def orElse(alt: ⇒ Global.Type): Global.Type
    Definition Classes
    Type → TypeApi
    Annotations
    @inline()
  105. def packageObject: Global.Symbol
    Definition Classes
    Type
  106. def packagePrefix: String
    Attributes
    protected
    Definition Classes
    Type
  107. def paramLists: List[List[Global.Symbol]]
    Definition Classes
    TypeApiImpl → TypeApi
  108. def paramSectionCount: Int
    Definition Classes
    Type
  109. def paramTypes: List[Global.Type]
    Definition Classes
    Type
  110. def params: List[Global.Symbol]
    Definition Classes
    Type
  111. def paramss: List[List[Global.Symbol]]
    Definition Classes
    Type → TypeApi
  112. def parents: List[Global.Type]
    Definition Classes
    Type
  113. def prefix: Global.Type
    Definition Classes
    Type
  114. def prefixChain: List[Global.Type]
    Definition Classes
    Type
  115. def prefixString: String
    Definition Classes
    Type
  116. def removeAnnotation(cls: Global.Symbol): Global.Type
    Definition Classes
    Annotatable
  117. def resultApprox: Global.Type
    Definition Classes
    Type
  118. def resultType(actuals: List[Global.Type]): Global.Type
    Definition Classes
    Type
  119. def resultType: Global.Type
    Definition Classes
    Type → TypeApi
  120. def safeToString: String
    Definition Classes
    LazyType → Type
  121. def setAnnotations(annots: List[Global.AnnotationInfo]): Global.Type
    Definition Classes
    Type → Annotatable
  122. def skolemizeExistential: Global.Type
    Definition Classes
    Type
  123. def skolemizeExistential(owner: Global.Symbol, origin: AnyRef): Global.Type
    Definition Classes
    Type
  124. def skolemsExceptMethodTypeParams: List[Global.Symbol]
    Definition Classes
    Type
  125. def stat_<:<(that: Global.Type): Boolean
    Definition Classes
    Type
  126. def staticAnnotations: collection.immutable.List[Global.AnnotationInfo]
    Definition Classes
    Annotatable
  127. def subst(from: List[Global.Symbol], to: List[Global.Type]): Global.Type
    Definition Classes
    Type
  128. def substSym(from: List[Global.Symbol], to: List[Global.Symbol]): Global.Type
    Definition Classes
    Type
  129. def substThis(from: Global.Symbol, to: Global.Symbol): Global.Type
    Definition Classes
    Type
  130. def substThis(from: Global.Symbol, to: Global.Type): Global.Type
    Definition Classes
    Type
  131. def substThisAndSym(from: Global.Symbol, to: Global.Type, symsFrom: List[Global.Symbol], symsTo: List[Global.Symbol]): Global.Type
    Definition Classes
    Type
  132. def substituteSymbols(from: List[Global.Symbol], to: List[Global.Symbol]): Global.Type
    Definition Classes
    TypeApiImpl → TypeApi
  133. def substituteTypes(from: List[Global.Symbol], to: List[Global.Type]): Global.Type
    Definition Classes
    TypeApiImpl → TypeApi
  134. final def synchronized[T0](arg0: ⇒ T0): T0
    Definition Classes
    AnyRef
  135. def takesTypeArgs: Boolean
    Definition Classes
    Type → TypeApi
  136. def termSymbol: Global.Symbol
    Definition Classes
    Type → TypeApi
  137. def termSymbolDirect: Global.Symbol
    Definition Classes
    Type
  138. def toLongString: String
    Definition Classes
    Type
  139. final def toString(): String

    Creates a String representation of this object.

    Creates a String representation of this object. The default representation is platform dependent. On the java platform it is the concatenation of the class name, "@", and the object's hashcode in hexadecimal.

    returns

    a String representation of the object.

    Definition Classes
    Type → AnyRef → Any
  140. val tree: Global.Tree
    Definition Classes
    PolyTypeCompleterTypeCompleter
  141. def trimPrefix(str: String): String
    Definition Classes
    Type
  142. def typeArgs: List[Global.Type]
    Definition Classes
    Type → TypeApi
  143. def typeArguments: List[Global.Type]
    Definition Classes
    TypeApiImpl
  144. def typeConstructor: Global.Type
    Definition Classes
    Type → TypeApi
  145. def typeOfThis: Global.Type
    Definition Classes
    Type
  146. val typeParams: collection.immutable.List[Global.Symbol]
    Definition Classes
    PolyTypeCompleter → Type → TypeApi
  147. def typeSymbol: Global.Symbol
    Definition Classes
    Type → TypeApi
  148. def typeSymbolDirect: Global.Symbol
    Definition Classes
    Type
  149. def underlying: Global.Type
    Definition Classes
    Type
  150. final def wait(): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  151. final def wait(arg0: Long, arg1: Int): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  152. final def wait(arg0: Long): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  153. def weak_<:<(that: Global.Type): Boolean
    Definition Classes
    Type → TypeApi
  154. def widen: Global.Type
    Definition Classes
    Type → TypeApi
  155. final def withAnnotation(annot: Global.AnnotationInfo): Global.Type
    Definition Classes
    Annotatable
  156. def withAnnotations(annots: List[Global.AnnotationInfo]): Global.Type
    Definition Classes
    Type → Annotatable
  157. def withFilter(p: (Global.Type) ⇒ Boolean): FilterMapForeach
    Definition Classes
    Type
  158. def withoutAnnotations: Global.Type
    Definition Classes
    Type → Annotatable
  159. def [B](y: B): (Analyzer.PolyTypeCompleter, B)
    Implicit
    This member is added by an implicit conversion from Analyzer.PolyTypeCompleter to ArrowAssoc[Analyzer.PolyTypeCompleter] performed by method ArrowAssoc in scala.Predef.
    Definition Classes
    ArrowAssoc

Inherited from Analyzer.TypeCompleter

Inherited from Global.LazyType

Inherited from Global.Type

Inherited from Global.TypeApiImpl

Inherited from Global.TypeApi

Inherited from AnyRef

Inherited from Any

Inherited by implicit conversion any2stringadd from Analyzer.PolyTypeCompleter to any2stringadd[Analyzer.PolyTypeCompleter]

Inherited by implicit conversion StringFormat from Analyzer.PolyTypeCompleter to StringFormat[Analyzer.PolyTypeCompleter]

Inherited by implicit conversion Ensuring from Analyzer.PolyTypeCompleter to Ensuring[Analyzer.PolyTypeCompleter]

Inherited by implicit conversion ArrowAssoc from Analyzer.PolyTypeCompleter to ArrowAssoc[Analyzer.PolyTypeCompleter]

Ungrouped