File: Generated\Basic.CompilerLog.Util\Basic.CompilerLog.Util.Impl.BasicGeneratedFilesAnalyzerReference\TestTypesContext.GetJsonTypeInfo.g.cs
Project: ..\..\..\test\Libraries\Microsoft.Extensions.AI.Abstractions.Tests\Microsoft.Extensions.AI.Abstractions.Tests.csproj (Microsoft.Extensions.AI.Abstractions.Tests)
// <auto-generated/>
 
#nullable enable annotations
#nullable disable warnings
 
// Suppress warnings about [Obsolete] member usage in generated code.
#pragma warning disable CS0612, CS0618
 
namespace Microsoft.Extensions.AI.JsonSchemaExporter
{
    public static partial class TestTypes
    {
        public partial class TestTypesContext : global::System.Text.Json.Serialization.Metadata.IJsonTypeInfoResolver
        {
            /// <inheritdoc/>
            public override global::System.Text.Json.Serialization.Metadata.JsonTypeInfo? GetTypeInfo(global::System.Type type)
            {
                Options.TryGetTypeInfo(type, out global::System.Text.Json.Serialization.Metadata.JsonTypeInfo? typeInfo);
                return typeInfo;
            }
 
            global::System.Text.Json.Serialization.Metadata.JsonTypeInfo? global::System.Text.Json.Serialization.Metadata.IJsonTypeInfoResolver.GetTypeInfo(global::System.Type type, global::System.Text.Json.JsonSerializerOptions options)
            {
                if (type == typeof(bool))
                {
                    return Create_Boolean(options);
                }
                if (type == typeof(bool?))
                {
                    return Create_NullableBoolean(options);
                }
                if (type == typeof(byte))
                {
                    return Create_Byte(options);
                }
                if (type == typeof(byte[]))
                {
                    return Create_ByteArray(options);
                }
                if (type == typeof(char))
                {
                    return Create_Char(options);
                }
                if (type == typeof(decimal))
                {
                    return Create_Decimal(options);
                }
                if (type == typeof(double))
                {
                    return Create_Double(options);
                }
                if (type == typeof(double?))
                {
                    return Create_NullableDouble(options);
                }
                if (type == typeof(float))
                {
                    return Create_Single(options);
                }
                if (type == typeof(global::Microsoft.Extensions.AI.JsonSchemaExporter.TestTypes.ClassWithComponentModelAttributes))
                {
                    return Create_ClassWithComponentModelAttributes(options);
                }
                if (type == typeof(global::Microsoft.Extensions.AI.JsonSchemaExporter.TestTypes.ClassWithOptionalObjectParameter))
                {
                    return Create_ClassWithOptionalObjectParameter(options);
                }
                if (type == typeof(global::Microsoft.Extensions.AI.JsonSchemaExporter.TestTypes.ClassWithPropertiesUsingCustomConverters))
                {
                    return Create_ClassWithPropertiesUsingCustomConverters(options);
                }
                if (type == typeof(global::Microsoft.Extensions.AI.JsonSchemaExporter.TestTypes.ClassWithPropertiesUsingCustomConverters.ClassWithCustomConverter1))
                {
                    return Create_ClassWithCustomConverter1(options);
                }
                if (type == typeof(global::Microsoft.Extensions.AI.JsonSchemaExporter.TestTypes.ClassWithPropertiesUsingCustomConverters.ClassWithCustomConverter2))
                {
                    return Create_ClassWithCustomConverter2(options);
                }
                if (type == typeof(global::Microsoft.Extensions.AI.JsonSchemaExporter.TestTypes.FlagsStringEnum))
                {
                    return Create_FlagsStringEnum(options);
                }
                if (type == typeof(global::Microsoft.Extensions.AI.JsonSchemaExporter.TestTypes.GenericPocoWithNullableConstructorParameter<string>))
                {
                    return Create_GenericPocoWithNullableConstructorParameterString(options);
                }
                if (type == typeof(global::Microsoft.Extensions.AI.JsonSchemaExporter.TestTypes.IntEnum))
                {
                    return Create_IntEnum(options);
                }
                if (type == typeof(global::Microsoft.Extensions.AI.JsonSchemaExporter.TestTypes.IntEnum?))
                {
                    return Create_NullableIntEnum(options);
                }
                if (type == typeof(global::Microsoft.Extensions.AI.JsonSchemaExporter.TestTypes.NonAbstractClassWithSingleDerivedType))
                {
                    return Create_NonAbstractClassWithSingleDerivedType(options);
                }
                if (type == typeof(global::Microsoft.Extensions.AI.JsonSchemaExporter.TestTypes.NonAbstractClassWithSingleDerivedType.Derived))
                {
                    return Create_Derived(options);
                }
                if (type == typeof(global::Microsoft.Extensions.AI.JsonSchemaExporter.TestTypes.PocoCombiningPolymorphicTypeAndDerivedTypes))
                {
                    return Create_PocoCombiningPolymorphicTypeAndDerivedTypes(options);
                }
                if (type == typeof(global::Microsoft.Extensions.AI.JsonSchemaExporter.TestTypes.PocoDisallowingUnmappedMembers))
                {
                    return Create_PocoDisallowingUnmappedMembers(options);
                }
                if (type == typeof(global::Microsoft.Extensions.AI.JsonSchemaExporter.TestTypes.PocoWithCustomConverter))
                {
                    return Create_PocoWithCustomConverter(options);
                }
                if (type == typeof(global::Microsoft.Extensions.AI.JsonSchemaExporter.TestTypes.PocoWithCustomNaming))
                {
                    return Create_PocoWithCustomNaming(options);
                }
                if (type == typeof(global::Microsoft.Extensions.AI.JsonSchemaExporter.TestTypes.PocoWithCustomNumberHandling))
                {
                    return Create_PocoWithCustomNumberHandling(options);
                }
                if (type == typeof(global::Microsoft.Extensions.AI.JsonSchemaExporter.TestTypes.PocoWithCustomNumberHandlingOnProperties))
                {
                    return Create_PocoWithCustomNumberHandlingOnProperties(options);
                }
                if (type == typeof(global::Microsoft.Extensions.AI.JsonSchemaExporter.TestTypes.PocoWithCustomPropertyConverter))
                {
                    return Create_PocoWithCustomPropertyConverter(options);
                }
                if (type == typeof(global::Microsoft.Extensions.AI.JsonSchemaExporter.TestTypes.PocoWithDescription))
                {
                    return Create_PocoWithDescription(options);
                }
                if (type == typeof(global::Microsoft.Extensions.AI.JsonSchemaExporter.TestTypes.PocoWithEnums))
                {
                    return Create_PocoWithEnums(options);
                }
                if (type == typeof(global::Microsoft.Extensions.AI.JsonSchemaExporter.TestTypes.PocoWithExtensionDataProperty))
                {
                    return Create_PocoWithExtensionDataProperty(options);
                }
                if (type == typeof(global::Microsoft.Extensions.AI.JsonSchemaExporter.TestTypes.PocoWithIgnoredMembers))
                {
                    return Create_PocoWithIgnoredMembers(options);
                }
                if (type == typeof(global::Microsoft.Extensions.AI.JsonSchemaExporter.TestTypes.PocoWithNonRecursiveDuplicateOccurrences))
                {
                    return Create_PocoWithNonRecursiveDuplicateOccurrences(options);
                }
                if (type == typeof(global::Microsoft.Extensions.AI.JsonSchemaExporter.TestTypes.PocoWithNullableAnnotationAttributes))
                {
                    return Create_PocoWithNullableAnnotationAttributes(options);
                }
                if (type == typeof(global::Microsoft.Extensions.AI.JsonSchemaExporter.TestTypes.PocoWithNullableAnnotationAttributesOnConstructorParams))
                {
                    return Create_PocoWithNullableAnnotationAttributesOnConstructorParams(options);
                }
                if (type == typeof(global::Microsoft.Extensions.AI.JsonSchemaExporter.TestTypes.PocoWithNullableConstructorParameter))
                {
                    return Create_PocoWithNullableConstructorParameter(options);
                }
                if (type == typeof(global::Microsoft.Extensions.AI.JsonSchemaExporter.TestTypes.PocoWithNullableStructFollowedByStruct))
                {
                    return Create_PocoWithNullableStructFollowedByStruct(options);
                }
                if (type == typeof(global::Microsoft.Extensions.AI.JsonSchemaExporter.TestTypes.PocoWithOptionalConstructorParams))
                {
                    return Create_PocoWithOptionalConstructorParams(options);
                }
                if (type == typeof(global::Microsoft.Extensions.AI.JsonSchemaExporter.TestTypes.PocoWithPolymorphism))
                {
                    return Create_PocoWithPolymorphism(options);
                }
                if (type == typeof(global::Microsoft.Extensions.AI.JsonSchemaExporter.TestTypes.PocoWithPolymorphism.DerivedCollection))
                {
                    return Create_DerivedCollection(options);
                }
                if (type == typeof(global::Microsoft.Extensions.AI.JsonSchemaExporter.TestTypes.PocoWithPolymorphism.DerivedDictionary))
                {
                    return Create_DerivedDictionary(options);
                }
                if (type == typeof(global::Microsoft.Extensions.AI.JsonSchemaExporter.TestTypes.PocoWithPolymorphism.DerivedPocoIntDiscriminator))
                {
                    return Create_DerivedPocoIntDiscriminator(options);
                }
                if (type == typeof(global::Microsoft.Extensions.AI.JsonSchemaExporter.TestTypes.PocoWithPolymorphism.DerivedPocoNoDiscriminator))
                {
                    return Create_DerivedPocoNoDiscriminator(options);
                }
                if (type == typeof(global::Microsoft.Extensions.AI.JsonSchemaExporter.TestTypes.PocoWithPolymorphism.DerivedPocoStringDiscriminator))
                {
                    return Create_DerivedPocoStringDiscriminator(options);
                }
                if (type == typeof(global::Microsoft.Extensions.AI.JsonSchemaExporter.TestTypes.PocoWithRecursiveMembers))
                {
                    return Create_PocoWithRecursiveMembers(options);
                }
                if (type == typeof(global::Microsoft.Extensions.AI.JsonSchemaExporter.TestTypes.PocoWithRequiredMembers))
                {
                    return Create_PocoWithRequiredMembers(options);
                }
                if (type == typeof(global::Microsoft.Extensions.AI.JsonSchemaExporter.TestTypes.PocoWithStructFollowedByNullableStruct))
                {
                    return Create_PocoWithStructFollowedByNullableStruct(options);
                }
                if (type == typeof(global::Microsoft.Extensions.AI.JsonSchemaExporter.TestTypes.RecordWithOptionalParameters))
                {
                    return Create_RecordWithOptionalParameters(options);
                }
                if (type == typeof(global::Microsoft.Extensions.AI.JsonSchemaExporter.TestTypes.SimplePoco))
                {
                    return Create_SimplePoco(options);
                }
                if (type == typeof(global::Microsoft.Extensions.AI.JsonSchemaExporter.TestTypes.SimpleRecord))
                {
                    return Create_SimpleRecord(options);
                }
                if (type == typeof(global::Microsoft.Extensions.AI.JsonSchemaExporter.TestTypes.SimpleRecord[]))
                {
                    return Create_SimpleRecordArray(options);
                }
                if (type == typeof(global::Microsoft.Extensions.AI.JsonSchemaExporter.TestTypes.SimpleRecordStruct))
                {
                    return Create_SimpleRecordStruct(options);
                }
                if (type == typeof(global::Microsoft.Extensions.AI.JsonSchemaExporter.TestTypes.SimpleRecordStruct?))
                {
                    return Create_NullableSimpleRecordStruct(options);
                }
                if (type == typeof(global::Microsoft.Extensions.AI.JsonSchemaExporter.TestTypes.StringEnum))
                {
                    return Create_StringEnum(options);
                }
                if (type == typeof(global::Microsoft.Extensions.AI.JsonSchemaExporter.TestTypes.StringEnum?))
                {
                    return Create_NullableStringEnum(options);
                }
                if (type == typeof(global::Microsoft.Extensions.AI.JsonSchemaExporter.TestTypes.StructDictionary<string, int>))
                {
                    return Create_StructDictionaryStringInt32(options);
                }
                if (type == typeof(global::System.Collections.ArrayList))
                {
                    return Create_ArrayList(options);
                }
                if (type == typeof(global::System.Collections.Generic.Dictionary<string, global::Microsoft.Extensions.AI.JsonSchemaExporter.TestTypes.SimplePoco>))
                {
                    return Create_DictionaryStringSimplePoco(options);
                }
                if (type == typeof(global::System.Collections.Generic.Dictionary<string, int>))
                {
                    return Create_DictionaryStringInt32(options);
                }
                if (type == typeof(global::System.Collections.Generic.Dictionary<string, object>))
                {
                    return Create_DictionaryStringObject(options);
                }
                if (type == typeof(global::System.Collections.Generic.HashSet<string>))
                {
                    return Create_HashSetString(options);
                }
                if (type == typeof(global::System.Collections.Generic.List<bool>))
                {
                    return Create_ListBoolean(options);
                }
                if (type == typeof(global::System.Collections.Generic.List<global::Microsoft.Extensions.AI.JsonSchemaExporter.TestTypes.SimpleRecord>))
                {
                    return Create_ListSimpleRecord(options);
                }
                if (type == typeof(global::System.Collections.Generic.Queue<double>))
                {
                    return Create_QueueDouble(options);
                }
                if (type == typeof(global::System.Collections.Generic.SortedDictionary<int, string>))
                {
                    return Create_SortedDictionaryInt32String(options);
                }
                if (type == typeof(global::System.Collections.Generic.Stack<char>))
                {
                    return Create_StackChar(options);
                }
                if (type == typeof(global::System.Collections.Hashtable))
                {
                    return Create_Hashtable(options);
                }
                if (type == typeof(global::System.Collections.Immutable.ImmutableArray<int>))
                {
                    return Create_ImmutableArrayInt32(options);
                }
                if (type == typeof(global::System.Collections.Immutable.ImmutableList<string>))
                {
                    return Create_ImmutableListString(options);
                }
                if (type == typeof(global::System.Collections.Immutable.ImmutableQueue<bool>))
                {
                    return Create_ImmutableQueueBoolean(options);
                }
                if (type == typeof(global::System.DateTime))
                {
                    return Create_DateTime(options);
                }
                if (type == typeof(global::System.DateTimeOffset))
                {
                    return Create_DateTimeOffset(options);
                }
                if (type == typeof(global::System.DateTimeOffset?))
                {
                    return Create_NullableDateTimeOffset(options);
                }
                if (type == typeof(global::System.Guid))
                {
                    return Create_Guid(options);
                }
                if (type == typeof(global::System.Guid?))
                {
                    return Create_NullableGuid(options);
                }
                if (type == typeof(global::System.Memory<byte>))
                {
                    return Create_MemoryByte(options);
                }
                if (type == typeof(global::System.ReadOnlyMemory<byte>))
                {
                    return Create_ReadOnlyMemoryByte(options);
                }
                if (type == typeof(global::System.Text.Json.JsonDocument))
                {
                    return Create_JsonDocument(options);
                }
                if (type == typeof(global::System.Text.Json.JsonElement))
                {
                    return Create_JsonElement(options);
                }
                if (type == typeof(global::System.Text.Json.JsonElement?))
                {
                    return Create_NullableJsonElement(options);
                }
                if (type == typeof(global::System.Text.Json.Nodes.JsonArray))
                {
                    return Create_JsonArray(options);
                }
                if (type == typeof(global::System.Text.Json.Nodes.JsonNode))
                {
                    return Create_JsonNode(options);
                }
                if (type == typeof(global::System.Text.Json.Nodes.JsonObject))
                {
                    return Create_JsonObject(options);
                }
                if (type == typeof(global::System.Text.Json.Nodes.JsonValue))
                {
                    return Create_JsonValue(options);
                }
                if (type == typeof(global::System.TimeSpan))
                {
                    return Create_TimeSpan(options);
                }
                if (type == typeof(global::System.Uri))
                {
                    return Create_Uri(options);
                }
                if (type == typeof(global::System.Version))
                {
                    return Create_Version(options);
                }
                if (type == typeof(global::System.Xml.Linq.XAttribute))
                {
                    return Create_XAttribute(options);
                }
                if (type == typeof(global::System.Xml.Linq.XDeclaration))
                {
                    return Create_XDeclaration(options);
                }
                if (type == typeof(global::System.Xml.Linq.XDocument))
                {
                    return Create_XDocument(options);
                }
                if (type == typeof(global::System.Xml.Linq.XDocumentType))
                {
                    return Create_XDocumentType(options);
                }
                if (type == typeof(global::System.Xml.Linq.XElement))
                {
                    return Create_XElement(options);
                }
                if (type == typeof(global::System.Xml.Linq.XName))
                {
                    return Create_XName(options);
                }
                if (type == typeof(global::System.Xml.Linq.XNamespace))
                {
                    return Create_XNamespace(options);
                }
                if (type == typeof(global::System.Xml.Linq.XNode))
                {
                    return Create_XNode(options);
                }
                if (type == typeof(global::System.Xml.XmlNodeType))
                {
                    return Create_XmlNodeType(options);
                }
                if (type == typeof(int))
                {
                    return Create_Int32(options);
                }
                if (type == typeof(int?))
                {
                    return Create_NullableInt32(options);
                }
                if (type == typeof(int[]))
                {
                    return Create_Int32Array(options);
                }
                if (type == typeof(long))
                {
                    return Create_Int64(options);
                }
                if (type == typeof(object))
                {
                    return Create_Object(options);
                }
                if (type == typeof(object[]))
                {
                    return Create_ObjectArray(options);
                }
                if (type == typeof(sbyte))
                {
                    return Create_SByte(options);
                }
                if (type == typeof(short))
                {
                    return Create_Int16(options);
                }
                if (type == typeof(string))
                {
                    return Create_String(options);
                }
                if (type == typeof(uint))
                {
                    return Create_UInt32(options);
                }
                if (type == typeof(ulong))
                {
                    return Create_UInt64(options);
                }
                if (type == typeof(ushort))
                {
                    return Create_UInt16(options);
                }
                return null;
            }
        }
    }
}