Пример #1
0
        private static void WriteDeclaration(int id, int?indentation, string type, string name, CSideWriter writer)
        {
            writer.WriteLineParts(
                new LinePart("{ ", 2, false),
                new LinePart(id.ToString(), 4, true),
                new LinePart(";", 1, false),
                new LinePart(indentation.HasValue ? indentation.Value.ToString() : string.Empty, 4, true)
            {
                SetIndentationAt = 15
            },
                new LinePart(";", 1, false),
                new LinePart(type, 8, true),
                new LinePart(";", 1, false),
                new LinePart(name ?? string.Empty, 20, true),
                new LinePart(";", 1, false)
            {
                NewLine = true
            }
                );

            //var idText = id.ToString().PadRight(4);
            //var debt = idText.Length > 4 ? idText.Length - 4 : 0;
            //var indentationText = (indentation.HasValue ? indentation.Value.ToString() : string.Empty).PadRight(Math.Max(4 - debt, 0));
            //debt = debt - Math.Max(indentationText.Length - 2, 0);

            //name = name ?? string.Empty;
            //var nameLength = Math.Max(name.Length, 20);

            //writer.Write("{ ");
            //writer.Write(idText);
            //writer.Write(";");
            //writer.Write(indentationText);
            //writer.Indent(writer.Column);
            //writer.Write(";");
            //writer.Write(type.PadRight(8 - debt));
            //writer.Write(";");
            //writer.Write(name.PadRight(nameLength - debt));
            //writer.WriteLine(";");
        }