lookupStepByTypes

abstract fun <AdaptorMemento> lookupStepByTypes(    argTypes: List<A_Type>,     extraValues: List<A_Type>,     adaptor: LookupTreeAdaptor<Element, Result, AdaptorMemento>,     memento: AdaptorMemento): LookupTree<Element, Result>

Perform one step of looking up the most-specific Result that matches the provided list of argument types. Answer another LookupTree with which to continue the search.

Return

The next LookupTree to search.

Parameters

argTypes

The list of argument types being looked up.

extraValues

An optional immutable List of additional values, only created when needed.

adaptor

The adaptor for interpreting the values in the tree, and deciding how to narrow the elements that are still applicable at each internal node of the tree.

memento

A memento for the adaptor to use.


abstract fun <AdaptorMemento> lookupStepByTypes(    argTypes: A_Tuple,     extraValues: List<A_Type>,     adaptor: LookupTreeAdaptor<Element, Result, AdaptorMemento>,     memento: AdaptorMemento): LookupTree<Element, Result>

Perform one step of looking up the most-specific Result that matches the provided tuple of argument types. Answer another LookupTree with which to continue the search.

Return

The next LookupTree to search.

Parameters

argTypes

The tuple of argument types being looked up.

extraValues

An optional immutable List of additional values, only created when needed.

adaptor

The adaptor for interpreting the values in the tree, and deciding how to narrow the elements that are still applicable at each internal node of the tree.

memento

A memento for the adaptor to use.