[ruby/yarp] Change AndWriteNode, OrWriteNode, OperatorWriteNode to contain write nodes
It makes it more difficult to find all locations where a variable is written to if they're just read nodes. To keep things consistent we should make them write nodes. https://github.com/ruby/yarp/commit/840e094045
This commit is contained in:
parent
988b0108fb
commit
a7f40fc2d7
@ -89,7 +89,7 @@ ProgramNode(0...402)(
|
|||||||
),
|
),
|
||||||
StatementsNode(63...72)(
|
StatementsNode(63...72)(
|
||||||
[OperatorWriteNode(63...72)(
|
[OperatorWriteNode(63...72)(
|
||||||
LocalVariableReadNode(63...67)(:memo, 0),
|
LocalVariableWriteNode(63...67)(:memo, 0, nil, (63...67), nil),
|
||||||
(68...70),
|
(68...70),
|
||||||
:+,
|
:+,
|
||||||
LocalVariableReadNode(71...72)(:x, 0)
|
LocalVariableReadNode(71...72)(:x, 0)
|
||||||
|
@ -2,18 +2,18 @@ ProgramNode(0...24)(
|
|||||||
[:a],
|
[:a],
|
||||||
StatementsNode(0...24)(
|
StatementsNode(0...24)(
|
||||||
[AndWriteNode(0...7)(
|
[AndWriteNode(0...7)(
|
||||||
LocalVariableReadNode(0...1)(:a, 0),
|
LocalVariableWriteNode(0...1)(:a, 0, nil, (0...1), nil),
|
||||||
CallNode(6...7)(nil, nil, (6...7), nil, nil, nil, nil, 2, "b"),
|
CallNode(6...7)(nil, nil, (6...7), nil, nil, nil, nil, 2, "b"),
|
||||||
(2...5)
|
(2...5)
|
||||||
),
|
),
|
||||||
OperatorWriteNode(9...15)(
|
OperatorWriteNode(9...15)(
|
||||||
LocalVariableReadNode(9...10)(:a, 0),
|
LocalVariableWriteNode(9...10)(:a, 0, nil, (9...10), nil),
|
||||||
(11...13),
|
(11...13),
|
||||||
:+,
|
:+,
|
||||||
CallNode(14...15)(nil, nil, (14...15), nil, nil, nil, nil, 2, "b")
|
CallNode(14...15)(nil, nil, (14...15), nil, nil, nil, nil, 2, "b")
|
||||||
),
|
),
|
||||||
OrWriteNode(17...24)(
|
OrWriteNode(17...24)(
|
||||||
LocalVariableReadNode(17...18)(:a, 0),
|
LocalVariableWriteNode(17...18)(:a, 0, nil, (17...18), nil),
|
||||||
CallNode(23...24)(nil, nil, (23...24), nil, nil, nil, nil, 2, "b"),
|
CallNode(23...24)(nil, nil, (23...24), nil, nil, nil, nil, 2, "b"),
|
||||||
(19...22)
|
(19...22)
|
||||||
)]
|
)]
|
||||||
|
@ -9,7 +9,7 @@ ProgramNode(0...78)(
|
|||||||
DefinedNode(27...43)(
|
DefinedNode(27...43)(
|
||||||
(35...36),
|
(35...36),
|
||||||
OperatorWriteNode(36...42)(
|
OperatorWriteNode(36...42)(
|
||||||
LocalVariableReadNode(36...37)(:x, 0),
|
LocalVariableWriteNode(36...37)(:x, 0, nil, (36...37), nil),
|
||||||
(38...40),
|
(38...40),
|
||||||
:%,
|
:%,
|
||||||
IntegerNode(41...42)()
|
IntegerNode(41...42)()
|
||||||
|
@ -2,7 +2,7 @@ ProgramNode(0...18)(
|
|||||||
[:a],
|
[:a],
|
||||||
StatementsNode(0...18)(
|
StatementsNode(0...18)(
|
||||||
[OrWriteNode(0...18)(
|
[OrWriteNode(0...18)(
|
||||||
LocalVariableReadNode(0...1)(:a, 0),
|
LocalVariableWriteNode(0...1)(:a, 0, nil, (0...1), nil),
|
||||||
RescueModifierNode(6...18)(
|
RescueModifierNode(6...18)(
|
||||||
CallNode(6...7)(nil, nil, (6...7), nil, nil, nil, nil, 2, "b"),
|
CallNode(6...7)(nil, nil, (6...7), nil, nil, nil, nil, 2, "b"),
|
||||||
(8...14),
|
(8...14),
|
||||||
|
@ -2,10 +2,14 @@ ProgramNode(0...12)(
|
|||||||
[],
|
[],
|
||||||
StatementsNode(0...12)(
|
StatementsNode(0...12)(
|
||||||
[OrWriteNode(0...12)(
|
[OrWriteNode(0...12)(
|
||||||
ConstantPathNode(0...6)(
|
ConstantPathWriteNode(0...6)(
|
||||||
ConstantPathNode(0...3)(nil, ConstantReadNode(2...3)(), (0...2)),
|
ConstantPathNode(0...6)(
|
||||||
ConstantReadNode(5...6)(),
|
ConstantPathNode(0...3)(nil, ConstantReadNode(2...3)(), (0...2)),
|
||||||
(3...5)
|
ConstantReadNode(5...6)(),
|
||||||
|
(3...5)
|
||||||
|
),
|
||||||
|
nil,
|
||||||
|
nil
|
||||||
),
|
),
|
||||||
IntegerNode(11...12)(),
|
IntegerNode(11...12)(),
|
||||||
(7...10)
|
(7...10)
|
||||||
|
@ -2,7 +2,11 @@ ProgramNode(0...9)(
|
|||||||
[],
|
[],
|
||||||
StatementsNode(0...9)(
|
StatementsNode(0...9)(
|
||||||
[OrWriteNode(0...9)(
|
[OrWriteNode(0...9)(
|
||||||
ConstantPathNode(0...3)(nil, ConstantReadNode(2...3)(), (0...2)),
|
ConstantPathWriteNode(0...3)(
|
||||||
|
ConstantPathNode(0...3)(nil, ConstantReadNode(2...3)(), (0...2)),
|
||||||
|
nil,
|
||||||
|
nil
|
||||||
|
),
|
||||||
IntegerNode(8...9)(),
|
IntegerNode(8...9)(),
|
||||||
(4...7)
|
(4...7)
|
||||||
)]
|
)]
|
||||||
|
@ -2,7 +2,11 @@ ProgramNode(0...8)(
|
|||||||
[],
|
[],
|
||||||
StatementsNode(0...8)(
|
StatementsNode(0...8)(
|
||||||
[OperatorWriteNode(0...8)(
|
[OperatorWriteNode(0...8)(
|
||||||
ConstantPathNode(0...3)(nil, ConstantReadNode(2...3)(), (0...2)),
|
ConstantPathWriteNode(0...3)(
|
||||||
|
ConstantPathNode(0...3)(nil, ConstantReadNode(2...3)(), (0...2)),
|
||||||
|
nil,
|
||||||
|
nil
|
||||||
|
),
|
||||||
(4...6),
|
(4...6),
|
||||||
:&,
|
:&,
|
||||||
IntegerNode(7...8)()
|
IntegerNode(7...8)()
|
||||||
|
@ -2,7 +2,11 @@ ProgramNode(0...9)(
|
|||||||
[],
|
[],
|
||||||
StatementsNode(0...9)(
|
StatementsNode(0...9)(
|
||||||
[AndWriteNode(0...9)(
|
[AndWriteNode(0...9)(
|
||||||
ConstantPathNode(0...3)(nil, ConstantReadNode(2...3)(), (0...2)),
|
ConstantPathWriteNode(0...3)(
|
||||||
|
ConstantPathNode(0...3)(nil, ConstantReadNode(2...3)(), (0...2)),
|
||||||
|
nil,
|
||||||
|
nil
|
||||||
|
),
|
||||||
IntegerNode(8...9)(),
|
IntegerNode(8...9)(),
|
||||||
(4...7)
|
(4...7)
|
||||||
)]
|
)]
|
||||||
|
@ -2,10 +2,14 @@ ProgramNode(0...10)(
|
|||||||
[],
|
[],
|
||||||
StatementsNode(0...10)(
|
StatementsNode(0...10)(
|
||||||
[OrWriteNode(0...10)(
|
[OrWriteNode(0...10)(
|
||||||
ConstantPathNode(0...4)(
|
ConstantPathWriteNode(0...4)(
|
||||||
ConstantReadNode(0...1)(),
|
ConstantPathNode(0...4)(
|
||||||
ConstantReadNode(3...4)(),
|
ConstantReadNode(0...1)(),
|
||||||
(1...3)
|
ConstantReadNode(3...4)(),
|
||||||
|
(1...3)
|
||||||
|
),
|
||||||
|
nil,
|
||||||
|
nil
|
||||||
),
|
),
|
||||||
IntegerNode(9...10)(),
|
IntegerNode(9...10)(),
|
||||||
(5...8)
|
(5...8)
|
||||||
|
@ -10,10 +10,14 @@ ProgramNode(0...15)(
|
|||||||
[ParenthesesNode(2...15)(
|
[ParenthesesNode(2...15)(
|
||||||
StatementsNode(3...14)(
|
StatementsNode(3...14)(
|
||||||
[OperatorWriteNode(3...14)(
|
[OperatorWriteNode(3...14)(
|
||||||
ConstantPathNode(3...7)(
|
ConstantPathWriteNode(3...7)(
|
||||||
ConstantReadNode(3...4)(),
|
ConstantPathNode(3...7)(
|
||||||
ConstantReadNode(6...7)(),
|
ConstantReadNode(3...4)(),
|
||||||
(4...6)
|
ConstantReadNode(6...7)(),
|
||||||
|
(4...6)
|
||||||
|
),
|
||||||
|
nil,
|
||||||
|
nil
|
||||||
),
|
),
|
||||||
(8...10),
|
(8...10),
|
||||||
:*,
|
:*,
|
||||||
|
@ -2,7 +2,7 @@ ProgramNode(0...11)(
|
|||||||
[:a],
|
[:a],
|
||||||
StatementsNode(0...11)(
|
StatementsNode(0...11)(
|
||||||
[OrWriteNode(0...11)(
|
[OrWriteNode(0...11)(
|
||||||
LocalVariableReadNode(0...1)(:a, 0),
|
LocalVariableWriteNode(0...1)(:a, 0, nil, (0...1), nil),
|
||||||
CallNode(6...11)(
|
CallNode(6...11)(
|
||||||
CallNode(6...7)(nil, nil, (6...7), nil, nil, nil, nil, 2, "b"),
|
CallNode(6...7)(nil, nil, (6...7), nil, nil, nil, nil, 2, "b"),
|
||||||
(7...8),
|
(7...8),
|
||||||
|
@ -2,10 +2,14 @@ ProgramNode(0...11)(
|
|||||||
[],
|
[],
|
||||||
StatementsNode(0...11)(
|
StatementsNode(0...11)(
|
||||||
[OperatorWriteNode(0...11)(
|
[OperatorWriteNode(0...11)(
|
||||||
ConstantPathNode(0...4)(
|
ConstantPathWriteNode(0...4)(
|
||||||
ConstantReadNode(0...1)(),
|
ConstantPathNode(0...4)(
|
||||||
ConstantReadNode(3...4)(),
|
ConstantReadNode(0...1)(),
|
||||||
(1...3)
|
ConstantReadNode(3...4)(),
|
||||||
|
(1...3)
|
||||||
|
),
|
||||||
|
nil,
|
||||||
|
nil
|
||||||
),
|
),
|
||||||
(5...7),
|
(5...7),
|
||||||
:*,
|
:*,
|
||||||
|
@ -26,7 +26,7 @@ ProgramNode(0...40)(
|
|||||||
"p"
|
"p"
|
||||||
),
|
),
|
||||||
OperatorWriteNode(18...24)(
|
OperatorWriteNode(18...24)(
|
||||||
LocalVariableReadNode(18...19)(:y, 0),
|
LocalVariableWriteNode(18...19)(:y, 0, nil, (18...19), nil),
|
||||||
(20...22),
|
(20...22),
|
||||||
:*,
|
:*,
|
||||||
IntegerNode(23...24)()
|
IntegerNode(23...24)()
|
||||||
|
@ -2,7 +2,7 @@ ProgramNode(6...34)(
|
|||||||
[:foo],
|
[:foo],
|
||||||
StatementsNode(6...34)(
|
StatementsNode(6...34)(
|
||||||
[OperatorWriteNode(6...24)(
|
[OperatorWriteNode(6...24)(
|
||||||
LocalVariableReadNode(6...9)(:foo, 0),
|
LocalVariableWriteNode(6...9)(:foo, 0, nil, (6...9), nil),
|
||||||
(10...12),
|
(10...12),
|
||||||
:+,
|
:+,
|
||||||
CallNode(21...24)(nil, nil, (21...24), nil, nil, nil, nil, 2, "bar")
|
CallNode(21...24)(nil, nil, (21...24), nil, nil, nil, nil, 2, "bar")
|
||||||
|
@ -611,7 +611,7 @@ ProgramNode(0...704)(
|
|||||||
(543...546)
|
(543...546)
|
||||||
),
|
),
|
||||||
OrWriteNode(551...561)(
|
OrWriteNode(551...561)(
|
||||||
InstanceVariableReadNode(551...553)(),
|
InstanceVariableWriteNode(551...553)((551...553), nil, nil),
|
||||||
StringNode(558...561)((558...560), (560...560), (560...561), ""),
|
StringNode(558...561)((558...560), (560...560), (560...561), ""),
|
||||||
(554...557)
|
(554...557)
|
||||||
),
|
),
|
||||||
@ -704,7 +704,7 @@ ProgramNode(0...704)(
|
|||||||
(665...668)
|
(665...668)
|
||||||
),
|
),
|
||||||
OrWriteNode(687...704)(
|
OrWriteNode(687...704)(
|
||||||
InstanceVariableReadNode(687...689)(),
|
InstanceVariableWriteNode(687...689)((687...689), nil, nil),
|
||||||
InterpolatedStringNode(694...704)(
|
InterpolatedStringNode(694...704)(
|
||||||
(694...704),
|
(694...704),
|
||||||
[StringNode(705...707)(nil, (705...707), nil, " "),
|
[StringNode(705...707)(nil, (705...707), nil, " "),
|
||||||
|
@ -2,42 +2,42 @@ ProgramNode(0...233)(
|
|||||||
[:a, :h],
|
[:a, :h],
|
||||||
StatementsNode(0...233)(
|
StatementsNode(0...233)(
|
||||||
[OperatorWriteNode(0...6)(
|
[OperatorWriteNode(0...6)(
|
||||||
LocalVariableReadNode(0...1)(:a, 0),
|
LocalVariableWriteNode(0...1)(:a, 0, nil, (0...1), nil),
|
||||||
(2...4),
|
(2...4),
|
||||||
:+,
|
:+,
|
||||||
IntegerNode(5...6)()
|
IntegerNode(5...6)()
|
||||||
),
|
),
|
||||||
OperatorWriteNode(7...13)(
|
OperatorWriteNode(7...13)(
|
||||||
LocalVariableReadNode(7...8)(:a, 0),
|
LocalVariableWriteNode(7...8)(:a, 0, nil, (7...8), nil),
|
||||||
(9...11),
|
(9...11),
|
||||||
:-,
|
:-,
|
||||||
IntegerNode(12...13)()
|
IntegerNode(12...13)()
|
||||||
),
|
),
|
||||||
OperatorWriteNode(14...21)(
|
OperatorWriteNode(14...21)(
|
||||||
LocalVariableReadNode(14...15)(:a, 0),
|
LocalVariableWriteNode(14...15)(:a, 0, nil, (14...15), nil),
|
||||||
(16...19),
|
(16...19),
|
||||||
:**,
|
:**,
|
||||||
IntegerNode(20...21)()
|
IntegerNode(20...21)()
|
||||||
),
|
),
|
||||||
OperatorWriteNode(22...28)(
|
OperatorWriteNode(22...28)(
|
||||||
LocalVariableReadNode(22...23)(:a, 0),
|
LocalVariableWriteNode(22...23)(:a, 0, nil, (22...23), nil),
|
||||||
(24...26),
|
(24...26),
|
||||||
:*,
|
:*,
|
||||||
IntegerNode(27...28)()
|
IntegerNode(27...28)()
|
||||||
),
|
),
|
||||||
OperatorWriteNode(29...35)(
|
OperatorWriteNode(29...35)(
|
||||||
LocalVariableReadNode(29...30)(:a, 0),
|
LocalVariableWriteNode(29...30)(:a, 0, nil, (29...30), nil),
|
||||||
(31...33),
|
(31...33),
|
||||||
:/,
|
:/,
|
||||||
IntegerNode(34...35)()
|
IntegerNode(34...35)()
|
||||||
),
|
),
|
||||||
AndWriteNode(36...43)(
|
AndWriteNode(36...43)(
|
||||||
LocalVariableReadNode(36...37)(:a, 0),
|
LocalVariableWriteNode(36...37)(:a, 0, nil, (36...37), nil),
|
||||||
CallNode(42...43)(nil, nil, (42...43), nil, nil, nil, nil, 2, "b"),
|
CallNode(42...43)(nil, nil, (42...43), nil, nil, nil, nil, 2, "b"),
|
||||||
(38...41)
|
(38...41)
|
||||||
),
|
),
|
||||||
OrWriteNode(44...51)(
|
OrWriteNode(44...51)(
|
||||||
LocalVariableReadNode(44...45)(:a, 0),
|
LocalVariableWriteNode(44...45)(:a, 0, nil, (44...45), nil),
|
||||||
IntegerNode(50...51)(),
|
IntegerNode(50...51)(),
|
||||||
(46...49)
|
(46...49)
|
||||||
),
|
),
|
||||||
@ -45,7 +45,7 @@ ProgramNode(0...233)(
|
|||||||
ParenthesesNode(52...61)(
|
ParenthesesNode(52...61)(
|
||||||
StatementsNode(53...60)(
|
StatementsNode(53...60)(
|
||||||
[OrWriteNode(53...60)(
|
[OrWriteNode(53...60)(
|
||||||
LocalVariableReadNode(53...54)(:a, 0),
|
LocalVariableWriteNode(53...54)(:a, 0, nil, (53...54), nil),
|
||||||
IntegerNode(59...60)(),
|
IntegerNode(59...60)(),
|
||||||
(55...58)
|
(55...58)
|
||||||
)]
|
)]
|
||||||
@ -66,7 +66,7 @@ ProgramNode(0...233)(
|
|||||||
ParenthesesNode(66...76)(
|
ParenthesesNode(66...76)(
|
||||||
StatementsNode(67...75)(
|
StatementsNode(67...75)(
|
||||||
[OrWriteNode(67...75)(
|
[OrWriteNode(67...75)(
|
||||||
LocalVariableReadNode(67...68)(:h, 0),
|
LocalVariableWriteNode(67...68)(:h, 0, nil, (67...68), nil),
|
||||||
HashNode(73...75)((73...74), [], (74...75)),
|
HashNode(73...75)((73...74), [], (74...75)),
|
||||||
(69...72)
|
(69...72)
|
||||||
)]
|
)]
|
||||||
|
@ -7,7 +7,7 @@ ProgramNode(0...999)(
|
|||||||
ConstantReadNode(7...8)(),
|
ConstantReadNode(7...8)(),
|
||||||
StatementsNode(11...31)(
|
StatementsNode(11...31)(
|
||||||
[OrWriteNode(11...31)(
|
[OrWriteNode(11...31)(
|
||||||
LocalVariableReadNode(11...14)(:foo, 0),
|
LocalVariableWriteNode(11...14)(:foo, 0, nil, (11...14), nil),
|
||||||
ParenthesesNode(19...31)(
|
ParenthesesNode(19...31)(
|
||||||
StatementsNode(21...30)(
|
StatementsNode(21...30)(
|
||||||
[MultiWriteNode(21...30)(
|
[MultiWriteNode(21...30)(
|
||||||
|
@ -2,22 +2,30 @@ ProgramNode(0...77)(
|
|||||||
[],
|
[],
|
||||||
StatementsNode(0...77)(
|
StatementsNode(0...77)(
|
||||||
[OperatorWriteNode(0...8)(
|
[OperatorWriteNode(0...8)(
|
||||||
ConstantPathNode(0...3)(nil, ConstantReadNode(2...3)(), (0...2)),
|
ConstantPathWriteNode(0...3)(
|
||||||
|
ConstantPathNode(0...3)(nil, ConstantReadNode(2...3)(), (0...2)),
|
||||||
|
nil,
|
||||||
|
nil
|
||||||
|
),
|
||||||
(4...6),
|
(4...6),
|
||||||
:+,
|
:+,
|
||||||
IntegerNode(7...8)()
|
IntegerNode(7...8)()
|
||||||
),
|
),
|
||||||
OperatorWriteNode(10...16)(
|
OperatorWriteNode(10...16)(
|
||||||
ConstantReadNode(10...11)(),
|
ConstantWriteNode(10...11)((10...11), nil, nil),
|
||||||
(12...14),
|
(12...14),
|
||||||
:+,
|
:+,
|
||||||
IntegerNode(15...16)()
|
IntegerNode(15...16)()
|
||||||
),
|
),
|
||||||
OperatorWriteNode(18...27)(
|
OperatorWriteNode(18...27)(
|
||||||
ConstantPathNode(18...22)(
|
ConstantPathWriteNode(18...22)(
|
||||||
ConstantReadNode(18...19)(),
|
ConstantPathNode(18...22)(
|
||||||
ConstantReadNode(21...22)(),
|
ConstantReadNode(18...19)(),
|
||||||
(19...21)
|
ConstantReadNode(21...22)(),
|
||||||
|
(19...21)
|
||||||
|
),
|
||||||
|
nil,
|
||||||
|
nil
|
||||||
),
|
),
|
||||||
(23...25),
|
(23...25),
|
||||||
:+,
|
:+,
|
||||||
@ -29,10 +37,14 @@ ProgramNode(0...77)(
|
|||||||
nil,
|
nil,
|
||||||
StatementsNode(36...45)(
|
StatementsNode(36...45)(
|
||||||
[OrWriteNode(36...45)(
|
[OrWriteNode(36...45)(
|
||||||
ConstantPathNode(36...39)(
|
ConstantPathWriteNode(36...39)(
|
||||||
|
ConstantPathNode(36...39)(
|
||||||
|
nil,
|
||||||
|
ConstantReadNode(38...39)(),
|
||||||
|
(36...38)
|
||||||
|
),
|
||||||
nil,
|
nil,
|
||||||
ConstantReadNode(38...39)(),
|
nil
|
||||||
(36...38)
|
|
||||||
),
|
),
|
||||||
IntegerNode(44...45)(),
|
IntegerNode(44...45)(),
|
||||||
(40...43)
|
(40...43)
|
||||||
@ -52,10 +64,14 @@ ProgramNode(0...77)(
|
|||||||
nil,
|
nil,
|
||||||
StatementsNode(59...72)(
|
StatementsNode(59...72)(
|
||||||
[OrWriteNode(59...72)(
|
[OrWriteNode(59...72)(
|
||||||
ConstantPathNode(59...66)(
|
ConstantPathWriteNode(59...66)(
|
||||||
SelfNode(59...63)(),
|
ConstantPathNode(59...66)(
|
||||||
ConstantReadNode(65...66)(),
|
SelfNode(59...63)(),
|
||||||
(63...65)
|
ConstantReadNode(65...66)(),
|
||||||
|
(63...65)
|
||||||
|
),
|
||||||
|
nil,
|
||||||
|
nil
|
||||||
),
|
),
|
||||||
IntegerNode(71...72)(),
|
IntegerNode(71...72)(),
|
||||||
(67...70)
|
(67...70)
|
||||||
|
@ -78,10 +78,24 @@ ProgramNode(0...64)(
|
|||||||
:+
|
:+
|
||||||
),
|
),
|
||||||
OperatorWriteNode(32...47)(
|
OperatorWriteNode(32...47)(
|
||||||
ConstantPathNode(32...38)(
|
ConstantPathWriteNode(32...38)(
|
||||||
CallNode(32...35)(nil, nil, (32...35), nil, nil, nil, nil, 2, "foo"),
|
ConstantPathNode(32...38)(
|
||||||
ConstantReadNode(37...38)(),
|
CallNode(32...35)(
|
||||||
(35...37)
|
nil,
|
||||||
|
nil,
|
||||||
|
(32...35),
|
||||||
|
nil,
|
||||||
|
nil,
|
||||||
|
nil,
|
||||||
|
nil,
|
||||||
|
2,
|
||||||
|
"foo"
|
||||||
|
),
|
||||||
|
ConstantReadNode(37...38)(),
|
||||||
|
(35...37)
|
||||||
|
),
|
||||||
|
nil,
|
||||||
|
nil
|
||||||
),
|
),
|
||||||
(39...41),
|
(39...41),
|
||||||
:+,
|
:+,
|
||||||
|
@ -2,7 +2,7 @@ ProgramNode(0...22)(
|
|||||||
[:foo],
|
[:foo],
|
||||||
StatementsNode(0...22)(
|
StatementsNode(0...22)(
|
||||||
[OperatorWriteNode(0...22)(
|
[OperatorWriteNode(0...22)(
|
||||||
LocalVariableReadNode(0...3)(:foo, 0),
|
LocalVariableWriteNode(0...3)(:foo, 0, nil, (0...3), nil),
|
||||||
(4...6),
|
(4...6),
|
||||||
:+,
|
:+,
|
||||||
RescueModifierNode(7...22)(
|
RescueModifierNode(7...22)(
|
||||||
|
@ -2,7 +2,7 @@ ProgramNode(0...437)(
|
|||||||
[:foo],
|
[:foo],
|
||||||
StatementsNode(0...437)(
|
StatementsNode(0...437)(
|
||||||
[OperatorWriteNode(0...27)(
|
[OperatorWriteNode(0...27)(
|
||||||
LocalVariableReadNode(0...3)(:foo, 0),
|
LocalVariableWriteNode(0...3)(:foo, 0, nil, (0...3), nil),
|
||||||
(4...6),
|
(4...6),
|
||||||
:+,
|
:+,
|
||||||
CallNode(7...27)(
|
CallNode(7...27)(
|
||||||
@ -34,7 +34,7 @@ ProgramNode(0...437)(
|
|||||||
)
|
)
|
||||||
),
|
),
|
||||||
OperatorWriteNode(29...57)(
|
OperatorWriteNode(29...57)(
|
||||||
LocalVariableReadNode(29...32)(:foo, 0),
|
LocalVariableWriteNode(29...32)(:foo, 0, nil, (29...32), nil),
|
||||||
(33...35),
|
(33...35),
|
||||||
:+,
|
:+,
|
||||||
RescueModifierNode(36...57)(
|
RescueModifierNode(36...57)(
|
||||||
@ -300,10 +300,14 @@ ProgramNode(0...437)(
|
|||||||
:+
|
:+
|
||||||
),
|
),
|
||||||
OrWriteNode(242...273)(
|
OrWriteNode(242...273)(
|
||||||
ConstantPathNode(242...248)(
|
ConstantPathWriteNode(242...248)(
|
||||||
LocalVariableReadNode(242...245)(:foo, 0),
|
ConstantPathNode(242...248)(
|
||||||
ConstantReadNode(247...248)(),
|
LocalVariableReadNode(242...245)(:foo, 0),
|
||||||
(245...247)
|
ConstantReadNode(247...248)(),
|
||||||
|
(245...247)
|
||||||
|
),
|
||||||
|
nil,
|
||||||
|
nil
|
||||||
),
|
),
|
||||||
CallNode(253...273)(
|
CallNode(253...273)(
|
||||||
nil,
|
nil,
|
||||||
@ -335,10 +339,14 @@ ProgramNode(0...437)(
|
|||||||
(249...252)
|
(249...252)
|
||||||
),
|
),
|
||||||
OrWriteNode(275...307)(
|
OrWriteNode(275...307)(
|
||||||
ConstantPathNode(275...281)(
|
ConstantPathWriteNode(275...281)(
|
||||||
LocalVariableReadNode(275...278)(:foo, 0),
|
ConstantPathNode(275...281)(
|
||||||
ConstantReadNode(280...281)(),
|
LocalVariableReadNode(275...278)(:foo, 0),
|
||||||
(278...280)
|
ConstantReadNode(280...281)(),
|
||||||
|
(278...280)
|
||||||
|
),
|
||||||
|
nil,
|
||||||
|
nil
|
||||||
),
|
),
|
||||||
RescueModifierNode(286...307)(
|
RescueModifierNode(286...307)(
|
||||||
CallNode(286...296)(
|
CallNode(286...296)(
|
||||||
|
@ -2,11 +2,11 @@ ProgramNode(0...74)(
|
|||||||
[:a, :b],
|
[:a, :b],
|
||||||
StatementsNode(0...74)(
|
StatementsNode(0...74)(
|
||||||
[OperatorWriteNode(0...18)(
|
[OperatorWriteNode(0...18)(
|
||||||
LocalVariableReadNode(0...1)(:a, 0),
|
LocalVariableWriteNode(0...1)(:a, 0, nil, (0...1), nil),
|
||||||
(2...4),
|
(2...4),
|
||||||
:+,
|
:+,
|
||||||
OperatorWriteNode(5...18)(
|
OperatorWriteNode(5...18)(
|
||||||
LocalVariableReadNode(5...6)(:b, 0),
|
LocalVariableWriteNode(5...6)(:b, 0, nil, (5...6), nil),
|
||||||
(7...9),
|
(7...9),
|
||||||
:+,
|
:+,
|
||||||
CallNode(10...18)(
|
CallNode(10...18)(
|
||||||
@ -25,7 +25,7 @@ ProgramNode(0...74)(
|
|||||||
)
|
)
|
||||||
),
|
),
|
||||||
OperatorWriteNode(20...37)(
|
OperatorWriteNode(20...37)(
|
||||||
LocalVariableReadNode(20...21)(:a, 0),
|
LocalVariableWriteNode(20...21)(:a, 0, nil, (20...21), nil),
|
||||||
(22...24),
|
(22...24),
|
||||||
:+,
|
:+,
|
||||||
LocalVariableWriteNode(25...37)(
|
LocalVariableWriteNode(25...37)(
|
||||||
@ -52,7 +52,7 @@ ProgramNode(0...74)(
|
|||||||
:a,
|
:a,
|
||||||
0,
|
0,
|
||||||
OperatorWriteNode(43...56)(
|
OperatorWriteNode(43...56)(
|
||||||
LocalVariableReadNode(43...44)(:b, 0),
|
LocalVariableWriteNode(43...44)(:b, 0, nil, (43...44), nil),
|
||||||
(45...47),
|
(45...47),
|
||||||
:+,
|
:+,
|
||||||
CallNode(48...56)(
|
CallNode(48...56)(
|
||||||
|
@ -2,7 +2,7 @@ ProgramNode(0...7)(
|
|||||||
[:a],
|
[:a],
|
||||||
StatementsNode(0...7)(
|
StatementsNode(0...7)(
|
||||||
[AndWriteNode(0...7)(
|
[AndWriteNode(0...7)(
|
||||||
LocalVariableReadNode(0...1)(:a, 0),
|
LocalVariableWriteNode(0...1)(:a, 0, nil, (0...1), nil),
|
||||||
IntegerNode(6...7)(),
|
IntegerNode(6...7)(),
|
||||||
(2...5)
|
(2...5)
|
||||||
)]
|
)]
|
||||||
|
@ -2,19 +2,19 @@ ProgramNode(0...53)(
|
|||||||
[:a],
|
[:a],
|
||||||
StatementsNode(0...53)(
|
StatementsNode(0...53)(
|
||||||
[OperatorWriteNode(0...11)(
|
[OperatorWriteNode(0...11)(
|
||||||
ClassVariableReadNode(0...5)(),
|
ClassVariableWriteNode(0...5)((0...5), nil, nil),
|
||||||
(6...8),
|
(6...8),
|
||||||
:|,
|
:|,
|
||||||
IntegerNode(9...11)()
|
IntegerNode(9...11)()
|
||||||
),
|
),
|
||||||
OperatorWriteNode(13...20)(
|
OperatorWriteNode(13...20)(
|
||||||
InstanceVariableReadNode(13...15)(),
|
InstanceVariableWriteNode(13...15)((13...15), nil, nil),
|
||||||
(16...18),
|
(16...18),
|
||||||
:|,
|
:|,
|
||||||
IntegerNode(19...20)()
|
IntegerNode(19...20)()
|
||||||
),
|
),
|
||||||
OperatorWriteNode(22...28)(
|
OperatorWriteNode(22...28)(
|
||||||
LocalVariableReadNode(22...23)(:a, 0),
|
LocalVariableWriteNode(22...23)(:a, 0, nil, (22...23), nil),
|
||||||
(24...26),
|
(24...26),
|
||||||
:+,
|
:+,
|
||||||
IntegerNode(27...28)()
|
IntegerNode(27...28)()
|
||||||
@ -25,7 +25,7 @@ ProgramNode(0...53)(
|
|||||||
nil,
|
nil,
|
||||||
StatementsNode(37...48)(
|
StatementsNode(37...48)(
|
||||||
[OperatorWriteNode(37...48)(
|
[OperatorWriteNode(37...48)(
|
||||||
ClassVariableReadNode(37...42)(),
|
ClassVariableWriteNode(37...42)((37...42), nil, nil),
|
||||||
(43...45),
|
(43...45),
|
||||||
:|,
|
:|,
|
||||||
IntegerNode(46...48)()
|
IntegerNode(46...48)()
|
||||||
|
@ -2,7 +2,7 @@ ProgramNode(0...12)(
|
|||||||
[:foo],
|
[:foo],
|
||||||
StatementsNode(0...12)(
|
StatementsNode(0...12)(
|
||||||
[OperatorWriteNode(0...12)(
|
[OperatorWriteNode(0...12)(
|
||||||
LocalVariableReadNode(0...3)(:foo, 0),
|
LocalVariableWriteNode(0...3)(:foo, 0, nil, (0...3), nil),
|
||||||
(4...6),
|
(4...6),
|
||||||
:+,
|
:+,
|
||||||
CallNode(7...12)(
|
CallNode(7...12)(
|
||||||
|
@ -2,7 +2,7 @@ ProgramNode(0...7)(
|
|||||||
[:a],
|
[:a],
|
||||||
StatementsNode(0...7)(
|
StatementsNode(0...7)(
|
||||||
[OrWriteNode(0...7)(
|
[OrWriteNode(0...7)(
|
||||||
LocalVariableReadNode(0...1)(:a, 0),
|
LocalVariableWriteNode(0...1)(:a, 0, nil, (0...1), nil),
|
||||||
IntegerNode(6...7)(),
|
IntegerNode(6...7)(),
|
||||||
(2...5)
|
(2...5)
|
||||||
)]
|
)]
|
||||||
|
37
yarp/yarp.c
37
yarp/yarp.c
@ -12261,6 +12261,10 @@ parse_expression_infix(yp_parser_t *parser, yp_node_t *node, yp_binding_power_t
|
|||||||
case YP_NODE_INSTANCE_VARIABLE_READ_NODE:
|
case YP_NODE_INSTANCE_VARIABLE_READ_NODE:
|
||||||
case YP_NODE_LOCAL_VARIABLE_READ_NODE: {
|
case YP_NODE_LOCAL_VARIABLE_READ_NODE: {
|
||||||
parser_lex(parser);
|
parser_lex(parser);
|
||||||
|
|
||||||
|
yp_token_t operator = not_provided(parser);
|
||||||
|
node = parse_target(parser, node, &operator, NULL);
|
||||||
|
|
||||||
yp_node_t *value = parse_expression(parser, binding_power, "Expected a value after &&=");
|
yp_node_t *value = parse_expression(parser, binding_power, "Expected a value after &&=");
|
||||||
return (yp_node_t *) yp_and_write_node_create(parser, node, &token, value);
|
return (yp_node_t *) yp_and_write_node_create(parser, node, &token, value);
|
||||||
}
|
}
|
||||||
@ -12279,11 +12283,12 @@ parse_expression_infix(yp_parser_t *parser, yp_node_t *node, yp_binding_power_t
|
|||||||
}
|
}
|
||||||
|
|
||||||
parser_lex(parser);
|
parser_lex(parser);
|
||||||
yp_node_t *target = (yp_node_t *) yp_local_variable_read_node_create(parser, &(yp_token_t) { .type = YP_TOKEN_IDENTIFIER, .start = message_loc.start, .end = message_loc.end }, 0);
|
|
||||||
yp_node_t *value = parse_expression(parser, binding_power, "Expected a value after &&=");
|
|
||||||
|
|
||||||
yp_node_destroy(parser, node);
|
yp_token_t operator = not_provided(parser);
|
||||||
return (yp_node_t *) yp_and_write_node_create(parser, target, &token, value);
|
node = parse_target(parser, node, &operator, NULL);
|
||||||
|
|
||||||
|
yp_node_t *value = parse_expression(parser, binding_power, "Expected a value after &&=");
|
||||||
|
return (yp_node_t *) yp_and_write_node_create(parser, node, &token, value);
|
||||||
}
|
}
|
||||||
|
|
||||||
parser_lex(parser);
|
parser_lex(parser);
|
||||||
@ -12323,6 +12328,9 @@ parse_expression_infix(yp_parser_t *parser, yp_node_t *node, yp_binding_power_t
|
|||||||
case YP_NODE_LOCAL_VARIABLE_READ_NODE: {
|
case YP_NODE_LOCAL_VARIABLE_READ_NODE: {
|
||||||
parser_lex(parser);
|
parser_lex(parser);
|
||||||
|
|
||||||
|
yp_token_t operator = not_provided(parser);
|
||||||
|
node = parse_target(parser, node, &operator, NULL);
|
||||||
|
|
||||||
yp_node_t *value = parse_expression(parser, binding_power, "Expected a value after ||=");
|
yp_node_t *value = parse_expression(parser, binding_power, "Expected a value after ||=");
|
||||||
return (yp_node_t *) yp_or_write_node_create(parser, node, &token, value);
|
return (yp_node_t *) yp_or_write_node_create(parser, node, &token, value);
|
||||||
}
|
}
|
||||||
@ -12341,11 +12349,12 @@ parse_expression_infix(yp_parser_t *parser, yp_node_t *node, yp_binding_power_t
|
|||||||
}
|
}
|
||||||
|
|
||||||
parser_lex(parser);
|
parser_lex(parser);
|
||||||
yp_node_t *target = (yp_node_t *) yp_local_variable_read_node_create(parser, &(yp_token_t) { .type = YP_TOKEN_IDENTIFIER, .start = message_loc.start, .end = message_loc.end }, 0);
|
|
||||||
yp_node_t *value = parse_expression(parser, binding_power, "Expected a value after ||=");
|
|
||||||
|
|
||||||
yp_node_destroy(parser, node);
|
yp_token_t operator = not_provided(parser);
|
||||||
return (yp_node_t *) yp_or_write_node_create(parser, target, &token, value);
|
node = parse_target(parser, node, &operator, NULL);
|
||||||
|
|
||||||
|
yp_node_t *value = parse_expression(parser, binding_power, "Expected a value after ||=");
|
||||||
|
return (yp_node_t *) yp_or_write_node_create(parser, node, &token, value);
|
||||||
}
|
}
|
||||||
|
|
||||||
parser_lex(parser);
|
parser_lex(parser);
|
||||||
@ -12395,6 +12404,9 @@ parse_expression_infix(yp_parser_t *parser, yp_node_t *node, yp_binding_power_t
|
|||||||
case YP_NODE_LOCAL_VARIABLE_READ_NODE: {
|
case YP_NODE_LOCAL_VARIABLE_READ_NODE: {
|
||||||
parser_lex(parser);
|
parser_lex(parser);
|
||||||
|
|
||||||
|
yp_token_t operator = not_provided(parser);
|
||||||
|
node = parse_target(parser, node, &operator, NULL);
|
||||||
|
|
||||||
yp_node_t *value = parse_expression(parser, binding_power, "Expected a value after the operator");
|
yp_node_t *value = parse_expression(parser, binding_power, "Expected a value after the operator");
|
||||||
return (yp_node_t *) yp_operator_write_node_create(parser, node, &token, value);
|
return (yp_node_t *) yp_operator_write_node_create(parser, node, &token, value);
|
||||||
}
|
}
|
||||||
@ -12413,11 +12425,12 @@ parse_expression_infix(yp_parser_t *parser, yp_node_t *node, yp_binding_power_t
|
|||||||
}
|
}
|
||||||
|
|
||||||
parser_lex(parser);
|
parser_lex(parser);
|
||||||
yp_node_t *target = (yp_node_t *) yp_local_variable_read_node_create(parser, &(yp_token_t) { .type = YP_TOKEN_IDENTIFIER, .start = message_loc.start, .end = message_loc.end }, 0);
|
|
||||||
yp_node_t *value = parse_expression(parser, binding_power, "Expected a value after &&=");
|
|
||||||
|
|
||||||
yp_node_destroy(parser, node);
|
yp_token_t operator = not_provided(parser);
|
||||||
return (yp_node_t *) yp_operator_write_node_create(parser, target, &token, value);
|
node = parse_target(parser, node, &operator, NULL);
|
||||||
|
|
||||||
|
yp_node_t *value = parse_expression(parser, binding_power, "Expected a value after &&=");
|
||||||
|
return (yp_node_t *) yp_operator_write_node_create(parser, node, &token, value);
|
||||||
}
|
}
|
||||||
|
|
||||||
yp_token_t operator = not_provided(parser);
|
yp_token_t operator = not_provided(parser);
|
||||||
|
Loading…
x
Reference in New Issue
Block a user