in src/Sarif.Viewer.VisualStudio.Core/Tags/TextViewCaretListener.cs [162:190]
public bool Equals(ISarifLocationTag x, ISarifLocationTag y)
{
if (ReferenceEquals(x, y))
{
return true;
}
if (x == null || y == null || x.PersistentSpan == null || y.PersistentSpan == null)
{
return false;
}
if (x.PersistentSpan.IsDocumentOpen != y.PersistentSpan.IsDocumentOpen)
{
return false;
}
if (!x.PersistentSpan.FilePath.Equals(y.PersistentSpan.FilePath, StringComparison.OrdinalIgnoreCase))
{
return false;
}
if (x.PersistentSpan.TryGetSpan(out Span xSpan) && y.PersistentSpan.TryGetSpan(out Span ySpan))
{
return xSpan == ySpan;
}
return false;
}