Table of Contents

Class InstanceExpressionStaticSemantics

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

MS-VBAL 5.6.11 Instance Expressions (static semantics). The declared type of Me is the type defined by the class module containing the enclosing procedure; using it outside a class module is invalid.

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

Properties

Instance

public static InstanceExpressionStaticSemantics Instance { get; }

Property Value

InstanceExpressionStaticSemantics

Methods

DetermineDeclaredType(StaticEvaluationContext, ExpressionNode, params VBType[])

Determines the declared type of an InstanceExpressionNode — the enclosing class module's own type. Unlike SimpleNameExpressionNode, Me is never resolved by name: it identifies the module enclosing context's own scope directly.

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

Parameters

context StaticEvaluationContext

The compile-time context this expression is evaluated against.

expression ExpressionNode

The InstanceExpressionNode being evaluated.

operandDeclaredTypes VBType[]

Unused — an instance expression has no operands.

Returns

StaticSemanticsEvaluationResult

Exceptions

ArgumentException

expression is not an InstanceExpressionNode.