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(";"); }