1 write to PolymorphicTypeResolver
System.Text.Json (1)
System\Text\Json\Serialization\Metadata\JsonTypeInfo.cs (1)
1008PolymorphicTypeResolver = new PolymorphicTypeResolver(Options, PolymorphismOptions, Type, Converter.CanHaveMetadata);
18 references to PolymorphicTypeResolver
System.Text.Json (18)
System\Text\Json\Serialization\Converters\Collection\JsonCollectionConverter.cs (1)
269Debug.Assert(JsonSerializer.IsMetadataPropertyName(reader.GetUnescapedSpan(), (state.Current.BaseJsonTypeInfo ?? jsonTypeInfo).PolymorphicTypeResolver), "should only be hit if metadata property.");
System\Text\Json\Serialization\Converters\Collection\JsonDictionaryConverter.cs (1)
253if (JsonSerializer.IsMetadataPropertyName(propertyName, state.Current.BaseJsonTypeInfo.PolymorphicTypeResolver))
System\Text\Json\Serialization\JsonConverter.MetadataHandling.cs (3)
28PolymorphicTypeResolver resolver = jsonTypeInfo.PolymorphicTypeResolver!; 87Debug.Assert(CanBePolymorphic || jsonTypeInfo.PolymorphicTypeResolver != null); 106if (jsonTypeInfo.PolymorphicTypeResolver is PolymorphicTypeResolver resolver)
System\Text\Json\Serialization\JsonConverterOfT.cs (1)
380bool canBePolymorphic = CanBePolymorphic || jsonTypeInfo.PolymorphicTypeResolver is not null;
System\Text\Json\Serialization\JsonSerializer.Read.HandleMetadata.cs (4)
32PolymorphicTypeResolver? polymorphicResolver = jsonTypeInfo.PolymorphicTypeResolver; 129switch (state.Current.LatestMetadataPropertyName = GetMetadataPropertyName(propertyName, jsonTypeInfo.PolymorphicTypeResolver)) 174state.Current.JsonPropertyName = jsonTypeInfo.PolymorphicTypeResolver?.CustomTypeDiscriminatorPropertyNameUtf8 ?? s_typePropertyName; 176if (jsonTypeInfo.PolymorphicTypeResolver is null)
System\Text\Json\Serialization\JsonSerializer.Read.HandlePropertyName.cs (1)
89if (IsMetadataPropertyName(propertyName, state.Current.BaseJsonTypeInfo.PolymorphicTypeResolver))
System\Text\Json\Serialization\Metadata\JsonTypeInfo.cs (1)
1782return PolymorphicTypeResolver?.UsesTypeDiscriminators == true;
System\Text\Json\Serialization\ReadStack.cs (4)
114Current.CanContainMetadata = PreserveReferences || jsonTypeInfo.PolymorphicTypeResolver?.UsesTypeDiscriminators == true 115|| (jsonTypeInfo.PolymorphicTypeResolver is not null && jsonTypeInfo.TypeClassifier is not null); 144Current.CanContainMetadata = PreserveReferences || jsonTypeInfo.PolymorphicTypeResolver?.UsesTypeDiscriminators == true 145|| (jsonTypeInfo.PolymorphicTypeResolver is not null && jsonTypeInfo.TypeClassifier is not null);
System\Text\Json\ThrowHelper.Serialization.cs (2)
692if (typeInfo.PolymorphicTypeResolver?.UsesTypeDiscriminators is true) 865MetadataPropertyName name = JsonSerializer.GetMetadataPropertyName(propertyName, state.Current.BaseJsonTypeInfo.PolymorphicTypeResolver);