Interface IAnalysisProvider
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
contextSemanticContextBuilder<ConversionOperationSemanticContext, ConversionSemanticFlags>A builder for the semantic context of the let-coercion operation under scrutiny.
expressionVBOperatorExpression<TContext, TFlags>The operator expression under scrutiny.
destinationDeclaredTypeVBTypeThe destination declared type of the expression.
sourceValueVBTypedValueA typed value being let-coerced to the destination declared type.
resultValueVBTypedValueThe typed value resulting from the let-coercion operation.
nullif the operation is a type mismatch, in which case a runtime error diagnostic has already been attached to the semantic context.
Type Parameters
TContextThe type of semantic context specific to the operator expression.
TFlagsThe 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
expressionVBOperatorExpression<TContext, TFlags>The operator expression under scrutiny.
destinationDeclaredTypeVBTypeThe destination declared type of the expression.
sourceValueVBTypedValueA typed value being let-coerced to the destination declared type.
resultValueVBTypedValueThe typed value resulting from the let-coercion operation.
nullif the operation is a type mismatch, in which case a runtime error diagnostic has already been attached to the semantic context.
Type Parameters
TContextThe type of semantic context specific to the operator expression.
TFlagsThe type of semantic flags specific to the semantic context.