Scala Compiler2.13.0 < Back


# Packages

-  package root

  The Scala compiler and reflection APIs.

  The Scala compiler and reflection APIs.

  Definition Classes
    root
-  package scala
  Definition Classes
    root
-  package tools
  Definition Classes
    scala
-  package nsc
  Definition Classes
    tools
-  package typechecker
  Definition Classes
    nsc
-  trait Namers extends MethodSynthesis

  This trait declares methods to create symbols and to enter them into scopes.

  This trait declares methods to create symbols and to enter them into scopes.

  Definition Classes
    typechecker
  Version

    1.0

- ClassMethodSynthesis
- CompleterWrapper
- LockingTypeCompleter
- MethodSynth
- Namer
- PolyTypeCompleter
- TypeCompleter
- TypeCompleterBase

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

Linear Supertypes
Global.FlagAgnosticCompleter, Analyzer.LockingTypeCompleter, Analyzer.TypeCompleter, Global.LazyType, Global.Type, Global.Annotatable[Global.Type], Global.TypeApiImpl, Global.TypeApi, AnyRef, Any
Type Hierarchy

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
   Definition Classes
     AnyRef → Any
2.  final def ##(): Int
   Definition Classes
     AnyRef → Any
3.  def +(other: String): String
   Implicit
     This member is added by an implicit conversion from Analyzer.PolyTypeCompleter toany2stringadd[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 toArrowAssoc[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 bounds: Global.TypeBounds
    Definition Classes
      Type
20.  def clone(): AnyRef
    Attributes
      protected[java.lang]
    Definition Classes
      AnyRef
    Annotations
      @throws(classOf[java.lang.CloneNotSupportedException]) @native()
21.  def cloneInfo(owner: Global.Symbol): Global.Type
    Definition Classes
      Type
22.  def collect[T](pf: PartialFunction[Global.Type, T]): List[T]
    Definition Classes
      Type
23.  def companion: Global.Type
    Definition Classes
      TypeApiImpl → TypeApi
24.  def complete(sym: Global.Symbol): Unit
    Definition Classes
      LockingTypeCompleter → LazyType → Type
25.  def completeImpl(sym: Global.Symbol): Unit
    Definition Classes
      PolyTypeCompleter → LockingTypeCompleter
26.  def computeMemberType(sym: Global.Symbol): Global.Type
    Definition Classes
      Type
27.  def contains(sym: Global.Symbol): Boolean
    Definition Classes
      Type → TypeApi
28.  def dealias: Global.Type
    Definition Classes
      Type → TypeApi
29.  final def dealiasWiden: Global.Type
    Definition Classes
      Type
    Annotations
      @tailrec()
30.  def dealiasWidenChain: List[Global.Type]
    Definition Classes
      Type
31.  def decl(name: Global.Name): Global.Symbol
    Definition Classes
      Type → TypeApi
32.  def declaration(name: Global.Name): Global.Symbol
    Definition Classes
      TypeApiImpl → TypeApi
33.  def declarations: Global.Scope
    Definition Classes
      TypeApiImpl → TypeApi
34.  def decls: Global.Scope
    Definition Classes
      Type → TypeApi
35.  def deconst: Global.Type
    Definition Classes
      Type
36.  def deferredMembers: Global.Scope
    Definition Classes
      Type
37.  def directObjectString: String
    Definition Classes
      Type
38.  def dummyArgs: List[Global.Type]
    Attributes
      protected
    Definition Classes
      Type
39.  def ensuring(cond: (Analyzer.PolyTypeCompleter) => Boolean, msg: => Any): Analyzer.PolyTypeCompleter
    Implicit
      This member is added by an implicit conversion from Analyzer.PolyTypeCompleter toEnsuring[Analyzer.PolyTypeCompleter] performed by method Ensuring in scala.Predef.
    Definition Classes
      Ensuring
40.  def ensuring(cond: (Analyzer.PolyTypeCompleter) => Boolean): Analyzer.PolyTypeCompleter
    Implicit
      This member is added by an implicit conversion from Analyzer.PolyTypeCompleter toEnsuring[Analyzer.PolyTypeCompleter] performed by method Ensuring in scala.Predef.
    Definition Classes
      Ensuring
41.  def ensuring(cond: Boolean, msg: => Any): Analyzer.PolyTypeCompleter
    Implicit
      This member is added by an implicit conversion from Analyzer.PolyTypeCompleter toEnsuring[Analyzer.PolyTypeCompleter] performed by method Ensuring in scala.Predef.
    Definition Classes
      Ensuring
42.  def ensuring(cond: Boolean): Analyzer.PolyTypeCompleter
    Implicit
      This member is added by an implicit conversion from Analyzer.PolyTypeCompleter toEnsuring[Analyzer.PolyTypeCompleter] performed by method Ensuring in scala.Predef.
    Definition Classes
      Ensuring
43.  final def eq(arg0: AnyRef): Boolean
    Definition Classes
      AnyRef
44.  def equals(arg0: AnyRef): Boolean
    Definition Classes
      AnyRef → Any
45.  def erasure: Global.Type
    Definition Classes
      TypeApiImpl → TypeApi
46.  def etaExpand: Global.Type
    Definition Classes
      Type → TypeApi
47.  def exists(p: (Global.Type) => Boolean): Boolean
    Definition Classes
      Type → TypeApi
48.  def filterAnnotations(p: (Global.AnnotationInfo) => Boolean): Global.Type
    Definition Classes
      Type → Annotatable
49.  final def finalResultType: Global.Type
    Definition Classes
      Type → TypeApi
50.  def finalize(): Unit
    Attributes
      protected[java.lang]
    Definition Classes
      AnyRef
    Annotations
      @throws(classOf[java.lang.Throwable])
51.  def find(p: (Global.Type) => Boolean): Option[Global.Type]
    Definition Classes
      Type → TypeApi
52.  def findMember(name: Global.Name, excludedFlags: Long, requiredFlags: Long, stableOnly: Boolean): Global.Symbol
    Definition Classes
      Type
53.  def findMembers(excludedFlags: Long, requiredFlags: Long): Global.Scope
    Definition Classes
      Type
54.  def firstParent: Global.Type
    Definition Classes
      Type
55.  def foldOver(folder: Global.TypeFolder): Unit
    Definition Classes
      Type
56.  def forceDirectSuperclasses(): Unit
    Definition Classes
      TypeCompleter → Type
57.  def foreach(f: (Global.Type) => Unit): Unit
    Definition Classes
      Type → TypeApi
58.  def formatted(fmtstr: String): String
    Implicit
      This member is added by an implicit conversion from Analyzer.PolyTypeCompleter toStringFormat[Analyzer.PolyTypeCompleter] performed by method StringFormat in scala.Predef.
    Definition Classes
      StringFormat
    Annotations
      @inline()
59.  def getAnnotation(cls: Global.Symbol): Option[Global.AnnotationInfo]
    Definition Classes
      Annotatable
60.  final def getClass(): Class[_ <: AnyRef]
    Definition Classes
      AnyRef → Any
    Annotations
      @native()
61.  def hasAnnotation(cls: Global.Symbol): Boolean
    Definition Classes
      Annotatable
62.  def hasNonPrivateMember(name: Global.Name): Boolean
    Definition Classes
      Type
63.  def hashCode(): Int
    Definition Classes
      AnyRef → Any
    Annotations
      @native()
64.  def implicitMembers: Global.Scope
    Definition Classes
      Type
65.  def instantiateTypeParams(formals: List[Global.Symbol], actuals: List[Global.Type]): Global.Type
    Definition Classes
      Type
66.  def isComplete: Boolean
    Definition Classes
      LazyType → Type
67.  def isDependentMethodType: Boolean
    Definition Classes
      Type
68.  def isErroneous: Boolean
    Definition Classes
      Type
69.  def isError: Boolean
    Definition Classes
      Type
70.  def isFinalType: Boolean
    Definition Classes
      Type
71.  def isGround: Boolean
    Definition Classes
      Type
72.  def isHigherKinded: Boolean
    Definition Classes
      Type
73.  def isImmediatelyDependent: Boolean
    Definition Classes
      Type
74.  final def isInstanceOf[T0]: Boolean
    Definition Classes
      Any
75.  def isJavaVarargsMethod: Boolean
    Definition Classes
      LazyType
76.  def isShowAsInfixType: Boolean
    Definition Classes
      Type
77.  def isSpliceable: Boolean
    Definition Classes
      TypeApiImpl
78.  final def isStable: Boolean
    Definition Classes
      Type
79.  def isStructuralRefinement: Boolean
    Definition Classes
      Type
80.  def isTrivial: Boolean
    Definition Classes
      Type
81.  final def isVolatile: Boolean
    Definition Classes
      Type
82.  def isWildcard: Boolean
    Definition Classes
      Type
83.  def javaThrownExceptions: List[Global.Symbol]
    Definition Classes
      LazyType
84.  def kind: String
    Definition Classes
      LazyType → Type
85.  def load(sym: Global.Symbol): Unit
    Definition Classes
      Type
86.  def looselyMatches(that: Global.Type): Boolean
    Definition Classes
      Type
87.  def lowerBound: Global.Type
    Definition Classes
      Type
88.  def map(f: (Global.Type) => Global.Type): Global.Type
    Definition Classes
      Type → TypeApi
89.  def mapOver(map: Global.TypeMap): Global.Type
    Definition Classes
      Type
90.  def matches(that: Global.Type): Boolean
    Definition Classes
      Type
91.  def matchesPattern(that: Global.Type): Boolean
    Definition Classes
      Type
92.  def member(name: Global.Name): Global.Symbol
    Definition Classes
      Type → TypeApi
93.  def memberBasedOnName(name: Global.Name, excludedFlags: Long): Global.Symbol
    Definition Classes
      Type
94.  def memberInfo(sym: Global.Symbol): Global.Type
    Definition Classes
      Type
95.  def memberType(sym: Global.Symbol): Global.Type
    Definition Classes
      Type
96.  def members: Global.Scope
    Definition Classes
      Type → TypeApi
97.  def membersBasedOnFlags(excludedFlags: Long, requiredFlags: Long): Global.Scope
    Definition Classes
      Type
98.  def nameAndArgsString: String
    Definition Classes
      Type
99.  def narrow: Global.Type
    Definition Classes
      Type
100.  final def ne(arg0: AnyRef): Boolean
     Definition Classes
       AnyRef
101.  def nonLocalMember(name: Global.Name): Global.Symbol
     Definition Classes
       Type
102.  def nonPrivateDecl(name: Global.Name): Global.Symbol
     Definition Classes
       Type
103.  def nonPrivateDecls: List[Global.Symbol]
     Definition Classes
       Type
104.  def nonPrivateMember(name: Global.Name): Global.Symbol
     Definition Classes
       Type
105.  def nonPrivateMemberAdmitting(name: Global.Name, admit: Long): Global.Symbol
     Definition Classes
       Type
106.  def nonPrivateMembers: Global.Scope
     Definition Classes
       Type
107.  def nonPrivateMembersAdmitting(admit: Long): Global.Scope
     Definition Classes
       Type
108.  def normalize: Global.Type
     Definition Classes
       Type → TypeApi
109.  final def notify(): Unit
     Definition Classes
       AnyRef
     Annotations
       @native()
110.  final def notifyAll(): Unit
     Definition Classes
       AnyRef
     Annotations
       @native()
111.  def objectPrefix: String
     Attributes
       protected
     Definition Classes
       Type
112.  final def orElse(alt: => Global.Type): Global.Type
     Definition Classes
       Type → TypeApi
     Annotations
       @inline()
113.  def packageObject: Global.Symbol
     Definition Classes
       Type
114.  def packagePrefix: String
     Attributes
       protected
     Definition Classes
       Type
115.  def paramLists: List[List[Global.Symbol]]
     Definition Classes
       TypeApiImpl → TypeApi
116.  def paramSectionCount: Int
     Definition Classes
       Type
117.  def paramTypes: List[Global.Type]
     Definition Classes
       Type
118.  def params: List[Global.Symbol]
     Definition Classes
       Type
119.  def paramss: List[List[Global.Symbol]]
     Definition Classes
       Type → TypeApi
120.  def parents: List[Global.Type]
     Definition Classes
       Type
121.  def prefix: Global.Type
     Definition Classes
       Type
122.  def prefixChain: List[Global.Type]
     Definition Classes
       Type
123.  def prefixString: String
     Definition Classes
       Type
124.  def removeAnnotation(cls: Global.Symbol): Global.Type
     Definition Classes
       Annotatable
125.  def resultApprox: Global.Type
     Definition Classes
       Type
126.  def resultType(actuals: List[Global.Type]): Global.Type
     Definition Classes
       Type
127.  def resultType: Global.Type
     Definition Classes
       Type → TypeApi
128.  def safeToString: String
     Definition Classes
       LazyType → Type
129.  def setAnnotations(annots: List[Global.AnnotationInfo]): Global.Type
     Definition Classes
       Type → Annotatable
130.  def skolemizeExistential: Global.Type
     Definition Classes
       Type
131.  def skolemizeExistential(owner: Global.Symbol, origin: AnyRef): Global.Type
     Definition Classes
       Type
132.  def skolemsExceptMethodTypeParams: List[Global.Symbol]
     Definition Classes
       Type
133.  def stat_<:<(that: Global.Type): Boolean
     Definition Classes
       Type
134.  def staticAnnotations: collection.immutable.List[Global.AnnotationInfo]
     Definition Classes
       Annotatable
135.  def subst(from: List[Global.Symbol], to: List[Global.Type]): Global.Type
     Definition Classes
       Type
136.  def substSym(from: List[Global.Symbol], to: List[Global.Symbol]): Global.Type
     Definition Classes
       Type
137.  def substThis(from: Global.Symbol, to: Global.Symbol): Global.Type
     Definition Classes
       Type
138.  def substThis(from: Global.Symbol, to: Global.Type): Global.Type
     Definition Classes
       Type
139.  def substThisAndSym(from: Global.Symbol, to: Global.Type, symsFrom: List[Global.Symbol], symsTo: List[Global.Symbol]): Global.Type
     Definition Classes
       Type
140.  def substituteSymbols(from: List[Global.Symbol], to: List[Global.Symbol]): Global.Type
     Definition Classes
       TypeApiImpl → TypeApi
141.  def substituteTypes(from: List[Global.Symbol], to: List[Global.Type]): Global.Type
     Definition Classes
       TypeApiImpl → TypeApi
142.  final def synchronized[T0](arg0: => T0): T0
     Definition Classes
       AnyRef
143.  def takesTypeArgs: Boolean
     Definition Classes
       Type → TypeApi
144.  def termSymbol: Global.Symbol
     Definition Classes
       Type → TypeApi
145.  def termSymbolDirect: Global.Symbol
     Definition Classes
       Type
146.  def toLongString: String
     Definition Classes
       Type
147.  final def toString(): String
     Definition Classes
       Type → AnyRef → Any
148.  val tree: Global.Tree
     Definition Classes
       PolyTypeCompleter → TypeCompleter
149.  def trimPrefix(str: String): String
     Definition Classes
       Type
150.  def typeArgs: List[Global.Type]
     Definition Classes
       Type → TypeApi
151.  def typeArguments: List[Global.Type]
     Definition Classes
       TypeApiImpl
152.  def typeConstructor: Global.Type
     Definition Classes
       Type → TypeApi
153.  def typeOfThis: Global.Type
     Definition Classes
       Type
154.  val typeParams: collection.immutable.List[Global.Symbol]
     Definition Classes
       PolyTypeCompleter → Type → TypeApi
155.  def typeSymbol: Global.Symbol
     Definition Classes
       Type → TypeApi
156.  def typeSymbolDirect: Global.Symbol
     Definition Classes
       Type
157.  def underlying: Global.Type
     Definition Classes
       Type
158.  def upperBound: Global.Type
     Definition Classes
       Type
159.  final def wait(): Unit
     Definition Classes
       AnyRef
     Annotations
       @throws(classOf[java.lang.InterruptedException])
160.  final def wait(arg0: Long, arg1: Int): Unit
     Definition Classes
       AnyRef
     Annotations
       @throws(classOf[java.lang.InterruptedException])
161.  final def wait(arg0: Long): Unit
     Definition Classes
       AnyRef
     Annotations
       @throws(classOf[java.lang.InterruptedException]) @native()
162.  def weak_<:<(that: Global.Type): Boolean
     Definition Classes
       Type → TypeApi
163.  def widen: Global.Type
     Definition Classes
       Type → TypeApi
164.  final def withAnnotation(annot: Global.AnnotationInfo): Global.Type
     Definition Classes
       Annotatable
165.  def withAnnotations(annots: List[Global.AnnotationInfo]): Global.Type
     Definition Classes
       Type → Annotatable
166.  def withFilter(p: (Global.Type) => Boolean): FilterMapForeach
     Definition Classes
       Type
167.  def withoutAnnotations: Global.Type
     Definition Classes
       Type → Annotatable

### Deprecated Value Members

1.  def →[B](y: B): (Analyzer.PolyTypeCompleter, B)
   Implicit
     This member is added by an implicit conversion from Analyzer.PolyTypeCompleter toArrowAssoc[Analyzer.PolyTypeCompleter] performed by method ArrowAssoc in scala.Predef.
   Definition Classes
     ArrowAssoc
   Annotations
     @deprecated
   Deprecated

     (Since version 2.13.0) Use `->` instead. If you still wish to display it as one character, consider using a font with programming ligatures such as Fira Code.

### 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 fromAnalyzer.PolyTypeCompleter to any2stringadd[Analyzer.PolyTypeCompleter]

### Inherited by implicit conversion StringFormat fromAnalyzer.PolyTypeCompleter to StringFormat[Analyzer.PolyTypeCompleter]

### Inherited by implicit conversion Ensuring fromAnalyzer.PolyTypeCompleter to Ensuring[Analyzer.PolyTypeCompleter]

### Inherited by implicit conversion ArrowAssoc fromAnalyzer.PolyTypeCompleter to ArrowAssoc[Analyzer.PolyTypeCompleter]

### Ungrouped