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

◆ EnsureSetAsIsReference()

void System.Runtime.Serialization.ObjectReferenceStack.EnsureSetAsIsReference ( object obj)
inlinepackage

Definition at line 44 of file ObjectReferenceStack.cs.

45 {
46 if (_count == 0)
47 {
48 return;
49 }
50 if (_count > 16)
51 {
54 }
55 else if (_objectArray != null && _objectArray[_count - 1] == obj)
56 {
57 if (_isReferenceArray == null)
58 {
59 _isReferenceArray = new bool[_objectArray.Length];
60 }
61 else if (_count >= _isReferenceArray.Length)
62 {
64 }
65 _isReferenceArray[_count - 1] = true;
66 }
67 }
bool ICollection< KeyValuePair< TKey, TValue > >. Remove(KeyValuePair< TKey, TValue > keyValuePair)

References System.Runtime.Serialization.ObjectReferenceStack._count, System.Runtime.Serialization.ObjectReferenceStack._isReferenceArray, System.Runtime.Serialization.ObjectReferenceStack._objectArray, System.Runtime.Serialization.ObjectReferenceStack._objectDictionary, System.obj, and System.Collections.Generic.Dictionary< TKey, TValue >.Remove().

Referenced by System.Runtime.Serialization.XmlObjectSerializerWriteContext.OnHandleIsReference().