Table of Contents

Namespace RDCore.SDK.Semantics.Static

Classes

BarePrintStaticSemantics

Where a Print statement with no file number is a statement at all.

ClassModuleEventSemantics

The static semantics of what a class module declares about events: its Event declarations (MS-VBAL §5.2.4.3), its WithEvents variables (§5.2.3.1.2) and the procedures that handle an event of one (§5.3.1.8).

DeclarationStaticSemanticsEvaluator

The static semantics of what a module declares, apart from what its procedures' bodies say: the declarations themselves.

DeclarationUsage

Counts how the declarations of a module are used by its code, from the expression facts of its procedures, where the count is the whole truth.

ExitStatementStaticSemantics

Where an Exit statement may be written: MS-VBAL §5.4.2.5 (Exit For), §5.4.2.7 (Exit Do), §5.4.2.17 (Exit Sub), §5.4.2.18 (Exit Function) and §5.4.2.19 (Exit Property).

ExpressionStaticSemanticsEvaluator

Recursively determines the declared type of a real, arbitrarily-nested expression tree.

FileStatementStaticSemantics

MS-VBAL §5.4.5 the file statements (static semantics), and the Name statement that sits beside them (RD-VBAL §5.4.5.13).

ImplementsSemantics

The static semantics of the Implements directives of a class module (MS-VBAL §5.2.4.2) and of the implemented name declarations that follow from them (§5.3.1.9).

LetCoercionStaticSemantics

MS-VBAL 5.5.1.1 Let-coercion (static semantics)

MidStatementStaticSemantics

MS-VBAL §5.4.3.5 the Mid, MidB, Mid$ and MidB$ statements (static semantics).

SetCoercionStaticSemantics

MS-VBAL 5.5.2.1 Set-coercion (static semantics)

StatementStaticSemanticsEvaluator

Recursively walks a real, arbitrarily-nested statement tree, evaluating every expression it contains via ExpressionStaticSemanticsEvaluator, threading the innermost enclosing With block's target type (MS-VBAL §5.6.15) through its body, checking Let/Set assignment coercion validity between an assignment's Target and Value, and checking that every label a jump statement names is defined (MS-VBAL §5.4.2.12–§5.4.2.16, §5.4.4.1, §5.4.4.2).

Structs

StaticSemanticsOptions

What the build and the language a body is analyzed for decide about which of its statements the static pass looks at, and which it rejects.

Enums

DeclarationRules

The rules of DeclarationStaticSemanticsEvaluator that depend on what else is defined.