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();
}
}
}