Table of Contents

Namespace RDCore.SDK.Model.AST.Expressions

Classes

AddressOfExpressionNode

MS-VBAL 5.6.16.8 an AddressOf expression — legal only as an IndexExpressionNode argument, yielding a procedure pointer rather than evaluating a call.

AsTypeExpressionNode

An ExpressionNode with static semantics that resolve the VBType of a VBTypedDeclarationExpression.

ConditionalExpressionNode

An expression that is evaluated in a Boolean context.

DictionaryAccessExpressionNode

MS-VBAL 5.6.14 dictionary-access-expression (owner!member) and its with-expression sibling (!member, Owner omitted). A pure AST node — the default-member lookup the ! token implies is a semantics-layer concern, not this node's.

IndexExpressionNode

MS-VBAL 5.6.13 index-expression (callee(arguments)) — represents both a procedure/function call and array/collection indexing; which one it is is a semantic question the resolver answers from the callee's declared kind, not something this node encodes.

InstanceExpressionNode

MS-VBAL 5.6.11 instance-expression — the Me keyword, a self-reference to the current object instance. Its own grammar alternative, distinct from SimpleNameExpressionNode, because Me is a reserved keyword and never resolves like a named symbol lookup.

LiteralExpressionNode

An expression that statically resolves a VBTypedValue directly from the source tokens.

MemberAccessExpressionNode

MS-VBAL 5.6 member-access-expression (owner.member) and its with-expression sibling (.member, Owner omitted). Both are part of the l-expression grammar family alongside SimpleNameExpressionNode — a pure AST node; its static and run-time semantics (owner-type member lookup, the late-bound Variant/Object path, the design-time vs. immediate-pane error split) live in the semantics layer, not here.

MissingArgumentNode

MS-VBAL 5.6.13.1 a skipped positional argument (e.g. the middle position in Foo(1, , 3)) in an IndexExpressionNode's argument list — a placeholder that preserves the position for binding against the callee's parameter list, not a value-producing expression.

NamedArgumentNode

MS-VBAL 5.6.13.1 a named argument (name:=value) in an IndexExpressionNode's argument list.

ObjectPrintExpressionNode

MS-VBAL 5.6 object-print-expression (owner.Print outputList, e.g. Debug.Print "x") — part of the l-expression grammar family, reachable as a statement through CallStatementNode.

PrintOutputItemNode

MS-VBAL 5.4.5.8.1 one item of a Print/Write output list — a value (or none, for a bare separator) followed by an optional ;/, column-position separator. A pure AST node; the column-spacing semantics ;/, and Spc/Tab imply are a runtime-layer concern, not this node's.

PrintSpcClauseNode

MS-VBAL 5.4.5.8.1 a Spc(n) clause in a Print/Write output list.

PrintTabClauseNode

MS-VBAL 5.4.5.8.1 a Tab or Tab(n) clause in a Print/Write output list.

SimpleNameExpressionNode

MS-VBAL 5.6.10 Simple Name Expression
A ExpressionNode that statically resolves an expression consisting of a single identifier without any qualifiers or arguments.

VBBinaryOperatorExpressionNode

An infix VBOperatorExpression (bound) that accepts a left and a right operand on either of its sides.

VBDeclarationStatementNode

A StatementNode representing a declaration list containing one or more declaration expressions.

VBOperatorExpression

An expression syntax node representing an operator.

VBTypedDeclarationExpressionNode

An ExpressionNode representing any declaration expression that evaluates to a TypedSymbol.

VBUnaryOperatorExpressionNode

A prefix VBOperatorExpression that accepts a single operand.

Enums

ExpressionClassification

MS-VBAL 5.6.1 Expression Classifications