summaryrefslogtreecommitdiff
path: root/src/mscorlib/src/System/IO/StringWriter.cs
diff options
context:
space:
mode:
Diffstat (limited to 'src/mscorlib/src/System/IO/StringWriter.cs')
-rw-r--r--src/mscorlib/src/System/IO/StringWriter.cs196
1 files changed, 0 insertions, 196 deletions
diff --git a/src/mscorlib/src/System/IO/StringWriter.cs b/src/mscorlib/src/System/IO/StringWriter.cs
deleted file mode 100644
index 282a7910c2..0000000000
--- a/src/mscorlib/src/System/IO/StringWriter.cs
+++ /dev/null
@@ -1,196 +0,0 @@
-// Licensed to the .NET Foundation under one or more agreements.
-// The .NET Foundation licenses this file to you under the MIT license.
-// See the LICENSE file in the project root for more information.
-
-/*============================================================
-**
-**
-**
-**
-** Purpose: For writing text to a string
-**
-**
-===========================================================*/
-
-using System;
-using System.Runtime;
-using System.Text;
-using System.Globalization;
-using System.Diagnostics.Contracts;
-using System.Runtime.InteropServices;
-using System.Security.Permissions;
-using System.Threading.Tasks;
-
-namespace System.IO {
- // This class implements a text writer that writes to a string buffer and allows
- // the resulting sequence of characters to be presented as a string.
- //
- [Serializable]
- [ComVisible(true)]
- public class StringWriter : TextWriter
- {
- private static volatile UnicodeEncoding m_encoding=null;
-
- private StringBuilder _sb;
- private bool _isOpen;
-
- // Constructs a new StringWriter. A new StringBuilder is automatically
- // created and associated with the new StringWriter.
- public StringWriter()
- : this(new StringBuilder(), CultureInfo.CurrentCulture)
- {
- }
-
- public StringWriter(IFormatProvider formatProvider)
- : this(new StringBuilder(), formatProvider) {
- }
-
- // Constructs a new StringWriter that writes to the given StringBuilder.
- //
- public StringWriter(StringBuilder sb) : this(sb, CultureInfo.CurrentCulture) {
- }
-
- public StringWriter(StringBuilder sb, IFormatProvider formatProvider) : base(formatProvider) {
- if (sb==null)
- throw new ArgumentNullException("sb", Environment.GetResourceString("ArgumentNull_Buffer"));
- Contract.EndContractBlock();
- _sb = sb;
- _isOpen = true;
- }
-
- public override void Close()
- {
- Dispose(true);
- }
-
- protected override void Dispose(bool disposing)
- {
- // Do not destroy _sb, so that we can extract this after we are
- // done writing (similar to MemoryStream's GetBuffer & ToArray methods)
- _isOpen = false;
- base.Dispose(disposing);
- }
-
-
- public override Encoding Encoding {
- get {
- if (m_encoding==null) {
- m_encoding = new UnicodeEncoding(false, false);
- }
- return m_encoding;
- }
- }
-
- // Returns the underlying StringBuilder. This is either the StringBuilder
- // that was passed to the constructor, or the StringBuilder that was
- // automatically created.
- //
- public virtual StringBuilder GetStringBuilder() {
- return _sb;
- }
-
- // Writes a character to the underlying string buffer.
- //
- public override void Write(char value) {
- if (!_isOpen)
- __Error.WriterClosed();
- _sb.Append(value);
- }
-
- // Writes a range of a character array to the underlying string buffer.
- // This method will write count characters of data into this
- // StringWriter from the buffer character array starting at position
- // index.
- //
- public override void Write(char[] buffer, int index, int count) {
- if (buffer==null)
- throw new ArgumentNullException("buffer", Environment.GetResourceString("ArgumentNull_Buffer"));
- if (index < 0)
- throw new ArgumentOutOfRangeException("index", Environment.GetResourceString("ArgumentOutOfRange_NeedNonNegNum"));
- if (count < 0)
- throw new ArgumentOutOfRangeException("count", Environment.GetResourceString("ArgumentOutOfRange_NeedNonNegNum"));
- if (buffer.Length - index < count)
- throw new ArgumentException(Environment.GetResourceString("Argument_InvalidOffLen"));
- Contract.EndContractBlock();
-
- if (!_isOpen)
- __Error.WriterClosed();
-
- _sb.Append(buffer, index, count);
- }
-
- // Writes a string to the underlying string buffer. If the given string is
- // null, nothing is written.
- //
- public override void Write(String value) {
- if (!_isOpen)
- __Error.WriterClosed();
- if (value != null) _sb.Append(value);
- }
-
-
- #region Task based Async APIs
- [HostProtection(ExternalThreading = true)]
- [ComVisible(false)]
- public override Task WriteAsync(char value)
- {
- Write(value);
- return Task.CompletedTask;
- }
-
- [HostProtection(ExternalThreading = true)]
- [ComVisible(false)]
- public override Task WriteAsync(String value)
- {
- Write(value);
- return Task.CompletedTask;
- }
-
- [HostProtection(ExternalThreading = true)]
- [ComVisible(false)]
- public override Task WriteAsync(char[] buffer, int index, int count)
- {
- Write(buffer, index, count);
- return Task.CompletedTask;
- }
-
- [HostProtection(ExternalThreading = true)]
- [ComVisible(false)]
- public override Task WriteLineAsync(char value)
- {
- WriteLine(value);
- return Task.CompletedTask;
- }
-
- [HostProtection(ExternalThreading = true)]
- [ComVisible(false)]
- public override Task WriteLineAsync(String value)
- {
- WriteLine(value);
- return Task.CompletedTask;
- }
-
- [HostProtection(ExternalThreading = true)]
- [ComVisible(false)]
- public override Task WriteLineAsync(char[] buffer, int index, int count)
- {
- WriteLine(buffer, index, count);
- return Task.CompletedTask;
- }
-
- [HostProtection(ExternalThreading = true)]
- [ComVisible(false)]
- public override Task FlushAsync()
- {
- return Task.CompletedTask;
- }
- #endregion
-
- // Returns a string containing the characters written to this TextWriter
- // so far.
- //
- public override String ToString() {
- return _sb.ToString();
- }
- }
-}