aboutsummaryrefslogtreecommitdiff
path: root/src/go/parser/parser.go
diff options
context:
space:
mode:
authorAlan Donovan <adonovan@google.com>2014-12-30 14:44:41 -0500
committerAlan Donovan <adonovan@google.com>2014-12-30 21:49:25 +0000
commitfcd61eb07e11f856e62de3f24383f51627f25009 (patch)
tree174260da676aa67ecf78624c498f399de3f0c7c0 /src/go/parser/parser.go
parentf005d6e34aa94cad99e881c4fc87bc6e614ba9a6 (diff)
downloadgo-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.go2
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