1 interface inheriting from IValueSet
Microsoft.CodeAnalysis.CSharp (1)
Utilities\IValueSet.cs (1)
34
internal interface IConstantValueSet :
IValueSet
3 implementations of IValueSet
Microsoft.CodeAnalysis.CSharp (3)
Utilities\TypeUnionValueSet.cs (1)
19
internal sealed class TypeUnionValueSet :
IValueSet
Utilities\ValueSetFactory.NintValueSet.cs (1)
15
private sealed class NintValueSet : IConstantValueSet<int>,
IValueSet
Utilities\ValueSetFactory.NuintValueSet.cs (1)
15
private sealed class NuintValueSet : IConstantValueSet<uint>,
IValueSet
124 references to IValueSet
Microsoft.CodeAnalysis.CSharp (107)
Binder\DecisionDagBuilder.cs (46)
1273
DagState uniquifyState(FrozenArrayBuilder<StateForCase> cases, ImmutableDictionary<BoundDagTemp,
IValueSet
> remainingValues)
1286
var newRemainingValues = ImmutableDictionary.CreateBuilder<BoundDagTemp,
IValueSet
>();
1291
if (existingState.RemainingValues.TryGetValue(dagTemp, out
var
existingValuesForTemp))
1293
var
newExistingValuesForTemp = existingValuesForTemp.Union(valuesForTemp);
1299
!existingState.RemainingValues.All(kv => newRemainingValues.TryGetValue(kv.Key, out
IValueSet
? values) && kv.Value.Equals(values)))
1332
ImmutableDictionary<BoundDagTemp,
IValueSet
>.Empty);
1674
IValueSet
? whenTrueValues,
1675
IValueSet
? whenFalseValues,
1689
out ImmutableDictionary<BoundDagTemp,
IValueSet
> whenTrueValues,
1691
out ImmutableDictionary<BoundDagTemp,
IValueSet
> whenFalseValues,
1703
whenTrueValues.TryGetValue(test.Input, out
IValueSet
? whenTrueValuesOpt);
1704
whenFalseValues.TryGetValue(test.Input, out
IValueSet
? whenFalseValuesOpt);
1726
ImmutableDictionary<BoundDagTemp,
IValueSet
> whenTrueValues,
1727
ImmutableDictionary<BoundDagTemp,
IValueSet
> whenFalseValues,
1731
ImmutableDictionary<BoundDagTemp,
IValueSet
> values,
1753
ImmutableDictionary<BoundDagTemp,
IValueSet
> whenTrueValues,
1754
ImmutableDictionary<BoundDagTemp,
IValueSet
> whenFalseValues,
1772
ImmutableDictionary<BoundDagTemp,
IValueSet
> whenTrueValues,
1773
ImmutableDictionary<BoundDagTemp,
IValueSet
> whenFalseValues,
1776
splitValues<TValueSet>(ImmutableDictionary<BoundDagTemp,
IValueSet
> values, BoundDagTemp input, TValueSet fromTestPassing) where TValueSet :
IValueSet
1779
if (values.TryGetValue(input, out
IValueSet
? tempValuesBeforeTest))
1790
ImmutableDictionary<BoundDagTemp,
IValueSet
> whenTrueValues,
1791
ImmutableDictionary<BoundDagTemp,
IValueSet
> whenFalseValues,
1816
ImmutableDictionary<BoundDagTemp,
IValueSet
> whenTrueValues,
1817
ImmutableDictionary<BoundDagTemp,
IValueSet
> whenFalseValues,
1837
ImmutableDictionary<BoundDagTemp,
IValueSet
> whenTrueValues,
1838
ImmutableDictionary<BoundDagTemp,
IValueSet
> whenFalseValues,
1928
IValueSet
? whenTrueValues,
1929
IValueSet
? whenFalseValues,
2071
IValueSet
? whenFalseValues,
2977
public ImmutableDictionary<BoundDagTemp,
IValueSet
> RemainingValues { get; private set; } = null!;
3006
public static DagState GetInstance(FrozenArrayBuilder<StateForCase> cases, ImmutableDictionary<BoundDagTemp,
IValueSet
> remainingValues)
3050
internal void UpdateRemainingValues(ImmutableDictionary<BoundDagTemp,
IValueSet
> newRemainingValues)
3194
IValueSet
? whenTrueValues,
3195
IValueSet
? whenFalseValues,
3337
IValueSet
? whenTrueValues,
3338
IValueSet
? whenFalseValues,
3361
IValueSet
? whenTrueValues,
3362
IValueSet
? whenFalseValues,
3388
IValueSet
? whenTrueValues,
3389
IValueSet
? whenFalseValues,
3992
IValueSet
? whenTrueValues,
3993
IValueSet
? whenFalseValues,
4019
IValueSet
? whenTrueValues,
4020
IValueSet
? whenFalseValues,
Utilities\IValueSet.cs (6)
21
IValueSet
Intersect(
IValueSet
other);
26
IValueSet
Union(
IValueSet
other);
31
IValueSet
Complement();
66
/// An interface representing a set of values of a specific type. Like <see cref="
IValueSet
"/> but strongly typed to <typeparamref name="T"/>.
Utilities\TypeUnionValueSet.cs (8)
276
IValueSet
IValueSet
.Complement()
281
IValueSet
IValueSet
.Intersect(
IValueSet
other)
286
IValueSet
IValueSet
.Union(
IValueSet
other)
Utilities\ValueSetFactory.BoolValueSet.cs (7)
75
IValueSet
IValueSet
.Complement() => this.Complement();
85
public
IValueSet
Intersect(
IValueSet
other) => this.Intersect((IConstantValueSet<bool>)other);
95
IValueSet
IValueSet
.Union(
IValueSet
other) => this.Union((IConstantValueSet<bool>)other);
Utilities\ValueSetFactory.EnumeratedValueSet.cs (8)
115
IValueSet
IValueSet
.Complement() => this.Complement();
138
IValueSet
IValueSet
.Intersect(
IValueSet
other) => Intersect((IConstantValueSet<T>)other);
161
IValueSet
IValueSet
.Union(
IValueSet
other) => Union((IConstantValueSet<T>)other);
Utilities\ValueSetFactory.FloatingValueSet.cs (8)
111
IValueSet
IValueSet
.Intersect(
IValueSet
other) => this.Intersect((IConstantValueSet<TFloating>)other);
126
IValueSet
IValueSet
.Union(
IValueSet
other) => this.Union((IConstantValueSet<TFloating>)other);
136
IValueSet
IValueSet
.Complement() => this.Complement();
Utilities\ValueSetFactory.NintValueSet.cs (8)
96
IValueSet
IValueSet
.Complement() => this.Complement();
108
IValueSet
IValueSet
.Intersect(
IValueSet
other) => this.Intersect((NintValueSet)other);
120
IValueSet
IValueSet
.Union(
IValueSet
other) => this.Union((NintValueSet)other);
Utilities\ValueSetFactory.NuintValueSet.cs (8)
82
IValueSet
IValueSet
.Complement() => this.Complement();
93
IValueSet
IValueSet
.Intersect(
IValueSet
other) => this.Intersect((NuintValueSet)other);
104
IValueSet
IValueSet
.Union(
IValueSet
other) => this.Union((NuintValueSet)other);
Utilities\ValueSetFactory.NumericValueSet.cs (8)
160
IValueSet
IValueSet
.Complement() => this.Complement();
237
IValueSet
IValueSet
.Intersect(
IValueSet
other) => this.Intersect((IConstantValueSet<T>)other);
288
IValueSet
IValueSet
.Union(
IValueSet
other) => this.Union((IConstantValueSet<T>)other);
Microsoft.CodeAnalysis.CSharp.Semantic.UnitTests (17)
Utilities\ValueSetTests.cs (17)
400
IValueSet
b = t;
420
IValueSet
b = s1;
430
IValueSet
b = s1;
434
var
s3 = b.Complement().Intersect(s2.Complement());
436
var
s4 = b.Union(s2).Complement();
605
var
u1 = s1.Union(s2);
606
var
u2 = s1.Complement().Intersect(s2.Complement()).Complement();
608
var
i1 = s1.Intersect(s2);
609
var
i2 = s1.Complement().Union(s2.Complement()).Complement();
662
var
u1 = s1.Union(s2);
663
var
u2 = s1.Complement().Intersect(s2.Complement()).Complement();
664
var
u3 = s2.Union(s1);
665
var
u4 = s2.Complement().Intersect(s1.Complement()).Complement();
670
var
i1 = s1.Intersect(s2);
671
var
i2 = s1.Complement().Union(s2.Complement()).Complement();
672
var
i3 = s2.Intersect(s1);
673
var
i4 = s2.Complement().Union(s1.Complement()).Complement();