Struct LetCoercionAnalysisContext
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
nodeIdSyntaxNodeIdThe
Identityof the node being evaluated.nopResultLetCoercionResultThe 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
nodeIdSyntaxNodeIdThe
Identityof the associated expression node.resultLetCoercionResultThe result of the let-coercion operation.
flagsConversionSemanticFlagsThe semantic flags associated with this context.
Properties
Flags
The semantic flags associated with this context.
public ConversionSemanticFlags Flags { get; }
Property Value
NodeId
The Identity of the associated expression node.
public SyntaxNodeId NodeId { get; }
Property Value
Result
The result of the let-coercion operation.
public LetCoercionResult Result { get; }
Property Value
Methods
Merge(LetCoercionAnalysisContext)
Returns a new LetCoercionAnalysisContext containing the specified evaluation frames and their respective result.
public LetCoercionAnalysisContext Merge(LetCoercionAnalysisContext context)
Parameters
contextLetCoercionAnalysisContextThe sub-coercion analysis context to merge into this one.