public void EmitField(string name, Action <ExpressionBuilder> initialiser = null, IEnumerable <string> summary = null, Action <DocBuilder> docs = null, IEnumerable <string> attributes = null) { if (this.hasFirstMember) { this.writer.WriteLine(); } else { this.hasFirstMember = true; } var docBuilder = new DocBuilder(this.writer.GetSubWriter(), summary); docs?.Invoke(docBuilder); this.writer.Write($"{name}"); if (initialiser != null) { writer.Write(" = "); initialiser(new ExpressionBuilder(this.writer.GetSubWriter())); } this.writer.WriteLine(", "); }
private void EmitMemberComments(AccessModifier accessModifier, IEnumerable <string> summary, Action <DocBuilder> docs) { if (accessModifier == AccessModifier.Public || summary != null || docs != null) { var docBuilder = new DocBuilder(this.writer.GetSubWriter(), summary); docs?.Invoke(docBuilder); } }
private void EmitTypePreamble(IEnumerable <string> summary, Action <DocBuilder> docs, IEnumerable <string> attributes) { if (this.hasFirstElement) { this.writer.WriteLine(); } else { this.hasFirstElement = true; } var docsBuilder = new DocBuilder(this.writer.GetSubWriter(), summary); docs?.Invoke(docsBuilder); if (attributes != null) { foreach (var attributeName in attributes) { this.writer.WriteLine($"[{attributeName}]"); } } }