public override int Write(TextWriter writer, int count, int p) { if (this.StructureType == StructureType.Union) { writer.Write("union"); count += 5; } else { writer.Write("struct"); count += 6; } if (this.Identifier != null) { writer.Write(' '); writer.Write(this.Identifier); count += this.Identifier.Length + 1; } else if (this.StructureDeclarationList != null) { using (var bracketWriter = new WrappingWriter(() => writer.WriteLine(" {"), () => writer.WriteLine('}'))) { count += 2; foreach (var decl in this.StructureDeclarationList) { count = decl.Write(writer, count, p + 1); writer.WriteLine(';'); count++; } writer.WriteIndentTabs(p); count += p + 1; } } return count; }
public override int Write(TextWriter writer, int count, int p) { writer.Write("enum"); count += 4; if (this.Identifier != null) { writer.Write(' '); writer.Write(this.Identifier); count += this.Identifier.Length + 1; } else if (this.EnumeratorList != null) { using (var bracketWriter = new WrappingWriter(() => writer.WriteLine(" {"), () => writer.WriteLine('}'))) { count += 2; bool first = true; foreach (var enumerator in this.EnumeratorList) { if (!first) { writer.WriteLine(","); count++; } else first = false; enumerator.Write(writer, count, p + 1); } writer.WriteLine(); writer.WriteIndentTabs(p); count += p + 2; } } return count; }