Use const internally in corelib for Environment.NewLine (dotnet/coreclr#27013)
authorStephen Toub <stoub@microsoft.com>
Thu, 3 Oct 2019 20:40:04 +0000 (16:40 -0400)
committerGitHub <noreply@github.com>
Thu, 3 Oct 2019 20:40:04 +0000 (16:40 -0400)
Commit migrated from https://github.com/dotnet/coreclr/commit/073ad7ef1b6a7112eefc965aed362c7b5923682a

27 files changed:
src/coreclr/src/System.Private.CoreLib/src/Internal/Console.cs
src/coreclr/src/System.Private.CoreLib/src/System/Exception.CoreCLR.cs
src/coreclr/src/System.Private.CoreLib/src/System/Reflection/Emit/MethodBuilder.cs
src/libraries/System.Private.CoreLib/src/System/AggregateException.cs
src/libraries/System.Private.CoreLib/src/System/AppDomain.cs
src/libraries/System.Private.CoreLib/src/System/ArgumentOutOfRangeException.cs
src/libraries/System.Private.CoreLib/src/System/BadImageFormatException.cs
src/libraries/System.Private.CoreLib/src/System/Diagnostics/DebugProvider.cs
src/libraries/System.Private.CoreLib/src/System/Diagnostics/StackFrame.cs
src/libraries/System.Private.CoreLib/src/System/Diagnostics/StackTrace.cs
src/libraries/System.Private.CoreLib/src/System/Environment.Unix.cs
src/libraries/System.Private.CoreLib/src/System/Environment.Windows.cs
src/libraries/System.Private.CoreLib/src/System/Environment.cs
src/libraries/System.Private.CoreLib/src/System/Exception.cs
src/libraries/System.Private.CoreLib/src/System/Globalization/CultureNotFoundException.cs
src/libraries/System.Private.CoreLib/src/System/Globalization/DateTimeParse.cs
src/libraries/System.Private.CoreLib/src/System/IO/FileLoadException.cs
src/libraries/System.Private.CoreLib/src/System/IO/FileNotFoundException.cs
src/libraries/System.Private.CoreLib/src/System/IO/TextWriter.cs
src/libraries/System.Private.CoreLib/src/System/ObjectDisposedException.cs
src/libraries/System.Private.CoreLib/src/System/Reflection/AssemblyNameFormatter.cs
src/libraries/System.Private.CoreLib/src/System/Resources/FileBasedResourceGroveler.cs
src/libraries/System.Private.CoreLib/src/System/Resources/ManifestBasedResourceGroveler.cs
src/libraries/System.Private.CoreLib/src/System/Runtime/InteropServices/COMException.cs
src/libraries/System.Private.CoreLib/src/System/Runtime/InteropServices/ExternalException.cs
src/libraries/System.Private.CoreLib/src/System/Security/SecurityElement.cs
src/libraries/System.Private.CoreLib/src/System/Text/StringBuilder.cs

index 3f8da45..f501d1f 100644 (file)
@@ -28,9 +28,9 @@ namespace Internal
         }
 
         public static void WriteLine(string? s) =>
-            Write(s + Environment.NewLine);
+            Write(s + Environment.NewLineConst);
 
         public static void WriteLine() =>
-            Write(Environment.NewLine);
+            Write(Environment.NewLineConst);
     }
 }
index 5b81703..8bffa79 100644 (file)
@@ -236,7 +236,7 @@ namespace System
 
             if (!string.IsNullOrEmpty(tmpStackTraceString))
             {
-                _remoteStackTraceString = tmpStackTraceString + Environment.NewLine;
+                _remoteStackTraceString = tmpStackTraceString + Environment.NewLineConst;
             }
 
             _stackTrace = null;
index 802c3ec..0e50968 100644 (file)
@@ -460,7 +460,7 @@ namespace System.Reflection.Emit
             sb.Append("Name: ").Append(m_strName).AppendLine(" ");
             sb.Append("Attributes: ").Append((int)m_iAttributes).AppendLine();
             sb.Append("Method Signature: ").Append(GetMethodSignature()).AppendLine();
-            sb.Append(Environment.NewLine);
+            sb.AppendLine();
             return sb.ToString();
         }
 
index c9d11cb..46baebf 100644 (file)
@@ -443,7 +443,7 @@ namespace System
                 if (m_innerExceptions[i] == InnerException)
                     continue; // Already logged in base.ToString()
 
-                text.Append(Environment.NewLine).Append(InnerExceptionPrefix);
+                text.Append(Environment.NewLineConst + InnerExceptionPrefix);
                 text.AppendFormat(CultureInfo.InvariantCulture, SR.AggregateException_InnerException, i);
                 text.Append(m_innerExceptions[i].ToString());
                 text.Append("<---");
index fc255c7..340b34d 100644 (file)
@@ -158,7 +158,7 @@ namespace System
         public bool IsFinalizingForUnload() => false;
 
         public override string ToString() =>
-            SR.AppDomain_Name + FriendlyName + Environment.NewLine + SR.AppDomain_NoContextPolicies;
+            SR.AppDomain_Name + FriendlyName + Environment.NewLineConst + SR.AppDomain_NoContextPolicies;
 
         public static void Unload(AppDomain domain)
         {
index daf4f55..cba7421 100644 (file)
@@ -81,7 +81,7 @@ namespace System
                     string valueMessage = SR.Format(SR.ArgumentOutOfRange_ActualValue, _actualValue);
                     if (s == null)
                         return valueMessage;
-                    return s + Environment.NewLine + valueMessage;
+                    return s + Environment.NewLineConst + valueMessage;
                 }
                 return s;
             }
index 246fe81..c241eed 100644 (file)
@@ -96,20 +96,18 @@ namespace System
             string s = GetType().ToString() + ": " + Message;
 
             if (!string.IsNullOrEmpty(_fileName))
-                s += Environment.NewLine + SR.Format(SR.IO_FileName_Name, _fileName);
+                s += Environment.NewLineConst + SR.Format(SR.IO_FileName_Name, _fileName);
 
             if (InnerException != null)
-                s = s + InnerExceptionPrefix + InnerException.ToString();
+                s += InnerExceptionPrefix + InnerException.ToString();
 
             if (StackTrace != null)
-                s += Environment.NewLine + StackTrace;
+                s += Environment.NewLineConst + StackTrace;
 
             if (_fusionLog != null)
             {
                 s ??= " ";
-                s += Environment.NewLine;
-                s += Environment.NewLine;
-                s += _fusionLog;
+                s += Environment.NewLineConst + Environment.NewLineConst + _fusionLog;
             }
 
             return s;
index e27a6d3..cf4dfe1 100644 (file)
@@ -29,11 +29,11 @@ namespace System.Diagnostics
 
         internal void WriteAssert(string stackTrace, string? message, string? detailMessage)
         {
-            WriteLine(SR.DebugAssertBanner + Environment.NewLine
-                   + SR.DebugAssertShortMessage + Environment.NewLine
-                   + message + Environment.NewLine
-                   + SR.DebugAssertLongMessage + Environment.NewLine
-                   + detailMessage + Environment.NewLine
+            WriteLine(SR.DebugAssertBanner + Environment.NewLineConst
+                   + SR.DebugAssertShortMessage + Environment.NewLineConst
+                   + message + Environment.NewLineConst
+                   + SR.DebugAssertLongMessage + Environment.NewLineConst
+                   + detailMessage + Environment.NewLineConst
                    + stackTrace);
         }
 
@@ -52,7 +52,7 @@ namespace System.Diagnostics
                     _needIndent = false;
                 }
                 WriteCore(message);
-                if (message.EndsWith(Environment.NewLine))
+                if (message.EndsWith(Environment.NewLineConst))
                 {
                     _needIndent = true;
                 }
@@ -61,7 +61,7 @@ namespace System.Diagnostics
 
         public virtual void WriteLine(string? message)
         {
-            Write(message + Environment.NewLine);
+            Write(message + Environment.NewLineConst);
         }
 
         public virtual void OnIndentLevelChanged(int indentLevel) { }
@@ -84,7 +84,7 @@ namespace System.Diagnostics
 
                 s = s.Trim();
                 if (s.Length > 0)
-                    s += Environment.NewLine;
+                    s += Environment.NewLineConst;
 
                 return s;
             }
index 02c687c..087a740 100644 (file)
@@ -240,7 +240,7 @@ namespace System.Diagnostics
             {
                 sb.Append("<null>");
             }
-            sb.Append(Environment.NewLine);
+            sb.Append(Environment.NewLineConst);
 
             return sb.ToString();
         }
index e33c687..aaabf20 100644 (file)
@@ -210,7 +210,7 @@ namespace System.Diagnostics
                     if (fFirstFrame)
                         fFirstFrame = false;
                     else
-                        sb.Append(Environment.NewLine);
+                        sb.Append(Environment.NewLineConst);
 
                     sb.AppendFormat(CultureInfo.InvariantCulture, "   {0} ", word_At);
 
@@ -320,14 +320,14 @@ namespace System.Diagnostics
                     // Skip EDI boundary for async
                     if (sf.IsLastFrameFromForeignExceptionStackTrace && !isAsync)
                     {
-                        sb.Append(Environment.NewLine);
+                        sb.Append(Environment.NewLineConst);
                         sb.Append(SR.Exception_EndStackTraceFromPreviousThrow);
                     }
                 }
             }
 
             if (traceFormat == TraceFormat.TrailingNewLine)
-                sb.Append(Environment.NewLine);
+                sb.Append(Environment.NewLineConst);
 
             return sb.ToString();
         }
index 47899ca..208a999 100644 (file)
@@ -295,7 +295,7 @@ namespace System
             }
         }
 
-        public static string NewLine => "\n";
+        internal const string NewLineConst = "\n";
 
         private static OperatingSystem GetOSVersion() => GetOperatingSystem(Interop.Sys.GetUnixRelease());
 
index e2b0918..157e527 100644 (file)
@@ -47,7 +47,7 @@ namespace System
 
         public static string[] GetLogicalDrives() => DriveInfoInternal.GetLogicalDrives();
 
-        public static string NewLine => "\r\n";
+        internal const string NewLineConst = "\r\n";
 
         public static int SystemPageSize
         {
index 045baf5..ea04f10 100644 (file)
@@ -112,6 +112,8 @@ namespace System
 
         public static bool Is64BitOperatingSystem => Is64BitProcess || Is64BitOperatingSystemWhen32BitProcess;
 
+        public static string NewLine => NewLineConst;
+
         private static OperatingSystem? s_osVersion;
 
         public static OperatingSystem OSVersion
index 5e4f078..5d38412 100644 (file)
@@ -129,14 +129,13 @@ namespace System
 
             if (_innerException != null)
             {
-                s = s + Environment.NewLine + InnerExceptionPrefix + _innerException.ToString() + Environment.NewLine +
-                "   " + SR.Exception_EndOfInnerExceptionStack;
+                s += Environment.NewLineConst + InnerExceptionPrefix + _innerException.ToString() + Environment.NewLineConst + "   " + SR.Exception_EndOfInnerExceptionStack;
             }
 
             string? stackTrace = StackTrace;
             if (stackTrace != null)
             {
-                s += Environment.NewLine + stackTrace;
+                s += Environment.NewLineConst + stackTrace;
             }
 
             return s;
index 8e58401..5869b6a 100644 (file)
@@ -95,7 +95,7 @@ namespace System.Globalization
                         return valueMessage;
                     }
 
-                    return s + Environment.NewLine + valueMessage;
+                    return s + Environment.NewLineConst + valueMessage;
                 }
                 return s;
             }
index 188c980..e029a2b 100644 (file)
@@ -5181,7 +5181,7 @@ new DS[] { DS.ERROR,  DS.TX_NNN,  DS.TX_NNN,  DS.TX_NNN,  DS.ERROR,   DS.ERROR,
                 if (s.Length > MaxLineLength || (curLineLength + s.Length + 2) > MaxLineLength)
                 {
                     buffer.Append(',');
-                    buffer.Append(Environment.NewLine);
+                    buffer.Append(Environment.NewLineConst);
                     buffer.Append(' ', NewLinePadding);
                     curLineLength = 0;
                 }
@@ -5198,7 +5198,7 @@ new DS[] { DS.ERROR,  DS.TX_NNN,  DS.TX_NNN,  DS.TX_NNN,  DS.ERROR,   DS.ERROR,
             s = Hex(strs[strs.Length - 1]);
             if (s.Length > MaxLineLength || (curLineLength + s.Length + 6) > MaxLineLength)
             {
-                buffer.Append(Environment.NewLine);
+                buffer.Append(Environment.NewLineConst);
                 buffer.Append(' ', NewLinePadding);
             }
             else
index b2c1189..f7ef7c4 100644 (file)
@@ -51,20 +51,18 @@ namespace System.IO
             string s = GetType().ToString() + ": " + Message;
 
             if (!string.IsNullOrEmpty(FileName))
-                s += Environment.NewLine + SR.Format(SR.IO_FileName_Name, FileName);
+                s += Environment.NewLineConst + SR.Format(SR.IO_FileName_Name, FileName);
 
             if (InnerException != null)
-                s = s + Environment.NewLine + InnerExceptionPrefix + InnerException.ToString();
+                s += Environment.NewLineConst + InnerExceptionPrefix + InnerException.ToString();
 
             if (StackTrace != null)
-                s += Environment.NewLine + StackTrace;
+                s += Environment.NewLineConst + StackTrace;
 
             if (FusionLog != null)
             {
                 s ??= " ";
-                s += Environment.NewLine;
-                s += Environment.NewLine;
-                s += FusionLog;
+                s += Environment.NewLineConst + Environment.NewLineConst + FusionLog;
             }
 
             return s;
index 33ca28e..48c513b 100644 (file)
@@ -74,20 +74,18 @@ namespace System.IO
             string s = GetType().ToString() + ": " + Message;
 
             if (!string.IsNullOrEmpty(FileName))
-                s += Environment.NewLine + SR.Format(SR.IO_FileName_Name, FileName);
+                s += Environment.NewLineConst + SR.Format(SR.IO_FileName_Name, FileName);
 
             if (InnerException != null)
-                s = s + Environment.NewLine + InnerExceptionPrefix + InnerException.ToString();
+                s += Environment.NewLineConst + InnerExceptionPrefix + InnerException.ToString();
 
             if (StackTrace != null)
-                s += Environment.NewLine + StackTrace;
+                s += Environment.NewLineConst + StackTrace;
 
             if (FusionLog != null)
             {
                 s ??= " ";
-                s += Environment.NewLine;
-                s += Environment.NewLine;
-                s += FusionLog;
+                s += Environment.NewLineConst + Environment.NewLineConst + FusionLog;
             }
             return s;
         }
index 6a8ef28..8263072 100644 (file)
@@ -24,7 +24,7 @@ namespace System.IO
         public static readonly TextWriter Null = new NullTextWriter();
 
         // We don't want to allocate on every TextWriter creation, so cache the char array.
-        private static readonly char[] s_coreNewLine = Environment.NewLine.ToCharArray();
+        private static readonly char[] s_coreNewLine = Environment.NewLineConst.ToCharArray();
 
         /// <summary>
         /// This is the 'NewLine' property expressed as a char[].
@@ -34,7 +34,7 @@ namespace System.IO
         /// as they are shared among many instances of TextWriter.
         /// </summary>
         protected char[] CoreNewLine = s_coreNewLine;
-        private string CoreNewLineStr = Environment.NewLine;
+        private string CoreNewLineStr = Environment.NewLineConst;
 
         // Can be null - if so, ask for the Thread's CurrentCulture every time.
         private readonly IFormatProvider? _internalFormatProvider;
@@ -126,7 +126,7 @@ namespace System.IO
             {
                 if (value == null)
                 {
-                    value = Environment.NewLine;
+                    value = Environment.NewLineConst;
                 }
 
                 CoreNewLineStr = value;
index 09d43ed..41441c0 100644 (file)
@@ -65,7 +65,7 @@ namespace System
                 }
 
                 string objectDisposed = SR.Format(SR.ObjectDisposed_ObjectName_Name, name);
-                return base.Message + Environment.NewLine + objectDisposed;
+                return base.Message + Environment.NewLineConst + objectDisposed;
             }
         }
 
index 7c25ebe..09585f8 100644 (file)
@@ -147,7 +147,7 @@ namespace System.Reflection
             new KeyValuePair<char, string>('=', "="),
             new KeyValuePair<char, string>('\'', "'"),
             new KeyValuePair<char, string>('\"', "\""),
-            new KeyValuePair<char, string>('n', Environment.NewLine),
+            new KeyValuePair<char, string>('n', Environment.NewLineConst),
             new KeyValuePair<char, string>('t', "\t"),
         };
     }
index bfe2179..27af1ff 100644 (file)
@@ -53,7 +53,7 @@ namespace System.Resources
                     {
                         // We really don't think this should happen - we always
                         // expect the neutral locale's resources to be present.
-                        throw new MissingManifestResourceException(SR.MissingManifestResource_NoNeutralDisk + Environment.NewLine + "baseName: " + _mediator.BaseNameField + "  locationInfo: " + (_mediator.LocationInfo == null ? "<null>" : _mediator.LocationInfo.FullName) + "  fileName: " + _mediator.GetResourceFileName(culture));
+                        throw new MissingManifestResourceException(SR.MissingManifestResource_NoNeutralDisk + Environment.NewLineConst + "baseName: " + _mediator.BaseNameField + "  locationInfo: " + (_mediator.LocationInfo == null ? "<null>" : _mediator.LocationInfo.FullName) + "  fileName: " + _mediator.GetResourceFileName(culture));
                     }
                 }
             }
index 60b0290..982d500 100644 (file)
@@ -480,7 +480,7 @@ namespace System.Resources
             if (_mediator.MainAssembly == typeof(object).Assembly && _mediator.BaseName.Equals(System.CoreLib.Name))
             {
                 // This would break CultureInfo & all our exceptions.
-                Debug.Fail("Couldn't get " + System.CoreLib.Name + ResourceManager.ResFileExtension + " from " + System.CoreLib.Name + "'s assembly" + Environment.NewLine + Environment.NewLine + "Are you building the runtime on your machine?  Chances are the BCL directory didn't build correctly.  Type 'build -c' in the BCL directory.  If you get build errors, look at buildd.log.  If you then can't figure out what's wrong (and you aren't changing the assembly-related metadata code), ask a BCL dev.\n\nIf you did NOT build the runtime, you shouldn't be seeing this and you've found a bug.");
+                Debug.Fail("Couldn't get " + System.CoreLib.Name + ResourceManager.ResFileExtension + " from " + System.CoreLib.Name + "'s assembly" + Environment.NewLineConst + Environment.NewLineConst + "Are you building the runtime on your machine?  Chances are the BCL directory didn't build correctly.  Type 'build -c' in the BCL directory.  If you get build errors, look at buildd.log.  If you then can't figure out what's wrong (and you aren't changing the assembly-related metadata code), ask a BCL dev.\n\nIf you did NOT build the runtime, you shouldn't be seeing this and you've found a bug.");
 
                 // We cannot continue further - simply FailFast.
                 const string MesgFailFast = System.CoreLib.Name + ResourceManager.ResFileExtension + " couldn't be found!  Large parts of the BCL won't work!";
index 1b66bb6..6b22d02 100644 (file)
@@ -61,12 +61,12 @@ namespace System.Runtime.InteropServices
             Exception? innerException = InnerException;
             if (innerException != null)
             {
-                s.Append(Environment.NewLine).Append(InnerExceptionPrefix).Append(innerException.ToString());
+                s.Append(Environment.NewLineConst + InnerExceptionPrefix).Append(innerException.ToString());
             }
 
             string? stackTrace = StackTrace;
             if (stackTrace != null)
-                s.Append(Environment.NewLine).Append(stackTrace);
+                s.AppendLine().Append(stackTrace);
 
             return s.ToString();
         }
index f04fa6f..b9bc042 100644 (file)
@@ -63,17 +63,17 @@ namespace System.Runtime.InteropServices
 
             if (!string.IsNullOrEmpty(message))
             {
-                s = s + ": " + message;
+                s += ": " + message;
             }
 
             Exception? innerException = InnerException;
             if (innerException != null)
             {
-                s = s + Environment.NewLine + InnerExceptionPrefix + innerException.ToString();
+                s += Environment.NewLineConst + InnerExceptionPrefix + innerException.ToString();
             }
 
             if (StackTrace != null)
-                s += Environment.NewLine + StackTrace;
+                s += Environment.NewLineConst + StackTrace;
 
             return s;
         }
index d1556b9..a15560b 100644 (file)
@@ -510,7 +510,7 @@ namespace System.Security
 
                     if (i != _attributes.Count - 2)
                     {
-                        write(obj, Environment.NewLine);
+                        write(obj, Environment.NewLineConst);
                     }
                 }
             }
@@ -519,7 +519,7 @@ namespace System.Security
             {
                 // If we are a single tag with no children, just add the end of tag text.
                 write(obj, "/>");
-                write(obj, Environment.NewLine);
+                write(obj, Environment.NewLineConst);
             }
             else
             {
@@ -534,7 +534,7 @@ namespace System.Security
                 {
                     ConvertSecurityElementFactories();
 
-                    write(obj, Environment.NewLine);
+                    write(obj, Environment.NewLineConst);
 
                     for (int i = 0; i < _children.Count; ++i)
                     {
@@ -546,7 +546,7 @@ namespace System.Security
                 write(obj, "</");
                 write(obj, _tag);
                 write(obj, ">");
-                write(obj, Environment.NewLine);
+                write(obj, Environment.NewLineConst);
             }
         }
 
index 4b05402..1d0f6ed 100644 (file)
@@ -982,12 +982,12 @@ namespace System.Text
             return this;
         }
 
-        public StringBuilder AppendLine() => Append(Environment.NewLine);
+        public StringBuilder AppendLine() => Append(Environment.NewLineConst);
 
         public StringBuilder AppendLine(string? value)
         {
             Append(value);
-            return Append(Environment.NewLine);
+            return Append(Environment.NewLineConst);
         }
 
         public void CopyTo(int sourceIndex, char[] destination, int destinationIndex, int count)