Namespace RDCore.SDK.Runtime.Abstract.Execution
Classes
- BreakpointConditionFailure
A breakpoint's condition that could not be evaluated where the program reached the line (see Condition).
- DeclaredTypes
The type an
<as-type>clause names (MS-VBAL §5.2.3.1.4), as a session's symbols resolve it.
- 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.
- ExternalObjectRequest
An object obtained by name rather than by its class: what
CreateObjectandGetObjectask for (MS-VBAL §6.1.2.8.1.3, §6.1.2.8.1.9), which a program binds to late - through what the object answers to by name, whatever a type library says of it.
- 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.
- RuntimeBreakpoint
A breakpoint as the interpreter has it: a line of a module's source, and the condition a program that reaches it waits on, if it has one.
- RuntimeOutputBuffer
Collects a session's output in memory, as lines.
- RuntimeOutputRouter
An output channel whose destination can be changed while the session runs.
- SymbolResolverNameExtensions
Resolves a name the way it was written, type-declaration character and all.
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
- IBreakpointTable
The lines of the source a program that is run under a debugger waits at before it runs them.
- 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.
- IExecutionGate
Where a program waits when it is stopped, if it is to be resumed.
- 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.
- IExternalObjectOwner
The holder of external objects: the provider that created them and can let them go.
- 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.
- ISessionClock
The state of the standard library's
DateTimemodule that outlives a call to it (MS-VBAL §6.1.2.4.2): the calendar its functions work in, and the clock its properties read.
- ISessionExternalObjects
The objects of a session that something outside the workspace owns: an Excel
Workbook, aScripting.Dictionary.
- ISessionHalt
Whether the program has been stopped, and why.
- 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.
- ISessionRandomNumberGenerator
The state of the standard library's random-number generator (MS-VBAL §6.1.2.10.1.6
Rndand §6.1.2.10.2.1Randomize), which outlives a call to either.
- 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.
- ISessionTurn
Whose turn it is to run code in a session: the program that is running, or an event that something outside the workspace raised.
- 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
- ErrorBreakMode
Which run-time errors a program under a debugger waits at.
- ExecutionSessionState
Encodes the state of an execution session.
- ExternalObjectSource
Where an object obtained by name comes from (ExternalObjectRequest).
- RuntimeHaltKind
Why the program stopped running before it came to the end of its entry point.
- StepKind
How far a program that is resumed goes before it stops again. The program only ever stops between two instructions, never inside one: a statement is not half-done at a step, and a call that is stepped over is one that is made.
- SuspensionDecision
What becomes of a program that is waiting at a
Stop.
- VBErlLineNumbering
What
Erlcounts as the line a run-time error was raised at.