Skip to content

Commit 6491ea4

Browse files
Joy-lesslinkdotnet
authored andcommitted
Add scoped everywhere
1 parent 644951e commit 6491ea4

File tree

6 files changed

+29
-29
lines changed

6 files changed

+29
-29
lines changed

src/LinkDotNet.StringBuilder/ValueStringBuilder.Append.cs

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
using System.Runtime.CompilerServices;
1+
using System.Runtime.CompilerServices;
22
using System.Runtime.InteropServices;
33
using System.Text;
44

@@ -54,7 +54,7 @@ public unsafe void Append(bool value)
5454
/// requires more space than the default (36 characters), adjust the value.</param>
5555
/// <typeparam name="T">Any <see cref="ISpanFormattable"/>.</typeparam>
5656
[MethodImpl(MethodImplOptions.AggressiveInlining)]
57-
public void Append<T>(T value, ReadOnlySpan<char> format = default, int bufferSize = 36)
57+
public void Append<T>(T value, scoped ReadOnlySpan<char> format = default, int bufferSize = 36)
5858
where T : ISpanFormattable => AppendSpanFormattable(value, format, bufferSize);
5959

6060
/// <summary>
@@ -181,7 +181,7 @@ public Span<char> AppendSpan(int length)
181181
}
182182

183183
[MethodImpl(MethodImplOptions.AggressiveInlining)]
184-
private void AppendSpanFormattable<T>(T value, ReadOnlySpan<char> format = default, int bufferSize = 36)
184+
private void AppendSpanFormattable<T>(T value, scoped ReadOnlySpan<char> format = default, int bufferSize = 36)
185185
where T : ISpanFormattable
186186
{
187187
var newSize = bufferSize + bufferPosition;

src/LinkDotNet.StringBuilder/ValueStringBuilder.AppendFormat.cs

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@ public ref partial struct ValueStringBuilder
1717
/// </remarks>
1818
[MethodImpl(MethodImplOptions.AggressiveInlining)]
1919
public void AppendFormat<T>(
20-
[StringSyntax(StringSyntaxAttribute.CompositeFormat)] ReadOnlySpan<char> format,
20+
[StringSyntax(StringSyntaxAttribute.CompositeFormat)] scoped ReadOnlySpan<char> format,
2121
T arg)
2222
{
2323
var formatIndex = 0;
@@ -73,7 +73,7 @@ public void AppendFormat<T>(
7373
/// </remarks>
7474
[MethodImpl(MethodImplOptions.AggressiveInlining)]
7575
public void AppendFormat<T1, T2>(
76-
[StringSyntax(StringSyntaxAttribute.CompositeFormat)] ReadOnlySpan<char> format,
76+
[StringSyntax(StringSyntaxAttribute.CompositeFormat)] scoped ReadOnlySpan<char> format,
7777
T1 arg1,
7878
T2 arg2)
7979
{
@@ -141,7 +141,7 @@ public void AppendFormat<T1, T2>(
141141
/// </remarks>
142142
[MethodImpl(MethodImplOptions.AggressiveInlining)]
143143
public void AppendFormat<T1, T2, T3>(
144-
[StringSyntax(StringSyntaxAttribute.CompositeFormat)] ReadOnlySpan<char> format,
144+
[StringSyntax(StringSyntaxAttribute.CompositeFormat)] scoped ReadOnlySpan<char> format,
145145
T1 arg1,
146146
T2 arg2,
147147
T3 arg3)
@@ -215,7 +215,7 @@ public void AppendFormat<T1, T2, T3>(
215215
/// </remarks>
216216
[MethodImpl(MethodImplOptions.AggressiveInlining)]
217217
public void AppendFormat<T1, T2, T3, T4>(
218-
[StringSyntax(StringSyntaxAttribute.CompositeFormat)] ReadOnlySpan<char> format,
218+
[StringSyntax(StringSyntaxAttribute.CompositeFormat)] scoped ReadOnlySpan<char> format,
219219
T1 arg1,
220220
T2 arg2,
221221
T3 arg3,
@@ -295,7 +295,7 @@ public void AppendFormat<T1, T2, T3, T4>(
295295
/// </remarks>
296296
[MethodImpl(MethodImplOptions.AggressiveInlining)]
297297
public void AppendFormat<T1, T2, T3, T4, T5>(
298-
[StringSyntax(StringSyntaxAttribute.CompositeFormat)] ReadOnlySpan<char> format,
298+
[StringSyntax(StringSyntaxAttribute.CompositeFormat)] scoped ReadOnlySpan<char> format,
299299
T1 arg1,
300300
T2 arg2,
301301
T3 arg3,
@@ -360,7 +360,7 @@ public void AppendFormat<T1, T2, T3, T4, T5>(
360360
}
361361

362362
[MethodImpl(MethodImplOptions.AggressiveInlining)]
363-
private static int GetValidArgumentIndex(ReadOnlySpan<char> placeholder, int allowedRange)
363+
private static int GetValidArgumentIndex(scoped ReadOnlySpan<char> placeholder, int allowedRange)
364364
{
365365
if (!int.TryParse(placeholder[1..^1], null, out var argIndex))
366366
{

src/LinkDotNet.StringBuilder/ValueStringBuilder.AppendJoin.cs

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,7 @@ public void AppendJoin(ReadOnlySpan<char> separator, IEnumerable<string?> values
2020
/// <param name="separator">String used as separator between the entries.</param>
2121
/// <param name="values">Enumerable of strings to be concatenated.</param>
2222
[MethodImpl(MethodImplOptions.AggressiveInlining)]
23-
public void AppendJoin(ReadOnlySpan<char> separator, ReadOnlySpan<string?> values)
23+
public void AppendJoin(ReadOnlySpan<char> separator, scoped ReadOnlySpan<string?> values)
2424
=> AppendJoinInternalString(separator, values);
2525

2626
/// <summary>
@@ -29,7 +29,7 @@ public void AppendJoin(ReadOnlySpan<char> separator, ReadOnlySpan<string?> value
2929
/// <param name="separator">Character used as separator between the entries.</param>
3030
/// <param name="values">Enumerable of strings to be concatenated.</param>
3131
[MethodImpl(MethodImplOptions.AggressiveInlining)]
32-
public void AppendJoin(char separator, ReadOnlySpan<string?> values)
32+
public void AppendJoin(char separator, scoped ReadOnlySpan<string?> values)
3333
=> AppendJoinInternalChar(separator, values);
3434

3535
/// <summary>
@@ -57,7 +57,7 @@ public void AppendJoin(Rune separator, IEnumerable<string?> values)
5757
/// <param name="values">Enumerable to be concatenated.</param>
5858
/// <typeparam name="T">Type of the given enumerable.</typeparam>
5959
[MethodImpl(MethodImplOptions.AggressiveInlining)]
60-
public void AppendJoin<T>(ReadOnlySpan<char> separator, IEnumerable<T> values)
60+
public void AppendJoin<T>(scoped ReadOnlySpan<char> separator, IEnumerable<T> values)
6161
=> AppendJoinInternalString(separator, values);
6262

6363
/// <summary>
@@ -67,7 +67,7 @@ public void AppendJoin<T>(ReadOnlySpan<char> separator, IEnumerable<T> values)
6767
/// <param name="values">Enumerable to be concatenated.</param>
6868
/// <typeparam name="T">Type of the given enumerable.</typeparam>
6969
[MethodImpl(MethodImplOptions.AggressiveInlining)]
70-
public void AppendJoin<T>(ReadOnlySpan<char> separator, ReadOnlySpan<T> values)
70+
public void AppendJoin<T>(scoped ReadOnlySpan<char> separator, ReadOnlySpan<T> values)
7171
=> AppendJoinInternalString(separator, values);
7272

7373
/// <summary>
@@ -87,7 +87,7 @@ public void AppendJoin<T>(char separator, IEnumerable<T> values)
8787
/// <param name="values">Enumerable to be concatenated.</param>
8888
/// <typeparam name="T">Type of the given enumerable.</typeparam>
8989
[MethodImpl(MethodImplOptions.AggressiveInlining)]
90-
public void AppendJoin<T>(char separator, ReadOnlySpan<T> values)
90+
public void AppendJoin<T>(char separator, scoped ReadOnlySpan<T> values)
9191
=> AppendJoinInternalChar(separator, values);
9292

9393
/// <summary>
@@ -101,7 +101,7 @@ public void AppendJoin<T>(Rune separator, IEnumerable<T> values)
101101
=> AppendJoinInternalRune(separator, values);
102102

103103
[MethodImpl(MethodImplOptions.AggressiveInlining)]
104-
private void AppendJoinInternalString<T>(ReadOnlySpan<char> separator, IEnumerable<T> values)
104+
private void AppendJoinInternalString<T>(scoped ReadOnlySpan<char> separator, IEnumerable<T> values)
105105
{
106106
ArgumentNullException.ThrowIfNull(values);
107107

@@ -124,7 +124,7 @@ private void AppendJoinInternalString<T>(ReadOnlySpan<char> separator, IEnumerab
124124
}
125125

126126
[MethodImpl(MethodImplOptions.AggressiveInlining)]
127-
private void AppendJoinInternalString<T>(ReadOnlySpan<char> separator, ReadOnlySpan<T> values)
127+
private void AppendJoinInternalString<T>(scoped ReadOnlySpan<char> separator, scoped ReadOnlySpan<T> values)
128128
{
129129
if (values.Length == 0)
130130
{
@@ -164,7 +164,7 @@ private void AppendJoinInternalChar<T>(char separator, IEnumerable<T> values)
164164
}
165165

166166
[MethodImpl(MethodImplOptions.AggressiveInlining)]
167-
private void AppendJoinInternalChar<T>(char separator, ReadOnlySpan<T> values)
167+
private void AppendJoinInternalChar<T>(char separator, scoped ReadOnlySpan<T> values)
168168
{
169169
if (values.Length == 0)
170170
{

src/LinkDotNet.StringBuilder/ValueStringBuilder.Concat.Helper.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@ public ref partial struct ValueStringBuilder
1111
/// <typeparam name="T">Any given type, which can be translated to <see cref="string"/>.</typeparam>
1212
/// <returns>Concatenated string or an empty string if <paramref name="values"/> is empty.</returns>
1313
[MethodImpl(MethodImplOptions.AggressiveInlining)]
14-
public static string Concat<T>(params ReadOnlySpan<T> values)
14+
public static string Concat<T>(params scoped ReadOnlySpan<T> values)
1515
{
1616
if (values.Length == 0)
1717
{

src/LinkDotNet.StringBuilder/ValueStringBuilder.Trim.cs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -139,7 +139,7 @@ public void TrimEnd(char value)
139139
/// <param name="value">The sequence of characters to remove.</param>
140140
/// <param name="comparisonType">The way to compare the sequences of characters.</param>
141141
[MethodImpl(MethodImplOptions.AggressiveInlining)]
142-
public void TrimPrefix(ReadOnlySpan<char> value, StringComparison comparisonType = StringComparison.Ordinal)
142+
public void TrimPrefix(scoped ReadOnlySpan<char> value, StringComparison comparisonType = StringComparison.Ordinal)
143143
{
144144
if (AsSpan().StartsWith(value, comparisonType))
145145
{
@@ -153,7 +153,7 @@ public void TrimPrefix(ReadOnlySpan<char> value, StringComparison comparisonType
153153
/// <param name="value">The sequence of characters to remove.</param>
154154
/// <param name="comparisonType">The way to compare the sequences of characters.</param>
155155
[MethodImpl(MethodImplOptions.AggressiveInlining)]
156-
public void TrimSuffix(ReadOnlySpan<char> value, StringComparison comparisonType = StringComparison.Ordinal)
156+
public void TrimSuffix(scoped ReadOnlySpan<char> value, StringComparison comparisonType = StringComparison.Ordinal)
157157
{
158158
if (AsSpan().EndsWith(value, comparisonType))
159159
{

src/LinkDotNet.StringBuilder/ValueStringBuilder.cs

Lines changed: 9 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -46,7 +46,7 @@ public ValueStringBuilder(Span<char> initialBuffer)
4646
/// </summary>
4747
/// <param name="initialText">The initial text used to initialize this instance.</param>
4848
[MethodImpl(MethodImplOptions.AggressiveInlining)]
49-
public ValueStringBuilder(ReadOnlySpan<char> initialText)
49+
public ValueStringBuilder(scoped ReadOnlySpan<char> initialText)
5050
{
5151
Append(initialText);
5252
}
@@ -122,7 +122,7 @@ public readonly ref char this[int index]
122122
/// <param name="fromString">The string as initial buffer.</param>
123123
#pragma warning disable CA2225
124124
[MethodImpl(MethodImplOptions.AggressiveInlining)]
125-
public static implicit operator ValueStringBuilder(ReadOnlySpan<char> fromString) => new(fromString);
125+
public static implicit operator ValueStringBuilder(scoped ReadOnlySpan<char> fromString) => new(fromString);
126126
#pragma warning restore CA2225
127127

128128
/// <summary>
@@ -263,7 +263,7 @@ public void Remove(int startIndex, int length)
263263
/// <param name="comparisonType">One of the enumeration values that specifies the rules for the search.</param>
264264
/// <returns>The index of the found <paramref name="word"/> in this string or -1 if not found.</returns>
265265
[MethodImpl(MethodImplOptions.AggressiveInlining)]
266-
public readonly int IndexOf(ReadOnlySpan<char> word, StringComparison comparisonType = StringComparison.Ordinal) => IndexOf(word, 0, comparisonType);
266+
public readonly int IndexOf(scoped ReadOnlySpan<char> word, StringComparison comparisonType = StringComparison.Ordinal) => IndexOf(word, 0, comparisonType);
267267

268268
/// <summary>
269269
/// Returns the index within this string of the first occurrence of the specified substring, starting at the specified index.
@@ -273,7 +273,7 @@ public void Remove(int startIndex, int length)
273273
/// <param name="comparisonType">One of the enumeration values that specifies the rules for the search.</param>
274274
/// <returns>The index of the found <paramref name="word"/> in this string or -1 if not found.</returns>
275275
[MethodImpl(MethodImplOptions.AggressiveInlining)]
276-
public readonly int IndexOf(ReadOnlySpan<char> word, int startIndex, StringComparison comparisonType = StringComparison.Ordinal)
276+
public readonly int IndexOf(scoped ReadOnlySpan<char> word, int startIndex, StringComparison comparisonType = StringComparison.Ordinal)
277277
{
278278
return buffer[startIndex..bufferPosition].IndexOf(word, comparisonType);
279279
}
@@ -285,7 +285,7 @@ public readonly int IndexOf(ReadOnlySpan<char> word, int startIndex, StringCompa
285285
/// <param name="comparisonType">One of the enumeration values that specifies the rules for the search.</param>
286286
/// <returns>The index of the found <paramref name="word"/> in this string or -1 if not found.</returns>
287287
[MethodImpl(MethodImplOptions.AggressiveInlining)]
288-
public readonly int LastIndexOf(ReadOnlySpan<char> word, StringComparison comparisonType = StringComparison.Ordinal) => LastIndexOf(word, 0, comparisonType);
288+
public readonly int LastIndexOf(scoped ReadOnlySpan<char> word, StringComparison comparisonType = StringComparison.Ordinal) => LastIndexOf(word, 0, comparisonType);
289289

290290
/// <summary>
291291
/// Returns the index within this string of the last occurrence of the specified substring, starting at the specified index.
@@ -295,7 +295,7 @@ public readonly int IndexOf(ReadOnlySpan<char> word, int startIndex, StringCompa
295295
/// <param name="comparisonType">One of the enumeration values that specifies the rules for the search.</param>
296296
/// <returns>The index of the found <paramref name="word"/> in this string or -1 if not found.</returns>
297297
[MethodImpl(MethodImplOptions.AggressiveInlining)]
298-
public readonly int LastIndexOf(ReadOnlySpan<char> word, int startIndex, StringComparison comparisonType = StringComparison.Ordinal)
298+
public readonly int LastIndexOf(scoped ReadOnlySpan<char> word, int startIndex, StringComparison comparisonType = StringComparison.Ordinal)
299299
{
300300
return buffer[startIndex..bufferPosition].LastIndexOf(word, comparisonType);
301301
}
@@ -310,15 +310,15 @@ public readonly int LastIndexOf(ReadOnlySpan<char> word, int startIndex, StringC
310310
/// This method performs an ordinal (case-sensitive and culture-insensitive) comparison.
311311
/// </remarks>
312312
[MethodImpl(MethodImplOptions.AggressiveInlining)]
313-
public readonly bool Contains(ReadOnlySpan<char> word, StringComparison comparisonType = StringComparison.Ordinal) => IndexOf(word, comparisonType) != -1;
313+
public readonly bool Contains(scoped ReadOnlySpan<char> word, StringComparison comparisonType = StringComparison.Ordinal) => IndexOf(word, comparisonType) != -1;
314314

315315
/// <summary>
316316
/// Returns whether the characters in this builder are equal to the characters in the given span.
317317
/// </summary>
318318
/// <param name="span">The character span to compare with the current instance.</param>
319319
/// <returns><see langword="true"/> if the characters are equal to this instance, otherwise <see langword="false"/>.</returns>
320320
[MethodImpl(MethodImplOptions.AggressiveInlining)]
321-
public readonly bool Equals(ReadOnlySpan<char> span) => span.Equals(AsSpan(), StringComparison.Ordinal);
321+
public readonly bool Equals(scoped ReadOnlySpan<char> span) => span.Equals(AsSpan(), StringComparison.Ordinal);
322322

323323
/// <summary>
324324
/// Returns whether the characters in this builder are equal to the characters in the given span according to the given comparison type.
@@ -327,7 +327,7 @@ public readonly int LastIndexOf(ReadOnlySpan<char> word, int startIndex, StringC
327327
/// <param name="comparisonType">The way to compare the sequences of characters.</param>
328328
/// <returns><see langword="true"/> if the characters are equal to this instance, otherwise <see langword="false"/>.</returns>
329329
[MethodImpl(MethodImplOptions.AggressiveInlining)]
330-
public readonly bool Equals(ReadOnlySpan<char> span, StringComparison comparisonType) => span.Equals(AsSpan(), comparisonType);
330+
public readonly bool Equals(scoped ReadOnlySpan<char> span, StringComparison comparisonType) => span.Equals(AsSpan(), comparisonType);
331331

332332
/// <summary>
333333
/// Disposes the instance and returns the rented buffer to the array pool if needed.

0 commit comments

Comments
 (0)