Table of Contents

Namespace RDCore.SDK.Semantics.Binding

Classes

ArgumentMap

The arguments of a call mapped to the parameters of the procedure it calls (Map(ImmutableArray<VBParameterSymbol>, ImmutableArray<ExpressionNode>)).

ArgumentMapping

Maps the arguments of a call to the parameters of the procedure it calls, and binds how each is passed (MS-VBAL §5.3.1.11).

BoundArgument

The argument a call gives one parameter of the procedure it calls, bound (MS-VBAL §5.3.1.11): which of the arguments written at the call it is, and how it is passed - decided once, from the declarations and the arguments as they are written, rather than each time the call is made.

BoundArray

The Array special form (MS-VBAL §3.3.5.2): a Variant holding an array of its arguments, whose lower bound is the Option Base of the module it is written in.

BoundArrayBound

An LBound or UBound special form (MS-VBAL §3.3.5.2), and its operands.

BoundAssignment

What an assignment binds to: its target and its value, and the plan of the let-coercion of the value to the target.

BoundBinary

A binary operation (MS-VBAL §5.6.9), its operands, and its plan.

BoundCall

A call of a procedure the name before its argument list resolves to (MS-VBAL §5.6.13): a Sub, a Function or a Property Get of the workspace or of a library, by its bare name.

BoundDictionaryAccess

A dictionary access (MS-VBAL §5.6.14): c!key, the default member of the object called with the name after the bang as a String.

BoundError

An expression the static semantics refuse - a compile error (RD-VBAL §2.6.2) - and its run-time counterpart.

BoundExpression

What an expression binds to (IR lowering §3.3): its declared type, or the compile error it is, and for an operation the plan of the operation, made for the declared types of its operands.

BoundIndex

An index expression whose callee is a value (MS-VBAL §5.6.13) - a variable, a variable of a module named through it, what a call returns (F()(1)): an element of the array it is - a(i) - or a call of the default member of the object it is - c(1), which is c.Item(1).

BoundInstance

The Me keyword (MS-VBAL §5.6.11): the object the procedure it is written in was invoked on, which is the procedure's implicit first parameter.

BoundLate

An expression that is bound late: what its name or its type is, is resolved each time it is evaluated, as MS-VBAL's run-time semantics resolve it.

BoundLiteral

A literal (MS-VBAL §5.6.5).

BoundMember

A member of an object whose declared type is a class (MS-VBAL §5.6.12), read - c.Value - or called with the arguments written after it (§5.6.13) - c.Add 1, c.Item(1): a Sub, a Function or a Property Get of the class.

BoundName

A simple name (MS-VBAL §5.6.10), and the symbol it resolves to.

BoundNew

A New expression (MS-VBAL §5.6.10's New keyword, §5.2.3.1.4), and the class it creates an object of.

BoundNode

A node of the bound tree (IR lowering §3.1): an expression, with what the static semantics decided of it once - what a name refers to, the plan of an operation - so that evaluating it does not decide it again.

BoundPrecompilerName

A conditional-compilation constant's name (MS-VBAL §3.4), evaluated where the code reads it.

BoundQualifiedName

A name qualified by the project or the procedural module it is a member of, or by the enumeration it is a member of (MS-VBAL §5.6.12): Constants.vbCrLf, Module1.Count, Color.Red - not a member of a value, but what the name means unqualified there.

BoundTypeOf

A TypeOf … Is expression (MS-VBAL §5.6.9.9), its operand, and the class it tests the operand's object against.

BoundUnary

A unary operation (MS-VBAL §5.6.9), or a pair of parentheses (§5.6.6), and its operand.

BoundVariable

A simple name that is a variable: a parameter, a local or Static variable, or a field (MS-VBAL §5.6.10), whose value is read.

ExpressionBinder

Binds expressions (IR lowering §3.3): each to its declared type, as the static semantics evaluate it, and each operation to its OperationPlan, made for the declared types of its operands - final when they decide it, deferred when a value does.

ExpressionBindings

What the expressions of a tree bind to, recorded as the static semantics evaluate them: an operand before the expression that has it.

FrameLayout

The slots of an activation of a procedure (IR lowering §3.1, D2): one for each of its parameters and of the variables it declares, which a bound name of the procedure is bound to by number rather than looked up by its symbol each time it is read.

Structs

FrameSlot

A slot of a FrameLayout.

Enums

ArgumentMappingError

What goes wrong mapping the arguments of a call to the parameters of the procedure it calls (MS-VBAL §5.3.1.11).

ArgumentPassing

How the argument of a parameter is passed (MS-VBAL §5.3.1.11), as far as the declarations and the argument as it is written decide it.