Namespace RDCore.SDK.Runtime.Abstract.Execution
Classes
- ExecutionResultInfo
An execution result value that encapsulates a RuntimeSemanticsEvaluationResult result object.
- ExternalCallRequest
One call to something that is not the workspace's own code: a standard-library member, a referenced library's, a host application's object model, or a native export a
Declarenamed.
- FileStatementAccess
Which file statements a channel opened under a given mode and access may be used by (MS-VBAL §5.4.5.1's own table).
- NullRuntimeOutput
The output of a session nobody is watching: everything written is discarded.
- RuntimeOutputBuffer
Collects a session's output in memory, as lines.
- RuntimeOutputRouter
An output channel whose destination can be changed while the session runs.
Structs
- EventSubscription
One
WithEventsvariable of an object holding the source of the events it handles.
- ExternalCallDecision
What an IExternalCallInterceptor decided about a call.
- FileRecordRange
A span of an open file, in records or in bytes depending on the channel's mode — a
LockorUnlockstatement'srecord-range(MS-VBAL §5.4.5.4).
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). AStaticlocal is the one exception: it lives in the module-level statics heap instead, so it keeps its value between calls.
- IExecutionSession
Encapsulates an execution session.
- IExternalCallInterceptor
Sees every call to something outside the workspace before it happens, and may refuse it.
- IExternalCallProvider
Runs a call to one kind of external target.
- IExternalDispatcher
Runs a call to something outside the workspace.
- IFileChannel
One file number that an
Openstatement associated with an external data file (MS-VBAL §5.4.5), and the processing modes it was opened under.
- IFileChannelInput
The reading side of an IFileChannel — the characters at and after its current file-pointer-position (MS-VBAL §5.4.5).
- IFileChannelOutput
The writing side of an IFileChannel — an IRuntimeOutput that also has the maximum line length a
Widthstatement sets (MS-VBAL §5.4.5.7).
- IFileChannels
The file numbers a session has open (MS-VBAL §5.4.5) — the shim every file statement goes through.
- 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.
- IObjectLifecycle
Raises the lifecycle events of a class instance (MS-VBAL §5.3.1.10) by dispatching the members of ClassLifecycleInterface to whatever the instance's class implements them with.
- IProcedureInvoker
The execution engine's side of a procedure call: runs the source code of a procedure declared in the workspace.
- 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.
- IRuntimeOutput
Where a session's
Printoutput goes — theImmediatewindow's analogue.
- 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 (
LSetbetween two UDT variables; MS-VBAL only ever allows this and the already-value-level fixed-lengthStringform), 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.
- 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
Symbolgiven a scopeUriand that can look up the value currently bound to a symbol (or address) in the current context.
- IVariableDefaults
What the storage of a declared variable starts as.
Enums
- ExecutionSessionState
Encodes the state of an execution session.
- VBErlLineNumbering
What
Erlcounts as the line a run-time error was raised at.