private int GenerateDeduplicationKey(DiagnosticData diagnostic) { if (diagnostic.DataLocation == null) { return(diagnostic.GetHashCode()); } return(Hash.Combine(diagnostic.DataLocation.OriginalStartColumn, Hash.Combine(diagnostic.DataLocation.OriginalStartLine, Hash.Combine(diagnostic.DataLocation.OriginalEndColumn, Hash.Combine(diagnostic.DataLocation.OriginalEndLine, Hash.Combine(diagnostic.IsSuppressed, Hash.Combine(diagnostic.Id.GetHashCode(), diagnostic.Message.GetHashCode()))))))); }