X-Git-Url: http://wien.tomnetworks.com/gitweb/?a=blobdiff_plain;f=mcs%2Fclass%2Fcorlib%2FSystem.IO%2FStringWriter.cs;h=2b1bdc193e1f449096cf68f821dcec84703907ab;hb=7c970f8ee1f635da8575bcf58d89c16bb5c2ace1;hp=ed7f1f2f062a28e3a9b40a222b407913f00cfc55;hpb=93703b4ef8bdcf1d6cf336e14f534454221730c5;p=mono.git diff --git a/mcs/class/corlib/System.IO/StringWriter.cs b/mcs/class/corlib/System.IO/StringWriter.cs index ed7f1f2f062..2b1bdc193e1 100644 --- a/mcs/class/corlib/System.IO/StringWriter.cs +++ b/mcs/class/corlib/System.IO/StringWriter.cs @@ -1,63 +1,70 @@ // // System.IO.StringWriter // -// Authors -// Marcin Szczepanski (marcins@zipworld.com.au) -// Sebastien Pouliot -// +// Authors +// Marcin Szczepanski (marcins@zipworld.com.au) +// Sebastien Pouliot +// // Copyright (C) 2004 Novell (http://www.novell.com) // - -// -// Copyright (C) 2004 Novell, Inc (http://www.novell.com) -// -// Permission is hereby granted, free of charge, to any person obtaining -// a copy of this software and associated documentation files (the -// "Software"), to deal in the Software without restriction, including -// without limitation the rights to use, copy, modify, merge, publish, -// distribute, sublicense, and/or sell copies of the Software, and to -// permit persons to whom the Software is furnished to do so, subject to -// the following conditions: -// -// The above copyright notice and this permission notice shall be -// included in all copies or substantial portions of the Software. -// -// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, -// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND -// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE -// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION -// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION -// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. -// - + +// +// Copyright (C) 2004 Novell, Inc (http://www.novell.com) +// +// Permission is hereby granted, free of charge, to any person obtaining +// a copy of this software and associated documentation files (the +// "Software"), to deal in the Software without restriction, including +// without limitation the rights to use, copy, modify, merge, publish, +// distribute, sublicense, and/or sell copies of the Software, and to +// permit persons to whom the Software is furnished to do so, subject to +// the following conditions: +// +// The above copyright notice and this permission notice shall be +// included in all copies or substantial portions of the Software. +// +// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND +// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE +// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION +// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION +// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. +// + using System.Globalization; using System.Text; +#if NET_2_0 +using System.Runtime.InteropServices; +#endif + namespace System.IO { - + [Serializable] - [MonoTODO ("Fix serialization compatibility with MS.NET")] +#if NET_2_0 + [ComVisible (true)] +#endif + [MonoTODO ("Serialization format not compatible with .NET")] public class StringWriter : TextWriter { private StringBuilder internalString; private bool disposed = false; - public StringWriter () : this (new StringBuilder ()) - { + public StringWriter () : this (new StringBuilder ()) + { } - public StringWriter (IFormatProvider formatProvider) : - this (new StringBuilder (), formatProvider) - { + public StringWriter (IFormatProvider formatProvider) : + this (new StringBuilder (), formatProvider) + { } - public StringWriter (StringBuilder sb) : - this (sb, null) + public StringWriter (StringBuilder sb) : + this (sb, null) { } - public StringWriter (StringBuilder sb, IFormatProvider formatProvider) + public StringWriter (StringBuilder sb, IFormatProvider formatProvider) { if (sb == null) throw new ArgumentNullException ("sb"); @@ -72,7 +79,7 @@ namespace System.IO { } } - public override void Close () + public override void Close () { Dispose (true); disposed = true; @@ -86,52 +93,52 @@ namespace System.IO { disposed = true; } - public virtual StringBuilder GetStringBuilder () + public virtual StringBuilder GetStringBuilder () { return internalString; } - public override string ToString () + public override string ToString () { return internalString.ToString (); } - public override void Write (char value) + public override void Write (char value) { if (disposed) { - throw new ObjectDisposedException ("StringReader", - Locale.GetText ("Cannot write to a closed StringWriter")); + throw new ObjectDisposedException ("StringReader", + Locale.GetText ("Cannot write to a closed StringWriter")); } internalString.Append (value); } - public override void Write (string value) + public override void Write (string value) { if (disposed) { - throw new ObjectDisposedException ("StringReader", - Locale.GetText ("Cannot write to a closed StringWriter")); + throw new ObjectDisposedException ("StringReader", + Locale.GetText ("Cannot write to a closed StringWriter")); } - + internalString.Append (value); } - public override void Write (char[] buffer, int index, int count) + public override void Write (char[] buffer, int index, int count) { if (disposed) { - throw new ObjectDisposedException ("StringReader", - Locale.GetText ("Cannot write to a closed StringWriter")); + throw new ObjectDisposedException ("StringReader", + Locale.GetText ("Cannot write to a closed StringWriter")); } if (buffer == null) - throw new ArgumentNullException ("buffer"); + throw new ArgumentNullException ("buffer"); if (index < 0) - throw new ArgumentOutOfRangeException ("index", "< 0"); + throw new ArgumentOutOfRangeException ("index", "< 0"); if (count < 0) - throw new ArgumentOutOfRangeException ("count", "< 0"); - // re-ordered to avoid possible integer overflow + throw new ArgumentOutOfRangeException ("count", "< 0"); + // re-ordered to avoid possible integer overflow if (index > buffer.Length - count) throw new ArgumentException ("index + count > buffer.Length"); - + internalString.Append (buffer, index, count); } }