Class DefineSymbolsParams
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
-
IRequestIRequest<Unit>IRequest<DefineSymbolsResult>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
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
Symbols
The member symbol descriptors, in declaration order.
public ImmutableArray<SymbolDescriptor> Symbols { get; init; }
Property Value
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; }