Class CurrentTypes
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
resolverISymbolResolverThe resolver names are bound by, as the composition has it now; null when there is none.
declaredVBClassTypeThe 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
resolverISymbolResolverThe resolver names are bound by, as the composition has it now; null when there is none.
declaredVBUserDefinedTypeThe 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
contextStaticEvaluationContextThe compile-time context the class is resolved in.
declaredVBClassTypeThe 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
contextStaticEvaluationContextThe compile-time context the type is resolved in.
declaredVBUserDefinedTypeThe user-defined type a declaration was bound to.
Returns
- VBUserDefinedType
The type to read fields of.