public bool Equals()

in src/Sarif/Autogenerated/RunEqualityComparer.cs [19:462]


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

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

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

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

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

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

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

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

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

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

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

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

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

                    if (!ArtifactLocation.ValueComparer.Equals(value_0.Value, value_1))
                    {
                        return false;
                    }
                }
            }

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

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

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

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

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

                for (int index_3 = 0; index_3 < left.LogicalLocations.Count; ++index_3)
                {
                    if (!LogicalLocation.ValueComparer.Equals(left.LogicalLocations[index_3], right.LogicalLocations[index_3]))
                    {
                        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_4 = 0; index_4 < left.Graphs.Count; ++index_4)
                {
                    if (!Graph.ValueComparer.Equals(left.Graphs[index_4], right.Graphs[index_4]))
                    {
                        return false;
                    }
                }
            }

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

            if (!SpecialLocations.ValueComparer.Equals(left.SpecialLocations, right.SpecialLocations))
            {
                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_2 in left.Properties)
                {
                    SerializedPropertyInfo value_3;
                    if (!right.Properties.TryGetValue(value_2.Key, out value_3))
                    {
                        return false;
                    }

                    if (!object.Equals(value_2.Value, value_3))
                    {
                        return false;
                    }
                }
            }

            return true;
        }