Enumerated

Symbolic: Enumerated

Describes a Symbolic type which is "closed" or "sealed" to an enumerated set of instances or symbols. Resolvers which inherit from this type will throw an exception (Unresolved) for all unresolved symbols.

Parameters

T

Symbolic type which can be resolved, by this resolver, to a Concrete type.

Concrete

Concrete type which can be resolved from type T.

Inheritors

Functions

Link copied to clipboard
abstract override fun resolve(symbol: T): Concrete

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): Concrete

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.