2 types derived from Bucket
Microsoft.CodeAnalysis.CodeStyle (2)
ImmutableHashMap.cs (2)
596private abstract class ValueOrListBucket : Bucket 799private sealed class HashBucket : Bucket
25 references to Bucket
Microsoft.CodeAnalysis.CodeStyle (25)
ImmutableHashMap.cs (25)
36private readonly Bucket? _root; 54private ImmutableHashMap(Bucket? root, IEqualityComparer<TKey> comparer, IEqualityComparer<TValue> valueComparer) 176var map = _root; 293var stack = new Stack<IEnumerator<Bucket>>(); 507private ImmutableHashMap<TKey, TValue> Wrap(Bucket? root) 563var stack = new Stack<IEnumerator<Bucket>>(); 590internal abstract Bucket Add(int suggestedHashRoll, ValueBucket bucket, IEqualityComparer<TKey> comparer, IEqualityComparer<TValue> valueComparer, bool overwriteExistingValue); 591internal abstract Bucket? Remove(int hash, TKey key, IEqualityComparer<TKey> comparer); 593internal abstract IEnumerable<Bucket> GetAll(); 631internal override Bucket Add(int suggestedHashRoll, ValueBucket bucket, IEqualityComparer<TKey> comparer, IEqualityComparer<TValue> valueComparer, bool overwriteExistingValue) 666internal override Bucket? Remove(int hash, TKey key, IEqualityComparer<TKey> comparer) 686internal override IEnumerable<Bucket> GetAll() 708internal override Bucket Add(int suggestedHashRoll, ValueBucket bucket, IEqualityComparer<TKey> comparer, IEqualityComparer<TValue> valueComparer, bool overwriteExistingValue) 743internal override Bucket? Remove(int hash, TKey key, IEqualityComparer<TKey> comparer) 795internal override IEnumerable<Bucket> GetAll() 803private readonly Bucket[] _buckets; 813private HashBucket(int hashRoll, uint used, Bucket[] buckets, int count) 850_buckets = new Bucket[2]; 862internal override Bucket Add(int suggestedHashRoll, ValueBucket bucket, IEqualityComparer<TKey> keyComparer, IEqualityComparer<TValue> valueComparer, bool overwriteExistingValue) 869var existing = _buckets[physicalSlot]; 873var added = existing.Add(_hashRoll + 5, bucket, keyComparer, valueComparer, overwriteExistingValue); 893internal override Bucket? Remove(int hash, TKey key, IEqualityComparer<TKey> comparer) 899var existing = _buckets[physicalSlot]; 900var result = existing.Remove(hash, key, comparer); 937internal override IEnumerable<Bucket> GetAll()