public override String ToString()
{
// Do some final formatting (change ^ for tab)
int firstCharInLine = 0;
int numSpacesAtStart = 0;
bool inStartSpaces = true;
int tabNum = 0;
for (int j = 0; j < B.Length; j++)
{
if (B[j] == '\n')
{
firstCharInLine = j;
inStartSpaces = true;
tabNum = 0;
numSpacesAtStart = 0;
continue;
}
if (inStartSpaces && B[j] != ' ')
{
inStartSpaces = false;
firstCharInLine = j;
numSpacesAtStart++;
}
if (B[j] == '^')
{
tabNum++;
int tabPos = numSpacesAtStart + 0 + tabNum * 16;
int currentColumn = j - firstCharInLine;
string toInsert = " "; // At least one space
if (currentColumn < tabPos)
{
toInsert = new string(' ', tabPos - currentColumn);
}
B = B.Replace("^", toInsert, j, 1);
}
}
return B.ToString();
}
public override String ToString() { var p = new TpmStructPrinter(); p.PrintName(GetType().ToString()); ToStringInternal(p); return p.ToString(); }