aboutsummaryrefslogtreecommitdiff
path: root/src/cmd/compile/internal/syntax/source.go
diff options
context:
space:
mode:
authorRobert Griesemer <gri@golang.org>2016-12-02 10:44:34 -0800
committerRobert Griesemer <gri@golang.org>2016-12-09 01:35:14 +0000
commit3d5df64b3fe16757c9f271c2421715ba6d79b02d (patch)
treead84555a06191dc2376814b59226daa271e62fd5 /src/cmd/compile/internal/syntax/source.go
parent54ef0447fed1a59b95111b86a037c3443daf0b9b (diff)
downloadgo-3d5df64b3fe16757c9f271c2421715ba6d79b02d.tar.gz
go-3d5df64b3fe16757c9f271c2421715ba6d79b02d.zip
[dev.inline] cmd/compile/internal/syntax: use syntax.Pos for all external positions
- use syntax.Pos in syntax.Error (rather than line, col) - use syntax.Pos in syntax.PragmaHandler (rather than just line) - update uses - better documentation in various places Also: - make Pos methods use Pos receiver (rather than *Pos) Reviewed in and cherry-picked from https://go-review.googlesource.com/#/c/33891/. With minor adjustments to noder.go to make merge compile. Change-Id: I5507cea6c2be46a7677087c1aeb69382d31033eb Reviewed-on: https://go-review.googlesource.com/34236 Reviewed-by: Matthew Dempsky <mdempsky@google.com>
Diffstat (limited to 'src/cmd/compile/internal/syntax/source.go')
-rw-r--r--src/cmd/compile/internal/syntax/source.go10
1 files changed, 7 insertions, 3 deletions
diff --git a/src/cmd/compile/internal/syntax/source.go b/src/cmd/compile/internal/syntax/source.go
index 78a1e81771..037742d73c 100644
--- a/src/cmd/compile/internal/syntax/source.go
+++ b/src/cmd/compile/internal/syntax/source.go
@@ -77,9 +77,13 @@ func (s *source) error(msg string) {
}
// getr reads and returns the next rune.
-// If an error occurs, the error handler provided to init
-// is called with position (line and column) information
-// and error message before getr returns.
+//
+// If a read or source encoding error occurs, getr
+// calls the error handler installed with init.
+// The handler must exist.
+//
+// The (line, col) position passed to the error handler
+// is always at the current source reading position.
func (s *source) getr() rune {
redo:
s.r0, s.line0, s.col0 = s.r, s.line, s.col