Table of Contents

Interface ISymbolResolver

Namespace
RDCore.SDK.Runtime.Abstract.Execution
Assembly
RDCore.SDK.dll

A service that resolves an identifier name to a Symbol given a scope Uri and that can look up the value currently bound to a symbol (or address) in the current context.

public interface ISymbolResolver

Methods

GetValue(Symbol)

Gets the IBindingHandle currently associated with the specified Symbol.

IBindingHandle GetValue(Symbol symbol)

Parameters

symbol Symbol

The Symbol to retrieve the currently associated binding for.

Returns

IBindingHandle

Resolve(string, ScopeKind, Uri)

Resolves the specified identifier name as seen from the scope the symbol at handle belongs to.

SymbolResolutionResult Resolve(string name, ScopeKind scope, Uri handle)

Parameters

name string

The name of the Symbol to resolve.

scope ScopeKind

A memory-scope hint; the compile-time resolver does not consult it.

handle Uri

The Uri of the symbol the lookup originates from.

Returns

SymbolResolutionResult

A SymbolResolutionResult — the bound Symbol, an unbound result, or a DuplicateDeclaration / AmbiguousName error with the colliding candidates.

TryRead(MemoryAddress, out IBindingHandle?)

Gets the IBindingHandle at the specified address in the runtime memory map.

bool TryRead(MemoryAddress address, out IBindingHandle? value)

Parameters

address MemoryAddress

The memory address to read.

value IBindingHandle

The retrieved binding, if successful.

Returns

bool