public override bool Equals(object obj) { var edge = obj as CallGraphEdge; return(edge != null && OperationName.Equals(edge.OperationName) && OperationCallerName.Equals(edge.OperationCallerName) && FunctorSpecialization == edge.FunctorSpecialization && CallerFunctorSpecialization == edge.CallerFunctorSpecialization); }
private int InternalHashCode() { var hashCode = 419446955; const int hashSeed = -1521134295; hashCode = hashCode * hashSeed + OperationName.GetHashCode(); hashCode = hashCode * hashSeed + OperationCallerName.GetHashCode(); hashCode = hashCode * hashSeed + EqualityComparer <OperationFunctor> .Default.GetHashCode(FunctorSpecialization); hashCode = hashCode * hashSeed + EqualityComparer <OperationFunctor> .Default.GetHashCode(CallerFunctorSpecialization); return(hashCode); }