renderClass method
Renders cls to a Dart class declaration string ending with a blank line.
Implementation
String renderClass(CodeClass cls) {
final buf = StringBuffer();
buf.writeln('class ${cls.name} {');
// ── Constructors ──────────────────────────────────────────────────────
for (final ctor in cls.constructors) {
_renderConstructor(buf, ctor);
}
if (cls.constructors.isNotEmpty &&
(cls.fields.isNotEmpty || cls.methods.isNotEmpty)) {
buf.writeln();
}
// ── Fields ────────────────────────────────────────────────────────────
for (final field in cls.fields) {
_renderField(buf, field);
}
if (cls.fields.isNotEmpty && cls.methods.isNotEmpty) {
buf.writeln();
}
// ── Methods ───────────────────────────────────────────────────────────
for (var i = 0; i < cls.methods.length; i++) {
_renderMethod(buf, cls.methods[i]);
if (i < cls.methods.length - 1) buf.writeln();
}
buf
..writeln('}')
..writeln();
return buf.toString();
}