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,
},
];
}