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
IdentitySyntaxNodeIdA unique identifier for this specific syntax node.
SourceLocationSourceLocationThe document location (
Uri+Range) of the bound expression.KindAssignmentKindWhich of the three spellings this assignment used.
TargetExpressionNodeThe assignment target (
lExpression).ValueExpressionNodeThe assigned value.
Properties
Kind
Which of the three spellings this assignment used.
public AssignmentKind Kind { get; init; }
Property Value
Target
The assignment target (lExpression).
public ExpressionNode Target { get; init; }
Property Value
Value
The assigned value.
public ExpressionNode Value { get; init; }