[foundation] Remove unused (internal) NSLogWriter (#5357)

This code was moved inside mono since it's used for `Console` output
https://github.com/mono/mono/blob/master/mcs/class/corlib/System/Console.iOS.cs
This commit is contained in:
Sebastien Pouliot 2019-01-09 09:27:54 -05:00 коммит произвёл GitHub
Родитель 34e52a7710
Коммит 533a68ddf3
Не найден ключ, соответствующий данной подписи
Идентификатор ключа GPG: 4AEE18F83AFDEB23
1 изменённых файлов: 0 добавлений и 89 удалений

Просмотреть файл

@ -1,89 +0,0 @@
//
// Helper for Console to allow indirect access to `stdout` using NSLog
//
// Authors:
// Sebastien Pouliot <sebastien@xamarin.com>
//
// Copyright 2012 Xamarin Inc. All rights reserved.
//
using System;
using System.IO;
using System.Runtime.InteropServices;
using System.Text;
namespace Foundation {
// this is created, by reflection, when using Console (static ctor)
// the linker will include this type is Console is used anywhere in the app
class NSLogWriter : TextWriter {
[DllImport (Constants.FoundationLibrary)]
extern static void NSLog (IntPtr format, IntPtr s);
static NSString format = new NSString ("%@");
StringBuilder sb;
public NSLogWriter ()
{
sb = new StringBuilder ();
}
public override System.Text.Encoding Encoding {
get { return System.Text.Encoding.UTF8; }
}
public override void Flush ()
{
try {
using (var ns = new NSString (sb.ToString ()))
NSLog (format.Handle, ns.Handle);
sb.Length = 0;
}
catch (Exception) {
}
}
// minimum to override - see http://msdn.microsoft.com/en-us/library/system.io.textwriter.aspx
public override void Write (char value)
{
try {
sb.Append (value);
}
catch (Exception) {
}
}
// optimization (to avoid concatening chars)
public override void Write (string value)
{
try {
sb.Append (value);
if (value != null && value.Length >= CoreNewLine.Length && EndsWithNewLine (value))
Flush ();
}
catch (Exception) {
}
}
bool EndsWithNewLine (string value)
{
for (int i = 0, v = value.Length - CoreNewLine.Length; i < CoreNewLine.Length; ++i, ++v) {
if (value [v] != CoreNewLine [i])
return false;
}
return true;
}
public override void WriteLine ()
{
try {
Flush ();
}
catch (Exception) {
}
}
}
}