1 instantiation of DagState
Microsoft.CodeAnalysis.CSharp (1)
Binder\DecisionDagBuilder.cs (1)
1888private static readonly ObjectPool<DagState> s_dagStatePool = new ObjectPool<DagState>(static () => new DagState());
49 references to DagState
Microsoft.CodeAnalysis.CSharp (49)
Binder\DecisionDagBuilder.cs (49)
42/// the initial state in a <see cref="DagState"/>, and then for each such state description we decide what the test 44/// represented by a <see cref="DagState"/> is a collection of partially matched cases represented by <see 45/// cref="StateForCase"/>. When we have computed <see cref="DagState"/> descriptions for all of the states, we 55private static readonly ObjectPool<PooledDictionary<DagState, DagState>> s_uniqueStatePool = 56PooledDictionary<DagState, DagState>.CreatePool(DagStateEquivalence.Instance); 788PooledDictionary<DagState, DagState> uniqueState = s_uniqueStatePool.Allocate(); 863Dictionary<DagState, DagState> uniqueState) 868using var workList = TemporaryArray<DagState>.Empty; 876DagState uniquifyState(FrozenArrayBuilder<StateForCase> cases, ImmutableDictionary<BoundDagTemp, IValueSet> remainingValues) 878var state = DagState.GetInstance(cases, remainingValues); 879if (uniqueState.TryGetValue(state, out DagState? existingState)) 933var initialState = uniquifyState(new 941DagState state = workList.RemoveLast(); 1019/// Compute the <see cref="BoundDecisionDag"/> corresponding to each <see cref="DagState"/> of the given <see cref="DecisionDag"/> 1020/// and store it in <see cref="DagState.Dag"/>. 1028bool wasAcyclic = decisionDag.TryGetTopologicallySortedReachableStates(out ImmutableArray<DagState> sortedStates); 1052var state = sortedStates[i]; 1118DagState state, 1133DagState state, 1459DagState state, 1662public readonly DagState RootNode; 1663public DecisionDag(DagState rootNode) 1671private static void AddSuccessor(ref TemporaryArray<DagState> builder, DagState state) 1680/// <param name="result">Topologically sorted <see cref="DagState"/> nodes.</param> 1682public bool TryGetTopologicallySortedReachableStates(out ImmutableArray<DagState> result) 1699var stateIdentifierMap = PooledDictionary<DagState, int>.GetInstance(); 1722foreach (DagState state in allStates) 1888private static readonly ObjectPool<DagState> s_dagStatePool = new ObjectPool<DagState>(static () => new DagState()); 1913public DagState? TrueBranch, FalseBranch; 1923/// Created an instance of <see cref="DagState"/>. Will take ownership of <paramref name="cases"/>. That 1927public static DagState GetInstance(FrozenArrayBuilder<StateForCase> cases, ImmutableDictionary<BoundDagTemp, IValueSet> remainingValues) 1929var dagState = s_dagStatePool.Allocate(); 1985private sealed class DagStateEquivalence : IEqualityComparer<DagState> 1991public bool Equals(DagState? x, DagState? y) 2010public int GetHashCode(DagState x) 2114DagState state, 2138DagState state, 2159DagState state, 2183DagState state, 2350DagState state, 2377DagState state,