[ruby/yarp] Mark local variable targets in pattern matching

https://github.com/ruby/yarp/commit/6c6700a001
This commit is contained in:
Kevin Newton 2023-08-25 13:03:16 -04:00 committed by git
parent 7898b8e1ea
commit 0df515c095
21 changed files with 109 additions and 400 deletions

View File

@ -3,7 +3,7 @@ ProgramNode(0...3743)(
StatementsNode(0...3743)( StatementsNode(0...3743)(
[MatchRequiredNode(0...10)( [MatchRequiredNode(0...10)(
CallNode(0...3)(nil, nil, (0...3), nil, nil, nil, nil, 2, "foo"), CallNode(0...3)(nil, nil, (0...3), nil, nil, nil, nil, 2, "foo"),
LocalVariableWriteNode(7...10)(:bar, 0, nil, (7...10), nil), LocalVariableTargetNode(7...10)(:bar, 0),
(4...6) (4...6)
), ),
MatchRequiredNode(11...19)( MatchRequiredNode(11...19)(
@ -1206,13 +1206,7 @@ ProgramNode(0...3743)(
), ),
ArrayPatternNode(1169...1177)( ArrayPatternNode(1169...1177)(
ConstantReadNode(1169...1172)(), ConstantReadNode(1169...1172)(),
[LocalVariableWriteNode(1173...1176)( [LocalVariableTargetNode(1173...1176)(:bar, 0)],
:bar,
0,
nil,
(1173...1176),
nil
)],
nil, nil,
[], [],
(1172...1173), (1172...1173),
@ -1237,21 +1231,9 @@ ProgramNode(0...3743)(
[], [],
SplatNode(1189...1193)( SplatNode(1189...1193)(
(1189...1190), (1189...1190),
LocalVariableWriteNode(1190...1193)( LocalVariableTargetNode(1190...1193)(:bar, 0)
:bar,
0,
nil,
(1190...1193),
nil
)
), ),
[LocalVariableWriteNode(1195...1198)( [LocalVariableTargetNode(1195...1198)(:baz, 0)],
:baz,
0,
nil,
(1195...1198),
nil
)],
(1188...1189), (1188...1189),
(1198...1199) (1198...1199)
), ),
@ -1271,22 +1253,10 @@ ProgramNode(0...3743)(
), ),
ArrayPatternNode(1207...1221)( ArrayPatternNode(1207...1221)(
ConstantReadNode(1207...1210)(), ConstantReadNode(1207...1210)(),
[LocalVariableWriteNode(1211...1214)( [LocalVariableTargetNode(1211...1214)(:bar, 0)],
:bar,
0,
nil,
(1211...1214),
nil
)],
SplatNode(1216...1220)( SplatNode(1216...1220)(
(1216...1217), (1216...1217),
LocalVariableWriteNode(1217...1220)( LocalVariableTargetNode(1217...1220)(:baz, 0)
:baz,
0,
nil,
(1217...1220),
nil
)
), ),
[], [],
(1210...1211), (1210...1211),
@ -1310,30 +1280,12 @@ ProgramNode(0...3743)(
ConstantReadNode(1229...1232)(), ConstantReadNode(1229...1232)(),
SplatNode(1233...1237)( SplatNode(1233...1237)(
(1233...1234), (1233...1234),
LocalVariableWriteNode(1234...1237)( LocalVariableTargetNode(1234...1237)(:bar, 0)
:bar,
0,
nil,
(1234...1237),
nil
)
), ),
[LocalVariableWriteNode(1239...1242)( [LocalVariableTargetNode(1239...1242)(:baz, 0)],
:baz,
0,
nil,
(1239...1242),
nil
)],
SplatNode(1244...1248)( SplatNode(1244...1248)(
(1244...1245), (1244...1245),
LocalVariableWriteNode(1245...1248)( LocalVariableTargetNode(1245...1248)(:qux, 0)
:qux,
0,
nil,
(1245...1248),
nil
)
), ),
(1232...1233), (1232...1233),
(1248...1249) (1248...1249)
@ -1451,13 +1403,7 @@ ProgramNode(0...3743)(
), ),
ArrayPatternNode(1323...1331)( ArrayPatternNode(1323...1331)(
ConstantReadNode(1323...1326)(), ConstantReadNode(1323...1326)(),
[LocalVariableWriteNode(1327...1330)( [LocalVariableTargetNode(1327...1330)(:bar, 0)],
:bar,
0,
nil,
(1327...1330),
nil
)],
nil, nil,
[], [],
(1326...1327), (1326...1327),
@ -1482,21 +1428,9 @@ ProgramNode(0...3743)(
[], [],
SplatNode(1343...1347)( SplatNode(1343...1347)(
(1343...1344), (1343...1344),
LocalVariableWriteNode(1344...1347)( LocalVariableTargetNode(1344...1347)(:bar, 0)
:bar,
0,
nil,
(1344...1347),
nil
)
), ),
[LocalVariableWriteNode(1349...1352)( [LocalVariableTargetNode(1349...1352)(:baz, 0)],
:baz,
0,
nil,
(1349...1352),
nil
)],
(1342...1343), (1342...1343),
(1352...1353) (1352...1353)
), ),
@ -1516,22 +1450,10 @@ ProgramNode(0...3743)(
), ),
ArrayPatternNode(1361...1375)( ArrayPatternNode(1361...1375)(
ConstantReadNode(1361...1364)(), ConstantReadNode(1361...1364)(),
[LocalVariableWriteNode(1365...1368)( [LocalVariableTargetNode(1365...1368)(:bar, 0)],
:bar,
0,
nil,
(1365...1368),
nil
)],
SplatNode(1370...1374)( SplatNode(1370...1374)(
(1370...1371), (1370...1371),
LocalVariableWriteNode(1371...1374)( LocalVariableTargetNode(1371...1374)(:baz, 0)
:baz,
0,
nil,
(1371...1374),
nil
)
), ),
[], [],
(1364...1365), (1364...1365),
@ -1555,30 +1477,12 @@ ProgramNode(0...3743)(
ConstantReadNode(1383...1386)(), ConstantReadNode(1383...1386)(),
SplatNode(1387...1391)( SplatNode(1387...1391)(
(1387...1388), (1387...1388),
LocalVariableWriteNode(1388...1391)( LocalVariableTargetNode(1388...1391)(:bar, 0)
:bar,
0,
nil,
(1388...1391),
nil
)
), ),
[LocalVariableWriteNode(1393...1396)( [LocalVariableTargetNode(1393...1396)(:baz, 0)],
:baz,
0,
nil,
(1393...1396),
nil
)],
SplatNode(1398...1402)( SplatNode(1398...1402)(
(1398...1399), (1398...1399),
LocalVariableWriteNode(1399...1402)( LocalVariableTargetNode(1399...1402)(:qux, 0)
:qux,
0,
nil,
(1399...1402),
nil
)
), ),
(1386...1387), (1386...1387),
(1402...1403) (1402...1403)
@ -1602,13 +1506,7 @@ ProgramNode(0...3743)(
[], [],
SplatNode(1412...1416)( SplatNode(1412...1416)(
(1412...1413), (1412...1413),
LocalVariableWriteNode(1413...1416)( LocalVariableTargetNode(1413...1416)(:bar, 0)
:bar,
0,
nil,
(1413...1416),
nil
)
), ),
[], [],
nil, nil,
@ -1633,28 +1531,10 @@ ProgramNode(0...3743)(
[], [],
SplatNode(1424...1428)( SplatNode(1424...1428)(
(1424...1425), (1424...1425),
LocalVariableWriteNode(1425...1428)( LocalVariableTargetNode(1425...1428)(:bar, 0)
:bar,
0,
nil,
(1425...1428),
nil
)
), ),
[LocalVariableWriteNode(1430...1433)( [LocalVariableTargetNode(1430...1433)(:baz, 0),
:baz, LocalVariableTargetNode(1435...1438)(:qux, 0)],
0,
nil,
(1430...1433),
nil
),
LocalVariableWriteNode(1435...1438)(
:qux,
0,
nil,
(1435...1438),
nil
)],
nil, nil,
nil nil
), ),
@ -1674,30 +1554,12 @@ ProgramNode(0...3743)(
), ),
ArrayPatternNode(1446...1460)( ArrayPatternNode(1446...1460)(
nil, nil,
[LocalVariableWriteNode(1446...1449)( [LocalVariableTargetNode(1446...1449)(:bar, 0)],
:bar,
0,
nil,
(1446...1449),
nil
)],
SplatNode(1451...1455)( SplatNode(1451...1455)(
(1451...1452), (1451...1452),
LocalVariableWriteNode(1452...1455)( LocalVariableTargetNode(1452...1455)(:baz, 0)
:baz,
0,
nil,
(1452...1455),
nil
)
), ),
[LocalVariableWriteNode(1457...1460)( [LocalVariableTargetNode(1457...1460)(:qux, 0)],
:qux,
0,
nil,
(1457...1460),
nil
)],
nil, nil,
nil nil
), ),
@ -1717,29 +1579,11 @@ ProgramNode(0...3743)(
), ),
ArrayPatternNode(1468...1482)( ArrayPatternNode(1468...1482)(
nil, nil,
[LocalVariableWriteNode(1468...1471)( [LocalVariableTargetNode(1468...1471)(:bar, 0),
:bar, LocalVariableTargetNode(1473...1476)(:baz, 0)],
0,
nil,
(1468...1471),
nil
),
LocalVariableWriteNode(1473...1476)(
:baz,
0,
nil,
(1473...1476),
nil
)],
SplatNode(1478...1482)( SplatNode(1478...1482)(
(1478...1479), (1478...1479),
LocalVariableWriteNode(1479...1482)( LocalVariableTargetNode(1479...1482)(:qux, 0)
:qux,
0,
nil,
(1479...1482),
nil
)
), ),
[], [],
nil, nil,
@ -1763,30 +1607,12 @@ ProgramNode(0...3743)(
nil, nil,
SplatNode(1490...1494)( SplatNode(1490...1494)(
(1490...1491), (1490...1491),
LocalVariableWriteNode(1491...1494)( LocalVariableTargetNode(1491...1494)(:bar, 0)
:bar,
0,
nil,
(1491...1494),
nil
)
), ),
[LocalVariableWriteNode(1496...1499)( [LocalVariableTargetNode(1496...1499)(:baz, 0)],
:baz,
0,
nil,
(1496...1499),
nil
)],
SplatNode(1501...1505)( SplatNode(1501...1505)(
(1501...1502), (1501...1502),
LocalVariableWriteNode(1502...1505)( LocalVariableTargetNode(1502...1505)(:qux, 0)
:qux,
0,
nil,
(1502...1505),
nil
)
), ),
nil, nil,
nil nil
@ -1882,13 +1708,7 @@ ProgramNode(0...3743)(
[], [],
SplatNode(1544...1548)( SplatNode(1544...1548)(
(1544...1545), (1544...1545),
LocalVariableWriteNode(1545...1548)( LocalVariableTargetNode(1545...1548)(:bar, 0)
:bar,
0,
nil,
(1545...1548),
nil
)
), ),
[], [],
(1543...1544), (1543...1544),
@ -1913,28 +1733,10 @@ ProgramNode(0...3743)(
[], [],
SplatNode(1558...1562)( SplatNode(1558...1562)(
(1558...1559), (1558...1559),
LocalVariableWriteNode(1559...1562)( LocalVariableTargetNode(1559...1562)(:bar, 0)
:bar,
0,
nil,
(1559...1562),
nil
)
), ),
[LocalVariableWriteNode(1564...1567)( [LocalVariableTargetNode(1564...1567)(:baz, 0),
:baz, LocalVariableTargetNode(1569...1572)(:qux, 0)],
0,
nil,
(1564...1567),
nil
),
LocalVariableWriteNode(1569...1572)(
:qux,
0,
nil,
(1569...1572),
nil
)],
(1557...1558), (1557...1558),
(1572...1573) (1572...1573)
), ),
@ -1954,30 +1756,12 @@ ProgramNode(0...3743)(
), ),
ArrayPatternNode(1581...1597)( ArrayPatternNode(1581...1597)(
nil, nil,
[LocalVariableWriteNode(1582...1585)( [LocalVariableTargetNode(1582...1585)(:bar, 0)],
:bar,
0,
nil,
(1582...1585),
nil
)],
SplatNode(1587...1591)( SplatNode(1587...1591)(
(1587...1588), (1587...1588),
LocalVariableWriteNode(1588...1591)( LocalVariableTargetNode(1588...1591)(:baz, 0)
:baz,
0,
nil,
(1588...1591),
nil
)
), ),
[LocalVariableWriteNode(1593...1596)( [LocalVariableTargetNode(1593...1596)(:qux, 0)],
:qux,
0,
nil,
(1593...1596),
nil
)],
(1581...1582), (1581...1582),
(1596...1597) (1596...1597)
), ),
@ -1997,29 +1781,11 @@ ProgramNode(0...3743)(
), ),
ArrayPatternNode(1605...1621)( ArrayPatternNode(1605...1621)(
nil, nil,
[LocalVariableWriteNode(1606...1609)( [LocalVariableTargetNode(1606...1609)(:bar, 0),
:bar, LocalVariableTargetNode(1611...1614)(:baz, 0)],
0,
nil,
(1606...1609),
nil
),
LocalVariableWriteNode(1611...1614)(
:baz,
0,
nil,
(1611...1614),
nil
)],
SplatNode(1616...1620)( SplatNode(1616...1620)(
(1616...1617), (1616...1617),
LocalVariableWriteNode(1617...1620)( LocalVariableTargetNode(1617...1620)(:qux, 0)
:qux,
0,
nil,
(1617...1620),
nil
)
), ),
[], [],
(1605...1606), (1605...1606),
@ -2043,30 +1809,12 @@ ProgramNode(0...3743)(
nil, nil,
SplatNode(1630...1634)( SplatNode(1630...1634)(
(1630...1631), (1630...1631),
LocalVariableWriteNode(1631...1634)( LocalVariableTargetNode(1631...1634)(:bar, 0)
:bar,
0,
nil,
(1631...1634),
nil
)
), ),
[LocalVariableWriteNode(1636...1639)( [LocalVariableTargetNode(1636...1639)(:baz, 0)],
:baz,
0,
nil,
(1636...1639),
nil
)],
SplatNode(1641...1645)( SplatNode(1641...1645)(
(1641...1642), (1641...1642),
LocalVariableWriteNode(1642...1645)( LocalVariableTargetNode(1642...1645)(:qux, 0)
:qux,
0,
nil,
(1642...1645),
nil
)
), ),
(1629...1630), (1629...1630),
(1645...1646) (1645...1646)
@ -2085,7 +1833,7 @@ ProgramNode(0...3743)(
2, 2,
"foo" "foo"
), ),
LocalVariableWriteNode(1655...1658)(:bar, 0, nil, (1655...1658), nil), LocalVariableTargetNode(1655...1658)(:bar, 0),
(1652...1654) (1652...1654)
), ),
MatchPredicateNode(1659...1667)( MatchPredicateNode(1659...1667)(
@ -2535,13 +2283,7 @@ ProgramNode(0...3743)(
"foo" "foo"
), ),
[InNode(2013...2024)( [InNode(2013...2024)(
LocalVariableWriteNode(2016...2019)( LocalVariableTargetNode(2016...2019)(:bar, 0),
:bar,
0,
nil,
(2016...2019),
nil
),
nil, nil,
(2013...2015), (2013...2015),
(2020...2024) (2020...2024)
@ -3176,13 +2918,7 @@ ProgramNode(0...3743)(
(2765...2767), (2765...2767),
LocalVariableReadNode(2768...2771)(:baz, 0), LocalVariableReadNode(2768...2771)(:baz, 0),
StatementsNode(2761...2764)( StatementsNode(2761...2764)(
[LocalVariableWriteNode(2761...2764)( [LocalVariableTargetNode(2761...2764)(:bar, 0)]
:bar,
0,
nil,
(2761...2764),
nil
)]
), ),
nil, nil,
nil nil
@ -4035,7 +3771,7 @@ ProgramNode(0...3743)(
), ),
ArrayPatternNode(3696...3703)( ArrayPatternNode(3696...3703)(
nil, nil,
[LocalVariableWriteNode(3700...3701)(:b, 0, nil, (3700...3701), nil)], [LocalVariableTargetNode(3700...3701)(:b, 0)],
nil, nil,
[], [],
(3696...3697), (3696...3697),
@ -4068,13 +3804,7 @@ ProgramNode(0...3743)(
(3734...3735), (3734...3735),
"value" "value"
), ),
LocalVariableWriteNode(3736...3737)( LocalVariableTargetNode(3736...3737)(:a, 0),
:a,
0,
nil,
(3736...3737),
nil
),
nil nil
)], )],
nil, nil,

View File

@ -195,7 +195,7 @@ ProgramNode(0...747)(
[SymbolNode(292...294)((292...293), (293...294), nil, "b")], [SymbolNode(292...294)((292...293), (293...294), nil, "b")],
SplatNode(296...298)( SplatNode(296...298)(
(296...297), (296...297),
LocalVariableWriteNode(297...298)(:_, 0, nil, (297...298), nil) LocalVariableTargetNode(297...298)(:_, 0)
), ),
[SymbolNode(300...302)((300...301), (301...302), nil, "c")], [SymbolNode(300...302)((300...301), (301...302), nil, "c")],
nil, nil,
@ -262,12 +262,12 @@ ProgramNode(0...747)(
ConstantReadNode(369...375)(), ConstantReadNode(369...375)(),
SplatNode(376...380)( SplatNode(376...380)(
(376...377), (376...377),
LocalVariableWriteNode(377...380)(:lhs, 0, nil, (377...380), nil) LocalVariableTargetNode(377...380)(:lhs, 0)
), ),
[LocalVariableWriteNode(382...383)(:x, 0, nil, (382...383), nil)], [LocalVariableTargetNode(382...383)(:x, 0)],
SplatNode(385...389)( SplatNode(385...389)(
(385...386), (385...386),
LocalVariableWriteNode(386...389)(:rhs, 0, nil, (386...389), nil) LocalVariableTargetNode(386...389)(:rhs, 0)
), ),
(375...376), (375...376),
(389...390) (389...390)
@ -287,12 +287,12 @@ ProgramNode(0...747)(
ConstantReadNode(407...413)(), ConstantReadNode(407...413)(),
SplatNode(414...418)( SplatNode(414...418)(
(414...415), (414...415),
LocalVariableWriteNode(415...418)(:lhs, 0, nil, (415...418), nil) LocalVariableTargetNode(415...418)(:lhs, 0)
), ),
[LocalVariableWriteNode(420...421)(:x, 0, nil, (420...421), nil)], [LocalVariableTargetNode(420...421)(:x, 0)],
SplatNode(423...427)( SplatNode(423...427)(
(423...424), (423...424),
LocalVariableWriteNode(424...427)(:rhs, 0, nil, (424...427), nil) LocalVariableTargetNode(424...427)(:rhs, 0)
), ),
(413...414), (413...414),
(427...428) (427...428)
@ -329,7 +329,7 @@ ProgramNode(0...747)(
), ),
StatementsNode(454...458)([TrueNode(454...458)()]) StatementsNode(454...458)([TrueNode(454...458)()])
), ),
LocalVariableWriteNode(462...463)(:c, 0, nil, (462...463), nil)], LocalVariableTargetNode(462...463)(:c, 0)],
nil, nil,
[], [],
(445...446), (445...446),
@ -349,20 +349,14 @@ ProgramNode(0...747)(
ArrayPatternNode(481...506)( ArrayPatternNode(481...506)(
nil, nil,
[SymbolNode(482...484)((482...483), (483...484), nil, "a"), [SymbolNode(482...484)((482...483), (483...484), nil, "a"),
LocalVariableWriteNode(486...487)(:b, 0, nil, (486...487), nil), LocalVariableTargetNode(486...487)(:b, 0),
LocalVariableWriteNode(489...490)(:c, 0, nil, (489...490), nil), LocalVariableTargetNode(489...490)(:c, 0),
ArrayPatternNode(492...505)( ArrayPatternNode(492...505)(
nil, nil,
[SymbolNode(493...495)((493...494), (494...495), nil, "d")], [SymbolNode(493...495)((493...494), (494...495), nil, "d")],
SplatNode(497...499)( SplatNode(497...499)(
(497...498), (497...498),
LocalVariableWriteNode(498...499)( LocalVariableTargetNode(498...499)(:e, 0)
:e,
0,
nil,
(498...499),
nil
)
), ),
[NilNode(501...504)()], [NilNode(501...504)()],
(492...493), (492...493),
@ -408,13 +402,7 @@ ProgramNode(0...747)(
[ArrayPatternNode(550...557)( [ArrayPatternNode(550...557)(
nil, nil,
[SymbolNode(551...553)((551...552), (552...553), nil, "b"), [SymbolNode(551...553)((551...552), (552...553), nil, "b"),
LocalVariableWriteNode(555...556)( LocalVariableTargetNode(555...556)(:c, 0)],
:c,
0,
nil,
(555...556),
nil
)],
nil, nil,
[], [],
(550...551), (550...551),

View File

@ -9,7 +9,7 @@ ProgramNode(0...28)(
[SymbolNode(12...14)((12...13), (13...14), nil, "b")], [SymbolNode(12...14)((12...13), (13...14), nil, "b")],
SplatNode(16...18)( SplatNode(16...18)(
(16...17), (16...17),
LocalVariableWriteNode(17...18)(:c, 0, nil, (17...18), nil) LocalVariableTargetNode(17...18)(:c, 0)
), ),
[], [],
(11...12), (11...12),

View File

@ -9,7 +9,7 @@ ProgramNode(0...30)(
[SymbolNode(11...13)((11...12), (12...13), nil, "b")], [SymbolNode(11...13)((11...12), (12...13), nil, "b")],
SplatNode(15...17)( SplatNode(15...17)(
(15...16), (15...16),
LocalVariableWriteNode(16...17)(:_, 0, nil, (16...17), nil) LocalVariableTargetNode(16...17)(:_, 0)
), ),
[], [],
nil, nil,

View File

@ -9,7 +9,7 @@ ProgramNode(0...32)(
[], [],
SplatNode(13...18)( SplatNode(13...18)(
(13...14), (13...14),
LocalVariableWriteNode(14...18)(:list, 0, nil, (14...18), nil) LocalVariableTargetNode(14...18)(:list, 0)
), ),
[], [],
(12...13), (12...13),

View File

@ -6,7 +6,7 @@ ProgramNode(0...24)(
[InNode(8...20)( [InNode(8...20)(
ArrayPatternNode(11...15)( ArrayPatternNode(11...15)(
ConstantReadNode(11...12)(), ConstantReadNode(11...12)(),
[LocalVariableWriteNode(13...14)(:c, 0, nil, (13...14), nil)], [LocalVariableTargetNode(13...14)(:c, 0)],
nil, nil,
[], [],
(12...13), (12...13),

View File

@ -10,7 +10,7 @@ ProgramNode(0...27)(
ConstantReadNode(14...15)(), ConstantReadNode(14...15)(),
(12...14) (12...14)
), ),
[LocalVariableWriteNode(16...17)(:d, 0, nil, (16...17), nil)], [LocalVariableTargetNode(16...17)(:d, 0)],
nil, nil,
[], [],
(15...16), (15...16),

View File

@ -8,7 +8,7 @@ ProgramNode(0...29)(
ConstantReadNode(11...12)(), ConstantReadNode(11...12)(),
[CapturePatternNode(13...19)( [CapturePatternNode(13...19)(
ConstantReadNode(13...14)(), ConstantReadNode(13...14)(),
LocalVariableWriteNode(18...19)(:d, 0, nil, (18...19), nil), LocalVariableTargetNode(18...19)(:d, 0),
(15...17) (15...17)
)], )],
nil, nil,

View File

@ -8,12 +8,12 @@ ProgramNode(0...27)(
nil, nil,
SplatNode(13...15)( SplatNode(13...15)(
(13...14), (13...14),
LocalVariableWriteNode(14...15)(:a, 0, nil, (14...15), nil) LocalVariableTargetNode(14...15)(:a, 0)
), ),
[SymbolNode(17...19)((17...18), (18...19), nil, "+")], [SymbolNode(17...19)((17...18), (18...19), nil, "+")],
SplatNode(21...23)( SplatNode(21...23)(
(21...22), (21...22),
LocalVariableWriteNode(22...23)(:b, 0, nil, (22...23), nil) LocalVariableTargetNode(22...23)(:b, 0)
), ),
nil, nil,
nil nil

View File

@ -8,7 +8,7 @@ ProgramNode(0...28)(
nil, nil,
SplatNode(12...13)((12...13), nil), SplatNode(12...13)((12...13), nil),
[SymbolNode(15...17)((15...16), (16...17), nil, "b"), [SymbolNode(15...17)((15...16), (16...17), nil, "b"),
LocalVariableWriteNode(19...20)(:c, 0, nil, (19...20), nil)], LocalVariableTargetNode(19...20)(:c, 0)],
SplatNode(22...23)((22...23), nil), SplatNode(22...23)((22...23), nil),
(11...12), (11...12),
(23...24) (23...24)

View File

@ -10,7 +10,7 @@ ProgramNode(0...56)(
SymbolNode(13...15)(nil, (13...14), (14...15), "b"), SymbolNode(13...15)(nil, (13...14), (14...15), "b"),
CapturePatternNode(16...28)( CapturePatternNode(16...28)(
ConstantReadNode(16...23)(), ConstantReadNode(16...23)(),
LocalVariableWriteNode(27...28)(:x, 0, nil, (27...28), nil), LocalVariableTargetNode(27...28)(:x, 0),
(24...26) (24...26)
), ),
nil nil

View File

@ -8,11 +8,11 @@ ProgramNode(0...35)(
nil, nil,
[AssocNode(11...15)( [AssocNode(11...15)(
SymbolNode(11...13)(nil, (11...12), (12...13), "b"), SymbolNode(11...13)(nil, (11...12), (12...13), "b"),
LocalVariableWriteNode(14...15)(:c, 0, nil, (14...15), nil), LocalVariableTargetNode(14...15)(:c, 0),
nil nil
), ),
AssocSplatNode(17...23)( AssocSplatNode(17...23)(
LocalVariableWriteNode(19...23)(:rest, 0, nil, (19...23), nil), LocalVariableTargetNode(19...23)(:rest, 0),
(17...19) (17...19)
)], )],
nil, nil,

View File

@ -7,7 +7,7 @@ ProgramNode(0...29)(
HashPatternNode(11...17)( HashPatternNode(11...17)(
nil, nil,
[AssocSplatNode(11...17)( [AssocSplatNode(11...17)(
LocalVariableWriteNode(13...17)(:rest, 0, nil, (13...17), nil), LocalVariableTargetNode(13...17)(:rest, 0),
(11...13) (11...13)
)], )],
nil, nil,

View File

@ -20,7 +20,7 @@ ProgramNode(0...43)(
nil nil
), ),
AssocSplatNode(20...26)( AssocSplatNode(20...26)(
LocalVariableWriteNode(22...26)(:rest, 0, nil, (22...26), nil), LocalVariableTargetNode(22...26)(:rest, 0),
(20...22) (20...22)
)], )],
nil, nil,

View File

@ -3,7 +3,7 @@ ProgramNode(0...7)(
StatementsNode(0...7)( StatementsNode(0...7)(
[MatchRequiredNode(0...7)( [MatchRequiredNode(0...7)(
IntegerNode(0...2)(), IntegerNode(0...2)(),
LocalVariableWriteNode(6...7)(:n, 0, nil, (6...7), nil), LocalVariableTargetNode(6...7)(:n, 0),
(3...5) (3...5)
)] )]
) )

View File

@ -9,7 +9,7 @@ ProgramNode(0...408)(
[IntegerNode(14...15)(), IntegerNode(17...18)()], [IntegerNode(14...15)(), IntegerNode(17...18)()],
SplatNode(20...22)( SplatNode(20...22)(
(20...21), (20...21),
LocalVariableWriteNode(21...22)(:a, 0, nil, (21...22), nil) LocalVariableTargetNode(21...22)(:a, 0)
), ),
[IntegerNode(24...25)()], [IntegerNode(24...25)()],
(13...14), (13...14),
@ -65,7 +65,7 @@ ProgramNode(0...408)(
nil, nil,
[AssocNode(85...88)( [AssocNode(85...88)(
AssocSplatNode(85...88)( AssocSplatNode(85...88)(
LocalVariableWriteNode(87...88)(:a, 0, nil, (87...88), nil), LocalVariableTargetNode(87...88)(:a, 0),
(85...87) (85...87)
), ),
nil, nil,
@ -102,8 +102,8 @@ ProgramNode(0...408)(
InNode(128...152)( InNode(128...152)(
ArrayPatternNode(131...140)( ArrayPatternNode(131...140)(
nil, nil,
[LocalVariableWriteNode(132...133)(:x, 0, nil, (132...133), nil), [LocalVariableTargetNode(132...133)(:x, 0),
LocalVariableWriteNode(135...136)(:y, 0, nil, (135...136), nil)], LocalVariableTargetNode(135...136)(:y, 0)],
SplatNode(138...139)((138...139), nil), SplatNode(138...139)((138...139), nil),
[], [],
(131...132), (131...132),
@ -190,7 +190,7 @@ ProgramNode(0...408)(
InNode(268...289)( InNode(268...289)(
CapturePatternNode(271...277)( CapturePatternNode(271...277)(
IntegerNode(271...272)(), IntegerNode(271...272)(),
LocalVariableWriteNode(276...277)(:a, 0, nil, (276...277), nil), LocalVariableTargetNode(276...277)(:a, 0),
(273...275) (273...275)
), ),
StatementsNode(285...289)([TrueNode(285...289)()]), StatementsNode(285...289)([TrueNode(285...289)()]),
@ -239,7 +239,7 @@ ProgramNode(0...408)(
[IntegerNode(360...361)(), IntegerNode(363...364)()], [IntegerNode(360...361)(), IntegerNode(363...364)()],
SplatNode(366...368)( SplatNode(366...368)(
(366...367), (366...367),
LocalVariableWriteNode(367...368)(:a, 0, nil, (367...368), nil) LocalVariableTargetNode(367...368)(:a, 0)
), ),
[IntegerNode(370...371)()], [IntegerNode(370...371)()],
(359...360), (359...360),
@ -279,7 +279,7 @@ ProgramNode(0...408)(
IntegerNode(400...401)(), IntegerNode(400...401)(),
ArrayPatternNode(405...408)( ArrayPatternNode(405...408)(
nil, nil,
[LocalVariableWriteNode(406...407)(:a, 0, nil, (406...407), nil)], [LocalVariableTargetNode(406...407)(:a, 0)],
nil, nil,
[], [],
(405...406), (405...406),

View File

@ -5,7 +5,7 @@ ProgramNode(0...51)(
IntegerNode(0...1)(), IntegerNode(0...1)(),
ArrayPatternNode(5...8)( ArrayPatternNode(5...8)(
nil, nil,
[LocalVariableWriteNode(6...7)(:a, 0, nil, (6...7), nil)], [LocalVariableTargetNode(6...7)(:a, 0)],
nil, nil,
[], [],
(5...6), (5...6),
@ -42,10 +42,10 @@ ProgramNode(0...51)(
FindPatternNode(39...51)( FindPatternNode(39...51)(
nil, nil,
SplatNode(40...41)((40...41), nil), SplatNode(40...41)((40...41), nil),
[LocalVariableWriteNode(43...44)(:a, 0, nil, (43...44), nil)], [LocalVariableTargetNode(43...44)(:a, 0)],
SplatNode(46...50)( SplatNode(46...50)(
(46...47), (46...47),
LocalVariableWriteNode(47...50)(:foo, 0, nil, (47...50), nil) LocalVariableTargetNode(47...50)(:foo, 0)
), ),
(39...40), (39...40),
(50...51) (50...51)

View File

@ -5,7 +5,7 @@ ProgramNode(0...24)(
IntegerNode(0...1)(), IntegerNode(0...1)(),
ArrayPatternNode(5...8)( ArrayPatternNode(5...8)(
nil, nil,
[LocalVariableWriteNode(6...7)(:a, 0, nil, (6...7), nil)], [LocalVariableTargetNode(6...7)(:a, 0)],
nil, nil,
[], [],
(5...6), (5...6),
@ -18,7 +18,7 @@ ProgramNode(0...24)(
IntegerNode(13...14)(), IntegerNode(13...14)(),
ArrayPatternNode(18...21)( ArrayPatternNode(18...21)(
nil, nil,
[LocalVariableWriteNode(19...20)(:a, 0, nil, (19...20), nil)], [LocalVariableTargetNode(19...20)(:a, 0)],
nil, nil,
[], [],
(18...19), (18...19),

View File

@ -9,8 +9,8 @@ ProgramNode(0...142)(
), ),
ArrayPatternNode(10...14)( ArrayPatternNode(10...14)(
nil, nil,
[LocalVariableWriteNode(10...11)(:a, 0, nil, (10...11), nil), [LocalVariableTargetNode(10...11)(:a, 0),
LocalVariableWriteNode(13...14)(:b, 0, nil, (13...14), nil)], LocalVariableTargetNode(13...14)(:b, 0)],
nil, nil,
[], [],
nil, nil,
@ -27,8 +27,8 @@ ProgramNode(0...142)(
), ),
ArrayPatternNode(29...33)( ArrayPatternNode(29...33)(
nil, nil,
[LocalVariableWriteNode(29...30)(:a, 0, nil, (29...30), nil), [LocalVariableTargetNode(29...30)(:a, 0),
LocalVariableWriteNode(32...33)(:b, 0, nil, (32...33), nil)], LocalVariableTargetNode(32...33)(:b, 0)],
nil, nil,
[], [],
nil, nil,
@ -99,7 +99,7 @@ ProgramNode(0...142)(
nil, nil,
[AssocNode(89...99)( [AssocNode(89...99)(
SymbolNode(89...93)(nil, (89...92), (92...93), "key"), SymbolNode(89...93)(nil, (89...92), (92...93), "key"),
LocalVariableWriteNode(94...99)(:value, 0, nil, (94...99), nil), LocalVariableTargetNode(94...99)(:value, 0),
nil nil
)], )],
nil, nil,
@ -123,13 +123,7 @@ ProgramNode(0...142)(
nil, nil,
[AssocNode(125...135)( [AssocNode(125...135)(
SymbolNode(125...129)(nil, (125...128), (128...129), "key"), SymbolNode(125...129)(nil, (125...128), (128...129), "key"),
LocalVariableWriteNode(130...135)( LocalVariableTargetNode(130...135)(:value, 0),
:value,
0,
nil,
(130...135),
nil
),
nil nil
)], )],
nil, nil,

View File

@ -908,9 +908,9 @@ nodes:
type: node type: node
kind: ConstantPathNode kind: ConstantPathNode
- name: operator_loc - name: operator_loc
type: location? type: location
- name: value - name: value
type: node? type: node
comment: | comment: |
Represents writing to a constant path. Represents writing to a constant path.
@ -939,9 +939,9 @@ nodes:
- name: name_loc - name: name_loc
type: location type: location
- name: value - name: value
type: node? type: node
- name: operator_loc - name: operator_loc
type: location? type: location
comment: | comment: |
Represents writing to a constant. Represents writing to a constant.
@ -1208,9 +1208,9 @@ nodes:
- name: name_loc - name: name_loc
type: location type: location
- name: operator_loc - name: operator_loc
type: location? type: location
- name: value - name: value
type: node? type: node
comment: | comment: |
Represents writing to a global variable. Represents writing to a global variable.
@ -1354,9 +1354,9 @@ nodes:
- name: name_loc - name: name_loc
type: location type: location
- name: value - name: value
type: node? type: node
- name: operator_loc - name: operator_loc
type: location? type: location
comment: | comment: |
Represents writing to an instance variable. Represents writing to an instance variable.
@ -1564,11 +1564,11 @@ nodes:
- name: depth - name: depth
type: uint32 type: uint32
- name: value - name: value
type: node? type: node
- name: name_loc - name: name_loc
type: location type: location
- name: operator_loc - name: operator_loc
type: location? type: location
comment: | comment: |
Represents writing to a local variable. Represents writing to a local variable.

View File

@ -3075,21 +3075,18 @@ yp_local_variable_write_node_create(yp_parser_t *parser, yp_constant_id_t consta
return node; return node;
} }
// Allocate and initialize a new LocalVariableWriteNode node without an operator or target. // Allocate and initialize a new LocalVariableTargetNode node.
static yp_local_variable_write_node_t * static yp_local_variable_target_node_t *
yp_local_variable_target_node_create(yp_parser_t *parser, const yp_token_t *name) { yp_local_variable_target_node_create(yp_parser_t *parser, const yp_token_t *name) {
yp_local_variable_write_node_t *node = YP_ALLOC_NODE(parser, yp_local_variable_write_node_t); yp_local_variable_target_node_t *node = YP_ALLOC_NODE(parser, yp_local_variable_target_node_t);
*node = (yp_local_variable_write_node_t) { *node = (yp_local_variable_target_node_t) {
{ {
.type = YP_NODE_LOCAL_VARIABLE_WRITE_NODE, .type = YP_NODE_LOCAL_VARIABLE_TARGET_NODE,
.location = YP_LOCATION_TOKEN_VALUE(name) .location = YP_LOCATION_TOKEN_VALUE(name)
}, },
.constant_id = yp_parser_constant_id_token(parser, name), .constant_id = yp_parser_constant_id_token(parser, name),
.depth = 0, .depth = 0
.value = NULL,
.name_loc = YP_LOCATION_TOKEN_VALUE(name),
.operator_loc = { .start = NULL, .end = NULL }
}; };
return node; return node;