Process-local stack storage for nested DSL scopes.
Summary
Functions
Return true when a scope stack has an active scope.
Return active keys for an owning module from nearest to farthest.
Return the active scope state, or nil when inactive.
Return the active scope state or raise.
Return the active scope struct or raise.
Pop the active scope under a stack key and return its state.
Delete all scopes under a key. Intended for test cleanup and loader boundaries.
Push a named scope under a stack key.
Update the active scope state.
Types
@type key() :: term()
Functions
Return true when a scope stack has an active scope.
Return active keys for an owning module from nearest to farthest.
Return the active scope state, or nil when inactive.
Return the active scope state or raise.
@spec current_scope!(key()) :: DSL.Scope.t()
Return the active scope struct or raise.
Pop the active scope under a stack key and return its state.
@spec reset(key()) :: :ok
Delete all scopes under a key. Intended for test cleanup and loader boundaries.
@spec start(key(), atom(), term(), Macro.Env.t() | DSL.Scope.location() | nil) :: :ok
Push a named scope under a stack key.
Update the active scope state.