Table of Contents

Class ModuleNode

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

An AST root node, representing an entire module.

public record ModuleNode : SyntaxNode, IEquatable<SyntaxNode>, IEquatable<ModuleNode>
Inheritance
ModuleNode
Implements
Inherited Members
Extension Methods

Remarks

A module's kind — standard vs. class vs. document/form — is not a syntactic fact this node carries: the parser is never told it and does not derive it (the grammar drops the VERSION/BEGIN…END header rather than keeping it as trivia). It is a property of the Attribute VB_* block a caller reads off the parsed tree, or of the raw source (RDCore.SDK.Workspace.ModuleHeader.IsClassModule), on whichever side of the pipe needs it.

Constructors

ModuleNode(SyntaxNodeId, SourceLocation, ImmutableArray<SyntaxNode>)

An AST root node, representing an entire module.

public ModuleNode(SyntaxNodeId Identity, SourceLocation Location, ImmutableArray<SyntaxNode> Children)

Parameters

Identity SyntaxNodeId

A unique identifier for this specific syntax node.

Location SourceLocation

The source location of this module; the SourceRange is invalid.

Children ImmutableArray<SyntaxNode>

An immutable array containing all AST nodes of this module.

Remarks

A module's kind — standard vs. class vs. document/form — is not a syntactic fact this node carries: the parser is never told it and does not derive it (the grammar drops the VERSION/BEGIN…END header rather than keeping it as trivia). It is a property of the Attribute VB_* block a caller reads off the parsed tree, or of the raw source (RDCore.SDK.Workspace.ModuleHeader.IsClassModule), on whichever side of the pipe needs it.

Properties

Location

The source location of this module; the SourceRange is invalid.

public SourceLocation Location { get; init; }

Property Value

SourceLocation