Terraria v1.4.4.9
Terraria source code documentation
All Classes Namespaces Files Functions Variables Enumerations Enumerator Properties Events Macros

◆ Resize() [1/2]

Container System.Runtime.CompilerServices.ConditionalWeakTable< TKey, TValue >.Container.Resize ( )
inlinepackage

Definition at line 236 of file ConditionalWeakTable.cs.

237 {
238 bool flag = false;
239 int newSize = _buckets.Length;
240 if (_parent == null || _parent._activeEnumeratorRefCount == 0)
241 {
242 for (int i = 0; i < _entries.Length; i++)
243 {
245 if (reference.HashCode == -1)
246 {
247 flag = true;
248 break;
249 }
250 if (reference.depHnd.IsAllocated && reference.depHnd.UnsafeGetTarget() == null)
251 {
252 flag = true;
253 break;
254 }
255 }
256 }
257 if (!flag)
258 {
259 newSize = _buckets.Length * 2;
260 }
261 return Resize(newSize);
262 }

References System.Runtime.CompilerServices.ConditionalWeakTable< TKey, TValue >.Container._buckets, System.Runtime.CompilerServices.ConditionalWeakTable< TKey, TValue >.Container._entries, System.Runtime.CompilerServices.ConditionalWeakTable< TKey, TValue >.Container._parent, System.newSize, and System.Runtime.CompilerServices.ConditionalWeakTable< TKey, TValue >.Container.Resize().

Referenced by System.Runtime.CompilerServices.ConditionalWeakTable< TKey, TValue >.CreateEntry(), and System.Runtime.CompilerServices.ConditionalWeakTable< TKey, TValue >.Container.Resize().