File: Generated\361d1da7f942c932\ProjectDataBuildJsonSerializerContext.ProjectDataBuildAttemptManifest.g.cs
Project: Microsoft.NET.ProjectData.Tasks.csproj (Microsoft.NET.ProjectData.Tasks)
// <auto-generated/>

#nullable enable annotations
#nullable disable warnings

// Suppress warnings about [Obsolete] member usage in generated code.
#pragma warning disable CS0612, CS0618

namespace Microsoft.NET.ProjectData.Tasks
{
    internal sealed partial class ProjectDataBuildJsonSerializerContext
    {
        private global::System.Text.Json.Serialization.Metadata.JsonTypeInfo<global::Microsoft.NET.ProjectData.ProjectDataBuildAttemptManifest>? _ProjectDataBuildAttemptManifest;
        
        /// <summary>
        /// Defines the source generated JSON serialization contract metadata for a given type.
        /// </summary>
        #nullable disable annotations // Marking the property type as nullable-oblivious.
        public global::System.Text.Json.Serialization.Metadata.JsonTypeInfo<global::Microsoft.NET.ProjectData.ProjectDataBuildAttemptManifest> ProjectDataBuildAttemptManifest
        #nullable enable annotations
        {
            get => _ProjectDataBuildAttemptManifest ??= (global::System.Text.Json.Serialization.Metadata.JsonTypeInfo<global::Microsoft.NET.ProjectData.ProjectDataBuildAttemptManifest>)Options.GetTypeInfo(typeof(global::Microsoft.NET.ProjectData.ProjectDataBuildAttemptManifest));
        }
        
        private global::System.Text.Json.Serialization.Metadata.JsonTypeInfo<global::Microsoft.NET.ProjectData.ProjectDataBuildAttemptManifest> Create_ProjectDataBuildAttemptManifest(global::System.Text.Json.JsonSerializerOptions options)
        {
            if (!TryGetTypeInfoForRuntimeCustomConverter<global::Microsoft.NET.ProjectData.ProjectDataBuildAttemptManifest>(options, out global::System.Text.Json.Serialization.Metadata.JsonTypeInfo<global::Microsoft.NET.ProjectData.ProjectDataBuildAttemptManifest> jsonTypeInfo))
            {
                var objectInfo = new global::System.Text.Json.Serialization.Metadata.JsonObjectInfoValues<global::Microsoft.NET.ProjectData.ProjectDataBuildAttemptManifest>
                {
                    ObjectCreator = () => new global::Microsoft.NET.ProjectData.ProjectDataBuildAttemptManifest(),
                    ObjectWithParameterizedConstructorCreator = null,
                    PropertyMetadataInitializer = _ => ProjectDataBuildAttemptManifestPropInit(options),
                    ConstructorParameterMetadataInitializer = null,
                    ConstructorAttributeProviderFactory = static () => typeof(global::Microsoft.NET.ProjectData.ProjectDataBuildAttemptManifest).GetConstructor(InstanceMemberBindingFlags, binder: null, global::System.Array.Empty<global::System.Type>(), modifiers: null),
                    SerializeHandler = ProjectDataBuildAttemptManifestSerializeHandler,
                    PolymorphismOptions = new global::System.Text.Json.Serialization.Metadata.JsonPolymorphismOptions(),
                    TypeClassifierFactory = null,
                };
                
                jsonTypeInfo = global::System.Text.Json.Serialization.Metadata.JsonMetadataServices.CreateObjectInfo<global::Microsoft.NET.ProjectData.ProjectDataBuildAttemptManifest>(options, objectInfo);
                jsonTypeInfo.NumberHandling = null;
            }
        
            jsonTypeInfo.OriginatingResolver = this;
            return jsonTypeInfo;
        }

        private static global::System.Text.Json.Serialization.Metadata.JsonPropertyInfo[] ProjectDataBuildAttemptManifestPropInit(global::System.Text.Json.JsonSerializerOptions options)
        {
            var properties = new global::System.Text.Json.Serialization.Metadata.JsonPropertyInfo[13];

            var info0 = new global::System.Text.Json.Serialization.Metadata.JsonPropertyInfoValues<int>
            {
                IsProperty = true,
                IsPublic = true,
                IsVirtual = false,
                DeclaringType = typeof(global::Microsoft.NET.ProjectData.ProjectDataBuildAttemptManifest),
                Converter = null,
                Getter = static obj => ((global::Microsoft.NET.ProjectData.ProjectDataBuildAttemptManifest)obj).Version,
                Setter = static (obj, value) => ((global::Microsoft.NET.ProjectData.ProjectDataBuildAttemptManifest)obj).Version = value!,
                IgnoreCondition = null,
                HasJsonInclude = false,
                IsExtensionData = false,
                NumberHandling = null,
                PropertyName = "Version",
                JsonPropertyName = null,
                AttributeProviderFactory = static () => typeof(global::Microsoft.NET.ProjectData.ProjectDataBuildAttemptManifest).GetProperty("Version", InstanceMemberBindingFlags, null, typeof(int), global::System.Array.Empty<global::System.Type>(), null),
            };
            
            properties[0] = global::System.Text.Json.Serialization.Metadata.JsonMetadataServices.CreatePropertyInfo<int>(options, info0);

            var info1 = new global::System.Text.Json.Serialization.Metadata.JsonPropertyInfoValues<string>
            {
                IsProperty = true,
                IsPublic = true,
                IsVirtual = false,
                DeclaringType = typeof(global::Microsoft.NET.ProjectData.ProjectDataBuildAttemptManifest),
                Converter = null,
                Getter = static obj => ((global::Microsoft.NET.ProjectData.ProjectDataBuildAttemptManifest)obj).AttemptId,
                Setter = static (obj, value) => ((global::Microsoft.NET.ProjectData.ProjectDataBuildAttemptManifest)obj).AttemptId = value!,
                IgnoreCondition = null,
                HasJsonInclude = false,
                IsExtensionData = false,
                NumberHandling = null,
                PropertyName = "AttemptId",
                JsonPropertyName = null,
                AttributeProviderFactory = static () => typeof(global::Microsoft.NET.ProjectData.ProjectDataBuildAttemptManifest).GetProperty("AttemptId", InstanceMemberBindingFlags, null, typeof(string), global::System.Array.Empty<global::System.Type>(), null),
            };
            
            properties[1] = global::System.Text.Json.Serialization.Metadata.JsonMetadataServices.CreatePropertyInfo<string>(options, info1);
            properties[1].IsGetNullable = false;
            properties[1].IsSetNullable = false;

            var info2 = new global::System.Text.Json.Serialization.Metadata.JsonPropertyInfoValues<bool>
            {
                IsProperty = true,
                IsPublic = true,
                IsVirtual = false,
                DeclaringType = typeof(global::Microsoft.NET.ProjectData.ProjectDataBuildAttemptManifest),
                Converter = null,
                Getter = static obj => ((global::Microsoft.NET.ProjectData.ProjectDataBuildAttemptManifest)obj).BuildFinished,
                Setter = static (obj, value) => ((global::Microsoft.NET.ProjectData.ProjectDataBuildAttemptManifest)obj).BuildFinished = value!,
                IgnoreCondition = null,
                HasJsonInclude = false,
                IsExtensionData = false,
                NumberHandling = null,
                PropertyName = "BuildFinished",
                JsonPropertyName = null,
                AttributeProviderFactory = static () => typeof(global::Microsoft.NET.ProjectData.ProjectDataBuildAttemptManifest).GetProperty("BuildFinished", InstanceMemberBindingFlags, null, typeof(bool), global::System.Array.Empty<global::System.Type>(), null),
            };
            
            properties[2] = global::System.Text.Json.Serialization.Metadata.JsonMetadataServices.CreatePropertyInfo<bool>(options, info2);

            var info3 = new global::System.Text.Json.Serialization.Metadata.JsonPropertyInfoValues<bool>
            {
                IsProperty = true,
                IsPublic = true,
                IsVirtual = false,
                DeclaringType = typeof(global::Microsoft.NET.ProjectData.ProjectDataBuildAttemptManifest),
                Converter = null,
                Getter = static obj => ((global::Microsoft.NET.ProjectData.ProjectDataBuildAttemptManifest)obj).BuildSucceeded,
                Setter = static (obj, value) => ((global::Microsoft.NET.ProjectData.ProjectDataBuildAttemptManifest)obj).BuildSucceeded = value!,
                IgnoreCondition = null,
                HasJsonInclude = false,
                IsExtensionData = false,
                NumberHandling = null,
                PropertyName = "BuildSucceeded",
                JsonPropertyName = null,
                AttributeProviderFactory = static () => typeof(global::Microsoft.NET.ProjectData.ProjectDataBuildAttemptManifest).GetProperty("BuildSucceeded", InstanceMemberBindingFlags, null, typeof(bool), global::System.Array.Empty<global::System.Type>(), null),
            };
            
            properties[3] = global::System.Text.Json.Serialization.Metadata.JsonMetadataServices.CreatePropertyInfo<bool>(options, info3);

            var info4 = new global::System.Text.Json.Serialization.Metadata.JsonPropertyInfoValues<bool>
            {
                IsProperty = true,
                IsPublic = true,
                IsVirtual = false,
                DeclaringType = typeof(global::Microsoft.NET.ProjectData.ProjectDataBuildAttemptManifest),
                Converter = null,
                Getter = static obj => ((global::Microsoft.NET.ProjectData.ProjectDataBuildAttemptManifest)obj).BuildCancelled,
                Setter = static (obj, value) => ((global::Microsoft.NET.ProjectData.ProjectDataBuildAttemptManifest)obj).BuildCancelled = value!,
                IgnoreCondition = null,
                HasJsonInclude = false,
                IsExtensionData = false,
                NumberHandling = null,
                PropertyName = "BuildCancelled",
                JsonPropertyName = null,
                AttributeProviderFactory = static () => typeof(global::Microsoft.NET.ProjectData.ProjectDataBuildAttemptManifest).GetProperty("BuildCancelled", InstanceMemberBindingFlags, null, typeof(bool), global::System.Array.Empty<global::System.Type>(), null),
            };
            
            properties[4] = global::System.Text.Json.Serialization.Metadata.JsonMetadataServices.CreatePropertyInfo<bool>(options, info4);

            var info5 = new global::System.Text.Json.Serialization.Metadata.JsonPropertyInfoValues<bool>
            {
                IsProperty = true,
                IsPublic = true,
                IsVirtual = false,
                DeclaringType = typeof(global::Microsoft.NET.ProjectData.ProjectDataBuildAttemptManifest),
                Converter = null,
                Getter = static obj => ((global::Microsoft.NET.ProjectData.ProjectDataBuildAttemptManifest)obj).ProjectDataBuildSubmissionObserved,
                Setter = static (obj, value) => ((global::Microsoft.NET.ProjectData.ProjectDataBuildAttemptManifest)obj).ProjectDataBuildSubmissionObserved = value!,
                IgnoreCondition = null,
                HasJsonInclude = false,
                IsExtensionData = false,
                NumberHandling = null,
                PropertyName = "ProjectDataBuildSubmissionObserved",
                JsonPropertyName = null,
                AttributeProviderFactory = static () => typeof(global::Microsoft.NET.ProjectData.ProjectDataBuildAttemptManifest).GetProperty("ProjectDataBuildSubmissionObserved", InstanceMemberBindingFlags, null, typeof(bool), global::System.Array.Empty<global::System.Type>(), null),
            };
            
            properties[5] = global::System.Text.Json.Serialization.Metadata.JsonMetadataServices.CreatePropertyInfo<bool>(options, info5);

            var info6 = new global::System.Text.Json.Serialization.Metadata.JsonPropertyInfoValues<string>
            {
                IsProperty = true,
                IsPublic = true,
                IsVirtual = false,
                DeclaringType = typeof(global::Microsoft.NET.ProjectData.ProjectDataBuildAttemptManifest),
                Converter = null,
                Getter = static obj => ((global::Microsoft.NET.ProjectData.ProjectDataBuildAttemptManifest)obj).CompletedUtc,
                Setter = static (obj, value) => ((global::Microsoft.NET.ProjectData.ProjectDataBuildAttemptManifest)obj).CompletedUtc = value!,
                IgnoreCondition = null,
                HasJsonInclude = false,
                IsExtensionData = false,
                NumberHandling = null,
                PropertyName = "CompletedUtc",
                JsonPropertyName = null,
                AttributeProviderFactory = static () => typeof(global::Microsoft.NET.ProjectData.ProjectDataBuildAttemptManifest).GetProperty("CompletedUtc", InstanceMemberBindingFlags, null, typeof(string), global::System.Array.Empty<global::System.Type>(), null),
            };
            
            properties[6] = global::System.Text.Json.Serialization.Metadata.JsonMetadataServices.CreatePropertyInfo<string>(options, info6);
            properties[6].IsGetNullable = false;
            properties[6].IsSetNullable = false;

            var info7 = new global::System.Text.Json.Serialization.Metadata.JsonPropertyInfoValues<int>
            {
                IsProperty = true,
                IsPublic = true,
                IsVirtual = false,
                DeclaringType = typeof(global::Microsoft.NET.ProjectData.ProjectDataBuildAttemptManifest),
                Converter = null,
                Getter = static obj => ((global::Microsoft.NET.ProjectData.ProjectDataBuildAttemptManifest)obj).TruncatedDiagnosticCount,
                Setter = static (obj, value) => ((global::Microsoft.NET.ProjectData.ProjectDataBuildAttemptManifest)obj).TruncatedDiagnosticCount = value!,
                IgnoreCondition = null,
                HasJsonInclude = false,
                IsExtensionData = false,
                NumberHandling = null,
                PropertyName = "TruncatedDiagnosticCount",
                JsonPropertyName = null,
                AttributeProviderFactory = static () => typeof(global::Microsoft.NET.ProjectData.ProjectDataBuildAttemptManifest).GetProperty("TruncatedDiagnosticCount", InstanceMemberBindingFlags, null, typeof(int), global::System.Array.Empty<global::System.Type>(), null),
            };
            
            properties[7] = global::System.Text.Json.Serialization.Metadata.JsonMetadataServices.CreatePropertyInfo<int>(options, info7);

            var info8 = new global::System.Text.Json.Serialization.Metadata.JsonPropertyInfoValues<int>
            {
                IsProperty = true,
                IsPublic = true,
                IsVirtual = false,
                DeclaringType = typeof(global::Microsoft.NET.ProjectData.ProjectDataBuildAttemptManifest),
                Converter = null,
                Getter = static obj => ((global::Microsoft.NET.ProjectData.ProjectDataBuildAttemptManifest)obj).TruncatedSubmissionCount,
                Setter = static (obj, value) => ((global::Microsoft.NET.ProjectData.ProjectDataBuildAttemptManifest)obj).TruncatedSubmissionCount = value!,
                IgnoreCondition = null,
                HasJsonInclude = false,
                IsExtensionData = false,
                NumberHandling = null,
                PropertyName = "TruncatedSubmissionCount",
                JsonPropertyName = null,
                AttributeProviderFactory = static () => typeof(global::Microsoft.NET.ProjectData.ProjectDataBuildAttemptManifest).GetProperty("TruncatedSubmissionCount", InstanceMemberBindingFlags, null, typeof(int), global::System.Array.Empty<global::System.Type>(), null),
            };
            
            properties[8] = global::System.Text.Json.Serialization.Metadata.JsonMetadataServices.CreatePropertyInfo<int>(options, info8);

            var info9 = new global::System.Text.Json.Serialization.Metadata.JsonPropertyInfoValues<int>
            {
                IsProperty = true,
                IsPublic = true,
                IsVirtual = false,
                DeclaringType = typeof(global::Microsoft.NET.ProjectData.ProjectDataBuildAttemptManifest),
                Converter = null,
                Getter = static obj => ((global::Microsoft.NET.ProjectData.ProjectDataBuildAttemptManifest)obj).TruncatedContextCount,
                Setter = static (obj, value) => ((global::Microsoft.NET.ProjectData.ProjectDataBuildAttemptManifest)obj).TruncatedContextCount = value!,
                IgnoreCondition = null,
                HasJsonInclude = false,
                IsExtensionData = false,
                NumberHandling = null,
                PropertyName = "TruncatedContextCount",
                JsonPropertyName = null,
                AttributeProviderFactory = static () => typeof(global::Microsoft.NET.ProjectData.ProjectDataBuildAttemptManifest).GetProperty("TruncatedContextCount", InstanceMemberBindingFlags, null, typeof(int), global::System.Array.Empty<global::System.Type>(), null),
            };
            
            properties[9] = global::System.Text.Json.Serialization.Metadata.JsonMetadataServices.CreatePropertyInfo<int>(options, info9);

            var info10 = new global::System.Text.Json.Serialization.Metadata.JsonPropertyInfoValues<global::Microsoft.NET.ProjectData.ProjectDataBuildSubmissionRecord[]>
            {
                IsProperty = true,
                IsPublic = true,
                IsVirtual = false,
                DeclaringType = typeof(global::Microsoft.NET.ProjectData.ProjectDataBuildAttemptManifest),
                Converter = null,
                Getter = static obj => ((global::Microsoft.NET.ProjectData.ProjectDataBuildAttemptManifest)obj).Submissions,
                Setter = static (obj, value) => ((global::Microsoft.NET.ProjectData.ProjectDataBuildAttemptManifest)obj).Submissions = value!,
                IgnoreCondition = null,
                HasJsonInclude = false,
                IsExtensionData = false,
                NumberHandling = null,
                PropertyName = "Submissions",
                JsonPropertyName = null,
                AttributeProviderFactory = static () => typeof(global::Microsoft.NET.ProjectData.ProjectDataBuildAttemptManifest).GetProperty("Submissions", InstanceMemberBindingFlags, null, typeof(global::Microsoft.NET.ProjectData.ProjectDataBuildSubmissionRecord[]), global::System.Array.Empty<global::System.Type>(), null),
            };
            
            properties[10] = global::System.Text.Json.Serialization.Metadata.JsonMetadataServices.CreatePropertyInfo<global::Microsoft.NET.ProjectData.ProjectDataBuildSubmissionRecord[]>(options, info10);
            properties[10].IsGetNullable = false;
            properties[10].IsSetNullable = false;

            var info11 = new global::System.Text.Json.Serialization.Metadata.JsonPropertyInfoValues<global::Microsoft.NET.ProjectData.ProjectDataBuildContextRecord[]>
            {
                IsProperty = true,
                IsPublic = true,
                IsVirtual = false,
                DeclaringType = typeof(global::Microsoft.NET.ProjectData.ProjectDataBuildAttemptManifest),
                Converter = null,
                Getter = static obj => ((global::Microsoft.NET.ProjectData.ProjectDataBuildAttemptManifest)obj).Contexts,
                Setter = static (obj, value) => ((global::Microsoft.NET.ProjectData.ProjectDataBuildAttemptManifest)obj).Contexts = value!,
                IgnoreCondition = null,
                HasJsonInclude = false,
                IsExtensionData = false,
                NumberHandling = null,
                PropertyName = "Contexts",
                JsonPropertyName = null,
                AttributeProviderFactory = static () => typeof(global::Microsoft.NET.ProjectData.ProjectDataBuildAttemptManifest).GetProperty("Contexts", InstanceMemberBindingFlags, null, typeof(global::Microsoft.NET.ProjectData.ProjectDataBuildContextRecord[]), global::System.Array.Empty<global::System.Type>(), null),
            };
            
            properties[11] = global::System.Text.Json.Serialization.Metadata.JsonMetadataServices.CreatePropertyInfo<global::Microsoft.NET.ProjectData.ProjectDataBuildContextRecord[]>(options, info11);
            properties[11].IsGetNullable = false;
            properties[11].IsSetNullable = false;

            var info12 = new global::System.Text.Json.Serialization.Metadata.JsonPropertyInfoValues<global::Microsoft.NET.ProjectData.ProjectDataBuildDiagnosticRecord[]>
            {
                IsProperty = true,
                IsPublic = true,
                IsVirtual = false,
                DeclaringType = typeof(global::Microsoft.NET.ProjectData.ProjectDataBuildAttemptManifest),
                Converter = null,
                Getter = static obj => ((global::Microsoft.NET.ProjectData.ProjectDataBuildAttemptManifest)obj).Diagnostics,
                Setter = static (obj, value) => ((global::Microsoft.NET.ProjectData.ProjectDataBuildAttemptManifest)obj).Diagnostics = value!,
                IgnoreCondition = null,
                HasJsonInclude = false,
                IsExtensionData = false,
                NumberHandling = null,
                PropertyName = "Diagnostics",
                JsonPropertyName = null,
                AttributeProviderFactory = static () => typeof(global::Microsoft.NET.ProjectData.ProjectDataBuildAttemptManifest).GetProperty("Diagnostics", InstanceMemberBindingFlags, null, typeof(global::Microsoft.NET.ProjectData.ProjectDataBuildDiagnosticRecord[]), global::System.Array.Empty<global::System.Type>(), null),
            };
            
            properties[12] = global::System.Text.Json.Serialization.Metadata.JsonMetadataServices.CreatePropertyInfo<global::Microsoft.NET.ProjectData.ProjectDataBuildDiagnosticRecord[]>(options, info12);
            properties[12].IsGetNullable = false;
            properties[12].IsSetNullable = false;

            return properties;
        }

        // Intentionally not a static method because we create a delegate to it. Invoking delegates to instance
        // methods is almost as fast as virtual calls. Static methods need to go through a shuffle thunk.
        private void ProjectDataBuildAttemptManifestSerializeHandler(global::System.Text.Json.Utf8JsonWriter writer, global::Microsoft.NET.ProjectData.ProjectDataBuildAttemptManifest? value)
        {
            if (value is null)
            {
                writer.WriteNullValue();
                return;
            }
            
            writer.WriteStartObject();

            writer.WriteNumber(PropName_version, ((global::Microsoft.NET.ProjectData.ProjectDataBuildAttemptManifest)value).Version);
            writer.WriteString(PropName_attemptId, ((global::Microsoft.NET.ProjectData.ProjectDataBuildAttemptManifest)value).AttemptId);
            writer.WriteBoolean(PropName_buildFinished, ((global::Microsoft.NET.ProjectData.ProjectDataBuildAttemptManifest)value).BuildFinished);
            writer.WriteBoolean(PropName_buildSucceeded, ((global::Microsoft.NET.ProjectData.ProjectDataBuildAttemptManifest)value).BuildSucceeded);
            writer.WriteBoolean(PropName_buildCancelled, ((global::Microsoft.NET.ProjectData.ProjectDataBuildAttemptManifest)value).BuildCancelled);
            writer.WriteBoolean(PropName_projectDataBuildSubmissionObserved, ((global::Microsoft.NET.ProjectData.ProjectDataBuildAttemptManifest)value).ProjectDataBuildSubmissionObserved);
            writer.WriteString(PropName_completedUtc, ((global::Microsoft.NET.ProjectData.ProjectDataBuildAttemptManifest)value).CompletedUtc);
            writer.WriteNumber(PropName_truncatedDiagnosticCount, ((global::Microsoft.NET.ProjectData.ProjectDataBuildAttemptManifest)value).TruncatedDiagnosticCount);
            writer.WriteNumber(PropName_truncatedSubmissionCount, ((global::Microsoft.NET.ProjectData.ProjectDataBuildAttemptManifest)value).TruncatedSubmissionCount);
            writer.WriteNumber(PropName_truncatedContextCount, ((global::Microsoft.NET.ProjectData.ProjectDataBuildAttemptManifest)value).TruncatedContextCount);
            writer.WritePropertyName(PropName_submissions);
            ProjectDataBuildSubmissionRecordArraySerializeHandler(writer, ((global::Microsoft.NET.ProjectData.ProjectDataBuildAttemptManifest)value).Submissions);
            writer.WritePropertyName(PropName_contexts);
            ProjectDataBuildContextRecordArraySerializeHandler(writer, ((global::Microsoft.NET.ProjectData.ProjectDataBuildAttemptManifest)value).Contexts);
            writer.WritePropertyName(PropName_diagnostics);
            ProjectDataBuildDiagnosticRecordArraySerializeHandler(writer, ((global::Microsoft.NET.ProjectData.ProjectDataBuildAttemptManifest)value).Diagnostics);

            writer.WriteEndObject();
        }
    }
}