13 writes to m_ChunkChars
System.Private.CoreLib (13)
src\libraries\System.Private.CoreLib\src\System\Text\StringBuilder.cs (10)
79
m_ChunkChars
= new char[DefaultCapacity];
137
m_ChunkChars
= GC.AllocateUninitializedArray<char>(capacity);
163
m_ChunkChars
= GC.AllocateUninitializedArray<char>(capacity);
217
m_ChunkChars
= GC.AllocateUninitializedArray<char>(persistedCapacity);
284
m_ChunkChars
= newArray;
425
m_ChunkChars
= newArray;
432
m_ChunkChars
= chunk.m_ChunkChars;
2579
m_ChunkChars
= chunkChars;
2603
m_ChunkChars
= from.m_ChunkChars;
2711
m_ChunkChars
= GC.AllocateUninitializedArray<char>(size);
src\System\Text\StringBuilder.CoreCLR.cs (3)
33
m_ChunkChars
= new char[GetReplaceBufferCapacity(newLength)];
49
m_ChunkChars
= new char[GetReplaceBufferCapacity(numChars)];
63
m_ChunkChars
= new char[GetReplaceBufferCapacity(newLength)];
59 references to m_ChunkChars
System.Private.CoreLib (59)
src\libraries\System.Private.CoreLib\src\System\Text\StringBuilder.cs (52)
42
/// This is the number of elements in <see cref="
m_ChunkChars
"/> that are in use, from the start of the buffer.
140
value.AsSpan(startIndex, length).CopyTo(
m_ChunkChars
);
218
persistedString.CopyTo(0,
m_ChunkChars
, 0, persistedString.Length);
238
Debug.Assert(m_ChunkOffset +
m_ChunkChars
.Length >= m_ChunkOffset, "The length of the string is greater than int.MaxValue.");
246
Debug.Assert(currentBlock.
m_ChunkChars
!= null);
248
Debug.Assert(currentBlock.m_ChunkLength <= currentBlock.
m_ChunkChars
.Length);
266
get =>
m_ChunkChars
.Length + m_ChunkOffset;
283
Array.Copy(
m_ChunkChars
, newArray, m_ChunkLength);
329
char[] sourceArray = chunk.
m_ChunkChars
;
417
int capacityToPreserve = Math.Min(Capacity, Math.Max(Length * 6 / 5,
m_ChunkChars
.Length));
419
if (newLen > chunk.
m_ChunkChars
.Length)
424
Array.Copy(chunk.
m_ChunkChars
, newArray, chunk.m_ChunkLength);
431
Debug.Assert(newLen == chunk.
m_ChunkChars
.Length, "The new chunk should be larger or equal to the one it is replacing.");
432
m_ChunkChars = chunk.
m_ChunkChars
;
460
return chunk.
m_ChunkChars
[indexInBlock];
481
chunk.
m_ChunkChars
[indexInBlock] = value;
578
return new ReadOnlyMemory<char>(_currentChunk.
m_ChunkChars
, 0, _currentChunk.m_ChunkLength);
662
char[] chunkChars =
m_ChunkChars
;
692
char[] chunkChars =
m_ChunkChars
;
709
m_ChunkChars
.AsSpan(0, restLength).Fill(value);
845
int length = Math.Min(
m_ChunkChars
.Length - m_ChunkLength, count);
849
Debug.Assert(m_ChunkLength == 0 &&
m_ChunkChars
.Length >= count);
852
value.CopyTo(startIndex, new Span<char>(
m_ChunkChars
, m_ChunkLength, length), length);
921
new ReadOnlySpan<char>(chunk.
m_ChunkChars
, chunkStartIndex, chunkCount).CopyTo(destination.Slice(curDestIndex));
1006
char[] chars =
m_ChunkChars
;
1026
m_ChunkChars
[0] = value;
2012
if (thisChunk.
m_ChunkChars
[thisChunkIndex] != sbChunk.
m_ChunkChars
[sbChunkIndex])
2038
ReadOnlySpan<char> chunk = new ReadOnlySpan<char>(sbChunk.
m_ChunkChars
, 0, chunk_length);
2109
ReadOnlySpan<char> remainingChunk = chunk.
m_ChunkChars
.AsSpan(indexInChunk, Math.Min(chunk.m_ChunkLength - indexInChunk, count));
2234
Span<char> span = chunk.
m_ChunkChars
.AsSpan(curInChunk, endInChunk - curInChunk);
2272
char[] chunkChars =
m_ChunkChars
;
2311
int firstLength =
m_ChunkChars
.Length - m_ChunkLength;
2314
new ReadOnlySpan<char>(ref value, firstLength).CopyTo(
m_ChunkChars
.AsSpan(m_ChunkLength));
2315
m_ChunkLength =
m_ChunkChars
.Length;
2324
new ReadOnlySpan<char>(ref Unsafe.Add(ref value, firstLength), restLength).CopyTo(
m_ChunkChars
);
2392
Debug.Assert(gapStart < sourceChunk.
m_ChunkChars
.Length, "gap starts at end of buffer. Should not happen");
2398
ReplaceInPlaceAtChunk(ref targetChunk!, ref targetIndexInChunk, ref sourceChunk.
m_ChunkChars
[gapStart], gapEnd - gapStart);
2440
if (value[i] != chunk.
m_ChunkChars
[indexInChunk])
2477
new ReadOnlySpan<char>(ref value, lengthToCopy).CopyTo(chunk.
m_ChunkChars
.AsSpan(indexInChunk));
2523
get => new Span<char>(
m_ChunkChars
, m_ChunkLength,
m_ChunkChars
.Length - m_ChunkLength);
2603
m_ChunkChars = from.
m_ChunkChars
;
2658
if (!doNotMoveFollowingChars && chunk.m_ChunkLength <= DefaultCapacity * 2 && chunk.
m_ChunkChars
.Length - chunk.m_ChunkLength >= count)
2663
chunk.
m_ChunkChars
[i + count] = chunk.
m_ChunkChars
[i];
2677
new ReadOnlySpan<char>(chunk.
m_ChunkChars
, 0, copyCount1).CopyTo(newChunk.
m_ChunkChars
);
2683
new ReadOnlySpan<char>(chunk.
m_ChunkChars
, copyCount1, copyCount2).CopyTo(chunk.
m_ChunkChars
);
2794
new ReadOnlySpan<char>(endChunk.
m_ChunkChars
, endIndexInChunk, copyCount).CopyTo(endChunk.
m_ChunkChars
.AsSpan(copyTargetIndexInChunk));
src\libraries\System.Private.CoreLib\src\System\Text\StringBuilder.Debug.cs (1)
34
chunks[i - 1] = new string(current.
m_ChunkChars
).Replace('\0', '.');
src\System\Text\StringBuilder.CoreCLR.cs (6)
31
if (newLength >
m_ChunkChars
.Length)
36
new Span<char>(newBuffer, newLength).CopyTo(
m_ChunkChars
);
47
if (numChars >
m_ChunkChars
.Length)
52
m_ChunkLength = Encoding.UTF8.GetChars(source,
m_ChunkChars
);
61
if (newLength >
m_ChunkChars
.Length)
68
fixed (char* pChunkChars =
m_ChunkChars
)