Table of Contents

Struct LetCoercionAnalysisContext

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 LetCoercionAnalysisContext : IEquatable<LetCoercionAnalysisContext>
Implements
Inherited Members

Constructors

LetCoercionAnalysisContext(SyntaxNodeId, LetCoercionResult)

Creates a new analysis context for a no-op coercion operation that does not involve a coercion stack frame.

public LetCoercionAnalysisContext(SyntaxNodeId nodeId, LetCoercionResult nopResult)

Parameters

nodeId SyntaxNodeId

The Identity of the node being evaluated.

nopResult LetCoercionResult

The result of the no-op operation.

LetCoercionAnalysisContext(SyntaxNodeId, LetCoercionResult, ConversionSemanticFlags)

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

public LetCoercionAnalysisContext(SyntaxNodeId nodeId, LetCoercionResult result, ConversionSemanticFlags flags)

Parameters

nodeId SyntaxNodeId

The Identity of the associated expression node.

result LetCoercionResult

The result of the let-coercion operation.

flags ConversionSemanticFlags

The semantic flags associated with this context.

Properties

Flags

The semantic flags associated with this context.

public ConversionSemanticFlags Flags { get; }

Property Value

ConversionSemanticFlags

NodeId

The Identity of the associated expression node.

public SyntaxNodeId NodeId { get; }

Property Value

SyntaxNodeId

Result

The result of the let-coercion operation.

public LetCoercionResult Result { get; }

Property Value

LetCoercionResult

Methods

Merge(LetCoercionAnalysisContext)

Returns a new LetCoercionAnalysisContext containing the specified evaluation frames and their respective result.

public LetCoercionAnalysisContext Merge(LetCoercionAnalysisContext context)

Parameters

context LetCoercionAnalysisContext

The sub-coercion analysis context to merge into this one.

Returns

LetCoercionAnalysisContext