|
|
@ -154,7 +154,7 @@ const yyEofCode = 1
|
|
|
|
const yyErrCode = 2
|
|
|
|
const yyErrCode = 2
|
|
|
|
const yyMaxDepth = 200
|
|
|
|
const yyMaxDepth = 200
|
|
|
|
|
|
|
|
|
|
|
|
//line go.y:2306
|
|
|
|
//line go.y:2308
|
|
|
|
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.
|
|
|
@ -2538,6 +2538,7 @@ yydefault:
|
|
|
|
yyVAL.node.Nbody = yyDollar[3].list
|
|
|
|
yyVAL.node.Nbody = yyDollar[3].list
|
|
|
|
yyVAL.node.Func.Endlineno = lineno
|
|
|
|
yyVAL.node.Func.Endlineno = lineno
|
|
|
|
yyVAL.node.Noescape = noescape
|
|
|
|
yyVAL.node.Noescape = noescape
|
|
|
|
|
|
|
|
yyVAL.node.Func.Norace = norace
|
|
|
|
yyVAL.node.Func.Nosplit = nosplit
|
|
|
|
yyVAL.node.Func.Nosplit = nosplit
|
|
|
|
yyVAL.node.Func.Nowritebarrier = nowritebarrier
|
|
|
|
yyVAL.node.Func.Nowritebarrier = nowritebarrier
|
|
|
|
yyVAL.node.Func.Systemstack = systemstack
|
|
|
|
yyVAL.node.Func.Systemstack = systemstack
|
|
|
@ -2545,7 +2546,7 @@ yydefault:
|
|
|
|
}
|
|
|
|
}
|
|
|
|
case 205:
|
|
|
|
case 205:
|
|
|
|
yyDollar = yyS[yypt-5 : yypt+1]
|
|
|
|
yyDollar = yyS[yypt-5 : yypt+1]
|
|
|
|
//line go.y:1401
|
|
|
|
//line go.y:1402
|
|
|
|
{
|
|
|
|
{
|
|
|
|
var t *Node
|
|
|
|
var t *Node
|
|
|
|
|
|
|
|
|
|
|
@ -2578,7 +2579,7 @@ yydefault:
|
|
|
|
}
|
|
|
|
}
|
|
|
|
case 206:
|
|
|
|
case 206:
|
|
|
|
yyDollar = yyS[yypt-8 : yypt+1]
|
|
|
|
yyDollar = yyS[yypt-8 : yypt+1]
|
|
|
|
//line go.y:1432
|
|
|
|
//line go.y:1433
|
|
|
|
{
|
|
|
|
{
|
|
|
|
var rcvr, t *Node
|
|
|
|
var rcvr, t *Node
|
|
|
|
|
|
|
|
|
|
|
@ -2616,7 +2617,7 @@ yydefault:
|
|
|
|
}
|
|
|
|
}
|
|
|
|
case 207:
|
|
|
|
case 207:
|
|
|
|
yyDollar = yyS[yypt-5 : yypt+1]
|
|
|
|
yyDollar = yyS[yypt-5 : yypt+1]
|
|
|
|
//line go.y:1470
|
|
|
|
//line go.y:1471
|
|
|
|
{
|
|
|
|
{
|
|
|
|
var s *Sym
|
|
|
|
var s *Sym
|
|
|
|
var t *Type
|
|
|
|
var t *Type
|
|
|
@ -2643,7 +2644,7 @@ yydefault:
|
|
|
|
}
|
|
|
|
}
|
|
|
|
case 208:
|
|
|
|
case 208:
|
|
|
|
yyDollar = yyS[yypt-8 : yypt+1]
|
|
|
|
yyDollar = yyS[yypt-8 : yypt+1]
|
|
|
|
//line go.y:1495
|
|
|
|
//line go.y:1496
|
|
|
|
{
|
|
|
|
{
|
|
|
|
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)
|
|
|
@ -2661,7 +2662,7 @@ yydefault:
|
|
|
|
}
|
|
|
|
}
|
|
|
|
case 209:
|
|
|
|
case 209:
|
|
|
|
yyDollar = yyS[yypt-5 : yypt+1]
|
|
|
|
yyDollar = yyS[yypt-5 : yypt+1]
|
|
|
|
//line go.y:1513
|
|
|
|
//line go.y:1514
|
|
|
|
{
|
|
|
|
{
|
|
|
|
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)
|
|
|
@ -2670,13 +2671,13 @@ yydefault:
|
|
|
|
}
|
|
|
|
}
|
|
|
|
case 210:
|
|
|
|
case 210:
|
|
|
|
yyDollar = yyS[yypt-0 : yypt+1]
|
|
|
|
yyDollar = yyS[yypt-0 : yypt+1]
|
|
|
|
//line go.y:1521
|
|
|
|
//line go.y:1522
|
|
|
|
{
|
|
|
|
{
|
|
|
|
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:1525
|
|
|
|
//line go.y:1526
|
|
|
|
{
|
|
|
|
{
|
|
|
|
yyVAL.list = yyDollar[2].list
|
|
|
|
yyVAL.list = yyDollar[2].list
|
|
|
|
if yyVAL.list == nil {
|
|
|
|
if yyVAL.list == nil {
|
|
|
@ -2685,51 +2686,51 @@ yydefault:
|
|
|
|
}
|
|
|
|
}
|
|
|
|
case 212:
|
|
|
|
case 212:
|
|
|
|
yyDollar = yyS[yypt-0 : yypt+1]
|
|
|
|
yyDollar = yyS[yypt-0 : yypt+1]
|
|
|
|
//line go.y:1534
|
|
|
|
//line go.y:1535
|
|
|
|
{
|
|
|
|
{
|
|
|
|
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:1538
|
|
|
|
//line go.y:1539
|
|
|
|
{
|
|
|
|
{
|
|
|
|
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:1542
|
|
|
|
//line go.y:1543
|
|
|
|
{
|
|
|
|
{
|
|
|
|
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:1549
|
|
|
|
//line go.y:1550
|
|
|
|
{
|
|
|
|
{
|
|
|
|
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:1555
|
|
|
|
//line go.y:1556
|
|
|
|
{
|
|
|
|
{
|
|
|
|
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:1560
|
|
|
|
//line go.y:1561
|
|
|
|
{
|
|
|
|
{
|
|
|
|
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:1571
|
|
|
|
//line go.y:1572
|
|
|
|
{
|
|
|
|
{
|
|
|
|
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:1575
|
|
|
|
//line go.y:1576
|
|
|
|
{
|
|
|
|
{
|
|
|
|
yyVAL.list = concat(yyDollar[1].list, yyDollar[2].list)
|
|
|
|
yyVAL.list = concat(yyDollar[1].list, yyDollar[2].list)
|
|
|
|
if nsyntaxerrors == 0 {
|
|
|
|
if nsyntaxerrors == 0 {
|
|
|
@ -2737,55 +2738,56 @@ yydefault:
|
|
|
|
}
|
|
|
|
}
|
|
|
|
nointerface = false
|
|
|
|
nointerface = false
|
|
|
|
noescape = false
|
|
|
|
noescape = false
|
|
|
|
|
|
|
|
norace = false
|
|
|
|
nosplit = false
|
|
|
|
nosplit = false
|
|
|
|
nowritebarrier = false
|
|
|
|
nowritebarrier = false
|
|
|
|
systemstack = false
|
|
|
|
systemstack = false
|
|
|
|
}
|
|
|
|
}
|
|
|
|
case 221:
|
|
|
|
case 221:
|
|
|
|
yyDollar = yyS[yypt-3 : yypt+1]
|
|
|
|
yyDollar = yyS[yypt-3 : yypt+1]
|
|
|
|
//line go.y:1590
|
|
|
|
//line go.y:1592
|
|
|
|
{
|
|
|
|
{
|
|
|
|
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:1597
|
|
|
|
//line go.y:1599
|
|
|
|
{
|
|
|
|
{
|
|
|
|
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:1603
|
|
|
|
//line go.y:1605
|
|
|
|
{
|
|
|
|
{
|
|
|
|
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:1607
|
|
|
|
//line go.y:1609
|
|
|
|
{
|
|
|
|
{
|
|
|
|
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:1614
|
|
|
|
//line go.y:1616
|
|
|
|
{
|
|
|
|
{
|
|
|
|
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:1620
|
|
|
|
//line go.y:1622
|
|
|
|
{
|
|
|
|
{
|
|
|
|
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:1624
|
|
|
|
//line go.y:1626
|
|
|
|
{
|
|
|
|
{
|
|
|
|
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:1630
|
|
|
|
//line go.y:1632
|
|
|
|
{
|
|
|
|
{
|
|
|
|
var l *NodeList
|
|
|
|
var l *NodeList
|
|
|
|
|
|
|
|
|
|
|
@ -2811,14 +2813,14 @@ yydefault:
|
|
|
|
}
|
|
|
|
}
|
|
|
|
case 231:
|
|
|
|
case 231:
|
|
|
|
yyDollar = yyS[yypt-2 : yypt+1]
|
|
|
|
yyDollar = yyS[yypt-2 : yypt+1]
|
|
|
|
//line go.y:1654
|
|
|
|
//line go.y:1656
|
|
|
|
{
|
|
|
|
{
|
|
|
|
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:1659
|
|
|
|
//line go.y:1661
|
|
|
|
{
|
|
|
|
{
|
|
|
|
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)
|
|
|
@ -2826,7 +2828,7 @@ yydefault:
|
|
|
|
}
|
|
|
|
}
|
|
|
|
case 233:
|
|
|
|
case 233:
|
|
|
|
yyDollar = yyS[yypt-3 : yypt+1]
|
|
|
|
yyDollar = yyS[yypt-3 : yypt+1]
|
|
|
|
//line go.y:1665
|
|
|
|
//line go.y:1667
|
|
|
|
{
|
|
|
|
{
|
|
|
|
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)
|
|
|
@ -2834,7 +2836,7 @@ yydefault:
|
|
|
|
}
|
|
|
|
}
|
|
|
|
case 234:
|
|
|
|
case 234:
|
|
|
|
yyDollar = yyS[yypt-5 : yypt+1]
|
|
|
|
yyDollar = yyS[yypt-5 : yypt+1]
|
|
|
|
//line go.y:1671
|
|
|
|
//line go.y:1673
|
|
|
|
{
|
|
|
|
{
|
|
|
|
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)
|
|
|
@ -2843,7 +2845,7 @@ yydefault:
|
|
|
|
}
|
|
|
|
}
|
|
|
|
case 235:
|
|
|
|
case 235:
|
|
|
|
yyDollar = yyS[yypt-5 : yypt+1]
|
|
|
|
yyDollar = yyS[yypt-5 : yypt+1]
|
|
|
|
//line go.y:1678
|
|
|
|
//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)
|
|
|
@ -2852,7 +2854,7 @@ yydefault:
|
|
|
|
}
|
|
|
|
}
|
|
|
|
case 236:
|
|
|
|
case 236:
|
|
|
|
yyDollar = yyS[yypt-1 : yypt+1]
|
|
|
|
yyDollar = yyS[yypt-1 : yypt+1]
|
|
|
|
//line go.y:1687
|
|
|
|
//line go.y:1689
|
|
|
|
{
|
|
|
|
{
|
|
|
|
var n *Node
|
|
|
|
var n *Node
|
|
|
|
|
|
|
|
|
|
|
@ -2864,7 +2866,7 @@ yydefault:
|
|
|
|
}
|
|
|
|
}
|
|
|
|
case 237:
|
|
|
|
case 237:
|
|
|
|
yyDollar = yyS[yypt-3 : yypt+1]
|
|
|
|
yyDollar = yyS[yypt-3 : yypt+1]
|
|
|
|
//line go.y:1697
|
|
|
|
//line go.y:1699
|
|
|
|
{
|
|
|
|
{
|
|
|
|
var pkg *Pkg
|
|
|
|
var pkg *Pkg
|
|
|
|
|
|
|
|
|
|
|
@ -2879,33 +2881,33 @@ yydefault:
|
|
|
|
}
|
|
|
|
}
|
|
|
|
case 238:
|
|
|
|
case 238:
|
|
|
|
yyDollar = yyS[yypt-1 : yypt+1]
|
|
|
|
yyDollar = yyS[yypt-1 : yypt+1]
|
|
|
|
//line go.y:1712
|
|
|
|
//line go.y:1714
|
|
|
|
{
|
|
|
|
{
|
|
|
|
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:1718
|
|
|
|
//line go.y:1720
|
|
|
|
{
|
|
|
|
{
|
|
|
|
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:1723
|
|
|
|
//line go.y:1725
|
|
|
|
{
|
|
|
|
{
|
|
|
|
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:1727
|
|
|
|
//line go.y:1729
|
|
|
|
{
|
|
|
|
{
|
|
|
|
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:1734
|
|
|
|
//line go.y:1736
|
|
|
|
{
|
|
|
|
{
|
|
|
|
// without func keyword
|
|
|
|
// without func keyword
|
|
|
|
yyDollar[2].list = checkarglist(yyDollar[2].list, 1)
|
|
|
|
yyDollar[2].list = checkarglist(yyDollar[2].list, 1)
|
|
|
@ -2915,7 +2917,7 @@ yydefault:
|
|
|
|
}
|
|
|
|
}
|
|
|
|
case 244:
|
|
|
|
case 244:
|
|
|
|
yyDollar = yyS[yypt-2 : yypt+1]
|
|
|
|
yyDollar = yyS[yypt-2 : yypt+1]
|
|
|
|
//line go.y:1748
|
|
|
|
//line go.y:1750
|
|
|
|
{
|
|
|
|
{
|
|
|
|
yyVAL.node = Nod(ONONAME, nil, nil)
|
|
|
|
yyVAL.node = Nod(ONONAME, nil, nil)
|
|
|
|
yyVAL.node.Sym = yyDollar[1].sym
|
|
|
|
yyVAL.node.Sym = yyDollar[1].sym
|
|
|
@ -2923,7 +2925,7 @@ yydefault:
|
|
|
|
}
|
|
|
|
}
|
|
|
|
case 245:
|
|
|
|
case 245:
|
|
|
|
yyDollar = yyS[yypt-2 : yypt+1]
|
|
|
|
yyDollar = yyS[yypt-2 : yypt+1]
|
|
|
|
//line go.y:1754
|
|
|
|
//line go.y:1756
|
|
|
|
{
|
|
|
|
{
|
|
|
|
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,56 +2933,56 @@ yydefault:
|
|
|
|
}
|
|
|
|
}
|
|
|
|
case 247:
|
|
|
|
case 247:
|
|
|
|
yyDollar = yyS[yypt-1 : yypt+1]
|
|
|
|
yyDollar = yyS[yypt-1 : yypt+1]
|
|
|
|
//line go.y:1763
|
|
|
|
//line go.y:1765
|
|
|
|
{
|
|
|
|
{
|
|
|
|
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:1767
|
|
|
|
//line go.y:1769
|
|
|
|
{
|
|
|
|
{
|
|
|
|
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:1772
|
|
|
|
//line go.y:1774
|
|
|
|
{
|
|
|
|
{
|
|
|
|
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:1776
|
|
|
|
//line go.y:1778
|
|
|
|
{
|
|
|
|
{
|
|
|
|
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:1784
|
|
|
|
//line go.y:1786
|
|
|
|
{
|
|
|
|
{
|
|
|
|
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:1789
|
|
|
|
//line go.y:1791
|
|
|
|
{
|
|
|
|
{
|
|
|
|
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:1794
|
|
|
|
//line go.y:1796
|
|
|
|
{
|
|
|
|
{
|
|
|
|
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:1805
|
|
|
|
//line go.y:1807
|
|
|
|
{
|
|
|
|
{
|
|
|
|
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:1810
|
|
|
|
//line go.y:1812
|
|
|
|
{
|
|
|
|
{
|
|
|
|
var l *NodeList
|
|
|
|
var l *NodeList
|
|
|
|
|
|
|
|
|
|
|
@ -2993,7 +2995,7 @@ yydefault:
|
|
|
|
}
|
|
|
|
}
|
|
|
|
case 263:
|
|
|
|
case 263:
|
|
|
|
yyDollar = yyS[yypt-1 : yypt+1]
|
|
|
|
yyDollar = yyS[yypt-1 : yypt+1]
|
|
|
|
//line go.y:1821
|
|
|
|
//line go.y:1823
|
|
|
|
{
|
|
|
|
{
|
|
|
|
// will be converted to OFALL
|
|
|
|
// will be converted to OFALL
|
|
|
|
yyVAL.node = Nod(OXFALL, nil, nil)
|
|
|
|
yyVAL.node = Nod(OXFALL, nil, nil)
|
|
|
@ -3001,38 +3003,38 @@ yydefault:
|
|
|
|
}
|
|
|
|
}
|
|
|
|
case 264:
|
|
|
|
case 264:
|
|
|
|
yyDollar = yyS[yypt-2 : yypt+1]
|
|
|
|
yyDollar = yyS[yypt-2 : yypt+1]
|
|
|
|
//line go.y:1827
|
|
|
|
//line go.y:1829
|
|
|
|
{
|
|
|
|
{
|
|
|
|
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:1831
|
|
|
|
//line go.y:1833
|
|
|
|
{
|
|
|
|
{
|
|
|
|
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:1835
|
|
|
|
//line go.y:1837
|
|
|
|
{
|
|
|
|
{
|
|
|
|
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:1839
|
|
|
|
//line go.y:1841
|
|
|
|
{
|
|
|
|
{
|
|
|
|
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:1843
|
|
|
|
//line go.y:1845
|
|
|
|
{
|
|
|
|
{
|
|
|
|
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:1848
|
|
|
|
//line go.y:1850
|
|
|
|
{
|
|
|
|
{
|
|
|
|
yyVAL.node = Nod(ORETURN, nil, nil)
|
|
|
|
yyVAL.node = Nod(ORETURN, nil, nil)
|
|
|
|
yyVAL.node.List = yyDollar[2].list
|
|
|
|
yyVAL.node.List = yyDollar[2].list
|
|
|
@ -3054,7 +3056,7 @@ yydefault:
|
|
|
|
}
|
|
|
|
}
|
|
|
|
case 270:
|
|
|
|
case 270:
|
|
|
|
yyDollar = yyS[yypt-1 : yypt+1]
|
|
|
|
yyDollar = yyS[yypt-1 : yypt+1]
|
|
|
|
//line go.y:1870
|
|
|
|
//line go.y:1872
|
|
|
|
{
|
|
|
|
{
|
|
|
|
yyVAL.list = nil
|
|
|
|
yyVAL.list = nil
|
|
|
|
if yyDollar[1].node != nil {
|
|
|
|
if yyDollar[1].node != nil {
|
|
|
@ -3063,7 +3065,7 @@ yydefault:
|
|
|
|
}
|
|
|
|
}
|
|
|
|
case 271:
|
|
|
|
case 271:
|
|
|
|
yyDollar = yyS[yypt-3 : yypt+1]
|
|
|
|
yyDollar = yyS[yypt-3 : yypt+1]
|
|
|
|
//line go.y:1877
|
|
|
|
//line go.y:1879
|
|
|
|
{
|
|
|
|
{
|
|
|
|
yyVAL.list = yyDollar[1].list
|
|
|
|
yyVAL.list = yyDollar[1].list
|
|
|
|
if yyDollar[3].node != nil {
|
|
|
|
if yyDollar[3].node != nil {
|
|
|
@ -3072,163 +3074,163 @@ yydefault:
|
|
|
|
}
|
|
|
|
}
|
|
|
|
case 272:
|
|
|
|
case 272:
|
|
|
|
yyDollar = yyS[yypt-1 : yypt+1]
|
|
|
|
yyDollar = yyS[yypt-1 : yypt+1]
|
|
|
|
//line go.y:1886
|
|
|
|
//line go.y:1888
|
|
|
|
{
|
|
|
|
{
|
|
|
|
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:1890
|
|
|
|
//line go.y:1892
|
|
|
|
{
|
|
|
|
{
|
|
|
|
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:1896
|
|
|
|
//line go.y:1898
|
|
|
|
{
|
|
|
|
{
|
|
|
|
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:1900
|
|
|
|
//line go.y:1902
|
|
|
|
{
|
|
|
|
{
|
|
|
|
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:1906
|
|
|
|
//line go.y:1908
|
|
|
|
{
|
|
|
|
{
|
|
|
|
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:1910
|
|
|
|
//line go.y:1912
|
|
|
|
{
|
|
|
|
{
|
|
|
|
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:1916
|
|
|
|
//line go.y:1918
|
|
|
|
{
|
|
|
|
{
|
|
|
|
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:1920
|
|
|
|
//line go.y:1922
|
|
|
|
{
|
|
|
|
{
|
|
|
|
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:1929
|
|
|
|
//line go.y:1931
|
|
|
|
{
|
|
|
|
{
|
|
|
|
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:1933
|
|
|
|
//line go.y:1935
|
|
|
|
{
|
|
|
|
{
|
|
|
|
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:1937
|
|
|
|
//line go.y:1939
|
|
|
|
{
|
|
|
|
{
|
|
|
|
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:1941
|
|
|
|
//line go.y:1943
|
|
|
|
{
|
|
|
|
{
|
|
|
|
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:1946
|
|
|
|
//line go.y:1948
|
|
|
|
{
|
|
|
|
{
|
|
|
|
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:1950
|
|
|
|
//line go.y:1952
|
|
|
|
{
|
|
|
|
{
|
|
|
|
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:1964
|
|
|
|
//line go.y:1966
|
|
|
|
{
|
|
|
|
{
|
|
|
|
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:1970
|
|
|
|
//line go.y:1972
|
|
|
|
{
|
|
|
|
{
|
|
|
|
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:1976
|
|
|
|
//line go.y:1978
|
|
|
|
{
|
|
|
|
{
|
|
|
|
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:1982
|
|
|
|
//line go.y:1984
|
|
|
|
{
|
|
|
|
{
|
|
|
|
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:1988
|
|
|
|
//line go.y:1990
|
|
|
|
{
|
|
|
|
{
|
|
|
|
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:1994
|
|
|
|
//line go.y:1996
|
|
|
|
{
|
|
|
|
{
|
|
|
|
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:2000
|
|
|
|
//line go.y:2002
|
|
|
|
{
|
|
|
|
{
|
|
|
|
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:2010
|
|
|
|
//line go.y:2012
|
|
|
|
{
|
|
|
|
{
|
|
|
|
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:2014
|
|
|
|
//line go.y:2016
|
|
|
|
{
|
|
|
|
{
|
|
|
|
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:2018
|
|
|
|
//line go.y:2020
|
|
|
|
{
|
|
|
|
{
|
|
|
|
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:2022
|
|
|
|
//line go.y:2024
|
|
|
|
{
|
|
|
|
{
|
|
|
|
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:2026
|
|
|
|
//line go.y:2028
|
|
|
|
{
|
|
|
|
{
|
|
|
|
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:2030
|
|
|
|
//line go.y:2032
|
|
|
|
{
|
|
|
|
{
|
|
|
|
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
|
|
|
@ -3249,27 +3251,27 @@ yydefault:
|
|
|
|
}
|
|
|
|
}
|
|
|
|
case 310:
|
|
|
|
case 310:
|
|
|
|
yyDollar = yyS[yypt-1 : yypt+1]
|
|
|
|
yyDollar = yyS[yypt-1 : yypt+1]
|
|
|
|
//line go.y:2051
|
|
|
|
//line go.y:2053
|
|
|
|
{
|
|
|
|
{
|
|
|
|
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:2058
|
|
|
|
//line go.y:2060
|
|
|
|
{
|
|
|
|
{
|
|
|
|
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:2078
|
|
|
|
//line go.y:2080
|
|
|
|
{
|
|
|
|
{
|
|
|
|
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:2082
|
|
|
|
//line go.y:2084
|
|
|
|
{
|
|
|
|
{
|
|
|
|
// 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)
|
|
|
@ -3282,43 +3284,43 @@ yydefault:
|
|
|
|
}
|
|
|
|
}
|
|
|
|
case 319:
|
|
|
|
case 319:
|
|
|
|
yyDollar = yyS[yypt-3 : yypt+1]
|
|
|
|
yyDollar = yyS[yypt-3 : yypt+1]
|
|
|
|
//line go.y:2093
|
|
|
|
//line go.y:2095
|
|
|
|
{
|
|
|
|
{
|
|
|
|
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:2097
|
|
|
|
//line go.y:2099
|
|
|
|
{
|
|
|
|
{
|
|
|
|
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:2101
|
|
|
|
//line go.y:2103
|
|
|
|
{
|
|
|
|
{
|
|
|
|
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:2105
|
|
|
|
//line go.y:2107
|
|
|
|
{
|
|
|
|
{
|
|
|
|
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:2109
|
|
|
|
//line go.y:2111
|
|
|
|
{
|
|
|
|
{
|
|
|
|
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:2113
|
|
|
|
//line go.y:2115
|
|
|
|
{
|
|
|
|
{
|
|
|
|
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:2117
|
|
|
|
//line go.y:2119
|
|
|
|
{
|
|
|
|
{
|
|
|
|
yyVAL.typ = typ(TCHAN)
|
|
|
|
yyVAL.typ = typ(TCHAN)
|
|
|
|
yyVAL.typ.Type = yyDollar[2].typ
|
|
|
|
yyVAL.typ.Type = yyDollar[2].typ
|
|
|
@ -3326,7 +3328,7 @@ yydefault:
|
|
|
|
}
|
|
|
|
}
|
|
|
|
case 326:
|
|
|
|
case 326:
|
|
|
|
yyDollar = yyS[yypt-4 : yypt+1]
|
|
|
|
yyDollar = yyS[yypt-4 : yypt+1]
|
|
|
|
//line go.y:2123
|
|
|
|
//line go.y:2125
|
|
|
|
{
|
|
|
|
{
|
|
|
|
yyVAL.typ = typ(TCHAN)
|
|
|
|
yyVAL.typ = typ(TCHAN)
|
|
|
|
yyVAL.typ.Type = yyDollar[3].typ
|
|
|
|
yyVAL.typ.Type = yyDollar[3].typ
|
|
|
@ -3334,7 +3336,7 @@ yydefault:
|
|
|
|
}
|
|
|
|
}
|
|
|
|
case 327:
|
|
|
|
case 327:
|
|
|
|
yyDollar = yyS[yypt-3 : yypt+1]
|
|
|
|
yyDollar = yyS[yypt-3 : yypt+1]
|
|
|
|
//line go.y:2129
|
|
|
|
//line go.y:2131
|
|
|
|
{
|
|
|
|
{
|
|
|
|
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:
|
|
|
|
}
|
|
|
|
}
|
|
|
|
case 328:
|
|
|
|
case 328:
|
|
|
|
yyDollar = yyS[yypt-3 : yypt+1]
|
|
|
|
yyDollar = yyS[yypt-3 : yypt+1]
|
|
|
|
//line go.y:2137
|
|
|
|
//line go.y:2139
|
|
|
|
{
|
|
|
|
{
|
|
|
|
yyVAL.typ = typ(TCHAN)
|
|
|
|
yyVAL.typ = typ(TCHAN)
|
|
|
|
yyVAL.typ.Type = yyDollar[3].typ
|
|
|
|
yyVAL.typ.Type = yyDollar[3].typ
|
|
|
@ -3350,13 +3352,13 @@ yydefault:
|
|
|
|
}
|
|
|
|
}
|
|
|
|
case 329:
|
|
|
|
case 329:
|
|
|
|
yyDollar = yyS[yypt-5 : yypt+1]
|
|
|
|
yyDollar = yyS[yypt-5 : yypt+1]
|
|
|
|
//line go.y:2145
|
|
|
|
//line go.y:2147
|
|
|
|
{
|
|
|
|
{
|
|
|
|
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:2151
|
|
|
|
//line go.y:2153
|
|
|
|
{
|
|
|
|
{
|
|
|
|
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 {
|
|
|
@ -3366,7 +3368,7 @@ yydefault:
|
|
|
|
}
|
|
|
|
}
|
|
|
|
case 331:
|
|
|
|
case 331:
|
|
|
|
yyDollar = yyS[yypt-4 : yypt+1]
|
|
|
|
yyDollar = yyS[yypt-4 : yypt+1]
|
|
|
|
//line go.y:2159
|
|
|
|
//line go.y:2161
|
|
|
|
{
|
|
|
|
{
|
|
|
|
var t *Type
|
|
|
|
var t *Type
|
|
|
|
|
|
|
|
|
|
|
@ -3383,7 +3385,7 @@ yydefault:
|
|
|
|
}
|
|
|
|
}
|
|
|
|
case 332:
|
|
|
|
case 332:
|
|
|
|
yyDollar = yyS[yypt-3 : yypt+1]
|
|
|
|
yyDollar = yyS[yypt-3 : yypt+1]
|
|
|
|
//line go.y:2176
|
|
|
|
//line go.y:2178
|
|
|
|
{
|
|
|
|
{
|
|
|
|
var s *Sym
|
|
|
|
var s *Sym
|
|
|
|
var p *Pkg
|
|
|
|
var p *Pkg
|
|
|
@ -3407,43 +3409,43 @@ yydefault:
|
|
|
|
}
|
|
|
|
}
|
|
|
|
case 333:
|
|
|
|
case 333:
|
|
|
|
yyDollar = yyS[yypt-5 : yypt+1]
|
|
|
|
yyDollar = yyS[yypt-5 : yypt+1]
|
|
|
|
//line go.y:2200
|
|
|
|
//line go.y:2202
|
|
|
|
{
|
|
|
|
{
|
|
|
|
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:2204
|
|
|
|
//line go.y:2206
|
|
|
|
{
|
|
|
|
{
|
|
|
|
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:2209
|
|
|
|
//line go.y:2211
|
|
|
|
{
|
|
|
|
{
|
|
|
|
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:2216
|
|
|
|
//line go.y:2218
|
|
|
|
{
|
|
|
|
{
|
|
|
|
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:2220
|
|
|
|
//line go.y:2222
|
|
|
|
{
|
|
|
|
{
|
|
|
|
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:2230
|
|
|
|
//line go.y:2232
|
|
|
|
{
|
|
|
|
{
|
|
|
|
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:2234
|
|
|
|
//line go.y:2236
|
|
|
|
{
|
|
|
|
{
|
|
|
|
yyVAL.node = nodlit(yyDollar[2].val)
|
|
|
|
yyVAL.node = nodlit(yyDollar[2].val)
|
|
|
|
switch yyVAL.node.Val().Ctype() {
|
|
|
|
switch yyVAL.node.Val().Ctype() {
|
|
|
@ -3463,7 +3465,7 @@ yydefault:
|
|
|
|
}
|
|
|
|
}
|
|
|
|
case 341:
|
|
|
|
case 341:
|
|
|
|
yyDollar = yyS[yypt-1 : yypt+1]
|
|
|
|
yyDollar = yyS[yypt-1 : yypt+1]
|
|
|
|
//line go.y:2252
|
|
|
|
//line go.y:2254
|
|
|
|
{
|
|
|
|
{
|
|
|
|
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 {
|
|
|
@ -3472,7 +3474,7 @@ yydefault:
|
|
|
|
}
|
|
|
|
}
|
|
|
|
case 343:
|
|
|
|
case 343:
|
|
|
|
yyDollar = yyS[yypt-5 : yypt+1]
|
|
|
|
yyDollar = yyS[yypt-5 : yypt+1]
|
|
|
|
//line go.y:2262
|
|
|
|
//line go.y:2264
|
|
|
|
{
|
|
|
|
{
|
|
|
|
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
|
|
|
@ -3485,37 +3487,37 @@ yydefault:
|
|
|
|
}
|
|
|
|
}
|
|
|
|
case 346:
|
|
|
|
case 346:
|
|
|
|
yyDollar = yyS[yypt-1 : yypt+1]
|
|
|
|
yyDollar = yyS[yypt-1 : yypt+1]
|
|
|
|
//line go.y:2278
|
|
|
|
//line go.y:2280
|
|
|
|
{
|
|
|
|
{
|
|
|
|
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:2282
|
|
|
|
//line go.y:2284
|
|
|
|
{
|
|
|
|
{
|
|
|
|
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:2288
|
|
|
|
//line go.y:2290
|
|
|
|
{
|
|
|
|
{
|
|
|
|
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:2292
|
|
|
|
//line go.y:2294
|
|
|
|
{
|
|
|
|
{
|
|
|
|
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:2298
|
|
|
|
//line go.y:2300
|
|
|
|
{
|
|
|
|
{
|
|
|
|
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:2302
|
|
|
|
//line go.y:2304
|
|
|
|
{
|
|
|
|
{
|
|
|
|
yyVAL.list = list(yyDollar[1].list, yyDollar[3].node)
|
|
|
|
yyVAL.list = list(yyDollar[1].list, yyDollar[3].node)
|
|
|
|
}
|
|
|
|
}
|
|
|
|