Repository: ruby/yarp
Pull request #1409 (2023-09-06 14:38:11)

Constants on classes and modules
Waiting on https://github.com/ruby/ruby/pull/8384 to merge.


Patch:
diff --git a/config.yml b/config.yml
index 354c90ab..164e9610 100644
--- a/config.yml
+++ b/config.yml
@@ -779,7 +779,7 @@ nodes:
       - name: end_keyword_loc
         type: location
       - name: name
-        type: string
+        type: constant
       - name: name_constant
         type: constant
     comment: |
@@ -1739,7 +1739,7 @@ nodes:
       - name: end_keyword_loc
         type: location
       - name: name
-        type: string
+        type: constant
       - name: name_constant
         type: constant
     comment: |
diff --git a/src/yarp.c b/src/yarp.c
index 78b39073..4e291637 100644
--- a/src/yarp.c
+++ b/src/yarp.c
@@ -1647,6 +1647,7 @@ yp_case_node_end_keyword_loc_set(yp_case_node_t *node, const yp_token_t *end_key
 static yp_class_node_t *
 yp_class_node_create(yp_parser_t *parser, yp_constant_id_list_t *locals, const yp_token_t *class_keyword, yp_node_t *constant_path, const yp_token_t *name, const yp_token_t *inheritance_operator, yp_node_t *superclass, yp_node_t *body, const yp_token_t *end_keyword) {
     yp_class_node_t *node = YP_ALLOC_NODE(parser, yp_class_node_t);
+    yp_constant_id_t name_constant = yp_parser_constant_id_token(parser, name);
 
     *node = (yp_class_node_t) {
         {
@@ -1660,11 +1661,10 @@ yp_class_node_create(yp_parser_t *parser, yp_constant_id_list_t *locals, const y
         .superclass = superclass,
         .body = body,
         .end_keyword_loc = YP_LOCATION_TOKEN_VALUE(end_keyword),
-        .name = YP_EMPTY_STRING,
-        .name_constant = yp_parser_constant_id_token(parser, name)
+        .name = name_constant,
+        .name_constant = name_constant
     };
 
-    yp_string_shared_init(&node->name, name->start, name->end);
     return node;
 }
 
@@ -3297,6 +3297,7 @@ yp_match_required_node_create(yp_parser_t *parser, yp_node_t *value, yp_node_t *
 static yp_module_node_t *
 yp_module_node_create(yp_parser_t *parser, yp_constant_id_list_t *locals, const yp_token_t *module_keyword, yp_node_t *constant_path, const yp_token_t *name, yp_node_t *body, const yp_token_t *end_keyword) {
     yp_module_node_t *node = YP_ALLOC_NODE(parser, yp_module_node_t);
+    yp_constant_id_t name_constant = yp_parser_constant_id_token(parser, name);
 
     *node = (yp_module_node_t) {
         {
@@ -3311,11 +3312,10 @@ yp_module_node_create(yp_parser_t *parser, yp_constant_id_list_t *locals, const
         .constant_path = constant_path,
         .body = body,
         .end_keyword_loc = YP_LOCATION_TOKEN_VALUE(end_keyword),
-        .name = YP_EMPTY_STRING,
-        .name_constant = yp_parser_constant_id_token(parser, name)
+        .name = name_constant,
+        .name_constant = name_constant
     };
 
-    yp_string_shared_init(&node->name, name->start, name->end);
     return node;
 }
 


Test patch:
diff --git a/test/yarp/errors_test.rb b/test/yarp/errors_test.rb
index f5064ba7..aa39982d 100644
--- a/test/yarp/errors_test.rb
+++ b/test/yarp/errors_test.rb
@@ -19,10 +19,10 @@ module YARP
         Location(),
         ConstantReadNode(:Parent),
         StatementsNode(
-          [ModuleNode([], Location(), MissingNode(), nil, Location(), "", :"")]
+          [ModuleNode([], Location(), MissingNode(), nil, Location(), :"", :"")]
         ),
         Location(),
-        "Parent",
+        :Parent,
         :Parent
       )
 
@@ -394,7 +394,7 @@ module YARP
         Location(),
         nil,
         nil,
-        StatementsNode([ModuleNode([], Location(), ConstantReadNode(:A), nil, Location(), "A", :A)]),
+        StatementsNode([ModuleNode([], Location(), ConstantReadNode(:A), nil, Location(), :A, :A)]),
         [],
         Location(),
         nil,
@@ -425,7 +425,7 @@ module YARP
             BlockNode(
               [],
               nil,
-              StatementsNode([ModuleNode([], Location(), ConstantReadNode(:Foo), nil, Location(), "Foo", :Foo)]),
+              StatementsNode([ModuleNode([], Location(), ConstantReadNode(:Foo), nil, Location(), :Foo, :Foo)]),
               Location(),
               Location()
             ),
@@ -465,7 +465,7 @@ module YARP
             nil,
             nil,
             Location(),
-            "A",
+            :A,
             :A
           )]
         ),
@@ -981,7 +981,7 @@ module YARP
         nil,
         StatementsNode([ReturnNode(Location(), nil)]),
         Location(),
-        "A",
+        :A,
         :A
       )
 
@@ -997,7 +997,7 @@ module YARP
         ConstantReadNode(:A),
         StatementsNode([ReturnNode(Location(), nil)]),
         Location(),
-        "A",
+        :A,
         :A
       )
 
diff --git a/test/yarp/snapshots/classes.txt b/test/yarp/snapshots/classes.txt
index 9a5fd84a..43c0d24a 100644
--- a/test/yarp/snapshots/classes.txt
+++ b/test/yarp/snapshots/classes.txt
@@ -17,7 +17,7 @@ ProgramNode(0...370)(
           )]
        ),
        (14...17),
-       "A",
+       :A,
        :A
      ),
      ClassNode(19...39)(
@@ -35,7 +35,7 @@ ProgramNode(0...370)(
          (36...39)
        ),
        (36...39),
-       "A",
+       :A,
        :A
      ),
      ClassNode(41...75)(
@@ -53,7 +53,7 @@ ProgramNode(0...370)(
          (72...75)
        ),
        (72...75),
-       "A",
+       :A,
        :A
      ),
      ClassNode(77...98)(
@@ -72,7 +72,7 @@ ProgramNode(0...370)(
           )]
        ),
        (95...98),
-       "A",
+       :A,
        :A
      ),
      SingletonClassNode(100...120)(
@@ -127,7 +127,7 @@ ProgramNode(0...370)(
           )]
        ),
        (159...162),
-       "A",
+       :A,
        :A
      ),
      ClassNode(164...218)(
@@ -154,7 +154,7 @@ ProgramNode(0...370)(
           )]
        ),
        (215...218),
-       "A",
+       :A,
        :A
      ),
      SingletonClassNode(220...240)(
@@ -287,7 +287,7 @@ ProgramNode(0...370)(
        ),
        nil,
        (367...370),
-       "A",
+       :A,
        :A
      )]
   )
diff --git a/test/yarp/snapshots/method_calls.txt b/test/yarp/snapshots/method_calls.txt
index a479948c..f320ab86 100644
--- a/test/yarp/snapshots/method_calls.txt
+++ b/test/yarp/snapshots/method_calls.txt
@@ -1192,7 +1192,7 @@ ProgramNode(0...1237)(
                )]
             ),
             (926...929),
-            "Bar",
+            :Bar,
             :Bar
           )]
        ),
@@ -1225,7 +1225,7 @@ ProgramNode(0...1237)(
                )]
             ),
             (957...960),
-            "Bar",
+            :Bar,
             :Bar
           )]
        ),
diff --git a/test/yarp/snapshots/modules.txt b/test/yarp/snapshots/modules.txt
index 4b00c1eb..306e7db3 100644
--- a/test/yarp/snapshots/modules.txt
+++ b/test/yarp/snapshots/modules.txt
@@ -15,7 +15,7 @@ ProgramNode(0...140)(
           )]
        ),
        (15...18),
-       "A",
+       :A,
        :A
      ),
      InterpolatedStringNode(20...38)(
@@ -51,7 +51,7 @@ ProgramNode(0...140)(
        ),
        nil,
        (52...55),
-       "M",
+       :M,
        :M
      ),
      ModuleNode(57...85)(
@@ -75,7 +75,7 @@ ProgramNode(0...140)(
          (82...85)
        ),
        (82...85),
-       "A",
+       :A,
        :A
      ),
      ModuleNode(87...101)(
@@ -88,7 +88,7 @@ ProgramNode(0...140)(
        ),
        nil,
        (98...101),
-       "A",
+       :A,
        :A
      ),
      ModuleNode(103...120)(
@@ -111,7 +111,7 @@ ProgramNode(0...140)(
        ),
        nil,
        (117...120),
-       "B",
+       :B,
        :B
      ),
      ModuleNode(122...140)(
@@ -134,7 +134,7 @@ ProgramNode(0...140)(
        ),
        nil,
        (137...140),
-       "B",
+       :B,
        :B
      )]
   )
diff --git a/test/yarp/snapshots/seattlerb/TestRubyParserShared.txt b/test/yarp/snapshots/seattlerb/TestRubyParserShared.txt
index 27e8a6b7..6ae8ed6d 100644
--- a/test/yarp/snapshots/seattlerb/TestRubyParserShared.txt
+++ b/test/yarp/snapshots/seattlerb/TestRubyParserShared.txt
@@ -87,7 +87,7 @@ ProgramNode(0...689)(
           )]
        ),
        (266...269),
-       "X",
+       :X,
        :X
      ),
      ClassNode(293...376)(
@@ -112,12 +112,12 @@ ProgramNode(0...689)(
                )]
             ),
             (355...358),
-            "Y",
+            :Y,
             :Y
           )]
        ),
        (373...376),
-       "X",
+       :X,
        :X
      ),
      ClassNode(395...498)(
@@ -165,7 +165,7 @@ ProgramNode(0...689)(
           )]
        ),
        (495...498),
-       "X",
+       :X,
        :X
      ),
      ModuleNode(517...565)(
@@ -186,7 +186,7 @@ ProgramNode(0...689)(
           )]
        ),
        (562...565),
-       "X",
+       :X,
        :X
      ),
      ModuleNode(568...651)(
@@ -207,12 +207,12 @@ ProgramNode(0...689)(
                )]
             ),
             (630...633),
-            "Y",
+            :Y,
             :Y
           )]
        ),
        (648...651),
-       "X",
+       :X,
        :X
      ),
      CallNode(670...689)(
diff --git a/test/yarp/snapshots/seattlerb/class_comments.txt b/test/yarp/snapshots/seattlerb/class_comments.txt
index 1751e299..905c5914 100644
--- a/test/yarp/snapshots/seattlerb/class_comments.txt
+++ b/test/yarp/snapshots/seattlerb/class_comments.txt
@@ -23,7 +23,7 @@ ProgramNode(19...71)(
           )]
        ),
        (68...71),
-       "X",
+       :X,
        :X
      )]
   )
diff --git a/test/yarp/snapshots/seattlerb/defn_oneliner_eq2.txt b/test/yarp/snapshots/seattlerb/defn_oneliner_eq2.txt
index 43d13f27..bbbdc173 100644
--- a/test/yarp/snapshots/seattlerb/defn_oneliner_eq2.txt
+++ b/test/yarp/snapshots/seattlerb/defn_oneliner_eq2.txt
@@ -31,7 +31,7 @@ ProgramNode(0...28)(
           )]
        ),
        (25...28),
-       "X",
+       :X,
        :X
      )]
   )
diff --git a/test/yarp/snapshots/seattlerb/defs_oneliner_eq2.txt b/test/yarp/snapshots/seattlerb/defs_oneliner_eq2.txt
index 636a1fd6..1a88fffa 100644
--- a/test/yarp/snapshots/seattlerb/defs_oneliner_eq2.txt
+++ b/test/yarp/snapshots/seattlerb/defs_oneliner_eq2.txt
@@ -31,7 +31,7 @@ ProgramNode(0...33)(
           )]
        ),
        (30...33),
-       "X",
+       :X,
        :X
      )]
   )
diff --git a/test/yarp/snapshots/seattlerb/magic_encoding_comment.txt b/test/yarp/snapshots/seattlerb/magic_encoding_comment.txt
index c231c841..77efd6f4 100644
--- a/test/yarp/snapshots/seattlerb/magic_encoding_comment.txt
+++ b/test/yarp/snapshots/seattlerb/magic_encoding_comment.txt
@@ -31,7 +31,7 @@ ProgramNode(18...90)(
           )]
        ),
        (87...90),
-       "ExampleUTF8ClassNameVarietà",
+       :ExampleUTF8ClassNameVarietà,
        :ExampleUTF8ClassNameVarietà
      )]
   )
diff --git a/test/yarp/snapshots/seattlerb/module_comments.txt b/test/yarp/snapshots/seattlerb/module_comments.txt
index 63019796..152697f4 100644
--- a/test/yarp/snapshots/seattlerb/module_comments.txt
+++ b/test/yarp/snapshots/seattlerb/module_comments.txt
@@ -21,7 +21,7 @@ ProgramNode(24...77)(
           )]
        ),
        (74...77),
-       "X",
+       :X,
        :X
      )]
   )
diff --git a/test/yarp/snapshots/seattlerb/parse_line_heredoc_hardnewline.txt b/test/yarp/snapshots/seattlerb/parse_line_heredoc_hardnewline.txt
index c29b0901..623eb3aa 100644
--- a/test/yarp/snapshots/seattlerb/parse_line_heredoc_hardnewline.txt
+++ b/test/yarp/snapshots/seattlerb/parse_line_heredoc_hardnewline.txt
@@ -19,7 +19,7 @@ ProgramNode(0...48)(
        nil,
        nil,
        (45...48),
-       "Foo",
+       :Foo,
        :Foo
      )]
   )
diff --git a/test/yarp/snapshots/unparser/corpus/literal/class.txt b/test/yarp/snapshots/unparser/corpus/literal/class.txt
index 60de85cb..cb49848a 100644
--- a/test/yarp/snapshots/unparser/corpus/literal/class.txt
+++ b/test/yarp/snapshots/unparser/corpus/literal/class.txt
@@ -9,7 +9,7 @@ ProgramNode(0...213)(
        nil,
        nil,
        (8...11),
-       "A",
+       :A,
        :A
      ),
      SingletonClassNode(13...27)(
@@ -42,7 +42,7 @@ ProgramNode(0...213)(
        nil,
        nil,
        (60...63),
-       "B",
+       :B,
        :B
      ),
      ClassNode(65...82)(
@@ -61,7 +61,7 @@ ProgramNode(0...213)(
        nil,
        nil,
        (79...82),
-       "C",
+       :C,
        :C
      ),
      ClassNode(84...99)(
@@ -72,7 +72,7 @@ ProgramNode(0...213)(
        ConstantReadNode(94...95)(:B),
        nil,
        (96...99),
-       "A",
+       :A,
        :A
      ),
      ClassNode(101...119)(
@@ -87,7 +87,7 @@ ProgramNode(0...213)(
        ),
        nil,
        (116...119),
-       "A",
+       :A,
        :A
      ),
      ClassNode(121...142)(
@@ -106,7 +106,7 @@ ProgramNode(0...213)(
        ),
        nil,
        (139...142),
-       "B",
+       :B,
        :B
      ),
      ClassNode(144...198)(
@@ -156,7 +156,7 @@ ProgramNode(0...213)(
           )]
        ),
        (195...198),
-       "A",
+       :A,
        :A
      ),
      ClassNode(200...213)(
@@ -171,7 +171,7 @@ ProgramNode(0...213)(
        nil,
        nil,
        (210...213),
-       "A",
+       :A,
        :A
      )]
   )
diff --git a/test/yarp/snapshots/unparser/corpus/literal/if.txt b/test/yarp/snapshots/unparser/corpus/literal/if.txt
index 0ab7b311..455db66a 100644
--- a/test/yarp/snapshots/unparser/corpus/literal/if.txt
+++ b/test/yarp/snapshots/unparser/corpus/literal/if.txt
@@ -81,7 +81,7 @@ ProgramNode(0...246)(
           )]
        ),
        (130...133),
-       "A",
+       :A,
        :A
      ),
      ModuleNode(135...170)(
@@ -116,7 +116,7 @@ ProgramNode(0...246)(
           )]
        ),
        (167...170),
-       "B",
+       :B,
        :B
      ),
      UnlessNode(171...197)(
diff --git a/test/yarp/snapshots/unparser/corpus/literal/module.txt b/test/yarp/snapshots/unparser/corpus/literal/module.txt
index d2dd0fa3..28de3bfa 100644
--- a/test/yarp/snapshots/unparser/corpus/literal/module.txt
+++ b/test/yarp/snapshots/unparser/corpus/literal/module.txt
@@ -7,7 +7,7 @@ ProgramNode(0...106)(
        ConstantReadNode(7...8)(:A),
        nil,
        (9...12),
-       "A",
+       :A,
        :A
      ),
      ModuleNode(14...29)(
@@ -20,7 +20,7 @@ ProgramNode(0...106)(
        ),
        nil,
        (26...29),
-       "B",
+       :B,
        :B
      ),
      ModuleNode(31...49)(
@@ -37,7 +37,7 @@ ProgramNode(0...106)(
        ),
        nil,
        (46...49),
-       "C",
+       :C,
        :C
      ),
      ModuleNode(51...106)(
@@ -85,7 +85,7 @@ ProgramNode(0...106)(
           )]
        ),
        (103...106),
-       "A",
+       :A,
        :A
      )]
   )
diff --git a/test/yarp/snapshots/unparser/corpus/literal/send.txt b/test/yarp/snapshots/unparser/corpus/literal/send.txt
index ff90dc52..fccb137c 100644
--- a/test/yarp/snapshots/unparser/corpus/literal/send.txt
+++ b/test/yarp/snapshots/unparser/corpus/literal/send.txt
@@ -38,7 +38,7 @@ ProgramNode(0...999)(
           )]
        ),
        (32...35),
-       "A",
+       :A,
        :A
      ),
      ModuleNode(37...73)(
@@ -66,7 +66,7 @@ ProgramNode(0...999)(
           )]
        ),
        (70...73),
-       "A",
+       :A,
        :A
      ),
      CallNode(74...89)(
@@ -78,7 +78,7 @@ ProgramNode(0...999)(
          nil,
          nil,
          (82...85),
-         "A",
+         :A,
          :A
        ),
        (85...86),
@@ -97,7 +97,7 @@ ProgramNode(0...999)(
          ConstantReadNode(97...98)(:A),
          nil,
          (99...102),
-         "A",
+         :A,
          :A
        ),
        (102...103),
diff --git a/test/yarp/snapshots/unparser/corpus/literal/while.txt b/test/yarp/snapshots/unparser/corpus/literal/while.txt
index aed21abe..4d924f0d 100644
--- a/test/yarp/snapshots/unparser/corpus/literal/while.txt
+++ b/test/yarp/snapshots/unparser/corpus/literal/while.txt
@@ -64,7 +64,7 @@ ProgramNode(0...620)(
           )]
        ),
        (65...68),
-       "A",
+       :A,
        :A
      ),
      DefNode(70...110)(
@@ -160,7 +160,7 @@ ProgramNode(0...620)(
           )]
        ),
        (143...146),
-       "A",
+       :A,
        :A
      ),
      ModuleNode(148...182)(
@@ -195,7 +195,7 @@ ProgramNode(0...620)(
           )]
        ),
        (179...182),
-       "A",
+       :A,
        :A
      ),
      ModuleNode(184...228)(
@@ -240,7 +240,7 @@ ProgramNode(0...620)(
           )]
        ),
        (225...228),
-       "A",
+       :A,
        :A
      ),
      ModuleNode(230...299)(
@@ -316,7 +316,7 @@ ProgramNode(0...620)(
           )]
        ),
        (296...299),
-       "A",
+       :A,
        :A
      ),
      ModuleNode(301...370)(
@@ -382,7 +382,7 @@ ProgramNode(0...620)(
           )]
        ),
        (367...370),
-       "A",
+       :A,
        :A
      ),
      LocalVariableWriteNode(371...402)(
diff --git a/test/yarp/snapshots/unparser/corpus/semantic/while.txt b/test/yarp/snapshots/unparser/corpus/semantic/while.txt
index 7426fac7..3e6ef668 100644
--- a/test/yarp/snapshots/unparser/corpus/semantic/while.txt
+++ b/test/yarp/snapshots/unparser/corpus/semantic/while.txt
@@ -186,7 +186,7 @@ ProgramNode(0...188)(
           )]
        ),
        (185...188),
-       "A",
+       :A,
        :A
      )]
   )
diff --git a/test/yarp/snapshots/while.txt b/test/yarp/snapshots/while.txt
index c04963bf..843db1e1 100644
--- a/test/yarp/snapshots/while.txt
+++ b/test/yarp/snapshots/while.txt
@@ -139,7 +139,7 @@ ProgramNode(0...314)(
             )]
          ),
          (195...198),
-         "Foo",
+         :Foo,
          :Foo
        ),
        StatementsNode(200...205)([BreakNode(200...205)(nil, (200...205))]),
diff --git a/test/yarp/snapshots/whitequark/class.txt b/test/yarp/snapshots/whitequark/class.txt
index ad181664..84ab3a72 100644
--- a/test/yarp/snapshots/whitequark/class.txt
+++ b/test/yarp/snapshots/whitequark/class.txt
@@ -9,7 +9,7 @@ ProgramNode(0...29)(
        nil,
        nil,
        (10...13),
-       "Foo",
+       :Foo,
        :Foo
      ),
      ClassNode(15...29)(
@@ -20,7 +20,7 @@ ProgramNode(0...29)(
        nil,
        nil,
        (26...29),
-       "Foo",
+       :Foo,
        :Foo
      )]
   )
diff --git a/test/yarp/snapshots/whitequark/class_definition_in_while_cond.txt b/test/yarp/snapshots/whitequark/class_definition_in_while_cond.txt
index 292b0b79..cec17515 100644
--- a/test/yarp/snapshots/whitequark/class_definition_in_while_cond.txt
+++ b/test/yarp/snapshots/whitequark/class_definition_in_while_cond.txt
@@ -88,7 +88,7 @@ ProgramNode(0...197)(
             )]
          ),
          (136...139),
-         "Foo",
+         :Foo,
          :Foo
        ),
        StatementsNode(141...146)([BreakNode(141...146)(nil, (141...146))]),
@@ -117,7 +117,7 @@ ProgramNode(0...197)(
             )]
          ),
          (182...185),
-         "Foo",
+         :Foo,
          :Foo
        ),
        StatementsNode(187...192)([BreakNode(187...192)(nil, (187...192))]),
diff --git a/test/yarp/snapshots/whitequark/class_super.txt b/test/yarp/snapshots/whitequark/class_super.txt
index 6ebbb136..ec400beb 100644
--- a/test/yarp/snapshots/whitequark/class_super.txt
+++ b/test/yarp/snapshots/whitequark/class_super.txt
@@ -9,7 +9,7 @@ ProgramNode(0...20)(
        ConstantReadNode(12...15)(:Bar),
        nil,
        (17...20),
-       "Foo",
+       :Foo,
        :Foo
      )]
   )
diff --git a/test/yarp/snapshots/whitequark/class_super_label.txt b/test/yarp/snapshots/whitequark/class_super_label.txt
index a53dac8f..8ebba419 100644
--- a/test/yarp/snapshots/whitequark/class_super_label.txt
+++ b/test/yarp/snapshots/whitequark/class_super_label.txt
@@ -21,7 +21,7 @@ ProgramNode(0...20)(
        ),
        nil,
        (17...20),
-       "Foo",
+       :Foo,
        :Foo
      )]
   )
diff --git a/test/yarp/snapshots/whitequark/cpath.txt b/test/yarp/snapshots/whitequark/cpath.txt
index 3df789b5..b557da7e 100644
--- a/test/yarp/snapshots/whitequark/cpath.txt
+++ b/test/yarp/snapshots/whitequark/cpath.txt
@@ -7,7 +7,7 @@ ProgramNode(0...39)(
        ConstantPathNode(7...12)(nil, ConstantReadNode(9...12)(:Foo), (7...9)),
        nil,
        (14...17),
-       "Foo",
+       :Foo,
        :Foo
      ),
      ModuleNode(19...39)(
@@ -20,7 +20,7 @@ ProgramNode(0...39)(
        ),
        nil,
        (36...39),
-       "Foo",
+       :Foo,
        :Foo
      )]
   )
diff --git a/test/yarp/snapshots/whitequark/if_while_after_class__since_32.txt b/test/yarp/snapshots/whitequark/if_while_after_class__since_32.txt
index a088237a..c18c1b4e 100644
--- a/test/yarp/snapshots/whitequark/if_while_after_class__since_32.txt
+++ b/test/yarp/snapshots/whitequark/if_while_after_class__since_32.txt
@@ -19,7 +19,7 @@ ProgramNode(0...178)(
        nil,
        nil,
        (35...38),
-       "Kernel",
+       :Kernel,
        :Kernel
      ),
      ClassNode(40...87)(
@@ -45,7 +45,7 @@ ProgramNode(0...178)(
        nil,
        nil,
        (84...87),
-       "Kernel",
+       :Kernel,
        :Kernel
      ),
      ModuleNode(89...128)(
@@ -64,7 +64,7 @@ ProgramNode(0...178)(
        ),
        nil,
        (125...128),
-       "Kernel",
+       :Kernel,
        :Kernel
      ),
      ModuleNode(130...178)(
@@ -90,7 +90,7 @@ ProgramNode(0...178)(
        ),
        nil,
        (175...178),
-       "Kernel",
+       :Kernel,
        :Kernel
      )]
   )
diff --git a/test/yarp/snapshots/whitequark/module.txt b/test/yarp/snapshots/whitequark/module.txt
index 9d3a1148..7880ab99 100644
--- a/test/yarp/snapshots/whitequark/module.txt
+++ b/test/yarp/snapshots/whitequark/module.txt
@@ -7,7 +7,7 @@ ProgramNode(0...15)(
        ConstantReadNode(7...10)(:Foo),
        nil,
        (12...15),
-       "Foo",
+       :Foo,
        :Foo
      )]
   )
diff --git a/test/yarp/snapshots/whitequark/numparam_outside_block.txt b/test/yarp/snapshots/whitequark/numparam_outside_block.txt
index 9ef6b0cf..61d138fa 100644
--- a/test/yarp/snapshots/whitequark/numparam_outside_block.txt
+++ b/test/yarp/snapshots/whitequark/numparam_outside_block.txt
@@ -22,7 +22,7 @@ ProgramNode(0...83)(
          [CallNode(36...38)(nil, nil, (36...38), nil, nil, nil, nil, 2, "_1")]
        ),
        (40...43),
-       "A",
+       :A,
        :A
      ),
      DefNode(45...64)(
@@ -48,7 +48,7 @@ ProgramNode(0...83)(
          [CallNode(76...78)(nil, nil, (76...78), nil, nil, nil, nil, 2, "_1")]
        ),
        (80...83),
-       "A",
+       :A,
        :A
      )]
   )
diff --git a/test/yarp/snapshots/whitequark/parser_bug_490.txt b/test/yarp/snapshots/whitequark/parser_bug_490.txt
index 680b5fe1..b3b5b04a 100644
--- a/test/yarp/snapshots/whitequark/parser_bug_490.txt
+++ b/test/yarp/snapshots/whitequark/parser_bug_490.txt
@@ -49,7 +49,7 @@ ProgramNode(0...132)(
                  nil,
                  nil,
                  (72...75),
-                 "C",
+                 :C,
                  :C
                )]
             ),
@@ -81,7 +81,7 @@ ProgramNode(0...132)(
                  ConstantReadNode(116...117)(:M),
                  nil,
                  (119...122),
-                 "M",
+                 :M,
                  :M
                )]
             ),
diff --git a/test/yarp/snapshots/whitequark/parser_bug_518.txt b/test/yarp/snapshots/whitequark/parser_bug_518.txt
index 0f92f9e9..fc53bcb5 100644
--- a/test/yarp/snapshots/whitequark/parser_bug_518.txt
+++ b/test/yarp/snapshots/whitequark/parser_bug_518.txt
@@ -9,7 +9,7 @@ ProgramNode(0...15)(
        ConstantReadNode(10...11)(:B),
        nil,
        (12...15),
-       "A",
+       :A,
        :A
      )]
   )