Table of Contents

Struct LetCoercionStackFrame

Namespace
RDCore.SDK.Runtime.Shared
Assembly
RDCore.SDK.dll

Represents a LetCoercionRuntimeSemantics evaluation frame.

public readonly record struct LetCoercionStackFrame : IStackFrame<InputIndex>, IStackFrame, IEquatable<LetCoercionStackFrame>
Implements
Inherited Members

Remarks

👉 This mechanism allows detecting recursive let-coercion and avoiding uncontrolled re-entry.

Constructors

LetCoercionStackFrame(Uri, StaticSymbol, InputIndex, VBTypedValue, VBTypeDescValue)

Represents a LetCoercionRuntimeSemantics evaluation frame.

public LetCoercionStackFrame(Uri NodeUri, StaticSymbol OperatorSymbol, InputIndex OperandIndex, VBTypedValue SourceValue, VBTypeDescValue DestinationTypeDesc)

Parameters

NodeUri Uri

The Uri of the bound node being evaluated.

OperatorSymbol StaticSymbol
OperandIndex InputIndex

Encodes the semantic index of the operand being evaluated.

SourceValue VBTypedValue

The source value being let-coerced in this frame.

DestinationTypeDesc VBTypeDescValue

Describes the destination type of the let-coercion operation. The described data type must be unwrapped from the descriptor.

Remarks

👉 This mechanism allows detecting recursive let-coercion and avoiding uncontrolled re-entry.

Properties

DestinationTypeDesc

Describes the destination type of the let-coercion operation. The described data type must be unwrapped from the descriptor.

public VBTypeDescValue DestinationTypeDesc { get; init; }

Property Value

VBTypeDescValue

NodeUri

The Uri of the bound node being evaluated.

public Uri NodeUri { get; init; }

Property Value

Uri

OperandIndex

Encodes the semantic index of the operand being evaluated.

public InputIndex OperandIndex { get; init; }

Property Value

InputIndex

OperatorSymbol

public StaticSymbol OperatorSymbol { get; init; }

Property Value

StaticSymbol

SourceValue

The source value being let-coerced in this frame.

public VBTypedValue SourceValue { get; init; }

Property Value

VBTypedValue