public bool Equals()

in src/Sarif/Autogenerated/ResultEqualityComparer.cs [19:409]


        public bool Equals(Result left, Result right)
        {
            if (ReferenceEquals(left, right))
            {
                return true;
            }

            if (ReferenceEquals(left, null) || ReferenceEquals(right, null))
            {
                return false;
            }

            if (left.RuleId != right.RuleId)
            {
                return false;
            }

            if (left.RuleIndex != right.RuleIndex)
            {
                return false;
            }

            if (!ReportingDescriptorReference.ValueComparer.Equals(left.Rule, right.Rule))
            {
                return false;
            }

            if (left.Kind != right.Kind)
            {
                return false;
            }

            if (left.Level != right.Level)
            {
                return false;
            }

            if (!Message.ValueComparer.Equals(left.Message, right.Message))
            {
                return false;
            }

            if (!ArtifactLocation.ValueComparer.Equals(left.AnalysisTarget, right.AnalysisTarget))
            {
                return false;
            }

            if (!object.ReferenceEquals(left.Locations, right.Locations))
            {
                if (left.Locations == null || right.Locations == null)
                {
                    return false;
                }

                if (left.Locations.Count != right.Locations.Count)
                {
                    return false;
                }

                for (int index_0 = 0; index_0 < left.Locations.Count; ++index_0)
                {
                    if (!Location.ValueComparer.Equals(left.Locations[index_0], right.Locations[index_0]))
                    {
                        return false;
                    }
                }
            }

            if (left.Guid != right.Guid)
            {
                return false;
            }

            if (left.CorrelationGuid != right.CorrelationGuid)
            {
                return false;
            }

            if (left.OccurrenceCount != right.OccurrenceCount)
            {
                return false;
            }

            if (!object.ReferenceEquals(left.PartialFingerprints, right.PartialFingerprints))
            {
                if (left.PartialFingerprints == null || right.PartialFingerprints == null || left.PartialFingerprints.Count != right.PartialFingerprints.Count)
                {
                    return false;
                }

                foreach (var value_0 in left.PartialFingerprints)
                {
                    string value_1;
                    if (!right.PartialFingerprints.TryGetValue(value_0.Key, out value_1))
                    {
                        return false;
                    }

                    if (value_0.Value != value_1)
                    {
                        return false;
                    }
                }
            }

            if (!object.ReferenceEquals(left.Fingerprints, right.Fingerprints))
            {
                if (left.Fingerprints == null || right.Fingerprints == null || left.Fingerprints.Count != right.Fingerprints.Count)
                {
                    return false;
                }

                foreach (var value_2 in left.Fingerprints)
                {
                    string value_3;
                    if (!right.Fingerprints.TryGetValue(value_2.Key, out value_3))
                    {
                        return false;
                    }

                    if (value_2.Value != value_3)
                    {
                        return false;
                    }
                }
            }

            if (!object.ReferenceEquals(left.Stacks, right.Stacks))
            {
                if (left.Stacks == null || right.Stacks == null)
                {
                    return false;
                }

                if (left.Stacks.Count != right.Stacks.Count)
                {
                    return false;
                }

                for (int index_1 = 0; index_1 < left.Stacks.Count; ++index_1)
                {
                    if (!Stack.ValueComparer.Equals(left.Stacks[index_1], right.Stacks[index_1]))
                    {
                        return false;
                    }
                }
            }

            if (!object.ReferenceEquals(left.CodeFlows, right.CodeFlows))
            {
                if (left.CodeFlows == null || right.CodeFlows == null)
                {
                    return false;
                }

                if (left.CodeFlows.Count != right.CodeFlows.Count)
                {
                    return false;
                }

                for (int index_2 = 0; index_2 < left.CodeFlows.Count; ++index_2)
                {
                    if (!CodeFlow.ValueComparer.Equals(left.CodeFlows[index_2], right.CodeFlows[index_2]))
                    {
                        return false;
                    }
                }
            }

            if (!object.ReferenceEquals(left.Graphs, right.Graphs))
            {
                if (left.Graphs == null || right.Graphs == null)
                {
                    return false;
                }

                if (left.Graphs.Count != right.Graphs.Count)
                {
                    return false;
                }

                for (int index_3 = 0; index_3 < left.Graphs.Count; ++index_3)
                {
                    if (!Graph.ValueComparer.Equals(left.Graphs[index_3], right.Graphs[index_3]))
                    {
                        return false;
                    }
                }
            }

            if (!object.ReferenceEquals(left.GraphTraversals, right.GraphTraversals))
            {
                if (left.GraphTraversals == null || right.GraphTraversals == null)
                {
                    return false;
                }

                if (left.GraphTraversals.Count != right.GraphTraversals.Count)
                {
                    return false;
                }

                for (int index_4 = 0; index_4 < left.GraphTraversals.Count; ++index_4)
                {
                    if (!GraphTraversal.ValueComparer.Equals(left.GraphTraversals[index_4], right.GraphTraversals[index_4]))
                    {
                        return false;
                    }
                }
            }

            if (!object.ReferenceEquals(left.RelatedLocations, right.RelatedLocations))
            {
                if (left.RelatedLocations == null || right.RelatedLocations == null)
                {
                    return false;
                }

                if (left.RelatedLocations.Count != right.RelatedLocations.Count)
                {
                    return false;
                }

                for (int index_5 = 0; index_5 < left.RelatedLocations.Count; ++index_5)
                {
                    if (!Location.ValueComparer.Equals(left.RelatedLocations[index_5], right.RelatedLocations[index_5]))
                    {
                        return false;
                    }
                }
            }

            if (!object.ReferenceEquals(left.Suppressions, right.Suppressions))
            {
                if (left.Suppressions == null || right.Suppressions == null)
                {
                    return false;
                }

                if (left.Suppressions.Count != right.Suppressions.Count)
                {
                    return false;
                }

                for (int index_6 = 0; index_6 < left.Suppressions.Count; ++index_6)
                {
                    if (!Suppression.ValueComparer.Equals(left.Suppressions[index_6], right.Suppressions[index_6]))
                    {
                        return false;
                    }
                }
            }

            if (left.BaselineState != right.BaselineState)
            {
                return false;
            }

            if (left.Rank != right.Rank)
            {
                return false;
            }

            if (!object.ReferenceEquals(left.Attachments, right.Attachments))
            {
                if (left.Attachments == null || right.Attachments == null)
                {
                    return false;
                }

                if (left.Attachments.Count != right.Attachments.Count)
                {
                    return false;
                }

                for (int index_7 = 0; index_7 < left.Attachments.Count; ++index_7)
                {
                    if (!Attachment.ValueComparer.Equals(left.Attachments[index_7], right.Attachments[index_7]))
                    {
                        return false;
                    }
                }
            }

            if (left.HostedViewerUri != right.HostedViewerUri)
            {
                return false;
            }

            if (!object.ReferenceEquals(left.WorkItemUris, right.WorkItemUris))
            {
                if (left.WorkItemUris == null || right.WorkItemUris == null)
                {
                    return false;
                }

                if (left.WorkItemUris.Count != right.WorkItemUris.Count)
                {
                    return false;
                }

                for (int index_8 = 0; index_8 < left.WorkItemUris.Count; ++index_8)
                {
                    if (left.WorkItemUris[index_8] != right.WorkItemUris[index_8])
                    {
                        return false;
                    }
                }
            }

            if (!ResultProvenance.ValueComparer.Equals(left.Provenance, right.Provenance))
            {
                return false;
            }

            if (!object.ReferenceEquals(left.Fixes, right.Fixes))
            {
                if (left.Fixes == null || right.Fixes == null)
                {
                    return false;
                }

                if (left.Fixes.Count != right.Fixes.Count)
                {
                    return false;
                }

                for (int index_9 = 0; index_9 < left.Fixes.Count; ++index_9)
                {
                    if (!Fix.ValueComparer.Equals(left.Fixes[index_9], right.Fixes[index_9]))
                    {
                        return false;
                    }
                }
            }

            if (!object.ReferenceEquals(left.Taxa, right.Taxa))
            {
                if (left.Taxa == null || right.Taxa == null)
                {
                    return false;
                }

                if (left.Taxa.Count != right.Taxa.Count)
                {
                    return false;
                }

                for (int index_10 = 0; index_10 < left.Taxa.Count; ++index_10)
                {
                    if (!ReportingDescriptorReference.ValueComparer.Equals(left.Taxa[index_10], right.Taxa[index_10]))
                    {
                        return false;
                    }
                }
            }

            if (!WebRequest.ValueComparer.Equals(left.WebRequest, right.WebRequest))
            {
                return false;
            }

            if (!WebResponse.ValueComparer.Equals(left.WebResponse, right.WebResponse))
            {
                return false;
            }

            if (!object.ReferenceEquals(left.Properties, right.Properties))
            {
                if (left.Properties == null || right.Properties == null || left.Properties.Count != right.Properties.Count)
                {
                    return false;
                }

                foreach (var value_4 in left.Properties)
                {
                    SerializedPropertyInfo value_5;
                    if (!right.Properties.TryGetValue(value_4.Key, out value_5))
                    {
                        return false;
                    }

                    if (!object.Equals(value_4.Value, value_5))
                    {
                        return false;
                    }
                }
            }

            return true;
        }