Table of Contents

Class MemberRoles

Namespace
RDCore.SDK.Semantics.Static
Assembly
RDCore.SDK.dll

Tells which members of a class module are there to implement a member of an interface it Implements, or to handle an event of one of its WithEvents variables (MS-VBAL §5.3.1.8, §5.3.1.9).

public static class MemberRoles
Inheritance
MemberRoles
Inherited Members

Remarks

A member is one or the other by its name alone: InterfaceName_MemberName for the member of an interface that the module implements, and VariableName_EventName for the event of a variable it declares WithEvents - the same rules ImplementsSemantics and ClassModuleEventSemantics check the members by. A name that only begins like one, because the interface has no such member or the variable's class has no such event, is the name of a member like any other. An interface or a class that does not resolve gives no member a role: a role is only stated when it is known.

Methods

Of(VBClassModuleSymbol, ISymbolResolver)

The role of each member of module that has one.

public static IReadOnlyDictionary<SemanticId, DeclarationRole> Of(VBClassModuleSymbol module, ISymbolResolver resolver)

Parameters

module VBClassModuleSymbol

The class module, with its members.

resolver ISymbolResolver

What finds the interface classes and the classes of the WithEvents variables, as they are now.

Returns

IReadOnlyDictionary<SemanticId, DeclarationRole>

The role of each procedure and property accessor that implements an interface member or handles an event; a member that has none is not among them.