Struct OperatorAnalysisContext<TFlags>
Encapsulates the context of an Analyze operation as the nullable results of successive operations.
public readonly record struct OperatorAnalysisContext<TFlags> : IEquatable<OperatorAnalysisContext<TFlags>> where TFlags : struct, Enum
Type Parameters
TFlagsThe specific type of semantic flags associated with the operation.
- Implements
-
IEquatable<OperatorAnalysisContext<TFlags>>
- Inherited Members
Constructors
OperatorAnalysisContext(Uri, DetermineOperatorEffectiveTypeResult, LetCoercionAnalysisContext, RuntimeSemanticsEvaluationResult, TFlags)
Encapsulates the context of an Analyze operation as the nullable results of successive operations.
public OperatorAnalysisContext(Uri NodeUri, DetermineOperatorEffectiveTypeResult EffectiveTypeResult, LetCoercionAnalysisContext ValidationResults, RuntimeSemanticsEvaluationResult EvaluationResult, TFlags SemanticFlags)
Parameters
NodeUriUriThe
SemanticIdof the associated expression node.EffectiveTypeResultDetermineOperatorEffectiveTypeResultThe outcome of determining the effective type of the operation, the first step of the evaluation process.
ValidationResultsLetCoercionAnalysisContextThe outcome of validating the operands of the operator expression, which involves let-coercion semantics and possible implicit type conversions. This is the second step of the evaluation process.
EvaluationResultRuntimeSemanticsEvaluationResultThe outcome of evaluating the result in the current execition context, which is the third and last step of the evaluation process.
SemanticFlagsTFlagsThe semantic flags associated with the operation.
Properties
EffectiveTypeResult
The outcome of determining the effective type of the operation, the first step of the evaluation process.
public DetermineOperatorEffectiveTypeResult EffectiveTypeResult { get; init; }
Property Value
EvaluationResult
The outcome of evaluating the result in the current execition context, which is the third and last step of the evaluation process.
public RuntimeSemanticsEvaluationResult EvaluationResult { get; init; }
Property Value
NodeUri
The SemanticId of the associated expression node.
public Uri NodeUri { get; init; }
Property Value
SemanticFlags
The semantic flags associated with the operation.
public TFlags SemanticFlags { get; init; }
Property Value
- TFlags
ValidationResults
The outcome of validating the operands of the operator expression, which involves let-coercion semantics and possible implicit type conversions. This is the second step of the evaluation process.
public LetCoercionAnalysisContext ValidationResults { get; init; }