2 writes to Chain
WindowsBase (2)
Base\MS\Internal\PriorityQueue.cs (2)
209item.Chain = chain; 305item.Chain = null;
18 references to Chain
WindowsBase (18)
Base\MS\Internal\PriorityQueue.cs (18)
104Debug.Assert(item.Chain != null, "PriorityQueue.RemoveItem: a chain should exist."); 106PriorityChain<T> chain = item.Chain; 194if(after.Chain == chain) 207Debug.Assert(item.Chain == null && item.PriorityPrev == null && item.PriorityNext == null, "PriorityQueue.InsertItemInPriorityChain: item must not already be in a priority chain."); 242Debug.Assert(item.Chain.Tail == after, "PriorityQueue.InsertItemInPriorityChain: the chain's tail should be the item we are inserting after."); 254Debug.Assert(item.Chain != null, "PriorityQueue.RemoveItemFromPriorityChain: a chain should exist."); 259Debug.Assert(item.Chain.Head != item, "PriorityQueue.RemoveItemFromPriorityChain: the head should not point to this item."); 265Debug.Assert(item.Chain.Head == item, "PriorityQueue.RemoveItemFromPriorityChain: the head should point to this item."); 267item.Chain.Head = item.PriorityNext; 273Debug.Assert(item.Chain.Tail != item, "PriorityQueue.RemoveItemFromPriorityChain: the tail should not point to this item."); 279Debug.Assert(item.Chain.Tail == item, "PriorityQueue.RemoveItemFromPriorityChain: the tail should point to this item."); 281item.Chain.Tail = item.PriorityPrev; 286item.Chain.Count--; 287if(item.Chain.Count == 0) 289if(item.Chain.Priority == (DispatcherPriority) _priorityChains.Keys[_priorityChains.Count - 1]) 295_priorityChains.Remove((int) item.Chain.Priority); 300item.Chain.Priority = DispatcherPriority.Invalid; // NOTE: should be Priority.Invalid 301_cacheReusableChains.Push(item.Chain);