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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

@ -8,7 +8,7 @@ ProgramNode(0...28)(
nil,
SplatNode(12...13)((12...13), nil),
[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),
(11...12),
(23...24)

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

@ -908,9 +908,9 @@ nodes:
type: node
kind: ConstantPathNode
- name: operator_loc
type: location?
type: location
- name: value
type: node?
type: node
comment: |
Represents writing to a constant path.
@ -939,9 +939,9 @@ nodes:
- name: name_loc
type: location
- name: value
type: node?
type: node
- name: operator_loc
type: location?
type: location
comment: |
Represents writing to a constant.
@ -1208,9 +1208,9 @@ nodes:
- name: name_loc
type: location
- name: operator_loc
type: location?
type: location
- name: value
type: node?
type: node
comment: |
Represents writing to a global variable.
@ -1354,9 +1354,9 @@ nodes:
- name: name_loc
type: location
- name: value
type: node?
type: node
- name: operator_loc
type: location?
type: location
comment: |
Represents writing to an instance variable.
@ -1564,11 +1564,11 @@ nodes:
- name: depth
type: uint32
- name: value
type: node?
type: node
- name: name_loc
type: location
- name: operator_loc
type: location?
type: location
comment: |
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;
}
// Allocate and initialize a new LocalVariableWriteNode node without an operator or target.
static yp_local_variable_write_node_t *
// Allocate and initialize a new LocalVariableTargetNode node.
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_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)
},
.constant_id = yp_parser_constant_id_token(parser, name),
.depth = 0,
.value = NULL,
.name_loc = YP_LOCATION_TOKEN_VALUE(name),
.operator_loc = { .start = NULL, .end = NULL }
.depth = 0
};
return node;