System\Text\Json\Serialization\Metadata\JsonTypeInfo.cs (19)
628ThrowHelper.ThrowInvalidOperationException_NoMetadataForTypeProperties(Options.TypeInfoResolver, Type);
766internal JsonNumberHandling EffectiveNumberHandling => _numberHandling ?? Options.NumberHandling;
951Options.MakeReadOnly();
956lock (Options.CacheContext)
987Debug.Assert(Monitor.IsEntered(Options.CacheContext), "Configure called directly, use EnsureConfigured which synchronizes access to this method");
988Debug.Assert(Options.IsReadOnly);
997PolymorphicTypeResolver = new PolymorphicTypeResolver(Options, PolymorphismOptions, Type, Converter.CanHaveMetadata);
1013_elementTypeInfo ??= Options.GetTypeInfoInternal(ElementType);
1019_keyTypeInfo ??= Options.GetTypeInfoInternal(KeyType);
1042BuildUnionValueTypeMap(UnionCases, Options, this);
1134factory = Options.GetTypeClassifierFromList(ctx);
1139JsonTypeClassifier classifier = factory.CreateJsonClassifier(ctx, Options);
1335if (Options.CanUseFastPathSerializationLogic)
1341return OriginatingResolver.IsCompatibleWithOptions(Options);
1476if (Options.TryGetTypeInfoCached(propertyType, out JsonTypeInfo? jsonTypeInfo))
1481jsonPropertyInfo = jsonTypeInfo.CreateJsonPropertyInfo(declaringTypeInfo: this, declaringType, Options);
1490parameters: new object[] { declaringType ?? Type, this, Options })!;
1541StringComparer comparer = Options.PropertyNameCaseInsensitive ? StringComparer.OrdinalIgnoreCase : StringComparer.Ordinal;
1609? Options.UnmappedMemberHandling
System\Text\Json\Serialization\Metadata\JsonTypeInfoOfT.cs (1)
254Options)
System\Text\Json\Serialization\Metadata\JsonTypeInfoOfT.WriteHelpers.cs (12)
45Options.TryGetPolymorphicTypeInfoForRootType(rootValue, out JsonTypeInfo? derivedTypeInfo))
56bool success = EffectiveConverter.WriteCore(writer, rootValue, Options, ref state);
67PooledByteBufferWriter writer = new PooledByteBufferWriter(Options.DefaultBufferSize, utf8Json);
103Utf8JsonWriter writer = Utf8JsonWriterCache.RentWriter(Options, pipeWriter);
141Options.TryGetPolymorphicTypeInfoForRootType(rootValue, out JsonTypeInfo? derivedTypeInfo))
162var writer = new Utf8JsonWriter(pipeWriter, Options.GetWriterOptions());
172isFinalBlock = EffectiveConverter.WriteCore(writer, rootValue, Options, ref state);
263Utf8JsonWriter writer = Utf8JsonWriterCache.RentWriterAndBuffer(Options, out PooledByteBufferWriter bufferWriter);
285Options.TryGetPolymorphicTypeInfoForRootType(rootValue, out JsonTypeInfo? polymorphicTypeInfo))
299Utf8JsonWriter writer = Utf8JsonWriterCache.RentWriterAndBuffer(Options, out PooledByteBufferWriter bufferWriter);
309isFinalBlock = EffectiveConverter.WriteCore(writer, rootValue, Options, ref state);
369if ((ulong)serializationSize > (ulong)(Options.DefaultBufferSize / 2))