mirror of https://github.com/golang/go.git
In cases like:
if i := foo<>
we get an *ast.BadExpr because the parser is expecting the condition
expression, but "i := foo" is not a valid expression. Now we move the
statement into the "init" field and add a dummy "cond" expression.
We also needed a slight tweak to our missing curly brace fix. Now we
insert an extra semicolon in cases like:
for i := 0; i < foo
yielding
for i := 0; i < foo;{}
The parser doesn't like having only two clauses in the three clause
"for" statement.
Updates golang/go#31687.
Change-Id: I12d51e0d8af03436741227753f8e71452a463b05
Reviewed-on: https://go-review.googlesource.com/c/tools/+/216483
Run-TryBot: Muir Manders <muir@mnd.rs>
TryBot-Result: Gobot Gobot <gobot@golang.org>
Reviewed-by: Rebecca Stambler <rstambler@golang.org>
|
||
|---|---|---|
| .. | ||
| analysis.go | ||
| cache.go | ||
| check.go | ||
| debug.go | ||
| error_test.go | ||
| errors.go | ||
| external.go | ||
| load.go | ||
| mod_tidy.go | ||
| parse.go | ||
| pkg.go | ||
| session.go | ||
| snapshot.go | ||
| view.go | ||