public override bool Equals(object obj)
{
if(obj == null)
return false;
if(!(obj is SourceCodeLocation))
return false;
var other = (SourceCodeLocation) obj;
return StartLine == other.StartLine
&& EndLine == other.EndLine
&& StartColumn == other.StartColumn
&& EndColumn == other.EndColumn
&& String.Equals(FileName, other.FileName);
}
private int _hash_code;