SearchHistory

dotty.tools.dotc.typer.SearchHistory
abstract class SearchHistory

Records the history of currently open implicit searches.

A search history maintains a list of open implicit searches (openSearchPairs) a shortcut flag indicating whether any of these are by name (byname) and a reference to the root search history (root) which in turn maintains a possibly empty dictionary of recursive implicit terms constructed during this search.

A search history provides operations to create a nested search history, check for divergence, enter by name references and definitions in the implicit dictionary, lookup recursive references and emit a complete implicit dictionary when the outermost search is complete.

Attributes

Graph
Supertypes
class Object
trait Matchable
class Any
Known subtypes
class OpenSearch
class SearchRoot

Members list

Value members

Abstract methods

Concrete methods

def emitDictionary(span: Span, result: SearchResult)(using Context): SearchResult
def nest(cand: Candidate, pt: Type)(using Context): OpenSearch

Create the state for a nested implicit search.

Create the state for a nested implicit search.

Value parameters

cand

The candidate implicit to be explored.

pt

The target type for the above candidate.

Attributes

def refBynameImplicit(tpe: Type)(using Context): Type
override def toString: String

Returns a string representation of the object.

Returns a string representation of the object.

The default representation is platform dependent.

Attributes

Returns

a string representation of the object.

Definition Classes
Any

Abstract fields

Does this search history contain any by name implicit arguments.

Does this search history contain any by name implicit arguments.

Attributes