Table of Contents

Class OnGoSubStatementNode

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

MS-VBAL §5.4.2.16 On...GoSub Statement — evaluates Selector, Let-coerces it to Integer, and branches to the corresponding label in Labels (1-based; out of range completes the statement without branching), same as OnGoToStatementNode except the target is reached via a GoSub call frame rather than a plain jump.

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

Constructors

OnGoSubStatementNode(SyntaxNodeId, SourceLocation, ExpressionNode, ImmutableArray<ExpressionNode>)

MS-VBAL §5.4.2.16 On...GoSub Statement — evaluates Selector, Let-coerces it to Integer, and branches to the corresponding label in Labels (1-based; out of range completes the statement without branching), same as OnGoToStatementNode except the target is reached via a GoSub call frame rather than a plain jump.

public OnGoSubStatementNode(SyntaxNodeId Identity, SourceLocation SourceLocation, ExpressionNode Selector, ImmutableArray<ExpressionNode> Labels)

Parameters

Identity SyntaxNodeId

A unique identifier for this specific syntax node.

SourceLocation SourceLocation

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

Selector ExpressionNode

The expression evaluated to select a label from Labels.

Labels ImmutableArray<ExpressionNode>

The ordered list of label expressions Selector indexes into.

Properties

Labels

The ordered list of label expressions Selector indexes into.

public ImmutableArray<ExpressionNode> Labels { get; init; }

Property Value

ImmutableArray<ExpressionNode>

Selector

The expression evaluated to select a label from Labels.

public ExpressionNode Selector { get; init; }

Property Value

ExpressionNode