Class SymbolUri
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
parentUriThe address of the symbol it is a member of, or the root of its project or library.
namestringIts name, and the suffix that tells it from a namesake (
Name.Getfor a property accessor), when it has one.
Returns
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
workspaceRootstringThe root of the module's project: an absolute path, or an absolute URI.
moduleNamestringThe module's name, as its
Attribute VB_Namesays.
Returns
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
workspaceRootUriThe root of the module's project.
moduleNamestringThe module's name, as its
Attribute VB_Namesays.