Table of Contents

Class CurrentTypes

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

The class a declaration is of, as the composition has it now.

public static class CurrentTypes
Inheritance
CurrentTypes
Inherited Members

Remarks

A declaration bound to a class of the workspace (Dim o As Widget) holds the class by its identity, and what the class declares - its members, its default member (MS-VBAL §5.5.1.2.13) - is read from the class as it is when it is asked, not as it was when the declaration was bound: a module listed before the class it uses is bound before the class is composed (HexIDE's findings desk #1). A class of a library is the library's from the start, and so is a type that is more than a class (a Collection).

Methods

Of(ISymbolResolver?, VBClassType)

The class of declared as the composition has it now; declared itself when there is nothing to resolve it in, it is a library's, or the composition no longer has it.

public static VBClassType Of(ISymbolResolver? resolver, VBClassType declared)

Parameters

resolver ISymbolResolver

The resolver names are bound by, as the composition has it now; null when there is none.

declared VBClassType

The class a declaration was bound to.

Returns

VBClassType

The class to read members and the default member of.

Of(ISymbolResolver?, VBUserDefinedType)

The user-defined type of declared as the composition has it now, with the fields its declaration has bound; declared itself when there is nothing to resolve it in, it is an external library's, or the composition no longer has it.

public static VBUserDefinedType Of(ISymbolResolver? resolver, VBUserDefinedType declared)

Parameters

resolver ISymbolResolver

The resolver names are bound by, as the composition has it now; null when there is none.

declared VBUserDefinedType

The user-defined type a declaration was bound to.

Returns

VBUserDefinedType

The type to read fields of.

Remarks

A type is declared before its fields are bound (DeclareTypesOnly): a declaration bound to it, in a module listed before the one that declares it, holds the type as it was declared, and a field of it that names another type not yet bound. The type is found again by its name in the module that declares it (MS-VBAL §5.2.3.3), as a member access reads its fields.

Of(StaticEvaluationContext, VBClassType)

The class of declared as the composition of context has it now: see Of(ISymbolResolver?, VBClassType).

public static VBClassType Of(StaticEvaluationContext context, VBClassType declared)

Parameters

context StaticEvaluationContext

The compile-time context the class is resolved in.

declared VBClassType

The class a declaration was bound to.

Returns

VBClassType

The class to read members and the default member of.

Of(StaticEvaluationContext, VBUserDefinedType)

The user-defined type of declared as the composition of context has it now: see Of(ISymbolResolver?, VBUserDefinedType).

public static VBUserDefinedType Of(StaticEvaluationContext context, VBUserDefinedType declared)

Parameters

context StaticEvaluationContext

The compile-time context the type is resolved in.

declared VBUserDefinedType

The user-defined type a declaration was bound to.

Returns

VBUserDefinedType

The type to read fields of.