System\Text\Json\Serialization\Metadata\JsonTypeInfo.cs (47)
75/// The <see cref="JsonTypeInfo"/> instance has been locked for further modification.
106/// The <see cref="JsonTypeInfo"/> instance has been locked for further modification.
136/// The <see cref="JsonTypeInfo"/> instance has been locked for further modification.
166/// The <see cref="JsonTypeInfo"/> instance has been locked for further modification.
202/// The <see cref="JsonTypeInfo"/> instance has been locked for further modification.
288/// <paramref name="value" /> has been associated with a different <see cref="JsonTypeInfo"/> instance.
291/// The <see cref="JsonTypeInfo"/> instance has been locked for further modification.
340/// A <see cref="JsonTypeInfo"/> instance can be locked either if
390private readonly JsonTypeInfo _parent;
392public JsonUnionCaseInfoList(JsonTypeInfo parent, IEnumerable<JsonUnionCaseInfo>? source = null) : base(source)
460/// <c>CaseValue</c> using the <see cref="JsonTypeInfo"/> registered for that case
635internal JsonTypeInfo? ElementTypeInfo
645JsonTypeInfo? elementTypeInfo = _elementTypeInfo;
661internal JsonTypeInfo? KeyTypeInfo
671JsonTypeInfo? keyTypeInfo = _keyTypeInfo;
683private JsonTypeInfo? _elementTypeInfo;
684private JsonTypeInfo? _keyTypeInfo;
687/// Gets the <see cref="JsonSerializerOptions"/> value associated with the current <see cref="JsonTypeInfo" /> instance.
702/// As such, the value of the converter cannot be changed once a <see cref="JsonTypeInfo"/> instance has been created.
722/// Dummy <see cref="JsonPropertyInfo"/> instance corresponding to the declaring type of this <see cref="JsonTypeInfo"/>.
740/// The <see cref="JsonTypeInfo"/> instance has been locked for further modification.
772/// The <see cref="JsonTypeInfo"/> instance has been locked for further modification.
812/// The <see cref="JsonTypeInfo"/> instance has been locked for further modification.
850/// The <see cref="JsonTypeInfo"/> instance has been locked for further modification.
1052/// Validates that a union <see cref="JsonTypeInfo"/> has a well-formed shape after
1170/// This helper operates purely on already-resolved <see cref="JsonTypeInfo"/> /
1175private static void BuildUnionValueTypeMap(IList<JsonUnionCaseInfo> unionCases, JsonSerializerOptions options, JsonTypeInfo target)
1183JsonTypeInfo caseTypeInfo = options.GetTypeInfoInternal(caseType);
1239internal JsonTypeInfo? AncestorPolymorphicType
1256private JsonTypeInfo? _ancestorPolymorhicType;
1356/// which constrains the type of metadata that can be modified in the <see cref="JsonTypeInfo"/> instance.
1369/// Creates a blank <see cref="JsonTypeInfo"/> instance.
1373/// <returns>A blank <see cref="JsonTypeInfo"/> instance.</returns>
1377/// The returned <see cref="JsonTypeInfo"/> will be blank, with the exception of the
1384/// which constrains the type of metadata that can be modified in the <see cref="JsonTypeInfo"/> instance.
1388public static JsonTypeInfo CreateJsonTypeInfo(Type type, JsonSerializerOptions options)
1404internal static JsonTypeInfo CreateJsonTypeInfo(Type type, JsonConverter converter, JsonSerializerOptions options)
1406JsonTypeInfo jsonTypeInfo;
1417jsonTypeInfo = (JsonTypeInfo)jsonTypeInfoType.CreateInstanceNoWrapExceptions(
1427/// Creates a blank <see cref="JsonPropertyInfo"/> instance for the current <see cref="JsonTypeInfo"/>.
1434/// <exception cref="InvalidOperationException">The <see cref="JsonTypeInfo"/> instance has been locked for further modification.</exception>
1460if (Options.TryGetTypeInfoCached(propertyType, out JsonTypeInfo? jsonTypeInfo))
1473parameterTypes: [typeof(Type), typeof(JsonTypeInfo), typeof(JsonSerializerOptions)],
1484private protected abstract JsonPropertyInfo CreateJsonPropertyInfo(JsonTypeInfo declaringTypeInfo, Type? declaringType, JsonSerializerOptions options);
1742(propertyType.FullName == JsonObjectTypeName && ReferenceEquals(propertyType.Assembly, typeof(JsonTypeInfo).Assembly));
1776private readonly JsonTypeInfo _jsonTypeInfo;
1778public JsonPropertyInfoList(JsonTypeInfo jsonTypeInfo)