Table of Contents

Struct ArrayDimensionBound

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

The bounds of a single array dimension within an ArrayBoundsNode — one MS-VBAL dim-spec ([<lower-bound> To] <upper-bound>).

public readonly record struct ArrayDimensionBound : IEquatable<ArrayDimensionBound>
Implements
Inherited Members

Constructors

ArrayDimensionBound(string?, string, ExpressionNode?, ExpressionNode?)

The bounds of a single array dimension within an ArrayBoundsNode — one MS-VBAL dim-spec ([<lower-bound> To] <upper-bound>).

public ArrayDimensionBound(string? LowerBound, string UpperBound, ExpressionNode? LowerExpression = null, ExpressionNode? UpperExpression = null)

Parameters

LowerBound string

The lower-bound expression text, or null when the To clause is omitted (the effective lower bound then follows Option Base).

UpperBound string

The upper-bound expression text.

LowerExpression ExpressionNode

The lower-bound expression, parsed, or null when there is no lower bound.

UpperExpression ExpressionNode

The upper-bound expression, parsed, or null when it could not be (a syntax error left it incomplete). A bound is a constant expression (MS-VBAL §5.2.3.1.3) the runtime reduces when the array's storage is allocated, which is what these are for: the text above is what the source said, and these are what it means.

Properties

LowerBound

The lower-bound expression text, or null when the To clause is omitted (the effective lower bound then follows Option Base).

public string? LowerBound { get; init; }

Property Value

string

LowerExpression

The lower-bound expression, parsed, or null when there is no lower bound.

public ExpressionNode? LowerExpression { get; init; }

Property Value

ExpressionNode

UpperBound

The upper-bound expression text.

public string UpperBound { get; init; }

Property Value

string

UpperExpression

The upper-bound expression, parsed, or null when it could not be (a syntax error left it incomplete). A bound is a constant expression (MS-VBAL §5.2.3.1.3) the runtime reduces when the array's storage is allocated, which is what these are for: the text above is what the source said, and these are what it means.

public ExpressionNode? UpperExpression { get; init; }

Property Value

ExpressionNode