function classesForBuilder()

in src/plugins/builder.ts [428:462]


function classesForBuilder(objectType: ObjectSpec.Type): ObjC.Class[] {
  return [
    {
      baseClassName: 'NSObject',
      covariantTypes: [],
      classMethods: [
        builderClassMethodForValueType(objectType),
        builderFromExistingObjectClassMethodForValueType(objectType),
      ],
      comments: [],
      inlineBlockTypedefs: [],
      instanceMethods: [
        buildObjectInstanceMethodForValueType(objectType),
      ].concat(
        objectType.attributes.map((attribute) =>
          withInstanceMethodForAttribute(
            ObjectSpecUtils.typeSupportsValueObjectSemantics(objectType),
            attribute,
          ),
        ),
      ),
      name: nameOfBuilderForValueTypeWithName(objectType.typeName),
      properties: [],
      instanceVariables: objectType.attributes.map(
        instanceVariableForAttribute,
      ),
      implementedProtocols: [],
      nullability:
        objectType.includes.indexOf('RMAssumeNonnull') >= 0
          ? ObjC.ClassNullability.assumeNonnull
          : ObjC.ClassNullability.default,
      subclassingRestricted: false,
    },
  ];
}