internal void GenerateCodeFromMember(CodeMember member, TextWriter writer, CodeGeneratorOptions codeGeneratorOptions) { this.writer = new IndentingTextWriter(writer); var memberWriter = new CSharpTypeWriter(null, this.writer); member.Accept(memberWriter); }
public void Write(CodeCompileUnit unit) { foreach (var n in unit.Namespaces) { foreach (var comment in n.Comments) { writer.Write("//"); writer.Write(comment.Comment); writer.WriteLine(); } if (!string.IsNullOrEmpty(n.Name)) { writer.Write("namespace"); writer.WriteName(" "); writer.WriteDottedName(n.Name); writer.WriteLine(" {"); ++writer.IndentLevel; } foreach (var imp in n.Imports) { writer.WriteLine(); writer.Write("using"); writer.Write(" "); writer.WriteDottedName(imp.Namespace); writer.WriteLine(";"); } foreach (var type in n.Types) { writer.WriteLine(); var tw = new CSharpTypeWriter(type, writer); type.Accept(tw); } if (!string.IsNullOrEmpty(n.Name)) { --writer.IndentLevel; writer.WriteLine("}"); } } }
internal void GenerateCodeFromType(CodeTypeDeclaration type, TextWriter writer, CodeGeneratorOptions codeGeneratorOptions) { this.writer = new IndentingTextWriter(writer); this.typeWriter = new CSharpTypeWriter(type, this.writer); type.Accept(typeWriter); }