1+ #nullable disable
2+
13#if DEBUG
24// #define DEBUG_INTERNALS
35#endif
79using System . Collections ;
810using System . Collections . Generic ;
911using System . Diagnostics ;
12+ using System . Globalization ;
1013using System . Reflection ;
1114using System . Reflection . Emit ;
1215using System . Text ;
@@ -613,21 +616,21 @@ public DynamicMethodILProvider(DynamicMethod method)
613616
614617public static class ILFormatter
615618{
616- public static StringBuilder Int32ToHex ( StringBuilder sb , int int32 ) => sb . Append ( int32 . ToString ( "X8" ) ) ;
617- public static StringBuilder Int16ToHex ( StringBuilder sb , int int16 ) => sb . Append ( int16 . ToString ( "X4" ) ) ;
618- public static StringBuilder Int8ToHex ( StringBuilder sb , int int8 ) => sb . Append ( int8 . ToString ( "X2" ) ) ;
619- public static StringBuilder Argument ( StringBuilder sb , int ordinal ) => sb . Append ( $ "V_{ ordinal } " ) ;
620- public static StringBuilder Label ( StringBuilder sb , int offset ) => sb . Append ( $ "IL_{ offset : D4} ") ;
619+ public static StringBuilder Int32ToHex ( StringBuilder sb , int int32 ) => sb . Append ( int32 . ToString ( "X8" , CultureInfo . InvariantCulture ) ) ;
620+ public static StringBuilder Int16ToHex ( StringBuilder sb , int int16 ) => sb . Append ( int16 . ToString ( "X4" , CultureInfo . InvariantCulture ) ) ;
621+ public static StringBuilder Int8ToHex ( StringBuilder sb , int int8 ) => sb . Append ( int8 . ToString ( "X2" , CultureInfo . InvariantCulture ) ) ;
622+ public static StringBuilder Argument ( StringBuilder sb , int ordinal ) => sb . AppendFormat ( CultureInfo . InvariantCulture , "V_{0}" , ordinal ) ;
623+ public static StringBuilder Label ( StringBuilder sb , int offset ) => sb . AppendFormat ( CultureInfo . InvariantCulture , "IL_{0 :D4}" , offset ) ;
621624
622625 public static StringBuilder MultipleLabels ( StringBuilder sb , int [ ] offsets )
623626 {
624627 var length = offsets . Length ;
625628 for ( var i = 0 ; i < length ; i ++ )
626629 {
627- sb . AppendFormat ( i == 0 ? "(" : ", " ) ;
630+ sb . Append ( i == 0 ? "(" : ", " ) ;
628631 sb . Append ( Label ( sb , offsets [ i ] ) ) ;
629632 }
630- sb . AppendFormat ( ")" ) ;
633+ sb . Append ( ')' ) ;
631634 return sb ;
632635 }
633636
@@ -648,9 +651,9 @@ public static StringBuilder EscapedString(StringBuilder sb, string str)
648651 else if ( ch == '\" ' )
649652 sb . Append ( "\\ \" " ) ;
650653 else if ( ch == '\\ ' )
651- sb . Append ( " \\ " ) ;
654+ sb . Append ( ' \\ ' ) ;
652655 else if ( ch < 0x20 || ch >= 0x7f )
653- sb . AppendFormat ( "\\ u{0:x4}" , ( int ) ch ) ;
656+ sb . AppendFormat ( CultureInfo . InvariantCulture , "\\ u{0:x4}" , ( int ) ch ) ;
654657 else
655658 sb . Append ( ch ) ;
656659 }
@@ -663,10 +666,10 @@ public static StringBuilder SigByteArrayToString(StringBuilder sb, byte[] sig)
663666 var length = sig . Length ;
664667 for ( var i = 0 ; i < length ; i ++ )
665668 {
666- sb . AppendFormat ( i == 0 ? "SIG [" : " " ) ;
669+ sb . Append ( i == 0 ? "SIG [" : " " ) ;
667670 sb . Append ( Int8ToHex ( sb , sig [ i ] ) ) ;
668671 }
669- sb . AppendFormat ( "]" ) ;
672+ sb . Append ( ']' ) ;
670673 return sb ;
671674 }
672675}
@@ -820,5 +823,3 @@ public MemberInfo AsMember(int token)
820823
821824 public byte [ ] AsSignature ( int token ) => this [ token ] as byte [ ] ;
822825}
823-
824- #pragma warning restore CS1591
0 commit comments