writeDataClass method

  1. @override
void writeDataClass(
  1. ObjcOptions generatorOptions,
  2. Root root,
  3. Indent indent,
  4. Class classDefinition, {
  5. required String dartPackageName,
})
override

Writes a single data class to indent.

Implementation

@override
void writeDataClass(
  ObjcOptions generatorOptions,
  Root root,
  Indent indent,
  Class classDefinition, {
  required String dartPackageName,
}) {
  final Set<String> customClassNames =
      root.classes.map((Class x) => x.name).toSet();
  final Set<String> customEnumNames =
      root.enums.map((Enum x) => x.name).toSet();
  final String className =
      _className(generatorOptions.prefix, classDefinition.name);

  indent.writeln('@implementation $className');
  _writeObjcSourceClassInitializer(generatorOptions, root, indent,
      classDefinition, customClassNames, customEnumNames, className);
  writeClassDecode(
    generatorOptions,
    root,
    indent,
    classDefinition,
    dartPackageName: dartPackageName,
  );
  writeClassEncode(
    generatorOptions,
    root,
    indent,
    classDefinition,
    dartPackageName: dartPackageName,
  );
  indent.writeln('@end');
  indent.newln();
}