System\Text\Json\Serialization\Metadata\JsonTypeInfo.cs (24)
549/// Maps each <see cref="JsonValueType"/> to the first-declared case type that
552internal Dictionary<JsonValueType, Type>? UnionValueTypeMap { get; set; }
555/// Bitmask of <see cref="JsonValueType"/> shapes that two or more declared case types both
558/// <see cref="JsonValueType.None"/> means no ambiguous shapes were detected.
560internal JsonValueType UnionAmbiguousValueTypes { get; set; }
1174/// default. Custom (user-defined) converters return <see cref="JsonValueType.None"/> from
1187var map = new Dictionary<JsonValueType, Type>();
1188JsonValueType ambiguousValueTypes = JsonValueType.None;
1199JsonValueType valueTypes = converter.GetSupportedJsonValueTypes(effectiveNumberHandling);
1201if (valueTypes is JsonValueType.None)
1214ConverterStrategy.Enumerable => JsonValueType.Array,
1215_ => JsonValueType.Object,
1227JsonValueType valueTypes,
1229Dictionary<JsonValueType, Type> map,
1230ref JsonValueType ambiguousValueTypes)
1232ReadOnlySpan<JsonValueType> allValueTypes =
1234JsonValueType.Object,
1235JsonValueType.Array,
1236JsonValueType.String,
1237JsonValueType.Number,
1238JsonValueType.Boolean,
1239JsonValueType.Null,
1242foreach (JsonValueType valueType in allValueTypes)