public bool Equals()

in src/Sarif/VersionOne/Autogenerated/AnnotatedCodeLocationVersionOneEqualityComparer.cs [17:191]


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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

                for (int index_1 = 0; index_1 < left.Annotations.Count; ++index_1)
                {
                    if (!AnnotationVersionOne.ValueComparer.Equals(left.Annotations[index_1], right.Annotations[index_1]))
                    {
                        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;
        }