Interface ILetCoercionRuntimeSemantics
Formalizes the interface of let-coercion runtime semantics.
public interface ILetCoercionRuntimeSemantics
Properties
LetCoercionSpecification
Type LetCoercionSpecification { get; }
Property Value
Methods
Analyze(ILetCoercionSemanticContextBuilder, ISymbolResolver, VBOperatorExpression, LetCoercionStackFrame, LetCoercionResult)
Builds the semantic context of a let-coercion operation involving the semantics of a specific VBType.
LetCoercionAnalysisContext Analyze(ILetCoercionSemanticContextBuilder builder, ISymbolResolver resolver, VBOperatorExpression expression, LetCoercionStackFrame frame, LetCoercionResult result)
Parameters
builderILetCoercionSemanticContextBuilderBuilds the semantic context of the conversion operation.
resolverISymbolResolverA symbol lookup service.
expressionVBOperatorExpressionThe
BoundExpressionthat is being evaluated.frameLetCoercionStackFrameThe current stack frame of the coercion operation.
resultLetCoercionResultThe result of the let-coercion operation for the current stack frame.
Returns
- LetCoercionAnalysisContext
An analysis context for this let-coercion operation.
Remarks
🧩 Analyzers (RDCore.Diagnostics and other plug-ins) perform the actual analysis of the semantic context.
EvaluateLetCoercion(ISymbolResolver, VBOperatorExpression, LetCoercionStackFrame)
Evaluates the let-coerced VBTypedValue for the specified effectiveType in the context of the specified expression.
LetCoercionResult EvaluateLetCoercion(ISymbolResolver resolver, VBOperatorExpression expression, LetCoercionStackFrame frame)
Parameters
resolverISymbolResolverA service that can resolve symbols and their values in the current context.
expressionVBOperatorExpressionThe
VBOperatorExpressionthat is being evaluated.frameLetCoercionStackFrameThe 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.