From: Jean Privat Date: Wed, 21 Aug 2013 19:24:06 +0000 (-0400) Subject: location: add pstart and pend X-Git-Tag: v0.6.1~15^2~9 X-Git-Url: http://nitlanguage.org location: add pstart and pend Signed-off-by: Jean Privat --- diff --git a/src/location.nit b/src/location.nit index 3128902..26b6fa1 100644 --- a/src/location.nit +++ b/src/location.nit @@ -64,14 +64,20 @@ class Location _column_end = column_e end + # The index in the start character in the source + fun pstart: Int do return file.line_starts[line_start-1] + column_start-1 + + # The index on the end character in the source + fun pend: Int do return file.line_starts[line_end-1] + column_end-1 + # The verbatim associated text in the source-file fun text: String do var res = self.text_cache if res != null then return res var l = self - var pstart = l.file.line_starts[l.line_start-1] + l.column_start-1 - var pend = l.file.line_starts[l.line_end-1] + l.column_end-1 + var pstart = self.pstart + var pend = self.pend res = l.file.string.substring(pstart, pend-pstart+1) self.text_cache = res return res