1 interface inheriting from IConstantValueSet
Microsoft.CodeAnalysis.CSharp (1)
Utilities\IValueSet.cs (1)
68internal interface IConstantValueSet<T> : IConstantValueSet
84 references to IConstantValueSet
Microsoft.CodeAnalysis.CSharp (75)
Binder\DecisionDagBuilder.cs (12)
1158IConstantValueSet? values = fac?.Related(rel.Relation.Operator(), rel.ConstantValue); 1163else if (((IConstantValueSet?)values?.Complement())?.IsEmpty != true) 1766var fromTestPassing = valueFac.Related(relation.Operator(), value); 1767(var whenTrueValues, var whenFalseValues, fromTestPassing, var fromTestFailing) = splitValues(values, input, fromTestPassing); 2029var whenTrueConstantValueSet = whenTrueValues as IConstantValueSet; 2032var whenFalseConstantValueSet = whenFalseValues as IConstantValueSet; 3497IConstantValueSet possibleValues = fac.Related(BinaryOperatorKind.LessThanOrEqual, int.MaxValue - offset); 3498IConstantValueSet lengthValues = fac.Related(relation, constant); 3499if (((IConstantValueSet)lengthValues.Intersect(possibleValues)).IsEmpty) 3501if (((IConstantValueSet)lengthValues.Complement().Intersect(possibleValues)).IsEmpty)
Binder\PatternExplainer.cs (8)
566IConstantValueSet remainingValues = computeRemainingValues(fac, constraints); 567if (((IConstantValueSet)remainingValues.Complement()).IsEmpty) 727IConstantValueSet computeRemainingValues(IConstantValueSetFactory fac, ImmutableArray<(BoundDagTest test, bool sense)> constraints) 729IConstantValueSet remainingValues = fac.AllValues; 747IConstantValueSet filtered = fac.Related(relation, value); 749filtered = (IConstantValueSet)filtered.Complement(); 750remainingValues = (IConstantValueSet)remainingValues.Intersect(filtered); 772private static string SampleValueString(IConstantValueSet remainingValues, TypeSymbol type, bool requireExactType, ref bool unnamedEnumValue)
Utilities\IConstantValueSetFactory.cs (4)
18IConstantValueSet Related(BinaryOperatorKind relation, ConstantValue value); 28IConstantValueSet Random(int expectedSize, Random random); 38IConstantValueSet AllValues { get; } 43IConstantValueSet NoValues { get; }
Utilities\ValueSetFactory.BoolValueSet.cs (4)
39bool IConstantValueSet.IsEmpty => !_hasFalse && !_hasTrue; 41ConstantValue IConstantValueSet.Sample => ConstantValue.Create(_hasTrue ? true : _hasFalse ? false : throw new ArgumentException()); 56bool IConstantValueSet.Any(BinaryOperatorKind relation, ConstantValue value) => value.IsBad || Any(relation, value.BooleanValue); 71bool IConstantValueSet.All(BinaryOperatorKind relation, ConstantValue value) => !value.IsBad && All(relation, value.BooleanValue);
Utilities\ValueSetFactory.BoolValueSetFactory.cs (4)
24IConstantValueSet IConstantValueSetFactory.AllValues => BoolValueSet.AllValues; 26IConstantValueSet IConstantValueSetFactory.NoValues => BoolValueSet.None; 42IConstantValueSet IConstantValueSetFactory.Random(int expectedSize, Random random) => random.Next(4) switch 53IConstantValueSet IConstantValueSetFactory.Related(BinaryOperatorKind relation, ConstantValue value)
Utilities\ValueSetFactory.DecimalValueSetFactory.cs (4)
17IConstantValueSet IConstantValueSetFactory.AllValues => NumericValueSet<decimal>.AllValues(DecimalTC.Instance); 19IConstantValueSet IConstantValueSetFactory.NoValues => NumericValueSet<decimal>.NoValues(DecimalTC.Instance); 23IConstantValueSet IConstantValueSetFactory.Random(int expectedSize, Random random) => _underlying.Random(expectedSize, random); 27IConstantValueSet IConstantValueSetFactory.Related(BinaryOperatorKind relation, ConstantValue value) =>
Utilities\ValueSetFactory.EnumeratedValueSet.cs (3)
48ConstantValue IConstantValueSet.Sample 88bool IConstantValueSet.Any(BinaryOperatorKind relation, ConstantValue value) => value.IsBad || Any(relation, _tc.FromConstantValue(value)); 111bool IConstantValueSet.All(BinaryOperatorKind relation, ConstantValue value) => !value.IsBad && All(relation, _tc.FromConstantValue(value));
Utilities\ValueSetFactory.EnumeratedValueSetFactory.cs (4)
21IConstantValueSet IConstantValueSetFactory.AllValues => EnumeratedValueSet<T>.AllValues(_tc); 23IConstantValueSet IConstantValueSetFactory.NoValues => EnumeratedValueSet<T>.NoValues(_tc); 38IConstantValueSet IConstantValueSetFactory.Related(BinaryOperatorKind relation, ConstantValue value) => 47public IConstantValueSet Random(int expectedSize, Random random)
Utilities\ValueSetFactory.FloatingValueSet.cs (3)
51ConstantValue IConstantValueSet.Sample 138bool IConstantValueSet.Any(BinaryOperatorKind relation, ConstantValue value) => 148bool IConstantValueSet.All(BinaryOperatorKind relation, ConstantValue value) => !value.IsBad && All(relation, _tc.FromConstantValue(value));
Utilities\ValueSetFactory.FloatingValueSetFactory.cs (4)
20IConstantValueSet IConstantValueSetFactory.AllValues => FloatingValueSet<TFloating>.AllValues(_tc); 22IConstantValueSet IConstantValueSetFactory.NoValues => FloatingValueSet<TFloating>.NoValues(_tc); 27IConstantValueSet IConstantValueSetFactory.Random(int expectedSize, Random random) => 35IConstantValueSet IConstantValueSetFactory.Related(BinaryOperatorKind relation, ConstantValue value) =>
Utilities\ValueSetFactory.NintValueSet.cs (3)
48ConstantValue? IConstantValueSet.Sample 74bool IConstantValueSet.All(BinaryOperatorKind relation, ConstantValue value) => value.IsBad || All(relation, value.Int32Value); 85bool IConstantValueSet.Any(BinaryOperatorKind relation, ConstantValue value) => value.IsBad || Any(relation, value.Int32Value);
Utilities\ValueSetFactory.NintValueSetFactory.cs (4)
19IConstantValueSet IConstantValueSetFactory.AllValues => NintValueSet.AllValues; 21IConstantValueSet IConstantValueSetFactory.NoValues => NintValueSet.NoValues; 32IConstantValueSet IConstantValueSetFactory.Random(int expectedSize, Random random) 43IConstantValueSet IConstantValueSetFactory.Related(BinaryOperatorKind relation, ConstantValue value)
Utilities\ValueSetFactory.NonNegativeIntValueSetFactory.cs (4)
21public IConstantValueSet AllValues => NumericValueSet<int>.AllValues(IntTC.NonNegativeInstance); 23public IConstantValueSet NoValues => NumericValueSet<int>.NoValues(IntTC.NonNegativeInstance); 53IConstantValueSet IConstantValueSetFactory.Random(int expectedSize, Random random) => s_underlying.Random(expectedSize, random); 57IConstantValueSet IConstantValueSetFactory.Related(BinaryOperatorKind relation, ConstantValue value) =>
Utilities\ValueSetFactory.NuintValueSet.cs (3)
39ConstantValue? IConstantValueSet.Sample 63bool IConstantValueSet.All(BinaryOperatorKind relation, ConstantValue value) => value.IsBad || All(relation, value.UInt32Value); 72bool IConstantValueSet.Any(BinaryOperatorKind relation, ConstantValue value) => value.IsBad || Any(relation, value.UInt32Value);
Utilities\ValueSetFactory.NuintValueSetFactory.cs (4)
19IConstantValueSet IConstantValueSetFactory.AllValues => NuintValueSet.AllValues; 21IConstantValueSet IConstantValueSetFactory.NoValues => NuintValueSet.NoValues; 31IConstantValueSet IConstantValueSetFactory.Random(int expectedSize, Random random) 41IConstantValueSet IConstantValueSetFactory.Related(BinaryOperatorKind relation, ConstantValue value)
Utilities\ValueSetFactory.NumericValueSet.cs (3)
56ConstantValue IConstantValueSet.Sample 107bool IConstantValueSet.Any(BinaryOperatorKind relation, ConstantValue value) => value.IsBad || Any(relation, _tc.FromConstantValue(value)); 129bool IConstantValueSet.All(BinaryOperatorKind relation, ConstantValue value) => !value.IsBad && All(relation, _tc.FromConstantValue(value));
Utilities\ValueSetFactory.NumericValueSetFactory.cs (4)
23IConstantValueSet IConstantValueSetFactory.AllValues => NumericValueSet<T>.AllValues(_tc); 25IConstantValueSet IConstantValueSetFactory.NoValues => NumericValueSet<T>.NoValues(_tc); 52IConstantValueSet IConstantValueSetFactory.Related(BinaryOperatorKind relation, ConstantValue value) => 55public IConstantValueSet Random(int expectedSize, Random random) =>
Microsoft.CodeAnalysis.CSharp.Semantic.UnitTests (9)
Utilities\ValueSetTests.cs (9)
603var s1 = fac.Random(10, Random); 604var s2 = fac.Random(10, Random); 627var s1 = fac.Related(LessThan, value); 628var s2 = fac.Related(GreaterThanOrEqual, value); 657var s1 = ForString.Random(9, Random); 658var s2 = ForString.Random(11, Random); 678s1 = (IConstantValueSet)s1.Complement(); 696s2 = (IConstantValueSet)s2.Complement(); 880IConstantValueSet set = fac.Related(relation, badConstant);