Namespace RDCore.SDK.Semantics.Static
Classes
- ArgumentTypedFunctions
The functions of the standard library whose call is of the declared type of its argument:
Abs,IntandFixof a numeric value.
- BarePrintStaticSemantics
Where a
Printstatement with no file number is a statement at all.
- ByValArgumentStaticSemantics
RD-VBAL §5.6.13.1: where an argument can be written
ByVal, as MS-VBA compiles it (recorded in Excel), which is not where MS-VBAL §5.6.13.1 says - only before an argument of an external procedure.
- ClassModuleEventSemantics
The static semantics of what a class module declares about events: its
Eventdeclarations (MS-VBAL §5.2.4.3), itsWithEventsvariables (§5.2.3.1.2) and the procedures that handle an event of one (§5.3.1.8).
- ConstantExpressionStaticSemantics
Whether the value of a constant is a constant expression (MS-VBAL §5.6.16.1): one that is evaluated once, statically, as MS-VBA evaluates it (recorded in Excel).
- CurrentTypes
The class a declaration is of, as the composition has it now.
- DeclarationShadowing
Tells what a local or a parameter hides (Hides): what its name means in the rest of the module.
- 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
Exitstatement 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
Namestatement that sits beside them (RD-VBAL §5.4.5.13).
- FormControlExtender
What a form adds to each of its controls: the members and events of the Microsoft Forms
Controlclass, the extender every control of a form is wrapped in.
- GraphicsStatementStaticSemantics
Where a
Circle,Line,PSetorScalestatement draws.
- ImplementsSemantics
The static semantics of the
Implementsdirectives 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)
- MemberRoles
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 itsWithEventsvariables (MS-VBAL §5.3.1.8, §5.3.1.9).
- MidStatementStaticSemantics
MS-VBAL §5.4.3.5 the
Mid,MidB,Mid$andMidB$statements (static semantics).
- NameClassificationStaticSemantics
What a name is classified as when it is no value (MS-VBAL §5.6.10, §5.6.12): a project, a procedural module, an enumeration. Each qualifies the names of what it declares (
VBA.Len,Strings.Left,Color.Red), and none is a value, a variable or a procedure by itself.
- ObjectClassInference
What a variable of no particular class - declared
ObjectorVariant- is known to hold, from the code that assigns it: the classes of the objects it isSetto that are created by name (ObjectCreationFact), its candidate classes.
- ObjectValueStaticSemantics
What an object is where a value is expected, at compile time: the static half of MS-VBAL §5.5.1.2.13's simple data value (MS-VBAL §5.5.1.1).
- ParamArrayStaticSemantics
What a
ParamArrayparameter may be given to:Invalid ParamArray use(InvalidParamArrayUse) where it is passed as the argument of aByRefparameter of a procedure of the code's own (MS-VBAL §5.3.1.11).
- PublicMemberSemantics
The static semantics of what a module exposes: which types a public member may be declared with, and which members an object module may expose at all (MS-VBAL §5.2.3.1, §5.2.3.3, §5.3.1).
- ReservedNameStaticSemantics
The functions of the standard library whose names are reserved names (MS-VBAL §3.3.5.2), which MS-VBA parses with the arguments they take:
Abs,Fix,Int,Sgn,Len,LenB, the conversion functions, andString.
- 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
Withblock's target type (MS-VBAL §5.6.15) through its body, checkingLet/Setassignment coercion validity between an assignment'sTargetandValue, 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.
- ValueDestination
What a place that expects a value expects of an object, at compile time: what ObjectValueStaticSemantics checks the object it is given against (MS-VBAL §5.5.1.1, as MS-VBA compiles it).