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