Exemple #1
0
        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);
        }