Class LetCoercionSemanticContextFlagsBuilder
Drops the generic type parameters for a SemanticContextFlagsBuilder<TContext, TFlags> where the semantic context is is a ConversionOperationSemanticContext, with ConversionSemanticFlags.
public record LetCoercionSemanticContextFlagsBuilder : SemanticContextFlagsBuilder<ConversionOperationSemanticContext, ConversionSemanticFlags>, ISemanticContextFlagsBuilder<ConversionOperationSemanticContext, ConversionSemanticFlags>, IEquatable<SemanticContextFlagsBuilder<ConversionOperationSemanticContext, ConversionSemanticFlags>>, ILetCoercionSemanticContextBuilder, ISemanticContextContributor<ConversionOperationSemanticContext, ConversionSemanticFlags>, ISemanticFlagsAccumulator<ConversionSemanticFlags>, IEquatable<LetCoercionSemanticContextFlagsBuilder>
- Inheritance
-
LetCoercionSemanticContextFlagsBuilder
- Implements
- Inherited Members
Methods
AddLetCoercionFlags(ConversionSemanticFlags, InputIndex)
Adds the specified conversion semantic flag(s) to the let-coercion of the specified operand; the flags of one operand accumulate across calls, and are kept apart from the other operands'.
public override ISemanticFlagsAccumulator<ConversionSemanticFlags> AddLetCoercionFlags(ConversionSemanticFlags flags, InputIndex operand)
Parameters
flagsConversionSemanticFlagsThe conversion flag(s) to add.
operandInputIndexThe operand whose let-coercion the flags describe.
Returns
Remarks
The flags are read back per operand with LetCoercionFlagsOf(InputIndex). A builder whose own flags are conversion flags (LetCoercionSemanticContextFlagsBuilder) also contributes them to its Flags: they describe the operation's conversion just as much as they describe the operand's.