Commit 0bad50f2 authored by Robert Griesemer's avatar Robert Griesemer

cmd/compile/internal/gc: fix go.y to match y.go

In https://go-review.googlesource.com/#/c/16554/ y.go was modified
manually, but go.y (which is the source for y.go) was not changed.

Change-Id: I1273801bfd1ac65b875f4465033b0d062abff0b7
Reviewed-on: https://go-review.googlesource.com/16745Reviewed-by: default avatarAustin Clements <austin@google.com>
parent e410a527
...@@ -1397,6 +1397,7 @@ xfndcl: ...@@ -1397,6 +1397,7 @@ xfndcl:
$$.Func.Nosplit = nosplit; $$.Func.Nosplit = nosplit;
$$.Func.Noinline = noinline; $$.Func.Noinline = noinline;
$$.Func.Nowritebarrier = nowritebarrier; $$.Func.Nowritebarrier = nowritebarrier;
$$.Func.Nowritebarrierrec = nowritebarrierrec;
$$.Func.Systemstack = systemstack; $$.Func.Systemstack = systemstack;
funcbody($$); funcbody($$);
} }
...@@ -1588,6 +1589,7 @@ xdcl_list: ...@@ -1588,6 +1589,7 @@ xdcl_list:
norace = false norace = false
nosplit = false nosplit = false
nowritebarrier = false nowritebarrier = false
nowritebarrierrec = false
systemstack = false systemstack = false
} }
......
...@@ -154,7 +154,7 @@ const yyEofCode = 1 ...@@ -154,7 +154,7 @@ const yyEofCode = 1
const yyErrCode = 2 const yyErrCode = 2
const yyMaxDepth = 200 const yyMaxDepth = 200
//line go.y:2311 //line go.y:2315
func fixlbrace(lbr int) { func fixlbrace(lbr int) {
// If the opening brace was an LBODY, // If the opening brace was an LBODY,
// set up for another one now that we're done. // set up for another one now that we're done.
...@@ -1602,19 +1602,21 @@ yydefault: ...@@ -1602,19 +1602,21 @@ yydefault:
{ {
yyVAL.node = Nod(OASOP, yyDollar[1].node, Nodintconst(1)) yyVAL.node = Nod(OASOP, yyDollar[1].node, Nodintconst(1))
yyVAL.node.Implicit = true yyVAL.node.Implicit = true
// TODO(marvin): Fix Node.EType type union.
yyVAL.node.Etype = EType(OADD) yyVAL.node.Etype = EType(OADD)
} }
case 54: case 54:
yyDollar = yyS[yypt-2 : yypt+1] yyDollar = yyS[yypt-2 : yypt+1]
//line go.y:530 //line go.y:531
{ {
yyVAL.node = Nod(OASOP, yyDollar[1].node, Nodintconst(1)) yyVAL.node = Nod(OASOP, yyDollar[1].node, Nodintconst(1))
yyVAL.node.Implicit = true yyVAL.node.Implicit = true
// TODO(marvin): Fix Node.EType type union.
yyVAL.node.Etype = EType(OSUB) yyVAL.node.Etype = EType(OSUB)
} }
case 55: case 55:
yyDollar = yyS[yypt-3 : yypt+1] yyDollar = yyS[yypt-3 : yypt+1]
//line go.y:538 //line go.y:540
{ {
var n, nn *Node var n, nn *Node
...@@ -1639,7 +1641,7 @@ yydefault: ...@@ -1639,7 +1641,7 @@ yydefault:
} }
case 56: case 56:
yyDollar = yyS[yypt-5 : yypt+1] yyDollar = yyS[yypt-5 : yypt+1]
//line go.y:561 //line go.y:563
{ {
var n *Node var n *Node
...@@ -1659,7 +1661,7 @@ yydefault: ...@@ -1659,7 +1661,7 @@ yydefault:
} }
case 57: case 57:
yyDollar = yyS[yypt-5 : yypt+1] yyDollar = yyS[yypt-5 : yypt+1]
//line go.y:579 //line go.y:581
{ {
// will be converted to OCASE // will be converted to OCASE
// right will point to next case // right will point to next case
...@@ -1670,7 +1672,7 @@ yydefault: ...@@ -1670,7 +1672,7 @@ yydefault:
} }
case 58: case 58:
yyDollar = yyS[yypt-2 : yypt+1] yyDollar = yyS[yypt-2 : yypt+1]
//line go.y:588 //line go.y:590
{ {
var n, nn *Node var n, nn *Node
...@@ -1691,13 +1693,13 @@ yydefault: ...@@ -1691,13 +1693,13 @@ yydefault:
} }
case 59: case 59:
yyDollar = yyS[yypt-1 : yypt+1] yyDollar = yyS[yypt-1 : yypt+1]
//line go.y:609 //line go.y:611
{ {
markdcl() markdcl()
} }
case 60: case 60:
yyDollar = yyS[yypt-4 : yypt+1] yyDollar = yyS[yypt-4 : yypt+1]
//line go.y:613 //line go.y:615
{ {
if yyDollar[3].list == nil { if yyDollar[3].list == nil {
yyVAL.node = Nod(OEMPTY, nil, nil) yyVAL.node = Nod(OEMPTY, nil, nil)
...@@ -1708,7 +1710,7 @@ yydefault: ...@@ -1708,7 +1710,7 @@ yydefault:
} }
case 61: case 61:
yyDollar = yyS[yypt-1 : yypt+1] yyDollar = yyS[yypt-1 : yypt+1]
//line go.y:624 //line go.y:626
{ {
// If the last token read by the lexer was consumed // If the last token read by the lexer was consumed
// as part of the case, clear it (parser has cleared yychar). // as part of the case, clear it (parser has cleared yychar).
...@@ -1721,7 +1723,7 @@ yydefault: ...@@ -1721,7 +1723,7 @@ yydefault:
} }
case 62: case 62:
yyDollar = yyS[yypt-3 : yypt+1] yyDollar = yyS[yypt-3 : yypt+1]
//line go.y:635 //line go.y:637
{ {
// This is the only place in the language where a statement // This is the only place in the language where a statement
// list is not allowed to drop the final semicolon, because // list is not allowed to drop the final semicolon, because
...@@ -1741,32 +1743,32 @@ yydefault: ...@@ -1741,32 +1743,32 @@ yydefault:
} }
case 63: case 63:
yyDollar = yyS[yypt-0 : yypt+1] yyDollar = yyS[yypt-0 : yypt+1]
//line go.y:654 //line go.y:656
{ {
yyVAL.list = nil yyVAL.list = nil
} }
case 64: case 64:
yyDollar = yyS[yypt-2 : yypt+1] yyDollar = yyS[yypt-2 : yypt+1]
//line go.y:658 //line go.y:660
{ {
yyVAL.list = list(yyDollar[1].list, yyDollar[2].node) yyVAL.list = list(yyDollar[1].list, yyDollar[2].node)
} }
case 65: case 65:
yyDollar = yyS[yypt-1 : yypt+1] yyDollar = yyS[yypt-1 : yypt+1]
//line go.y:664 //line go.y:666
{ {
markdcl() markdcl()
} }
case 66: case 66:
yyDollar = yyS[yypt-4 : yypt+1] yyDollar = yyS[yypt-4 : yypt+1]
//line go.y:668 //line go.y:670
{ {
yyVAL.list = yyDollar[3].list yyVAL.list = yyDollar[3].list
popdcl() popdcl()
} }
case 67: case 67:
yyDollar = yyS[yypt-4 : yypt+1] yyDollar = yyS[yypt-4 : yypt+1]
//line go.y:675 //line go.y:677
{ {
yyVAL.node = Nod(ORANGE, nil, yyDollar[4].node) yyVAL.node = Nod(ORANGE, nil, yyDollar[4].node)
yyVAL.node.List = yyDollar[1].list yyVAL.node.List = yyDollar[1].list
...@@ -1774,7 +1776,7 @@ yydefault: ...@@ -1774,7 +1776,7 @@ yydefault:
} }
case 68: case 68:
yyDollar = yyS[yypt-4 : yypt+1] yyDollar = yyS[yypt-4 : yypt+1]
//line go.y:681 //line go.y:683
{ {
yyVAL.node = Nod(ORANGE, nil, yyDollar[4].node) yyVAL.node = Nod(ORANGE, nil, yyDollar[4].node)
yyVAL.node.List = yyDollar[1].list yyVAL.node.List = yyDollar[1].list
...@@ -1783,14 +1785,14 @@ yydefault: ...@@ -1783,14 +1785,14 @@ yydefault:
} }
case 69: case 69:
yyDollar = yyS[yypt-2 : yypt+1] yyDollar = yyS[yypt-2 : yypt+1]
//line go.y:688 //line go.y:690
{ {
yyVAL.node = Nod(ORANGE, nil, yyDollar[2].node) yyVAL.node = Nod(ORANGE, nil, yyDollar[2].node)
yyVAL.node.Etype = 0 // := flag yyVAL.node.Etype = 0 // := flag
} }
case 70: case 70:
yyDollar = yyS[yypt-5 : yypt+1] yyDollar = yyS[yypt-5 : yypt+1]
//line go.y:695 //line go.y:697
{ {
// init ; test ; incr // init ; test ; incr
if yyDollar[5].node != nil && yyDollar[5].node.Colas { if yyDollar[5].node != nil && yyDollar[5].node.Colas {
...@@ -1805,7 +1807,7 @@ yydefault: ...@@ -1805,7 +1807,7 @@ yydefault:
} }
case 71: case 71:
yyDollar = yyS[yypt-1 : yypt+1] yyDollar = yyS[yypt-1 : yypt+1]
//line go.y:708 //line go.y:710
{ {
// normal test // normal test
yyVAL.node = Nod(OFOR, nil, nil) yyVAL.node = Nod(OFOR, nil, nil)
...@@ -1813,27 +1815,27 @@ yydefault: ...@@ -1813,27 +1815,27 @@ yydefault:
} }
case 73: case 73:
yyDollar = yyS[yypt-2 : yypt+1] yyDollar = yyS[yypt-2 : yypt+1]
//line go.y:717 //line go.y:719
{ {
yyVAL.node = yyDollar[1].node yyVAL.node = yyDollar[1].node
yyVAL.node.Nbody = concat(yyVAL.node.Nbody, yyDollar[2].list) yyVAL.node.Nbody = concat(yyVAL.node.Nbody, yyDollar[2].list)
} }
case 74: case 74:
yyDollar = yyS[yypt-1 : yypt+1] yyDollar = yyS[yypt-1 : yypt+1]
//line go.y:724 //line go.y:726
{ {
markdcl() markdcl()
} }
case 75: case 75:
yyDollar = yyS[yypt-3 : yypt+1] yyDollar = yyS[yypt-3 : yypt+1]
//line go.y:728 //line go.y:730
{ {
yyVAL.node = yyDollar[3].node yyVAL.node = yyDollar[3].node
popdcl() popdcl()
} }
case 76: case 76:
yyDollar = yyS[yypt-1 : yypt+1] yyDollar = yyS[yypt-1 : yypt+1]
//line go.y:735 //line go.y:737
{ {
// test // test
yyVAL.node = Nod(OIF, nil, nil) yyVAL.node = Nod(OIF, nil, nil)
...@@ -1841,7 +1843,7 @@ yydefault: ...@@ -1841,7 +1843,7 @@ yydefault:
} }
case 77: case 77:
yyDollar = yyS[yypt-3 : yypt+1] yyDollar = yyS[yypt-3 : yypt+1]
//line go.y:741 //line go.y:743
{ {
// init ; test // init ; test
yyVAL.node = Nod(OIF, nil, nil) yyVAL.node = Nod(OIF, nil, nil)
...@@ -1852,13 +1854,13 @@ yydefault: ...@@ -1852,13 +1854,13 @@ yydefault:
} }
case 78: case 78:
yyDollar = yyS[yypt-1 : yypt+1] yyDollar = yyS[yypt-1 : yypt+1]
//line go.y:753 //line go.y:755
{ {
markdcl() markdcl()
} }
case 79: case 79:
yyDollar = yyS[yypt-3 : yypt+1] yyDollar = yyS[yypt-3 : yypt+1]
//line go.y:757 //line go.y:759
{ {
if yyDollar[3].node.Left == nil { if yyDollar[3].node.Left == nil {
Yyerror("missing condition in if statement") Yyerror("missing condition in if statement")
...@@ -1866,13 +1868,13 @@ yydefault: ...@@ -1866,13 +1868,13 @@ yydefault:
} }
case 80: case 80:
yyDollar = yyS[yypt-5 : yypt+1] yyDollar = yyS[yypt-5 : yypt+1]
//line go.y:763 //line go.y:765
{ {
yyDollar[3].node.Nbody = yyDollar[5].list yyDollar[3].node.Nbody = yyDollar[5].list
} }
case 81: case 81:
yyDollar = yyS[yypt-8 : yypt+1] yyDollar = yyS[yypt-8 : yypt+1]
//line go.y:767 //line go.y:769
{ {
var n *Node var n *Node
var nn *NodeList var nn *NodeList
...@@ -1890,13 +1892,13 @@ yydefault: ...@@ -1890,13 +1892,13 @@ yydefault:
} }
case 82: case 82:
yyDollar = yyS[yypt-2 : yypt+1] yyDollar = yyS[yypt-2 : yypt+1]
//line go.y:785 //line go.y:787
{ {
markdcl() markdcl()
} }
case 83: case 83:
yyDollar = yyS[yypt-5 : yypt+1] yyDollar = yyS[yypt-5 : yypt+1]
//line go.y:789 //line go.y:791
{ {
if yyDollar[4].node.Left == nil { if yyDollar[4].node.Left == nil {
Yyerror("missing condition in if statement") Yyerror("missing condition in if statement")
...@@ -1906,25 +1908,25 @@ yydefault: ...@@ -1906,25 +1908,25 @@ yydefault:
} }
case 84: case 84:
yyDollar = yyS[yypt-0 : yypt+1] yyDollar = yyS[yypt-0 : yypt+1]
//line go.y:798 //line go.y:800
{ {
yyVAL.list = nil yyVAL.list = nil
} }
case 85: case 85:
yyDollar = yyS[yypt-2 : yypt+1] yyDollar = yyS[yypt-2 : yypt+1]
//line go.y:802 //line go.y:804
{ {
yyVAL.list = concat(yyDollar[1].list, yyDollar[2].list) yyVAL.list = concat(yyDollar[1].list, yyDollar[2].list)
} }
case 86: case 86:
yyDollar = yyS[yypt-0 : yypt+1] yyDollar = yyS[yypt-0 : yypt+1]
//line go.y:807 //line go.y:809
{ {
yyVAL.list = nil yyVAL.list = nil
} }
case 87: case 87:
yyDollar = yyS[yypt-2 : yypt+1] yyDollar = yyS[yypt-2 : yypt+1]
//line go.y:811 //line go.y:813
{ {
l := &NodeList{N: yyDollar[2].node} l := &NodeList{N: yyDollar[2].node}
l.End = l l.End = l
...@@ -1932,13 +1934,13 @@ yydefault: ...@@ -1932,13 +1934,13 @@ yydefault:
} }
case 88: case 88:
yyDollar = yyS[yypt-1 : yypt+1] yyDollar = yyS[yypt-1 : yypt+1]
//line go.y:819 //line go.y:821
{ {
markdcl() markdcl()
} }
case 89: case 89:
yyDollar = yyS[yypt-3 : yypt+1] yyDollar = yyS[yypt-3 : yypt+1]
//line go.y:823 //line go.y:825
{ {
var n *Node var n *Node
n = yyDollar[3].node.Left n = yyDollar[3].node.Left
...@@ -1949,7 +1951,7 @@ yydefault: ...@@ -1949,7 +1951,7 @@ yydefault:
} }
case 90: case 90:
yyDollar = yyS[yypt-7 : yypt+1] yyDollar = yyS[yypt-7 : yypt+1]
//line go.y:832 //line go.y:834
{ {
yyVAL.node = yyDollar[3].node yyVAL.node = yyDollar[3].node
yyVAL.node.Op = OSWITCH yyVAL.node.Op = OSWITCH
...@@ -1959,13 +1961,13 @@ yydefault: ...@@ -1959,13 +1961,13 @@ yydefault:
} }
case 91: case 91:
yyDollar = yyS[yypt-1 : yypt+1] yyDollar = yyS[yypt-1 : yypt+1]
//line go.y:842 //line go.y:844
{ {
typesw = Nod(OXXX, typesw, nil) typesw = Nod(OXXX, typesw, nil)
} }
case 92: case 92:
yyDollar = yyS[yypt-5 : yypt+1] yyDollar = yyS[yypt-5 : yypt+1]
//line go.y:846 //line go.y:848
{ {
yyVAL.node = Nod(OSELECT, nil, nil) yyVAL.node = Nod(OSELECT, nil, nil)
yyVAL.node.Lineno = typesw.Lineno yyVAL.node.Lineno = typesw.Lineno
...@@ -1974,133 +1976,133 @@ yydefault: ...@@ -1974,133 +1976,133 @@ yydefault:
} }
case 94: case 94:
yyDollar = yyS[yypt-3 : yypt+1] yyDollar = yyS[yypt-3 : yypt+1]
//line go.y:859 //line go.y:861
{ {
yyVAL.node = Nod(OOROR, yyDollar[1].node, yyDollar[3].node) yyVAL.node = Nod(OOROR, yyDollar[1].node, yyDollar[3].node)
} }
case 95: case 95:
yyDollar = yyS[yypt-3 : yypt+1] yyDollar = yyS[yypt-3 : yypt+1]
//line go.y:863 //line go.y:865
{ {
yyVAL.node = Nod(OANDAND, yyDollar[1].node, yyDollar[3].node) yyVAL.node = Nod(OANDAND, yyDollar[1].node, yyDollar[3].node)
} }
case 96: case 96:
yyDollar = yyS[yypt-3 : yypt+1] yyDollar = yyS[yypt-3 : yypt+1]
//line go.y:867 //line go.y:869
{ {
yyVAL.node = Nod(OEQ, yyDollar[1].node, yyDollar[3].node) yyVAL.node = Nod(OEQ, yyDollar[1].node, yyDollar[3].node)
} }
case 97: case 97:
yyDollar = yyS[yypt-3 : yypt+1] yyDollar = yyS[yypt-3 : yypt+1]
//line go.y:871 //line go.y:873
{ {
yyVAL.node = Nod(ONE, yyDollar[1].node, yyDollar[3].node) yyVAL.node = Nod(ONE, yyDollar[1].node, yyDollar[3].node)
} }
case 98: case 98:
yyDollar = yyS[yypt-3 : yypt+1] yyDollar = yyS[yypt-3 : yypt+1]
//line go.y:875 //line go.y:877
{ {
yyVAL.node = Nod(OLT, yyDollar[1].node, yyDollar[3].node) yyVAL.node = Nod(OLT, yyDollar[1].node, yyDollar[3].node)
} }
case 99: case 99:
yyDollar = yyS[yypt-3 : yypt+1] yyDollar = yyS[yypt-3 : yypt+1]
//line go.y:879 //line go.y:881
{ {
yyVAL.node = Nod(OLE, yyDollar[1].node, yyDollar[3].node) yyVAL.node = Nod(OLE, yyDollar[1].node, yyDollar[3].node)
} }
case 100: case 100:
yyDollar = yyS[yypt-3 : yypt+1] yyDollar = yyS[yypt-3 : yypt+1]
//line go.y:883 //line go.y:885
{ {
yyVAL.node = Nod(OGE, yyDollar[1].node, yyDollar[3].node) yyVAL.node = Nod(OGE, yyDollar[1].node, yyDollar[3].node)
} }
case 101: case 101:
yyDollar = yyS[yypt-3 : yypt+1] yyDollar = yyS[yypt-3 : yypt+1]
//line go.y:887 //line go.y:889
{ {
yyVAL.node = Nod(OGT, yyDollar[1].node, yyDollar[3].node) yyVAL.node = Nod(OGT, yyDollar[1].node, yyDollar[3].node)
} }
case 102: case 102:
yyDollar = yyS[yypt-3 : yypt+1] yyDollar = yyS[yypt-3 : yypt+1]
//line go.y:891 //line go.y:893
{ {
yyVAL.node = Nod(OADD, yyDollar[1].node, yyDollar[3].node) yyVAL.node = Nod(OADD, yyDollar[1].node, yyDollar[3].node)
} }
case 103: case 103:
yyDollar = yyS[yypt-3 : yypt+1] yyDollar = yyS[yypt-3 : yypt+1]
//line go.y:895 //line go.y:897
{ {
yyVAL.node = Nod(OSUB, yyDollar[1].node, yyDollar[3].node) yyVAL.node = Nod(OSUB, yyDollar[1].node, yyDollar[3].node)
} }
case 104: case 104:
yyDollar = yyS[yypt-3 : yypt+1] yyDollar = yyS[yypt-3 : yypt+1]
//line go.y:899 //line go.y:901
{ {
yyVAL.node = Nod(OOR, yyDollar[1].node, yyDollar[3].node) yyVAL.node = Nod(OOR, yyDollar[1].node, yyDollar[3].node)
} }
case 105: case 105:
yyDollar = yyS[yypt-3 : yypt+1] yyDollar = yyS[yypt-3 : yypt+1]
//line go.y:903 //line go.y:905
{ {
yyVAL.node = Nod(OXOR, yyDollar[1].node, yyDollar[3].node) yyVAL.node = Nod(OXOR, yyDollar[1].node, yyDollar[3].node)
} }
case 106: case 106:
yyDollar = yyS[yypt-3 : yypt+1] yyDollar = yyS[yypt-3 : yypt+1]
//line go.y:907 //line go.y:909
{ {
yyVAL.node = Nod(OMUL, yyDollar[1].node, yyDollar[3].node) yyVAL.node = Nod(OMUL, yyDollar[1].node, yyDollar[3].node)
} }
case 107: case 107:
yyDollar = yyS[yypt-3 : yypt+1] yyDollar = yyS[yypt-3 : yypt+1]
//line go.y:911 //line go.y:913
{ {
yyVAL.node = Nod(ODIV, yyDollar[1].node, yyDollar[3].node) yyVAL.node = Nod(ODIV, yyDollar[1].node, yyDollar[3].node)
} }
case 108: case 108:
yyDollar = yyS[yypt-3 : yypt+1] yyDollar = yyS[yypt-3 : yypt+1]
//line go.y:915 //line go.y:917
{ {
yyVAL.node = Nod(OMOD, yyDollar[1].node, yyDollar[3].node) yyVAL.node = Nod(OMOD, yyDollar[1].node, yyDollar[3].node)
} }
case 109: case 109:
yyDollar = yyS[yypt-3 : yypt+1] yyDollar = yyS[yypt-3 : yypt+1]
//line go.y:919 //line go.y:921
{ {
yyVAL.node = Nod(OAND, yyDollar[1].node, yyDollar[3].node) yyVAL.node = Nod(OAND, yyDollar[1].node, yyDollar[3].node)
} }
case 110: case 110:
yyDollar = yyS[yypt-3 : yypt+1] yyDollar = yyS[yypt-3 : yypt+1]
//line go.y:923 //line go.y:925
{ {
yyVAL.node = Nod(OANDNOT, yyDollar[1].node, yyDollar[3].node) yyVAL.node = Nod(OANDNOT, yyDollar[1].node, yyDollar[3].node)
} }
case 111: case 111:
yyDollar = yyS[yypt-3 : yypt+1] yyDollar = yyS[yypt-3 : yypt+1]
//line go.y:927 //line go.y:929
{ {
yyVAL.node = Nod(OLSH, yyDollar[1].node, yyDollar[3].node) yyVAL.node = Nod(OLSH, yyDollar[1].node, yyDollar[3].node)
} }
case 112: case 112:
yyDollar = yyS[yypt-3 : yypt+1] yyDollar = yyS[yypt-3 : yypt+1]
//line go.y:931 //line go.y:933
{ {
yyVAL.node = Nod(ORSH, yyDollar[1].node, yyDollar[3].node) yyVAL.node = Nod(ORSH, yyDollar[1].node, yyDollar[3].node)
} }
case 113: case 113:
yyDollar = yyS[yypt-3 : yypt+1] yyDollar = yyS[yypt-3 : yypt+1]
//line go.y:936 //line go.y:938
{ {
yyVAL.node = Nod(OSEND, yyDollar[1].node, yyDollar[3].node) yyVAL.node = Nod(OSEND, yyDollar[1].node, yyDollar[3].node)
} }
case 115: case 115:
yyDollar = yyS[yypt-2 : yypt+1] yyDollar = yyS[yypt-2 : yypt+1]
//line go.y:943 //line go.y:945
{ {
yyVAL.node = Nod(OIND, yyDollar[2].node, nil) yyVAL.node = Nod(OIND, yyDollar[2].node, nil)
} }
case 116: case 116:
yyDollar = yyS[yypt-2 : yypt+1] yyDollar = yyS[yypt-2 : yypt+1]
//line go.y:947 //line go.y:949
{ {
if yyDollar[2].node.Op == OCOMPLIT { if yyDollar[2].node.Op == OCOMPLIT {
// Special case for &T{...}: turn into (*T){...}. // Special case for &T{...}: turn into (*T){...}.
...@@ -2113,57 +2115,57 @@ yydefault: ...@@ -2113,57 +2115,57 @@ yydefault:
} }
case 117: case 117:
yyDollar = yyS[yypt-2 : yypt+1] yyDollar = yyS[yypt-2 : yypt+1]
//line go.y:958 //line go.y:960
{ {
yyVAL.node = Nod(OPLUS, yyDollar[2].node, nil) yyVAL.node = Nod(OPLUS, yyDollar[2].node, nil)
} }
case 118: case 118:
yyDollar = yyS[yypt-2 : yypt+1] yyDollar = yyS[yypt-2 : yypt+1]
//line go.y:962 //line go.y:964
{ {
yyVAL.node = Nod(OMINUS, yyDollar[2].node, nil) yyVAL.node = Nod(OMINUS, yyDollar[2].node, nil)
} }
case 119: case 119:
yyDollar = yyS[yypt-2 : yypt+1] yyDollar = yyS[yypt-2 : yypt+1]
//line go.y:966 //line go.y:968
{ {
yyVAL.node = Nod(ONOT, yyDollar[2].node, nil) yyVAL.node = Nod(ONOT, yyDollar[2].node, nil)
} }
case 120: case 120:
yyDollar = yyS[yypt-2 : yypt+1] yyDollar = yyS[yypt-2 : yypt+1]
//line go.y:970 //line go.y:972
{ {
Yyerror("the bitwise complement operator is ^") Yyerror("the bitwise complement operator is ^")
yyVAL.node = Nod(OCOM, yyDollar[2].node, nil) yyVAL.node = Nod(OCOM, yyDollar[2].node, nil)
} }
case 121: case 121:
yyDollar = yyS[yypt-2 : yypt+1] yyDollar = yyS[yypt-2 : yypt+1]
//line go.y:975 //line go.y:977
{ {
yyVAL.node = Nod(OCOM, yyDollar[2].node, nil) yyVAL.node = Nod(OCOM, yyDollar[2].node, nil)
} }
case 122: case 122:
yyDollar = yyS[yypt-2 : yypt+1] yyDollar = yyS[yypt-2 : yypt+1]
//line go.y:979 //line go.y:981
{ {
yyVAL.node = Nod(ORECV, yyDollar[2].node, nil) yyVAL.node = Nod(ORECV, yyDollar[2].node, nil)
} }
case 123: case 123:
yyDollar = yyS[yypt-3 : yypt+1] yyDollar = yyS[yypt-3 : yypt+1]
//line go.y:989 //line go.y:991
{ {
yyVAL.node = Nod(OCALL, yyDollar[1].node, nil) yyVAL.node = Nod(OCALL, yyDollar[1].node, nil)
} }
case 124: case 124:
yyDollar = yyS[yypt-5 : yypt+1] yyDollar = yyS[yypt-5 : yypt+1]
//line go.y:993 //line go.y:995
{ {
yyVAL.node = Nod(OCALL, yyDollar[1].node, nil) yyVAL.node = Nod(OCALL, yyDollar[1].node, nil)
yyVAL.node.List = yyDollar[3].list yyVAL.node.List = yyDollar[3].list
} }
case 125: case 125:
yyDollar = yyS[yypt-6 : yypt+1] yyDollar = yyS[yypt-6 : yypt+1]
//line go.y:998 //line go.y:1000
{ {
yyVAL.node = Nod(OCALL, yyDollar[1].node, nil) yyVAL.node = Nod(OCALL, yyDollar[1].node, nil)
yyVAL.node.List = yyDollar[3].list yyVAL.node.List = yyDollar[3].list
...@@ -2171,13 +2173,13 @@ yydefault: ...@@ -2171,13 +2173,13 @@ yydefault:
} }
case 126: case 126:
yyDollar = yyS[yypt-1 : yypt+1] yyDollar = yyS[yypt-1 : yypt+1]
//line go.y:1006 //line go.y:1008
{ {
yyVAL.node = nodlit(yyDollar[1].val) yyVAL.node = nodlit(yyDollar[1].val)
} }
case 128: case 128:
yyDollar = yyS[yypt-3 : yypt+1] yyDollar = yyS[yypt-3 : yypt+1]
//line go.y:1011 //line go.y:1013
{ {
if yyDollar[1].node.Op == OPACK { if yyDollar[1].node.Op == OPACK {
var s *Sym var s *Sym
...@@ -2190,31 +2192,31 @@ yydefault: ...@@ -2190,31 +2192,31 @@ yydefault:
} }
case 129: case 129:
yyDollar = yyS[yypt-5 : yypt+1] yyDollar = yyS[yypt-5 : yypt+1]
//line go.y:1022 //line go.y:1024
{ {
yyVAL.node = Nod(ODOTTYPE, yyDollar[1].node, yyDollar[4].node) yyVAL.node = Nod(ODOTTYPE, yyDollar[1].node, yyDollar[4].node)
} }
case 130: case 130:
yyDollar = yyS[yypt-5 : yypt+1] yyDollar = yyS[yypt-5 : yypt+1]
//line go.y:1026 //line go.y:1028
{ {
yyVAL.node = Nod(OTYPESW, nil, yyDollar[1].node) yyVAL.node = Nod(OTYPESW, nil, yyDollar[1].node)
} }
case 131: case 131:
yyDollar = yyS[yypt-4 : yypt+1] yyDollar = yyS[yypt-4 : yypt+1]
//line go.y:1030 //line go.y:1032
{ {
yyVAL.node = Nod(OINDEX, yyDollar[1].node, yyDollar[3].node) yyVAL.node = Nod(OINDEX, yyDollar[1].node, yyDollar[3].node)
} }
case 132: case 132:
yyDollar = yyS[yypt-6 : yypt+1] yyDollar = yyS[yypt-6 : yypt+1]
//line go.y:1034 //line go.y:1036
{ {
yyVAL.node = Nod(OSLICE, yyDollar[1].node, Nod(OKEY, yyDollar[3].node, yyDollar[5].node)) yyVAL.node = Nod(OSLICE, yyDollar[1].node, Nod(OKEY, yyDollar[3].node, yyDollar[5].node))
} }
case 133: case 133:
yyDollar = yyS[yypt-8 : yypt+1] yyDollar = yyS[yypt-8 : yypt+1]
//line go.y:1038 //line go.y:1040
{ {
if yyDollar[5].node == nil { if yyDollar[5].node == nil {
Yyerror("middle index required in 3-index slice") Yyerror("middle index required in 3-index slice")
...@@ -2226,7 +2228,7 @@ yydefault: ...@@ -2226,7 +2228,7 @@ yydefault:
} }
case 135: case 135:
yyDollar = yyS[yypt-5 : yypt+1] yyDollar = yyS[yypt-5 : yypt+1]
//line go.y:1049 //line go.y:1051
{ {
// conversion // conversion
yyVAL.node = Nod(OCALL, yyDollar[1].node, nil) yyVAL.node = Nod(OCALL, yyDollar[1].node, nil)
...@@ -2234,7 +2236,7 @@ yydefault: ...@@ -2234,7 +2236,7 @@ yydefault:
} }
case 136: case 136:
yyDollar = yyS[yypt-5 : yypt+1] yyDollar = yyS[yypt-5 : yypt+1]
//line go.y:1055 //line go.y:1057
{ {
yyVAL.node = yyDollar[3].node yyVAL.node = yyDollar[3].node
yyVAL.node.Right = yyDollar[1].node yyVAL.node.Right = yyDollar[1].node
...@@ -2243,7 +2245,7 @@ yydefault: ...@@ -2243,7 +2245,7 @@ yydefault:
} }
case 137: case 137:
yyDollar = yyS[yypt-5 : yypt+1] yyDollar = yyS[yypt-5 : yypt+1]
//line go.y:1062 //line go.y:1064
{ {
yyVAL.node = yyDollar[3].node yyVAL.node = yyDollar[3].node
yyVAL.node.Right = yyDollar[1].node yyVAL.node.Right = yyDollar[1].node
...@@ -2251,7 +2253,7 @@ yydefault: ...@@ -2251,7 +2253,7 @@ yydefault:
} }
case 138: case 138:
yyDollar = yyS[yypt-7 : yypt+1] yyDollar = yyS[yypt-7 : yypt+1]
//line go.y:1068 //line go.y:1070
{ {
Yyerror("cannot parenthesize type in composite literal") Yyerror("cannot parenthesize type in composite literal")
yyVAL.node = yyDollar[5].node yyVAL.node = yyDollar[5].node
...@@ -2260,7 +2262,7 @@ yydefault: ...@@ -2260,7 +2262,7 @@ yydefault:
} }
case 140: case 140:
yyDollar = yyS[yypt-0 : yypt+1] yyDollar = yyS[yypt-0 : yypt+1]
//line go.y:1077 //line go.y:1079
{ {
// composite expression. // composite expression.
// make node early so we get the right line number. // make node early so we get the right line number.
...@@ -2268,13 +2270,13 @@ yydefault: ...@@ -2268,13 +2270,13 @@ yydefault:
} }
case 141: case 141:
yyDollar = yyS[yypt-3 : yypt+1] yyDollar = yyS[yypt-3 : yypt+1]
//line go.y:1085 //line go.y:1087
{ {
yyVAL.node = Nod(OKEY, yyDollar[1].node, yyDollar[3].node) yyVAL.node = Nod(OKEY, yyDollar[1].node, yyDollar[3].node)
} }
case 142: case 142:
yyDollar = yyS[yypt-1 : yypt+1] yyDollar = yyS[yypt-1 : yypt+1]
//line go.y:1091 //line go.y:1093
{ {
// These nodes do not carry line numbers. // These nodes do not carry line numbers.
// Since a composite literal commonly spans several lines, // Since a composite literal commonly spans several lines,
...@@ -2289,21 +2291,21 @@ yydefault: ...@@ -2289,21 +2291,21 @@ yydefault:
} }
case 143: case 143:
yyDollar = yyS[yypt-4 : yypt+1] yyDollar = yyS[yypt-4 : yypt+1]
//line go.y:1104 //line go.y:1106
{ {
yyVAL.node = yyDollar[2].node yyVAL.node = yyDollar[2].node
yyVAL.node.List = yyDollar[3].list yyVAL.node.List = yyDollar[3].list
} }
case 145: case 145:
yyDollar = yyS[yypt-4 : yypt+1] yyDollar = yyS[yypt-4 : yypt+1]
//line go.y:1112 //line go.y:1114
{ {
yyVAL.node = yyDollar[2].node yyVAL.node = yyDollar[2].node
yyVAL.node.List = yyDollar[3].list yyVAL.node.List = yyDollar[3].list
} }
case 147: case 147:
yyDollar = yyS[yypt-3 : yypt+1] yyDollar = yyS[yypt-3 : yypt+1]
//line go.y:1120 //line go.y:1122
{ {
yyVAL.node = yyDollar[2].node yyVAL.node = yyDollar[2].node
...@@ -2317,19 +2319,19 @@ yydefault: ...@@ -2317,19 +2319,19 @@ yydefault:
} }
case 151: case 151:
yyDollar = yyS[yypt-1 : yypt+1] yyDollar = yyS[yypt-1 : yypt+1]
//line go.y:1141 //line go.y:1143
{ {
yyVAL.i = LBODY yyVAL.i = LBODY
} }
case 152: case 152:
yyDollar = yyS[yypt-1 : yypt+1] yyDollar = yyS[yypt-1 : yypt+1]
//line go.y:1145 //line go.y:1147
{ {
yyVAL.i = '{' yyVAL.i = '{'
} }
case 153: case 153:
yyDollar = yyS[yypt-1 : yypt+1] yyDollar = yyS[yypt-1 : yypt+1]
//line go.y:1156 //line go.y:1158
{ {
if yyDollar[1].sym == nil { if yyDollar[1].sym == nil {
yyVAL.node = nil yyVAL.node = nil
...@@ -2339,19 +2341,19 @@ yydefault: ...@@ -2339,19 +2341,19 @@ yydefault:
} }
case 154: case 154:
yyDollar = yyS[yypt-1 : yypt+1] yyDollar = yyS[yypt-1 : yypt+1]
//line go.y:1166 //line go.y:1168
{ {
yyVAL.node = dclname(yyDollar[1].sym) yyVAL.node = dclname(yyDollar[1].sym)
} }
case 155: case 155:
yyDollar = yyS[yypt-0 : yypt+1] yyDollar = yyS[yypt-0 : yypt+1]
//line go.y:1171 //line go.y:1173
{ {
yyVAL.node = nil yyVAL.node = nil
} }
case 157: case 157:
yyDollar = yyS[yypt-1 : yypt+1] yyDollar = yyS[yypt-1 : yypt+1]
//line go.y:1178 //line go.y:1180
{ {
yyVAL.sym = yyDollar[1].sym yyVAL.sym = yyDollar[1].sym
// during imports, unqualified non-exported identifiers are from builtinpkg // during imports, unqualified non-exported identifiers are from builtinpkg
...@@ -2361,13 +2363,13 @@ yydefault: ...@@ -2361,13 +2363,13 @@ yydefault:
} }
case 159: case 159:
yyDollar = yyS[yypt-1 : yypt+1] yyDollar = yyS[yypt-1 : yypt+1]
//line go.y:1187 //line go.y:1189
{ {
yyVAL.sym = nil yyVAL.sym = nil
} }
case 160: case 160:
yyDollar = yyS[yypt-4 : yypt+1] yyDollar = yyS[yypt-4 : yypt+1]
//line go.y:1193 //line go.y:1195
{ {
var p *Pkg var p *Pkg
...@@ -2383,7 +2385,7 @@ yydefault: ...@@ -2383,7 +2385,7 @@ yydefault:
} }
case 161: case 161:
yyDollar = yyS[yypt-4 : yypt+1] yyDollar = yyS[yypt-4 : yypt+1]
//line go.y:1207 //line go.y:1209
{ {
var p *Pkg var p *Pkg
...@@ -2399,7 +2401,7 @@ yydefault: ...@@ -2399,7 +2401,7 @@ yydefault:
} }
case 162: case 162:
yyDollar = yyS[yypt-1 : yypt+1] yyDollar = yyS[yypt-1 : yypt+1]
//line go.y:1223 //line go.y:1225
{ {
yyVAL.node = oldname(yyDollar[1].sym) yyVAL.node = oldname(yyDollar[1].sym)
if yyVAL.node.Name != nil && yyVAL.node.Name.Pack != nil { if yyVAL.node.Name != nil && yyVAL.node.Name.Pack != nil {
...@@ -2408,38 +2410,38 @@ yydefault: ...@@ -2408,38 +2410,38 @@ yydefault:
} }
case 164: case 164:
yyDollar = yyS[yypt-1 : yypt+1] yyDollar = yyS[yypt-1 : yypt+1]
//line go.y:1244 //line go.y:1246
{ {
Yyerror("final argument in variadic function missing type") Yyerror("final argument in variadic function missing type")
yyVAL.node = Nod(ODDD, typenod(typ(TINTER)), nil) yyVAL.node = Nod(ODDD, typenod(typ(TINTER)), nil)
} }
case 165: case 165:
yyDollar = yyS[yypt-2 : yypt+1] yyDollar = yyS[yypt-2 : yypt+1]
//line go.y:1249 //line go.y:1251
{ {
yyVAL.node = Nod(ODDD, yyDollar[2].node, nil) yyVAL.node = Nod(ODDD, yyDollar[2].node, nil)
} }
case 171: case 171:
yyDollar = yyS[yypt-3 : yypt+1] yyDollar = yyS[yypt-3 : yypt+1]
//line go.y:1260 //line go.y:1262
{ {
yyVAL.node = yyDollar[2].node yyVAL.node = yyDollar[2].node
} }
case 175: case 175:
yyDollar = yyS[yypt-2 : yypt+1] yyDollar = yyS[yypt-2 : yypt+1]
//line go.y:1269 //line go.y:1271
{ {
yyVAL.node = Nod(OIND, yyDollar[2].node, nil) yyVAL.node = Nod(OIND, yyDollar[2].node, nil)
} }
case 180: case 180:
yyDollar = yyS[yypt-3 : yypt+1] yyDollar = yyS[yypt-3 : yypt+1]
//line go.y:1279 //line go.y:1281
{ {
yyVAL.node = yyDollar[2].node yyVAL.node = yyDollar[2].node
} }
case 190: case 190:
yyDollar = yyS[yypt-3 : yypt+1] yyDollar = yyS[yypt-3 : yypt+1]
//line go.y:1300 //line go.y:1302
{ {
if yyDollar[1].node.Op == OPACK { if yyDollar[1].node.Op == OPACK {
var s *Sym var s *Sym
...@@ -2452,53 +2454,53 @@ yydefault: ...@@ -2452,53 +2454,53 @@ yydefault:
} }
case 191: case 191:
yyDollar = yyS[yypt-4 : yypt+1] yyDollar = yyS[yypt-4 : yypt+1]
//line go.y:1313 //line go.y:1315
{ {
yyVAL.node = Nod(OTARRAY, yyDollar[2].node, yyDollar[4].node) yyVAL.node = Nod(OTARRAY, yyDollar[2].node, yyDollar[4].node)
} }
case 192: case 192:
yyDollar = yyS[yypt-4 : yypt+1] yyDollar = yyS[yypt-4 : yypt+1]
//line go.y:1317 //line go.y:1319
{ {
// array literal of nelem // array literal of nelem
yyVAL.node = Nod(OTARRAY, Nod(ODDD, nil, nil), yyDollar[4].node) yyVAL.node = Nod(OTARRAY, Nod(ODDD, nil, nil), yyDollar[4].node)
} }
case 193: case 193:
yyDollar = yyS[yypt-2 : yypt+1] yyDollar = yyS[yypt-2 : yypt+1]
//line go.y:1322 //line go.y:1324
{ {
yyVAL.node = Nod(OTCHAN, yyDollar[2].node, nil) yyVAL.node = Nod(OTCHAN, yyDollar[2].node, nil)
yyVAL.node.Etype = Cboth yyVAL.node.Etype = Cboth
} }
case 194: case 194:
yyDollar = yyS[yypt-3 : yypt+1] yyDollar = yyS[yypt-3 : yypt+1]
//line go.y:1327 //line go.y:1329
{ {
yyVAL.node = Nod(OTCHAN, yyDollar[3].node, nil) yyVAL.node = Nod(OTCHAN, yyDollar[3].node, nil)
yyVAL.node.Etype = Csend yyVAL.node.Etype = Csend
} }
case 195: case 195:
yyDollar = yyS[yypt-5 : yypt+1] yyDollar = yyS[yypt-5 : yypt+1]
//line go.y:1332 //line go.y:1334
{ {
yyVAL.node = Nod(OTMAP, yyDollar[3].node, yyDollar[5].node) yyVAL.node = Nod(OTMAP, yyDollar[3].node, yyDollar[5].node)
} }
case 198: case 198:
yyDollar = yyS[yypt-2 : yypt+1] yyDollar = yyS[yypt-2 : yypt+1]
//line go.y:1340 //line go.y:1342
{ {
yyVAL.node = Nod(OIND, yyDollar[2].node, nil) yyVAL.node = Nod(OIND, yyDollar[2].node, nil)
} }
case 199: case 199:
yyDollar = yyS[yypt-3 : yypt+1] yyDollar = yyS[yypt-3 : yypt+1]
//line go.y:1346 //line go.y:1348
{ {
yyVAL.node = Nod(OTCHAN, yyDollar[3].node, nil) yyVAL.node = Nod(OTCHAN, yyDollar[3].node, nil)
yyVAL.node.Etype = Crecv yyVAL.node.Etype = Crecv
} }
case 200: case 200:
yyDollar = yyS[yypt-5 : yypt+1] yyDollar = yyS[yypt-5 : yypt+1]
//line go.y:1353 //line go.y:1355
{ {
yyVAL.node = Nod(OTSTRUCT, nil, nil) yyVAL.node = Nod(OTSTRUCT, nil, nil)
yyVAL.node.List = yyDollar[3].list yyVAL.node.List = yyDollar[3].list
...@@ -2506,14 +2508,14 @@ yydefault: ...@@ -2506,14 +2508,14 @@ yydefault:
} }
case 201: case 201:
yyDollar = yyS[yypt-3 : yypt+1] yyDollar = yyS[yypt-3 : yypt+1]
//line go.y:1359 //line go.y:1361
{ {
yyVAL.node = Nod(OTSTRUCT, nil, nil) yyVAL.node = Nod(OTSTRUCT, nil, nil)
fixlbrace(yyDollar[2].i) fixlbrace(yyDollar[2].i)
} }
case 202: case 202:
yyDollar = yyS[yypt-5 : yypt+1] yyDollar = yyS[yypt-5 : yypt+1]
//line go.y:1366 //line go.y:1368
{ {
yyVAL.node = Nod(OTINTER, nil, nil) yyVAL.node = Nod(OTINTER, nil, nil)
yyVAL.node.List = yyDollar[3].list yyVAL.node.List = yyDollar[3].list
...@@ -2521,14 +2523,14 @@ yydefault: ...@@ -2521,14 +2523,14 @@ yydefault:
} }
case 203: case 203:
yyDollar = yyS[yypt-3 : yypt+1] yyDollar = yyS[yypt-3 : yypt+1]
//line go.y:1372 //line go.y:1374
{ {
yyVAL.node = Nod(OTINTER, nil, nil) yyVAL.node = Nod(OTINTER, nil, nil)
fixlbrace(yyDollar[2].i) fixlbrace(yyDollar[2].i)
} }
case 204: case 204:
yyDollar = yyS[yypt-3 : yypt+1] yyDollar = yyS[yypt-3 : yypt+1]
//line go.y:1383 //line go.y:1385
{ {
yyVAL.node = yyDollar[2].node yyVAL.node = yyDollar[2].node
if yyVAL.node == nil { if yyVAL.node == nil {
...@@ -2550,7 +2552,7 @@ yydefault: ...@@ -2550,7 +2552,7 @@ yydefault:
} }
case 205: case 205:
yyDollar = yyS[yypt-5 : yypt+1] yyDollar = yyS[yypt-5 : yypt+1]
//line go.y:1404 //line go.y:1407
{ {
var t *Node var t *Node
...@@ -2583,7 +2585,7 @@ yydefault: ...@@ -2583,7 +2585,7 @@ yydefault:
} }
case 206: case 206:
yyDollar = yyS[yypt-8 : yypt+1] yyDollar = yyS[yypt-8 : yypt+1]
//line go.y:1435 //line go.y:1438
{ {
var rcvr, t *Node var rcvr, t *Node
...@@ -2621,7 +2623,7 @@ yydefault: ...@@ -2621,7 +2623,7 @@ yydefault:
} }
case 207: case 207:
yyDollar = yyS[yypt-5 : yypt+1] yyDollar = yyS[yypt-5 : yypt+1]
//line go.y:1473 //line go.y:1476
{ {
var s *Sym var s *Sym
var t *Type var t *Type
...@@ -2648,7 +2650,7 @@ yydefault: ...@@ -2648,7 +2650,7 @@ yydefault:
} }
case 208: case 208:
yyDollar = yyS[yypt-8 : yypt+1] yyDollar = yyS[yypt-8 : yypt+1]
//line go.y:1498 //line go.y:1501
{ {
yyVAL.node = methodname1(newname(yyDollar[4].sym), yyDollar[2].list.N.Right) yyVAL.node = methodname1(newname(yyDollar[4].sym), yyDollar[2].list.N.Right)
yyVAL.node.Type = functype(yyDollar[2].list.N, yyDollar[6].list, yyDollar[8].list) yyVAL.node.Type = functype(yyDollar[2].list.N, yyDollar[6].list, yyDollar[8].list)
...@@ -2666,7 +2668,7 @@ yydefault: ...@@ -2666,7 +2668,7 @@ yydefault:
} }
case 209: case 209:
yyDollar = yyS[yypt-5 : yypt+1] yyDollar = yyS[yypt-5 : yypt+1]
//line go.y:1516 //line go.y:1519
{ {
yyDollar[3].list = checkarglist(yyDollar[3].list, 1) yyDollar[3].list = checkarglist(yyDollar[3].list, 1)
yyVAL.node = Nod(OTFUNC, nil, nil) yyVAL.node = Nod(OTFUNC, nil, nil)
...@@ -2675,13 +2677,13 @@ yydefault: ...@@ -2675,13 +2677,13 @@ yydefault:
} }
case 210: case 210:
yyDollar = yyS[yypt-0 : yypt+1] yyDollar = yyS[yypt-0 : yypt+1]
//line go.y:1524 //line go.y:1527
{ {
yyVAL.list = nil yyVAL.list = nil
} }
case 211: case 211:
yyDollar = yyS[yypt-3 : yypt+1] yyDollar = yyS[yypt-3 : yypt+1]
//line go.y:1528 //line go.y:1531
{ {
yyVAL.list = yyDollar[2].list yyVAL.list = yyDollar[2].list
if yyVAL.list == nil { if yyVAL.list == nil {
...@@ -2690,51 +2692,51 @@ yydefault: ...@@ -2690,51 +2692,51 @@ yydefault:
} }
case 212: case 212:
yyDollar = yyS[yypt-0 : yypt+1] yyDollar = yyS[yypt-0 : yypt+1]
//line go.y:1537 //line go.y:1540
{ {
yyVAL.list = nil yyVAL.list = nil
} }
case 213: case 213:
yyDollar = yyS[yypt-1 : yypt+1] yyDollar = yyS[yypt-1 : yypt+1]
//line go.y:1541 //line go.y:1544
{ {
yyVAL.list = list1(Nod(ODCLFIELD, nil, yyDollar[1].node)) yyVAL.list = list1(Nod(ODCLFIELD, nil, yyDollar[1].node))
} }
case 214: case 214:
yyDollar = yyS[yypt-3 : yypt+1] yyDollar = yyS[yypt-3 : yypt+1]
//line go.y:1545 //line go.y:1548
{ {
yyDollar[2].list = checkarglist(yyDollar[2].list, 0) yyDollar[2].list = checkarglist(yyDollar[2].list, 0)
yyVAL.list = yyDollar[2].list yyVAL.list = yyDollar[2].list
} }
case 215: case 215:
yyDollar = yyS[yypt-1 : yypt+1] yyDollar = yyS[yypt-1 : yypt+1]
//line go.y:1552 //line go.y:1555
{ {
closurehdr(yyDollar[1].node) closurehdr(yyDollar[1].node)
} }
case 216: case 216:
yyDollar = yyS[yypt-4 : yypt+1] yyDollar = yyS[yypt-4 : yypt+1]
//line go.y:1558 //line go.y:1561
{ {
yyVAL.node = closurebody(yyDollar[3].list) yyVAL.node = closurebody(yyDollar[3].list)
fixlbrace(yyDollar[2].i) fixlbrace(yyDollar[2].i)
} }
case 217: case 217:
yyDollar = yyS[yypt-2 : yypt+1] yyDollar = yyS[yypt-2 : yypt+1]
//line go.y:1563 //line go.y:1566
{ {
yyVAL.node = closurebody(nil) yyVAL.node = closurebody(nil)
} }
case 218: case 218:
yyDollar = yyS[yypt-0 : yypt+1] yyDollar = yyS[yypt-0 : yypt+1]
//line go.y:1574 //line go.y:1577
{ {
yyVAL.list = nil yyVAL.list = nil
} }
case 219: case 219:
yyDollar = yyS[yypt-3 : yypt+1] yyDollar = yyS[yypt-3 : yypt+1]
//line go.y:1578 //line go.y:1581
{ {
yyVAL.list = concat(yyDollar[1].list, yyDollar[2].list) yyVAL.list = concat(yyDollar[1].list, yyDollar[2].list)
if nsyntaxerrors == 0 { if nsyntaxerrors == 0 {
...@@ -2751,49 +2753,49 @@ yydefault: ...@@ -2751,49 +2753,49 @@ yydefault:
} }
case 221: case 221:
yyDollar = yyS[yypt-3 : yypt+1] yyDollar = yyS[yypt-3 : yypt+1]
//line go.y:1595 //line go.y:1599
{ {
yyVAL.list = concat(yyDollar[1].list, yyDollar[3].list) yyVAL.list = concat(yyDollar[1].list, yyDollar[3].list)
} }
case 223: case 223:
yyDollar = yyS[yypt-3 : yypt+1] yyDollar = yyS[yypt-3 : yypt+1]
//line go.y:1602 //line go.y:1606
{ {
yyVAL.list = concat(yyDollar[1].list, yyDollar[3].list) yyVAL.list = concat(yyDollar[1].list, yyDollar[3].list)
} }
case 224: case 224:
yyDollar = yyS[yypt-1 : yypt+1] yyDollar = yyS[yypt-1 : yypt+1]
//line go.y:1608 //line go.y:1612
{ {
yyVAL.list = list1(yyDollar[1].node) yyVAL.list = list1(yyDollar[1].node)
} }
case 225: case 225:
yyDollar = yyS[yypt-3 : yypt+1] yyDollar = yyS[yypt-3 : yypt+1]
//line go.y:1612 //line go.y:1616
{ {
yyVAL.list = list(yyDollar[1].list, yyDollar[3].node) yyVAL.list = list(yyDollar[1].list, yyDollar[3].node)
} }
case 227: case 227:
yyDollar = yyS[yypt-3 : yypt+1] yyDollar = yyS[yypt-3 : yypt+1]
//line go.y:1619 //line go.y:1623
{ {
yyVAL.list = concat(yyDollar[1].list, yyDollar[3].list) yyVAL.list = concat(yyDollar[1].list, yyDollar[3].list)
} }
case 228: case 228:
yyDollar = yyS[yypt-1 : yypt+1] yyDollar = yyS[yypt-1 : yypt+1]
//line go.y:1625 //line go.y:1629
{ {
yyVAL.list = list1(yyDollar[1].node) yyVAL.list = list1(yyDollar[1].node)
} }
case 229: case 229:
yyDollar = yyS[yypt-3 : yypt+1] yyDollar = yyS[yypt-3 : yypt+1]
//line go.y:1629 //line go.y:1633
{ {
yyVAL.list = list(yyDollar[1].list, yyDollar[3].node) yyVAL.list = list(yyDollar[1].list, yyDollar[3].node)
} }
case 230: case 230:
yyDollar = yyS[yypt-3 : yypt+1] yyDollar = yyS[yypt-3 : yypt+1]
//line go.y:1635 //line go.y:1639
{ {
var l *NodeList var l *NodeList
...@@ -2819,14 +2821,14 @@ yydefault: ...@@ -2819,14 +2821,14 @@ yydefault:
} }
case 231: case 231:
yyDollar = yyS[yypt-2 : yypt+1] yyDollar = yyS[yypt-2 : yypt+1]
//line go.y:1659 //line go.y:1663
{ {
yyDollar[1].node.SetVal(yyDollar[2].val) yyDollar[1].node.SetVal(yyDollar[2].val)
yyVAL.list = list1(yyDollar[1].node) yyVAL.list = list1(yyDollar[1].node)
} }
case 232: case 232:
yyDollar = yyS[yypt-4 : yypt+1] yyDollar = yyS[yypt-4 : yypt+1]
//line go.y:1664 //line go.y:1668
{ {
yyDollar[2].node.SetVal(yyDollar[4].val) yyDollar[2].node.SetVal(yyDollar[4].val)
yyVAL.list = list1(yyDollar[2].node) yyVAL.list = list1(yyDollar[2].node)
...@@ -2834,7 +2836,7 @@ yydefault: ...@@ -2834,7 +2836,7 @@ yydefault:
} }
case 233: case 233:
yyDollar = yyS[yypt-3 : yypt+1] yyDollar = yyS[yypt-3 : yypt+1]
//line go.y:1670 //line go.y:1674
{ {
yyDollar[2].node.Right = Nod(OIND, yyDollar[2].node.Right, nil) yyDollar[2].node.Right = Nod(OIND, yyDollar[2].node.Right, nil)
yyDollar[2].node.SetVal(yyDollar[3].val) yyDollar[2].node.SetVal(yyDollar[3].val)
...@@ -2842,7 +2844,7 @@ yydefault: ...@@ -2842,7 +2844,7 @@ yydefault:
} }
case 234: case 234:
yyDollar = yyS[yypt-5 : yypt+1] yyDollar = yyS[yypt-5 : yypt+1]
//line go.y:1676 //line go.y:1680
{ {
yyDollar[3].node.Right = Nod(OIND, yyDollar[3].node.Right, nil) yyDollar[3].node.Right = Nod(OIND, yyDollar[3].node.Right, nil)
yyDollar[3].node.SetVal(yyDollar[5].val) yyDollar[3].node.SetVal(yyDollar[5].val)
...@@ -2851,7 +2853,7 @@ yydefault: ...@@ -2851,7 +2853,7 @@ yydefault:
} }
case 235: case 235:
yyDollar = yyS[yypt-5 : yypt+1] yyDollar = yyS[yypt-5 : yypt+1]
//line go.y:1683 //line go.y:1687
{ {
yyDollar[3].node.Right = Nod(OIND, yyDollar[3].node.Right, nil) yyDollar[3].node.Right = Nod(OIND, yyDollar[3].node.Right, nil)
yyDollar[3].node.SetVal(yyDollar[5].val) yyDollar[3].node.SetVal(yyDollar[5].val)
...@@ -2860,7 +2862,7 @@ yydefault: ...@@ -2860,7 +2862,7 @@ yydefault:
} }
case 236: case 236:
yyDollar = yyS[yypt-1 : yypt+1] yyDollar = yyS[yypt-1 : yypt+1]
//line go.y:1692 //line go.y:1696
{ {
var n *Node var n *Node
...@@ -2872,7 +2874,7 @@ yydefault: ...@@ -2872,7 +2874,7 @@ yydefault:
} }
case 237: case 237:
yyDollar = yyS[yypt-3 : yypt+1] yyDollar = yyS[yypt-3 : yypt+1]
//line go.y:1702 //line go.y:1706
{ {
var pkg *Pkg var pkg *Pkg
...@@ -2887,33 +2889,33 @@ yydefault: ...@@ -2887,33 +2889,33 @@ yydefault:
} }
case 238: case 238:
yyDollar = yyS[yypt-1 : yypt+1] yyDollar = yyS[yypt-1 : yypt+1]
//line go.y:1717 //line go.y:1721
{ {
yyVAL.node = embedded(yyDollar[1].sym, localpkg) yyVAL.node = embedded(yyDollar[1].sym, localpkg)
} }
case 239: case 239:
yyDollar = yyS[yypt-2 : yypt+1] yyDollar = yyS[yypt-2 : yypt+1]
//line go.y:1723 //line go.y:1727
{ {
yyVAL.node = Nod(ODCLFIELD, yyDollar[1].node, yyDollar[2].node) yyVAL.node = Nod(ODCLFIELD, yyDollar[1].node, yyDollar[2].node)
ifacedcl(yyVAL.node) ifacedcl(yyVAL.node)
} }
case 240: case 240:
yyDollar = yyS[yypt-1 : yypt+1] yyDollar = yyS[yypt-1 : yypt+1]
//line go.y:1728 //line go.y:1732
{ {
yyVAL.node = Nod(ODCLFIELD, nil, oldname(yyDollar[1].sym)) yyVAL.node = Nod(ODCLFIELD, nil, oldname(yyDollar[1].sym))
} }
case 241: case 241:
yyDollar = yyS[yypt-3 : yypt+1] yyDollar = yyS[yypt-3 : yypt+1]
//line go.y:1732 //line go.y:1736
{ {
yyVAL.node = Nod(ODCLFIELD, nil, oldname(yyDollar[2].sym)) yyVAL.node = Nod(ODCLFIELD, nil, oldname(yyDollar[2].sym))
Yyerror("cannot parenthesize embedded type") Yyerror("cannot parenthesize embedded type")
} }
case 242: case 242:
yyDollar = yyS[yypt-4 : yypt+1] yyDollar = yyS[yypt-4 : yypt+1]
//line go.y:1739 //line go.y:1743
{ {
// without func keyword // without func keyword
yyDollar[2].list = checkarglist(yyDollar[2].list, 1) yyDollar[2].list = checkarglist(yyDollar[2].list, 1)
...@@ -2923,7 +2925,7 @@ yydefault: ...@@ -2923,7 +2925,7 @@ yydefault:
} }
case 244: case 244:
yyDollar = yyS[yypt-2 : yypt+1] yyDollar = yyS[yypt-2 : yypt+1]
//line go.y:1753 //line go.y:1757
{ {
yyVAL.node = Nod(ONONAME, nil, nil) yyVAL.node = Nod(ONONAME, nil, nil)
yyVAL.node.Sym = yyDollar[1].sym yyVAL.node.Sym = yyDollar[1].sym
...@@ -2931,7 +2933,7 @@ yydefault: ...@@ -2931,7 +2933,7 @@ yydefault:
} }
case 245: case 245:
yyDollar = yyS[yypt-2 : yypt+1] yyDollar = yyS[yypt-2 : yypt+1]
//line go.y:1759 //line go.y:1763
{ {
yyVAL.node = Nod(ONONAME, nil, nil) yyVAL.node = Nod(ONONAME, nil, nil)
yyVAL.node.Sym = yyDollar[1].sym yyVAL.node.Sym = yyDollar[1].sym
...@@ -2939,56 +2941,56 @@ yydefault: ...@@ -2939,56 +2941,56 @@ yydefault:
} }
case 247: case 247:
yyDollar = yyS[yypt-1 : yypt+1] yyDollar = yyS[yypt-1 : yypt+1]
//line go.y:1768 //line go.y:1772
{ {
yyVAL.list = list1(yyDollar[1].node) yyVAL.list = list1(yyDollar[1].node)
} }
case 248: case 248:
yyDollar = yyS[yypt-3 : yypt+1] yyDollar = yyS[yypt-3 : yypt+1]
//line go.y:1772 //line go.y:1776
{ {
yyVAL.list = list(yyDollar[1].list, yyDollar[3].node) yyVAL.list = list(yyDollar[1].list, yyDollar[3].node)
} }
case 249: case 249:
yyDollar = yyS[yypt-0 : yypt+1] yyDollar = yyS[yypt-0 : yypt+1]
//line go.y:1777 //line go.y:1781
{ {
yyVAL.list = nil yyVAL.list = nil
} }
case 250: case 250:
yyDollar = yyS[yypt-2 : yypt+1] yyDollar = yyS[yypt-2 : yypt+1]
//line go.y:1781 //line go.y:1785
{ {
yyVAL.list = yyDollar[1].list yyVAL.list = yyDollar[1].list
} }
case 251: case 251:
yyDollar = yyS[yypt-0 : yypt+1] yyDollar = yyS[yypt-0 : yypt+1]
//line go.y:1789 //line go.y:1793
{ {
yyVAL.node = nil yyVAL.node = nil
} }
case 253: case 253:
yyDollar = yyS[yypt-1 : yypt+1] yyDollar = yyS[yypt-1 : yypt+1]
//line go.y:1794 //line go.y:1798
{ {
yyVAL.node = liststmt(yyDollar[1].list) yyVAL.node = liststmt(yyDollar[1].list)
} }
case 255: case 255:
yyDollar = yyS[yypt-1 : yypt+1] yyDollar = yyS[yypt-1 : yypt+1]
//line go.y:1799 //line go.y:1803
{ {
yyVAL.node = nil yyVAL.node = nil
} }
case 261: case 261:
yyDollar = yyS[yypt-2 : yypt+1] yyDollar = yyS[yypt-2 : yypt+1]
//line go.y:1810 //line go.y:1814
{ {
yyDollar[1].node = Nod(OLABEL, yyDollar[1].node, nil) yyDollar[1].node = Nod(OLABEL, yyDollar[1].node, nil)
yyDollar[1].node.Sym = dclstack // context, for goto restrictions yyDollar[1].node.Sym = dclstack // context, for goto restrictions
} }
case 262: case 262:
yyDollar = yyS[yypt-4 : yypt+1] yyDollar = yyS[yypt-4 : yypt+1]
//line go.y:1815 //line go.y:1819
{ {
var l *NodeList var l *NodeList
...@@ -3001,7 +3003,7 @@ yydefault: ...@@ -3001,7 +3003,7 @@ yydefault:
} }
case 263: case 263:
yyDollar = yyS[yypt-1 : yypt+1] yyDollar = yyS[yypt-1 : yypt+1]
//line go.y:1826 //line go.y:1830
{ {
// will be converted to OFALL // will be converted to OFALL
yyVAL.node = Nod(OXFALL, nil, nil) yyVAL.node = Nod(OXFALL, nil, nil)
...@@ -3009,38 +3011,38 @@ yydefault: ...@@ -3009,38 +3011,38 @@ yydefault:
} }
case 264: case 264:
yyDollar = yyS[yypt-2 : yypt+1] yyDollar = yyS[yypt-2 : yypt+1]
//line go.y:1832 //line go.y:1836
{ {
yyVAL.node = Nod(OBREAK, yyDollar[2].node, nil) yyVAL.node = Nod(OBREAK, yyDollar[2].node, nil)
} }
case 265: case 265:
yyDollar = yyS[yypt-2 : yypt+1] yyDollar = yyS[yypt-2 : yypt+1]
//line go.y:1836 //line go.y:1840
{ {
yyVAL.node = Nod(OCONTINUE, yyDollar[2].node, nil) yyVAL.node = Nod(OCONTINUE, yyDollar[2].node, nil)
} }
case 266: case 266:
yyDollar = yyS[yypt-2 : yypt+1] yyDollar = yyS[yypt-2 : yypt+1]
//line go.y:1840 //line go.y:1844
{ {
yyVAL.node = Nod(OPROC, yyDollar[2].node, nil) yyVAL.node = Nod(OPROC, yyDollar[2].node, nil)
} }
case 267: case 267:
yyDollar = yyS[yypt-2 : yypt+1] yyDollar = yyS[yypt-2 : yypt+1]
//line go.y:1844 //line go.y:1848
{ {
yyVAL.node = Nod(ODEFER, yyDollar[2].node, nil) yyVAL.node = Nod(ODEFER, yyDollar[2].node, nil)
} }
case 268: case 268:
yyDollar = yyS[yypt-2 : yypt+1] yyDollar = yyS[yypt-2 : yypt+1]
//line go.y:1848 //line go.y:1852
{ {
yyVAL.node = Nod(OGOTO, yyDollar[2].node, nil) yyVAL.node = Nod(OGOTO, yyDollar[2].node, nil)
yyVAL.node.Sym = dclstack // context, for goto restrictions yyVAL.node.Sym = dclstack // context, for goto restrictions
} }
case 269: case 269:
yyDollar = yyS[yypt-2 : yypt+1] yyDollar = yyS[yypt-2 : yypt+1]
//line go.y:1853 //line go.y:1857
{ {
yyVAL.node = Nod(ORETURN, nil, nil) yyVAL.node = Nod(ORETURN, nil, nil)
yyVAL.node.List = yyDollar[2].list yyVAL.node.List = yyDollar[2].list
...@@ -3062,7 +3064,7 @@ yydefault: ...@@ -3062,7 +3064,7 @@ yydefault:
} }
case 270: case 270:
yyDollar = yyS[yypt-1 : yypt+1] yyDollar = yyS[yypt-1 : yypt+1]
//line go.y:1875 //line go.y:1879
{ {
yyVAL.list = nil yyVAL.list = nil
if yyDollar[1].node != nil { if yyDollar[1].node != nil {
...@@ -3071,7 +3073,7 @@ yydefault: ...@@ -3071,7 +3073,7 @@ yydefault:
} }
case 271: case 271:
yyDollar = yyS[yypt-3 : yypt+1] yyDollar = yyS[yypt-3 : yypt+1]
//line go.y:1882 //line go.y:1886
{ {
yyVAL.list = yyDollar[1].list yyVAL.list = yyDollar[1].list
if yyDollar[3].node != nil { if yyDollar[3].node != nil {
...@@ -3080,163 +3082,163 @@ yydefault: ...@@ -3080,163 +3082,163 @@ yydefault:
} }
case 272: case 272:
yyDollar = yyS[yypt-1 : yypt+1] yyDollar = yyS[yypt-1 : yypt+1]
//line go.y:1891 //line go.y:1895
{ {
yyVAL.list = list1(yyDollar[1].node) yyVAL.list = list1(yyDollar[1].node)
} }
case 273: case 273:
yyDollar = yyS[yypt-3 : yypt+1] yyDollar = yyS[yypt-3 : yypt+1]
//line go.y:1895 //line go.y:1899
{ {
yyVAL.list = list(yyDollar[1].list, yyDollar[3].node) yyVAL.list = list(yyDollar[1].list, yyDollar[3].node)
} }
case 274: case 274:
yyDollar = yyS[yypt-1 : yypt+1] yyDollar = yyS[yypt-1 : yypt+1]
//line go.y:1901 //line go.y:1905
{ {
yyVAL.list = list1(yyDollar[1].node) yyVAL.list = list1(yyDollar[1].node)
} }
case 275: case 275:
yyDollar = yyS[yypt-3 : yypt+1] yyDollar = yyS[yypt-3 : yypt+1]
//line go.y:1905 //line go.y:1909
{ {
yyVAL.list = list(yyDollar[1].list, yyDollar[3].node) yyVAL.list = list(yyDollar[1].list, yyDollar[3].node)
} }
case 276: case 276:
yyDollar = yyS[yypt-1 : yypt+1] yyDollar = yyS[yypt-1 : yypt+1]
//line go.y:1911 //line go.y:1915
{ {
yyVAL.list = list1(yyDollar[1].node) yyVAL.list = list1(yyDollar[1].node)
} }
case 277: case 277:
yyDollar = yyS[yypt-3 : yypt+1] yyDollar = yyS[yypt-3 : yypt+1]
//line go.y:1915 //line go.y:1919
{ {
yyVAL.list = list(yyDollar[1].list, yyDollar[3].node) yyVAL.list = list(yyDollar[1].list, yyDollar[3].node)
} }
case 278: case 278:
yyDollar = yyS[yypt-1 : yypt+1] yyDollar = yyS[yypt-1 : yypt+1]
//line go.y:1921 //line go.y:1925
{ {
yyVAL.list = list1(yyDollar[1].node) yyVAL.list = list1(yyDollar[1].node)
} }
case 279: case 279:
yyDollar = yyS[yypt-3 : yypt+1] yyDollar = yyS[yypt-3 : yypt+1]
//line go.y:1925 //line go.y:1929
{ {
yyVAL.list = list(yyDollar[1].list, yyDollar[3].node) yyVAL.list = list(yyDollar[1].list, yyDollar[3].node)
} }
case 280: case 280:
yyDollar = yyS[yypt-1 : yypt+1] yyDollar = yyS[yypt-1 : yypt+1]
//line go.y:1934 //line go.y:1938
{ {
yyVAL.list = list1(yyDollar[1].node) yyVAL.list = list1(yyDollar[1].node)
} }
case 281: case 281:
yyDollar = yyS[yypt-1 : yypt+1] yyDollar = yyS[yypt-1 : yypt+1]
//line go.y:1938 //line go.y:1942
{ {
yyVAL.list = list1(yyDollar[1].node) yyVAL.list = list1(yyDollar[1].node)
} }
case 282: case 282:
yyDollar = yyS[yypt-3 : yypt+1] yyDollar = yyS[yypt-3 : yypt+1]
//line go.y:1942 //line go.y:1946
{ {
yyVAL.list = list(yyDollar[1].list, yyDollar[3].node) yyVAL.list = list(yyDollar[1].list, yyDollar[3].node)
} }
case 283: case 283:
yyDollar = yyS[yypt-3 : yypt+1] yyDollar = yyS[yypt-3 : yypt+1]
//line go.y:1946 //line go.y:1950
{ {
yyVAL.list = list(yyDollar[1].list, yyDollar[3].node) yyVAL.list = list(yyDollar[1].list, yyDollar[3].node)
} }
case 284: case 284:
yyDollar = yyS[yypt-0 : yypt+1] yyDollar = yyS[yypt-0 : yypt+1]
//line go.y:1951 //line go.y:1955
{ {
yyVAL.list = nil yyVAL.list = nil
} }
case 285: case 285:
yyDollar = yyS[yypt-2 : yypt+1] yyDollar = yyS[yypt-2 : yypt+1]
//line go.y:1955 //line go.y:1959
{ {
yyVAL.list = yyDollar[1].list yyVAL.list = yyDollar[1].list
} }
case 290: case 290:
yyDollar = yyS[yypt-0 : yypt+1] yyDollar = yyS[yypt-0 : yypt+1]
//line go.y:1969 //line go.y:1973
{ {
yyVAL.node = nil yyVAL.node = nil
} }
case 292: case 292:
yyDollar = yyS[yypt-0 : yypt+1] yyDollar = yyS[yypt-0 : yypt+1]
//line go.y:1975 //line go.y:1979
{ {
yyVAL.list = nil yyVAL.list = nil
} }
case 294: case 294:
yyDollar = yyS[yypt-0 : yypt+1] yyDollar = yyS[yypt-0 : yypt+1]
//line go.y:1981 //line go.y:1985
{ {
yyVAL.node = nil yyVAL.node = nil
} }
case 296: case 296:
yyDollar = yyS[yypt-0 : yypt+1] yyDollar = yyS[yypt-0 : yypt+1]
//line go.y:1987 //line go.y:1991
{ {
yyVAL.list = nil yyVAL.list = nil
} }
case 298: case 298:
yyDollar = yyS[yypt-0 : yypt+1] yyDollar = yyS[yypt-0 : yypt+1]
//line go.y:1993 //line go.y:1997
{ {
yyVAL.list = nil yyVAL.list = nil
} }
case 300: case 300:
yyDollar = yyS[yypt-0 : yypt+1] yyDollar = yyS[yypt-0 : yypt+1]
//line go.y:1999 //line go.y:2003
{ {
yyVAL.list = nil yyVAL.list = nil
} }
case 302: case 302:
yyDollar = yyS[yypt-0 : yypt+1] yyDollar = yyS[yypt-0 : yypt+1]
//line go.y:2005 //line go.y:2009
{ {
yyVAL.val.U = nil yyVAL.val.U = nil
} }
case 304: case 304:
yyDollar = yyS[yypt-4 : yypt+1] yyDollar = yyS[yypt-4 : yypt+1]
//line go.y:2015 //line go.y:2019
{ {
importimport(yyDollar[2].sym, yyDollar[3].val.U.(string)) importimport(yyDollar[2].sym, yyDollar[3].val.U.(string))
} }
case 305: case 305:
yyDollar = yyS[yypt-4 : yypt+1] yyDollar = yyS[yypt-4 : yypt+1]
//line go.y:2019 //line go.y:2023
{ {
importvar(yyDollar[2].sym, yyDollar[3].typ) importvar(yyDollar[2].sym, yyDollar[3].typ)
} }
case 306: case 306:
yyDollar = yyS[yypt-5 : yypt+1] yyDollar = yyS[yypt-5 : yypt+1]
//line go.y:2023 //line go.y:2027
{ {
importconst(yyDollar[2].sym, Types[TIDEAL], yyDollar[4].node) importconst(yyDollar[2].sym, Types[TIDEAL], yyDollar[4].node)
} }
case 307: case 307:
yyDollar = yyS[yypt-6 : yypt+1] yyDollar = yyS[yypt-6 : yypt+1]
//line go.y:2027 //line go.y:2031
{ {
importconst(yyDollar[2].sym, yyDollar[3].typ, yyDollar[5].node) importconst(yyDollar[2].sym, yyDollar[3].typ, yyDollar[5].node)
} }
case 308: case 308:
yyDollar = yyS[yypt-4 : yypt+1] yyDollar = yyS[yypt-4 : yypt+1]
//line go.y:2031 //line go.y:2035
{ {
importtype(yyDollar[2].typ, yyDollar[3].typ) importtype(yyDollar[2].typ, yyDollar[3].typ)
} }
case 309: case 309:
yyDollar = yyS[yypt-4 : yypt+1] yyDollar = yyS[yypt-4 : yypt+1]
//line go.y:2035 //line go.y:2039
{ {
if yyDollar[2].node == nil { if yyDollar[2].node == nil {
dclcontext = PEXTERN // since we skip the funcbody below dclcontext = PEXTERN // since we skip the funcbody below
...@@ -3257,27 +3259,27 @@ yydefault: ...@@ -3257,27 +3259,27 @@ yydefault:
} }
case 310: case 310:
yyDollar = yyS[yypt-1 : yypt+1] yyDollar = yyS[yypt-1 : yypt+1]
//line go.y:2056 //line go.y:2060
{ {
yyVAL.sym = yyDollar[1].sym yyVAL.sym = yyDollar[1].sym
structpkg = yyVAL.sym.Pkg structpkg = yyVAL.sym.Pkg
} }
case 311: case 311:
yyDollar = yyS[yypt-1 : yypt+1] yyDollar = yyS[yypt-1 : yypt+1]
//line go.y:2063 //line go.y:2067
{ {
yyVAL.typ = pkgtype(yyDollar[1].sym) yyVAL.typ = pkgtype(yyDollar[1].sym)
importsym(yyDollar[1].sym, OTYPE) importsym(yyDollar[1].sym, OTYPE)
} }
case 317: case 317:
yyDollar = yyS[yypt-1 : yypt+1] yyDollar = yyS[yypt-1 : yypt+1]
//line go.y:2083 //line go.y:2087
{ {
yyVAL.typ = pkgtype(yyDollar[1].sym) yyVAL.typ = pkgtype(yyDollar[1].sym)
} }
case 318: case 318:
yyDollar = yyS[yypt-1 : yypt+1] yyDollar = yyS[yypt-1 : yypt+1]
//line go.y:2087 //line go.y:2091
{ {
// predefined name like uint8 // predefined name like uint8
yyDollar[1].sym = Pkglookup(yyDollar[1].sym.Name, builtinpkg) yyDollar[1].sym = Pkglookup(yyDollar[1].sym.Name, builtinpkg)
...@@ -3290,43 +3292,43 @@ yydefault: ...@@ -3290,43 +3292,43 @@ yydefault:
} }
case 319: case 319:
yyDollar = yyS[yypt-3 : yypt+1] yyDollar = yyS[yypt-3 : yypt+1]
//line go.y:2098 //line go.y:2102
{ {
yyVAL.typ = aindex(nil, yyDollar[3].typ) yyVAL.typ = aindex(nil, yyDollar[3].typ)
} }
case 320: case 320:
yyDollar = yyS[yypt-4 : yypt+1] yyDollar = yyS[yypt-4 : yypt+1]
//line go.y:2102 //line go.y:2106
{ {
yyVAL.typ = aindex(nodlit(yyDollar[2].val), yyDollar[4].typ) yyVAL.typ = aindex(nodlit(yyDollar[2].val), yyDollar[4].typ)
} }
case 321: case 321:
yyDollar = yyS[yypt-5 : yypt+1] yyDollar = yyS[yypt-5 : yypt+1]
//line go.y:2106 //line go.y:2110
{ {
yyVAL.typ = maptype(yyDollar[3].typ, yyDollar[5].typ) yyVAL.typ = maptype(yyDollar[3].typ, yyDollar[5].typ)
} }
case 322: case 322:
yyDollar = yyS[yypt-4 : yypt+1] yyDollar = yyS[yypt-4 : yypt+1]
//line go.y:2110 //line go.y:2114
{ {
yyVAL.typ = tostruct(yyDollar[3].list) yyVAL.typ = tostruct(yyDollar[3].list)
} }
case 323: case 323:
yyDollar = yyS[yypt-4 : yypt+1] yyDollar = yyS[yypt-4 : yypt+1]
//line go.y:2114 //line go.y:2118
{ {
yyVAL.typ = tointerface(yyDollar[3].list) yyVAL.typ = tointerface(yyDollar[3].list)
} }
case 324: case 324:
yyDollar = yyS[yypt-2 : yypt+1] yyDollar = yyS[yypt-2 : yypt+1]
//line go.y:2118 //line go.y:2122
{ {
yyVAL.typ = Ptrto(yyDollar[2].typ) yyVAL.typ = Ptrto(yyDollar[2].typ)
} }
case 325: case 325:
yyDollar = yyS[yypt-2 : yypt+1] yyDollar = yyS[yypt-2 : yypt+1]
//line go.y:2122 //line go.y:2126
{ {
yyVAL.typ = typ(TCHAN) yyVAL.typ = typ(TCHAN)
yyVAL.typ.Type = yyDollar[2].typ yyVAL.typ.Type = yyDollar[2].typ
...@@ -3334,7 +3336,7 @@ yydefault: ...@@ -3334,7 +3336,7 @@ yydefault:
} }
case 326: case 326:
yyDollar = yyS[yypt-4 : yypt+1] yyDollar = yyS[yypt-4 : yypt+1]
//line go.y:2128 //line go.y:2132
{ {
yyVAL.typ = typ(TCHAN) yyVAL.typ = typ(TCHAN)
yyVAL.typ.Type = yyDollar[3].typ yyVAL.typ.Type = yyDollar[3].typ
...@@ -3342,7 +3344,7 @@ yydefault: ...@@ -3342,7 +3344,7 @@ yydefault:
} }
case 327: case 327:
yyDollar = yyS[yypt-3 : yypt+1] yyDollar = yyS[yypt-3 : yypt+1]
//line go.y:2134 //line go.y:2138
{ {
yyVAL.typ = typ(TCHAN) yyVAL.typ = typ(TCHAN)
yyVAL.typ.Type = yyDollar[3].typ yyVAL.typ.Type = yyDollar[3].typ
...@@ -3350,7 +3352,7 @@ yydefault: ...@@ -3350,7 +3352,7 @@ yydefault:
} }
case 328: case 328:
yyDollar = yyS[yypt-3 : yypt+1] yyDollar = yyS[yypt-3 : yypt+1]
//line go.y:2142 //line go.y:2146
{ {
yyVAL.typ = typ(TCHAN) yyVAL.typ = typ(TCHAN)
yyVAL.typ.Type = yyDollar[3].typ yyVAL.typ.Type = yyDollar[3].typ
...@@ -3358,13 +3360,13 @@ yydefault: ...@@ -3358,13 +3360,13 @@ yydefault:
} }
case 329: case 329:
yyDollar = yyS[yypt-5 : yypt+1] yyDollar = yyS[yypt-5 : yypt+1]
//line go.y:2150 //line go.y:2154
{ {
yyVAL.typ = functype(nil, yyDollar[3].list, yyDollar[5].list) yyVAL.typ = functype(nil, yyDollar[3].list, yyDollar[5].list)
} }
case 330: case 330:
yyDollar = yyS[yypt-3 : yypt+1] yyDollar = yyS[yypt-3 : yypt+1]
//line go.y:2156 //line go.y:2160
{ {
yyVAL.node = Nod(ODCLFIELD, nil, typenod(yyDollar[2].typ)) yyVAL.node = Nod(ODCLFIELD, nil, typenod(yyDollar[2].typ))
if yyDollar[1].sym != nil { if yyDollar[1].sym != nil {
...@@ -3374,7 +3376,7 @@ yydefault: ...@@ -3374,7 +3376,7 @@ yydefault:
} }
case 331: case 331:
yyDollar = yyS[yypt-4 : yypt+1] yyDollar = yyS[yypt-4 : yypt+1]
//line go.y:2164 //line go.y:2168
{ {
var t *Type var t *Type
...@@ -3391,7 +3393,7 @@ yydefault: ...@@ -3391,7 +3393,7 @@ yydefault:
} }
case 332: case 332:
yyDollar = yyS[yypt-3 : yypt+1] yyDollar = yyS[yypt-3 : yypt+1]
//line go.y:2181 //line go.y:2185
{ {
var s *Sym var s *Sym
var p *Pkg var p *Pkg
...@@ -3415,43 +3417,43 @@ yydefault: ...@@ -3415,43 +3417,43 @@ yydefault:
} }
case 333: case 333:
yyDollar = yyS[yypt-5 : yypt+1] yyDollar = yyS[yypt-5 : yypt+1]
//line go.y:2205 //line go.y:2209
{ {
yyVAL.node = Nod(ODCLFIELD, newname(yyDollar[1].sym), typenod(functype(fakethis(), yyDollar[3].list, yyDollar[5].list))) yyVAL.node = Nod(ODCLFIELD, newname(yyDollar[1].sym), typenod(functype(fakethis(), yyDollar[3].list, yyDollar[5].list)))
} }
case 334: case 334:
yyDollar = yyS[yypt-1 : yypt+1] yyDollar = yyS[yypt-1 : yypt+1]
//line go.y:2209 //line go.y:2213
{ {
yyVAL.node = Nod(ODCLFIELD, nil, typenod(yyDollar[1].typ)) yyVAL.node = Nod(ODCLFIELD, nil, typenod(yyDollar[1].typ))
} }
case 335: case 335:
yyDollar = yyS[yypt-0 : yypt+1] yyDollar = yyS[yypt-0 : yypt+1]
//line go.y:2214 //line go.y:2218
{ {
yyVAL.list = nil yyVAL.list = nil
} }
case 337: case 337:
yyDollar = yyS[yypt-3 : yypt+1] yyDollar = yyS[yypt-3 : yypt+1]
//line go.y:2221 //line go.y:2225
{ {
yyVAL.list = yyDollar[2].list yyVAL.list = yyDollar[2].list
} }
case 338: case 338:
yyDollar = yyS[yypt-1 : yypt+1] yyDollar = yyS[yypt-1 : yypt+1]
//line go.y:2225 //line go.y:2229
{ {
yyVAL.list = list1(Nod(ODCLFIELD, nil, typenod(yyDollar[1].typ))) yyVAL.list = list1(Nod(ODCLFIELD, nil, typenod(yyDollar[1].typ)))
} }
case 339: case 339:
yyDollar = yyS[yypt-1 : yypt+1] yyDollar = yyS[yypt-1 : yypt+1]
//line go.y:2235 //line go.y:2239
{ {
yyVAL.node = nodlit(yyDollar[1].val) yyVAL.node = nodlit(yyDollar[1].val)
} }
case 340: case 340:
yyDollar = yyS[yypt-2 : yypt+1] yyDollar = yyS[yypt-2 : yypt+1]
//line go.y:2239 //line go.y:2243
{ {
yyVAL.node = nodlit(yyDollar[2].val) yyVAL.node = nodlit(yyDollar[2].val)
switch yyVAL.node.Val().Ctype() { switch yyVAL.node.Val().Ctype() {
...@@ -3471,7 +3473,7 @@ yydefault: ...@@ -3471,7 +3473,7 @@ yydefault:
} }
case 341: case 341:
yyDollar = yyS[yypt-1 : yypt+1] yyDollar = yyS[yypt-1 : yypt+1]
//line go.y:2257 //line go.y:2261
{ {
yyVAL.node = oldname(Pkglookup(yyDollar[1].sym.Name, builtinpkg)) yyVAL.node = oldname(Pkglookup(yyDollar[1].sym.Name, builtinpkg))
if yyVAL.node.Op != OLITERAL { if yyVAL.node.Op != OLITERAL {
...@@ -3480,7 +3482,7 @@ yydefault: ...@@ -3480,7 +3482,7 @@ yydefault:
} }
case 343: case 343:
yyDollar = yyS[yypt-5 : yypt+1] yyDollar = yyS[yypt-5 : yypt+1]
//line go.y:2267 //line go.y:2271
{ {
if yyDollar[2].node.Val().Ctype() == CTRUNE && yyDollar[4].node.Val().Ctype() == CTINT { if yyDollar[2].node.Val().Ctype() == CTRUNE && yyDollar[4].node.Val().Ctype() == CTINT {
yyVAL.node = yyDollar[2].node yyVAL.node = yyDollar[2].node
...@@ -3493,37 +3495,37 @@ yydefault: ...@@ -3493,37 +3495,37 @@ yydefault:
} }
case 346: case 346:
yyDollar = yyS[yypt-1 : yypt+1] yyDollar = yyS[yypt-1 : yypt+1]
//line go.y:2283 //line go.y:2287
{ {
yyVAL.list = list1(yyDollar[1].node) yyVAL.list = list1(yyDollar[1].node)
} }
case 347: case 347:
yyDollar = yyS[yypt-3 : yypt+1] yyDollar = yyS[yypt-3 : yypt+1]
//line go.y:2287 //line go.y:2291
{ {
yyVAL.list = list(yyDollar[1].list, yyDollar[3].node) yyVAL.list = list(yyDollar[1].list, yyDollar[3].node)
} }
case 348: case 348:
yyDollar = yyS[yypt-1 : yypt+1] yyDollar = yyS[yypt-1 : yypt+1]
//line go.y:2293 //line go.y:2297
{ {
yyVAL.list = list1(yyDollar[1].node) yyVAL.list = list1(yyDollar[1].node)
} }
case 349: case 349:
yyDollar = yyS[yypt-3 : yypt+1] yyDollar = yyS[yypt-3 : yypt+1]
//line go.y:2297 //line go.y:2301
{ {
yyVAL.list = list(yyDollar[1].list, yyDollar[3].node) yyVAL.list = list(yyDollar[1].list, yyDollar[3].node)
} }
case 350: case 350:
yyDollar = yyS[yypt-1 : yypt+1] yyDollar = yyS[yypt-1 : yypt+1]
//line go.y:2303 //line go.y:2307
{ {
yyVAL.list = list1(yyDollar[1].node) yyVAL.list = list1(yyDollar[1].node)
} }
case 351: case 351:
yyDollar = yyS[yypt-3 : yypt+1] yyDollar = yyS[yypt-3 : yypt+1]
//line go.y:2307 //line go.y:2311
{ {
yyVAL.list = list(yyDollar[1].list, yyDollar[3].node) yyVAL.list = list(yyDollar[1].list, yyDollar[3].node)
} }
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment