Table of Contents

Class DefineSymbolsParams

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

Request for rdcore/host/symbols/define: the language server sends the environment host the member symbols one workspace module declares, as descriptors. The host reconstructs a runtime Symbol from each, resolves its declared type name against its own session, and defines it in the session symbol table.

[Method("rdcore/host/symbols/define", Direction.ClientToServer)]
public record DefineSymbolsParams : IRequest, IRequest<Unit>, IRequest<DefineSymbolsResult>, IBaseRequest, IEquatable<DefineSymbolsParams>
Inheritance
DefineSymbolsParams
Implements
IRequest
IRequest<Unit>
IBaseRequest
Inherited Members

Remarks

Module symbols are not carried here — the host already has them from the .rdproj. The descriptors are the transport form of what the language server's SyntaxTreeSymbolProvider produces. A name declared in several conditional-compilation branches arrives as one descriptor carrying every branch in Definitions; the host defines the single symbol and leaves live/dead branch selection to a later pass.

Properties

ModuleName

The module's name. The member symbols attach under the module symbol of this name in the session.

public string ModuleName { get; init; }

Property Value

string

ModuleUri

The Uri of the module these symbols belong to. Informational — the host re-derives the parent module symbol from WorkspaceRoot and ModuleName.

public Uri? ModuleUri { get; init; }

Property Value

Uri

Symbols

The member symbol descriptors, in declaration order.

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

Property Value

ImmutableArray<SymbolDescriptor>

WorkspaceRoot

The workspace root the module and its symbols are addressed under. Matches the root the host composed its session with, so reconstructed symbol Uris line up with the module symbol.

public Uri? WorkspaceRoot { get; init; }

Property Value

Uri