using System; namespace Ariadne.Generator { /// /// The code-behind files to write for a compilation's arcs, and everything to report about them. /// public sealed class ArcComposition : IEquatable { public readonly EquatableArray Files; public readonly EquatableArray Diagnostics; public ArcComposition(EquatableArray files, EquatableArray diagnostics) { Files = files; Diagnostics = diagnostics; } public bool Equals(ArcComposition other) { return other != null && Files.Equals(other.Files) && Diagnostics.Equals(other.Diagnostics); } public override bool Equals(object obj) { return Equals(obj as ArcComposition); } public override int GetHashCode() { return Files.GetHashCode() * 31 + Diagnostics.GetHashCode(); } } }