public bool Equals()

in src/Sarif/Autogenerated/InvocationEqualityComparer.cs [19:292]


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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

            if (!ArtifactLocation.ValueComparer.Equals(left.StdoutStderr, right.StdoutStderr))
            {
                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;
        }