Class MemberAccessExpressionNode
- Namespace
- RDCore.SDK.Model.AST.Expressions
- Assembly
- RDCore.SDK.dll
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.
public sealed record MemberAccessExpressionNode : ExpressionNode, IEquatable<SyntaxNode>, IExecutableNode, IEquatable<ExpressionNode>, IEquatable<MemberAccessExpressionNode>
- Inheritance
-
MemberAccessExpressionNode
- Implements
- Inherited Members
Remarks
Owner and Member are views over Children, not
separately stored — Children is the single source of truth a with expression can't
desync them from.
Constructors
MemberAccessExpressionNode(SyntaxNodeId, SourceLocation, ExpressionNode?, SimpleNameExpressionNode)
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.
public MemberAccessExpressionNode(SyntaxNodeId Identity, SourceLocation Location, ExpressionNode? Owner, SimpleNameExpressionNode Member)
Parameters
IdentitySyntaxNodeIdA unique identifier for this specific syntax node.
LocationSourceLocationThe
Location(holds the documentUriand aRange) of the bound expression.OwnerExpressionNodeThe expression the member is accessed on, or
nullfor awith-expression— a leading-dot reference (.member) whose owner is implicit, legal only inside aWithblock.MemberSimpleNameExpressionNodeThe identifier naming the member being accessed.
Remarks
Owner and Member are views over Children, not
separately stored — Children is the single source of truth a with expression can't
desync them from.
Properties
Member
The identifier naming the member being accessed. A view over Children, not separately stored.
[JsonIgnore]
public SimpleNameExpressionNode Member { get; }
Property Value
Owner
The expression the member is accessed on, or null for a with-expression — a
leading-dot reference (.member) whose owner is implicit, legal only inside a With
block. A view over Children, not separately stored.
[JsonIgnore]
public ExpressionNode? Owner { get; }