|
|
|
@ -154,7 +154,7 @@ const yyEofCode = 1
|
|
|
|
|
const yyErrCode = 2
|
|
|
|
|
const yyMaxDepth = 200
|
|
|
|
|
|
|
|
|
|
//line go.y:2309
|
|
|
|
|
//line go.y:2311
|
|
|
|
|
func fixlbrace(lbr int) {
|
|
|
|
|
// If the opening brace was an LBODY,
|
|
|
|
|
// set up for another one now that we're done.
|
|
|
|
@ -2542,13 +2542,14 @@ yydefault:
|
|
|
|
|
yyVAL.node.Noescape = noescape
|
|
|
|
|
yyVAL.node.Func.Norace = norace
|
|
|
|
|
yyVAL.node.Func.Nosplit = nosplit
|
|
|
|
|
yyVAL.node.Func.Noinline = noinline
|
|
|
|
|
yyVAL.node.Func.Nowritebarrier = nowritebarrier
|
|
|
|
|
yyVAL.node.Func.Systemstack = systemstack
|
|
|
|
|
funcbody(yyVAL.node)
|
|
|
|
|
}
|
|
|
|
|
case 205:
|
|
|
|
|
yyDollar = yyS[yypt-5 : yypt+1]
|
|
|
|
|
//line go.y:1403
|
|
|
|
|
//line go.y:1404
|
|
|
|
|
{
|
|
|
|
|
var t *Node
|
|
|
|
|
|
|
|
|
@ -2581,7 +2582,7 @@ yydefault:
|
|
|
|
|
}
|
|
|
|
|
case 206:
|
|
|
|
|
yyDollar = yyS[yypt-8 : yypt+1]
|
|
|
|
|
//line go.y:1434
|
|
|
|
|
//line go.y:1435
|
|
|
|
|
{
|
|
|
|
|
var rcvr, t *Node
|
|
|
|
|
|
|
|
|
@ -2619,7 +2620,7 @@ yydefault:
|
|
|
|
|
}
|
|
|
|
|
case 207:
|
|
|
|
|
yyDollar = yyS[yypt-5 : yypt+1]
|
|
|
|
|
//line go.y:1472
|
|
|
|
|
//line go.y:1473
|
|
|
|
|
{
|
|
|
|
|
var s *Sym
|
|
|
|
|
var t *Type
|
|
|
|
@ -2646,7 +2647,7 @@ yydefault:
|
|
|
|
|
}
|
|
|
|
|
case 208:
|
|
|
|
|
yyDollar = yyS[yypt-8 : yypt+1]
|
|
|
|
|
//line go.y:1497
|
|
|
|
|
//line go.y:1498
|
|
|
|
|
{
|
|
|
|
|
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)
|
|
|
|
@ -2664,7 +2665,7 @@ yydefault:
|
|
|
|
|
}
|
|
|
|
|
case 209:
|
|
|
|
|
yyDollar = yyS[yypt-5 : yypt+1]
|
|
|
|
|
//line go.y:1515
|
|
|
|
|
//line go.y:1516
|
|
|
|
|
{
|
|
|
|
|
yyDollar[3].list = checkarglist(yyDollar[3].list, 1)
|
|
|
|
|
yyVAL.node = Nod(OTFUNC, nil, nil)
|
|
|
|
@ -2673,13 +2674,13 @@ yydefault:
|
|
|
|
|
}
|
|
|
|
|
case 210:
|
|
|
|
|
yyDollar = yyS[yypt-0 : yypt+1]
|
|
|
|
|
//line go.y:1523
|
|
|
|
|
//line go.y:1524
|
|
|
|
|
{
|
|
|
|
|
yyVAL.list = nil
|
|
|
|
|
}
|
|
|
|
|
case 211:
|
|
|
|
|
yyDollar = yyS[yypt-3 : yypt+1]
|
|
|
|
|
//line go.y:1527
|
|
|
|
|
//line go.y:1528
|
|
|
|
|
{
|
|
|
|
|
yyVAL.list = yyDollar[2].list
|
|
|
|
|
if yyVAL.list == nil {
|
|
|
|
@ -2688,58 +2689,59 @@ yydefault:
|
|
|
|
|
}
|
|
|
|
|
case 212:
|
|
|
|
|
yyDollar = yyS[yypt-0 : yypt+1]
|
|
|
|
|
//line go.y:1536
|
|
|
|
|
//line go.y:1537
|
|
|
|
|
{
|
|
|
|
|
yyVAL.list = nil
|
|
|
|
|
}
|
|
|
|
|
case 213:
|
|
|
|
|
yyDollar = yyS[yypt-1 : yypt+1]
|
|
|
|
|
//line go.y:1540
|
|
|
|
|
//line go.y:1541
|
|
|
|
|
{
|
|
|
|
|
yyVAL.list = list1(Nod(ODCLFIELD, nil, yyDollar[1].node))
|
|
|
|
|
}
|
|
|
|
|
case 214:
|
|
|
|
|
yyDollar = yyS[yypt-3 : yypt+1]
|
|
|
|
|
//line go.y:1544
|
|
|
|
|
//line go.y:1545
|
|
|
|
|
{
|
|
|
|
|
yyDollar[2].list = checkarglist(yyDollar[2].list, 0)
|
|
|
|
|
yyVAL.list = yyDollar[2].list
|
|
|
|
|
}
|
|
|
|
|
case 215:
|
|
|
|
|
yyDollar = yyS[yypt-1 : yypt+1]
|
|
|
|
|
//line go.y:1551
|
|
|
|
|
//line go.y:1552
|
|
|
|
|
{
|
|
|
|
|
closurehdr(yyDollar[1].node)
|
|
|
|
|
}
|
|
|
|
|
case 216:
|
|
|
|
|
yyDollar = yyS[yypt-4 : yypt+1]
|
|
|
|
|
//line go.y:1557
|
|
|
|
|
//line go.y:1558
|
|
|
|
|
{
|
|
|
|
|
yyVAL.node = closurebody(yyDollar[3].list)
|
|
|
|
|
fixlbrace(yyDollar[2].i)
|
|
|
|
|
}
|
|
|
|
|
case 217:
|
|
|
|
|
yyDollar = yyS[yypt-2 : yypt+1]
|
|
|
|
|
//line go.y:1562
|
|
|
|
|
//line go.y:1563
|
|
|
|
|
{
|
|
|
|
|
yyVAL.node = closurebody(nil)
|
|
|
|
|
}
|
|
|
|
|
case 218:
|
|
|
|
|
yyDollar = yyS[yypt-0 : yypt+1]
|
|
|
|
|
//line go.y:1573
|
|
|
|
|
//line go.y:1574
|
|
|
|
|
{
|
|
|
|
|
yyVAL.list = nil
|
|
|
|
|
}
|
|
|
|
|
case 219:
|
|
|
|
|
yyDollar = yyS[yypt-3 : yypt+1]
|
|
|
|
|
//line go.y:1577
|
|
|
|
|
//line go.y:1578
|
|
|
|
|
{
|
|
|
|
|
yyVAL.list = concat(yyDollar[1].list, yyDollar[2].list)
|
|
|
|
|
if nsyntaxerrors == 0 {
|
|
|
|
|
testdclstack()
|
|
|
|
|
}
|
|
|
|
|
nointerface = false
|
|
|
|
|
noescape = false
|
|
|
|
|
noinline = false
|
|
|
|
|
nointerface = false
|
|
|
|
|
norace = false
|
|
|
|
|
nosplit = false
|
|
|
|
|
nowritebarrier = false
|
|
|
|
@ -2747,49 +2749,49 @@ yydefault:
|
|
|
|
|
}
|
|
|
|
|
case 221:
|
|
|
|
|
yyDollar = yyS[yypt-3 : yypt+1]
|
|
|
|
|
//line go.y:1593
|
|
|
|
|
//line go.y:1595
|
|
|
|
|
{
|
|
|
|
|
yyVAL.list = concat(yyDollar[1].list, yyDollar[3].list)
|
|
|
|
|
}
|
|
|
|
|
case 223:
|
|
|
|
|
yyDollar = yyS[yypt-3 : yypt+1]
|
|
|
|
|
//line go.y:1600
|
|
|
|
|
//line go.y:1602
|
|
|
|
|
{
|
|
|
|
|
yyVAL.list = concat(yyDollar[1].list, yyDollar[3].list)
|
|
|
|
|
}
|
|
|
|
|
case 224:
|
|
|
|
|
yyDollar = yyS[yypt-1 : yypt+1]
|
|
|
|
|
//line go.y:1606
|
|
|
|
|
//line go.y:1608
|
|
|
|
|
{
|
|
|
|
|
yyVAL.list = list1(yyDollar[1].node)
|
|
|
|
|
}
|
|
|
|
|
case 225:
|
|
|
|
|
yyDollar = yyS[yypt-3 : yypt+1]
|
|
|
|
|
//line go.y:1610
|
|
|
|
|
//line go.y:1612
|
|
|
|
|
{
|
|
|
|
|
yyVAL.list = list(yyDollar[1].list, yyDollar[3].node)
|
|
|
|
|
}
|
|
|
|
|
case 227:
|
|
|
|
|
yyDollar = yyS[yypt-3 : yypt+1]
|
|
|
|
|
//line go.y:1617
|
|
|
|
|
//line go.y:1619
|
|
|
|
|
{
|
|
|
|
|
yyVAL.list = concat(yyDollar[1].list, yyDollar[3].list)
|
|
|
|
|
}
|
|
|
|
|
case 228:
|
|
|
|
|
yyDollar = yyS[yypt-1 : yypt+1]
|
|
|
|
|
//line go.y:1623
|
|
|
|
|
//line go.y:1625
|
|
|
|
|
{
|
|
|
|
|
yyVAL.list = list1(yyDollar[1].node)
|
|
|
|
|
}
|
|
|
|
|
case 229:
|
|
|
|
|
yyDollar = yyS[yypt-3 : yypt+1]
|
|
|
|
|
//line go.y:1627
|
|
|
|
|
//line go.y:1629
|
|
|
|
|
{
|
|
|
|
|
yyVAL.list = list(yyDollar[1].list, yyDollar[3].node)
|
|
|
|
|
}
|
|
|
|
|
case 230:
|
|
|
|
|
yyDollar = yyS[yypt-3 : yypt+1]
|
|
|
|
|
//line go.y:1633
|
|
|
|
|
//line go.y:1635
|
|
|
|
|
{
|
|
|
|
|
var l *NodeList
|
|
|
|
|
|
|
|
|
@ -2815,14 +2817,14 @@ yydefault:
|
|
|
|
|
}
|
|
|
|
|
case 231:
|
|
|
|
|
yyDollar = yyS[yypt-2 : yypt+1]
|
|
|
|
|
//line go.y:1657
|
|
|
|
|
//line go.y:1659
|
|
|
|
|
{
|
|
|
|
|
yyDollar[1].node.SetVal(yyDollar[2].val)
|
|
|
|
|
yyVAL.list = list1(yyDollar[1].node)
|
|
|
|
|
}
|
|
|
|
|
case 232:
|
|
|
|
|
yyDollar = yyS[yypt-4 : yypt+1]
|
|
|
|
|
//line go.y:1662
|
|
|
|
|
//line go.y:1664
|
|
|
|
|
{
|
|
|
|
|
yyDollar[2].node.SetVal(yyDollar[4].val)
|
|
|
|
|
yyVAL.list = list1(yyDollar[2].node)
|
|
|
|
@ -2830,7 +2832,7 @@ yydefault:
|
|
|
|
|
}
|
|
|
|
|
case 233:
|
|
|
|
|
yyDollar = yyS[yypt-3 : yypt+1]
|
|
|
|
|
//line go.y:1668
|
|
|
|
|
//line go.y:1670
|
|
|
|
|
{
|
|
|
|
|
yyDollar[2].node.Right = Nod(OIND, yyDollar[2].node.Right, nil)
|
|
|
|
|
yyDollar[2].node.SetVal(yyDollar[3].val)
|
|
|
|
@ -2838,7 +2840,7 @@ yydefault:
|
|
|
|
|
}
|
|
|
|
|
case 234:
|
|
|
|
|
yyDollar = yyS[yypt-5 : yypt+1]
|
|
|
|
|
//line go.y:1674
|
|
|
|
|
//line go.y:1676
|
|
|
|
|
{
|
|
|
|
|
yyDollar[3].node.Right = Nod(OIND, yyDollar[3].node.Right, nil)
|
|
|
|
|
yyDollar[3].node.SetVal(yyDollar[5].val)
|
|
|
|
@ -2847,7 +2849,7 @@ yydefault:
|
|
|
|
|
}
|
|
|
|
|
case 235:
|
|
|
|
|
yyDollar = yyS[yypt-5 : yypt+1]
|
|
|
|
|
//line go.y:1681
|
|
|
|
|
//line go.y:1683
|
|
|
|
|
{
|
|
|
|
|
yyDollar[3].node.Right = Nod(OIND, yyDollar[3].node.Right, nil)
|
|
|
|
|
yyDollar[3].node.SetVal(yyDollar[5].val)
|
|
|
|
@ -2856,7 +2858,7 @@ yydefault:
|
|
|
|
|
}
|
|
|
|
|
case 236:
|
|
|
|
|
yyDollar = yyS[yypt-1 : yypt+1]
|
|
|
|
|
//line go.y:1690
|
|
|
|
|
//line go.y:1692
|
|
|
|
|
{
|
|
|
|
|
var n *Node
|
|
|
|
|
|
|
|
|
@ -2868,7 +2870,7 @@ yydefault:
|
|
|
|
|
}
|
|
|
|
|
case 237:
|
|
|
|
|
yyDollar = yyS[yypt-3 : yypt+1]
|
|
|
|
|
//line go.y:1700
|
|
|
|
|
//line go.y:1702
|
|
|
|
|
{
|
|
|
|
|
var pkg *Pkg
|
|
|
|
|
|
|
|
|
@ -2883,33 +2885,33 @@ yydefault:
|
|
|
|
|
}
|
|
|
|
|
case 238:
|
|
|
|
|
yyDollar = yyS[yypt-1 : yypt+1]
|
|
|
|
|
//line go.y:1715
|
|
|
|
|
//line go.y:1717
|
|
|
|
|
{
|
|
|
|
|
yyVAL.node = embedded(yyDollar[1].sym, localpkg)
|
|
|
|
|
}
|
|
|
|
|
case 239:
|
|
|
|
|
yyDollar = yyS[yypt-2 : yypt+1]
|
|
|
|
|
//line go.y:1721
|
|
|
|
|
//line go.y:1723
|
|
|
|
|
{
|
|
|
|
|
yyVAL.node = Nod(ODCLFIELD, yyDollar[1].node, yyDollar[2].node)
|
|
|
|
|
ifacedcl(yyVAL.node)
|
|
|
|
|
}
|
|
|
|
|
case 240:
|
|
|
|
|
yyDollar = yyS[yypt-1 : yypt+1]
|
|
|
|
|
//line go.y:1726
|
|
|
|
|
//line go.y:1728
|
|
|
|
|
{
|
|
|
|
|
yyVAL.node = Nod(ODCLFIELD, nil, oldname(yyDollar[1].sym))
|
|
|
|
|
}
|
|
|
|
|
case 241:
|
|
|
|
|
yyDollar = yyS[yypt-3 : yypt+1]
|
|
|
|
|
//line go.y:1730
|
|
|
|
|
//line go.y:1732
|
|
|
|
|
{
|
|
|
|
|
yyVAL.node = Nod(ODCLFIELD, nil, oldname(yyDollar[2].sym))
|
|
|
|
|
Yyerror("cannot parenthesize embedded type")
|
|
|
|
|
}
|
|
|
|
|
case 242:
|
|
|
|
|
yyDollar = yyS[yypt-4 : yypt+1]
|
|
|
|
|
//line go.y:1737
|
|
|
|
|
//line go.y:1739
|
|
|
|
|
{
|
|
|
|
|
// without func keyword
|
|
|
|
|
yyDollar[2].list = checkarglist(yyDollar[2].list, 1)
|
|
|
|
@ -2919,7 +2921,7 @@ yydefault:
|
|
|
|
|
}
|
|
|
|
|
case 244:
|
|
|
|
|
yyDollar = yyS[yypt-2 : yypt+1]
|
|
|
|
|
//line go.y:1751
|
|
|
|
|
//line go.y:1753
|
|
|
|
|
{
|
|
|
|
|
yyVAL.node = Nod(ONONAME, nil, nil)
|
|
|
|
|
yyVAL.node.Sym = yyDollar[1].sym
|
|
|
|
@ -2927,7 +2929,7 @@ yydefault:
|
|
|
|
|
}
|
|
|
|
|
case 245:
|
|
|
|
|
yyDollar = yyS[yypt-2 : yypt+1]
|
|
|
|
|
//line go.y:1757
|
|
|
|
|
//line go.y:1759
|
|
|
|
|
{
|
|
|
|
|
yyVAL.node = Nod(ONONAME, nil, nil)
|
|
|
|
|
yyVAL.node.Sym = yyDollar[1].sym
|
|
|
|
@ -2935,56 +2937,56 @@ yydefault:
|
|
|
|
|
}
|
|
|
|
|
case 247:
|
|
|
|
|
yyDollar = yyS[yypt-1 : yypt+1]
|
|
|
|
|
//line go.y:1766
|
|
|
|
|
//line go.y:1768
|
|
|
|
|
{
|
|
|
|
|
yyVAL.list = list1(yyDollar[1].node)
|
|
|
|
|
}
|
|
|
|
|
case 248:
|
|
|
|
|
yyDollar = yyS[yypt-3 : yypt+1]
|
|
|
|
|
//line go.y:1770
|
|
|
|
|
//line go.y:1772
|
|
|
|
|
{
|
|
|
|
|
yyVAL.list = list(yyDollar[1].list, yyDollar[3].node)
|
|
|
|
|
}
|
|
|
|
|
case 249:
|
|
|
|
|
yyDollar = yyS[yypt-0 : yypt+1]
|
|
|
|
|
//line go.y:1775
|
|
|
|
|
//line go.y:1777
|
|
|
|
|
{
|
|
|
|
|
yyVAL.list = nil
|
|
|
|
|
}
|
|
|
|
|
case 250:
|
|
|
|
|
yyDollar = yyS[yypt-2 : yypt+1]
|
|
|
|
|
//line go.y:1779
|
|
|
|
|
//line go.y:1781
|
|
|
|
|
{
|
|
|
|
|
yyVAL.list = yyDollar[1].list
|
|
|
|
|
}
|
|
|
|
|
case 251:
|
|
|
|
|
yyDollar = yyS[yypt-0 : yypt+1]
|
|
|
|
|
//line go.y:1787
|
|
|
|
|
//line go.y:1789
|
|
|
|
|
{
|
|
|
|
|
yyVAL.node = nil
|
|
|
|
|
}
|
|
|
|
|
case 253:
|
|
|
|
|
yyDollar = yyS[yypt-1 : yypt+1]
|
|
|
|
|
//line go.y:1792
|
|
|
|
|
//line go.y:1794
|
|
|
|
|
{
|
|
|
|
|
yyVAL.node = liststmt(yyDollar[1].list)
|
|
|
|
|
}
|
|
|
|
|
case 255:
|
|
|
|
|
yyDollar = yyS[yypt-1 : yypt+1]
|
|
|
|
|
//line go.y:1797
|
|
|
|
|
//line go.y:1799
|
|
|
|
|
{
|
|
|
|
|
yyVAL.node = nil
|
|
|
|
|
}
|
|
|
|
|
case 261:
|
|
|
|
|
yyDollar = yyS[yypt-2 : yypt+1]
|
|
|
|
|
//line go.y:1808
|
|
|
|
|
//line go.y:1810
|
|
|
|
|
{
|
|
|
|
|
yyDollar[1].node = Nod(OLABEL, yyDollar[1].node, nil)
|
|
|
|
|
yyDollar[1].node.Sym = dclstack // context, for goto restrictions
|
|
|
|
|
}
|
|
|
|
|
case 262:
|
|
|
|
|
yyDollar = yyS[yypt-4 : yypt+1]
|
|
|
|
|
//line go.y:1813
|
|
|
|
|
//line go.y:1815
|
|
|
|
|
{
|
|
|
|
|
var l *NodeList
|
|
|
|
|
|
|
|
|
@ -2997,7 +2999,7 @@ yydefault:
|
|
|
|
|
}
|
|
|
|
|
case 263:
|
|
|
|
|
yyDollar = yyS[yypt-1 : yypt+1]
|
|
|
|
|
//line go.y:1824
|
|
|
|
|
//line go.y:1826
|
|
|
|
|
{
|
|
|
|
|
// will be converted to OFALL
|
|
|
|
|
yyVAL.node = Nod(OXFALL, nil, nil)
|
|
|
|
@ -3005,38 +3007,38 @@ yydefault:
|
|
|
|
|
}
|
|
|
|
|
case 264:
|
|
|
|
|
yyDollar = yyS[yypt-2 : yypt+1]
|
|
|
|
|
//line go.y:1830
|
|
|
|
|
//line go.y:1832
|
|
|
|
|
{
|
|
|
|
|
yyVAL.node = Nod(OBREAK, yyDollar[2].node, nil)
|
|
|
|
|
}
|
|
|
|
|
case 265:
|
|
|
|
|
yyDollar = yyS[yypt-2 : yypt+1]
|
|
|
|
|
//line go.y:1834
|
|
|
|
|
//line go.y:1836
|
|
|
|
|
{
|
|
|
|
|
yyVAL.node = Nod(OCONTINUE, yyDollar[2].node, nil)
|
|
|
|
|
}
|
|
|
|
|
case 266:
|
|
|
|
|
yyDollar = yyS[yypt-2 : yypt+1]
|
|
|
|
|
//line go.y:1838
|
|
|
|
|
//line go.y:1840
|
|
|
|
|
{
|
|
|
|
|
yyVAL.node = Nod(OPROC, yyDollar[2].node, nil)
|
|
|
|
|
}
|
|
|
|
|
case 267:
|
|
|
|
|
yyDollar = yyS[yypt-2 : yypt+1]
|
|
|
|
|
//line go.y:1842
|
|
|
|
|
//line go.y:1844
|
|
|
|
|
{
|
|
|
|
|
yyVAL.node = Nod(ODEFER, yyDollar[2].node, nil)
|
|
|
|
|
}
|
|
|
|
|
case 268:
|
|
|
|
|
yyDollar = yyS[yypt-2 : yypt+1]
|
|
|
|
|
//line go.y:1846
|
|
|
|
|
//line go.y:1848
|
|
|
|
|
{
|
|
|
|
|
yyVAL.node = Nod(OGOTO, yyDollar[2].node, nil)
|
|
|
|
|
yyVAL.node.Sym = dclstack // context, for goto restrictions
|
|
|
|
|
}
|
|
|
|
|
case 269:
|
|
|
|
|
yyDollar = yyS[yypt-2 : yypt+1]
|
|
|
|
|
//line go.y:1851
|
|
|
|
|
//line go.y:1853
|
|
|
|
|
{
|
|
|
|
|
yyVAL.node = Nod(ORETURN, nil, nil)
|
|
|
|
|
yyVAL.node.List = yyDollar[2].list
|
|
|
|
@ -3058,7 +3060,7 @@ yydefault:
|
|
|
|
|
}
|
|
|
|
|
case 270:
|
|
|
|
|
yyDollar = yyS[yypt-1 : yypt+1]
|
|
|
|
|
//line go.y:1873
|
|
|
|
|
//line go.y:1875
|
|
|
|
|
{
|
|
|
|
|
yyVAL.list = nil
|
|
|
|
|
if yyDollar[1].node != nil {
|
|
|
|
@ -3067,7 +3069,7 @@ yydefault:
|
|
|
|
|
}
|
|
|
|
|
case 271:
|
|
|
|
|
yyDollar = yyS[yypt-3 : yypt+1]
|
|
|
|
|
//line go.y:1880
|
|
|
|
|
//line go.y:1882
|
|
|
|
|
{
|
|
|
|
|
yyVAL.list = yyDollar[1].list
|
|
|
|
|
if yyDollar[3].node != nil {
|
|
|
|
@ -3076,163 +3078,163 @@ yydefault:
|
|
|
|
|
}
|
|
|
|
|
case 272:
|
|
|
|
|
yyDollar = yyS[yypt-1 : yypt+1]
|
|
|
|
|
//line go.y:1889
|
|
|
|
|
//line go.y:1891
|
|
|
|
|
{
|
|
|
|
|
yyVAL.list = list1(yyDollar[1].node)
|
|
|
|
|
}
|
|
|
|
|
case 273:
|
|
|
|
|
yyDollar = yyS[yypt-3 : yypt+1]
|
|
|
|
|
//line go.y:1893
|
|
|
|
|
//line go.y:1895
|
|
|
|
|
{
|
|
|
|
|
yyVAL.list = list(yyDollar[1].list, yyDollar[3].node)
|
|
|
|
|
}
|
|
|
|
|
case 274:
|
|
|
|
|
yyDollar = yyS[yypt-1 : yypt+1]
|
|
|
|
|
//line go.y:1899
|
|
|
|
|
//line go.y:1901
|
|
|
|
|
{
|
|
|
|
|
yyVAL.list = list1(yyDollar[1].node)
|
|
|
|
|
}
|
|
|
|
|
case 275:
|
|
|
|
|
yyDollar = yyS[yypt-3 : yypt+1]
|
|
|
|
|
//line go.y:1903
|
|
|
|
|
//line go.y:1905
|
|
|
|
|
{
|
|
|
|
|
yyVAL.list = list(yyDollar[1].list, yyDollar[3].node)
|
|
|
|
|
}
|
|
|
|
|
case 276:
|
|
|
|
|
yyDollar = yyS[yypt-1 : yypt+1]
|
|
|
|
|
//line go.y:1909
|
|
|
|
|
//line go.y:1911
|
|
|
|
|
{
|
|
|
|
|
yyVAL.list = list1(yyDollar[1].node)
|
|
|
|
|
}
|
|
|
|
|
case 277:
|
|
|
|
|
yyDollar = yyS[yypt-3 : yypt+1]
|
|
|
|
|
//line go.y:1913
|
|
|
|
|
//line go.y:1915
|
|
|
|
|
{
|
|
|
|
|
yyVAL.list = list(yyDollar[1].list, yyDollar[3].node)
|
|
|
|
|
}
|
|
|
|
|
case 278:
|
|
|
|
|
yyDollar = yyS[yypt-1 : yypt+1]
|
|
|
|
|
//line go.y:1919
|
|
|
|
|
//line go.y:1921
|
|
|
|
|
{
|
|
|
|
|
yyVAL.list = list1(yyDollar[1].node)
|
|
|
|
|
}
|
|
|
|
|
case 279:
|
|
|
|
|
yyDollar = yyS[yypt-3 : yypt+1]
|
|
|
|
|
//line go.y:1923
|
|
|
|
|
//line go.y:1925
|
|
|
|
|
{
|
|
|
|
|
yyVAL.list = list(yyDollar[1].list, yyDollar[3].node)
|
|
|
|
|
}
|
|
|
|
|
case 280:
|
|
|
|
|
yyDollar = yyS[yypt-1 : yypt+1]
|
|
|
|
|
//line go.y:1932
|
|
|
|
|
//line go.y:1934
|
|
|
|
|
{
|
|
|
|
|
yyVAL.list = list1(yyDollar[1].node)
|
|
|
|
|
}
|
|
|
|
|
case 281:
|
|
|
|
|
yyDollar = yyS[yypt-1 : yypt+1]
|
|
|
|
|
//line go.y:1936
|
|
|
|
|
//line go.y:1938
|
|
|
|
|
{
|
|
|
|
|
yyVAL.list = list1(yyDollar[1].node)
|
|
|
|
|
}
|
|
|
|
|
case 282:
|
|
|
|
|
yyDollar = yyS[yypt-3 : yypt+1]
|
|
|
|
|
//line go.y:1940
|
|
|
|
|
//line go.y:1942
|
|
|
|
|
{
|
|
|
|
|
yyVAL.list = list(yyDollar[1].list, yyDollar[3].node)
|
|
|
|
|
}
|
|
|
|
|
case 283:
|
|
|
|
|
yyDollar = yyS[yypt-3 : yypt+1]
|
|
|
|
|
//line go.y:1944
|
|
|
|
|
//line go.y:1946
|
|
|
|
|
{
|
|
|
|
|
yyVAL.list = list(yyDollar[1].list, yyDollar[3].node)
|
|
|
|
|
}
|
|
|
|
|
case 284:
|
|
|
|
|
yyDollar = yyS[yypt-0 : yypt+1]
|
|
|
|
|
//line go.y:1949
|
|
|
|
|
//line go.y:1951
|
|
|
|
|
{
|
|
|
|
|
yyVAL.list = nil
|
|
|
|
|
}
|
|
|
|
|
case 285:
|
|
|
|
|
yyDollar = yyS[yypt-2 : yypt+1]
|
|
|
|
|
//line go.y:1953
|
|
|
|
|
//line go.y:1955
|
|
|
|
|
{
|
|
|
|
|
yyVAL.list = yyDollar[1].list
|
|
|
|
|
}
|
|
|
|
|
case 290:
|
|
|
|
|
yyDollar = yyS[yypt-0 : yypt+1]
|
|
|
|
|
//line go.y:1967
|
|
|
|
|
//line go.y:1969
|
|
|
|
|
{
|
|
|
|
|
yyVAL.node = nil
|
|
|
|
|
}
|
|
|
|
|
case 292:
|
|
|
|
|
yyDollar = yyS[yypt-0 : yypt+1]
|
|
|
|
|
//line go.y:1973
|
|
|
|
|
//line go.y:1975
|
|
|
|
|
{
|
|
|
|
|
yyVAL.list = nil
|
|
|
|
|
}
|
|
|
|
|
case 294:
|
|
|
|
|
yyDollar = yyS[yypt-0 : yypt+1]
|
|
|
|
|
//line go.y:1979
|
|
|
|
|
//line go.y:1981
|
|
|
|
|
{
|
|
|
|
|
yyVAL.node = nil
|
|
|
|
|
}
|
|
|
|
|
case 296:
|
|
|
|
|
yyDollar = yyS[yypt-0 : yypt+1]
|
|
|
|
|
//line go.y:1985
|
|
|
|
|
//line go.y:1987
|
|
|
|
|
{
|
|
|
|
|
yyVAL.list = nil
|
|
|
|
|
}
|
|
|
|
|
case 298:
|
|
|
|
|
yyDollar = yyS[yypt-0 : yypt+1]
|
|
|
|
|
//line go.y:1991
|
|
|
|
|
//line go.y:1993
|
|
|
|
|
{
|
|
|
|
|
yyVAL.list = nil
|
|
|
|
|
}
|
|
|
|
|
case 300:
|
|
|
|
|
yyDollar = yyS[yypt-0 : yypt+1]
|
|
|
|
|
//line go.y:1997
|
|
|
|
|
//line go.y:1999
|
|
|
|
|
{
|
|
|
|
|
yyVAL.list = nil
|
|
|
|
|
}
|
|
|
|
|
case 302:
|
|
|
|
|
yyDollar = yyS[yypt-0 : yypt+1]
|
|
|
|
|
//line go.y:2003
|
|
|
|
|
//line go.y:2005
|
|
|
|
|
{
|
|
|
|
|
yyVAL.val.U = nil
|
|
|
|
|
}
|
|
|
|
|
case 304:
|
|
|
|
|
yyDollar = yyS[yypt-4 : yypt+1]
|
|
|
|
|
//line go.y:2013
|
|
|
|
|
//line go.y:2015
|
|
|
|
|
{
|
|
|
|
|
importimport(yyDollar[2].sym, yyDollar[3].val.U.(string))
|
|
|
|
|
}
|
|
|
|
|
case 305:
|
|
|
|
|
yyDollar = yyS[yypt-4 : yypt+1]
|
|
|
|
|
//line go.y:2017
|
|
|
|
|
//line go.y:2019
|
|
|
|
|
{
|
|
|
|
|
importvar(yyDollar[2].sym, yyDollar[3].typ)
|
|
|
|
|
}
|
|
|
|
|
case 306:
|
|
|
|
|
yyDollar = yyS[yypt-5 : yypt+1]
|
|
|
|
|
//line go.y:2021
|
|
|
|
|
//line go.y:2023
|
|
|
|
|
{
|
|
|
|
|
importconst(yyDollar[2].sym, Types[TIDEAL], yyDollar[4].node)
|
|
|
|
|
}
|
|
|
|
|
case 307:
|
|
|
|
|
yyDollar = yyS[yypt-6 : yypt+1]
|
|
|
|
|
//line go.y:2025
|
|
|
|
|
//line go.y:2027
|
|
|
|
|
{
|
|
|
|
|
importconst(yyDollar[2].sym, yyDollar[3].typ, yyDollar[5].node)
|
|
|
|
|
}
|
|
|
|
|
case 308:
|
|
|
|
|
yyDollar = yyS[yypt-4 : yypt+1]
|
|
|
|
|
//line go.y:2029
|
|
|
|
|
//line go.y:2031
|
|
|
|
|
{
|
|
|
|
|
importtype(yyDollar[2].typ, yyDollar[3].typ)
|
|
|
|
|
}
|
|
|
|
|
case 309:
|
|
|
|
|
yyDollar = yyS[yypt-4 : yypt+1]
|
|
|
|
|
//line go.y:2033
|
|
|
|
|
//line go.y:2035
|
|
|
|
|
{
|
|
|
|
|
if yyDollar[2].node == nil {
|
|
|
|
|
dclcontext = PEXTERN // since we skip the funcbody below
|
|
|
|
@ -3253,27 +3255,27 @@ yydefault:
|
|
|
|
|
}
|
|
|
|
|
case 310:
|
|
|
|
|
yyDollar = yyS[yypt-1 : yypt+1]
|
|
|
|
|
//line go.y:2054
|
|
|
|
|
//line go.y:2056
|
|
|
|
|
{
|
|
|
|
|
yyVAL.sym = yyDollar[1].sym
|
|
|
|
|
structpkg = yyVAL.sym.Pkg
|
|
|
|
|
}
|
|
|
|
|
case 311:
|
|
|
|
|
yyDollar = yyS[yypt-1 : yypt+1]
|
|
|
|
|
//line go.y:2061
|
|
|
|
|
//line go.y:2063
|
|
|
|
|
{
|
|
|
|
|
yyVAL.typ = pkgtype(yyDollar[1].sym)
|
|
|
|
|
importsym(yyDollar[1].sym, OTYPE)
|
|
|
|
|
}
|
|
|
|
|
case 317:
|
|
|
|
|
yyDollar = yyS[yypt-1 : yypt+1]
|
|
|
|
|
//line go.y:2081
|
|
|
|
|
//line go.y:2083
|
|
|
|
|
{
|
|
|
|
|
yyVAL.typ = pkgtype(yyDollar[1].sym)
|
|
|
|
|
}
|
|
|
|
|
case 318:
|
|
|
|
|
yyDollar = yyS[yypt-1 : yypt+1]
|
|
|
|
|
//line go.y:2085
|
|
|
|
|
//line go.y:2087
|
|
|
|
|
{
|
|
|
|
|
// predefined name like uint8
|
|
|
|
|
yyDollar[1].sym = Pkglookup(yyDollar[1].sym.Name, builtinpkg)
|
|
|
|
@ -3286,43 +3288,43 @@ yydefault:
|
|
|
|
|
}
|
|
|
|
|
case 319:
|
|
|
|
|
yyDollar = yyS[yypt-3 : yypt+1]
|
|
|
|
|
//line go.y:2096
|
|
|
|
|
//line go.y:2098
|
|
|
|
|
{
|
|
|
|
|
yyVAL.typ = aindex(nil, yyDollar[3].typ)
|
|
|
|
|
}
|
|
|
|
|
case 320:
|
|
|
|
|
yyDollar = yyS[yypt-4 : yypt+1]
|
|
|
|
|
//line go.y:2100
|
|
|
|
|
//line go.y:2102
|
|
|
|
|
{
|
|
|
|
|
yyVAL.typ = aindex(nodlit(yyDollar[2].val), yyDollar[4].typ)
|
|
|
|
|
}
|
|
|
|
|
case 321:
|
|
|
|
|
yyDollar = yyS[yypt-5 : yypt+1]
|
|
|
|
|
//line go.y:2104
|
|
|
|
|
//line go.y:2106
|
|
|
|
|
{
|
|
|
|
|
yyVAL.typ = maptype(yyDollar[3].typ, yyDollar[5].typ)
|
|
|
|
|
}
|
|
|
|
|
case 322:
|
|
|
|
|
yyDollar = yyS[yypt-4 : yypt+1]
|
|
|
|
|
//line go.y:2108
|
|
|
|
|
//line go.y:2110
|
|
|
|
|
{
|
|
|
|
|
yyVAL.typ = tostruct(yyDollar[3].list)
|
|
|
|
|
}
|
|
|
|
|
case 323:
|
|
|
|
|
yyDollar = yyS[yypt-4 : yypt+1]
|
|
|
|
|
//line go.y:2112
|
|
|
|
|
//line go.y:2114
|
|
|
|
|
{
|
|
|
|
|
yyVAL.typ = tointerface(yyDollar[3].list)
|
|
|
|
|
}
|
|
|
|
|
case 324:
|
|
|
|
|
yyDollar = yyS[yypt-2 : yypt+1]
|
|
|
|
|
//line go.y:2116
|
|
|
|
|
//line go.y:2118
|
|
|
|
|
{
|
|
|
|
|
yyVAL.typ = Ptrto(yyDollar[2].typ)
|
|
|
|
|
}
|
|
|
|
|
case 325:
|
|
|
|
|
yyDollar = yyS[yypt-2 : yypt+1]
|
|
|
|
|
//line go.y:2120
|
|
|
|
|
//line go.y:2122
|
|
|
|
|
{
|
|
|
|
|
yyVAL.typ = typ(TCHAN)
|
|
|
|
|
yyVAL.typ.Type = yyDollar[2].typ
|
|
|
|
@ -3330,7 +3332,7 @@ yydefault:
|
|
|
|
|
}
|
|
|
|
|
case 326:
|
|
|
|
|
yyDollar = yyS[yypt-4 : yypt+1]
|
|
|
|
|
//line go.y:2126
|
|
|
|
|
//line go.y:2128
|
|
|
|
|
{
|
|
|
|
|
yyVAL.typ = typ(TCHAN)
|
|
|
|
|
yyVAL.typ.Type = yyDollar[3].typ
|
|
|
|
@ -3338,7 +3340,7 @@ yydefault:
|
|
|
|
|
}
|
|
|
|
|
case 327:
|
|
|
|
|
yyDollar = yyS[yypt-3 : yypt+1]
|
|
|
|
|
//line go.y:2132
|
|
|
|
|
//line go.y:2134
|
|
|
|
|
{
|
|
|
|
|
yyVAL.typ = typ(TCHAN)
|
|
|
|
|
yyVAL.typ.Type = yyDollar[3].typ
|
|
|
|
@ -3346,7 +3348,7 @@ yydefault:
|
|
|
|
|
}
|
|
|
|
|
case 328:
|
|
|
|
|
yyDollar = yyS[yypt-3 : yypt+1]
|
|
|
|
|
//line go.y:2140
|
|
|
|
|
//line go.y:2142
|
|
|
|
|
{
|
|
|
|
|
yyVAL.typ = typ(TCHAN)
|
|
|
|
|
yyVAL.typ.Type = yyDollar[3].typ
|
|
|
|
@ -3354,13 +3356,13 @@ yydefault:
|
|
|
|
|
}
|
|
|
|
|
case 329:
|
|
|
|
|
yyDollar = yyS[yypt-5 : yypt+1]
|
|
|
|
|
//line go.y:2148
|
|
|
|
|
//line go.y:2150
|
|
|
|
|
{
|
|
|
|
|
yyVAL.typ = functype(nil, yyDollar[3].list, yyDollar[5].list)
|
|
|
|
|
}
|
|
|
|
|
case 330:
|
|
|
|
|
yyDollar = yyS[yypt-3 : yypt+1]
|
|
|
|
|
//line go.y:2154
|
|
|
|
|
//line go.y:2156
|
|
|
|
|
{
|
|
|
|
|
yyVAL.node = Nod(ODCLFIELD, nil, typenod(yyDollar[2].typ))
|
|
|
|
|
if yyDollar[1].sym != nil {
|
|
|
|
@ -3370,7 +3372,7 @@ yydefault:
|
|
|
|
|
}
|
|
|
|
|
case 331:
|
|
|
|
|
yyDollar = yyS[yypt-4 : yypt+1]
|
|
|
|
|
//line go.y:2162
|
|
|
|
|
//line go.y:2164
|
|
|
|
|
{
|
|
|
|
|
var t *Type
|
|
|
|
|
|
|
|
|
@ -3387,7 +3389,7 @@ yydefault:
|
|
|
|
|
}
|
|
|
|
|
case 332:
|
|
|
|
|
yyDollar = yyS[yypt-3 : yypt+1]
|
|
|
|
|
//line go.y:2179
|
|
|
|
|
//line go.y:2181
|
|
|
|
|
{
|
|
|
|
|
var s *Sym
|
|
|
|
|
var p *Pkg
|
|
|
|
@ -3411,43 +3413,43 @@ yydefault:
|
|
|
|
|
}
|
|
|
|
|
case 333:
|
|
|
|
|
yyDollar = yyS[yypt-5 : yypt+1]
|
|
|
|
|
//line go.y:2203
|
|
|
|
|
//line go.y:2205
|
|
|
|
|
{
|
|
|
|
|
yyVAL.node = Nod(ODCLFIELD, newname(yyDollar[1].sym), typenod(functype(fakethis(), yyDollar[3].list, yyDollar[5].list)))
|
|
|
|
|
}
|
|
|
|
|
case 334:
|
|
|
|
|
yyDollar = yyS[yypt-1 : yypt+1]
|
|
|
|
|
//line go.y:2207
|
|
|
|
|
//line go.y:2209
|
|
|
|
|
{
|
|
|
|
|
yyVAL.node = Nod(ODCLFIELD, nil, typenod(yyDollar[1].typ))
|
|
|
|
|
}
|
|
|
|
|
case 335:
|
|
|
|
|
yyDollar = yyS[yypt-0 : yypt+1]
|
|
|
|
|
//line go.y:2212
|
|
|
|
|
//line go.y:2214
|
|
|
|
|
{
|
|
|
|
|
yyVAL.list = nil
|
|
|
|
|
}
|
|
|
|
|
case 337:
|
|
|
|
|
yyDollar = yyS[yypt-3 : yypt+1]
|
|
|
|
|
//line go.y:2219
|
|
|
|
|
//line go.y:2221
|
|
|
|
|
{
|
|
|
|
|
yyVAL.list = yyDollar[2].list
|
|
|
|
|
}
|
|
|
|
|
case 338:
|
|
|
|
|
yyDollar = yyS[yypt-1 : yypt+1]
|
|
|
|
|
//line go.y:2223
|
|
|
|
|
//line go.y:2225
|
|
|
|
|
{
|
|
|
|
|
yyVAL.list = list1(Nod(ODCLFIELD, nil, typenod(yyDollar[1].typ)))
|
|
|
|
|
}
|
|
|
|
|
case 339:
|
|
|
|
|
yyDollar = yyS[yypt-1 : yypt+1]
|
|
|
|
|
//line go.y:2233
|
|
|
|
|
//line go.y:2235
|
|
|
|
|
{
|
|
|
|
|
yyVAL.node = nodlit(yyDollar[1].val)
|
|
|
|
|
}
|
|
|
|
|
case 340:
|
|
|
|
|
yyDollar = yyS[yypt-2 : yypt+1]
|
|
|
|
|
//line go.y:2237
|
|
|
|
|
//line go.y:2239
|
|
|
|
|
{
|
|
|
|
|
yyVAL.node = nodlit(yyDollar[2].val)
|
|
|
|
|
switch yyVAL.node.Val().Ctype() {
|
|
|
|
@ -3467,7 +3469,7 @@ yydefault:
|
|
|
|
|
}
|
|
|
|
|
case 341:
|
|
|
|
|
yyDollar = yyS[yypt-1 : yypt+1]
|
|
|
|
|
//line go.y:2255
|
|
|
|
|
//line go.y:2257
|
|
|
|
|
{
|
|
|
|
|
yyVAL.node = oldname(Pkglookup(yyDollar[1].sym.Name, builtinpkg))
|
|
|
|
|
if yyVAL.node.Op != OLITERAL {
|
|
|
|
@ -3476,7 +3478,7 @@ yydefault:
|
|
|
|
|
}
|
|
|
|
|
case 343:
|
|
|
|
|
yyDollar = yyS[yypt-5 : yypt+1]
|
|
|
|
|
//line go.y:2265
|
|
|
|
|
//line go.y:2267
|
|
|
|
|
{
|
|
|
|
|
if yyDollar[2].node.Val().Ctype() == CTRUNE && yyDollar[4].node.Val().Ctype() == CTINT {
|
|
|
|
|
yyVAL.node = yyDollar[2].node
|
|
|
|
@ -3489,37 +3491,37 @@ yydefault:
|
|
|
|
|
}
|
|
|
|
|
case 346:
|
|
|
|
|
yyDollar = yyS[yypt-1 : yypt+1]
|
|
|
|
|
//line go.y:2281
|
|
|
|
|
//line go.y:2283
|
|
|
|
|
{
|
|
|
|
|
yyVAL.list = list1(yyDollar[1].node)
|
|
|
|
|
}
|
|
|
|
|
case 347:
|
|
|
|
|
yyDollar = yyS[yypt-3 : yypt+1]
|
|
|
|
|
//line go.y:2285
|
|
|
|
|
//line go.y:2287
|
|
|
|
|
{
|
|
|
|
|
yyVAL.list = list(yyDollar[1].list, yyDollar[3].node)
|
|
|
|
|
}
|
|
|
|
|
case 348:
|
|
|
|
|
yyDollar = yyS[yypt-1 : yypt+1]
|
|
|
|
|
//line go.y:2291
|
|
|
|
|
//line go.y:2293
|
|
|
|
|
{
|
|
|
|
|
yyVAL.list = list1(yyDollar[1].node)
|
|
|
|
|
}
|
|
|
|
|
case 349:
|
|
|
|
|
yyDollar = yyS[yypt-3 : yypt+1]
|
|
|
|
|
//line go.y:2295
|
|
|
|
|
//line go.y:2297
|
|
|
|
|
{
|
|
|
|
|
yyVAL.list = list(yyDollar[1].list, yyDollar[3].node)
|
|
|
|
|
}
|
|
|
|
|
case 350:
|
|
|
|
|
yyDollar = yyS[yypt-1 : yypt+1]
|
|
|
|
|
//line go.y:2301
|
|
|
|
|
//line go.y:2303
|
|
|
|
|
{
|
|
|
|
|
yyVAL.list = list1(yyDollar[1].node)
|
|
|
|
|
}
|
|
|
|
|
case 351:
|
|
|
|
|
yyDollar = yyS[yypt-3 : yypt+1]
|
|
|
|
|
//line go.y:2305
|
|
|
|
|
//line go.y:2307
|
|
|
|
|
{
|
|
|
|
|
yyVAL.list = list(yyDollar[1].list, yyDollar[3].node)
|
|
|
|
|
}
|
|
|
|
|