Ejemplo n.º 1
0
        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);
        }