aboutsummaryrefslogtreecommitdiff
path: root/src/cmd/compile/internal/syntax/parser.go
diff options
context:
space:
mode:
authorRobert Griesemer <gri@golang.org>2021-08-15 11:46:33 -0700
committerRobert Griesemer <gri@golang.org>2021-08-15 19:08:56 +0000
commit6ed9463133daabcf11b259155c3f3348ae5a06af (patch)
tree09e522ae01a6a272c6d5c7c8d18b1b2c4287e7ca /src/cmd/compile/internal/syntax/parser.go
parent48dfddbab3569798267798a5d8828bf35355eb9d (diff)
downloadgo-6ed9463133daabcf11b259155c3f3348ae5a06af.tar.xz
cmd/compile/internal/syntax: better error message for index syntax error
Fixes #47704. Change-Id: I1de9fd00baaa4b534c23f011ade54120f5153a9d Reviewed-on: https://go-review.googlesource.com/c/go/+/342369 Trust: Robert Griesemer <gri@golang.org> Run-TryBot: Robert Griesemer <gri@golang.org> TryBot-Result: Go Bot <gobot@golang.org> Reviewed-by: Robert Findley <rfindley@google.com>
Diffstat (limited to 'src/cmd/compile/internal/syntax/parser.go')
-rw-r--r--src/cmd/compile/internal/syntax/parser.go6
1 files changed, 5 insertions, 1 deletions
diff --git a/src/cmd/compile/internal/syntax/parser.go b/src/cmd/compile/internal/syntax/parser.go
index acffd84885..29f5c88d0f 100644
--- a/src/cmd/compile/internal/syntax/parser.go
+++ b/src/cmd/compile/internal/syntax/parser.go
@@ -1049,7 +1049,11 @@ loop:
}
// x[i:...
- p.want(_Colon)
+ // For better error message, don't use p.want(_Colon) here (issue #47704).
+ if !p.got(_Colon) {
+ p.syntaxError("expecting : or ]")
+ p.advance(_Colon, _Rbrack)
+ }
p.xnest++
t := new(SliceExpr)
t.pos = pos