Class SymbolHierarchy
- Namespace
- RDCore.SDK.Semantics.Refactoring
- Assembly
- RDCore.SDK.dll
The call hierarchy and the type hierarchy of the workspace (LSP 3.17 §Call Hierarchy, §Type Hierarchy): which procedures call which, and which classes implement which (MS-VBAL §5.2.4.2). Names are bound the way a rename binds them (SymbolNavigation).
public static class SymbolHierarchy
- Inheritance
-
SymbolHierarchy
- Inherited Members
Remarks
A procedure, a function and each procedure of a property are items of the call hierarchy; a call is a name that refers to one of them, whatever writes the
name - a call statement, an expression, an argument passed AddressOf. What is declared outside of the workspace - a member of a library - is no item:
it has no place to be shown at. A class module is an item of the type hierarchy; its supertypes are the classes it implements, and its subtypes the classes
that implement it.
Methods
IncomingCalls(RenameContext, HierarchyItem)
The procedures that call the item, each with where in it the calls are written; a call from no procedure - a constant's expression, an attribute - is from the module.
public static IReadOnlyList<HierarchyCall> IncomingCalls(RenameContext context, HierarchyItem item)
Parameters
contextRenameContextitemHierarchyItem
Returns
ItemOf(RenameContext, SemanticId)
The symbol an item of a hierarchy is of, by its identity: what a client sends back to ask for the calls or the types of an item.
public static HierarchyItem? ItemOf(RenameContext context, SemanticId id)
Parameters
contextRenameContextidSemanticId
Returns
- HierarchyItem
The item, as the workspace declares it now; null when the workspace no longer declares it.
OutgoingCalls(RenameContext, HierarchyItem)
What the item calls, each with where in the item the calls are written.
public static IReadOnlyList<HierarchyCall> OutgoingCalls(RenameContext context, HierarchyItem item)
Parameters
contextRenameContextitemHierarchyItem
Returns
PrepareCalls(RenameContext, Uri, SourcePosition)
The item of the call hierarchy named at position of module: a procedure of the workspace.
public static HierarchyItem? PrepareCalls(RenameContext context, Uri module, SourcePosition position)
Parameters
contextRenameContextmoduleUripositionSourcePosition
Returns
- HierarchyItem
The item; null for a name that names no procedure the workspace declares.
PrepareTypes(RenameContext, Uri, SourcePosition)
The item of the type hierarchy named at position of module: a class module of the workspace.
public static HierarchyItem? PrepareTypes(RenameContext context, Uri module, SourcePosition position)
Parameters
contextRenameContextmoduleUripositionSourcePosition
Returns
- HierarchyItem
The item; null for a name that names no class the workspace declares.
Subtypes(RenameContext, HierarchyItem)
The classes of the workspace that implement the item's class.
public static IReadOnlyList<HierarchyItem> Subtypes(RenameContext context, HierarchyItem item)
Parameters
contextRenameContextitemHierarchyItem
Returns
Supertypes(RenameContext, HierarchyItem)
The classes of the workspace that the item's class implements.
public static IReadOnlyList<HierarchyItem> Supertypes(RenameContext context, HierarchyItem item)
Parameters
contextRenameContextitemHierarchyItem