Imported Upstream version 5.8.0.22

Former-commit-id: df344e34b07851d296efb3e6604c8db42b6f7aa3
This commit is contained in:
Xamarin Public Jenkins (auto-signing)
2017-10-19 20:04:20 +00:00
parent 5f4a27cc8a
commit 7d05485754
5020 changed files with 114082 additions and 186061 deletions

View File

@@ -1 +1 @@
79ae69df3d76cff87aefb97754abcf7de3dcedbf
b6f99400bfe7a0ff94e67097c4d5538edc782bd1

View File

@@ -34,10 +34,12 @@ namespace Ildasm
readonly TextWriter writer;
int column;
bool wrapped;
StringBuilder sb;
internal LineWriter(TextWriter writer)
{
this.writer = writer;
sb = new StringBuilder (256);
}
internal int Column
@@ -55,41 +57,68 @@ namespace Ildasm
wrapped = false;
}
internal void Write(string str, object arg0)
{
int len = sb.Length;
sb.AppendFormat (str, arg0);
column += sb.Length - len;
}
internal void Write(string str, params object[] args)
{
Write(String.Format(str, args));
int len = sb.Length;
sb.AppendFormat (str, args);
column += sb.Length - len;
}
internal void Write(string str)
{
writer.Write(str);
sb.Append (str);
column += str.Length;
}
internal void WriteLine(string str)
{
writer.WriteLine(str);
if (sb.Length > 0) {
sb.Append (str);
writer.WriteLine (sb.ToString ());
sb.Clear ();
} else {
writer.WriteLine (str);
}
column = 0;
wrapped = true;
}
internal void WriteLine(string str, params object[] args)
{
writer.WriteLine(str, args);
if (sb.Length > 0) {
sb.AppendFormat (str, args);
writer.WriteLine(sb.ToString ());
sb.Clear ();
} else {
writer.WriteLine (String.Format (str, args));
}
column = 0;
wrapped = true;
}
internal void WriteLine()
{
writer.WriteLine();
if (sb.Length > 0) {
writer.WriteLine (sb.ToString ());
sb.Clear ();
} else {
writer.WriteLine ();
}
column = 0;
wrapped = true;
}
internal void GoToColumn(int column)
{
Write(new String(' ', column - this.column));
sb.Append (' ', column - this.column);
this.column = column;
}
internal void Flush()