Terraria v1.4.4.9
Terraria source code documentation
Loading...
Searching...
No Matches

◆ CompleteAllocations()

void System.Text.Json.JsonDocument.MetadataDb.CompleteAllocations ( )
inlinepackage

Definition at line 97 of file JsonDocument.cs.

98 {
99 if (_isLocked)
100 {
101 return;
102 }
103 if (_convertToAlloc)
104 {
105 byte[] data = _data;
106 _data = _data.AsSpan(0, Length).ToArray();
107 _isLocked = true;
108 _convertToAlloc = false;
109 ArrayPool<byte>.Shared.Return(data);
110 }
111 else if (Length <= _data.Length / 2)
112 {
113 byte[] array = ArrayPool<byte>.Shared.Rent(Length);
114 byte[] array2 = array;
115 if (array.Length < _data.Length)
116 {
117 Buffer.BlockCopy(_data, 0, array, 0, Length);
118 array2 = _data;
119 _data = array;
120 }
122 }
123 }
static ArrayPool< T > Shared
Definition ArrayPool.cs:7

References System.Text.Json.JsonDocument.MetadataDb._convertToAlloc, System.Text.Json.JsonDocument.MetadataDb._data, System.Text.Json.JsonDocument.MetadataDb._isLocked, System.array, System.Buffer.BlockCopy(), System.Text.Json.Dictionary, System.Text.Json.JsonDocument.MetadataDb.Length, and System.Buffers.ArrayPool< T >.Shared.