Table of Contents

Class SymbolDescriptor

Namespace
RDCore.SDK.Platform.Protocol
Assembly
RDCore.SDK.dll

A transport-friendly projection of one declared member Symbol. Declared types travel as names, not resolved VBTypes — the environment host is the resolution authority.

public record SymbolDescriptor : IEquatable<SymbolDescriptor>
Inheritance
SymbolDescriptor
Implements
Inherited Members

Properties

AccessModifier

The declared access modifier; Implicit when none was written.

public AccessModifier AccessModifier { get; init; }

Property Value

AccessModifier

DeclaredTypeName

The declared type's name — from an As clause or a type-declaration character — or null when there is none, or the type reference is not a simple name (a qualified name or an array definition needs a later semantic pass).

public string? DeclaredTypeName { get; init; }

Property Value

string

Definitions

The declaration sites of this member, in source order — populated only when the same name is declared in more than one conditional-compilation branch. Empty for the common single-declaration case, in which Range/SelectionRange are the sole site. A consumer that does not support multi-branch symbols can ignore this and use Range.

public ImmutableArray<DefinitionDescriptor> Definitions { get; init; }

Property Value

ImmutableArray<DefinitionDescriptor>

External

Declare-statement metadata; null unless Kind is ExternalProcedure or ExternalFunction.

public ExternalDescriptor? External { get; init; }

Property Value

ExternalDescriptor

Kind

Which kind of member symbol to reconstruct.

public SymbolDescriptorKind Kind { get; init; }

Property Value

SymbolDescriptorKind

Members

Members parented to this descriptor rather than the module: Enum constants and user-defined-Type fields.

public ImmutableArray<SymbolDescriptor> Members { get; init; }

Property Value

ImmutableArray<SymbolDescriptor>

Name

The member's identifier name.

public string Name { get; init; }

Property Value

string

Parameters

Parameters, for the procedure, function, property and event kinds.

public ImmutableArray<ParameterDescriptor> Parameters { get; init; }

Property Value

ImmutableArray<ParameterDescriptor>

Range

The source span of the whole declaration — the primary site (the first branch) when the member has multiple Definitions.

public SourceRange Range { get; init; }

Property Value

SourceRange

Scope

The allocation scope the symbol is defined in.

public ScopeKind Scope { get; init; }

Property Value

ScopeKind

SelectionRange

The source span to select when navigating to the symbol (typically its name token) — the primary site when the member has multiple Definitions.

public SourceRange SelectionRange { get; init; }

Property Value

SourceRange