public override string?ToString() { var builder = new StringBuilder(); builder.Append(Span); if (CharacterOffset.HasValue) { builder.Append(","); builder.Append(CharacterOffset.GetValueOrDefault()); } builder.Append(" -> "); builder.Append(MappedSpan); return(builder.ToString()); }
public int CompareTo(TextPosition other) { return(CharacterOffset.CompareTo(other.CharacterOffset)); }
public override int GetHashCode() => Hash.Combine(Hash.Combine(Span.GetHashCode(), CharacterOffset.GetHashCode()), MappedSpan.GetHashCode());
public bool Equals(LineMapping other) => Span.Equals(other.Span) && CharacterOffset.Equals(other.CharacterOffset) && MappedSpan.Equals(other.MappedSpan);