[ruby/yarp] Add constants and constants

https://github.com/ruby/yarp/commit/d7eaa89bc3
This commit is contained in:
Kevin Newton 2023-09-05 13:53:37 -04:00 committed by git
parent 6778d2c582
commit 4c9a036606
99 changed files with 478 additions and 411 deletions

View File

@ -8,7 +8,7 @@ module YARP
#
# @@foo && @@foo = bar
def visit_class_variable_and_write_node(node)
desugar_and_write_node(node, ClassVariableReadNode, ClassVariableWriteNode, arguments: [node.name])
desugar_and_write_node(node, ClassVariableReadNode, ClassVariableWriteNode, node.name)
end
# @@foo ||= bar
@ -17,7 +17,7 @@ module YARP
#
# defined?(@@foo) ? @@foo : @@foo = bar
def visit_class_variable_or_write_node(node)
desugar_or_write_defined_node(node, ClassVariableReadNode, ClassVariableWriteNode, arguments: [node.name])
desugar_or_write_defined_node(node, ClassVariableReadNode, ClassVariableWriteNode, node.name)
end
# @@foo += bar
@ -26,7 +26,7 @@ module YARP
#
# @@foo = @@foo + bar
def visit_class_variable_operator_write_node(node)
desugar_operator_write_node(node, ClassVariableReadNode, ClassVariableWriteNode, arguments: [node.name])
desugar_operator_write_node(node, ClassVariableReadNode, ClassVariableWriteNode, node.name)
end
# Foo &&= bar
@ -35,7 +35,7 @@ module YARP
#
# Foo && Foo = bar
def visit_constant_and_write_node(node)
desugar_and_write_node(node, ConstantReadNode, ConstantWriteNode)
desugar_and_write_node(node, ConstantReadNode, ConstantWriteNode, node.name)
end
# Foo ||= bar
@ -44,7 +44,7 @@ module YARP
#
# defined?(Foo) ? Foo : Foo = bar
def visit_constant_or_write_node(node)
desugar_or_write_defined_node(node, ConstantReadNode, ConstantWriteNode)
desugar_or_write_defined_node(node, ConstantReadNode, ConstantWriteNode, node.name)
end
# Foo += bar
@ -53,7 +53,7 @@ module YARP
#
# Foo = Foo + bar
def visit_constant_operator_write_node(node)
desugar_operator_write_node(node, ConstantReadNode, ConstantWriteNode)
desugar_operator_write_node(node, ConstantReadNode, ConstantWriteNode, node.name)
end
# $foo &&= bar
@ -62,7 +62,7 @@ module YARP
#
# $foo && $foo = bar
def visit_global_variable_and_write_node(node)
desugar_and_write_node(node, GlobalVariableReadNode, GlobalVariableWriteNode, arguments: [node.name])
desugar_and_write_node(node, GlobalVariableReadNode, GlobalVariableWriteNode, node.name)
end
# $foo ||= bar
@ -71,7 +71,7 @@ module YARP
#
# defined?($foo) ? $foo : $foo = bar
def visit_global_variable_or_write_node(node)
desugar_or_write_defined_node(node, GlobalVariableReadNode, GlobalVariableWriteNode, arguments: [node.name])
desugar_or_write_defined_node(node, GlobalVariableReadNode, GlobalVariableWriteNode, node.name)
end
# $foo += bar
@ -80,7 +80,7 @@ module YARP
#
# $foo = $foo + bar
def visit_global_variable_operator_write_node(node)
desugar_operator_write_node(node, GlobalVariableReadNode, GlobalVariableWriteNode, arguments: [node.name])
desugar_operator_write_node(node, GlobalVariableReadNode, GlobalVariableWriteNode, node.name)
end
# @foo &&= bar
@ -89,7 +89,7 @@ module YARP
#
# @foo && @foo = bar
def visit_instance_variable_and_write_node(node)
desugar_and_write_node(node, InstanceVariableReadNode, InstanceVariableWriteNode, arguments: [node.name])
desugar_and_write_node(node, InstanceVariableReadNode, InstanceVariableWriteNode, node.name)
end
# @foo ||= bar
@ -98,7 +98,7 @@ module YARP
#
# @foo || @foo = bar
def visit_instance_variable_or_write_node(node)
desugar_or_write_node(node, InstanceVariableReadNode, InstanceVariableWriteNode, arguments: [node.name])
desugar_or_write_node(node, InstanceVariableReadNode, InstanceVariableWriteNode, node.name)
end
# @foo += bar
@ -107,7 +107,7 @@ module YARP
#
# @foo = @foo + bar
def visit_instance_variable_operator_write_node(node)
desugar_operator_write_node(node, InstanceVariableReadNode, InstanceVariableWriteNode, arguments: [node.name])
desugar_operator_write_node(node, InstanceVariableReadNode, InstanceVariableWriteNode, node.name)
end
# foo &&= bar
@ -116,7 +116,7 @@ module YARP
#
# foo && foo = bar
def visit_local_variable_and_write_node(node)
desugar_and_write_node(node, LocalVariableReadNode, LocalVariableWriteNode, arguments: [node.name, node.depth])
desugar_and_write_node(node, LocalVariableReadNode, LocalVariableWriteNode, node.name, node.depth)
end
# foo ||= bar
@ -125,7 +125,7 @@ module YARP
#
# foo || foo = bar
def visit_local_variable_or_write_node(node)
desugar_or_write_node(node, LocalVariableReadNode, LocalVariableWriteNode, arguments: [node.name, node.depth])
desugar_or_write_node(node, LocalVariableReadNode, LocalVariableWriteNode, node.name, node.depth)
end
# foo += bar
@ -134,13 +134,13 @@ module YARP
#
# foo = foo + bar
def visit_local_variable_operator_write_node(node)
desugar_operator_write_node(node, LocalVariableReadNode, LocalVariableWriteNode, arguments: [node.name, node.depth])
desugar_operator_write_node(node, LocalVariableReadNode, LocalVariableWriteNode, node.name, node.depth)
end
private
# Desugar `x &&= y` to `x && x = y`
def desugar_and_write_node(node, read_class, write_class, arguments: [])
def desugar_and_write_node(node, read_class, write_class, *arguments)
AndNode.new(
read_class.new(*arguments, node.name_loc),
write_class.new(*arguments, node.name_loc, node.value, node.operator_loc, node.location),
@ -150,7 +150,7 @@ module YARP
end
# Desugar `x += y` to `x = x + y`
def desugar_operator_write_node(node, read_class, write_class, arguments: [])
def desugar_operator_write_node(node, read_class, write_class, *arguments)
write_class.new(
*arguments,
node.name_loc,
@ -172,7 +172,7 @@ module YARP
end
# Desugar `x ||= y` to `x || x = y`
def desugar_or_write_node(node, read_class, write_class, arguments: [])
def desugar_or_write_node(node, read_class, write_class, *arguments)
OrNode.new(
read_class.new(*arguments, node.name_loc),
write_class.new(*arguments, node.name_loc, node.value, node.operator_loc, node.location),
@ -182,7 +182,7 @@ module YARP
end
# Desugar `x ||= y` to `defined?(x) ? x : x = y`
def desugar_or_write_defined_node(node, read_class, write_class, arguments: [])
def desugar_or_write_defined_node(node, read_class, write_class, *arguments)
IfNode.new(
node.operator_loc,
DefinedNode.new(nil, read_class.new(*arguments, node.name_loc), nil, node.operator_loc, node.name_loc),

View File

@ -17,7 +17,7 @@ module YARP
expected = ModuleNode(
[],
Location(),
ConstantReadNode(),
ConstantReadNode(:Parent),
StatementsNode(
[ModuleNode([], Location(), MissingNode(), nil, Location(), "")]
),
@ -393,7 +393,7 @@ module YARP
Location(),
nil,
nil,
StatementsNode([ModuleNode([], Location(), ConstantReadNode(), nil, Location(), "A")]),
StatementsNode([ModuleNode([], Location(), ConstantReadNode(:A), nil, Location(), "A")]),
[],
Location(),
nil,
@ -424,7 +424,7 @@ module YARP
BlockNode(
[],
nil,
StatementsNode([ModuleNode([], Location(), ConstantReadNode(), nil, Location(), "Foo")]),
StatementsNode([ModuleNode([], Location(), ConstantReadNode(:Foo), nil, Location(), "Foo")]),
Location(),
Location()
),
@ -459,7 +459,7 @@ module YARP
[ClassNode(
[],
Location(),
ConstantReadNode(),
ConstantReadNode(:A),
nil,
nil,
nil,
@ -974,7 +974,7 @@ module YARP
expected = ClassNode(
[],
Location(),
ConstantReadNode(),
ConstantReadNode(:A),
nil,
nil,
StatementsNode([ReturnNode(Location(), nil)]),
@ -991,7 +991,7 @@ module YARP
expected = ModuleNode(
[],
Location(),
ConstantReadNode(),
ConstantReadNode(:A),
StatementsNode([ReturnNode(Location(), nil)]),
Location(),
"A"

View File

@ -86,7 +86,7 @@ ProgramNode(0...211)(
(118...124),
StatementsNode(125...199)(
[CallNode(125...199)(
ConstantReadNode(125...131)(),
ConstantReadNode(125...131)(:Module),
(131...132),
(132...135),
nil,
@ -107,7 +107,9 @@ ProgramNode(0...211)(
(161...167),
StatementsNode(168...189)(
[CallNode(168...189)(
ConstantReadNode(168...174)(),
ConstantReadNode(168...174)(
:Module
),
(174...175),
(175...178),
nil,

View File

@ -221,7 +221,7 @@ ProgramNode(0...578)(
),
RescueNode(187...265)(
(187...193),
[ConstantReadNode(194...203)()],
[ConstantReadNode(194...203)(:Exception)],
(204...206),
LocalVariableTargetNode(207...209)(:ex, 0),
StatementsNode(212...213)(
@ -239,7 +239,8 @@ ProgramNode(0...578)(
),
RescueNode(214...265)(
(214...220),
[ConstantReadNode(221...237)(), ConstantReadNode(239...255)()],
[ConstantReadNode(221...237)(:AnotherException),
ConstantReadNode(239...255)(:OneMoreException)],
(256...258),
LocalVariableTargetNode(259...261)(:ex, 0),
StatementsNode(264...265)(
@ -279,7 +280,7 @@ ProgramNode(0...578)(
),
RescueNode(281...307)(
(281...287),
[ConstantReadNode(288...297)()],
[ConstantReadNode(288...297)(:Exception)],
(298...300),
LocalVariableTargetNode(301...303)(:ex, 0),
StatementsNode(306...307)(
@ -452,7 +453,7 @@ ProgramNode(0...578)(
),
RescueNode(406...424)(
(406...412),
[ConstantReadNode(413...422)()],
[ConstantReadNode(413...422)(:Exception)],
nil,
nil,
StatementsNode(423...424)(
@ -491,7 +492,8 @@ ProgramNode(0...578)(
),
RescueNode(438...473)(
(438...444),
[ConstantReadNode(445...454)(), ConstantReadNode(456...471)()],
[ConstantReadNode(445...454)(:Exception),
ConstantReadNode(456...471)(:CustomException)],
nil,
nil,
StatementsNode(472...473)(
@ -530,7 +532,8 @@ ProgramNode(0...578)(
),
RescueNode(489...532)(
(489...495),
[ConstantReadNode(496...505)(), ConstantReadNode(507...522)()],
[ConstantReadNode(496...505)(:Exception),
ConstantReadNode(507...522)(:CustomException)],
(523...525),
LocalVariableTargetNode(526...528)(:ex, 0),
StatementsNode(531...532)(
@ -569,7 +572,7 @@ ProgramNode(0...578)(
),
RescueNode(548...574)(
(548...554),
[ConstantReadNode(555...564)()],
[ConstantReadNode(555...564)(:Exception)],
(565...567),
LocalVariableTargetNode(568...570)(:ex, 0),
StatementsNode(573...574)(

View File

@ -111,7 +111,8 @@ ProgramNode(0...272)(
),
[WhenNode(147...167)(
(147...151),
[ConstantReadNode(152...158)(), ConstantReadNode(160...167)()],
[ConstantReadNode(152...158)(:FooBar),
ConstantReadNode(160...167)(:BazBonk)],
nil
)],
nil,

View File

@ -4,7 +4,7 @@ ProgramNode(0...370)(
[ClassNode(0...17)(
[:a],
(0...5),
ConstantReadNode(6...7)(),
ConstantReadNode(6...7)(:A),
nil,
nil,
StatementsNode(8...13)(
@ -22,7 +22,7 @@ ProgramNode(0...370)(
ClassNode(19...39)(
[],
(19...24),
ConstantReadNode(25...26)(),
ConstantReadNode(25...26)(:A),
nil,
nil,
BeginNode(28...39)(
@ -39,7 +39,7 @@ ProgramNode(0...370)(
ClassNode(41...75)(
[],
(41...46),
ConstantReadNode(47...48)(),
ConstantReadNode(47...48)(:A),
nil,
nil,
BeginNode(50...75)(
@ -56,9 +56,9 @@ ProgramNode(0...370)(
ClassNode(77...98)(
[:a],
(77...82),
ConstantReadNode(83...84)(),
ConstantReadNode(83...84)(:A),
(85...86),
ConstantReadNode(87...88)(),
ConstantReadNode(87...88)(:B),
StatementsNode(89...94)(
[LocalVariableWriteNode(89...94)(
:a,
@ -102,7 +102,7 @@ ProgramNode(0...370)(
ClassNode(122...162)(
[],
(122...127),
ConstantReadNode(128...129)(),
ConstantReadNode(128...129)(:A),
nil,
nil,
StatementsNode(131...157)(
@ -128,7 +128,7 @@ ProgramNode(0...370)(
ClassNode(164...218)(
[],
(164...169),
ConstantReadNode(170...171)(),
ConstantReadNode(170...171)(:A),
nil,
nil,
StatementsNode(173...213)(
@ -266,10 +266,10 @@ ProgramNode(0...370)(
ClassNode(352...370)(
[],
(352...357),
ConstantReadNode(358...359)(),
ConstantReadNode(358...359)(:A),
(360...361),
CallNode(362...366)(
ConstantReadNode(362...363)(),
ConstantReadNode(362...363)(:B),
nil,
(363...366),
(363...364),

View File

@ -2,35 +2,40 @@ ProgramNode(0...792)(
[],
StatementsNode(0...792)(
[ConstantPathNode(0...4)(
ConstantReadNode(0...1)(),
ConstantReadNode(3...4)(),
ConstantReadNode(0...1)(:A),
ConstantReadNode(3...4)(:B),
(1...3)
),
ConstantPathNode(6...13)(
ConstantPathNode(6...10)(
ConstantReadNode(6...7)(),
ConstantReadNode(9...10)(),
ConstantReadNode(6...7)(:A),
ConstantReadNode(9...10)(:B),
(7...9)
),
ConstantReadNode(12...13)(),
ConstantReadNode(12...13)(:C),
(10...12)
),
ConstantPathNode(15...19)(
CallNode(15...16)(nil, nil, (15...16), nil, nil, nil, nil, 2, "a"),
ConstantReadNode(18...19)(),
ConstantReadNode(18...19)(:B),
(16...18)
),
ConstantPathWriteNode(21...29)(
ConstantPathNode(21...25)(
ConstantReadNode(21...22)(),
ConstantReadNode(24...25)(),
ConstantReadNode(21...22)(:A),
ConstantReadNode(24...25)(:B),
(22...24)
),
(26...27),
IntegerNode(28...29)()
),
ConstantWriteNode(31...36)((31...32), IntegerNode(35...36)(), (33...34)),
ConstantReadNode(38...41)(),
ConstantWriteNode(31...36)(
:A,
(31...32),
IntegerNode(35...36)(),
(33...34)
),
ConstantReadNode(38...41)(:ABC),
CallNode(43...48)(
nil,
nil,
@ -123,7 +128,7 @@ ProgramNode(0...792)(
"Foo"
),
CallNode(81...94)(
ConstantReadNode(81...84)(),
ConstantReadNode(81...84)(:Foo),
(84...86),
(86...89),
nil,
@ -149,7 +154,7 @@ ProgramNode(0...792)(
"Bar"
),
CallNode(96...110)(
ConstantReadNode(96...99)(),
ConstantReadNode(96...99)(:Foo),
(99...101),
(101...104),
nil,
@ -177,7 +182,7 @@ ProgramNode(0...792)(
"Bar"
),
CallNode(112...125)(
ConstantReadNode(112...115)(),
ConstantReadNode(112...115)(:Foo),
(115...117),
(117...120),
nil,
@ -205,7 +210,7 @@ ProgramNode(0...792)(
CallNode(127...135)(
ConstantPathNode(127...130)(
nil,
ConstantReadNode(129...130)(),
ConstantReadNode(129...130)(:A),
(127...129)
),
(130...132),
@ -220,7 +225,7 @@ ProgramNode(0...792)(
ConstantPathWriteNode(137...144)(
ConstantPathNode(137...140)(
nil,
ConstantReadNode(139...140)(),
ConstantReadNode(139...140)(:A),
(137...139)
),
(141...142),
@ -230,10 +235,10 @@ ProgramNode(0...792)(
ConstantPathNode(146...152)(
ConstantPathNode(146...149)(
nil,
ConstantReadNode(148...149)(),
ConstantReadNode(148...149)(:A),
(146...148)
),
ConstantReadNode(151...152)(),
ConstantReadNode(151...152)(:B),
(149...151)
),
(153...154),
@ -242,19 +247,19 @@ ProgramNode(0...792)(
ConstantPathNode(158...164)(
ConstantPathNode(158...161)(
nil,
ConstantReadNode(160...161)(),
ConstantReadNode(160...161)(:A),
(158...160)
),
ConstantReadNode(163...164)(),
ConstantReadNode(163...164)(:B),
(161...163)
),
ConstantPathNode(166...169)(
nil,
ConstantReadNode(168...169)(),
ConstantReadNode(168...169)(:A),
(166...168)
),
CallNode(171...179)(
ConstantReadNode(171...172)(),
ConstantReadNode(171...172)(:A),
(172...174),
(174...179),
nil,
@ -266,8 +271,8 @@ ProgramNode(0...792)(
),
CallNode(181...191)(
ConstantPathNode(181...185)(
ConstantReadNode(181...182)(),
ConstantReadNode(184...185)(),
ConstantReadNode(181...182)(:A),
ConstantReadNode(184...185)(:B),
(182...184)
),
(185...187),
@ -280,7 +285,7 @@ ProgramNode(0...792)(
"true"
),
CallNode(193...197)(
ConstantReadNode(193...194)(),
ConstantReadNode(193...194)(:A),
(194...196),
(196...197),
nil,
@ -291,7 +296,7 @@ ProgramNode(0...792)(
"&"
),
CallNode(199...203)(
ConstantReadNode(199...200)(),
ConstantReadNode(199...200)(:A),
(200...202),
(202...203),
nil,
@ -302,7 +307,7 @@ ProgramNode(0...792)(
"`"
),
CallNode(205...209)(
ConstantReadNode(205...206)(),
ConstantReadNode(205...206)(:A),
(206...208),
(208...209),
nil,
@ -313,7 +318,7 @@ ProgramNode(0...792)(
"!"
),
CallNode(211...216)(
ConstantReadNode(211...212)(),
ConstantReadNode(211...212)(:A),
(212...214),
(214...216),
nil,
@ -324,7 +329,7 @@ ProgramNode(0...792)(
"!="
),
CallNode(218...222)(
ConstantReadNode(218...219)(),
ConstantReadNode(218...219)(:A),
(219...221),
(221...222),
nil,
@ -335,7 +340,7 @@ ProgramNode(0...792)(
"^"
),
CallNode(224...229)(
ConstantReadNode(224...225)(),
ConstantReadNode(224...225)(:A),
(225...227),
(227...229),
nil,
@ -346,7 +351,7 @@ ProgramNode(0...792)(
"=="
),
CallNode(231...237)(
ConstantReadNode(231...232)(),
ConstantReadNode(231...232)(:A),
(232...234),
(234...237),
nil,
@ -357,7 +362,7 @@ ProgramNode(0...792)(
"==="
),
CallNode(239...244)(
ConstantReadNode(239...240)(),
ConstantReadNode(239...240)(:A),
(240...242),
(242...244),
nil,
@ -368,7 +373,7 @@ ProgramNode(0...792)(
"=~"
),
CallNode(246...250)(
ConstantReadNode(246...247)(),
ConstantReadNode(246...247)(:A),
(247...249),
(249...250),
nil,
@ -379,7 +384,7 @@ ProgramNode(0...792)(
">"
),
CallNode(252...257)(
ConstantReadNode(252...253)(),
ConstantReadNode(252...253)(:A),
(253...255),
(255...257),
nil,
@ -390,7 +395,7 @@ ProgramNode(0...792)(
">="
),
CallNode(259...264)(
ConstantReadNode(259...260)(),
ConstantReadNode(259...260)(:A),
(260...262),
(262...264),
nil,
@ -401,7 +406,7 @@ ProgramNode(0...792)(
">>"
),
CallNode(266...271)(
ConstantReadNode(266...267)(),
ConstantReadNode(266...267)(:A),
(267...269),
(269...271),
nil,
@ -412,12 +417,12 @@ ProgramNode(0...792)(
"<<"
),
ConstantPathNode(273...281)(
ConstantReadNode(273...274)(),
ConstantReadNode(280...281)(),
ConstantReadNode(273...274)(:A),
ConstantReadNode(280...281)(:C),
(274...276)
),
CallNode(283...291)(
ConstantReadNode(283...284)(),
ConstantReadNode(283...284)(:A),
(284...286),
(286...291),
nil,
@ -428,7 +433,7 @@ ProgramNode(0...792)(
"alias"
),
CallNode(293...299)(
ConstantReadNode(293...294)(),
ConstantReadNode(293...294)(:A),
(294...296),
(296...299),
nil,
@ -439,7 +444,7 @@ ProgramNode(0...792)(
"and"
),
CallNode(301...309)(
ConstantReadNode(301...302)(),
ConstantReadNode(301...302)(:A),
(302...304),
(304...309),
nil,
@ -450,12 +455,12 @@ ProgramNode(0...792)(
"begin"
),
ConstantPathNode(311...319)(
ConstantReadNode(311...312)(),
ConstantReadNode(314...319)(),
ConstantReadNode(311...312)(:A),
ConstantReadNode(314...319)(:BEGIN),
(312...314)
),
CallNode(321...329)(
ConstantReadNode(321...322)(),
ConstantReadNode(321...322)(:A),
(322...324),
(324...329),
nil,
@ -466,7 +471,7 @@ ProgramNode(0...792)(
"break"
),
CallNode(331...339)(
ConstantReadNode(331...332)(),
ConstantReadNode(331...332)(:A),
(332...334),
(334...339),
nil,
@ -477,7 +482,7 @@ ProgramNode(0...792)(
"class"
),
CallNode(341...347)(
ConstantReadNode(341...342)(),
ConstantReadNode(341...342)(:A),
(342...344),
(344...347),
nil,
@ -488,7 +493,7 @@ ProgramNode(0...792)(
"def"
),
CallNode(349...359)(
ConstantReadNode(349...350)(),
ConstantReadNode(349...350)(:A),
(350...352),
(352...359),
nil,
@ -499,7 +504,7 @@ ProgramNode(0...792)(
"defined"
),
CallNode(361...366)(
ConstantReadNode(361...362)(),
ConstantReadNode(361...362)(:A),
(362...364),
(364...366),
nil,
@ -510,7 +515,7 @@ ProgramNode(0...792)(
"do"
),
CallNode(368...375)(
ConstantReadNode(368...369)(),
ConstantReadNode(368...369)(:A),
(369...371),
(371...375),
nil,
@ -521,7 +526,7 @@ ProgramNode(0...792)(
"else"
),
CallNode(377...385)(
ConstantReadNode(377...378)(),
ConstantReadNode(377...378)(:A),
(378...380),
(380...385),
nil,
@ -532,7 +537,7 @@ ProgramNode(0...792)(
"elsif"
),
CallNode(387...393)(
ConstantReadNode(387...388)(),
ConstantReadNode(387...388)(:A),
(388...390),
(390...393),
nil,
@ -543,12 +548,12 @@ ProgramNode(0...792)(
"end"
),
ConstantPathNode(395...401)(
ConstantReadNode(395...396)(),
ConstantReadNode(398...401)(),
ConstantReadNode(395...396)(:A),
ConstantReadNode(398...401)(:END),
(396...398)
),
CallNode(403...412)(
ConstantReadNode(403...404)(),
ConstantReadNode(403...404)(:A),
(404...406),
(406...412),
nil,
@ -559,7 +564,7 @@ ProgramNode(0...792)(
"ensure"
),
CallNode(414...422)(
ConstantReadNode(414...415)(),
ConstantReadNode(414...415)(:A),
(415...417),
(417...422),
nil,
@ -570,7 +575,7 @@ ProgramNode(0...792)(
"false"
),
CallNode(424...430)(
ConstantReadNode(424...425)(),
ConstantReadNode(424...425)(:A),
(425...427),
(427...430),
nil,
@ -581,7 +586,7 @@ ProgramNode(0...792)(
"for"
),
CallNode(432...437)(
ConstantReadNode(432...433)(),
ConstantReadNode(432...433)(:A),
(433...435),
(435...437),
nil,
@ -592,7 +597,7 @@ ProgramNode(0...792)(
"if"
),
CallNode(439...444)(
ConstantReadNode(439...440)(),
ConstantReadNode(439...440)(:A),
(440...442),
(442...444),
nil,
@ -603,7 +608,7 @@ ProgramNode(0...792)(
"in"
),
CallNode(446...453)(
ConstantReadNode(446...447)(),
ConstantReadNode(446...447)(:A),
(447...449),
(449...453),
nil,
@ -614,7 +619,7 @@ ProgramNode(0...792)(
"next"
),
CallNode(455...461)(
ConstantReadNode(455...456)(),
ConstantReadNode(455...456)(:A),
(456...458),
(458...461),
nil,
@ -625,7 +630,7 @@ ProgramNode(0...792)(
"nil"
),
CallNode(463...469)(
ConstantReadNode(463...464)(),
ConstantReadNode(463...464)(:A),
(464...466),
(466...469),
nil,
@ -636,7 +641,7 @@ ProgramNode(0...792)(
"not"
),
CallNode(471...476)(
ConstantReadNode(471...472)(),
ConstantReadNode(471...472)(:A),
(472...474),
(474...476),
nil,
@ -647,7 +652,7 @@ ProgramNode(0...792)(
"or"
),
CallNode(478...485)(
ConstantReadNode(478...479)(),
ConstantReadNode(478...479)(:A),
(479...481),
(481...485),
nil,
@ -658,7 +663,7 @@ ProgramNode(0...792)(
"redo"
),
CallNode(487...496)(
ConstantReadNode(487...488)(),
ConstantReadNode(487...488)(:A),
(488...490),
(490...496),
nil,
@ -669,7 +674,7 @@ ProgramNode(0...792)(
"rescue"
),
CallNode(498...506)(
ConstantReadNode(498...499)(),
ConstantReadNode(498...499)(:A),
(499...501),
(501...506),
nil,
@ -680,7 +685,7 @@ ProgramNode(0...792)(
"retry"
),
CallNode(508...517)(
ConstantReadNode(508...509)(),
ConstantReadNode(508...509)(:A),
(509...511),
(511...517),
nil,
@ -691,7 +696,7 @@ ProgramNode(0...792)(
"return"
),
CallNode(519...526)(
ConstantReadNode(519...520)(),
ConstantReadNode(519...520)(:A),
(520...522),
(522...526),
nil,
@ -702,7 +707,7 @@ ProgramNode(0...792)(
"self"
),
CallNode(528...536)(
ConstantReadNode(528...529)(),
ConstantReadNode(528...529)(:A),
(529...531),
(531...536),
nil,
@ -713,7 +718,7 @@ ProgramNode(0...792)(
"super"
),
CallNode(538...545)(
ConstantReadNode(538...539)(),
ConstantReadNode(538...539)(:A),
(539...541),
(541...545),
nil,
@ -724,7 +729,7 @@ ProgramNode(0...792)(
"then"
),
CallNode(547...554)(
ConstantReadNode(547...548)(),
ConstantReadNode(547...548)(:A),
(548...550),
(550...554),
nil,
@ -735,7 +740,7 @@ ProgramNode(0...792)(
"true"
),
CallNode(556...564)(
ConstantReadNode(556...557)(),
ConstantReadNode(556...557)(:A),
(557...559),
(559...564),
nil,
@ -746,7 +751,7 @@ ProgramNode(0...792)(
"undef"
),
CallNode(566...575)(
ConstantReadNode(566...567)(),
ConstantReadNode(566...567)(:A),
(567...569),
(569...575),
nil,
@ -757,7 +762,7 @@ ProgramNode(0...792)(
"unless"
),
CallNode(577...585)(
ConstantReadNode(577...578)(),
ConstantReadNode(577...578)(:A),
(578...580),
(580...585),
nil,
@ -768,7 +773,7 @@ ProgramNode(0...792)(
"until"
),
CallNode(587...594)(
ConstantReadNode(587...588)(),
ConstantReadNode(587...588)(:A),
(588...590),
(590...594),
nil,
@ -779,7 +784,7 @@ ProgramNode(0...792)(
"when"
),
CallNode(596...604)(
ConstantReadNode(596...597)(),
ConstantReadNode(596...597)(:A),
(597...599),
(599...604),
nil,
@ -790,7 +795,7 @@ ProgramNode(0...792)(
"while"
),
CallNode(606...614)(
ConstantReadNode(606...607)(),
ConstantReadNode(606...607)(:A),
(607...609),
(609...614),
nil,
@ -801,7 +806,7 @@ ProgramNode(0...792)(
"yield"
),
CallNode(616...631)(
ConstantReadNode(616...617)(),
ConstantReadNode(616...617)(:A),
(617...619),
(619...631),
nil,
@ -812,7 +817,7 @@ ProgramNode(0...792)(
"__ENCODING__"
),
CallNode(633...644)(
ConstantReadNode(633...634)(),
ConstantReadNode(633...634)(:A),
(634...636),
(636...644),
nil,
@ -823,7 +828,7 @@ ProgramNode(0...792)(
"__FILE__"
),
CallNode(646...657)(
ConstantReadNode(646...647)(),
ConstantReadNode(646...647)(:A),
(647...649),
(649...657),
nil,
@ -834,7 +839,7 @@ ProgramNode(0...792)(
"__LINE__"
),
CallNode(659...663)(
ConstantReadNode(659...660)(),
ConstantReadNode(659...660)(:A),
(660...662),
(662...663),
nil,
@ -845,7 +850,7 @@ ProgramNode(0...792)(
"<"
),
CallNode(665...671)(
ConstantReadNode(665...666)(),
ConstantReadNode(665...666)(:A),
(666...668),
(668...671),
nil,
@ -856,7 +861,7 @@ ProgramNode(0...792)(
"<=>"
),
CallNode(673...678)(
ConstantReadNode(673...674)(),
ConstantReadNode(673...674)(:A),
(674...676),
(676...678),
nil,
@ -867,7 +872,7 @@ ProgramNode(0...792)(
"<<"
),
CallNode(680...684)(
ConstantReadNode(680...681)(),
ConstantReadNode(680...681)(:A),
(681...683),
(683...684),
nil,
@ -878,7 +883,7 @@ ProgramNode(0...792)(
"-"
),
CallNode(686...690)(
ConstantReadNode(686...687)(),
ConstantReadNode(686...687)(:A),
(687...689),
(689...690),
nil,
@ -889,7 +894,7 @@ ProgramNode(0...792)(
"%"
),
CallNode(692...697)(
ConstantReadNode(692...693)(),
ConstantReadNode(692...693)(:A),
(693...695),
(695...696),
nil,
@ -912,7 +917,7 @@ ProgramNode(0...792)(
"%"
),
CallNode(699...704)(
ConstantReadNode(699...700)(),
ConstantReadNode(699...700)(:A),
(700...702),
(702...703),
nil,
@ -935,7 +940,7 @@ ProgramNode(0...792)(
"%"
),
CallNode(706...711)(
ConstantReadNode(706...707)(),
ConstantReadNode(706...707)(:A),
(707...709),
(709...710),
nil,
@ -958,29 +963,29 @@ ProgramNode(0...792)(
"%"
),
CallNode(713...718)(
ConstantReadNode(713...714)(),
ConstantReadNode(713...714)(:A),
(714...716),
(716...717),
nil,
ArgumentsNode(717...718)([ConstantReadNode(717...718)()]),
ArgumentsNode(717...718)([ConstantReadNode(717...718)(:I)]),
nil,
nil,
0,
"%"
),
CallNode(720...725)(
ConstantReadNode(720...721)(),
ConstantReadNode(720...721)(:A),
(721...723),
(723...724),
nil,
ArgumentsNode(724...725)([ConstantReadNode(724...725)()]),
ArgumentsNode(724...725)([ConstantReadNode(724...725)(:W)]),
nil,
nil,
0,
"%"
),
CallNode(727...731)(
ConstantReadNode(727...728)(),
ConstantReadNode(727...728)(:A),
(728...730),
(730...731),
nil,
@ -991,7 +996,7 @@ ProgramNode(0...792)(
"|"
),
CallNode(733...737)(
ConstantReadNode(733...734)(),
ConstantReadNode(733...734)(:A),
(734...736),
(736...737),
nil,
@ -1002,7 +1007,7 @@ ProgramNode(0...792)(
"+"
),
CallNode(739...743)(
ConstantReadNode(739...740)(),
ConstantReadNode(739...740)(:A),
(740...742),
(742...743),
nil,
@ -1013,7 +1018,7 @@ ProgramNode(0...792)(
"/"
),
CallNode(745...749)(
ConstantReadNode(745...746)(),
ConstantReadNode(745...746)(:A),
(746...748),
(748...749),
nil,
@ -1024,7 +1029,7 @@ ProgramNode(0...792)(
"*"
),
CallNode(751...756)(
ConstantReadNode(751...752)(),
ConstantReadNode(751...752)(:A),
(752...754),
(754...756),
nil,
@ -1035,7 +1040,7 @@ ProgramNode(0...792)(
"**"
),
CallNode(758...762)(
ConstantReadNode(758...759)(),
ConstantReadNode(758...759)(:A),
(759...761),
(761...762),
nil,
@ -1047,7 +1052,7 @@ ProgramNode(0...792)(
),
ConstantPathNode(764...772)(
CallNode(764...768)(
ConstantReadNode(764...765)(),
ConstantReadNode(764...765)(:A),
(765...767),
(767...768),
nil,
@ -1057,12 +1062,12 @@ ProgramNode(0...792)(
0,
"_"
),
ConstantReadNode(771...772)(),
ConstantReadNode(771...772)(:C),
(768...770)
),
RangeNode(774...792)(
CallNode(774...778)(
ConstantReadNode(774...775)(),
ConstantReadNode(774...775)(:A),
(775...777),
(777...778),
nil,
@ -1073,7 +1078,7 @@ ProgramNode(0...792)(
"_"
),
CallNode(782...792)(
ConstantReadNode(782...783)(),
ConstantReadNode(782...783)(:A),
(783...785),
(785...792),
nil,

View File

@ -217,7 +217,7 @@ ProgramNode(0...382)(
2,
"type"
),
ConstantReadNode(288...289)(),
ConstantReadNode(288...289)(:B),
(285...287)
),
nil,

View File

@ -897,7 +897,7 @@ ProgramNode(0...1237)(
"some_func"
),
CallNode(697...715)(
ConstantReadNode(697...703)(),
ConstantReadNode(697...703)(:Kernel),
(703...704),
(704...711),
(711...712),
@ -947,8 +947,8 @@ ProgramNode(0...1237)(
),
CallNode(745...757)(
ConstantPathNode(745...749)(
ConstantReadNode(745...746)(),
ConstantReadNode(748...749)(),
ConstantReadNode(745...746)(:A),
ConstantReadNode(748...749)(:B),
(746...748)
),
(749...751),
@ -964,8 +964,8 @@ ProgramNode(0...1237)(
),
CallNode(759...772)(
ConstantPathNode(759...763)(
ConstantReadNode(759...760)(),
ConstantReadNode(762...763)(),
ConstantReadNode(759...760)(:A),
ConstantReadNode(762...763)(:B),
(760...762)
),
(763...765),
@ -981,8 +981,8 @@ ProgramNode(0...1237)(
),
CallNode(774...791)(
ConstantPathNode(774...778)(
ConstantReadNode(774...775)(),
ConstantReadNode(777...778)(),
ConstantReadNode(774...775)(:A),
ConstantReadNode(777...778)(:B),
(775...777)
),
(778...780),
@ -1175,7 +1175,7 @@ ProgramNode(0...1237)(
[ClassNode(905...929)(
[],
(905...910),
ConstantReadNode(911...914)(),
ConstantReadNode(911...914)(:Bar),
nil,
nil,
StatementsNode(915...925)(
@ -1209,7 +1209,7 @@ ProgramNode(0...1237)(
[ModuleNode(935...960)(
[],
(935...941),
ConstantReadNode(942...945)(),
ConstantReadNode(942...945)(:Bar),
StatementsNode(946...956)(
[CallNode(946...956)(
nil,

View File

@ -968,13 +968,14 @@ ProgramNode(0...1194)(
(872...875)
),
ConstantWriteNode(877...886)(
:Const,
(877...882),
IntegerNode(885...886)(),
(883...884)
),
DefNode(888...903)(
(898...899),
ConstantReadNode(892...897)(),
ConstantReadNode(892...897)(:Const),
nil,
nil,
[],

View File

@ -4,7 +4,7 @@ ProgramNode(0...140)(
[ModuleNode(0...18)(
[:a],
(0...6),
ConstantReadNode(7...8)(),
ConstantReadNode(7...8)(:A),
StatementsNode(9...14)(
[LocalVariableWriteNode(9...14)(
:a,
@ -45,7 +45,7 @@ ProgramNode(0...140)(
(40...46),
ConstantPathNode(47...51)(
CallNode(47...48)(nil, nil, (47...48), nil, nil, nil, nil, 2, "m"),
ConstantReadNode(50...51)(),
ConstantReadNode(50...51)(:M),
(48...50)
),
nil,
@ -55,7 +55,7 @@ ProgramNode(0...140)(
ModuleNode(57...85)(
[:x],
(57...63),
ConstantReadNode(64...65)(),
ConstantReadNode(64...65)(:A),
BeginNode(67...85)(
nil,
StatementsNode(67...72)(
@ -78,7 +78,11 @@ ProgramNode(0...140)(
ModuleNode(87...101)(
[],
(87...93),
ConstantPathNode(94...97)(nil, ConstantReadNode(96...97)(), (94...96)),
ConstantPathNode(94...97)(
nil,
ConstantReadNode(96...97)(:A),
(94...96)
),
nil,
(98...101),
"A"
@ -88,7 +92,7 @@ ProgramNode(0...140)(
(103...109),
ConstantPathNode(110...116)(
CallNode(110...113)(
ConstantReadNode(110...111)(),
ConstantReadNode(110...111)(:A),
nil,
(111...113),
(111...112),
@ -98,7 +102,7 @@ ProgramNode(0...140)(
0,
"[]"
),
ConstantReadNode(115...116)(),
ConstantReadNode(115...116)(:B),
(113...115)
),
nil,
@ -110,7 +114,7 @@ ProgramNode(0...140)(
(122...128),
ConstantPathNode(129...136)(
CallNode(129...133)(
ConstantReadNode(129...130)(),
ConstantReadNode(129...130)(:A),
nil,
(130...133),
(130...131),
@ -120,7 +124,7 @@ ProgramNode(0...140)(
0,
"[]"
),
ConstantReadNode(135...136)(),
ConstantReadNode(135...136)(:B),
(133...135)
),
nil,

View File

@ -1058,7 +1058,7 @@ ProgramNode(0...3743)(
2,
"foo"
),
ConstantReadNode(1053...1056)(),
ConstantReadNode(1053...1056)(:Foo),
(1050...1052)
),
MatchRequiredNode(1057...1077)(
@ -1075,11 +1075,11 @@ ProgramNode(0...3743)(
),
ConstantPathNode(1064...1077)(
ConstantPathNode(1064...1072)(
ConstantReadNode(1064...1067)(),
ConstantReadNode(1069...1072)(),
ConstantReadNode(1064...1067)(:Foo),
ConstantReadNode(1069...1072)(:Bar),
(1067...1069)
),
ConstantReadNode(1074...1077)(),
ConstantReadNode(1074...1077)(:Baz),
(1072...1074)
),
(1061...1063)
@ -1098,7 +1098,7 @@ ProgramNode(0...3743)(
),
ConstantPathNode(1085...1090)(
nil,
ConstantReadNode(1087...1090)(),
ConstantReadNode(1087...1090)(:Foo),
(1085...1087)
),
(1082...1084)
@ -1119,13 +1119,13 @@ ProgramNode(0...3743)(
ConstantPathNode(1098...1108)(
ConstantPathNode(1098...1103)(
nil,
ConstantReadNode(1100...1103)(),
ConstantReadNode(1100...1103)(:Foo),
(1098...1100)
),
ConstantReadNode(1105...1108)(),
ConstantReadNode(1105...1108)(:Bar),
(1103...1105)
),
ConstantReadNode(1110...1113)(),
ConstantReadNode(1110...1113)(:Baz),
(1108...1110)
),
(1095...1097)
@ -1143,7 +1143,7 @@ ProgramNode(0...3743)(
"foo"
),
ArrayPatternNode(1122...1127)(
ConstantReadNode(1122...1125)(),
ConstantReadNode(1122...1125)(:Foo),
[],
nil,
[],
@ -1165,7 +1165,7 @@ ProgramNode(0...3743)(
"foo"
),
ArrayPatternNode(1135...1141)(
ConstantReadNode(1135...1138)(),
ConstantReadNode(1135...1138)(:Foo),
[IntegerNode(1139...1140)()],
nil,
[],
@ -1187,7 +1187,7 @@ ProgramNode(0...3743)(
"foo"
),
ArrayPatternNode(1149...1161)(
ConstantReadNode(1149...1152)(),
ConstantReadNode(1149...1152)(:Foo),
[IntegerNode(1153...1154)(),
IntegerNode(1156...1157)(),
IntegerNode(1159...1160)()],
@ -1211,7 +1211,7 @@ ProgramNode(0...3743)(
"foo"
),
ArrayPatternNode(1169...1177)(
ConstantReadNode(1169...1172)(),
ConstantReadNode(1169...1172)(:Foo),
[LocalVariableTargetNode(1173...1176)(:bar, 0)],
nil,
[],
@ -1233,7 +1233,7 @@ ProgramNode(0...3743)(
"foo"
),
ArrayPatternNode(1185...1199)(
ConstantReadNode(1185...1188)(),
ConstantReadNode(1185...1188)(:Foo),
[],
SplatNode(1189...1193)(
(1189...1190),
@ -1258,7 +1258,7 @@ ProgramNode(0...3743)(
"foo"
),
ArrayPatternNode(1207...1221)(
ConstantReadNode(1207...1210)(),
ConstantReadNode(1207...1210)(:Foo),
[LocalVariableTargetNode(1211...1214)(:bar, 0)],
SplatNode(1216...1220)(
(1216...1217),
@ -1283,7 +1283,7 @@ ProgramNode(0...3743)(
"foo"
),
FindPatternNode(1229...1249)(
ConstantReadNode(1229...1232)(),
ConstantReadNode(1229...1232)(:Foo),
SplatNode(1233...1237)(
(1233...1234),
LocalVariableTargetNode(1234...1237)(:bar, 0)
@ -1311,7 +1311,7 @@ ProgramNode(0...3743)(
"foo"
),
ArrayPatternNode(1258...1263)(
ConstantReadNode(1258...1261)(),
ConstantReadNode(1258...1261)(:Foo),
[],
nil,
[],
@ -1333,7 +1333,7 @@ ProgramNode(0...3743)(
"foo"
),
ArrayPatternNode(1271...1277)(
ConstantReadNode(1271...1274)(),
ConstantReadNode(1271...1274)(:Foo),
[IntegerNode(1275...1276)()],
nil,
[],
@ -1355,7 +1355,7 @@ ProgramNode(0...3743)(
"foo"
),
ArrayPatternNode(1285...1297)(
ConstantReadNode(1285...1288)(),
ConstantReadNode(1285...1288)(:Foo),
[IntegerNode(1289...1290)(),
IntegerNode(1292...1293)(),
IntegerNode(1295...1296)()],
@ -1379,9 +1379,9 @@ ProgramNode(0...3743)(
"foo"
),
ArrayPatternNode(1305...1315)(
ConstantReadNode(1305...1308)(),
ConstantReadNode(1305...1308)(:Foo),
[ArrayPatternNode(1309...1314)(
ConstantReadNode(1309...1312)(),
ConstantReadNode(1309...1312)(:Foo),
[],
nil,
[],
@ -1408,7 +1408,7 @@ ProgramNode(0...3743)(
"foo"
),
ArrayPatternNode(1323...1331)(
ConstantReadNode(1323...1326)(),
ConstantReadNode(1323...1326)(:Foo),
[LocalVariableTargetNode(1327...1330)(:bar, 0)],
nil,
[],
@ -1430,7 +1430,7 @@ ProgramNode(0...3743)(
"foo"
),
ArrayPatternNode(1339...1353)(
ConstantReadNode(1339...1342)(),
ConstantReadNode(1339...1342)(:Foo),
[],
SplatNode(1343...1347)(
(1343...1344),
@ -1455,7 +1455,7 @@ ProgramNode(0...3743)(
"foo"
),
ArrayPatternNode(1361...1375)(
ConstantReadNode(1361...1364)(),
ConstantReadNode(1361...1364)(:Foo),
[LocalVariableTargetNode(1365...1368)(:bar, 0)],
SplatNode(1370...1374)(
(1370...1371),
@ -1480,7 +1480,7 @@ ProgramNode(0...3743)(
"foo"
),
FindPatternNode(1383...1403)(
ConstantReadNode(1383...1386)(),
ConstantReadNode(1383...1386)(:Foo),
SplatNode(1387...1391)(
(1387...1388),
LocalVariableTargetNode(1388...1391)(:bar, 0)
@ -3819,11 +3819,11 @@ ProgramNode(0...3743)(
"foo"
),
HashPatternNode(3712...3743)(
ConstantReadNode(3712...3713)(),
ConstantReadNode(3712...3713)(:A),
[AssocNode(3717...3741)(
SymbolNode(3717...3721)(nil, (3717...3720), (3720...3721), "bar"),
HashPatternNode(3722...3741)(
ConstantReadNode(3722...3723)(),
ConstantReadNode(3722...3723)(:B),
[AssocNode(3729...3737)(
SymbolNode(3729...3735)(
nil,

View File

@ -45,7 +45,7 @@ ProgramNode(0...689)(
ClassNode(141...269)(
[],
(141...146),
ConstantReadNode(147...148)(),
ConstantReadNode(147...148)(:X),
nil,
nil,
StatementsNode(168...246)(
@ -92,18 +92,19 @@ ProgramNode(0...689)(
ClassNode(293...376)(
[],
(293...298),
ConstantReadNode(299...300)(),
ConstantReadNode(299...300)(:X),
nil,
nil,
StatementsNode(315...358)(
[ClassNode(315...358)(
[],
(315...320),
ConstantReadNode(321...322)(),
ConstantReadNode(321...322)(:Y),
nil,
nil,
StatementsNode(337...343)(
[ConstantWriteNode(337...343)(
:Z,
(337...338),
IntegerNode(341...343)(),
(339...340)
@ -119,7 +120,7 @@ ProgramNode(0...689)(
ClassNode(395...498)(
[],
(395...400),
ConstantReadNode(401...402)(),
ConstantReadNode(401...402)(:X),
nil,
nil,
StatementsNode(417...480)(
@ -166,9 +167,10 @@ ProgramNode(0...689)(
ModuleNode(517...565)(
[],
(517...523),
ConstantReadNode(524...525)(),
ConstantReadNode(524...525)(:X),
StatementsNode(528...561)(
[ConstantWriteNode(528...561)(
:X,
(528...529),
ArrayNode(532...561)(
[SymbolNode(538...544)((538...539), (539...544), nil, "line3"),
@ -185,14 +187,15 @@ ProgramNode(0...689)(
ModuleNode(568...651)(
[],
(568...574),
ConstantReadNode(575...576)(),
ConstantReadNode(575...576)(:X),
StatementsNode(590...633)(
[ModuleNode(590...633)(
[],
(590...596),
ConstantReadNode(597...598)(),
ConstantReadNode(597...598)(:Y),
StatementsNode(612...618)(
[ConstantWriteNode(612...618)(
:Z,
(612...613),
IntegerNode(616...618)(),
(614...615)

View File

@ -2,7 +2,7 @@ ProgramNode(0...8)(
[],
StatementsNode(0...8)(
[CallNode(0...8)(
ConstantReadNode(0...1)(),
ConstantReadNode(0...1)(:A),
(1...3),
(3...4),
nil,

View File

@ -11,7 +11,7 @@ ProgramNode(0...67)(
ParenthesesNode(6...44)(
StatementsNode(7...43)(
[CallNode(7...43)(
ConstantReadNode(7...12)(),
ConstantReadNode(7...12)(:Class),
(12...13),
(13...16),
nil,

View File

@ -2,7 +2,7 @@ ProgramNode(0...4)(
[],
StatementsNode(0...4)(
[CallNode(0...4)(
ConstantReadNode(0...1)(),
ConstantReadNode(0...1)(:A),
(1...3),
(3...4),
nil,

View File

@ -240,7 +240,7 @@ ProgramNode(0...747)(
SymbolNode(338...340)((338...339), (339...340), nil, "a"),
[InNode(341...352)(
ArrayPatternNode(344...352)(
ConstantReadNode(344...350)(),
ConstantReadNode(344...350)(:Symbol),
[],
nil,
[],
@ -259,7 +259,7 @@ ProgramNode(0...747)(
SymbolNode(363...365)((363...364), (364...365), nil, "a"),
[InNode(366...390)(
FindPatternNode(369...390)(
ConstantReadNode(369...375)(),
ConstantReadNode(369...375)(:Symbol),
SplatNode(376...380)(
(376...377),
LocalVariableTargetNode(377...380)(:lhs, 0)
@ -284,7 +284,7 @@ ProgramNode(0...747)(
SymbolNode(401...403)((401...402), (402...403), nil, "a"),
[InNode(404...428)(
FindPatternNode(407...428)(
ConstantReadNode(407...413)(),
ConstantReadNode(407...413)(:Symbol),
SplatNode(414...418)(
(414...415),
LocalVariableTargetNode(415...418)(:lhs, 0)
@ -382,9 +382,9 @@ ProgramNode(0...747)(
[InNode(520...532)(
ArrayPatternNode(523...532)(
nil,
[ConstantReadNode(524...525)()],
[ConstantReadNode(524...525)(:A)],
SplatNode(527...528)((527...528), nil),
[ConstantReadNode(530...531)()],
[ConstantReadNode(530...531)(:B)],
(523...524),
(531...532)
),

View File

@ -10,7 +10,7 @@ ProgramNode(0...36)(
SymbolNode(13...15)(nil, (13...14), (14...15), "b"),
ArrayPatternNode(16...25)(
nil,
[ConstantReadNode(17...21)()],
[ConstantReadNode(17...21)(:Hash)],
SplatNode(23...24)((23...24), nil),
[],
(16...17),

View File

@ -5,7 +5,7 @@ ProgramNode(0...32)(
SymbolNode(5...7)((5...6), (6...7), nil, "a"),
[InNode(8...28)(
ArrayPatternNode(11...19)(
ConstantReadNode(11...12)(),
ConstantReadNode(11...12)(:A),
[],
SplatNode(13...18)(
(13...14),

View File

@ -13,7 +13,7 @@ ProgramNode(0...43)(
nil,
[ConstantPathNode(17...27)(
nil,
ConstantReadNode(19...27)(),
ConstantReadNode(19...27)(:NilClass),
(17...19)
)],
SplatNode(29...30)((29...30), nil),

View File

@ -15,7 +15,7 @@ ProgramNode(0...43)(
SplatNode(17...18)((17...18), nil),
[ConstantPathNode(20...30)(
nil,
ConstantReadNode(22...30)(),
ConstantReadNode(22...30)(:NilClass),
(20...22)
)],
nil,

View File

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

View File

@ -6,8 +6,8 @@ ProgramNode(0...27)(
[InNode(8...23)(
ArrayPatternNode(11...18)(
ConstantPathNode(11...15)(
ConstantReadNode(11...12)(),
ConstantReadNode(14...15)(),
ConstantReadNode(11...12)(:B),
ConstantReadNode(14...15)(:C),
(12...14)
),
[LocalVariableTargetNode(16...17)(:d, 0)],

View File

@ -5,9 +5,9 @@ ProgramNode(0...29)(
SymbolNode(5...7)((5...6), (6...7), nil, "a"),
[InNode(8...25)(
ArrayPatternNode(11...20)(
ConstantReadNode(11...12)(),
ConstantReadNode(11...12)(:B),
[CapturePatternNode(13...19)(
ConstantReadNode(13...14)(),
ConstantReadNode(13...14)(:C),
LocalVariableTargetNode(18...19)(:d, 0),
(15...17)
)],

View File

@ -2,9 +2,9 @@ ProgramNode(0...28)(
[],
StatementsNode(0...28)(
[CaseNode(0...28)(
ConstantReadNode(5...10)(),
ConstantReadNode(5...10)(:Array),
[InNode(11...24)(
ConstantReadNode(14...19)(),
ConstantReadNode(14...19)(:Class),
StatementsNode(22...24)(
[SymbolNode(22...24)((22...23), (23...24), nil, "b")]
),

View File

@ -2,9 +2,9 @@ ProgramNode(0...38)(
[],
StatementsNode(0...38)(
[CaseNode(0...38)(
ConstantReadNode(5...10)(),
ConstantReadNode(5...10)(:Array),
[InNode(11...24)(
ConstantReadNode(14...19)(),
ConstantReadNode(14...19)(:Class),
StatementsNode(22...24)(
[SymbolNode(22...24)((22...23), (23...24), nil, "b")]
),

View File

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

View File

@ -5,7 +5,7 @@ ProgramNode(0...28)(
SymbolNode(5...7)((5...6), (6...7), nil, "a"),
[InNode(8...24)(
HashPatternNode(11...19)(
ConstantReadNode(11...12)(),
ConstantReadNode(11...12)(:B),
[AssocNode(13...18)(
SymbolNode(13...15)(nil, (13...14), (14...15), "a"),
IntegerNode(16...18)(),

View File

@ -7,7 +7,7 @@ ProgramNode(0...52)(
IfNode(11...20)(
(13...15),
TrueNode(16...20)(),
StatementsNode(11...12)([ConstantReadNode(11...12)()]),
StatementsNode(11...12)([ConstantReadNode(11...12)(:A)]),
nil,
nil
),
@ -21,7 +21,7 @@ ProgramNode(0...52)(
UnlessNode(29...43)(
(31...37),
FalseNode(38...43)(),
StatementsNode(29...30)([ConstantReadNode(29...30)()]),
StatementsNode(29...30)([ConstantReadNode(29...30)(:D)]),
nil,
nil
),

View File

@ -5,8 +5,8 @@ ProgramNode(0...37)(
SymbolNode(5...7)((5...6), (6...7), nil, "a"),
[InNode(8...20)(
ConstantPathNode(11...15)(
ConstantReadNode(11...12)(),
ConstantReadNode(14...15)(),
ConstantReadNode(11...12)(:A),
ConstantReadNode(14...15)(:B),
(12...14)
),
StatementsNode(18...20)(
@ -17,8 +17,8 @@ ProgramNode(0...37)(
),
InNode(21...33)(
ConstantPathNode(24...28)(
ConstantReadNode(24...25)(),
ConstantReadNode(27...28)(),
ConstantReadNode(24...25)(:D),
ConstantReadNode(27...28)(:E),
(25...27)
),
StatementsNode(31...33)(

View File

@ -5,8 +5,8 @@ ProgramNode(0...25)(
SymbolNode(5...7)((5...6), (6...7), nil, "a"),
[InNode(8...21)(
AlternationPatternNode(11...16)(
ConstantReadNode(11...12)(),
ConstantReadNode(15...16)(),
ConstantReadNode(11...12)(:B),
ConstantReadNode(15...16)(:C),
(13...14)
),
StatementsNode(19...21)(

View File

@ -4,7 +4,7 @@ ProgramNode(19...71)(
[ClassNode(19...71)(
[],
(19...24),
ConstantReadNode(25...26)(),
ConstantReadNode(25...26)(:X),
nil,
nil,
StatementsNode(40...67)(

View File

@ -3,8 +3,8 @@ ProgramNode(0...12)(
StatementsNode(0...12)(
[ConstantPathOrWriteNode(0...12)(
ConstantPathNode(0...6)(
ConstantPathNode(0...3)(nil, ConstantReadNode(2...3)(), (0...2)),
ConstantReadNode(5...6)(),
ConstantPathNode(0...3)(nil, ConstantReadNode(2...3)(:X), (0...2)),
ConstantReadNode(5...6)(:Y),
(3...5)
),
(7...10),

View File

@ -2,7 +2,7 @@ ProgramNode(0...9)(
[],
StatementsNode(0...9)(
[ConstantPathOrWriteNode(0...9)(
ConstantPathNode(0...3)(nil, ConstantReadNode(2...3)(), (0...2)),
ConstantPathNode(0...3)(nil, ConstantReadNode(2...3)(:X), (0...2)),
(4...7),
IntegerNode(8...9)()
)]

View File

@ -2,7 +2,7 @@ ProgramNode(0...8)(
[],
StatementsNode(0...8)(
[ConstantPathOperatorWriteNode(0...8)(
ConstantPathNode(0...3)(nil, ConstantReadNode(2...3)(), (0...2)),
ConstantPathNode(0...3)(nil, ConstantReadNode(2...3)(:X), (0...2)),
(4...6),
IntegerNode(7...8)(),
:&

View File

@ -2,7 +2,7 @@ ProgramNode(0...9)(
[],
StatementsNode(0...9)(
[ConstantPathAndWriteNode(0...9)(
ConstantPathNode(0...3)(nil, ConstantReadNode(2...3)(), (0...2)),
ConstantPathNode(0...3)(nil, ConstantReadNode(2...3)(:X), (0...2)),
(4...7),
IntegerNode(8...9)()
)]

View File

@ -3,8 +3,8 @@ ProgramNode(0...10)(
StatementsNode(0...10)(
[ConstantPathOrWriteNode(0...10)(
ConstantPathNode(0...4)(
ConstantReadNode(0...1)(),
ConstantReadNode(3...4)(),
ConstantReadNode(0...1)(:X),
ConstantReadNode(3...4)(:Y),
(1...3)
),
(5...8),

View File

@ -26,7 +26,7 @@ ProgramNode(0...76)(
),
RescueNode(35...66)(
(35...41),
[ConstantReadNode(42...51)()],
[ConstantReadNode(42...51)(:Exception)],
(52...54),
LocalVariableTargetNode(55...56)(:v, 0),
StatementsNode(61...66)([BreakNode(61...66)(nil, (61...66))]),

View File

@ -4,7 +4,7 @@ ProgramNode(0...28)(
[ClassNode(0...28)(
[],
(0...5),
ConstantReadNode(6...7)(),
ConstantReadNode(6...7)(:X),
nil,
nil,
StatementsNode(10...24)(

View File

@ -4,7 +4,7 @@ ProgramNode(0...33)(
[ClassNode(0...33)(
[],
(0...5),
ConstantReadNode(6...7)(),
ConstantReadNode(6...7)(:X),
nil,
nil,
StatementsNode(10...29)(

View File

@ -3,7 +3,7 @@ ProgramNode(0...16)(
StatementsNode(0...16)(
[MatchPredicateNode(0...16)(
StringNode(0...6)((0...1), (1...5), (5...6), "woot"),
ConstantReadNode(10...16)(),
ConstantReadNode(10...16)(:String),
(7...9)
)]
)

View File

@ -4,7 +4,7 @@ ProgramNode(18...90)(
[ClassNode(18...90)(
[],
(18...23),
ConstantReadNode(24...52)(),
ConstantReadNode(24...52)(:ExampleUTF8ClassNameVarietà),
nil,
nil,
StatementsNode(54...86)(

View File

@ -5,7 +5,7 @@ ProgramNode(0...14)(
[LocalVariableTargetNode(0...1)(:a, 0),
ConstantPathTargetNode(3...7)(
CallNode(3...4)(nil, nil, (3...4), nil, nil, nil, nil, 2, "b"),
ConstantReadNode(6...7)(),
ConstantReadNode(6...7)(:C),
(4...6)
)],
(8...9),

View File

@ -2,10 +2,14 @@ ProgramNode(0...15)(
[],
StatementsNode(0...15)(
[MultiWriteNode(0...15)(
[ConstantPathTargetNode(0...3)(nil, ConstantReadNode(2...3)(), (0...2)),
[ConstantPathTargetNode(0...3)(
nil,
ConstantReadNode(2...3)(:A),
(0...2)
),
ConstantPathTargetNode(5...8)(
nil,
ConstantReadNode(7...8)(),
ConstantReadNode(7...8)(:B),
(5...7)
)],
(9...10),

View File

@ -11,8 +11,8 @@ ProgramNode(0...15)(
StatementsNode(3...14)(
[ConstantPathOperatorWriteNode(3...14)(
ConstantPathNode(3...7)(
ConstantReadNode(3...4)(),
ConstantReadNode(6...7)(),
ConstantReadNode(3...4)(:B),
ConstantReadNode(6...7)(:C),
(4...6)
),
(8...10),

View File

@ -4,7 +4,7 @@ ProgramNode(24...77)(
[ModuleNode(24...77)(
[],
(24...30),
ConstantReadNode(31...32)(),
ConstantReadNode(31...32)(:X),
StatementsNode(46...73)(
[DefNode(46...73)(
(50...54),

View File

@ -2,7 +2,7 @@ ProgramNode(0...11)(
[],
StatementsNode(0...11)(
[CallOrWriteNode(0...11)(
ConstantReadNode(0...1)(),
ConstantReadNode(0...1)(:A),
(1...2),
(2...3),
nil,

View File

@ -3,8 +3,8 @@ ProgramNode(0...11)(
StatementsNode(0...11)(
[ConstantPathOperatorWriteNode(0...11)(
ConstantPathNode(0...4)(
ConstantReadNode(0...1)(),
ConstantReadNode(3...4)(),
ConstantReadNode(0...1)(:A),
ConstantReadNode(3...4)(:B),
(1...3)
),
(5...7),

View File

@ -2,7 +2,7 @@ ProgramNode(0...9)(
[],
StatementsNode(0...9)(
[CallOperatorWriteNode(0...9)(
ConstantReadNode(0...1)(),
ConstantReadNode(0...1)(:A),
(1...3),
(3...4),
nil,

View File

@ -2,7 +2,7 @@ ProgramNode(0...11)(
[],
StatementsNode(0...11)(
[CallOperatorWriteNode(0...11)(
ConstantReadNode(0...1)(),
ConstantReadNode(0...1)(:A),
(1...3),
(3...4),
nil,

View File

@ -14,7 +14,7 @@ ProgramNode(0...48)(
ClassNode(35...48)(
[],
(35...40),
ConstantReadNode(41...44)(),
ConstantReadNode(41...44)(:Foo),
nil,
nil,
nil,

View File

@ -5,7 +5,7 @@ ProgramNode(0...31)(
CallNode(5...8)(nil, nil, (5...8), nil, nil, nil, nil, 2, "obj"),
[InNode(9...27)(
ArrayPatternNode(12...20)(
ConstantReadNode(12...18)(),
ConstantReadNode(12...18)(:Object),
[],
nil,
[],

View File

@ -5,7 +5,7 @@ ProgramNode(0...31)(
SymbolNode(5...7)((5...6), (6...7), nil, "a"),
[InNode(8...27)(
HashPatternNode(11...23)(
ConstantReadNode(11...17)(),
ConstantReadNode(11...17)(:Object),
[AssocNode(18...22)(
SymbolNode(18...20)(nil, (18...19), (19...20), "b"),
IntegerNode(21...22)(),

View File

@ -285,13 +285,13 @@ ProgramNode(0...704)(
ConstantPathWriteNode(288...301)(
ConstantPathNode(288...293)(
nil,
ConstantReadNode(290...293)(),
ConstantReadNode(290...293)(:Foo),
(288...290)
),
(294...295),
ConstantPathNode(296...301)(
nil,
ConstantReadNode(298...301)(),
ConstantReadNode(298...301)(:Bar),
(296...298)
)
),
@ -308,6 +308,7 @@ ProgramNode(0...704)(
(313...314)
),
ConstantWriteNode(317...326)(
:CONST,
(317...322),
IntegerNode(325...326)(),
(323...324)
@ -315,11 +316,11 @@ ProgramNode(0...704)(
ConstantPathWriteNode(327...350)(
ConstantPathNode(327...346)(
ConstantPathNode(327...339)(
ConstantReadNode(327...331)(),
ConstantReadNode(333...339)(),
ConstantReadNode(327...331)(:Name),
ConstantReadNode(333...339)(:Spaced),
(331...333)
),
ConstantReadNode(341...346)(),
ConstantReadNode(341...346)(:CONST),
(339...341)
),
(347...348),

View File

@ -742,7 +742,7 @@ ProgramNode(0...737)(
nil,
RescueNode(365...386)(
(365...371),
[ConstantReadNode(372...381)()],
[ConstantReadNode(372...381)(:Exception)],
(382...384),
LocalVariableTargetNode(385...386)(:e, 0),
nil,
@ -785,7 +785,7 @@ ProgramNode(0...737)(
),
RescueNode(402...431)(
(402...408),
[ConstantReadNode(409...418)()],
[ConstantReadNode(409...418)(:Exception)],
(419...421),
LocalVariableTargetNode(422...425)(:bar, 0),
StatementsNode(428...431)(
@ -830,7 +830,7 @@ ProgramNode(0...737)(
),
RescueNode(447...475)(
(447...453),
[ConstantReadNode(454...463)(),
[ConstantReadNode(454...463)(:SomeError),
SplatNode(465...469)(
(465...466),
CallNode(466...469)(
@ -899,7 +899,7 @@ ProgramNode(0...737)(
),
RescueNode(491...532)(
(491...497),
[ConstantReadNode(498...507)(),
[ConstantReadNode(498...507)(:SomeError),
SplatNode(509...513)(
(509...510),
CallNode(510...513)(
@ -1036,7 +1036,7 @@ ProgramNode(0...737)(
),
RescueNode(581...597)(
(581...587),
[ConstantReadNode(588...597)()],
[ConstantReadNode(588...597)(:LoadError)],
nil,
nil,
nil,

View File

@ -4,7 +4,7 @@ ProgramNode(0...213)(
[ClassNode(0...11)(
[],
(0...5),
ConstantReadNode(6...7)(),
ConstantReadNode(6...7)(:A),
nil,
nil,
nil,
@ -33,8 +33,8 @@ ProgramNode(0...213)(
[],
(49...54),
ConstantPathNode(55...59)(
ConstantReadNode(55...56)(),
ConstantReadNode(58...59)(),
ConstantReadNode(55...56)(:A),
ConstantReadNode(58...59)(:B),
(56...58)
),
nil,
@ -48,11 +48,11 @@ ProgramNode(0...213)(
(65...70),
ConstantPathNode(71...78)(
ConstantPathNode(71...75)(
ConstantReadNode(71...72)(),
ConstantReadNode(74...75)(),
ConstantReadNode(71...72)(:A),
ConstantReadNode(74...75)(:B),
(72...74)
),
ConstantReadNode(77...78)(),
ConstantReadNode(77...78)(:C),
(75...77)
),
nil,
@ -64,9 +64,9 @@ ProgramNode(0...213)(
ClassNode(84...99)(
[],
(84...89),
ConstantReadNode(90...91)(),
ConstantReadNode(90...91)(:A),
(92...93),
ConstantReadNode(94...95)(),
ConstantReadNode(94...95)(:B),
nil,
(96...99),
"A"
@ -74,11 +74,11 @@ ProgramNode(0...213)(
ClassNode(101...119)(
[],
(101...106),
ConstantReadNode(107...108)(),
ConstantReadNode(107...108)(:A),
(109...110),
ConstantPathNode(111...115)(
ConstantReadNode(111...112)(),
ConstantReadNode(114...115)(),
ConstantReadNode(111...112)(:B),
ConstantReadNode(114...115)(:C),
(112...114)
),
nil,
@ -89,14 +89,14 @@ ProgramNode(0...213)(
[],
(121...126),
ConstantPathNode(127...131)(
ConstantReadNode(127...128)(),
ConstantReadNode(130...131)(),
ConstantReadNode(127...128)(:A),
ConstantReadNode(130...131)(:B),
(128...130)
),
(132...133),
ConstantPathNode(134...138)(
ConstantReadNode(134...135)(),
ConstantReadNode(137...138)(),
ConstantReadNode(134...135)(:C),
ConstantReadNode(137...138)(:D),
(135...137)
),
nil,
@ -106,7 +106,7 @@ ProgramNode(0...213)(
ClassNode(144...198)(
[],
(144...149),
ConstantReadNode(150...151)(),
ConstantReadNode(150...151)(:A),
nil,
nil,
StatementsNode(154...194)(
@ -117,7 +117,7 @@ ProgramNode(0...213)(
(161...162),
ArgumentsNode(162...167)(
[CallNode(162...167)(
ConstantReadNode(162...163)(),
ConstantReadNode(162...163)(:B),
(163...164),
(164...167),
nil,
@ -157,7 +157,7 @@ ProgramNode(0...213)(
(200...205),
ConstantPathNode(206...209)(
nil,
ConstantReadNode(208...209)(),
ConstantReadNode(208...209)(:A),
(206...208)
),
nil,

View File

@ -9,7 +9,7 @@ ProgramNode(0...56)(
),
DefinedNode(15...28)(
(23...24),
ConstantReadNode(24...27)(),
ConstantReadNode(24...27)(:Foo),
(27...28),
(15...23)
),

View File

@ -47,7 +47,7 @@ ProgramNode(0...266)(
),
DefNode(72...93)(
(80...83),
ConstantReadNode(76...79)(),
ConstantReadNode(76...79)(:Foo),
nil,
StatementsNode(86...89)(
[CallNode(86...89)(nil, nil, (86...89), nil, nil, nil, nil, 2, "bar")]
@ -162,8 +162,8 @@ ProgramNode(0...266)(
ParenthesesNode(162...176)(
CallNode(163...175)(
ConstantPathNode(163...171)(
ConstantReadNode(163...166)(),
ConstantReadNode(168...171)(),
ConstantReadNode(163...166)(:Foo),
ConstantReadNode(168...171)(:Bar),
(166...168)
),
(171...172),
@ -204,8 +204,8 @@ ProgramNode(0...266)(
(207...210),
ParenthesesNode(196...206)(
ConstantPathNode(197...205)(
ConstantReadNode(197...200)(),
ConstantReadNode(202...205)(),
ConstantReadNode(197...200)(:Foo),
ConstantReadNode(202...205)(:Bar),
(200...202)
),
(196...197),
@ -235,7 +235,7 @@ ProgramNode(0...266)(
),
DefNode(222...243)(
(230...233),
ConstantReadNode(226...229)(),
ConstantReadNode(226...229)(:Foo),
nil,
StatementsNode(236...239)(
[CallNode(236...239)(

View File

@ -52,7 +52,7 @@ ProgramNode(0...246)(
ModuleNode(102...133)(
[:foo],
(102...108),
ConstantReadNode(109...110)(),
ConstantReadNode(109...110)(:A),
StatementsNode(113...129)(
[IfNode(113...129)(
(123...125),
@ -86,7 +86,7 @@ ProgramNode(0...246)(
ModuleNode(135...170)(
[:foo],
(135...141),
ConstantReadNode(142...143)(),
ConstantReadNode(142...143)(:B),
StatementsNode(146...166)(
[UnlessNode(146...166)(
(156...162),

View File

@ -81,7 +81,7 @@ ProgramNode(0...530)(
nil,
RescueNode(113...121)(
(113...119),
[ConstantReadNode(120...121)()],
[ConstantReadNode(120...121)(:A)],
nil,
nil,
nil,
@ -96,7 +96,7 @@ ProgramNode(0...530)(
nil,
RescueNode(133...148)(
(133...139),
[ConstantReadNode(140...141)()],
[ConstantReadNode(140...141)(:A)],
(142...144),
LocalVariableTargetNode(145...148)(:foo, 0),
nil,
@ -123,7 +123,7 @@ ProgramNode(0...530)(
),
RescueNode(164...189)(
(164...170),
[ConstantReadNode(171...172)()],
[ConstantReadNode(171...172)(:A)],
nil,
nil,
StatementsNode(175...176)(
@ -141,7 +141,7 @@ ProgramNode(0...530)(
),
RescueNode(177...189)(
(177...183),
[ConstantReadNode(184...185)()],
[ConstantReadNode(184...185)(:B)],
nil,
nil,
StatementsNode(188...189)(
@ -249,7 +249,9 @@ ProgramNode(0...530)(
nil,
(283...288),
(288...289),
ArgumentsNode(289...298)([ConstantReadNode(289...298)()]),
ArgumentsNode(289...298)(
[ConstantReadNode(289...298)(:Exception)]
),
(298...299),
nil,
0,
@ -277,7 +279,7 @@ ProgramNode(0...530)(
),
RescueNode(317...333)(
(317...323),
[ConstantReadNode(324...333)()],
[ConstantReadNode(324...333)(:Exception)],
nil,
nil,
nil,
@ -309,7 +311,8 @@ ProgramNode(0...530)(
StatementsNode(384...387)([LocalVariableReadNode(384...387)(:foo, 0)]),
RescueNode(388...424)(
(388...394),
[ConstantReadNode(395...404)(), ConstantReadNode(406...411)()],
[ConstantReadNode(395...404)(:Exception),
ConstantReadNode(406...411)(:Other)],
(412...414),
LocalVariableTargetNode(415...418)(:bar, 0),
StatementsNode(421...424)(
@ -326,7 +329,7 @@ ProgramNode(0...530)(
StatementsNode(438...441)([LocalVariableReadNode(438...441)(:bar, 0)]),
RescueNode(442...483)(
(442...448),
[ConstantReadNode(449...458)(),
[ConstantReadNode(449...458)(:SomeError),
SplatNode(460...464)(
(460...461),
LocalVariableReadNode(461...464)(:bar, 0)

View File

@ -4,7 +4,7 @@ ProgramNode(0...106)(
[ModuleNode(0...12)(
[],
(0...6),
ConstantReadNode(7...8)(),
ConstantReadNode(7...8)(:A),
nil,
(9...12),
"A"
@ -13,8 +13,8 @@ ProgramNode(0...106)(
[],
(14...20),
ConstantPathNode(21...25)(
ConstantReadNode(21...22)(),
ConstantReadNode(24...25)(),
ConstantReadNode(21...22)(:A),
ConstantReadNode(24...25)(:B),
(22...24)
),
nil,
@ -26,11 +26,11 @@ ProgramNode(0...106)(
(31...37),
ConstantPathNode(38...45)(
ConstantPathNode(38...42)(
ConstantReadNode(38...39)(),
ConstantReadNode(41...42)(),
ConstantReadNode(38...39)(:A),
ConstantReadNode(41...42)(:B),
(39...41)
),
ConstantReadNode(44...45)(),
ConstantReadNode(44...45)(:C),
(42...44)
),
nil,
@ -40,7 +40,7 @@ ProgramNode(0...106)(
ModuleNode(51...106)(
[],
(51...57),
ConstantReadNode(58...59)(),
ConstantReadNode(58...59)(:A),
StatementsNode(62...102)(
[CallNode(62...76)(
nil,
@ -49,7 +49,7 @@ ProgramNode(0...106)(
(69...70),
ArgumentsNode(70...75)(
[CallNode(70...75)(
ConstantReadNode(70...71)(),
ConstantReadNode(70...71)(:B),
(71...72),
(72...75),
nil,

View File

@ -5,7 +5,7 @@ ProgramNode(0...408)(
CallNode(5...8)(nil, nil, (5...8), nil, nil, nil, nil, 2, "foo"),
[InNode(9...38)(
ArrayPatternNode(12...26)(
ConstantReadNode(12...13)(),
ConstantReadNode(12...13)(:A),
[IntegerNode(14...15)(), IntegerNode(17...18)()],
SplatNode(20...22)(
(20...21),
@ -46,7 +46,7 @@ ProgramNode(0...408)(
),
InNode(60...80)(
HashPatternNode(63...68)(
ConstantReadNode(63...64)(),
ConstantReadNode(63...64)(:A),
[AssocNode(65...67)(
SymbolNode(65...67)(nil, (65...66), (66...67), "x"),
nil,
@ -235,7 +235,7 @@ ProgramNode(0...408)(
),
[InNode(355...372)(
ArrayPatternNode(358...372)(
ConstantReadNode(358...359)(),
ConstantReadNode(358...359)(:A),
[IntegerNode(360...361)(), IntegerNode(363...364)()],
SplatNode(366...368)(
(366...367),
@ -266,7 +266,7 @@ ProgramNode(0...408)(
"foo"
),
[InNode(386...390)(
ConstantReadNode(389...390)(),
ConstantReadNode(389...390)(:A),
nil,
(386...388),
nil

View File

@ -4,7 +4,7 @@ ProgramNode(0...999)(
[ModuleNode(0...35)(
[:foo, :a, :_],
(0...6),
ConstantReadNode(7...8)(),
ConstantReadNode(7...8)(:A),
StatementsNode(11...31)(
[LocalVariableOrWriteNode(11...31)(
(11...14),
@ -43,7 +43,7 @@ ProgramNode(0...999)(
ModuleNode(37...73)(
[:local],
(37...43),
ConstantReadNode(44...45)(),
ConstantReadNode(44...45)(:A),
StatementsNode(48...69)(
[LocalVariableWriteNode(48...57)(
:local,
@ -71,7 +71,7 @@ ProgramNode(0...999)(
ClassNode(74...85)(
[],
(74...79),
ConstantReadNode(80...81)(),
ConstantReadNode(80...81)(:A),
nil,
nil,
nil,
@ -91,7 +91,7 @@ ProgramNode(0...999)(
ModuleNode(90...102)(
[],
(90...96),
ConstantReadNode(97...98)(),
ConstantReadNode(97...98)(:A),
nil,
(99...102),
"A"
@ -547,7 +547,7 @@ ProgramNode(0...999)(
0
),
CallNode(405...410)(
ConstantReadNode(405...406)(),
ConstantReadNode(405...406)(:A),
(406...407),
(407...410),
nil,

View File

@ -7,16 +7,24 @@ ProgramNode(0...66)(
GlobalVariableReadNode(9...11)(:$a),
NumberedReferenceReadNode(12...14)(1),
BackReferenceReadNode(15...17)(),
ConstantReadNode(18...23)(),
ConstantReadNode(18...23)(:CONST),
ConstantPathNode(24...37)(
ConstantReadNode(24...30)(),
ConstantReadNode(32...37)(),
ConstantReadNode(24...30)(:SCOPED),
ConstantReadNode(32...37)(:CONST),
(30...32)
),
ConstantPathNode(38...48)(nil, ConstantReadNode(40...48)(), (38...40)),
ConstantPathNode(38...48)(
nil,
ConstantReadNode(40...48)(:TOPLEVEL),
(38...40)
),
ConstantPathNode(49...66)(
ConstantPathNode(49...59)(nil, ConstantReadNode(51...59)(), (49...51)),
ConstantReadNode(61...66)(),
ConstantPathNode(49...59)(
nil,
ConstantReadNode(51...59)(:TOPLEVEL),
(49...51)
),
ConstantReadNode(61...66)(:CONST),
(59...61)
)]
)

View File

@ -4,7 +4,7 @@ ProgramNode(0...620)(
[ModuleNode(0...68)(
[],
(0...6),
ConstantReadNode(7...8)(),
ConstantReadNode(7...8)(:A),
StatementsNode(11...64)(
[CallNode(11...64)(
nil,
@ -130,7 +130,7 @@ ProgramNode(0...620)(
ModuleNode(112...146)(
[:foo],
(112...118),
ConstantReadNode(119...120)(),
ConstantReadNode(119...120)(:A),
StatementsNode(123...142)(
[WhileNode(123...142)(
(133...138),
@ -164,7 +164,7 @@ ProgramNode(0...620)(
ModuleNode(148...182)(
[:foo],
(148...154),
ConstantReadNode(155...156)(),
ConstantReadNode(155...156)(:A),
StatementsNode(159...178)(
[UntilNode(159...178)(
(169...174),
@ -198,7 +198,7 @@ ProgramNode(0...620)(
ModuleNode(184...228)(
[:foo],
(184...190),
ConstantReadNode(191...192)(),
ConstantReadNode(191...192)(:A),
StatementsNode(195...224)(
[WhileNode(195...224)(
(195...200),
@ -242,7 +242,7 @@ ProgramNode(0...620)(
ModuleNode(230...299)(
[],
(230...236),
ConstantReadNode(237...238)(),
ConstantReadNode(237...238)(:A),
StatementsNode(241...295)(
[CallNode(241...295)(
nil,
@ -317,7 +317,7 @@ ProgramNode(0...620)(
ModuleNode(301...370)(
[],
(301...307),
ConstantReadNode(308...309)(),
ConstantReadNode(308...309)(:A),
StatementsNode(312...366)(
[CallNode(312...366)(
nil,

View File

@ -62,7 +62,7 @@ ProgramNode(0...55)(
[RescueModifierNode(33...51)(
CallNode(33...34)(nil, nil, (33...34), nil, nil, nil, nil, 2, "a"),
(35...41),
ConstantReadNode(42...51)()
ConstantReadNode(42...51)(:Exception)
)]
),
[],

View File

@ -81,7 +81,7 @@ ProgramNode(0...215)(
nil,
RescueNode(118...126)(
(118...124),
[ConstantReadNode(125...126)()],
[ConstantReadNode(125...126)(:A)],
nil,
nil,
nil,
@ -96,7 +96,7 @@ ProgramNode(0...215)(
nil,
RescueNode(144...152)(
(144...150),
[ConstantReadNode(151...152)()],
[ConstantReadNode(151...152)(:A)],
nil,
nil,
nil,
@ -123,7 +123,7 @@ ProgramNode(0...215)(
),
RescueNode(175...200)(
(175...181),
[ConstantReadNode(182...183)()],
[ConstantReadNode(182...183)(:A)],
nil,
nil,
StatementsNode(186...187)(
@ -141,7 +141,7 @@ ProgramNode(0...215)(
),
RescueNode(188...200)(
(188...194),
[ConstantReadNode(195...196)()],
[ConstantReadNode(195...196)(:B)],
nil,
nil,
StatementsNode(199...200)(

View File

@ -140,7 +140,7 @@ ProgramNode(0...188)(
ModuleNode(132...188)(
[:foo],
(132...138),
ConstantReadNode(139...140)(),
ConstantReadNode(139...140)(:A),
StatementsNode(143...184)(
[LocalVariableWriteNode(143...152)(
:foo,

View File

@ -191,6 +191,7 @@ ProgramNode(0...293)(
(264...265)
),
ConstantWriteNode(272...282)(
:Foo,
(272...275),
ArrayNode(278...282)(
[IntegerNode(278...279)(), IntegerNode(281...282)()],

View File

@ -116,7 +116,7 @@ ProgramNode(0...314)(
ClassNode(169...198)(
[:a],
(169...174),
ConstantReadNode(175...178)(),
ConstantReadNode(175...178)(:Foo),
nil,
nil,
StatementsNode(179...193)(

View File

@ -6,7 +6,7 @@ ProgramNode(0...34)(
nil,
RescueNode(7...23)(
(7...13),
[ConstantReadNode(14...23)()],
[ConstantReadNode(14...23)(:LoadError)],
nil,
nil,
nil,

View File

@ -3,8 +3,8 @@ ProgramNode(0...13)(
StatementsNode(0...13)(
[ConstantPathWriteNode(0...13)(
ConstantPathNode(0...8)(
ConstantReadNode(0...3)(),
ConstantReadNode(5...8)(),
ConstantReadNode(0...3)(:Bar),
ConstantReadNode(5...8)(:Foo),
(3...5)
),
(9...10),

View File

@ -2,7 +2,7 @@ ProgramNode(0...10)(
[],
StatementsNode(0...10)(
[ConstantPathWriteNode(0...10)(
ConstantPathNode(0...5)(nil, ConstantReadNode(2...5)(), (0...2)),
ConstantPathNode(0...5)(nil, ConstantReadNode(2...5)(:Foo), (0...2)),
(6...7),
IntegerNode(8...10)()
)]

View File

@ -1,6 +1,6 @@
ProgramNode(0...8)(
[],
StatementsNode(0...8)(
[ConstantWriteNode(0...8)((0...3), IntegerNode(6...8)(), (4...5))]
[ConstantWriteNode(0...8)(:Foo, (0...3), IntegerNode(6...8)(), (4...5))]
)
)

View File

@ -4,7 +4,7 @@ ProgramNode(0...29)(
[ClassNode(0...13)(
[],
(0...5),
ConstantReadNode(6...9)(),
ConstantReadNode(6...9)(:Foo),
nil,
nil,
nil,
@ -14,7 +14,7 @@ ProgramNode(0...29)(
ClassNode(15...29)(
[],
(15...20),
ConstantReadNode(21...24)(),
ConstantReadNode(21...24)(:Foo),
nil,
nil,
nil,

View File

@ -65,7 +65,7 @@ ProgramNode(0...197)(
ClassNode(110...139)(
[:a],
(110...115),
ConstantReadNode(116...119)(),
ConstantReadNode(116...119)(:Foo),
nil,
nil,
StatementsNode(120...134)(
@ -99,7 +99,7 @@ ProgramNode(0...197)(
ClassNode(159...185)(
[],
(159...164),
ConstantReadNode(165...168)(),
ConstantReadNode(165...168)(:Foo),
nil,
nil,
StatementsNode(170...180)(

View File

@ -4,9 +4,9 @@ ProgramNode(0...20)(
[ClassNode(0...20)(
[],
(0...5),
ConstantReadNode(6...9)(),
ConstantReadNode(6...9)(:Foo),
(10...11),
ConstantReadNode(12...15)(),
ConstantReadNode(12...15)(:Bar),
nil,
(17...20),
"Foo"

View File

@ -4,7 +4,7 @@ ProgramNode(0...20)(
[ClassNode(0...20)(
[],
(0...5),
ConstantReadNode(6...9)(),
ConstantReadNode(6...9)(:Foo),
(10...11),
CallNode(12...15)(
nil,

View File

@ -2,12 +2,13 @@ ProgramNode(0...77)(
[],
StatementsNode(0...77)(
[ConstantPathOperatorWriteNode(0...8)(
ConstantPathNode(0...3)(nil, ConstantReadNode(2...3)(), (0...2)),
ConstantPathNode(0...3)(nil, ConstantReadNode(2...3)(:A), (0...2)),
(4...6),
IntegerNode(7...8)(),
:+
),
ConstantOperatorWriteNode(10...16)(
:A,
(10...11),
(12...14),
IntegerNode(15...16)(),
@ -15,8 +16,8 @@ ProgramNode(0...77)(
),
ConstantPathOperatorWriteNode(18...27)(
ConstantPathNode(18...22)(
ConstantReadNode(18...19)(),
ConstantReadNode(21...22)(),
ConstantReadNode(18...19)(:B),
ConstantReadNode(21...22)(:A),
(19...21)
),
(23...25),
@ -31,7 +32,7 @@ ProgramNode(0...77)(
[ConstantPathOrWriteNode(36...45)(
ConstantPathNode(36...39)(
nil,
ConstantReadNode(38...39)(),
ConstantReadNode(38...39)(:A),
(36...38)
),
(40...43),
@ -54,7 +55,7 @@ ProgramNode(0...77)(
[ConstantPathOrWriteNode(59...72)(
ConstantPathNode(59...66)(
SelfNode(59...63)(),
ConstantReadNode(65...66)(),
ConstantReadNode(65...66)(:A),
(63...65)
),
(67...70),

View File

@ -2,8 +2,8 @@ ProgramNode(0...8)(
[],
StatementsNode(0...8)(
[ConstantPathNode(0...8)(
ConstantReadNode(0...3)(),
ConstantReadNode(5...8)(),
ConstantReadNode(0...3)(:Bar),
ConstantReadNode(5...8)(:Foo),
(3...5)
)]
)

View File

@ -1,6 +1,6 @@
ProgramNode(0...5)(
[],
StatementsNode(0...5)(
[ConstantPathNode(0...5)(nil, ConstantReadNode(2...5)(), (0...2))]
[ConstantPathNode(0...5)(nil, ConstantReadNode(2...5)(:Foo), (0...2))]
)
)

View File

@ -1 +1 @@
ProgramNode(0...3)([], StatementsNode(0...3)([ConstantReadNode(0...3)()]))
ProgramNode(0...3)([], StatementsNode(0...3)([ConstantReadNode(0...3)(:Foo)]))

View File

@ -4,7 +4,7 @@ ProgramNode(0...39)(
[ModuleNode(0...17)(
[],
(0...6),
ConstantPathNode(7...12)(nil, ConstantReadNode(9...12)(), (7...9)),
ConstantPathNode(7...12)(nil, ConstantReadNode(9...12)(:Foo), (7...9)),
nil,
(14...17),
"Foo"
@ -13,8 +13,8 @@ ProgramNode(0...39)(
[],
(19...25),
ConstantPathNode(26...34)(
ConstantReadNode(26...29)(),
ConstantReadNode(31...34)(),
ConstantReadNode(26...29)(:Bar),
ConstantReadNode(31...34)(:Foo),
(29...31)
),
nil,

View File

@ -20,7 +20,7 @@ ProgramNode(0...100)(
),
DefNode(20...39)(
(31...34),
ConstantReadNode(24...30)(),
ConstantReadNode(24...30)(:String),
nil,
nil,
[],
@ -33,7 +33,7 @@ ProgramNode(0...100)(
),
DefNode(41...61)(
(53...56),
ConstantReadNode(45...51)(),
ConstantReadNode(45...51)(:String),
nil,
nil,
[],

View File

@ -8,11 +8,11 @@ ProgramNode(0...178)(
IfNode(6...25)(
(6...8),
TrueNode(9...13)(),
StatementsNode(15...21)([ConstantReadNode(15...21)()]),
StatementsNode(15...21)([ConstantReadNode(15...21)(:Object)]),
nil,
(22...25)
),
ConstantReadNode(27...33)(),
ConstantReadNode(27...33)(:Kernel),
(25...27)
),
nil,
@ -31,13 +31,13 @@ ProgramNode(0...178)(
TrueNode(52...56)(),
StatementsNode(58...70)(
[BreakNode(58...70)(
ArgumentsNode(64...70)([ConstantReadNode(64...70)()]),
ArgumentsNode(64...70)([ConstantReadNode(64...70)(:Object)]),
(58...63)
)]
),
0
),
ConstantReadNode(76...82)(),
ConstantReadNode(76...82)(:Kernel),
(74...76)
),
nil,
@ -53,11 +53,11 @@ ProgramNode(0...178)(
IfNode(96...115)(
(96...98),
TrueNode(99...103)(),
StatementsNode(105...111)([ConstantReadNode(105...111)()]),
StatementsNode(105...111)([ConstantReadNode(105...111)(:Object)]),
nil,
(112...115)
),
ConstantReadNode(117...123)(),
ConstantReadNode(117...123)(:Kernel),
(115...117)
),
nil,
@ -74,13 +74,15 @@ ProgramNode(0...178)(
TrueNode(143...147)(),
StatementsNode(149...161)(
[BreakNode(149...161)(
ArgumentsNode(155...161)([ConstantReadNode(155...161)()]),
ArgumentsNode(155...161)(
[ConstantReadNode(155...161)(:Object)]
),
(149...154)
)]
),
0
),
ConstantReadNode(167...173)(),
ConstantReadNode(167...173)(:Kernel),
(165...167)
),
nil,

View File

@ -2,7 +2,11 @@ ProgramNode(0...34)(
[:foo],
StatementsNode(0...34)(
[MultiWriteNode(0...14)(
[ConstantPathTargetNode(0...3)(nil, ConstantReadNode(2...3)(), (0...2)),
[ConstantPathTargetNode(0...3)(
nil,
ConstantReadNode(2...3)(:A),
(0...2)
),
LocalVariableTargetNode(5...8)(:foo, 0)],
(9...10),
LocalVariableReadNode(11...14)(:foo, 0),
@ -12,7 +16,7 @@ ProgramNode(0...34)(
MultiWriteNode(16...34)(
[ConstantPathTargetNode(16...23)(
SelfNode(16...20)(),
ConstantReadNode(22...23)(),
ConstantReadNode(22...23)(:A),
(20...22)
),
LocalVariableTargetNode(25...28)(:foo, 0)],

View File

@ -4,7 +4,7 @@ ProgramNode(0...15)(
[ModuleNode(0...15)(
[],
(0...6),
ConstantReadNode(7...10)(),
ConstantReadNode(7...10)(:Foo),
nil,
(12...15),
"Foo"

View File

@ -15,7 +15,7 @@ ProgramNode(0...83)(
ClassNode(27...43)(
[],
(27...32),
ConstantReadNode(33...34)(),
ConstantReadNode(33...34)(:A),
nil,
nil,
StatementsNode(36...38)(
@ -42,7 +42,7 @@ ProgramNode(0...83)(
ModuleNode(66...83)(
[],
(66...72),
ConstantReadNode(73...74)(),
ConstantReadNode(73...74)(:A),
StatementsNode(76...78)(
[CallNode(76...78)(nil, nil, (76...78), nil, nil, nil, nil, 2, "_1")]
),

View File

@ -76,7 +76,7 @@ ProgramNode(0...64)(
ConstantPathOperatorWriteNode(32...47)(
ConstantPathNode(32...38)(
CallNode(32...35)(nil, nil, (32...35), nil, nil, nil, nil, 2, "foo"),
ConstantReadNode(37...38)(),
ConstantReadNode(37...38)(:A),
(35...37)
),
(39...41),

View File

@ -13,6 +13,7 @@ ProgramNode(0...132)(
SelfNode(16...20)(),
StatementsNode(22...29)(
[ConstantWriteNode(22...29)(
:A,
(22...23),
NilNode(26...29)(),
(24...25)
@ -43,7 +44,7 @@ ProgramNode(0...132)(
[ClassNode(63...75)(
[],
(63...68),
ConstantReadNode(69...70)(),
ConstantReadNode(69...70)(:C),
nil,
nil,
nil,
@ -76,7 +77,7 @@ ProgramNode(0...132)(
[ModuleNode(109...122)(
[],
(109...115),
ConstantReadNode(116...117)(),
ConstantReadNode(116...117)(:M),
nil,
(119...122),
"M"

View File

@ -4,9 +4,9 @@ ProgramNode(0...15)(
[ClassNode(0...15)(
[],
(0...5),
ConstantReadNode(6...7)(),
ConstantReadNode(6...7)(:A),
(8...9),
ConstantReadNode(10...11)(),
ConstantReadNode(10...11)(:B),
nil,
(12...15),
"A"

View File

@ -8,7 +8,7 @@ ProgramNode(0...39)(
),
RescueNode(13...34)(
(13...19),
[ConstantReadNode(20...29)()],
[ConstantReadNode(20...29)(:Exception)],
nil,
nil,
StatementsNode(31...34)(

View File

@ -8,7 +8,7 @@ ProgramNode(0...44)(
),
RescueNode(13...39)(
(13...19),
[ConstantReadNode(20...29)(),
[ConstantReadNode(20...29)(:Exception),
CallNode(31...34)(
nil,
nil,

View File

@ -47,8 +47,8 @@ ProgramNode(0...49)(
nil,
ArgumentsNode(36...44)(
[ConstantPathNode(36...40)(
ConstantReadNode(36...37)(),
ConstantReadNode(39...40)(),
ConstantReadNode(36...37)(:A),
ConstantReadNode(39...40)(:B),
(37...39)
),
StringNode(42...44)((42...43), (43...43), (43...44), "")]

View File

@ -298,7 +298,7 @@ ProgramNode(0...437)(
ConstantPathOrWriteNode(242...273)(
ConstantPathNode(242...248)(
LocalVariableReadNode(242...245)(:foo, 0),
ConstantReadNode(247...248)(),
ConstantReadNode(247...248)(:C),
(245...247)
),
(249...252),
@ -333,7 +333,7 @@ ProgramNode(0...437)(
ConstantPathOrWriteNode(275...307)(
ConstantPathNode(275...281)(
LocalVariableReadNode(275...278)(:foo, 0),
ConstantReadNode(280...281)(),
ConstantReadNode(280...281)(:C),
(278...280)
),
(282...285),

View File

@ -26,7 +26,7 @@ ProgramNode(0...44)(
ConstantPathWriteNode(22...32)(
ConstantPathNode(22...28)(
CallNode(22...25)(nil, nil, (22...25), nil, nil, nil, nil, 2, "foo"),
ConstantReadNode(27...28)(),
ConstantReadNode(27...28)(:A),
(25...27)
),
(29...30),

View File

@ -20,7 +20,7 @@ ProgramNode(0...13)(
StatementsNode(10...11)([LocalVariableReadNode(10...11)(:t, 0)]),
ElseNode(11...13)(
(11...12),
StatementsNode(12...13)([ConstantReadNode(12...13)()]),
StatementsNode(12...13)([ConstantReadNode(12...13)(:T)]),
nil
),
nil

View File

@ -867,6 +867,8 @@ nodes:
^^^^^^^^^
- name: ConstantAndWriteNode
fields:
- name: name
type: constant
- name: name_loc
type: location
- name: operator_loc
@ -880,6 +882,8 @@ nodes:
^^^^^^^^^^^^^^^^
- name: ConstantOperatorWriteNode
fields:
- name: name
type: constant
- name: name_loc
type: location
- name: operator_loc
@ -895,6 +899,8 @@ nodes:
^^^^^^^^^^^^^^^
- name: ConstantOrWriteNode
fields:
- name: name
type: constant
- name: name_loc
type: location
- name: operator_loc
@ -997,12 +1003,18 @@ nodes:
::Foo::Bar = 1
^^^^^^^^^^^^^^
- name: ConstantReadNode
fields:
- name: name
type: constant
comment: |
Represents referencing a constant.
Foo
^^^
- name: ConstantTargetNode
fields:
- name: name
type: constant
comment: |
Represents writing to a constant in a context that doesn't have an explicit value.
@ -1010,6 +1022,8 @@ nodes:
^^^ ^^^
- name: ConstantWriteNode
fields:
- name: name
type: constant
- name: name_loc
type: location
- name: value

View File

@ -1747,7 +1747,7 @@ yp_class_variable_read_node_create(yp_parser_t *parser, const yp_token_t *token)
.type = YP_CLASS_VARIABLE_READ_NODE,
.location = YP_LOCATION_TOKEN_VALUE(token)
},
.name = yp_parser_constant_id_location(parser, token->start, token->end)
.name = yp_parser_constant_id_token(parser, token)
};
return node;
@ -1885,8 +1885,7 @@ yp_constant_path_write_node_create(yp_parser_t *parser, yp_constant_path_node_t
// Allocate and initialize a new ConstantAndWriteNode node.
static yp_constant_and_write_node_t *
yp_constant_and_write_node_create(yp_parser_t *parser, yp_node_t *target, const yp_token_t *operator, yp_node_t *value) {
assert(YP_NODE_TYPE_P(target, YP_CONSTANT_READ_NODE));
yp_constant_and_write_node_create(yp_parser_t *parser, yp_constant_read_node_t *target, const yp_token_t *operator, yp_node_t *value) {
assert(operator->type == YP_TOKEN_AMPERSAND_AMPERSAND_EQUAL);
yp_constant_and_write_node_t *node = YP_ALLOC_NODE(parser, yp_constant_and_write_node_t);
@ -1894,11 +1893,12 @@ yp_constant_and_write_node_create(yp_parser_t *parser, yp_node_t *target, const
{
.type = YP_CONSTANT_AND_WRITE_NODE,
.location = {
.start = target->location.start,
.start = target->base.location.start,
.end = value->location.end
}
},
.name_loc = target->location,
.name = target->name,
.name_loc = target->base.location,
.operator_loc = YP_LOCATION_TOKEN_VALUE(operator),
.value = value
};
@ -1908,18 +1908,19 @@ yp_constant_and_write_node_create(yp_parser_t *parser, yp_node_t *target, const
// Allocate and initialize a new ConstantOperatorWriteNode node.
static yp_constant_operator_write_node_t *
yp_constant_operator_write_node_create(yp_parser_t *parser, yp_node_t *target, const yp_token_t *operator, yp_node_t *value) {
yp_constant_operator_write_node_create(yp_parser_t *parser, yp_constant_read_node_t *target, const yp_token_t *operator, yp_node_t *value) {
yp_constant_operator_write_node_t *node = YP_ALLOC_NODE(parser, yp_constant_operator_write_node_t);
*node = (yp_constant_operator_write_node_t) {
{
.type = YP_CONSTANT_OPERATOR_WRITE_NODE,
.location = {
.start = target->location.start,
.start = target->base.location.start,
.end = value->location.end
}
},
.name_loc = target->location,
.name = target->name,
.name_loc = target->base.location,
.operator_loc = YP_LOCATION_TOKEN_VALUE(operator),
.value = value,
.operator = yp_parser_constant_id_location(parser, operator->start, operator->end - 1)
@ -1930,8 +1931,7 @@ yp_constant_operator_write_node_create(yp_parser_t *parser, yp_node_t *target, c
// Allocate and initialize a new ConstantOrWriteNode node.
static yp_constant_or_write_node_t *
yp_constant_or_write_node_create(yp_parser_t *parser, yp_node_t *target, const yp_token_t *operator, yp_node_t *value) {
assert(YP_NODE_TYPE_P(target, YP_CONSTANT_READ_NODE));
yp_constant_or_write_node_create(yp_parser_t *parser, yp_constant_read_node_t *target, const yp_token_t *operator, yp_node_t *value) {
assert(operator->type == YP_TOKEN_PIPE_PIPE_EQUAL);
yp_constant_or_write_node_t *node = YP_ALLOC_NODE(parser, yp_constant_or_write_node_t);
@ -1939,11 +1939,12 @@ yp_constant_or_write_node_create(yp_parser_t *parser, yp_node_t *target, const y
{
.type = YP_CONSTANT_OR_WRITE_NODE,
.location = {
.start = target->location.start,
.start = target->base.location.start,
.end = value->location.end
}
},
.name_loc = target->location,
.name = target->name,
.name_loc = target->base.location,
.operator_loc = YP_LOCATION_TOKEN_VALUE(operator),
.value = value
};
@ -1955,26 +1956,34 @@ yp_constant_or_write_node_create(yp_parser_t *parser, yp_node_t *target, const y
static yp_constant_read_node_t *
yp_constant_read_node_create(yp_parser_t *parser, const yp_token_t *name) {
assert(name->type == YP_TOKEN_CONSTANT || name->type == YP_TOKEN_MISSING);
yp_constant_read_node_t *node = YP_ALLOC_NODE(parser, yp_constant_read_node_t);
*node = (yp_constant_read_node_t) {{ .type = YP_CONSTANT_READ_NODE, .location = YP_LOCATION_TOKEN_VALUE(name) }};
*node = (yp_constant_read_node_t) {
{
.type = YP_CONSTANT_READ_NODE,
.location = YP_LOCATION_TOKEN_VALUE(name)
},
.name = yp_parser_constant_id_token(parser, name)
};
return node;
}
// Allocate a new ConstantWriteNode node.
static yp_constant_write_node_t *
yp_constant_write_node_create(yp_parser_t *parser, yp_location_t *name_loc, const yp_token_t *operator, yp_node_t *value) {
yp_constant_write_node_create(yp_parser_t *parser, yp_constant_read_node_t *target, const yp_token_t *operator, yp_node_t *value) {
yp_constant_write_node_t *node = YP_ALLOC_NODE(parser, yp_constant_write_node_t);
*node = (yp_constant_write_node_t) {
{
.type = YP_CONSTANT_WRITE_NODE,
.location = {
.start = name_loc->start,
.start = target->base.location.start,
.end = value->location.end
},
}
},
.name_loc = *name_loc,
.name = target->name,
.name_loc = target->base.location,
.operator_loc = YP_OPTIONAL_LOCATION_TOKEN_VALUE(operator),
.value = value
};
@ -2478,7 +2487,7 @@ yp_global_variable_read_node_create(yp_parser_t *parser, const yp_token_t *name)
.type = YP_GLOBAL_VARIABLE_READ_NODE,
.location = YP_LOCATION_TOKEN_VALUE(name),
},
.name = yp_parser_constant_id_location(parser, name->start, name->end)
.name = yp_parser_constant_id_token(parser, name)
};
return node;
@ -2840,7 +2849,7 @@ yp_instance_variable_read_node_create(yp_parser_t *parser, const yp_token_t *tok
.type = YP_INSTANCE_VARIABLE_READ_NODE,
.location = YP_LOCATION_TOKEN_VALUE(token)
},
.name = yp_parser_constant_id_location(parser, token->start, token->end)
.name = yp_parser_constant_id_token(parser, token)
};
return node;
@ -8167,7 +8176,7 @@ parse_write(yp_parser_t *parser, yp_node_t *target, yp_token_t *operator, yp_nod
case YP_CONSTANT_PATH_NODE:
return (yp_node_t *) yp_constant_path_write_node_create(parser, (yp_constant_path_node_t *) target, operator, value);
case YP_CONSTANT_READ_NODE: {
yp_constant_write_node_t *node = yp_constant_write_node_create(parser, &target->location, operator, value);
yp_constant_write_node_t *node = yp_constant_write_node_create(parser, (yp_constant_read_node_t *) target, operator, value);
yp_node_destroy(parser, target);
return (yp_node_t *) node;
}
@ -13005,7 +13014,7 @@ parse_expression_infix(yp_parser_t *parser, yp_node_t *node, yp_binding_power_t
parser_lex(parser);
yp_node_t *value = parse_expression(parser, binding_power, "Expected a value after &&=");
yp_node_t *result = (yp_node_t *) yp_constant_and_write_node_create(parser, node, &token, value);
yp_node_t *result = (yp_node_t *) yp_constant_and_write_node_create(parser, (yp_constant_read_node_t *) node, &token, value);
yp_node_destroy(parser, node);
return result;
@ -13106,7 +13115,7 @@ parse_expression_infix(yp_parser_t *parser, yp_node_t *node, yp_binding_power_t
parser_lex(parser);
yp_node_t *value = parse_expression(parser, binding_power, "Expected a value after ||=");
yp_node_t *result = (yp_node_t *) yp_constant_or_write_node_create(parser, node, &token, value);
yp_node_t *result = (yp_node_t *) yp_constant_or_write_node_create(parser, (yp_constant_read_node_t *) node, &token, value);
yp_node_destroy(parser, node);
return result;
@ -13217,7 +13226,7 @@ parse_expression_infix(yp_parser_t *parser, yp_node_t *node, yp_binding_power_t
parser_lex(parser);
yp_node_t *value = parse_expression(parser, binding_power, "Expected a value after the operator.");
yp_node_t *result = (yp_node_t *) yp_constant_operator_write_node_create(parser, node, &token, value);
yp_node_t *result = (yp_node_t *) yp_constant_operator_write_node_create(parser, (yp_constant_read_node_t *) node, &token, value);
yp_node_destroy(parser, node);
return result;