Table of Contents

Class TypeOfIsExpressionStaticSemantics

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

MS-VBAL 5.6.7 TypeOf...Is Expressions (static semantics). Always classified as a value with a declared type of Boolean; Operand must have a declared type of a specific UDT, a specific class, Object, or Variant.

public sealed record TypeOfIsExpressionStaticSemantics : IStaticSemantics, IEquatable<TypeOfIsExpressionStaticSemantics>
Inheritance
TypeOfIsExpressionStaticSemantics
Implements
Inherited Members

Properties

Instance

The shared instance — this rule has no state of its own.

public static TypeOfIsExpressionStaticSemantics Instance { get; }

Property Value

TypeOfIsExpressionStaticSemantics

Methods

DetermineDeclaredType(StaticEvaluationContext, ExpressionNode, params VBType[])

Determines the declared type of a TypeOfIsExpressionNode — always VBBooleanType, provided Operand's declared type satisfies MS-VBAL 5.6.7's classification requirement.

public StaticSemanticsEvaluationResult DetermineDeclaredType(StaticEvaluationContext context, ExpressionNode expression, params VBType[] operandDeclaredTypes)

Parameters

context StaticEvaluationContext

The compile-time context this expression is evaluated against. Unused — validity here depends only on the operand's own declared type.

expression ExpressionNode

The TypeOfIsExpressionNode being evaluated.

operandDeclaredTypes VBType[]

Operand's already-determined declared type, at TypeOfIsOperand. TypeExpression names a type, not a value — MS-VBAL 5.6.7 places no static requirement on it, only on the operand's classification.

Returns

StaticSemanticsEvaluationResult

Exceptions

ArgumentException

expression is not a TypeOfIsExpressionNode.