public int GetIndex(CodeLocation location) { return(Indices[location.Line] + location.Position); }
public CodeLocation GetLocation(int index, CodeLocation startLocation) { Contract.Requires(index >= 0); return(GetLocation(index, startLocation.Line)); }
public char this[CodeLocation location] { get { return(Code[GetIndex(location)]); } }