Table of Contents

Interface ILetCoercionRuntimeSemantics

Namespace
RDCore.SDK.Runtime.Abstract
Assembly
RDCore.SDK.dll

Formalizes the interface of let-coercion runtime semantics.

public interface ILetCoercionRuntimeSemantics

Properties

LetCoercionSpecification

Type LetCoercionSpecification { get; }

Property Value

Type

Methods

Analyze<TContext, TFlags>(ILetCoercionSemanticContextBuilder, ISymbolResolver, VBOperatorExpression<TContext, TFlags>, LetCoercionStackFrame, LetCoercionResult)

Builds the semantic context of a let-coercion operation involving the semantics of a specific VBType.

LetCoercionAnalysisContext Analyze<TContext, TFlags>(ILetCoercionSemanticContextBuilder builder, ISymbolResolver resolver, VBOperatorExpression<TContext, TFlags> expression, LetCoercionStackFrame frame, LetCoercionResult result) where TContext : SemanticContext<TFlags>, new() where TFlags : struct, Enum

Parameters

builder ILetCoercionSemanticContextBuilder

Builds the semantic context of the conversion operation.

resolver ISymbolResolver

A symbol lookup service.

expression VBOperatorExpression<TContext, TFlags>

The BoundExpression that is being evaluated.

frame LetCoercionStackFrame

The current stack frame of the coercion operation.

result LetCoercionResult

The result of the let-coercion operation for the current stack frame.

Returns

LetCoercionAnalysisContext

An analysis context for this let-coercion operation.

Type Parameters

TContext

The type of semantic context of the expression the let-coercion is occurring inside of.

TFlags

The type of semantic flags associated with the semantic context of the expression.

Remarks

🧩 Analyzers (RDCore.Diagnostics and other plug-ins) perform the actual analysis of the semantic context.

EvaluateLetCoercion<TContext, TFlags>(ISymbolResolver, VBOperatorExpression<TContext, TFlags>, LetCoercionStackFrame)

Evaluates the let-coerced VBTypedValue for the specified effectiveType in the context of the specified expression.

LetCoercionResult EvaluateLetCoercion<TContext, TFlags>(ISymbolResolver resolver, VBOperatorExpression<TContext, TFlags> expression, LetCoercionStackFrame frame) where TContext : SemanticContext<TFlags>, new() where TFlags : struct, Enum

Parameters

resolver ISymbolResolver

A service that can resolve symbols and their values in the current context.

expression VBOperatorExpression<TContext, TFlags>

The VBOperatorExpression that is being evaluated.

frame LetCoercionStackFrame

The current stack frame of the coercion operation.

Returns

LetCoercionResult

An object that encapsulates the result of the operation, including any run-time errors to be thrown.

Type Parameters

TContext
TFlags