Interface ISemanticFlagsAccumulator<TFlags>
Builds a SemanticContext<TFlags> containing semantic flags but no diagnostics.
public interface ISemanticFlagsAccumulator<TFlags> where TFlags : struct, Enum
Type Parameters
TFlagsThe type of semantic flags being accumulated.
Properties
Flags
Gets the current semantic flags aggregate.
TFlags Flags { get; }
Property Value
- TFlags
Methods
AddFlags(TFlags)
Adds the specified semantic flag(s) to the context.
ISemanticFlagsAccumulator<TFlags> AddFlags(TFlags flags)
Parameters
flagsTFlagsThe semantic flag values.
Returns
- ISemanticFlagsAccumulator<TFlags>
AddLetCoercionFlags(ConversionSemanticFlags, InputIndex)
Adds the specified conversion semantic flags to the context of the specified operand.
ISemanticFlagsAccumulator<TFlags> AddLetCoercionFlags(ConversionSemanticFlags flags, InputIndex operand = InputIndex.BinaryLeftOperand)
Parameters
flagsConversionSemanticFlagsThe semantic flag values.
operandInputIndexThe index of the operand to add let-coercion (implicit conversion) semantic flags for.
Returns
- ISemanticFlagsAccumulator<TFlags>