// Licensed to the .NET Foundation under one or more agreements.
// The .NET Foundation licenses this file to you under the MIT license.
// See the LICENSE file in the project root for more information.

using System.Collections.Immutable;
using System.Runtime.Serialization;

namespace Microsoft.CodeAnalysis.Contracts.EditAndContinue;

[DataContract]
internal readonly struct ManagedHotReloadUpdates
{
    [DataMember]
    public ImmutableArray<ManagedHotReloadUpdate> Updates { get; init; }

    [DataMember]
    public ImmutableArray<ManagedHotReloadDiagnostic> Diagnostics { get; init; }

    [DataMember]
    public ImmutableArray<ProjectInstanceId> ProjectsToRebuild { get; init; }

    [DataMember]
    public ImmutableArray<ProjectInstanceId> ProjectsToRestart { get; init; }

    [DataMember]
    public bool HasPendingUpdates { get; init; }
}
