From fca6ad45e25647d8d156a8ecd29137000408efeb Mon Sep 17 00:00:00 2001 From: Robert Griesemer Date: Fri, 12 May 2017 12:49:47 -0700 Subject: [PATCH] text/scanner: clarify documentation on Pos and Position For #20292. (See discussion in that issue.) Change-Id: I44cd69394fc47a01776905ec34305ba524c89883 Reviewed-on: https://go-review.googlesource.com/43452 Reviewed-by: Brad Fitzpatrick --- src/text/scanner/scanner.go | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/src/text/scanner/scanner.go b/src/text/scanner/scanner.go index e085f8a7d9..6fb0422fe5 100644 --- a/src/text/scanner/scanner.go +++ b/src/text/scanner/scanner.go @@ -166,7 +166,8 @@ type Scanner struct { // The Filename field is always left untouched by the Scanner. // If an error is reported (via Error) and Position is invalid, // the scanner is not inside a token. Call Pos to obtain an error - // position in that case. + // position in that case, or to obtain the position immediately + // after the most recently scanned token. Position } @@ -637,6 +638,8 @@ redo: // Pos returns the position of the character immediately after // the character or token returned by the last call to Next or Scan. +// Use the Scanner's Position field for the start position of the most +// recently scanned token. func (s *Scanner) Pos() (pos Position) { pos.Filename = s.Filename pos.Offset = s.srcBufOffset + s.srcPos - s.lastCharLen -- 2.48.1