mirror of
https://github.com/golang/go
synced 2024-11-21 18:34:44 -07:00
gc: minor import grammar bug fixes
Fixes #364. R=ken2 https://golang.org/cl/164092
This commit is contained in:
parent
d984f98996
commit
e733766dda
@ -85,7 +85,9 @@
|
||||
%type <list> hidden_interfacedcl_list ohidden_interfacedcl_list
|
||||
%type <list> hidden_structdcl_list ohidden_structdcl_list
|
||||
|
||||
%type <type> hidden_type hidden_type1 hidden_type2 hidden_pkgtype
|
||||
%type <type> hidden_type hidden_type_misc hidden_pkgtype
|
||||
%type <type> hidden_type_func hidden_type_non_func
|
||||
%type <type> hidden_type_chan hidden_type_non_chan
|
||||
|
||||
%left LOROR
|
||||
%left LANDAND
|
||||
@ -1613,10 +1615,19 @@ hidden_pkgtype:
|
||||
}
|
||||
|
||||
hidden_type:
|
||||
hidden_type1
|
||||
| hidden_type2
|
||||
hidden_type_misc
|
||||
| hidden_type_chan
|
||||
| hidden_type_func
|
||||
|
||||
hidden_type1:
|
||||
hidden_type_non_chan:
|
||||
hidden_type_misc
|
||||
| hidden_type_func
|
||||
|
||||
hidden_type_non_func:
|
||||
hidden_type_misc
|
||||
| hidden_type_chan
|
||||
|
||||
hidden_type_misc:
|
||||
hidden_importsym
|
||||
{
|
||||
$$ = pkgtype($1);
|
||||
@ -1662,25 +1673,33 @@ hidden_type1:
|
||||
$$->type = $3;
|
||||
$$->chan = Crecv;
|
||||
}
|
||||
| LCHAN LCOMM hidden_type1
|
||||
| LCHAN LCOMM hidden_type_non_chan
|
||||
{
|
||||
$$ = typ(TCHAN);
|
||||
$$->type = $3;
|
||||
$$->chan = Csend;
|
||||
}
|
||||
| LCHAN LCOMM '(' hidden_type_chan ')'
|
||||
{
|
||||
$$ = typ(TCHAN);
|
||||
$$->type = $4;
|
||||
$$->chan = Csend;
|
||||
}
|
||||
| LDDD
|
||||
{
|
||||
$$ = typ(TDDD);
|
||||
}
|
||||
|
||||
hidden_type2:
|
||||
hidden_type_chan:
|
||||
LCHAN hidden_type
|
||||
{
|
||||
$$ = typ(TCHAN);
|
||||
$$->type = $2;
|
||||
$$->chan = Cboth;
|
||||
}
|
||||
| LFUNC '(' ohidden_funarg_list ')' ohidden_funres
|
||||
|
||||
hidden_type_func:
|
||||
LFUNC '(' ohidden_funarg_list ')' ohidden_funres
|
||||
{
|
||||
$$ = functype(nil, $3, $5);
|
||||
}
|
||||
@ -1732,7 +1751,7 @@ hidden_funres:
|
||||
{
|
||||
$$ = $2;
|
||||
}
|
||||
| hidden_type1
|
||||
| hidden_type_non_func
|
||||
{
|
||||
$$ = list1(nod(ODCLFIELD, N, typenod($1)));
|
||||
}
|
||||
|
5
test/fixedbugs/bug222.dir/chanbug.go
Normal file
5
test/fixedbugs/bug222.dir/chanbug.go
Normal file
@ -0,0 +1,5 @@
|
||||
package chanbug
|
||||
var C chan<- (chan int)
|
||||
var D chan<- func()
|
||||
var E func() chan int
|
||||
var F func() (func())
|
2
test/fixedbugs/bug222.dir/chanbug2.go
Normal file
2
test/fixedbugs/bug222.dir/chanbug2.go
Normal file
@ -0,0 +1,2 @@
|
||||
package Bar
|
||||
import _ "chanbug"
|
7
test/fixedbugs/bug222.go
Normal file
7
test/fixedbugs/bug222.go
Normal file
@ -0,0 +1,7 @@
|
||||
// $G $D/$F.dir/chanbug.go && $G -I. $D/$F.dir/chanbug2.go
|
||||
|
||||
// Copyright 2009 The Go Authors. All rights reserved.
|
||||
// Use of this source code is governed by a BSD-style
|
||||
// license that can be found in the LICENSE file.
|
||||
|
||||
ignored
|
Loading…
Reference in New Issue
Block a user