1 interface inheriting from IConstantValueSetFactory
Microsoft.CodeAnalysis.CSharp (1)
Utilities\IConstantValueSetFactory.cs (1)
50internal interface IConstantValueSetFactory<T> : IConstantValueSetFactory
3 implementations of IConstantValueSetFactory
Microsoft.CodeAnalysis.CSharp (3)
Utilities\ValueSetFactory.DecimalValueSetFactory.cs (1)
11private sealed class DecimalValueSetFactory : IConstantValueSetFactory<decimal>, IConstantValueSetFactory
Utilities\ValueSetFactory.NintValueSetFactory.cs (1)
13private sealed class NintValueSetFactory : IConstantValueSetFactory<int>, IConstantValueSetFactory
Utilities\ValueSetFactory.NuintValueSetFactory.cs (1)
13private sealed class NuintValueSetFactory : IConstantValueSetFactory<uint>, IConstantValueSetFactory
62 references to IConstantValueSetFactory
Microsoft.CodeAnalysis.CSharp (56)
Binder\DecisionDagBuilder.cs (2)
1157var fac = ValueSetFactory.ForInput(output); 1760IConstantValueSetFactory? valueFac = ValueSetFactory.ForInput(input);
Binder\PatternExplainer.cs (1)
727IConstantValueSet computeRemainingValues(IConstantValueSetFactory fac, ImmutableArray<(BoundDagTest test, bool sense)> constraints)
BoundTree\BoundDecisionDag.cs (1)
193var f = ValueSetFactory.ForType(input.Type);
Lowering\LocalRewriter\LocalRewriter.DecisionDagRewriter.cs (4)
554IConstantValueSetFactory fac = ValueSetFactory.ForInput(input); 562IConstantValueSetFactory fac) 621IConstantValueSetFactory fac) 706private readonly IConstantValueSetFactory _fac;
Utilities\IConstantValueSetFactory.cs (1)
10/// A value set factory, which can be used to create a value set instance. A given instance of <see cref="IConstantValueSetFactory"/>
Utilities\ValueSetFactory.BoolValueSetFactory.cs (6)
24IConstantValueSet IConstantValueSetFactory.AllValues => BoolValueSet.AllValues; 26IConstantValueSet IConstantValueSetFactory.NoValues => BoolValueSet.None; 42IConstantValueSet IConstantValueSetFactory.Random(int expectedSize, Random random) => random.Next(4) switch 51ConstantValue IConstantValueSetFactory.RandomValue(Random random) => ConstantValue.Create(random.NextDouble() < 0.5); 53IConstantValueSet IConstantValueSetFactory.Related(BinaryOperatorKind relation, ConstantValue value) 58bool IConstantValueSetFactory.Related(BinaryOperatorKind relation, ConstantValue left, ConstantValue right)
Utilities\ValueSetFactory.cs (3)
33public static IConstantValueSetFactory? ForSpecialType(SpecialType specialType, bool isNative = false) 57public static IConstantValueSetFactory? ForType(TypeSymbol type) 65public static IConstantValueSetFactory? ForInput(BoundDagTemp input)
Utilities\ValueSetFactory.DecimalValueSetFactory.cs (6)
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); 25ConstantValue IConstantValueSetFactory.RandomValue(Random random) => ConstantValue.Create(DecimalTC.Instance.Random(random)); 27IConstantValueSet IConstantValueSetFactory.Related(BinaryOperatorKind relation, ConstantValue value) => 30bool IConstantValueSetFactory.Related(BinaryOperatorKind relation, ConstantValue left, ConstantValue right) => _underlying.Related(relation, left, right);
Utilities\ValueSetFactory.EnumeratedValueSetFactory.cs (5)
21IConstantValueSet IConstantValueSetFactory.AllValues => EnumeratedValueSet<T>.AllValues(_tc); 23IConstantValueSet IConstantValueSetFactory.NoValues => EnumeratedValueSet<T>.NoValues(_tc); 38IConstantValueSet IConstantValueSetFactory.Related(BinaryOperatorKind relation, ConstantValue value) => 41bool IConstantValueSetFactory.Related(BinaryOperatorKind relation, ConstantValue left, ConstantValue right) 58ConstantValue IConstantValueSetFactory.RandomValue(Random random)
Utilities\ValueSetFactory.FloatingValueSetFactory.cs (6)
20IConstantValueSet IConstantValueSetFactory.AllValues => FloatingValueSet<TFloating>.AllValues(_tc); 22IConstantValueSet IConstantValueSetFactory.NoValues => FloatingValueSet<TFloating>.NoValues(_tc); 27IConstantValueSet IConstantValueSetFactory.Random(int expectedSize, Random random) => 30ConstantValue IConstantValueSetFactory.RandomValue(Random random) 35IConstantValueSet IConstantValueSetFactory.Related(BinaryOperatorKind relation, ConstantValue value) => 40bool IConstantValueSetFactory.Related(BinaryOperatorKind relation, ConstantValue left, ConstantValue right)
Utilities\ValueSetFactory.NintValueSetFactory.cs (6)
19IConstantValueSet IConstantValueSetFactory.AllValues => NintValueSet.AllValues; 21IConstantValueSet IConstantValueSetFactory.NoValues => NintValueSet.NoValues; 32IConstantValueSet IConstantValueSetFactory.Random(int expectedSize, Random random) 41ConstantValue IConstantValueSetFactory.RandomValue(Random random) => ConstantValue.CreateNativeInt(IntTC.DefaultInstance.Random(random)); 43IConstantValueSet IConstantValueSetFactory.Related(BinaryOperatorKind relation, ConstantValue value) 48bool IConstantValueSetFactory.Related(BinaryOperatorKind relation, ConstantValue left, ConstantValue right)
Utilities\ValueSetFactory.NonNegativeIntValueSetFactory.cs (4)
53IConstantValueSet IConstantValueSetFactory.Random(int expectedSize, Random random) => s_underlying.Random(expectedSize, random); 55ConstantValue IConstantValueSetFactory.RandomValue(Random random) => s_underlying.RandomValue(random); 57IConstantValueSet IConstantValueSetFactory.Related(BinaryOperatorKind relation, ConstantValue value) => 60bool IConstantValueSetFactory.Related(BinaryOperatorKind relation, ConstantValue left, ConstantValue right) => s_underlying.Related(relation, left, right);
Utilities\ValueSetFactory.NuintValueSetFactory.cs (6)
19IConstantValueSet IConstantValueSetFactory.AllValues => NuintValueSet.AllValues; 21IConstantValueSet IConstantValueSetFactory.NoValues => NuintValueSet.NoValues; 31IConstantValueSet IConstantValueSetFactory.Random(int expectedSize, Random random) 39ConstantValue IConstantValueSetFactory.RandomValue(Random random) => ConstantValue.CreateNativeUInt(UIntTC.Instance.Random(random)); 41IConstantValueSet IConstantValueSetFactory.Related(BinaryOperatorKind relation, ConstantValue value) 46bool IConstantValueSetFactory.Related(BinaryOperatorKind relation, ConstantValue left, ConstantValue right)
Utilities\ValueSetFactory.NumericValueSetFactory.cs (5)
23IConstantValueSet IConstantValueSetFactory.AllValues => NumericValueSet<T>.AllValues(_tc); 25IConstantValueSet IConstantValueSetFactory.NoValues => NumericValueSet<T>.NoValues(_tc); 52IConstantValueSet IConstantValueSetFactory.Related(BinaryOperatorKind relation, ConstantValue value) => 58ConstantValue IConstantValueSetFactory.RandomValue(Random random) 63bool IConstantValueSetFactory.Related(BinaryOperatorKind relation, ConstantValue left, ConstantValue right)
Microsoft.CodeAnalysis.CSharp.Semantic.UnitTests (6)
Utilities\ValueSetTests.cs (6)
594foreach (var fac in new IConstantValueSetFactory[] { 618foreach (var fac in new IConstantValueSetFactory[] { 855var ctors = new IConstantValueSetFactory[] 876foreach (IConstantValueSetFactory fac in ctors)