Table of Contents

Class SymbolUri

Namespace
RDCore.SDK.Model.Symbols
Assembly
RDCore.SDK.dll

The addresses of symbols: what a module, and what a member of anything, is identified by (Uri).

public static class SymbolUri
Inheritance
SymbolUri
Inherited Members

Remarks

A module is addressed under the root of the project it is part of, by its name, as the fragment: file:///C:/Work/Battleship#GameBoard. A member of anything is addressed under it, its name appended to the fragment after a dot: file:///C:/Work/Battleship#GameBoard.Reset. The language server and the environment host address the same symbol by the same Uri, and a symbol's address is its identity (SemanticId).

This is the one place the rule is written: a symbol, the descriptors of symbols on the wire, and every component that names a module address them with it.

Methods

Member(Uri, string)

The address of a symbol that is a member of another - a procedure of a module, a variable of a procedure, a field of a type - or of a module, when the parent is the root of a project or a library.

public static Uri Member(Uri parent, string name)

Parameters

parent Uri

The address of the symbol it is a member of, or the root of its project or library.

name string

Its name, and the suffix that tells it from a namesake (Name.Get for a property accessor), when it has one.

Returns

Uri

Module(string, string)

The address of a module, under the root of its project given as a path or a URI.

public static Uri Module(string workspaceRoot, string moduleName)

Parameters

workspaceRoot string

The root of the module's project: an absolute path, or an absolute URI.

moduleName string

The module's name, as its Attribute VB_Name says.

Returns

Uri

Module(Uri, string)

The address of a module: the root of its project, with its name as the fragment.

public static Uri Module(Uri workspaceRoot, string moduleName)

Parameters

workspaceRoot Uri

The root of the module's project.

moduleName string

The module's name, as its Attribute VB_Name says.

Returns

Uri