mirror of
https://github.com/golang/go.git
synced 2025-12-08 06:10:04 +00:00
cmd/compile/internal/syntax: better recovery after missing closing parentheses
Fine-tune skipping of tokens after missing closing parentheses in lists. Fixes #22164. Change-Id: I575d86e21048cd40340a2c08399e8b0deec337cf Reviewed-on: https://go-review.googlesource.com/71250 Run-TryBot: Robert Griesemer <gri@golang.org> Reviewed-by: Matthew Dempsky <mdempsky@google.com>
This commit is contained in:
parent
38a3c2cfe9
commit
0b2cb89196
2 changed files with 30 additions and 2 deletions
|
|
@ -377,8 +377,10 @@ func (p *parser) list(open, sep, close token, f func() bool) src.Pos {
|
|||
// to the expected close token only
|
||||
default:
|
||||
p.syntax_error(fmt.Sprintf("expecting %s or %s", tokstring(sep), tokstring(close)))
|
||||
p.advance(close)
|
||||
done = true
|
||||
p.advance(_Rparen, _Rbrack, _Rbrace)
|
||||
if p.tok != close {
|
||||
return p.pos()
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue