[refactoring] update ast structure of "InstanceOf" and "Isset" nodes
This commit is contained in:
parent
9b122de8bf
commit
b5ef30eb36
189
internal/php5/php5.go
generated
189
internal/php5/php5.go
generated
@ -343,7 +343,7 @@ const yyEofCode = 1
|
||||
const yyErrCode = 2
|
||||
const yyInitialStackSize = 16
|
||||
|
||||
// line internal/php5/php5.y:6524
|
||||
// line internal/php5/php5.y:6527
|
||||
|
||||
type simpleIndirectReference struct {
|
||||
all []*ast.ExprVariable
|
||||
@ -700,10 +700,10 @@ var yyAct = [...]int{
|
||||
836, 566, 1006, 39, 572, 1012, 531, 1005, 725, 1013,
|
||||
341, 698, 531, 531, 993, 572, 1016, 518, 716, 538,
|
||||
422, 39, 658, 664, 665, 672, 673, 674, 675, 678,
|
||||
679, 460, 318, 259, 446, 231, 31, 231, 256, 654,
|
||||
531, 314, 296, 656, 655, 39, 260, 261, 449, 127,
|
||||
403, 39, 575, 657, 659, 660, 676, 677, 666, 903,
|
||||
147, 151, 155, 401, 335, 945, 165, 685, 478, 995,
|
||||
679, 318, 314, 259, 446, 231, 31, 231, 256, 654,
|
||||
531, 127, 296, 656, 655, 39, 260, 261, 449, 403,
|
||||
575, 39, 903, 657, 659, 660, 676, 677, 666, 401,
|
||||
147, 151, 155, 460, 335, 945, 165, 685, 478, 995,
|
||||
1009, 929, 483, 343, 198, 290, 394, 389, 939, 206,
|
||||
896, 164, 157, 161, 528, 231, 608, 997, 531, 970,
|
||||
223, 969, 968, 967, 235, 236, 237, 238, 260, 261,
|
||||
@ -1614,8 +1614,8 @@ var yyPgo = [...]int{
|
||||
48, 5, 1093, 1092, 1091, 1089, 1087, 6, 1086, 1017,
|
||||
1084, 1083, 1082, 18, 1042, 1081, 1080, 1078, 1077, 1076,
|
||||
1075, 41, 1073, 1072, 4, 1071, 1070, 1069, 17, 1067,
|
||||
12, 1065, 1064, 7, 21, 1063, 25, 1059, 1052, 1050,
|
||||
14, 39, 0, 1049, 1041, 1032, 391, 619, 1031, 1019,
|
||||
12, 1065, 1064, 1063, 7, 21, 1059, 25, 1052, 1050,
|
||||
1049, 14, 39, 0, 1041, 1032, 1031, 391, 619, 1019,
|
||||
1011, 1010, 30, 52, 1008, 1007, 1002, 3, 1001, 15,
|
||||
1000, 999, 996, 993, 992, 984, 983, 972, 23, 969,
|
||||
19, 9, 968, 37, 965, 964, 963, 962, 182, 13,
|
||||
@ -1623,24 +1623,24 @@ var yyPgo = [...]int{
|
||||
}
|
||||
|
||||
var yyR1 = [...]int{
|
||||
0, 151, 111, 111, 112, 112, 5, 5, 5, 5,
|
||||
5, 5, 5, 5, 5, 5, 5, 5, 113, 113,
|
||||
6, 6, 6, 6, 114, 114, 7, 7, 7, 7,
|
||||
115, 115, 8, 8, 8, 8, 55, 55, 116, 116,
|
||||
0, 151, 112, 112, 113, 113, 5, 5, 5, 5,
|
||||
5, 5, 5, 5, 5, 5, 5, 5, 114, 114,
|
||||
6, 6, 6, 6, 115, 115, 7, 7, 7, 7,
|
||||
116, 116, 8, 8, 8, 8, 55, 55, 117, 117,
|
||||
26, 26, 26, 26, 26, 27, 27, 28, 28, 28,
|
||||
28, 28, 28, 28, 28, 28, 28, 28, 28, 28,
|
||||
28, 28, 28, 28, 28, 28, 28, 28, 28, 28,
|
||||
28, 28, 28, 28, 28, 124, 124, 60, 60, 125,
|
||||
125, 126, 126, 61, 88, 88, 58, 53, 54, 149,
|
||||
149, 150, 150, 62, 63, 63, 66, 66, 66, 66,
|
||||
105, 105, 2, 109, 109, 108, 108, 106, 106, 104,
|
||||
104, 103, 103, 103, 101, 101, 100, 100, 59, 59,
|
||||
106, 106, 2, 110, 110, 109, 109, 107, 107, 105,
|
||||
105, 104, 104, 104, 101, 101, 100, 100, 59, 59,
|
||||
89, 89, 92, 92, 92, 92, 123, 123, 123, 4,
|
||||
4, 102, 102, 119, 119, 120, 120, 56, 56, 57,
|
||||
57, 127, 127, 128, 128, 65, 65, 64, 64, 64,
|
||||
64, 84, 84, 84, 93, 93, 70, 70, 70, 70,
|
||||
82, 82, 29, 29, 29, 81, 81, 81, 81, 129,
|
||||
129, 67, 67, 67, 67, 69, 107, 107, 87, 87,
|
||||
129, 67, 67, 67, 67, 69, 108, 108, 87, 87,
|
||||
132, 132, 133, 133, 71, 71, 72, 97, 97, 75,
|
||||
75, 74, 73, 73, 76, 76, 96, 96, 130, 130,
|
||||
131, 131, 134, 134, 77, 77, 77, 77, 77, 77,
|
||||
@ -1654,7 +1654,7 @@ var yyR1 = [...]int{
|
||||
17, 17, 17, 17, 17, 17, 17, 17, 17, 17,
|
||||
17, 17, 17, 17, 17, 17, 17, 17, 17, 17,
|
||||
17, 17, 17, 17, 17, 17, 52, 52, 52, 52,
|
||||
49, 49, 49, 49, 48, 48, 1, 110, 110, 95,
|
||||
49, 49, 49, 49, 48, 48, 1, 111, 111, 95,
|
||||
95, 95, 95, 25, 25, 25, 25, 25, 25, 25,
|
||||
25, 13, 13, 13, 13, 47, 47, 47, 45, 45,
|
||||
43, 43, 146, 146, 145, 51, 51, 51, 135, 135,
|
||||
@ -1672,9 +1672,9 @@ var yyR1 = [...]int{
|
||||
12, 12, 12, 11, 11, 15, 15, 143, 143, 144,
|
||||
144, 144, 41, 41, 148, 148, 94, 94, 40, 40,
|
||||
40, 91, 91, 90, 90, 90, 90, 90, 90, 90,
|
||||
90, 117, 117, 117, 117, 35, 35, 35, 35, 35,
|
||||
90, 118, 118, 118, 118, 35, 35, 35, 35, 35,
|
||||
35, 35, 36, 36, 36, 39, 39, 39, 39, 39,
|
||||
39, 39, 39, 118, 118, 38, 38, 32, 32, 33,
|
||||
39, 39, 39, 103, 103, 38, 38, 32, 32, 33,
|
||||
34,
|
||||
}
|
||||
|
||||
@ -1735,7 +1735,7 @@ var yyR2 = [...]int{
|
||||
}
|
||||
|
||||
var yyChk = [...]int{
|
||||
-1000, -151, -111, -5, 2, -27, -53, -54, 52, 80,
|
||||
-1000, -151, -112, -5, 2, -27, -53, -54, 52, 80,
|
||||
45, -55, -28, 10, -62, -63, 39, 144, 7, 21,
|
||||
20, 23, 30, 34, 35, 40, -52, 47, 99, 19,
|
||||
14, -16, 49, 25, 27, 146, 41, 44, 36, -1,
|
||||
@ -1745,10 +1745,10 @@ var yyChk = [...]int{
|
||||
113, 114, 6, 158, -31, -49, -48, 143, 97, -22,
|
||||
92, 50, 51, 4, 5, 85, 86, 87, 11, -37,
|
||||
-34, -9, 142, 75, 63, 18, 61, 150, -23, -24,
|
||||
-25, -32, -112, 83, -13, 8, 9, 67, 68, 82,
|
||||
-25, -32, -113, 83, -13, 8, 9, 67, 68, 82,
|
||||
64, 65, 66, 81, -12, -148, -46, -14, -42, -11,
|
||||
159, 12, 148, -112, 144, 83, 10, -113, 37, 39,
|
||||
-6, -112, 83, 146, 160, 147, 10, -116, -50, 148,
|
||||
159, 12, 148, -113, 144, 83, 10, -114, 37, 39,
|
||||
-6, -113, 83, 146, 160, 147, 10, -117, -50, 148,
|
||||
-50, -27, -1, 80, 148, -50, 146, -16, 98, 99,
|
||||
146, -16, 146, -17, -21, -16, 146, -82, -29, 12,
|
||||
159, -81, -1, 12, -85, -16, 146, 131, 132, 88,
|
||||
@ -1757,87 +1757,87 @@ var yyChk = [...]int{
|
||||
168, 141, 91, 152, 148, 148, 148, 144, -16, 10,
|
||||
-149, 153, 10, 10, -17, -21, -16, 53, 53, 162,
|
||||
118, 119, 120, 121, 122, 123, 124, 125, 126, 127,
|
||||
128, 129, 148, -16, 105, 106, -20, -21, -112, 80,
|
||||
128, 129, 148, -16, 105, 106, -20, -21, -113, 80,
|
||||
83, -13, -14, 99, -20, -16, -16, -16, -16, -44,
|
||||
-16, -52, -16, -16, -16, -16, -16, -16, -16, -51,
|
||||
148, -50, -16, 150, 150, -135, 17, -117, -35, 12,
|
||||
77, 78, -16, 58, -45, -13, -43, -112, 80, 83,
|
||||
148, -50, -16, 150, 150, -135, 17, -118, -35, 12,
|
||||
77, 78, -16, 58, -45, -13, -43, -113, 80, 83,
|
||||
-23, -12, -148, -14, 148, 148, -16, -16, 148, -16,
|
||||
-16, 150, -117, 17, 17, 76, -117, 150, 148, -91,
|
||||
-90, -16, 153, 150, 150, 83, -84, 148, -112, 79,
|
||||
-16, 150, -118, 17, 17, 76, -118, 150, 148, -91,
|
||||
-90, -16, 153, 150, 150, 83, -84, 148, -113, 79,
|
||||
150, 144, -12, 159, 79, -84, 144, 149, 146, 144,
|
||||
-111, -112, 146, 160, -114, -7, -112, 83, -115, -8,
|
||||
-112, 83, 29, -112, 10, 162, -26, 145, 2, -27,
|
||||
-112, -113, 146, 160, -115, -7, -113, 83, -116, -8,
|
||||
-113, 83, 29, -113, 10, 162, -26, 145, 2, -27,
|
||||
-53, -54, 52, -27, 147, -102, -27, 147, 21, -149,
|
||||
-122, -121, -16, -92, 144, 147, 146, 146, 146, 146,
|
||||
146, 160, -18, 144, -21, 146, 160, -149, 162, 146,
|
||||
160, -16, -16, -16, -16, -16, -16, -16, -16, -16,
|
||||
-16, -16, -16, -16, -16, -16, -16, -16, -16, -16,
|
||||
-16, -16, -16, -16, -16, -16, -45, -16, 147, -88,
|
||||
-58, -21, -21, -17, -89, 10, -116, 146, 146, 10,
|
||||
148, -105, 56, -109, 56, 59, -16, 153, -16, -16,
|
||||
-58, -21, -21, -17, -89, 10, -117, 146, 146, 10,
|
||||
148, -106, 56, -110, 56, 59, -16, 153, -16, -16,
|
||||
-16, -16, -16, -16, -16, -16, -16, -16, -16, -16,
|
||||
-94, -40, -21, 60, 83, -112, 79, 79, 149, 149,
|
||||
-94, -40, -21, 60, 83, -113, 79, 79, 149, 149,
|
||||
149, 149, -15, -16, -15, 143, -35, -35, 17, 150,
|
||||
58, -16, 11, -21, -143, -144, -42, -41, -12, -148,
|
||||
10, 144, -83, -84, 79, 83, -112, 58, -12, 79,
|
||||
-118, -38, -21, -17, -21, -16, -16, -15, 142, 76,
|
||||
10, 144, -83, -84, 79, 83, -113, 58, -12, 79,
|
||||
-103, -38, -21, -17, -21, -16, -16, -15, 142, 76,
|
||||
76, -15, -91, 151, -3, 160, 59, -19, -21, -15,
|
||||
-15, 10, 149, -93, -52, -70, -17, -21, 153, 84,
|
||||
-84, -41, -42, 10, 53, -15, -16, -41, -42, 10,
|
||||
-16, 146, -111, 145, -84, -6, 146, 160, 29, -112,
|
||||
146, 160, 29, -112, 10, 29, 162, -30, -79, -9,
|
||||
-33, -112, 80, 83, 61, 150, -10, 63, -80, 18,
|
||||
75, -13, 156, 157, 155, 154, 148, 148, -119, -116,
|
||||
-116, -50, 146, 160, -123, 146, -123, 146, -29, -16,
|
||||
-16, 146, -112, 145, -84, -6, 146, 160, 29, -113,
|
||||
146, 160, 29, -113, 10, 29, 162, -30, -79, -9,
|
||||
-33, -113, 80, 83, 61, 150, -10, 63, -80, 18,
|
||||
75, -13, 156, 157, 155, 154, 148, 148, -119, -117,
|
||||
-117, -50, 146, 160, -123, 146, -123, 146, -29, -16,
|
||||
12, 148, -30, -16, 147, -16, 149, 160, 29, 29,
|
||||
149, 160, 162, 145, 148, -127, -128, -65, -64, 61,
|
||||
62, -47, -112, 80, 83, -108, 57, -47, 144, -106,
|
||||
-47, -17, -21, -21, 92, 149, 160, 148, -112, -139,
|
||||
62, -47, -113, 80, 83, -109, 57, -47, 144, -107,
|
||||
-47, -17, -21, -21, 92, 149, 160, 148, -113, -139,
|
||||
-137, -136, -138, 150, -140, 58, 151, 151, -36, 10,
|
||||
13, 12, 10, 145, 145, 150, 145, -141, -78, -142,
|
||||
-84, 150, 144, -12, -16, -42, -112, -143, -42, 149,
|
||||
-84, 150, 144, -12, -16, -42, -113, -143, -42, 149,
|
||||
160, 149, 149, 149, 151, 151, 149, -16, 153, -16,
|
||||
153, 151, 151, 149, 160, 149, -19, -16, -84, -84,
|
||||
151, 145, -84, -84, 145, 145, -7, 10, 29, -8,
|
||||
10, 29, 10, -30, 150, 155, 154, 164, 133, 165,
|
||||
166, 161, 153, 163, 134, 135, 169, 89, 90, 88,
|
||||
132, 131, 136, 137, 138, 139, 167, 168, 140, 141,
|
||||
152, 83, -112, 148, -98, -99, -79, 17, 79, -79,
|
||||
152, 83, -113, 148, -98, -99, -79, 17, 79, -79,
|
||||
-79, -79, -79, -79, 149, -56, 94, 95, -120, 22,
|
||||
146, -122, -16, 145, 32, 33, -123, 31, -123, 145,
|
||||
162, -127, -16, 146, -58, -103, -21, 153, 60, -103,
|
||||
162, -127, -16, 146, -58, -104, -21, 153, 60, -104,
|
||||
-59, -27, 147, 10, -30, -124, 42, -127, 149, 160,
|
||||
-149, 83, -112, 144, -106, -129, 160, -45, 162, -40,
|
||||
-149, 83, -113, 144, -107, -129, 160, -45, 162, -40,
|
||||
-94, 150, -138, -140, -15, -143, 151, -16, -147, 150,
|
||||
150, -15, -16, 145, -146, -38, 59, -19, -19, -70,
|
||||
10, 10, -79, -79, -79, -79, -79, -79, -79, -79,
|
||||
-79, -79, -79, -79, -79, -79, -79, -79, -79, -79,
|
||||
-79, -79, -79, -79, -79, -79, -79, -79, 147, -79,
|
||||
-112, -98, 151, -3, 160, 59, 10, 53, 149, 146,
|
||||
-113, -98, 151, -3, 160, 59, 10, 53, 149, 146,
|
||||
-50, -27, -57, 94, 95, 146, 146, -16, -4, 147,
|
||||
146, 145, 146, 31, -30, 149, -104, 59, -21, 148,
|
||||
-104, -116, 162, -60, 43, 148, 149, -110, 45, -65,
|
||||
-150, 84, -112, -129, 145, -67, -130, -68, -69, -131,
|
||||
146, 145, 146, 31, -30, 149, -105, 59, -21, 148,
|
||||
-105, -117, 162, -60, 43, 148, 149, -111, 45, -65,
|
||||
-150, 84, -113, -129, 145, -67, -130, -68, -69, -131,
|
||||
-134, 48, 39, 45, -77, 104, 103, 102, 99, 100,
|
||||
101, -47, -83, -16, 149, -15, 151, -141, 151, -140,
|
||||
-15, -15, 151, 145, -145, 58, -16, 153, 151, -79,
|
||||
147, 149, -79, -79, -27, 96, -50, 147, -122, -4,
|
||||
-116, 146, -110, 149, -103, -94, 149, 28, -30, 144,
|
||||
-117, 146, -111, 149, -104, -94, 149, 28, -30, 144,
|
||||
-47, 144, 144, 148, 12, 145, -86, 12, 146, 160,
|
||||
-1, -77, 10, -107, -47, 151, 145, 151, 151, -143,
|
||||
-19, -79, 59, 146, 147, -116, 149, -116, 144, -100,
|
||||
-27, 147, 149, -100, 146, -116, 12, -116, -116, -95,
|
||||
-1, -77, 10, -108, -47, 151, 145, 151, 151, -143,
|
||||
-19, -79, 59, 146, 147, -117, 149, -117, 144, -100,
|
||||
-27, 147, 149, -100, 146, -117, 12, -117, -117, -95,
|
||||
12, 153, 162, 146, 160, 162, 10, -149, 162, -87,
|
||||
160, 146, 144, -79, -116, -101, -27, 147, -116, -116,
|
||||
160, 146, 144, -79, -117, -101, -27, 147, -117, -117,
|
||||
145, 149, 145, 145, 149, 160, 12, -16, 12, -30,
|
||||
162, 10, -30, -47, -132, -133, -71, -72, -73, -74,
|
||||
-75, -47, 10, -116, 145, 26, 144, 12, 153, 162,
|
||||
-75, -47, 10, -117, 145, 26, 144, 12, 153, 162,
|
||||
-30, 148, 145, -71, 146, 146, 46, 29, 79, 24,
|
||||
146, -116, 12, -30, -127, -97, -47, -76, -77, 10,
|
||||
146, -117, 12, -30, -127, -97, -47, -76, -77, 10,
|
||||
146, 145, 149, 160, 10, -125, -126, -61, 42, -96,
|
||||
146, 144, -47, -61, 148, -116, -47, 145, 12, 149,
|
||||
144, -116, 145,
|
||||
146, 144, -47, -61, 148, -117, -47, 145, 12, 149,
|
||||
144, -117, 145,
|
||||
}
|
||||
|
||||
var yyDef = [...]int{
|
||||
@ -6051,14 +6051,14 @@ yydefault:
|
||||
yyDollar = yyS[yypt-3 : yypt+1]
|
||||
// line internal/php5/php5.y:3719
|
||||
{
|
||||
yyVAL.node = &ast.ExprInstanceOf{ast.Node{}, yyDollar[1].node, yyDollar[3].node}
|
||||
|
||||
// save position
|
||||
yyVAL.node.GetNode().Position = position.NewNodesPosition(yyDollar[1].node, yyDollar[3].node)
|
||||
|
||||
// save comments
|
||||
yylex.(*Parser).MoveFreeFloating(yyDollar[1].node, yyVAL.node)
|
||||
yylex.(*Parser).setFreeFloating(yyVAL.node, token.Expr, yyDollar[2].token.SkippedTokens)
|
||||
yyVAL.node = &ast.ExprInstanceOf{
|
||||
Node: ast.Node{
|
||||
Position: position.NewNodesPosition(yyDollar[1].node, yyDollar[3].node),
|
||||
},
|
||||
Expr: yyDollar[1].node,
|
||||
InstanceOfTkn: yyDollar[2].token,
|
||||
Class: yyDollar[3].node,
|
||||
}
|
||||
}
|
||||
case 283:
|
||||
yyDollar = yyS[yypt-1 : yypt+1]
|
||||
@ -8927,19 +8927,20 @@ yydefault:
|
||||
yyDollar = yyS[yypt-4 : yypt+1]
|
||||
// line internal/php5/php5.y:6333
|
||||
{
|
||||
yyVAL.node = &ast.ExprIsset{ast.Node{}, yyDollar[3].list}
|
||||
|
||||
// save position
|
||||
yyVAL.node.GetNode().Position = position.NewTokensPosition(yyDollar[1].token, yyDollar[4].token)
|
||||
|
||||
// save comments
|
||||
yylex.(*Parser).setFreeFloating(yyVAL.node, token.Start, yyDollar[1].token.SkippedTokens)
|
||||
yylex.(*Parser).setFreeFloating(yyVAL.node, token.Isset, yyDollar[2].token.SkippedTokens)
|
||||
yylex.(*Parser).setFreeFloating(yyVAL.node, token.VarList, yyDollar[4].token.SkippedTokens)
|
||||
yyVAL.node = &ast.ExprIsset{
|
||||
Node: ast.Node{
|
||||
Position: position.NewTokensPosition(yyDollar[1].token, yyDollar[4].token),
|
||||
},
|
||||
IssetTkn: yyDollar[1].token,
|
||||
OpenParenthesisTkn: yyDollar[2].token,
|
||||
Vars: yyDollar[3].node.(*ast.ParserSeparatedList).Items,
|
||||
SeparatorTkns: yyDollar[3].node.(*ast.ParserSeparatedList).SeparatorTkns,
|
||||
CloseParenthesisTkn: yyDollar[4].token,
|
||||
}
|
||||
}
|
||||
case 506:
|
||||
yyDollar = yyS[yypt-4 : yypt+1]
|
||||
// line internal/php5/php5.y:6345
|
||||
// line internal/php5/php5.y:6346
|
||||
{
|
||||
yyVAL.node = &ast.ExprEmpty{
|
||||
Node: ast.Node{
|
||||
@ -8953,7 +8954,7 @@ yydefault:
|
||||
}
|
||||
case 507:
|
||||
yyDollar = yyS[yypt-4 : yypt+1]
|
||||
// line internal/php5/php5.y:6357
|
||||
// line internal/php5/php5.y:6358
|
||||
{
|
||||
yyVAL.node = &ast.ExprEmpty{
|
||||
Node: ast.Node{
|
||||
@ -8967,7 +8968,7 @@ yydefault:
|
||||
}
|
||||
case 508:
|
||||
yyDollar = yyS[yypt-2 : yypt+1]
|
||||
// line internal/php5/php5.y:6369
|
||||
// line internal/php5/php5.y:6370
|
||||
{
|
||||
yyVAL.node = &ast.ExprInclude{
|
||||
Node: ast.Node{
|
||||
@ -8979,7 +8980,7 @@ yydefault:
|
||||
}
|
||||
case 509:
|
||||
yyDollar = yyS[yypt-2 : yypt+1]
|
||||
// line internal/php5/php5.y:6379
|
||||
// line internal/php5/php5.y:6380
|
||||
{
|
||||
yyVAL.node = &ast.ExprIncludeOnce{
|
||||
Node: ast.Node{
|
||||
@ -8991,7 +8992,7 @@ yydefault:
|
||||
}
|
||||
case 510:
|
||||
yyDollar = yyS[yypt-4 : yypt+1]
|
||||
// line internal/php5/php5.y:6389
|
||||
// line internal/php5/php5.y:6390
|
||||
{
|
||||
yyVAL.node = &ast.ExprEval{
|
||||
Node: ast.Node{
|
||||
@ -9005,7 +9006,7 @@ yydefault:
|
||||
}
|
||||
case 511:
|
||||
yyDollar = yyS[yypt-2 : yypt+1]
|
||||
// line internal/php5/php5.y:6401
|
||||
// line internal/php5/php5.y:6402
|
||||
{
|
||||
yyVAL.node = &ast.ExprRequire{ast.Node{}, yyDollar[2].node}
|
||||
|
||||
@ -9017,7 +9018,7 @@ yydefault:
|
||||
}
|
||||
case 512:
|
||||
yyDollar = yyS[yypt-2 : yypt+1]
|
||||
// line internal/php5/php5.y:6411
|
||||
// line internal/php5/php5.y:6412
|
||||
{
|
||||
yyVAL.node = &ast.ExprRequireOnce{ast.Node{}, yyDollar[2].node}
|
||||
|
||||
@ -9029,34 +9030,36 @@ yydefault:
|
||||
}
|
||||
case 513:
|
||||
yyDollar = yyS[yypt-1 : yypt+1]
|
||||
// line internal/php5/php5.y:6424
|
||||
// line internal/php5/php5.y:6425
|
||||
{
|
||||
yyVAL.list = []ast.Vertex{yyDollar[1].node}
|
||||
yyVAL.node = &ast.ParserSeparatedList{
|
||||
Items: []ast.Vertex{yyDollar[1].node},
|
||||
}
|
||||
}
|
||||
case 514:
|
||||
yyDollar = yyS[yypt-3 : yypt+1]
|
||||
// line internal/php5/php5.y:6428
|
||||
// line internal/php5/php5.y:6431
|
||||
{
|
||||
yyVAL.list = append(yyDollar[1].list, yyDollar[3].node)
|
||||
yyDollar[1].node.(*ast.ParserSeparatedList).SeparatorTkns = append(yyDollar[1].node.(*ast.ParserSeparatedList).SeparatorTkns, yyDollar[2].token)
|
||||
yyDollar[1].node.(*ast.ParserSeparatedList).Items = append(yyDollar[1].node.(*ast.ParserSeparatedList).Items, yyDollar[3].node)
|
||||
|
||||
// save comments
|
||||
yylex.(*Parser).setFreeFloating(lastNode(yyDollar[1].list), token.End, yyDollar[2].token.SkippedTokens)
|
||||
yyVAL.node = yyDollar[1].node
|
||||
}
|
||||
case 515:
|
||||
yyDollar = yyS[yypt-1 : yypt+1]
|
||||
// line internal/php5/php5.y:6438
|
||||
// line internal/php5/php5.y:6441
|
||||
{
|
||||
yyVAL.node = yyDollar[1].node
|
||||
}
|
||||
case 516:
|
||||
yyDollar = yyS[yypt-1 : yypt+1]
|
||||
// line internal/php5/php5.y:6442
|
||||
// line internal/php5/php5.y:6445
|
||||
{
|
||||
yyVAL.node = yyDollar[1].node
|
||||
}
|
||||
case 517:
|
||||
yyDollar = yyS[yypt-3 : yypt+1]
|
||||
// line internal/php5/php5.y:6449
|
||||
// line internal/php5/php5.y:6452
|
||||
{
|
||||
yyVAL.node = &ast.ExprClassConstFetch{
|
||||
Node: ast.Node{
|
||||
@ -9075,7 +9078,7 @@ yydefault:
|
||||
}
|
||||
case 518:
|
||||
yyDollar = yyS[yypt-3 : yypt+1]
|
||||
// line internal/php5/php5.y:6466
|
||||
// line internal/php5/php5.y:6469
|
||||
{
|
||||
yyVAL.node = &ast.ExprClassConstFetch{
|
||||
Node: ast.Node{
|
||||
@ -9094,7 +9097,7 @@ yydefault:
|
||||
}
|
||||
case 519:
|
||||
yyDollar = yyS[yypt-3 : yypt+1]
|
||||
// line internal/php5/php5.y:6486
|
||||
// line internal/php5/php5.y:6489
|
||||
{
|
||||
yyVAL.node = &ast.ExprClassConstFetch{
|
||||
Node: ast.Node{
|
||||
@ -9113,7 +9116,7 @@ yydefault:
|
||||
}
|
||||
case 520:
|
||||
yyDollar = yyS[yypt-3 : yypt+1]
|
||||
// line internal/php5/php5.y:6506
|
||||
// line internal/php5/php5.y:6509
|
||||
{
|
||||
yyVAL.node = &ast.ExprClassConstFetch{
|
||||
Node: ast.Node{
|
||||
|
@ -240,7 +240,7 @@ import (
|
||||
%type <node> trait_adaptations unset_variables declare_list non_empty_array_pair_list array_pair_list
|
||||
%type <node> switch_case_list non_empty_function_call_parameter_list assignment_list lexical_var_list
|
||||
%type <node> method_body trait_reference_list static_array_pair_list non_empty_static_array_pair_list
|
||||
%type <node> foreach_statement for_statement while_statement
|
||||
%type <node> foreach_statement for_statement while_statement isset_variables
|
||||
%type <node> foreach_variable foreach_optional_arg
|
||||
%type <node> extends_from interface_list trait_list
|
||||
%type <node> implements_list
|
||||
@ -248,7 +248,7 @@ import (
|
||||
%type <ClosureUse> lexical_vars
|
||||
|
||||
%type <list> top_statement_list namespace_name use_declarations use_function_declarations use_const_declarations
|
||||
%type <list> inner_statement_list encaps_list isset_variables
|
||||
%type <list> inner_statement_list encaps_list
|
||||
%type <list> elseif_list new_elseif_list non_empty_for_expr
|
||||
%type <list> for_expr case_list catch_statement additional_catches
|
||||
%type <list> non_empty_additional_catches parameter_list non_empty_parameter_list class_statement_list
|
||||
@ -3717,14 +3717,14 @@ expr_without_variable:
|
||||
}
|
||||
| expr T_INSTANCEOF class_name_reference
|
||||
{
|
||||
$$ = &ast.ExprInstanceOf{ast.Node{}, $1, $3}
|
||||
|
||||
// save position
|
||||
$$.GetNode().Position = position.NewNodesPosition($1, $3)
|
||||
|
||||
// save comments
|
||||
yylex.(*Parser).MoveFreeFloating($1, $$)
|
||||
yylex.(*Parser).setFreeFloating($$, token.Expr, $2.SkippedTokens)
|
||||
$$ = &ast.ExprInstanceOf{
|
||||
Node: ast.Node{
|
||||
Position: position.NewNodesPosition($1, $3),
|
||||
},
|
||||
Expr: $1,
|
||||
InstanceOfTkn: $2,
|
||||
Class: $3,
|
||||
}
|
||||
}
|
||||
| parenthesis_expr
|
||||
{
|
||||
@ -6331,15 +6331,16 @@ encaps_var_offset:
|
||||
internal_functions_in_yacc:
|
||||
T_ISSET '(' isset_variables ')'
|
||||
{
|
||||
$$ = &ast.ExprIsset{ast.Node{}, $3}
|
||||
|
||||
// save position
|
||||
$$.GetNode().Position = position.NewTokensPosition($1, $4)
|
||||
|
||||
// save comments
|
||||
yylex.(*Parser).setFreeFloating($$, token.Start, $1.SkippedTokens)
|
||||
yylex.(*Parser).setFreeFloating($$, token.Isset, $2.SkippedTokens)
|
||||
yylex.(*Parser).setFreeFloating($$, token.VarList, $4.SkippedTokens)
|
||||
$$ = &ast.ExprIsset{
|
||||
Node: ast.Node{
|
||||
Position: position.NewTokensPosition($1, $4),
|
||||
},
|
||||
IssetTkn: $1,
|
||||
OpenParenthesisTkn: $2,
|
||||
Vars: $3.(*ast.ParserSeparatedList).Items,
|
||||
SeparatorTkns: $3.(*ast.ParserSeparatedList).SeparatorTkns,
|
||||
CloseParenthesisTkn: $4,
|
||||
}
|
||||
}
|
||||
| T_EMPTY '(' variable ')'
|
||||
{
|
||||
@ -6422,14 +6423,16 @@ internal_functions_in_yacc:
|
||||
isset_variables:
|
||||
isset_variable
|
||||
{
|
||||
$$ = []ast.Vertex{$1}
|
||||
$$ = &ast.ParserSeparatedList{
|
||||
Items: []ast.Vertex{$1},
|
||||
}
|
||||
}
|
||||
| isset_variables ',' isset_variable
|
||||
{
|
||||
$$ = append($1, $3)
|
||||
$1.(*ast.ParserSeparatedList).SeparatorTkns = append($1.(*ast.ParserSeparatedList).SeparatorTkns, $2)
|
||||
$1.(*ast.ParserSeparatedList).Items = append($1.(*ast.ParserSeparatedList).Items, $3)
|
||||
|
||||
// save comments
|
||||
yylex.(*Parser).setFreeFloating(lastNode($1), token.End, $2.SkippedTokens)
|
||||
$$ = $1
|
||||
}
|
||||
;
|
||||
|
||||
|
221
internal/php7/php7.go
generated
221
internal/php7/php7.go
generated
@ -343,7 +343,7 @@ const yyEofCode = 1
|
||||
const yyErrCode = 2
|
||||
const yyInitialStackSize = 16
|
||||
|
||||
// line internal/php7/php7.y:4992
|
||||
// line internal/php7/php7.y:4995
|
||||
|
||||
// line yacctab:1
|
||||
var yyExca = [...]int{
|
||||
@ -624,10 +624,10 @@ var yyAct = [...]int{
|
||||
554, 381, 379, 814, 810, 197, 832, 693, 833, 834,
|
||||
196, 195, 815, 189, 1, 831, 825, 780, 781, 38,
|
||||
746, 283, 260, 261, 260, 261, 836, 743, 844, 783,
|
||||
780, 781, 856, 111, 744, 632, 528, 848, 879, 328,
|
||||
841, 533, 260, 261, 855, 676, 255, 796, 385, 371,
|
||||
656, 859, 136, 852, 934, 114, 662, 845, 227, 877,
|
||||
890, 891, 886, 43, 42, 865, 892, 893, 16, 885,
|
||||
780, 781, 856, 111, 744, 632, 879, 848, 328, 841,
|
||||
676, 533, 260, 261, 855, 255, 796, 385, 371, 656,
|
||||
852, 859, 136, 934, 662, 114, 845, 227, 43, 877,
|
||||
890, 891, 886, 42, 528, 865, 892, 893, 16, 885,
|
||||
838, 237, 539, 853, 15, 897, 898, 730, 830, 872,
|
||||
151, 606, 786, 896, 903, 271, 49, 905, 48, 217,
|
||||
218, 902, 110, 50, 886, 908, 84, 82, 904, 72,
|
||||
@ -1426,11 +1426,11 @@ var yyPgo = [...]int{
|
||||
915, 914, 913, 9, 50, 911, 908, 100, 88, 242,
|
||||
907, 905, 34, 890, 889, 8, 887, 80, 41, 886,
|
||||
56, 49, 883, 882, 878, 876, 875, 86, 871, 870,
|
||||
868, 10, 864, 87, 862, 860, 858, 855, 854, 12,
|
||||
853, 848, 46, 39, 40, 2, 16, 667, 43, 85,
|
||||
847, 846, 844, 13, 843, 840, 555, 839, 45, 71,
|
||||
838, 837, 6, 721, 20, 540, 836, 18, 835, 830,
|
||||
36, 829, 25, 33, 37, 828, 530, 826, 99, 1,
|
||||
868, 10, 864, 87, 862, 860, 858, 855, 854, 853,
|
||||
12, 848, 847, 46, 39, 40, 2, 16, 667, 43,
|
||||
85, 846, 844, 843, 13, 840, 839, 555, 838, 45,
|
||||
71, 837, 836, 6, 721, 20, 540, 835, 18, 830,
|
||||
829, 36, 828, 25, 33, 37, 826, 530, 99, 1,
|
||||
3, 825, 17, 824, 817, 810, 809, 804, 28,
|
||||
}
|
||||
|
||||
@ -1443,28 +1443,28 @@ var yyR1 = [...]int{
|
||||
4, 4, 4, 4, 4, 4, 4, 4, 4, 4,
|
||||
4, 4, 4, 4, 4, 4, 4, 4, 4, 4,
|
||||
5, 5, 5, 5, 5, 5, 5, 6, 6, 118,
|
||||
118, 107, 107, 10, 10, 10, 9, 9, 9, 9,
|
||||
118, 108, 108, 10, 10, 10, 9, 9, 9, 9,
|
||||
9, 9, 9, 9, 9, 9, 9, 9, 9, 9,
|
||||
9, 103, 103, 16, 16, 18, 18, 7, 7, 113,
|
||||
113, 112, 112, 116, 116, 17, 17, 20, 20, 19,
|
||||
9, 104, 104, 16, 16, 18, 18, 7, 7, 114,
|
||||
114, 113, 113, 117, 117, 17, 17, 20, 20, 19,
|
||||
19, 73, 73, 119, 119, 22, 22, 22, 22, 22,
|
||||
22, 22, 11, 11, 11, 11, 11, 11, 11, 11,
|
||||
11, 11, 11, 11, 11, 11, 11, 11, 11, 11,
|
||||
11, 11, 11, 11, 11, 11, 108, 108, 70, 70,
|
||||
26, 26, 97, 97, 27, 12, 1, 1, 2, 2,
|
||||
13, 13, 126, 126, 87, 87, 14, 15, 98, 98,
|
||||
100, 100, 99, 99, 104, 104, 104, 104, 94, 94,
|
||||
93, 93, 25, 25, 91, 91, 91, 91, 114, 114,
|
||||
114, 8, 8, 95, 95, 78, 78, 72, 72, 80,
|
||||
80, 76, 76, 120, 120, 121, 121, 29, 29, 30,
|
||||
30, 86, 86, 84, 84, 84, 85, 85, 88, 88,
|
||||
11, 11, 11, 11, 11, 11, 109, 109, 70, 70,
|
||||
26, 26, 98, 98, 27, 12, 1, 1, 2, 2,
|
||||
13, 13, 126, 126, 88, 88, 14, 15, 99, 99,
|
||||
101, 101, 100, 100, 105, 105, 105, 105, 95, 95,
|
||||
94, 94, 25, 25, 92, 92, 92, 92, 115, 115,
|
||||
115, 8, 8, 96, 96, 79, 79, 72, 72, 81,
|
||||
81, 76, 76, 120, 120, 121, 121, 29, 29, 30,
|
||||
30, 87, 87, 85, 85, 85, 86, 86, 89, 89,
|
||||
74, 74, 31, 31, 33, 33, 34, 35, 35, 36,
|
||||
36, 122, 122, 37, 37, 37, 37, 71, 71, 90,
|
||||
90, 90, 115, 115, 38, 38, 39, 40, 40, 40,
|
||||
40, 42, 42, 41, 92, 92, 124, 124, 123, 123,
|
||||
125, 125, 102, 102, 102, 102, 102, 102, 75, 75,
|
||||
43, 43, 109, 109, 79, 21, 69, 69, 44, 110,
|
||||
110, 111, 111, 46, 45, 45, 32, 32, 32, 32,
|
||||
36, 122, 122, 37, 37, 37, 37, 71, 71, 91,
|
||||
91, 91, 116, 116, 38, 38, 39, 40, 40, 40,
|
||||
40, 42, 42, 41, 93, 93, 124, 124, 123, 123,
|
||||
125, 125, 103, 103, 103, 103, 103, 103, 75, 75,
|
||||
43, 43, 110, 110, 80, 21, 69, 69, 44, 111,
|
||||
111, 112, 112, 46, 45, 45, 32, 32, 32, 32,
|
||||
32, 32, 32, 32, 32, 32, 32, 32, 32, 32,
|
||||
32, 32, 32, 32, 32, 32, 32, 32, 32, 32,
|
||||
32, 32, 32, 32, 32, 32, 32, 32, 32, 32,
|
||||
@ -1472,19 +1472,19 @@ var yyR1 = [...]int{
|
||||
32, 32, 32, 32, 32, 32, 32, 32, 32, 32,
|
||||
32, 32, 32, 32, 32, 32, 32, 32, 32, 32,
|
||||
32, 32, 32, 32, 32, 32, 32, 32, 32, 32,
|
||||
32, 32, 32, 96, 96, 128, 3, 3, 101, 101,
|
||||
32, 32, 32, 97, 97, 128, 3, 3, 102, 102,
|
||||
77, 77, 55, 55, 56, 56, 56, 56, 47, 47,
|
||||
48, 48, 53, 53, 106, 106, 106, 89, 89, 60,
|
||||
48, 48, 53, 53, 107, 107, 107, 90, 90, 60,
|
||||
60, 60, 54, 54, 54, 54, 54, 54, 54, 54,
|
||||
54, 54, 54, 54, 54, 54, 54, 54, 61, 61,
|
||||
61, 23, 23, 24, 24, 59, 62, 62, 62, 63,
|
||||
63, 63, 64, 64, 64, 64, 64, 64, 28, 28,
|
||||
28, 49, 49, 49, 65, 65, 66, 66, 66, 66,
|
||||
66, 66, 57, 57, 57, 58, 58, 58, 52, 82,
|
||||
82, 51, 51, 81, 81, 81, 81, 81, 81, 81,
|
||||
105, 105, 105, 105, 67, 67, 67, 67, 67, 67,
|
||||
66, 66, 57, 57, 57, 58, 58, 58, 52, 83,
|
||||
83, 51, 51, 82, 82, 82, 82, 82, 82, 82,
|
||||
106, 106, 106, 106, 67, 67, 67, 67, 67, 67,
|
||||
67, 68, 68, 68, 68, 50, 50, 50, 50, 50,
|
||||
50, 50, 117, 117, 83,
|
||||
50, 50, 78, 78, 84,
|
||||
}
|
||||
|
||||
var yyR2 = [...]int{
|
||||
@ -1545,41 +1545,41 @@ var yyChk = [...]int{
|
||||
52, 80, 45, 39, 144, -72, -76, 21, 20, 23,
|
||||
30, 34, 35, 40, 47, 99, 19, 14, -23, 49,
|
||||
25, 27, 146, 41, 44, 36, 10, 37, -126, 53,
|
||||
54, 55, -78, -80, -28, -32, -87, 7, -64, -65,
|
||||
54, 55, -79, -81, -28, -32, -88, 7, -64, -65,
|
||||
-62, 60, 150, 93, 105, 106, 155, 154, 156, 157,
|
||||
148, -45, -50, 108, 109, 110, 111, 112, 113, 114,
|
||||
6, 158, -54, 143, 97, 98, 107, -96, 100, 101,
|
||||
6, 158, -54, 143, 97, 98, 107, -97, 100, 101,
|
||||
-49, -61, -56, -47, -59, -60, 92, 50, 51, 4,
|
||||
5, 85, 86, 87, 8, 9, 67, 68, 82, 64,
|
||||
65, 66, 81, 63, 75, 142, 38, 12, 159, -10,
|
||||
-63, 61, 18, -107, 83, 148, 83, -107, 144, 10,
|
||||
-18, -103, -116, -107, 83, 37, 39, -19, -20, -73,
|
||||
-63, 61, 18, -108, 83, 148, 83, -108, 144, 10,
|
||||
-18, -104, -117, -108, 83, 37, 39, -19, -20, -73,
|
||||
-21, 10, -119, 148, -11, 37, 80, 148, 148, -24,
|
||||
-23, 99, -24, -24, -33, -34, -49, -35, -96, -36,
|
||||
-23, 99, -24, -24, -33, -34, -49, -35, -97, -36,
|
||||
12, -69, -44, -23, 146, 131, 132, 88, 90, 89,
|
||||
161, 153, 163, 169, 155, 154, 164, 133, 165, 166,
|
||||
134, 135, 136, 137, 138, 139, 167, 140, 168, 141,
|
||||
116, 91, 152, 115, 148, 148, 148, 144, -23, 10,
|
||||
147, -3, 153, 53, -87, 10, 10, 10, 94, 95,
|
||||
147, -3, 153, 53, -88, 10, 10, 10, 94, 95,
|
||||
94, 96, 95, 162, 118, 119, 120, 121, 122, 123,
|
||||
124, 125, 126, 127, 128, 129, 130, 105, 106, 148,
|
||||
150, 144, 58, 148, -52, -51, -82, -81, -23, 153,
|
||||
150, 144, 58, 148, -52, -51, -83, -82, -23, 153,
|
||||
84, 60, -23, -28, -61, 148, -60, 99, 150, -28,
|
||||
-23, -23, -23, -23, -23, -23, -23, -23, -23, -23,
|
||||
-23, -23, -53, 148, -23, -106, 17, -105, -67, 12,
|
||||
-23, -23, -53, 148, -23, -107, 17, -106, -67, 12,
|
||||
77, 78, -23, -23, -23, 150, 79, 79, -48, -46,
|
||||
-47, -66, 53, -10, -49, 148, 148, -23, -23, 148,
|
||||
-23, -23, 17, 76, -105, -105, 17, -3, 144, -49,
|
||||
-88, 148, -88, 148, 83, -107, 149, -107, 146, 144,
|
||||
-118, 146, -16, -116, -107, 83, 146, 160, 83, 29,
|
||||
-107, -20, 146, 160, 162, -22, 145, 2, -11, -12,
|
||||
-13, -14, -15, 52, -23, 21, -3, -110, -111, -23,
|
||||
-23, -23, 17, 76, -106, -106, 17, -3, 144, -49,
|
||||
-89, 148, -89, 148, 83, -108, 149, -108, 146, 144,
|
||||
-118, 146, -16, -117, -108, 83, 146, 160, 83, 29,
|
||||
-108, -20, 146, 160, 162, -22, 145, 2, -11, -12,
|
||||
-13, -14, -15, 52, -23, 21, -3, -111, -112, -23,
|
||||
-23, 146, 146, 146, 146, 160, 146, 160, 162, 146,
|
||||
160, -23, -23, -23, -23, -23, -23, -23, -23, -23,
|
||||
-23, -23, -23, -23, -23, -23, -23, -23, -23, -23,
|
||||
-23, -23, -23, -23, -23, -23, -23, -48, -23, 147,
|
||||
-23, -97, -27, -28, -23, -73, -119, 146, 146, 10,
|
||||
-128, 10, -98, 56, -128, -100, 56, 148, -11, 148,
|
||||
-23, -98, -27, -28, -23, -73, -119, 146, 146, 10,
|
||||
-128, 10, -99, 56, -128, -101, 56, 148, -11, 148,
|
||||
146, 147, -23, 153, -23, -23, -23, -23, -23, -23,
|
||||
-23, -23, -23, -23, -23, -23, -23, -23, -24, -23,
|
||||
-58, 10, 144, -49, -52, 151, 160, 59, -28, -23,
|
||||
@ -1593,48 +1593,48 @@ var yyChk = [...]int{
|
||||
39, 40, 97, 98, 60, 30, 31, 32, 33, 34,
|
||||
61, 62, 56, 57, 80, 54, 55, 53, 63, 64,
|
||||
66, 65, 67, 68, 82, 81, 38, -57, -6, -49,
|
||||
-89, -88, 79, 150, 144, 58, 79, -89, -117, -83,
|
||||
-90, -89, 79, 150, 144, 58, 79, -90, -78, -84,
|
||||
-23, -23, -23, 76, 76, 142, 148, -23, 149, -74,
|
||||
-31, -23, 84, -52, 10, 146, -118, 145, 146, 146,
|
||||
83, -107, -19, 83, -107, 144, 10, 83, -21, -23,
|
||||
83, -108, -19, 83, -108, 144, 10, 83, -21, -23,
|
||||
148, 149, 148, 146, 160, 149, -34, -36, -23, -44,
|
||||
147, -23, -7, 160, 29, 149, 145, -128, 148, -98,
|
||||
-99, 57, -10, 144, -128, -71, -10, -23, -23, -119,
|
||||
-23, 149, 151, 145, -88, -23, 149, 162, -82, -23,
|
||||
147, -23, -7, 160, 29, 149, 145, -128, 148, -99,
|
||||
-100, 57, -10, 144, -128, -71, -10, -23, -23, -119,
|
||||
-23, 149, 151, 145, -89, -23, 149, 162, -83, -23,
|
||||
153, 60, -52, 149, 151, 149, -68, 10, 13, 154,
|
||||
12, 10, 145, 145, 150, 145, -23, 151, -88, -23,
|
||||
-88, -49, -24, -23, -58, -49, -98, -7, 160, 149,
|
||||
149, -120, -121, -29, -30, -86, -84, 152, 61, 62,
|
||||
-10, 145, -7, 160, -23, 149, 145, 144, 83, -113,
|
||||
-17, -20, -103, 144, -128, 149, -95, -11, 147, -23,
|
||||
-110, -23, -91, 144, 147, -23, 149, -27, -104, -28,
|
||||
153, 60, 150, -25, -11, 147, -108, 148, -120, -99,
|
||||
12, 10, 145, 145, 150, 145, -23, 151, -89, -23,
|
||||
-89, -49, -24, -23, -58, -49, -99, -7, 160, 149,
|
||||
149, -120, -121, -29, -30, -87, -85, 152, 61, 62,
|
||||
-10, 145, -7, 160, -23, 149, 145, 144, 83, -114,
|
||||
-17, -20, -104, 144, -128, 149, -96, -11, 147, -23,
|
||||
-111, -23, -92, 144, 147, -23, 149, -27, -105, -28,
|
||||
153, 60, 150, -25, -11, 147, -109, 148, -120, -100,
|
||||
-128, -71, -122, 144, 160, 149, 149, 96, -11, 147,
|
||||
145, 162, -23, -28, 148, 149, 151, 13, -23, 145,
|
||||
151, 145, -99, 149, -83, 149, 160, -1, 153, -84,
|
||||
149, -31, -112, -20, 144, -7, 160, -20, -113, 146,
|
||||
-119, 149, 146, -114, 146, -114, 146, 146, 149, 59,
|
||||
151, 145, -100, 149, -84, 149, 160, -1, 153, -85,
|
||||
149, -31, -113, -20, 144, -7, 160, -20, -114, 146,
|
||||
-119, 149, 146, -115, 146, -115, 146, 146, 149, 59,
|
||||
-28, 148, -52, -119, -26, 42, 43, -120, 149, -128,
|
||||
144, 145, -37, -124, -123, 45, -125, 48, -102, 104,
|
||||
144, 145, -37, -124, -123, 45, -125, 48, -103, 104,
|
||||
103, 102, 99, 100, 101, -122, -10, -11, 147, 146,
|
||||
-119, -23, -52, 151, -128, -85, 147, -29, -2, 84,
|
||||
-7, 160, -112, 145, -17, -7, 22, 146, -110, 145,
|
||||
32, 33, -114, 31, -114, -93, -11, 147, -104, -28,
|
||||
-52, 151, 28, 148, 144, 149, -101, 45, 144, -122,
|
||||
-30, 39, 37, -71, -102, 145, -119, 149, 145, 144,
|
||||
-128, -86, 12, 145, -20, -7, 145, 146, 149, -23,
|
||||
-119, -23, -52, 151, -128, -86, 147, -29, -2, 84,
|
||||
-7, 160, -113, 145, -17, -7, 22, 146, -111, 145,
|
||||
32, 33, -115, 31, -115, -94, -11, 147, -105, -28,
|
||||
-52, 151, 28, 148, 144, 149, -102, 45, 144, -122,
|
||||
-30, 39, 37, -71, -103, 145, -119, 149, 145, 144,
|
||||
-128, -87, 12, 145, -20, -7, 145, 146, 149, -23,
|
||||
-8, 147, 146, 145, 146, 31, -119, 149, 149, 146,
|
||||
-70, -10, -119, -85, -85, 148, -122, 145, -75, -43,
|
||||
12, -109, -79, -6, -3, -90, 146, 144, -122, 59,
|
||||
162, 145, -94, -11, 147, -8, -119, 146, 26, -93,
|
||||
-70, -10, -119, -86, -86, 148, -122, 145, -75, -43,
|
||||
12, -110, -80, -6, -3, -91, 146, 144, -122, 59,
|
||||
162, 145, -95, -11, 147, -8, -119, 146, 26, -94,
|
||||
12, 161, 145, 144, 144, -77, -55, 12, 153, 145,
|
||||
146, 160, -128, 162, 146, 160, 162, -6, 145, -115,
|
||||
146, 160, -128, 162, 146, 160, 162, -6, 145, -116,
|
||||
-38, -39, -40, -41, -42, -10, -6, 80, 10, 145,
|
||||
-23, -23, -119, -119, 146, 149, -10, -119, -119, 149,
|
||||
160, 12, -43, -23, -79, -23, -128, 145, -38, 146,
|
||||
160, 12, -43, -23, -80, -23, -128, 145, -38, 146,
|
||||
146, 46, 29, 79, 24, 144, 145, 145, -55, -128,
|
||||
-128, 148, -71, 10, -4, -102, -6, 146, -119, -120,
|
||||
-6, 145, 149, -85, -92, 146, 144, -119, 145,
|
||||
-128, 148, -71, 10, -4, -103, -6, 146, -119, -120,
|
||||
-6, 145, 149, -86, -93, 146, 144, -119, 145,
|
||||
}
|
||||
|
||||
var yyDef = [...]int{
|
||||
@ -5925,14 +5925,14 @@ yydefault:
|
||||
yyDollar = yyS[yypt-3 : yypt+1]
|
||||
// line internal/php7/php7.y:3388
|
||||
{
|
||||
yyVAL.node = &ast.ExprInstanceOf{ast.Node{}, yyDollar[1].node, yyDollar[3].node}
|
||||
|
||||
// save position
|
||||
yyVAL.node.GetNode().Position = position.NewNodesPosition(yyDollar[1].node, yyDollar[3].node)
|
||||
|
||||
// save comments
|
||||
yylex.(*Parser).MoveFreeFloating(yyDollar[1].node, yyVAL.node)
|
||||
yylex.(*Parser).setFreeFloating(yyVAL.node, token.Expr, yyDollar[2].token.SkippedTokens)
|
||||
yyVAL.node = &ast.ExprInstanceOf{
|
||||
Node: ast.Node{
|
||||
Position: position.NewNodesPosition(yyDollar[1].node, yyDollar[3].node),
|
||||
},
|
||||
Expr: yyDollar[1].node,
|
||||
InstanceOfTkn: yyDollar[2].token,
|
||||
Class: yyDollar[3].node,
|
||||
}
|
||||
}
|
||||
case 349:
|
||||
yyDollar = yyS[yypt-3 : yypt+1]
|
||||
@ -7591,23 +7591,24 @@ yydefault:
|
||||
yyDollar = yyS[yypt-5 : yypt+1]
|
||||
// line internal/php7/php7.y:4888
|
||||
{
|
||||
yyVAL.node = &ast.ExprIsset{ast.Node{}, yyDollar[3].list}
|
||||
if yyDollar[4].token != nil {
|
||||
yyDollar[3].node.(*ast.ParserSeparatedList).SeparatorTkns = append(yyDollar[3].node.(*ast.ParserSeparatedList).SeparatorTkns, yyDollar[4].token)
|
||||
}
|
||||
|
||||
// save position
|
||||
yyVAL.node.GetNode().Position = position.NewTokensPosition(yyDollar[1].token, yyDollar[5].token)
|
||||
|
||||
// save comments
|
||||
yylex.(*Parser).setFreeFloating(yyVAL.node, token.Start, yyDollar[1].token.SkippedTokens)
|
||||
yylex.(*Parser).setFreeFloating(yyVAL.node, token.Isset, yyDollar[2].token.SkippedTokens)
|
||||
if yyDollar[4].token == nil {
|
||||
yylex.(*Parser).setFreeFloating(yyVAL.node, token.VarList, yyDollar[5].token.SkippedTokens)
|
||||
} else {
|
||||
yylex.(*Parser).setFreeFloating(yyVAL.node, token.VarList, append(yyDollar[4].token.SkippedTokens, yyDollar[5].token.SkippedTokens...))
|
||||
yyVAL.node = &ast.ExprIsset{
|
||||
Node: ast.Node{
|
||||
Position: position.NewTokensPosition(yyDollar[1].token, yyDollar[5].token),
|
||||
},
|
||||
IssetTkn: yyDollar[1].token,
|
||||
OpenParenthesisTkn: yyDollar[2].token,
|
||||
Vars: yyDollar[3].node.(*ast.ParserSeparatedList).Items,
|
||||
SeparatorTkns: yyDollar[3].node.(*ast.ParserSeparatedList).SeparatorTkns,
|
||||
CloseParenthesisTkn: yyDollar[5].token,
|
||||
}
|
||||
}
|
||||
case 486:
|
||||
yyDollar = yyS[yypt-4 : yypt+1]
|
||||
// line internal/php7/php7.y:4904
|
||||
// line internal/php7/php7.y:4905
|
||||
{
|
||||
yyVAL.node = &ast.ExprEmpty{
|
||||
Node: ast.Node{
|
||||
@ -7621,7 +7622,7 @@ yydefault:
|
||||
}
|
||||
case 487:
|
||||
yyDollar = yyS[yypt-2 : yypt+1]
|
||||
// line internal/php7/php7.y:4916
|
||||
// line internal/php7/php7.y:4917
|
||||
{
|
||||
yyVAL.node = &ast.ExprInclude{
|
||||
Node: ast.Node{
|
||||
@ -7633,7 +7634,7 @@ yydefault:
|
||||
}
|
||||
case 488:
|
||||
yyDollar = yyS[yypt-2 : yypt+1]
|
||||
// line internal/php7/php7.y:4926
|
||||
// line internal/php7/php7.y:4927
|
||||
{
|
||||
yyVAL.node = &ast.ExprIncludeOnce{
|
||||
Node: ast.Node{
|
||||
@ -7645,7 +7646,7 @@ yydefault:
|
||||
}
|
||||
case 489:
|
||||
yyDollar = yyS[yypt-4 : yypt+1]
|
||||
// line internal/php7/php7.y:4936
|
||||
// line internal/php7/php7.y:4937
|
||||
{
|
||||
yyVAL.node = &ast.ExprEval{
|
||||
Node: ast.Node{
|
||||
@ -7659,7 +7660,7 @@ yydefault:
|
||||
}
|
||||
case 490:
|
||||
yyDollar = yyS[yypt-2 : yypt+1]
|
||||
// line internal/php7/php7.y:4948
|
||||
// line internal/php7/php7.y:4949
|
||||
{
|
||||
yyVAL.node = &ast.ExprRequire{ast.Node{}, yyDollar[2].node}
|
||||
|
||||
@ -7671,7 +7672,7 @@ yydefault:
|
||||
}
|
||||
case 491:
|
||||
yyDollar = yyS[yypt-2 : yypt+1]
|
||||
// line internal/php7/php7.y:4958
|
||||
// line internal/php7/php7.y:4959
|
||||
{
|
||||
yyVAL.node = &ast.ExprRequireOnce{ast.Node{}, yyDollar[2].node}
|
||||
|
||||
@ -7683,22 +7684,24 @@ yydefault:
|
||||
}
|
||||
case 492:
|
||||
yyDollar = yyS[yypt-1 : yypt+1]
|
||||
// line internal/php7/php7.y:4971
|
||||
// line internal/php7/php7.y:4972
|
||||
{
|
||||
yyVAL.list = []ast.Vertex{yyDollar[1].node}
|
||||
yyVAL.node = &ast.ParserSeparatedList{
|
||||
Items: []ast.Vertex{yyDollar[1].node},
|
||||
}
|
||||
}
|
||||
case 493:
|
||||
yyDollar = yyS[yypt-3 : yypt+1]
|
||||
// line internal/php7/php7.y:4975
|
||||
// line internal/php7/php7.y:4978
|
||||
{
|
||||
yyVAL.list = append(yyDollar[1].list, yyDollar[3].node)
|
||||
yyDollar[1].node.(*ast.ParserSeparatedList).SeparatorTkns = append(yyDollar[1].node.(*ast.ParserSeparatedList).SeparatorTkns, yyDollar[2].token)
|
||||
yyDollar[1].node.(*ast.ParserSeparatedList).Items = append(yyDollar[1].node.(*ast.ParserSeparatedList).Items, yyDollar[3].node)
|
||||
|
||||
// save comments
|
||||
yylex.(*Parser).setFreeFloating(lastNode(yyDollar[1].list), token.End, yyDollar[2].token.SkippedTokens)
|
||||
yyVAL.node = yyDollar[1].node
|
||||
}
|
||||
case 494:
|
||||
yyDollar = yyS[yypt-1 : yypt+1]
|
||||
// line internal/php7/php7.y:4985
|
||||
// line internal/php7/php7.y:4988
|
||||
{
|
||||
yyVAL.node = yyDollar[1].node
|
||||
}
|
||||
|
@ -247,7 +247,7 @@ import (
|
||||
%type <node> callable_expr callable_variable static_member new_variable
|
||||
%type <node> encaps_var encaps_var_offset echo_expr_list catch_name_list name_list
|
||||
%type <node> if_stmt const_list non_empty_argument_list property_list
|
||||
%type <node> alt_if_stmt lexical_var_list
|
||||
%type <node> alt_if_stmt lexical_var_list isset_variables
|
||||
%type <node> if_stmt_without_else
|
||||
%type <node> class_const_decl
|
||||
%type <node> alt_if_stmt_without_else
|
||||
@ -275,7 +275,7 @@ import (
|
||||
%type <list> for_exprs non_empty_for_exprs
|
||||
%type <list> unprefixed_use_declarations inline_use_declarations
|
||||
%type <list> case_list trait_adaptation_list
|
||||
%type <list> use_declarations isset_variables
|
||||
%type <list> use_declarations
|
||||
%type <list> top_statement_list
|
||||
%type <list> inner_statement_list parameter_list non_empty_parameter_list class_statement_list
|
||||
%type <list> method_modifiers variable_modifiers
|
||||
@ -3386,14 +3386,14 @@ expr_without_variable:
|
||||
}
|
||||
| expr T_INSTANCEOF class_name_reference
|
||||
{
|
||||
$$ = &ast.ExprInstanceOf{ast.Node{}, $1, $3}
|
||||
|
||||
// save position
|
||||
$$.GetNode().Position = position.NewNodesPosition($1, $3)
|
||||
|
||||
// save comments
|
||||
yylex.(*Parser).MoveFreeFloating($1, $$)
|
||||
yylex.(*Parser).setFreeFloating($$, token.Expr, $2.SkippedTokens)
|
||||
$$ = &ast.ExprInstanceOf{
|
||||
Node: ast.Node{
|
||||
Position: position.NewNodesPosition($1, $3),
|
||||
},
|
||||
Expr: $1,
|
||||
InstanceOfTkn: $2,
|
||||
Class: $3,
|
||||
}
|
||||
}
|
||||
| '(' expr ')'
|
||||
{
|
||||
@ -4886,18 +4886,19 @@ encaps_var_offset:
|
||||
internal_functions_in_yacc:
|
||||
T_ISSET '(' isset_variables possible_comma ')'
|
||||
{
|
||||
$$ = &ast.ExprIsset{ast.Node{}, $3}
|
||||
if $4 != nil {
|
||||
$3.(*ast.ParserSeparatedList).SeparatorTkns = append($3.(*ast.ParserSeparatedList).SeparatorTkns, $4)
|
||||
}
|
||||
|
||||
// save position
|
||||
$$.GetNode().Position = position.NewTokensPosition($1, $5)
|
||||
|
||||
// save comments
|
||||
yylex.(*Parser).setFreeFloating($$, token.Start, $1.SkippedTokens)
|
||||
yylex.(*Parser).setFreeFloating($$, token.Isset, $2.SkippedTokens)
|
||||
if $4 == nil {
|
||||
yylex.(*Parser).setFreeFloating($$, token.VarList, $5.SkippedTokens)
|
||||
} else {
|
||||
yylex.(*Parser).setFreeFloating($$, token.VarList, append($4.SkippedTokens, $5.SkippedTokens...))
|
||||
$$ = &ast.ExprIsset{
|
||||
Node: ast.Node{
|
||||
Position: position.NewTokensPosition($1, $5),
|
||||
},
|
||||
IssetTkn: $1,
|
||||
OpenParenthesisTkn: $2,
|
||||
Vars: $3.(*ast.ParserSeparatedList).Items,
|
||||
SeparatorTkns: $3.(*ast.ParserSeparatedList).SeparatorTkns,
|
||||
CloseParenthesisTkn: $5,
|
||||
}
|
||||
}
|
||||
| T_EMPTY '(' expr ')'
|
||||
@ -4969,14 +4970,16 @@ internal_functions_in_yacc:
|
||||
isset_variables:
|
||||
isset_variable
|
||||
{
|
||||
$$ = []ast.Vertex{$1}
|
||||
$$ = &ast.ParserSeparatedList{
|
||||
Items: []ast.Vertex{$1},
|
||||
}
|
||||
}
|
||||
| isset_variables ',' isset_variable
|
||||
{
|
||||
$$ = append($1, $3)
|
||||
$1.(*ast.ParserSeparatedList).SeparatorTkns = append($1.(*ast.ParserSeparatedList).SeparatorTkns, $2)
|
||||
$1.(*ast.ParserSeparatedList).Items = append($1.(*ast.ParserSeparatedList).Items, $3)
|
||||
|
||||
// save comments
|
||||
yylex.(*Parser).setFreeFloating(lastNode($1), token.End, $2.SkippedTokens)
|
||||
$$ = $1
|
||||
}
|
||||
;
|
||||
|
||||
|
@ -1176,6 +1176,7 @@ func (n *ExprIncludeOnce) Accept(v NodeVisitor) {
|
||||
type ExprInstanceOf struct {
|
||||
Node
|
||||
Expr Vertex
|
||||
InstanceOfTkn *token.Token
|
||||
Class Vertex
|
||||
}
|
||||
|
||||
@ -1186,7 +1187,11 @@ func (n *ExprInstanceOf) Accept(v NodeVisitor) {
|
||||
// ExprIsset node
|
||||
type ExprIsset struct {
|
||||
Node
|
||||
IssetTkn *token.Token
|
||||
OpenParenthesisTkn *token.Token
|
||||
Vars []Vertex
|
||||
SeparatorTkns []*token.Token
|
||||
CloseParenthesisTkn *token.Token
|
||||
}
|
||||
|
||||
func (n *ExprIsset) Accept(v NodeVisitor) {
|
||||
|
Loading…
x
Reference in New Issue
Block a user