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