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
IdentitySyntaxNodeIdA unique identifier for this specific syntax node.
LocationSourceLocationThe source location of this module; the
SourceRangeis invalid.ChildrenImmutableArray<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; }