public void VisitArrayInitializer(CodeArrayCreateExpression arr) { writer.Write("new"); writer.Write(" "); VisitTypeReference(arr.ElementType); if (arr.Initializers.Length == 0) { writer.Write("[0]"); } else { writer.Write("[]"); writer.Write(" {"); writer.WriteLine(); ++writer.IndentLevel; var sep = ","; foreach (var initializer in arr.Initializers) { initializer.Accept(this); writer.Write(sep); writer.WriteLine(); } --writer.IndentLevel; writer.Write("}"); } }
public static void WriteMethodParameters(List <CodeParameterDeclarationExpression> parameters, IndentingTextWriter writer) { writer.Write("("); if (parameters.Count > 4) { // Poor man's pretty printer ++writer.IndentLevel; writer.WriteLine(); for (int i = 0; i < parameters.Count; ++i) { WriteParameter(parameters[i], writer); if (i < parameters.Count - 1) { writer.WriteLine(","); } } --writer.IndentLevel; } else { var sep = ""; foreach (var param in parameters) { writer.Write(sep); sep = ", "; WriteParameter(param, writer); } } writer.WriteName(")"); }
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("}"); } } }
private void TerminateLine() { writer.WriteLine(); }
public int VisitField(CodeMemberField field) { RenderMemberFieldAttributes(field.Attributes); var expWriter = new CSharpExpressionWriter(writer); expWriter.VisitTypeReference(field.FieldType); writer.Write(" "); writer.WriteName(field.FieldName); if (field.InitExpression != null) { writer.Write(" = "); field.InitExpression.Accept(expWriter); } writer.Write(";"); writer.WriteLine(); return(0); }