AbstractResolver

Symbolic: Abstract Resolver

Describes an advanced resolver which operates on a factory pattern, and which carries a name. Names of resolvers implemented via this class are used in logging, errors, and other cosmetic places.

Parameters

T

Symbolic type which can be resolved, by this resolver.

Constructors

Link copied to clipboard
constructor()

Properties

Link copied to clipboard
abstract val name: String

Return the name of this resolver.

Functions

Link copied to clipboard
abstract override fun resolve(symbol: T): Symbolic<T>

Resolve the given symbol to a concrete type Concrete, or null if the symbol cannot be resolved.

Link copied to clipboard
open fun resolveSymbol(symbol: T): Symbolic<T>

Resolves a symbol or throws Unresolved; this interface is a hold-over from previous versions of Elide, and it is marked for deletion in the next release.

Link copied to clipboard
open fun unresolved(requested: T): Symbolic.Unresolved

Create an Unresolved exception for the given symbol; it is up to the caller to throw the exception so that stacktrace info remains accurate.