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
Ordering
- Alphabetic
- By Inheritance
Inherited
- PolyTypeCompleter
- FlagAgnosticCompleter
- LockingTypeCompleter
- TypeCompleter
- LazyType
- Type
- Annotatable
- TypeApiImpl
- TypeApi
- AnyRef
- Any
Implicitly
- by any2stringadd
- by StringFormat
- by Ensuring
- by ArrowAssoc
- Hide All
- Show All
Visibility
- Public
- All
Instance Constructors
- new PolyTypeCompleter(tparams: List[Global.TypeDef], restp: Analyzer.TypeCompleter, ctx: Analyzer.Context)
Type Members
-
class
FilterMapForeach extends reflect.internal.SymbolTable.FilterTypeCollector
- Definition Classes
- Type
Value Members
-
final
def
!=(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
-
final
def
##(): Int
- Definition Classes
- AnyRef → Any
-
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
-
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()
-
def
<:<(that: Global.Type): Boolean
- Definition Classes
- Type → TypeApi
-
def
=:=(that: Global.Type): Boolean
- Definition Classes
- Type → TypeApi
-
final
def
==(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
-
def
addThrowsAnnotation(throwableSym: Global.Symbol): Global.Type
- Definition Classes
- Annotatable
-
def
annotations: List[Global.AnnotationInfo]
- Definition Classes
- Type → Annotatable
-
final
def
asInstanceOf[T0]: T0
- Definition Classes
- Any
-
def
asSeenFrom(pre: Global.Type, clazz: Global.Symbol): Global.Type
- Definition Classes
- Type → TypeApi
-
def
atOwner(owner: Global.Symbol): Global.Type
- Definition Classes
- Type
-
def
baseClasses: List[Global.Symbol]
- Definition Classes
- Type → TypeApi
-
def
baseType(clazz: Global.Symbol): Global.Type
- Definition Classes
- Type → TypeApi
-
def
baseTypeIndex(sym: Global.Symbol): Int
- Definition Classes
- Type
-
def
baseTypeSeq: Global.BaseTypeSeq
- Definition Classes
- Type
-
def
baseTypeSeqDepth: Depth
- Definition Classes
- Type
-
def
betaReduce: Global.Type
- Definition Classes
- Type
-
def
bounds: Global.TypeBounds
- Definition Classes
- Type
-
def
clone(): AnyRef
- Attributes
- protected[lang]
- Definition Classes
- AnyRef
- Annotations
- @throws( ... ) @native()
-
def
cloneInfo(owner: Global.Symbol): Global.Type
- Definition Classes
- Type
-
def
collect[T](pf: PartialFunction[Global.Type, T]): List[T]
- Definition Classes
- Type
-
def
companion: Global.Type
- Definition Classes
- TypeApiImpl → TypeApi
-
def
complete(sym: Global.Symbol): Unit
- Definition Classes
- LockingTypeCompleter → LazyType → Type
-
def
completeImpl(sym: Global.Symbol): Unit
- Definition Classes
- PolyTypeCompleter → LockingTypeCompleter
-
def
computeMemberType(sym: Global.Symbol): Global.Type
- Definition Classes
- Type
-
def
contains(sym: Global.Symbol): Boolean
- Definition Classes
- Type → TypeApi
-
def
dealias: Global.Type
- Definition Classes
- Type → TypeApi
-
def
dealiasWiden: Global.Type
- Definition Classes
- Type
-
def
dealiasWidenChain: List[Global.Type]
- Definition Classes
- Type
-
def
decl(name: Global.Name): Global.Symbol
- Definition Classes
- Type → TypeApi
-
def
declaration(name: Global.Name): Global.Symbol
- Definition Classes
- TypeApiImpl → TypeApi
-
def
declarations: Global.Scope
- Definition Classes
- TypeApiImpl → TypeApi
-
def
decls: Global.Scope
- Definition Classes
- Type → TypeApi
-
def
deconst: Global.Type
- Definition Classes
- Type
-
def
deferredMembers: Global.Scope
- Definition Classes
- Type
-
def
directObjectString: String
- Definition Classes
- Type
-
def
dummyArgs: List[Global.Type]
- Attributes
- protected
- Definition Classes
- Type
-
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
-
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
-
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
-
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
-
final
def
eq(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
-
def
equals(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
-
def
erasure: Global.Type
- Definition Classes
- TypeApiImpl → TypeApi
-
def
etaExpand: Global.Type
- Definition Classes
- Type → TypeApi
-
def
exists(p: (Global.Type) ⇒ Boolean): Boolean
- Definition Classes
- Type → TypeApi
-
def
filterAnnotations(p: (Global.AnnotationInfo) ⇒ Boolean): Global.Type
- Definition Classes
- Type → Annotatable
-
final
def
finalResultType: Global.Type
- Definition Classes
- Type → TypeApi
-
def
finalize(): Unit
- Attributes
- protected[lang]
- Definition Classes
- AnyRef
- Annotations
- @throws( classOf[java.lang.Throwable] )
-
def
find(p: (Global.Type) ⇒ Boolean): Option[Global.Type]
- Definition Classes
- Type → TypeApi
-
def
findMember(name: Global.Name, excludedFlags: Long, requiredFlags: Long, stableOnly: Boolean): Global.Symbol
- Definition Classes
- Type
-
def
findMembers(excludedFlags: Long, requiredFlags: Long): Global.Scope
- Definition Classes
- Type
-
def
firstParent: Global.Type
- Definition Classes
- Type
-
def
forceDirectSuperclasses: Unit
- Definition Classes
- TypeCompleter → Type
-
def
foreach(f: (Global.Type) ⇒ Unit): Unit
- Definition Classes
- Type → TypeApi
-
def
getAnnotation(cls: Global.Symbol): Option[Global.AnnotationInfo]
- Definition Classes
- Annotatable
-
final
def
getClass(): Class[_]
- Definition Classes
- AnyRef → Any
- Annotations
- @native()
-
def
hasAnnotation(cls: Global.Symbol): Boolean
- Definition Classes
- Annotatable
-
def
hasNonPrivateMember(name: Global.Name): Boolean
- Definition Classes
- Type
-
def
hashCode(): Int
- Definition Classes
- AnyRef → Any
- Annotations
- @native()
-
def
implicitMembers: Global.Scope
- Definition Classes
- Type
-
def
instantiateTypeParams(formals: List[Global.Symbol], actuals: List[Global.Type]): Global.Type
- Definition Classes
- Type
-
final
def
isAny: Boolean
- Definition Classes
- Type
-
def
isComplete: Boolean
- Definition Classes
- LazyType → Type
-
def
isDependentMethodType: Boolean
- Definition Classes
- Type
-
def
isErroneous: Boolean
- Definition Classes
- Type
-
def
isError: Boolean
- Definition Classes
- Type
-
def
isFinalType: Boolean
- Definition Classes
- Type
-
def
isGround: Boolean
- Definition Classes
- Type
-
def
isHigherKinded: Boolean
- Definition Classes
- Type
-
def
isImmediatelyDependent: Boolean
- Definition Classes
- Type
-
final
def
isInstanceOf[T0]: Boolean
- Definition Classes
- Any
-
def
isJavaVarargsMethod: Boolean
- Definition Classes
- LazyType
-
final
def
isNothing: Boolean
- Definition Classes
- Type
-
def
isShowAsInfixType: Boolean
- Definition Classes
- Type
-
def
isSpliceable: Boolean
- Definition Classes
- TypeApiImpl
-
final
def
isStable: Boolean
- Definition Classes
- Type
-
def
isStructuralRefinement: Boolean
- Definition Classes
- Type
-
def
isTrivial: Boolean
- Definition Classes
- Type
-
final
def
isVolatile: Boolean
- Definition Classes
- Type
-
def
isWildcard: Boolean
- Definition Classes
- Type
-
def
javaThrownExceptions: List[Global.Symbol]
- Definition Classes
- LazyType
-
def
kind: String
- Definition Classes
- LazyType → Type
-
def
load(sym: Global.Symbol): Unit
- Definition Classes
- Type
-
def
looselyMatches(that: Global.Type): Boolean
- Definition Classes
- Type
-
def
lowerBound: Global.Type
- Definition Classes
- Type
-
def
map(f: (Global.Type) ⇒ Global.Type): Global.Type
- Definition Classes
- Type → TypeApi
-
def
matches(that: Global.Type): Boolean
- Definition Classes
- Type
-
def
matchesPattern(that: Global.Type): Boolean
- Definition Classes
- Type
-
def
member(name: Global.Name): Global.Symbol
- Definition Classes
- Type → TypeApi
-
def
memberBasedOnName(name: Global.Name, excludedFlags: Long): Global.Symbol
- Definition Classes
- Type
-
def
memberInfo(sym: Global.Symbol): Global.Type
- Definition Classes
- Type
-
def
memberType(sym: Global.Symbol): Global.Type
- Definition Classes
- Type
-
def
members: Global.Scope
- Definition Classes
- Type → TypeApi
-
def
membersBasedOnFlags(excludedFlags: Long, requiredFlags: Long): Global.Scope
- Definition Classes
- Type
-
def
nameAndArgsString: String
- Definition Classes
- Type
-
def
narrow: Global.Type
- Definition Classes
- Type
-
final
def
ne(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
-
def
nonLocalMember(name: Global.Name): Global.Symbol
- Definition Classes
- Type
-
def
nonPrivateDecl(name: Global.Name): Global.Symbol
- Definition Classes
- Type
-
def
nonPrivateDecls: List[Global.Symbol]
- Definition Classes
- Type
-
def
nonPrivateMember(name: Global.Name): Global.Symbol
- Definition Classes
- Type
-
def
nonPrivateMemberAdmitting(name: Global.Name, admit: Long): Global.Symbol
- Definition Classes
- Type
-
def
nonPrivateMembers: Global.Scope
- Definition Classes
- Type
-
def
nonPrivateMembersAdmitting(admit: Long): Global.Scope
- Definition Classes
- Type
-
def
normalize: Global.Type
- Definition Classes
- Type → TypeApi
-
final
def
notify(): Unit
- Definition Classes
- AnyRef
- Annotations
- @native()
-
final
def
notifyAll(): Unit
- Definition Classes
- AnyRef
- Annotations
- @native()
-
def
objectPrefix: String
- Attributes
- protected
- Definition Classes
- Type
-
final
def
orElse(alt: ⇒ Global.Type): Global.Type
- Definition Classes
- Type → TypeApi
- Annotations
- @inline()
-
def
packageObject: Global.Symbol
- Definition Classes
- Type
-
def
packagePrefix: String
- Attributes
- protected
- Definition Classes
- Type
-
def
paramLists: List[List[Global.Symbol]]
- Definition Classes
- TypeApiImpl → TypeApi
-
def
paramSectionCount: Int
- Definition Classes
- Type
-
def
paramTypes: List[Global.Type]
- Definition Classes
- Type
-
def
params: List[Global.Symbol]
- Definition Classes
- Type
-
def
paramss: List[List[Global.Symbol]]
- Definition Classes
- Type → TypeApi
-
def
parents: List[Global.Type]
- Definition Classes
- Type
-
def
prefix: Global.Type
- Definition Classes
- Type
-
def
prefixChain: List[Global.Type]
- Definition Classes
- Type
-
def
prefixString: String
- Definition Classes
- Type
-
def
removeAnnotation(cls: Global.Symbol): Global.Type
- Definition Classes
- Annotatable
-
def
resultApprox: Global.Type
- Definition Classes
- Type
-
def
resultType(actuals: List[Global.Type]): Global.Type
- Definition Classes
- Type
-
def
resultType: Global.Type
- Definition Classes
- Type → TypeApi
-
def
safeToString: String
- Definition Classes
- LazyType → Type
-
def
setAnnotations(annots: List[Global.AnnotationInfo]): Global.Type
- Definition Classes
- Type → Annotatable
-
def
skolemizeExistential: Global.Type
- Definition Classes
- Type
-
def
skolemizeExistential(owner: Global.Symbol, origin: AnyRef): Global.Type
- Definition Classes
- Type
-
def
skolemsExceptMethodTypeParams: List[Global.Symbol]
- Definition Classes
- Type
-
def
stat_<:<(that: Global.Type): Boolean
- Definition Classes
- Type
-
def
staticAnnotations: collection.immutable.List[Global.AnnotationInfo]
- Definition Classes
- Annotatable
-
def
subst(from: List[Global.Symbol], to: List[Global.Type]): Global.Type
- Definition Classes
- Type
-
def
substSym(from: List[Global.Symbol], to: List[Global.Symbol]): Global.Type
- Definition Classes
- Type
-
def
substThis(from: Global.Symbol, to: Global.Symbol): Global.Type
- Definition Classes
- Type
-
def
substThis(from: Global.Symbol, to: Global.Type): Global.Type
- Definition Classes
- Type
-
def
substThisAndSym(from: Global.Symbol, to: Global.Type, symsFrom: List[Global.Symbol], symsTo: List[Global.Symbol]): Global.Type
- Definition Classes
- Type
-
def
substituteSymbols(from: List[Global.Symbol], to: List[Global.Symbol]): Global.Type
- Definition Classes
- TypeApiImpl → TypeApi
-
def
substituteTypes(from: List[Global.Symbol], to: List[Global.Type]): Global.Type
- Definition Classes
- TypeApiImpl → TypeApi
-
final
def
synchronized[T0](arg0: ⇒ T0): T0
- Definition Classes
- AnyRef
-
def
takesTypeArgs: Boolean
- Definition Classes
- Type → TypeApi
-
def
termSymbol: Global.Symbol
- Definition Classes
- Type → TypeApi
-
def
termSymbolDirect: Global.Symbol
- Definition Classes
- Type
-
def
toLongString: String
- Definition Classes
- Type
-
final
def
toString(): String
- Definition Classes
- Type → AnyRef → Any
-
val
tree: Global.Tree
- Definition Classes
- PolyTypeCompleter → TypeCompleter
-
def
trimPrefix(str: String): String
- Definition Classes
- Type
-
def
typeArgs: List[Global.Type]
- Definition Classes
- Type → TypeApi
-
def
typeArguments: List[Global.Type]
- Definition Classes
- TypeApiImpl
-
def
typeConstructor: Global.Type
- Definition Classes
- Type → TypeApi
-
def
typeOfThis: Global.Type
- Definition Classes
- Type
-
val
typeParams: List[Global.Symbol]
- Definition Classes
- PolyTypeCompleter → Type → TypeApi
-
def
typeSymbol: Global.Symbol
- Definition Classes
- Type → TypeApi
-
def
typeSymbolDirect: Global.Symbol
- Definition Classes
- Type
-
def
underlying: Global.Type
- Definition Classes
- Type
-
def
upperBound: Global.Type
- Definition Classes
- Type
-
final
def
wait(): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws( ... )
-
final
def
wait(arg0: Long, arg1: Int): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws( ... )
-
final
def
wait(arg0: Long): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws( ... ) @native()
-
def
weak_<:<(that: Global.Type): Boolean
- Definition Classes
- Type → TypeApi
-
def
widen: Global.Type
- Definition Classes
- Type → TypeApi
-
final
def
withAnnotation(annot: Global.AnnotationInfo): Global.Type
- Definition Classes
- Annotatable
-
def
withAnnotations(annots: List[Global.AnnotationInfo]): Global.Type
- Definition Classes
- Type → Annotatable
-
def
withFilter(p: (Global.Type) ⇒ Boolean): FilterMapForeach
- Definition Classes
- Type
-
def
withoutAnnotations: Global.Type
- Definition Classes
- Type → Annotatable
-
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
Deprecated Value Members
-
def
boundSyms: Set[Global.Symbol]
- Definition Classes
- Type
- Annotations
- @deprecated
- Deprecated
(Since version 2.12.3) No longer used in the compiler implementation
-
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
- @deprecated @inline()
- Deprecated
(Since version 2.12.16) Use
formatString.format(value)
instead ofvalue.formatted(formatString)
, or use thef""
string interpolator. In Java 15 and later,formatted
resolves to the new method in String which has reversed parameters.
The Scala compiler and reflection APIs.