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