public Line(StructuredStringBuilder sb) { _sb = sb; _sb.Append(_sb.DepthStr); }
protected override async Task GenerateCtor(StructuredStringBuilder sb) { if (BasicCtorPermission == CtorPermissionLevel.noGeneration) { return; } if (BasicCtorPermission == CtorPermissionLevel.@public) { sb.AppendLine($"public {Name}("); List <string> lines = new List <string>(); foreach (var field in IterateFields()) { lines.Add($"{field.TypeName(getter: false)} {field.Name} = default({field.TypeName(getter: false)})"); } for (int i = 0; i < lines.Count; i++) { using (sb.IncreaseDepth()) { using (sb.Line()) { sb.Append(lines[i]); if (i != lines.Count - 1) { sb.Append(","); } else { sb.Append(")"); } } } } using (sb.CurlyBrace()) { foreach (var field in IterateFields()) { sb.AppendLine($"this.{field.Name} = {field.Name};"); } foreach (var mod in gen.GenerationModules) { await mod.GenerateInCtor(this, sb); } sb.AppendLine("CustomCtor();"); } sb.AppendLine(); } sb.AppendLine($"{BasicCtorPermission.ToStringFast_Enum_Only()} {Name}({Interface(getter: true)} rhs)"); using (sb.CurlyBrace()) { foreach (var field in IterateFields()) { sb.AppendLine($"this.{field.Name} = {field.GenerateACopy("rhs." + field.Name)};"); } } sb.AppendLine(); sb.AppendLine("partial void CustomCtor();"); sb.AppendLine(); }
public void Dispose() { _sb.Append(Environment.NewLine); }