using Newtonsoft.Json; using System; namespace Codelyzer.Analysis.Model { public class InterfaceBlock : UstNode { [JsonProperty("base-type", Order = 10)] public string BaseType { get; set; } [JsonProperty("base-type-original-def", Order = 11)] public string BaseTypeOriginalDefinition { get; set; } [JsonProperty("references", Order = 99)] public Reference Reference { get; set; } public string SemanticAssembly { get; set; } public InterfaceBlock() : base(IdConstants.InterfaceBlockIdName) { Reference = new Reference(); } public override bool Equals(object obj) { if (obj is InterfaceBlock) { return Equals(obj as InterfaceBlock); ; } return false; } public bool Equals(InterfaceBlock compareNode) { return compareNode != null && BaseType?.Equals(compareNode.BaseType) != false && BaseTypeOriginalDefinition?.Equals(compareNode.BaseTypeOriginalDefinition) != false && SemanticAssembly?.Equals(compareNode.SemanticAssembly) != false && base.Equals(compareNode); } public override int GetHashCode() { return HashCode.Combine(BaseType, BaseTypeOriginalDefinition, SemanticAssembly, base.GetHashCode()); } } }