Table of Contents

Class ExecuteSessionResult

Namespace
RDCore.SDK.Platform.Protocol
Assembly
RDCore.SDK.dll

The result of a run. The same result answers both hops — the language server passes the host's answer back to the client unchanged, except for a parse that never reached the host at all.

public record ExecuteSessionResult : IEquatable<ExecuteSessionResult>
Inheritance
ExecuteSessionResult
Implements
Inherited Members

Properties

ConditionError

Why the condition of the breakpoint the program waits at could not be evaluated, when Outcome is Suspended and that is why it waits: a breakpoint whose condition raises an error is waited at (see Condition), and this is what the person is told of it. Empty otherwise. The program does not wait on the error: it is the condition's and not the program's, and ErrorNumber stays 0.

public string ConditionError { get; init; }

Property Value

string

Diagnostics

The syntax errors, when Outcome is SyntaxError.

public IReadOnlyList<string> Diagnostics { get; init; }

Property Value

IReadOnlyList<string>

ErrorCharacter

Where in the submitted Source the error was raised, zero-based as every position in the platform is: the line, and ErrorCharacter within it. Both -1 when the outcome is not a run-time error, or when nothing located it.

public int ErrorCharacter { get; init; }

Property Value

int

Remarks

A position in the source the caller sent, which is the one document both ends of the protocol agree on. A client whose program does not live in a file — an interactive shell's buffer — maps it back to whatever it calls a line itself.

ErrorCode

The run-time error's RD-VBAL §2.6.3 diagnostic code — VBR for one the runtime semantics reported, VBA for one the program raised itself with Error or Err.Raise. Empty for any other outcome.

public string ErrorCode { get; init; }

Property Value

string

ErrorLine

Where in the submitted Source the error was raised, zero-based as every position in the platform is: the line, and ErrorCharacter within it. Both -1 when the outcome is not a run-time error, or when nothing located it.

public int ErrorLine { get; init; }

Property Value

int

Remarks

A position in the source the caller sent, which is the one document both ends of the protocol agree on. A client whose program does not live in a file — an interactive shell's buffer — maps it back to whatever it calls a line itself.

ErrorLineNumber

🎯 The line number the error was raised at - what Erl reports: the nearest line-number label at or before the faulting statement, or 0 when none precedes it. Also 0 for any other outcome.

public long ErrorLineNumber { get; init; }

Property Value

long

ErrorMessage

The run-time error's description, or a short explanation of any other non-Completed outcome.

public string ErrorMessage { get; init; }

Property Value

string

ErrorNumber

The run-time error's number, when Outcome is RuntimeError; 0 otherwise.

public int ErrorNumber { get; init; }

Property Value

int

ErrorSource

What Err.Source reports: the object or application that generated the error, defaulting to the project's own name (MS-VBAL §6.1.3.2.2.6). Empty for any other outcome.

public string ErrorSource { get; init; }

Property Value

string

ErrorTitle

The error's category, as a reader sees it in a title: which of RD-VBAL §2.6's families raised it - "Run-time error" or "Application error" for a run, localized. What it was is ErrorMessage. Empty for any other outcome.

public string ErrorTitle { get; init; }

Property Value

string

Outcome

How the run ended.

public ExecutionOutcome Outcome { get; init; }

Property Value

ExecutionOutcome

Output

Everything the program printed, in order, one entry per line — including a line it left open with a trailing ;.

public IReadOnlyList<string> Output { get; init; }

Property Value

IReadOnlyList<string>

StackTrace

🎯 The call stack the error was raised on, innermost activation first - what Err.StackTrace reports. Empty for any other outcome.

public IReadOnlyList<ExecuteStackFrame> StackTrace { get; init; }

Property Value

IReadOnlyList<ExecuteStackFrame>

StreamedLines

How many lines the host has said by notification (HostOutputNotification) since it started, when this answer was given. A run that streams has said its lines before it answers, and they are not in Output; this is what lets the receiver wait for them.

public long StreamedLines { get; init; }

Property Value

long