2 // Author: Sergey Chaban (serge@wildwestsoftware.com)
11 public class Location
: ICloneable
{
18 public static readonly Location Unknown
= new Location (-1, -1);
29 /// <param name="line"></param>
30 /// <param name="column"></param>
31 public Location (int line
, int column
)
40 /// <param name="that"></param>
41 public Location (Location that
)
43 this.line
= that
.line
;
44 this.column
= that
.column
;
52 public void NewLine ()
61 public void PreviousLine ()
69 public void NextColumn ()
76 public void PreviousColumn ()
83 /// <param name="other"></param>
84 public void CopyFrom (Location other
)
86 this.line
= other
.line
;
87 this.column
= other
.column
;
93 /// <returns></returns>
94 public virtual object Clone () {
95 return new Location (this);
98 public override string ToString ()
100 return "line (" + line
+ ") column (" + column
+ ")";