Files
2026-08-27 10:56:38 -06:00

31 lines
625 B
C#

namespace Microsoft.CodeAnalysis.CSharp;
internal interface IValueSet
{
bool IsEmpty { get; }
ConstantValue? Sample { get; }
IValueSet Intersect(IValueSet other);
IValueSet Union(IValueSet other);
IValueSet Complement();
bool Any(BinaryOperatorKind relation, ConstantValue value);
bool All(BinaryOperatorKind relation, ConstantValue value);
}
internal interface IValueSet<T> : IValueSet
{
IValueSet<T> Intersect(IValueSet<T> other);
IValueSet<T> Union(IValueSet<T> other);
new IValueSet<T> Complement();
bool Any(BinaryOperatorKind relation, T value);
bool All(BinaryOperatorKind relation, T value);
}