CommonFieldModel<TypeModel> constructor
CommonFieldModel<TypeModel> (
- FieldElement field,
- MkType<
TypeModel> mkType, - FieldNameConfig fieldCfg
Implementation
factory CommonFieldModel(FieldElement field, MkType<TypeModel> mkType, FieldNameConfig fieldCfg) {
try {
final ty = mkType(field.type);
String name, internalName;
switch (fieldCfg) {
case FieldNameConfig.Public:
{
if (field.name.startsWith('_')) {
throw CodegenException('fieldname must not start with an underscore');
}
name = field.name;
internalName = '_' + name;
break;
}
case FieldNameConfig.Private:
{
if (!field.name.startsWith('_')) {
throw CodegenException('fieldname must start with an underscore');
}
name = field.name.substring(1);
internalName = field.name;
break;
}
}
return CommonFieldModel._(
name: name,
internalName: internalName,
type: ty,
);
} on CodegenException catch (e) {
e.fieldName = field.name;
rethrow;
}
}