public bool Equals()

in src/Sarif/VersionOne/Autogenerated/RunVersionOneEqualityComparer.cs [17:216]


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

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

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

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

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

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

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

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

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

                    if (!LogicalLocationVersionOne.ValueComparer.Equals(value_2.Value, value_3))
                    {
                        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_0 = 0; index_0 < left.Results.Count; ++index_0)
                {
                    if (!ResultVersionOne.ValueComparer.Equals(left.Results[index_0], right.Results[index_0]))
                    {
                        return false;
                    }
                }
            }

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

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

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

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

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

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

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

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

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

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

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

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

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

            if (left.Architecture != right.Architecture)
            {
                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_6 in left.Properties)
                {
                    SerializedPropertyInfo value_7;
                    if (!right.Properties.TryGetValue(value_6.Key, out value_7))
                    {
                        return false;
                    }

                    if (!object.Equals(value_6.Value, value_7))
                    {
                        return false;
                    }
                }
            }

            return true;
        }