Class DispatchedHandlerPairs

java.lang.Object
org.ek9lang.compiler.phase5.DispatchedHandlerPairs
All Implemented Interfaces:
Function<Collection<? extends ScopedSymbol>, List<Map.Entry<ScopedSymbol, ScopedSymbol>>>

final class DispatchedHandlerPairs extends Object implements Function<Collection<? extends ScopedSymbol>, List<Map.Entry<ScopedSymbol, ScopedSymbol>>>
THE dispatcher half of "what may a call through this declaration run" (the closeable route-matrix verifier, 2026-10-22): a call to a dispatcher entry point runs, at run time, the handler most specific to its argument's type - so the entry returns and keeps whatever any of its handlers does. Each pair is (entry, handler), drawn from DispatcherHandlers, the handler set phase 7 dispatches over, for every aggregate one of the callables belongs to (a sub-type that adds a handler to an inherited entry is such an aggregate). Empty, and cheap, when no callable is named like a dispatcher entry. Without it a function that hands its loaned argument to router.process(item) - the entry only reads it, the Res handler keeps it - was a loan: the statement closed the closeable the router then used. UnionDispatchedHandlers records the pairs' rules. Was ReceiverInteriorReturns.dispatchedHandlers (no-statics lane P2, 2026-10-29).