Table of Contents

Struct OperatorAnalysisContext<TFlags>

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

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

TFlags

The specific type of semantic flags associated with the operation.

Implements
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

NodeUri Uri

The SemanticId of the associated expression node.

EffectiveTypeResult DetermineOperatorEffectiveTypeResult

The outcome of determining the effective type of the operation, the first step of the evaluation process.

ValidationResults LetCoercionAnalysisContext

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.

EvaluationResult RuntimeSemanticsEvaluationResult

The outcome of evaluating the result in the current execition context, which is the third and last step of the evaluation process.

SemanticFlags TFlags

The 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

DetermineOperatorEffectiveTypeResult

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

RuntimeSemanticsEvaluationResult

NodeUri

The SemanticId of the associated expression node.

public Uri NodeUri { get; init; }

Property Value

Uri

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; }

Property Value

LetCoercionAnalysisContext