Dotty Documentation

0.12.0-bin-SNAPSHOT

final class SearchRoot
extends SearchHistory

The the state corresponding to the outermost context of an implicit searcch.

[-] Constructors

SearchRoot ( )

[-] Members

[+] val byname : Boolean

Does this search history contain any by name implicit arguments.

[+] var implicitDictionary0 : Map [ Type, ( TermRef, Tree ) ]

The dictionary of recursive implicit types and corresponding terms for this search.

[+] val open : List [ ( Candidate, Type ) ]
[+] val root : SearchRoot
[+] override def defineBynameImplicit ( tpe: Type , result: SearchSuccess ) ( implicit ctx: Context ) : SearchResult

Define a pending dictionary entry if any.

If the provided type corresponds to an under-construction by name implicit, then use the tree contained in the provided SearchSuccess as its definition, returning an updated result referring to dictionary entry. Otherwise return the SearchSuccess unchanged.

[+] override def emitDictionary ( pos: Position , result: SearchResult ) ( implicit ctx: Context ) : SearchResult

Emit the implicit dictionary at the completion of an implicit search.

[+] def implicitDictionary : Map [ Type, ( TermRef, Tree ) ]
[+] def implicitDictionary0_= ( x$1: Map [ Type, ( TermRef, Tree ) ] ) : Unit

The dictionary of recursive implicit types and corresponding terms for this search.

[+] override def linkBynameImplicit ( tpe: Type ) ( implicit ctx: Context ) : TermRef

Link a reference to an under-construction implicit for the provided type to its defining occurrence via the implicit dictionary, creating a dictionary entry for this type if one does not yet exist.

[+] override def refBynameImplicit ( tpe: Type ) ( implicit ctx: Context ) : Type

Look up an implicit dictionary entry by type.

If present yield the TermRef corresponding to the eventual dictionary entry, otherwise NoType.