private static (DeserializableMember?Member, ImmutableArray <Diagnostic> Diagnostics) MakeMember( Location?location, DeserializerTypes types, string name, Setter setter, Parser?parser, Reset?reset, bool isRequired, int?order, ImmutableArray <Diagnostic> diags ) { if (diags.IsEmpty) { if (parser == null && !Parser.TryGetDefault(types, setter.ValueType, out parser)) { var diag = Diagnostics.NoBuiltInParser(location, setter.ValueType); diags = diags.Add(diag); return(null, diags); } parser = Utils.NonNull(parser); return(new DeserializableMember(name, setter, parser, reset, isRequired, order), ImmutableArray <Diagnostic> .Empty); } return(null, diags); }