diff options
author | Alan Donovan <adonovan@google.com> | 2014-12-30 14:44:41 -0500 |
---|---|---|
committer | Alan Donovan <adonovan@google.com> | 2014-12-30 21:49:25 +0000 |
commit | fcd61eb07e11f856e62de3f24383f51627f25009 (patch) | |
tree | 174260da676aa67ecf78624c498f399de3f0c7c0 /src/go/parser/parser.go | |
parent | f005d6e34aa94cad99e881c4fc87bc6e614ba9a6 (diff) | |
download | go-fcd61eb07e11f856e62de3f24383f51627f25009.tar.gz go-fcd61eb07e11f856e62de3f24383f51627f25009.zip |
go/parser: add {map,chan,interface} to expression lookahead tokens
+ tests that these parse:
map[int]int{}[0]++
interface{f()}(x).f()
chan int(x) <- 0
Fixes #9474
Change-Id: If9fa57b3ab415ae7e93aa9935ec63edda8fe9d4f
Reviewed-on: https://go-review.googlesource.com/2178
Reviewed-by: Robert Griesemer <gri@golang.org>
Diffstat (limited to 'src/go/parser/parser.go')
-rw-r--r-- | src/go/parser/parser.go | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/src/go/parser/parser.go b/src/go/parser/parser.go index 4a005d8ffa..c9dbd06ad2 100644 --- a/src/go/parser/parser.go +++ b/src/go/parser/parser.go @@ -2123,7 +2123,7 @@ func (p *parser) parseStmt() (s ast.Stmt) { case // tokens that may start an expression token.IDENT, token.INT, token.FLOAT, token.IMAG, token.CHAR, token.STRING, token.FUNC, token.LPAREN, // operands - token.LBRACK, token.STRUCT, // composite types + token.LBRACK, token.STRUCT, token.MAP, token.CHAN, token.INTERFACE, // composite types token.ADD, token.SUB, token.MUL, token.AND, token.XOR, token.ARROW, token.NOT: // unary operators s, _ = p.parseSimpleStmt(labelOk) // because of the required look-ahead, labeled statements are |