public bool Equals()

in src/Sarif/Autogenerated/ExternalPropertiesEqualityComparer.cs [19:362]


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

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

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

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

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

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

            if (!Conversion.ValueComparer.Equals(left.Conversion, right.Conversion))
            {
                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_0 = 0; index_0 < left.Graphs.Count; ++index_0)
                {
                    if (!Graph.ValueComparer.Equals(left.Graphs[index_0], right.Graphs[index_0]))
                    {
                        return false;
                    }
                }
            }

            if (!PropertyBag.ValueComparer.Equals(left.ExternalizedProperties, right.ExternalizedProperties))
            {
                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_1 = 0; index_1 < left.Artifacts.Count; ++index_1)
                {
                    if (!Artifact.ValueComparer.Equals(left.Artifacts[index_1], right.Artifacts[index_1]))
                    {
                        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_2 = 0; index_2 < left.Invocations.Count; ++index_2)
                {
                    if (!Invocation.ValueComparer.Equals(left.Invocations[index_2], right.Invocations[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.ThreadFlowLocations, right.ThreadFlowLocations))
            {
                if (left.ThreadFlowLocations == null || right.ThreadFlowLocations == null)
                {
                    return false;
                }

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

                for (int index_4 = 0; index_4 < left.ThreadFlowLocations.Count; ++index_4)
                {
                    if (!ThreadFlowLocation.ValueComparer.Equals(left.ThreadFlowLocations[index_4], right.ThreadFlowLocations[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 (!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_6 = 0; index_6 < left.Taxonomies.Count; ++index_6)
                {
                    if (!ToolComponent.ValueComparer.Equals(left.Taxonomies[index_6], right.Taxonomies[index_6]))
                    {
                        return false;
                    }
                }
            }

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

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

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

                for (int index_7 = 0; index_7 < left.Extensions.Count; ++index_7)
                {
                    if (!ToolComponent.ValueComparer.Equals(left.Extensions[index_7], right.Extensions[index_7]))
                    {
                        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_8 = 0; index_8 < left.Policies.Count; ++index_8)
                {
                    if (!ToolComponent.ValueComparer.Equals(left.Policies[index_8], right.Policies[index_8]))
                    {
                        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_9 = 0; index_9 < left.Translations.Count; ++index_9)
                {
                    if (!ToolComponent.ValueComparer.Equals(left.Translations[index_9], right.Translations[index_9]))
                    {
                        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_10 = 0; index_10 < left.Addresses.Count; ++index_10)
                {
                    if (!Address.ValueComparer.Equals(left.Addresses[index_10], right.Addresses[index_10]))
                    {
                        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_11 = 0; index_11 < left.WebRequests.Count; ++index_11)
                {
                    if (!WebRequest.ValueComparer.Equals(left.WebRequests[index_11], right.WebRequests[index_11]))
                    {
                        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_12 = 0; index_12 < left.WebResponses.Count; ++index_12)
                {
                    if (!WebResponse.ValueComparer.Equals(left.WebResponses[index_12], right.WebResponses[index_12]))
                    {
                        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_0 in left.Properties)
                {
                    SerializedPropertyInfo value_1;
                    if (!right.Properties.TryGetValue(value_0.Key, out value_1))
                    {
                        return false;
                    }

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

            return true;
        }