[ruby/yarp] Temporarily add name_constant to replace name on ClassNode/ModuleNode

https://github.com/ruby/yarp/commit/8f87686e9c
This commit is contained in:
Kevin Newton 2023-09-06 09:06:21 -04:00 committed by git
parent dae6a0a295
commit 5537169ef0
30 changed files with 163 additions and 81 deletions

View File

@ -19,10 +19,11 @@ module YARP
Location(), Location(),
ConstantReadNode(:Parent), ConstantReadNode(:Parent),
StatementsNode( StatementsNode(
[ModuleNode([], Location(), MissingNode(), nil, Location(), "")] [ModuleNode([], Location(), MissingNode(), nil, Location(), "", :"")]
), ),
Location(), Location(),
"Parent" "Parent",
:Parent
) )
assert_errors expected, "module Parent module end", [ assert_errors expected, "module Parent module end", [
@ -393,7 +394,7 @@ module YARP
Location(), Location(),
nil, nil,
nil, nil,
StatementsNode([ModuleNode([], Location(), ConstantReadNode(:A), nil, Location(), "A")]), StatementsNode([ModuleNode([], Location(), ConstantReadNode(:A), nil, Location(), "A", :A)]),
[], [],
Location(), Location(),
nil, nil,
@ -424,7 +425,7 @@ module YARP
BlockNode( BlockNode(
[], [],
nil, nil,
StatementsNode([ModuleNode([], Location(), ConstantReadNode(:Foo), nil, Location(), "Foo")]), StatementsNode([ModuleNode([], Location(), ConstantReadNode(:Foo), nil, Location(), "Foo", :Foo)]),
Location(), Location(),
Location() Location()
), ),
@ -464,7 +465,8 @@ module YARP
nil, nil,
nil, nil,
Location(), Location(),
"A" "A",
:A
)] )]
), ),
[], [],
@ -979,7 +981,8 @@ module YARP
nil, nil,
StatementsNode([ReturnNode(Location(), nil)]), StatementsNode([ReturnNode(Location(), nil)]),
Location(), Location(),
"A" "A",
:A
) )
assert_errors expected, "class A; return; end", [ assert_errors expected, "class A; return; end", [
@ -994,7 +997,8 @@ module YARP
ConstantReadNode(:A), ConstantReadNode(:A),
StatementsNode([ReturnNode(Location(), nil)]), StatementsNode([ReturnNode(Location(), nil)]),
Location(), Location(),
"A" "A",
:A
) )
assert_errors expected, "module A; return; end", [ assert_errors expected, "module A; return; end", [

View File

@ -17,7 +17,8 @@ ProgramNode(0...370)(
)] )]
), ),
(14...17), (14...17),
"A" "A",
:A
), ),
ClassNode(19...39)( ClassNode(19...39)(
[], [],
@ -34,7 +35,8 @@ ProgramNode(0...370)(
(36...39) (36...39)
), ),
(36...39), (36...39),
"A" "A",
:A
), ),
ClassNode(41...75)( ClassNode(41...75)(
[], [],
@ -51,7 +53,8 @@ ProgramNode(0...370)(
(72...75) (72...75)
), ),
(72...75), (72...75),
"A" "A",
:A
), ),
ClassNode(77...98)( ClassNode(77...98)(
[:a], [:a],
@ -69,7 +72,8 @@ ProgramNode(0...370)(
)] )]
), ),
(95...98), (95...98),
"A" "A",
:A
), ),
SingletonClassNode(100...120)( SingletonClassNode(100...120)(
[], [],
@ -123,7 +127,8 @@ ProgramNode(0...370)(
)] )]
), ),
(159...162), (159...162),
"A" "A",
:A
), ),
ClassNode(164...218)( ClassNode(164...218)(
[], [],
@ -149,7 +154,8 @@ ProgramNode(0...370)(
)] )]
), ),
(215...218), (215...218),
"A" "A",
:A
), ),
SingletonClassNode(220...240)( SingletonClassNode(220...240)(
[], [],
@ -281,7 +287,8 @@ ProgramNode(0...370)(
), ),
nil, nil,
(367...370), (367...370),
"A" "A",
:A
)] )]
) )
) )

View File

@ -1192,7 +1192,8 @@ ProgramNode(0...1237)(
)] )]
), ),
(926...929), (926...929),
"Bar" "Bar",
:Bar
)] )]
), ),
nil, nil,
@ -1224,7 +1225,8 @@ ProgramNode(0...1237)(
)] )]
), ),
(957...960), (957...960),
"Bar" "Bar",
:Bar
)] )]
), ),
nil, nil,

View File

@ -15,7 +15,8 @@ ProgramNode(0...140)(
)] )]
), ),
(15...18), (15...18),
"A" "A",
:A
), ),
InterpolatedStringNode(20...38)( InterpolatedStringNode(20...38)(
(20...23), (20...23),
@ -50,7 +51,8 @@ ProgramNode(0...140)(
), ),
nil, nil,
(52...55), (52...55),
"M" "M",
:M
), ),
ModuleNode(57...85)( ModuleNode(57...85)(
[:x], [:x],
@ -73,7 +75,8 @@ ProgramNode(0...140)(
(82...85) (82...85)
), ),
(82...85), (82...85),
"A" "A",
:A
), ),
ModuleNode(87...101)( ModuleNode(87...101)(
[], [],
@ -85,7 +88,8 @@ ProgramNode(0...140)(
), ),
nil, nil,
(98...101), (98...101),
"A" "A",
:A
), ),
ModuleNode(103...120)( ModuleNode(103...120)(
[], [],
@ -107,7 +111,8 @@ ProgramNode(0...140)(
), ),
nil, nil,
(117...120), (117...120),
"B" "B",
:B
), ),
ModuleNode(122...140)( ModuleNode(122...140)(
[], [],
@ -129,7 +134,8 @@ ProgramNode(0...140)(
), ),
nil, nil,
(137...140), (137...140),
"B" "B",
:B
)] )]
) )
) )

View File

@ -87,7 +87,8 @@ ProgramNode(0...689)(
)] )]
), ),
(266...269), (266...269),
"X" "X",
:X
), ),
ClassNode(293...376)( ClassNode(293...376)(
[], [],
@ -111,11 +112,13 @@ ProgramNode(0...689)(
)] )]
), ),
(355...358), (355...358),
"Y" "Y",
:Y
)] )]
), ),
(373...376), (373...376),
"X" "X",
:X
), ),
ClassNode(395...498)( ClassNode(395...498)(
[], [],
@ -162,7 +165,8 @@ ProgramNode(0...689)(
)] )]
), ),
(495...498), (495...498),
"X" "X",
:X
), ),
ModuleNode(517...565)( ModuleNode(517...565)(
[], [],
@ -182,7 +186,8 @@ ProgramNode(0...689)(
)] )]
), ),
(562...565), (562...565),
"X" "X",
:X
), ),
ModuleNode(568...651)( ModuleNode(568...651)(
[], [],
@ -202,11 +207,13 @@ ProgramNode(0...689)(
)] )]
), ),
(630...633), (630...633),
"Y" "Y",
:Y
)] )]
), ),
(648...651), (648...651),
"X" "X",
:X
), ),
CallNode(670...689)( CallNode(670...689)(
nil, nil,

View File

@ -23,7 +23,8 @@ ProgramNode(19...71)(
)] )]
), ),
(68...71), (68...71),
"X" "X",
:X
)] )]
) )
) )

View File

@ -31,7 +31,8 @@ ProgramNode(0...28)(
)] )]
), ),
(25...28), (25...28),
"X" "X",
:X
)] )]
) )
) )

View File

@ -31,7 +31,8 @@ ProgramNode(0...33)(
)] )]
), ),
(30...33), (30...33),
"X" "X",
:X
)] )]
) )
) )

View File

@ -31,7 +31,8 @@ ProgramNode(18...90)(
)] )]
), ),
(87...90), (87...90),
"ExampleUTF8ClassNameVarietà" "ExampleUTF8ClassNameVarietà",
:ExampleUTF8ClassNameVarietà
)] )]
) )
) )

View File

@ -21,7 +21,8 @@ ProgramNode(24...77)(
)] )]
), ),
(74...77), (74...77),
"X" "X",
:X
)] )]
) )
) )

View File

@ -19,7 +19,8 @@ ProgramNode(0...48)(
nil, nil,
nil, nil,
(45...48), (45...48),
"Foo" "Foo",
:Foo
)] )]
) )
) )

View File

@ -9,7 +9,8 @@ ProgramNode(0...213)(
nil, nil,
nil, nil,
(8...11), (8...11),
"A" "A",
:A
), ),
SingletonClassNode(13...27)( SingletonClassNode(13...27)(
[], [],
@ -41,7 +42,8 @@ ProgramNode(0...213)(
nil, nil,
nil, nil,
(60...63), (60...63),
"B" "B",
:B
), ),
ClassNode(65...82)( ClassNode(65...82)(
[], [],
@ -59,7 +61,8 @@ ProgramNode(0...213)(
nil, nil,
nil, nil,
(79...82), (79...82),
"C" "C",
:C
), ),
ClassNode(84...99)( ClassNode(84...99)(
[], [],
@ -69,7 +72,8 @@ ProgramNode(0...213)(
ConstantReadNode(94...95)(:B), ConstantReadNode(94...95)(:B),
nil, nil,
(96...99), (96...99),
"A" "A",
:A
), ),
ClassNode(101...119)( ClassNode(101...119)(
[], [],
@ -83,7 +87,8 @@ ProgramNode(0...213)(
), ),
nil, nil,
(116...119), (116...119),
"A" "A",
:A
), ),
ClassNode(121...142)( ClassNode(121...142)(
[], [],
@ -101,7 +106,8 @@ ProgramNode(0...213)(
), ),
nil, nil,
(139...142), (139...142),
"B" "B",
:B
), ),
ClassNode(144...198)( ClassNode(144...198)(
[], [],
@ -150,7 +156,8 @@ ProgramNode(0...213)(
)] )]
), ),
(195...198), (195...198),
"A" "A",
:A
), ),
ClassNode(200...213)( ClassNode(200...213)(
[], [],
@ -164,7 +171,8 @@ ProgramNode(0...213)(
nil, nil,
nil, nil,
(210...213), (210...213),
"A" "A",
:A
)] )]
) )
) )

View File

@ -81,7 +81,8 @@ ProgramNode(0...246)(
)] )]
), ),
(130...133), (130...133),
"A" "A",
:A
), ),
ModuleNode(135...170)( ModuleNode(135...170)(
[:foo], [:foo],
@ -115,7 +116,8 @@ ProgramNode(0...246)(
)] )]
), ),
(167...170), (167...170),
"B" "B",
:B
), ),
UnlessNode(171...197)( UnlessNode(171...197)(
(171...177), (171...177),

View File

@ -7,7 +7,8 @@ ProgramNode(0...106)(
ConstantReadNode(7...8)(:A), ConstantReadNode(7...8)(:A),
nil, nil,
(9...12), (9...12),
"A" "A",
:A
), ),
ModuleNode(14...29)( ModuleNode(14...29)(
[], [],
@ -19,7 +20,8 @@ ProgramNode(0...106)(
), ),
nil, nil,
(26...29), (26...29),
"B" "B",
:B
), ),
ModuleNode(31...49)( ModuleNode(31...49)(
[], [],
@ -35,7 +37,8 @@ ProgramNode(0...106)(
), ),
nil, nil,
(46...49), (46...49),
"C" "C",
:C
), ),
ModuleNode(51...106)( ModuleNode(51...106)(
[], [],
@ -82,7 +85,8 @@ ProgramNode(0...106)(
)] )]
), ),
(103...106), (103...106),
"A" "A",
:A
)] )]
) )
) )

View File

@ -38,7 +38,8 @@ ProgramNode(0...999)(
)] )]
), ),
(32...35), (32...35),
"A" "A",
:A
), ),
ModuleNode(37...73)( ModuleNode(37...73)(
[:local], [:local],
@ -65,7 +66,8 @@ ProgramNode(0...999)(
)] )]
), ),
(70...73), (70...73),
"A" "A",
:A
), ),
CallNode(74...89)( CallNode(74...89)(
ClassNode(74...85)( ClassNode(74...85)(
@ -76,7 +78,8 @@ ProgramNode(0...999)(
nil, nil,
nil, nil,
(82...85), (82...85),
"A" "A",
:A
), ),
(85...86), (85...86),
(86...89), (86...89),
@ -94,7 +97,8 @@ ProgramNode(0...999)(
ConstantReadNode(97...98)(:A), ConstantReadNode(97...98)(:A),
nil, nil,
(99...102), (99...102),
"A" "A",
:A
), ),
(102...103), (102...103),
(103...106), (103...106),

View File

@ -64,7 +64,8 @@ ProgramNode(0...620)(
)] )]
), ),
(65...68), (65...68),
"A" "A",
:A
), ),
DefNode(70...110)( DefNode(70...110)(
(74...77), (74...77),
@ -159,7 +160,8 @@ ProgramNode(0...620)(
)] )]
), ),
(143...146), (143...146),
"A" "A",
:A
), ),
ModuleNode(148...182)( ModuleNode(148...182)(
[:foo], [:foo],
@ -193,7 +195,8 @@ ProgramNode(0...620)(
)] )]
), ),
(179...182), (179...182),
"A" "A",
:A
), ),
ModuleNode(184...228)( ModuleNode(184...228)(
[:foo], [:foo],
@ -237,7 +240,8 @@ ProgramNode(0...620)(
)] )]
), ),
(225...228), (225...228),
"A" "A",
:A
), ),
ModuleNode(230...299)( ModuleNode(230...299)(
[], [],
@ -312,7 +316,8 @@ ProgramNode(0...620)(
)] )]
), ),
(296...299), (296...299),
"A" "A",
:A
), ),
ModuleNode(301...370)( ModuleNode(301...370)(
[], [],
@ -377,7 +382,8 @@ ProgramNode(0...620)(
)] )]
), ),
(367...370), (367...370),
"A" "A",
:A
), ),
LocalVariableWriteNode(371...402)( LocalVariableWriteNode(371...402)(
:x, :x,

View File

@ -186,7 +186,8 @@ ProgramNode(0...188)(
)] )]
), ),
(185...188), (185...188),
"A" "A",
:A
)] )]
) )
) )

View File

@ -139,7 +139,8 @@ ProgramNode(0...314)(
)] )]
), ),
(195...198), (195...198),
"Foo" "Foo",
:Foo
), ),
StatementsNode(200...205)([BreakNode(200...205)(nil, (200...205))]), StatementsNode(200...205)([BreakNode(200...205)(nil, (200...205))]),
0 0

View File

@ -9,7 +9,8 @@ ProgramNode(0...29)(
nil, nil,
nil, nil,
(10...13), (10...13),
"Foo" "Foo",
:Foo
), ),
ClassNode(15...29)( ClassNode(15...29)(
[], [],
@ -19,7 +20,8 @@ ProgramNode(0...29)(
nil, nil,
nil, nil,
(26...29), (26...29),
"Foo" "Foo",
:Foo
)] )]
) )
) )

View File

@ -88,7 +88,8 @@ ProgramNode(0...197)(
)] )]
), ),
(136...139), (136...139),
"Foo" "Foo",
:Foo
), ),
StatementsNode(141...146)([BreakNode(141...146)(nil, (141...146))]), StatementsNode(141...146)([BreakNode(141...146)(nil, (141...146))]),
0 0
@ -116,7 +117,8 @@ ProgramNode(0...197)(
)] )]
), ),
(182...185), (182...185),
"Foo" "Foo",
:Foo
), ),
StatementsNode(187...192)([BreakNode(187...192)(nil, (187...192))]), StatementsNode(187...192)([BreakNode(187...192)(nil, (187...192))]),
0 0

View File

@ -9,7 +9,8 @@ ProgramNode(0...20)(
ConstantReadNode(12...15)(:Bar), ConstantReadNode(12...15)(:Bar),
nil, nil,
(17...20), (17...20),
"Foo" "Foo",
:Foo
)] )]
) )
) )

View File

@ -21,7 +21,8 @@ ProgramNode(0...20)(
), ),
nil, nil,
(17...20), (17...20),
"Foo" "Foo",
:Foo
)] )]
) )
) )

View File

@ -7,7 +7,8 @@ ProgramNode(0...39)(
ConstantPathNode(7...12)(nil, ConstantReadNode(9...12)(:Foo), (7...9)), ConstantPathNode(7...12)(nil, ConstantReadNode(9...12)(:Foo), (7...9)),
nil, nil,
(14...17), (14...17),
"Foo" "Foo",
:Foo
), ),
ModuleNode(19...39)( ModuleNode(19...39)(
[], [],
@ -19,7 +20,8 @@ ProgramNode(0...39)(
), ),
nil, nil,
(36...39), (36...39),
"Foo" "Foo",
:Foo
)] )]
) )
) )

View File

@ -19,7 +19,8 @@ ProgramNode(0...178)(
nil, nil,
nil, nil,
(35...38), (35...38),
"Kernel" "Kernel",
:Kernel
), ),
ClassNode(40...87)( ClassNode(40...87)(
[], [],
@ -44,7 +45,8 @@ ProgramNode(0...178)(
nil, nil,
nil, nil,
(84...87), (84...87),
"Kernel" "Kernel",
:Kernel
), ),
ModuleNode(89...128)( ModuleNode(89...128)(
[], [],
@ -62,7 +64,8 @@ ProgramNode(0...178)(
), ),
nil, nil,
(125...128), (125...128),
"Kernel" "Kernel",
:Kernel
), ),
ModuleNode(130...178)( ModuleNode(130...178)(
[], [],
@ -87,7 +90,8 @@ ProgramNode(0...178)(
), ),
nil, nil,
(175...178), (175...178),
"Kernel" "Kernel",
:Kernel
)] )]
) )
) )

View File

@ -7,7 +7,8 @@ ProgramNode(0...15)(
ConstantReadNode(7...10)(:Foo), ConstantReadNode(7...10)(:Foo),
nil, nil,
(12...15), (12...15),
"Foo" "Foo",
:Foo
)] )]
) )
) )

View File

@ -22,7 +22,8 @@ ProgramNode(0...83)(
[CallNode(36...38)(nil, nil, (36...38), nil, nil, nil, nil, 2, "_1")] [CallNode(36...38)(nil, nil, (36...38), nil, nil, nil, nil, 2, "_1")]
), ),
(40...43), (40...43),
"A" "A",
:A
), ),
DefNode(45...64)( DefNode(45...64)(
(54...55), (54...55),
@ -47,7 +48,8 @@ ProgramNode(0...83)(
[CallNode(76...78)(nil, nil, (76...78), nil, nil, nil, nil, 2, "_1")] [CallNode(76...78)(nil, nil, (76...78), nil, nil, nil, nil, 2, "_1")]
), ),
(80...83), (80...83),
"A" "A",
:A
)] )]
) )
) )

View File

@ -49,7 +49,8 @@ ProgramNode(0...132)(
nil, nil,
nil, nil,
(72...75), (72...75),
"C" "C",
:C
)] )]
), ),
(77...80) (77...80)
@ -80,7 +81,8 @@ ProgramNode(0...132)(
ConstantReadNode(116...117)(:M), ConstantReadNode(116...117)(:M),
nil, nil,
(119...122), (119...122),
"M" "M",
:M
)] )]
), ),
(124...127) (124...127)

View File

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

View File

@ -780,6 +780,8 @@ nodes:
type: location type: location
- name: name - name: name
type: string type: string
- name: name_constant
type: constant
comment: | comment: |
Represents a class declaration involving the `class` keyword. Represents a class declaration involving the `class` keyword.
@ -1738,6 +1740,8 @@ nodes:
type: location type: location
- name: name - name: name
type: string type: string
- name: name_constant
type: constant
comment: | comment: |
Represents a module declaration involving the `module` keyword. Represents a module declaration involving the `module` keyword.

View File

@ -1660,7 +1660,8 @@ yp_class_node_create(yp_parser_t *parser, yp_constant_id_list_t *locals, const y
.superclass = superclass, .superclass = superclass,
.body = body, .body = body,
.end_keyword_loc = YP_LOCATION_TOKEN_VALUE(end_keyword), .end_keyword_loc = YP_LOCATION_TOKEN_VALUE(end_keyword),
.name = YP_EMPTY_STRING .name = YP_EMPTY_STRING,
.name_constant = yp_parser_constant_id_token(parser, name)
}; };
yp_string_shared_init(&node->name, name->start, name->end); yp_string_shared_init(&node->name, name->start, name->end);
@ -3310,7 +3311,8 @@ yp_module_node_create(yp_parser_t *parser, yp_constant_id_list_t *locals, const
.constant_path = constant_path, .constant_path = constant_path,
.body = body, .body = body,
.end_keyword_loc = YP_LOCATION_TOKEN_VALUE(end_keyword), .end_keyword_loc = YP_LOCATION_TOKEN_VALUE(end_keyword),
.name = YP_EMPTY_STRING .name = YP_EMPTY_STRING,
.name_constant = yp_parser_constant_id_token(parser, name)
}; };
yp_string_shared_init(&node->name, name->start, name->end); yp_string_shared_init(&node->name, name->start, name->end);