Table of Contents

Class ParserActionExecutionOutcome

Namespace
Utils.Parser.Runtime
Assembly
Utils.Parser.dll

Represents a parser action execution outcome with optional diagnostic metadata.

public sealed record ParserActionExecutionOutcome : IEquatable<ParserActionExecutionOutcome>
Inheritance
ParserActionExecutionOutcome
Implements
Inherited Members
Extension Methods

Constructors

ParserActionExecutionOutcome(ParserActionExecutionStatus, ParserDiagnosticDescriptor?, Exception?, IReadOnlyList<object?>?)

Initializes a new parser action execution outcome.

public ParserActionExecutionOutcome(ParserActionExecutionStatus status, ParserDiagnosticDescriptor? diagnostic = null, Exception? exception = null, IReadOnlyList<object?>? diagnosticArguments = null)

Parameters

status ParserActionExecutionStatus

Execution status.

diagnostic ParserDiagnosticDescriptor

Optional diagnostic descriptor to emit from parser runtime.

exception Exception

Optional exception associated with the execution attempt.

diagnosticArguments IReadOnlyList<object>

Optional diagnostic formatting arguments.

Properties

Diagnostic

Gets an optional diagnostic descriptor.

public ParserDiagnosticDescriptor? Diagnostic { get; }

Property Value

ParserDiagnosticDescriptor

DiagnosticArguments

Gets optional diagnostic arguments. Never null.

public IReadOnlyList<object?> DiagnosticArguments { get; }

Property Value

IReadOnlyList<object>

Exception

Gets an optional exception that can be attached to diagnostics.

public Exception? Exception { get; }

Property Value

Exception

Executed

Gets an executed action outcome.

public static ParserActionExecutionOutcome Executed { get; }

Property Value

ParserActionExecutionOutcome

Status

Gets the execution status.

public ParserActionExecutionStatus Status { get; }

Property Value

ParserActionExecutionStatus

Methods

NotExecuted()

Creates a conservative non-executed outcome with no detailed diagnostic metadata.

public static ParserActionExecutionOutcome NotExecuted()

Returns

ParserActionExecutionOutcome

Non-executed outcome without explicit diagnostic.

NotExecuted(ParserDiagnosticDescriptor, Exception?, params object?[])

Creates a non-executed outcome with explicit diagnostic metadata.

public static ParserActionExecutionOutcome NotExecuted(ParserDiagnosticDescriptor diagnostic, Exception? exception, params object?[] diagnosticArguments)

Parameters

diagnostic ParserDiagnosticDescriptor

Diagnostic descriptor to emit.

exception Exception

Optional execution exception.

diagnosticArguments object[]

Optional diagnostic formatting arguments.

Returns

ParserActionExecutionOutcome

Non-executed outcome with detailed diagnostic metadata.