Class VBModuleSymbol
An unbound symbol representing any type of module.
public abstract record VBModuleSymbol : Symbol, IEquatable<Symbol>, IEquatable<VBModuleSymbol>
- Inheritance
-
VBModuleSymbol
- Implements
- Derived
- Inherited Members
Constructors
VBModuleSymbol(Uri, Uri, string, ScopeKind, SymbolKindExt)
An unbound symbol representing any type of module.
protected VBModuleSymbol(Uri WorkspaceRoot, Uri ParentUri, string Name, ScopeKind Scope, SymbolKindExt Kind)
Parameters
WorkspaceRootUriA
Urirepresenting the absolute path to the library or project workspace.ParentUriUriThe
Uriof the parent symbol.NamestringThe name of the module, as specified by its
VB_Attribute.Name.ScopeScopeKindThe allocation scope of the symbol.
KindSymbolKindExtA
SymbolKind(extended, LSP-compliant) metadata value describing the kind of symbol.
Properties
Directives
The module-level directives this module was declared under.
public ModuleDirectives Directives { get; init; }
Property Value
Members
This module's direct members — fields, procedures, properties, and any module-level Type
or Enum declaration — in declaration order. Empty until a workspace-wide pass populates
it (RDCore.SDK.Model.Types.Complex.IVBMemberOwnerType's same "carry it on the
symbol" pattern VBUserDefinedTypeMemberSymbol.Members uses, just a second pass here
instead of falling out of a single AST node's own children: a module's members are separate
top-level declarations, not nested inside the module's own declaration).
public ImmutableArray<VBTypeMemberSymbol> Members { get; init; }
Property Value
Scope
The allocation scope of the symbol.
public ScopeKind Scope { get; init; }