Table of Contents

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

context RenameContext
item HierarchyItem

Returns

IReadOnlyList<HierarchyCall>

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

context RenameContext
id SemanticId

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

context RenameContext
item HierarchyItem

Returns

IReadOnlyList<HierarchyCall>

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

context RenameContext
module Uri
position SourcePosition

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

context RenameContext
module Uri
position SourcePosition

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

context RenameContext
item HierarchyItem

Returns

IReadOnlyList<HierarchyItem>

Supertypes(RenameContext, HierarchyItem)

The classes of the workspace that the item's class implements.

public static IReadOnlyList<HierarchyItem> Supertypes(RenameContext context, HierarchyItem item)

Parameters

context RenameContext
item HierarchyItem

Returns

IReadOnlyList<HierarchyItem>