Exemple #1
0
        public override void PrintLeft(OutputStream sb)
        {
            sb.UsingParameterPack(int.MaxValue, int.MaxValue, () => {
                int oldLength = sb.Length;
                child.Print(sb);

                if (sb.CurrentPackMax == int.MaxValue)
                {
                    sb.Append("...");
                    return;
                }

                if (sb.CurrentPackMax == 0)
                {
                    sb.Length = oldLength;
                }

                for (int i = 1, e = sb.CurrentPackMax; i < e; i++)
                {
                    sb.Append(", ");
                    sb.CurrentPackIndex = i;
                    child.Print(sb);
                }
            });
        }