Struct LetCoercionStackFrame
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(SyntaxNodeId, InputIndex, VBTypedValue, VBTypeDescValue)
Represents a LetCoercionRuntimeSemantics evaluation frame.
public LetCoercionStackFrame(SyntaxNodeId NodeId, InputIndex OperandIndex, VBTypedValue SourceValue, VBTypeDescValue DestinationTypeDesc)
Parameters
NodeIdSyntaxNodeIdThe
Identityof the syntax node being evaluated.OperandIndexInputIndexEncodes the semantic index of the operand being evaluated.
SourceValueVBTypedValueThe source value being let-coerced in this frame.
DestinationTypeDescVBTypeDescValueDescribes 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
NodeId
The Identity of the syntax node being evaluated.
public SyntaxNodeId NodeId { get; init; }
Property Value
OperandIndex
Encodes the semantic index of the operand being evaluated.
public InputIndex OperandIndex { get; init; }
Property Value
SourceValue
The source value being let-coerced in this frame.
public VBTypedValue SourceValue { get; init; }