Table of Contents

Interface IAnalysisProvider

Namespace
RDCore.SDK.Semantics.Analysis
Assembly
RDCore.SDK.dll

An abstraction that represents a set of registered analyzer plug-ins that can analyze a set of specific semantic operations.

public interface IAnalysisProvider

Methods

AnalyzeLetCoercionSemantics<TContext, TFlags>(SemanticContextBuilder<ConversionOperationSemanticContext, ConversionSemanticFlags>, VBOperatorExpression<TContext, TFlags>, VBType, VBTypedValue, VBTypedValue?)

Instructs analyzer plug-ins to build a semantic context for the specified let coercion operation context.

void AnalyzeLetCoercionSemantics<TContext, TFlags>(SemanticContextBuilder<ConversionOperationSemanticContext, ConversionSemanticFlags> context, VBOperatorExpression<TContext, TFlags> expression, VBType destinationDeclaredType, VBTypedValue sourceValue, VBTypedValue? resultValue) where TContext : SemanticContext<TFlags>, new() where TFlags : struct, Enum

Parameters

context SemanticContextBuilder<ConversionOperationSemanticContext, ConversionSemanticFlags>

A builder for the semantic context of the let-coercion operation under scrutiny.

expression VBOperatorExpression<TContext, TFlags>

The operator expression under scrutiny.

destinationDeclaredType VBType

The destination declared type of the expression.

sourceValue VBTypedValue

A typed value being let-coerced to the destination declared type.

resultValue VBTypedValue

The typed value resulting from the let-coercion operation. null if the operation is a type mismatch, in which case a runtime error diagnostic has already been attached to the semantic context.

Type Parameters

TContext

The type of semantic context specific to the operator expression.

TFlags

The type of semantic flags specific to the semantic context.

AnalyzeOperatorSemantics<TContext, TFlags>(VBOperatorExpression<TContext, TFlags>, VBType, VBTypedValue, VBTypedValue?)

Instructs analyzer plug-ins to build a semantic context for the specified let coercion operation context.

void AnalyzeOperatorSemantics<TContext, TFlags>(VBOperatorExpression<TContext, TFlags> expression, VBType destinationDeclaredType, VBTypedValue sourceValue, VBTypedValue? resultValue) where TContext : SemanticContext<TFlags>, new() where TFlags : struct, Enum

Parameters

expression VBOperatorExpression<TContext, TFlags>

The operator expression under scrutiny.

destinationDeclaredType VBType

The destination declared type of the expression.

sourceValue VBTypedValue

A typed value being let-coerced to the destination declared type.

resultValue VBTypedValue

The typed value resulting from the let-coercion operation. null if the operation is a type mismatch, in which case a runtime error diagnostic has already been attached to the semantic context.

Type Parameters

TContext

The type of semantic context specific to the operator expression.

TFlags

The type of semantic flags specific to the semantic context.