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.

Linear Supertypes
Global.FlagAgnosticCompleter, Analyzer.LockingTypeCompleter, Analyzer.TypeCompleter, Global.LazyType, Global.Type, Global.Annotatable[Global.Type], Global.TypeApiImpl, Global.TypeApi, AnyRef, Any
Type Hierarchy Learn more about scaladoc diagrams
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

Learn more about member selection
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

   Definition Classes
     AnyRef → Any

2. #### final def ##(): Int

   Definition Classes
     AnyRef → Any

3. #### def +(other: String): String

   Implicit information
     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 information
     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

   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

    Definition Classes
      Any

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

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

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

    Definition Classes
      PolyTypeCompleter → LockingTypeCompleter

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 information
      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 information
      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 information
      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 information
      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

    Definition Classes
      AnyRef

45. #### def equals(arg0: Any): Boolean

    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

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

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 information
      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[_]

    Definition Classes
      AnyRef → Any

60. #### def hasAnnotation(cls: Global.Symbol): Boolean

    Definition Classes
      Annotatable

61. #### def hashCode(): Int

    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

    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

    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

     Definition Classes
       AnyRef

102. #### final def notifyAll(): Unit

     Definition Classes
       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 packagePrefix: String

     Attributes
       protected
     Definition Classes
       Type

106. #### def paramLists: List[List[Global.Symbol]]

     Definition Classes
       TypeApiImpl → TypeApi

107. #### def paramSectionCount: Int

     Definition Classes
       Type

108. #### def paramTypes: List[Global.Type]

     Definition Classes
       Type

109. #### def params: List[Global.Symbol]

     Definition Classes
       Type

110. #### def paramss: List[List[Global.Symbol]]

     Definition Classes
       Type → TypeApi

111. #### def parents: List[Global.Type]

     Definition Classes
       Type

112. #### def prefix: Global.Type

     Definition Classes
       Type

113. #### def prefixChain: List[Global.Type]

     Definition Classes
       Type

114. #### def prefixString: String

     Definition Classes
       Type

115. #### def removeAnnotation(cls: Global.Symbol): Global.Type

     Definition Classes
       Annotatable

116. #### def resultApprox: Global.Type

     Definition Classes
       Type

117. #### def resultType(actuals: List[Global.Type]): Global.Type

     Definition Classes
       Type

118. #### def resultType: Global.Type

     Definition Classes
       Type → TypeApi

119. #### def safeToString: String

     Definition Classes
       LazyType → Type

120. #### def setAnnotations(annots: List[Global.AnnotationInfo]): Global.Type

     Definition Classes
       Type → Annotatable

121. #### def skolemizeExistential: Global.Type

     Definition Classes
       Type

122. #### def skolemizeExistential(owner: Global.Symbol, origin: AnyRef): Global.Type

     Definition Classes
       Type

123. #### def skolemsExceptMethodTypeParams: List[Global.Symbol]

     Definition Classes
       Type

124. #### def stat_<:<(that: Global.Type): Boolean

     Definition Classes
       Type

125. #### def staticAnnotations: collection.immutable.List[Global.AnnotationInfo]

     Definition Classes
       Annotatable

126. #### def subst(from: List[Global.Symbol], to: List[Global.Type]): Global.Type

     Definition Classes
       Type

127. #### def substSym(from: List[Global.Symbol], to: List[Global.Symbol]): Global.Type

     Definition Classes
       Type

128. #### def substThis(from: Global.Symbol, to: Global.Symbol): Global.Type

     Definition Classes
       Type

129. #### def substThis(from: Global.Symbol, to: Global.Type): Global.Type

     Definition Classes
       Type

130. #### def substThisAndSym(from: Global.Symbol, to: Global.Type, symsFrom: List[Global.Symbol], symsTo: List[Global.Symbol]): Global.Type

     Definition Classes
       Type

131. #### def substituteSymbols(from: List[Global.Symbol], to: List[Global.Symbol]): Global.Type

     Definition Classes
       TypeApiImpl → TypeApi

132. #### def substituteTypes(from: List[Global.Symbol], to: List[Global.Type]): Global.Type

     Definition Classes
       TypeApiImpl → TypeApi

133. #### final def synchronized[T0](arg0: ⇒ T0): T0

     Definition Classes
       AnyRef

134. #### def takesTypeArgs: Boolean

     Definition Classes
       Type → TypeApi

135. #### def termSymbol: Global.Symbol

     Definition Classes
       Type → TypeApi

136. #### def termSymbolDirect: Global.Symbol

     Definition Classes
       Type

137. #### def throwsAnnotations(): List[Global.Symbol]

     Definition Classes
       Annotatable

138. #### def toLongString: String

     Definition Classes
       Type

139. #### final def toString(): String

     Definition Classes
       Type → AnyRef → Any

140. #### val tree: Global.Tree

     Definition Classes
       PolyTypeCompleter → TypeCompleter

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 information
       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 Global.FlagAgnosticCompleter

### Inherited from Analyzer.LockingTypeCompleter

### Inherited from Analyzer.TypeCompleter

### Inherited from Global.LazyType

### Inherited from Global.Type

### Inherited from Global.Annotatable[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