Table of Contents

Class AssignmentStatementNode

Namespace
RDCore.SDK.Model.AST.Statements
Assembly
RDCore.SDK.dll

An executable statement node that represents a Let-assignment (MS-VBAL §5.4.3.8) or a Set-assignment (MS-VBAL §5.4.3.9). Both statements share the exact same syntax ([Let] lExpression = expression vs. Set lExpression = expression) — only their static and runtime coercion semantics differ, so one shape suffices; Kind tells them apart.

public record AssignmentStatementNode : StatementNode, IEquatable<SyntaxNode>, IExecutableNode, IEquatable<StatementNode>, IEquatable<AssignmentStatementNode>
Inheritance
AssignmentStatementNode
Implements
Inherited Members

Constructors

AssignmentStatementNode(SyntaxNodeId, SourceLocation, AssignmentKind, ExpressionNode, ExpressionNode)

An executable statement node that represents a Let-assignment (MS-VBAL §5.4.3.8) or a Set-assignment (MS-VBAL §5.4.3.9). Both statements share the exact same syntax ([Let] lExpression = expression vs. Set lExpression = expression) — only their static and runtime coercion semantics differ, so one shape suffices; Kind tells them apart.

public AssignmentStatementNode(SyntaxNodeId Identity, SourceLocation SourceLocation, AssignmentKind Kind, ExpressionNode Target, ExpressionNode Value)

Parameters

Identity SyntaxNodeId

A unique identifier for this specific syntax node.

SourceLocation SourceLocation

The document location (Uri+Range) of the bound expression.

Kind AssignmentKind

Which of the three spellings this assignment used.

Target ExpressionNode

The assignment target (lExpression).

Value ExpressionNode

The assigned value.

Properties

Kind

Which of the three spellings this assignment used.

public AssignmentKind Kind { get; init; }

Property Value

AssignmentKind

Target

The assignment target (lExpression).

public ExpressionNode Target { get; init; }

Property Value

ExpressionNode

Value

The assigned value.

public ExpressionNode Value { get; init; }

Property Value

ExpressionNode