Table of Contents

Namespace RDCore.SDK.Runtime.Abstract.Execution

Classes

ExecutionResultInfo

An execution result value that encapsulates a RuntimeSemanticsEvaluationResult result object.

Interfaces

ICallStack

The call stack of an execution session: an ordered stack of ICallStackFrame activation records, top-most (current) frame first (RD-VBAL §2.3.1.2).

ICallStackFrame

Represents a single call stack frame: the activation record of one procedure call, owning the storage for every locally-scoped Symbol it declares — its parameters and its Dim/procedure-local declarations alike (RD-VBAL §2.3.1.2, the local stack frame heap tier). A Static local is the one exception: it lives in the module-level statics heap instead, so it keeps its value between calls.

IExecutionPipeline<TResult>
IExecutionSession

Encapsulates an execution session.

IObjectInstance

Represents a single live object instance — a class module's activation record, owning the storage for every instance field it declares (RD-VBAL §2.3.1.2's instance heap tier). Two instances of the same class module never share a field's storage: each gets its own independent binding, exactly as two activations of the same procedure never share a local's storage on ICallStackFrame.

IRuntimeEnvironmentProfile

An immutable description of the host environment an execution session runs in — the facts VBA semantics depend on that are neither in the source nor derivable from it.

IRuntimeSession

The root of an execution session. A single session holds the statically-defined symbols and, depending on the host mode, serves as the run-time or break (debug) session — it is independent of the host's current mode.

ISessionMemoryAllocator

Allocates and frees blocks within an execution session's memory space, and reports allocation and fragmentation statistics.

ISessionObjects

The object lifetime manager of an execution session: creates instances and tracks their roots and reference counts.

ISessionStorage

Holds the actual value bound at each address in a session's memory space, as either a typed IBindingHandle or, for the handful of MS-VBAL constructs that operate on raw storage (LSet between two UDT variables; MS-VBAL only ever allows this and the already-value-level fixed-length String form), a plain byte buffer. An address is one kind or the other, never both.

ISessionSymbols

The symbol table of an execution session: defines and resolves symbols by scope.

IStackFrame

Defines the representation of a single generic stack frame.

IStackFrame<TInputIndex>

Defines the representation of a single generic, indexed stack frame.

IStackManager<TFrame>
ISymbolProvider

Produces the Symbols a session or semantic context is composed from. Each provider is constructed with its own source and yields the symbols that source defines.

ISymbolResolver

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.

Enums

ExecutionSessionState

Encodes the state of an execution session.