@@ -356,7 +356,7 @@ private static unsafe bool AllowHyphenDuringParsing(NumberFormatInfo info)
356356 return ret ;
357357 }
358358
359- private static unsafe bool ParseNumber ( ref char * str , char * strEnd , NumberStyles options , ref NumberBuffer number , StringBuilder ? sb , NumberFormatInfo numfmt , bool parseDecimal )
359+ private static unsafe bool ParseNumber ( ref char * str , char * strEnd , NumberStyles options , scoped ref NumberBuffer number , StringBuilder ? sb , NumberFormatInfo numfmt , bool parseDecimal )
360360 {
361361 Debug . Assert ( str != null ) ;
362362 Debug . Assert ( strEnd != null ) ;
@@ -598,7 +598,7 @@ private static bool TrailingZeros(ReadOnlySpan<char> s, int index) =>
598598 // For compatibility, we need to allow trailing zeros at the end of a number string
599599 s . Slice ( index ) . IndexOfAnyExcept ( '\0 ' ) < 0 ;
600600
601- internal static unsafe bool TryStringToNumber ( ReadOnlySpan < char > str , NumberStyles options , ref NumberBuffer number , StringBuilder sb , NumberFormatInfo numfmt , bool parseDecimal )
601+ internal static unsafe bool TryStringToNumber ( ReadOnlySpan < char > str , NumberStyles options , scoped ref NumberBuffer number , StringBuilder sb , NumberFormatInfo numfmt , bool parseDecimal )
602602 {
603603 Debug . Assert ( numfmt != null ) ;
604604
@@ -741,7 +741,7 @@ internal static char ParseFormatSpecifier(ReadOnlySpan<char> format, out int dig
741741 '\0 ' ;
742742 }
743743
744- internal static unsafe void NumberToString ( ref ValueStringBuilder sb , ref NumberBuffer number , char format , int nMaxDigits , NumberFormatInfo info , bool isDecimal )
744+ internal static unsafe void NumberToString ( ref ValueStringBuilder sb , scoped ref NumberBuffer number , char format , int nMaxDigits , NumberFormatInfo info , bool isDecimal )
745745 {
746746 int nMinDigits = - 1 ;
747747
@@ -901,7 +901,7 @@ internal static unsafe void NumberToString(ref ValueStringBuilder sb, ref Number
901901 }
902902 }
903903
904- private static void FormatCurrency ( ref ValueStringBuilder sb , ref NumberBuffer number , int nMinDigits , int nMaxDigits , NumberFormatInfo info )
904+ private static void FormatCurrency ( ref ValueStringBuilder sb , scoped ref NumberBuffer number , int nMinDigits , int nMaxDigits , NumberFormatInfo info )
905905 {
906906 string fmt = number . sign ?
907907 s_negCurrencyFormats [ info . CurrencyNegativePattern ] :
@@ -927,7 +927,7 @@ private static void FormatCurrency(ref ValueStringBuilder sb, ref NumberBuffer n
927927 }
928928 }
929929
930- private static unsafe void FormatFixed ( ref ValueStringBuilder sb , ref NumberBuffer number , int nMinDigits , int nMaxDigits , NumberFormatInfo info , int [ ] ? groupDigits , string sDecimal , string ? sGroup )
930+ private static unsafe void FormatFixed ( ref ValueStringBuilder sb , scoped ref NumberBuffer number , int nMinDigits , int nMaxDigits , NumberFormatInfo info , int [ ] ? groupDigits , string sDecimal , string ? sGroup )
931931 {
932932 Debug . Assert ( sGroup != null || groupDigits == null ) ;
933933
@@ -1048,7 +1048,7 @@ private static unsafe void FormatFixed(ref ValueStringBuilder sb, ref NumberBuff
10481048 }
10491049 }
10501050
1051- private static void FormatNumber ( ref ValueStringBuilder sb , ref NumberBuffer number , int nMinDigits , int nMaxDigits , NumberFormatInfo info )
1051+ private static void FormatNumber ( ref ValueStringBuilder sb , scoped ref NumberBuffer number , int nMinDigits , int nMaxDigits , NumberFormatInfo info )
10521052 {
10531053 string fmt = number . sign ?
10541054 s_negNumberFormats [ info . NumberNegativePattern ] :
@@ -1071,7 +1071,7 @@ private static void FormatNumber(ref ValueStringBuilder sb, ref NumberBuffer num
10711071 }
10721072 }
10731073
1074- private static unsafe void FormatScientific ( ref ValueStringBuilder sb , ref NumberBuffer number , int nMinDigits , int nMaxDigits , NumberFormatInfo info , char expChar )
1074+ private static unsafe void FormatScientific ( ref ValueStringBuilder sb , scoped ref NumberBuffer number , int nMinDigits , int nMaxDigits , NumberFormatInfo info , char expChar )
10751075 {
10761076 char * dig = number . digits ;
10771077
@@ -1118,7 +1118,7 @@ private static unsafe void FormatExponent(ref ValueStringBuilder sb, NumberForma
11181118 }
11191119 }
11201120
1121- private static unsafe void FormatGeneral ( ref ValueStringBuilder sb , ref NumberBuffer number , int nMinDigits , int nMaxDigits , NumberFormatInfo info , char expChar , bool bSuppressScientific )
1121+ private static unsafe void FormatGeneral ( ref ValueStringBuilder sb , scoped ref NumberBuffer number , int nMinDigits , int nMaxDigits , NumberFormatInfo info , char expChar , bool bSuppressScientific )
11221122 {
11231123 int digPos = number . scale ;
11241124 bool scientific = false ;
@@ -1169,7 +1169,7 @@ private static unsafe void FormatGeneral(ref ValueStringBuilder sb, ref NumberBu
11691169 }
11701170 }
11711171
1172- private static void FormatPercent ( ref ValueStringBuilder sb , ref NumberBuffer number , int nMinDigits , int nMaxDigits , NumberFormatInfo info )
1172+ private static void FormatPercent ( ref ValueStringBuilder sb , scoped ref NumberBuffer number , int nMinDigits , int nMaxDigits , NumberFormatInfo info )
11731173 {
11741174 string fmt = number . sign ?
11751175 s_negPercentFormats [ info . PercentNegativePattern ] :
@@ -1289,7 +1289,7 @@ private static unsafe int FindSection(ReadOnlySpan<char> format, int section)
12891289 }
12901290 }
12911291
1292- internal static unsafe void NumberToStringFormat ( ref ValueStringBuilder sb , ref NumberBuffer number , ReadOnlySpan < char > format , NumberFormatInfo info )
1292+ internal static unsafe void NumberToStringFormat ( ref ValueStringBuilder sb , scoped ref NumberBuffer number , ReadOnlySpan < char > format , NumberFormatInfo info )
12931293 {
12941294 int digitCount ;
12951295 int decimalPos ;
0 commit comments