private static (SerializableMember?Member, ImmutableArray <Diagnostic> Diagnostics) MakeMember( Location?location, SerializerTypes types, string name, Getter getter, Formatter?formatter, ShouldSerialize?shouldSerialize, bool emitDefaultValue, int?order, ImmutableArray <Diagnostic> diags ) { if (diags.IsEmpty) { if (formatter == null && !Formatter.TryGetDefault(types, getter.ForType, out formatter)) { var diag = Diagnostics.NoBuiltInFormatter(location, getter.ForType); diags = diags.Add(diag); return(null, diags); } formatter = Utils.NonNull(formatter); return(new SerializableMember(name, getter, formatter, shouldSerialize, emitDefaultValue, order), ImmutableArray <Diagnostic> .Empty); } return(null, diags); }