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