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(SyntaxNodeId, DetermineOperatorEffectiveTypeResult, LetCoercionAnalysisContext, RuntimeSemanticsEvaluationResult, TFlags)

Encapsulates the context of an Analyze operation as the nullable results of successive operations.

public OperatorAnalysisContext(SyntaxNodeId NodeId, DetermineOperatorEffectiveTypeResult EffectiveTypeResult, LetCoercionAnalysisContext ValidationResults, RuntimeSemanticsEvaluationResult EvaluationResult, TFlags SemanticFlags)

Parameters

NodeId SyntaxNodeId

The Identity 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

NodeId

The Identity of the associated expression node.

public SyntaxNodeId NodeId { get; init; }

Property Value

SyntaxNodeId

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