From aef752e41a463758931aae281dbe2ef3e79f9ccb Mon Sep 17 00:00:00 2001 From: Jean Privat Date: Sun, 24 Jun 2012 14:22:09 -0400 Subject: [PATCH] parser: add Location::text --- src/location.nit | 15 +++++++++++++++ 1 file changed, 15 insertions(+) diff --git a/src/location.nit b/src/location.nit index a643c7e..3da516f 100644 --- a/src/location.nit +++ b/src/location.nit @@ -56,6 +56,21 @@ class Location _column_end = column_e end + # 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 + res = l.file.string.substring(pstart, pend-pstart+1) + self.text_cache = res + return res + end + + private var text_cache: nullable String + init with_file(f: SourceFile) do init(f,0,0,0,0) redef fun ==(other: nullable Object): Bool do -- 1.7.9.5