@@ -1147,7 +1147,7 @@ def visit_block_parameter_node(node)
11471147 on_blockarg ( nil )
11481148 else
11491149 bounds ( node . name_loc )
1150- name = visit_token ( node . name . to_s )
1150+ name = on_ident ( node . name . to_s )
11511151
11521152 bounds ( node . location )
11531153 on_blockarg ( name )
@@ -1362,7 +1362,7 @@ def visit_call_node(node)
13621362 receiver = visit ( node . receiver )
13631363
13641364 bounds ( node . call_operator_loc )
1365- call_operator = visit_token ( node . call_operator )
1365+ call_operator = visit_call_operator ( node . call_operator )
13661366
13671367 message =
13681368 if node . message_loc . nil?
@@ -1473,7 +1473,7 @@ def visit_call_operator_write_node(node)
14731473 receiver = visit ( node . receiver )
14741474
14751475 bounds ( node . call_operator_loc )
1476- call_operator = visit_token ( node . call_operator )
1476+ call_operator = visit_call_operator ( node . call_operator )
14771477
14781478 bounds ( node . message_loc )
14791479 message = visit_token ( node . message )
@@ -1495,7 +1495,7 @@ def visit_call_and_write_node(node)
14951495 receiver = visit ( node . receiver )
14961496
14971497 bounds ( node . call_operator_loc )
1498- call_operator = visit_token ( node . call_operator )
1498+ call_operator = visit_call_operator ( node . call_operator )
14991499
15001500 bounds ( node . message_loc )
15011501 message = visit_token ( node . message )
@@ -1517,7 +1517,7 @@ def visit_call_or_write_node(node)
15171517 receiver = visit ( node . receiver )
15181518
15191519 bounds ( node . call_operator_loc )
1520- call_operator = visit_token ( node . call_operator )
1520+ call_operator = visit_call_operator ( node . call_operator )
15211521
15221522 bounds ( node . message_loc )
15231523 message = visit_token ( node . message )
@@ -1551,7 +1551,7 @@ def visit_call_target_node(node)
15511551 receiver = visit ( node . receiver )
15521552
15531553 bounds ( node . call_operator_loc )
1554- call_operator = visit_token ( node . call_operator )
1554+ call_operator = visit_call_operator ( node . call_operator )
15551555
15561556 bounds ( node . message_loc )
15571557 message = visit_token ( node . message )
@@ -1663,9 +1663,6 @@ def visit_class_variable_read_node(node)
16631663
16641664 # @@foo = 1
16651665 # ^^^^^^^^^
1666- #
1667- # @@foo, @@bar = 1
1668- # ^^^^^ ^^^^^
16691666 def visit_class_variable_write_node ( node )
16701667 bounds ( node . name_loc )
16711668 target = on_var_field ( on_cvar ( node . name . to_s ) )
@@ -1737,9 +1734,6 @@ def visit_constant_read_node(node)
17371734
17381735 # Foo = 1
17391736 # ^^^^^^^
1740- #
1741- # Foo, Bar = 1
1742- # ^^^ ^^^
17431737 def visit_constant_write_node ( node )
17441738 bounds ( node . name_loc )
17451739 target = on_var_field ( on_const ( node . name . to_s ) )
@@ -1832,9 +1826,6 @@ def visit_constant_path_node(node)
18321826
18331827 # Foo::Bar = 1
18341828 # ^^^^^^^^^^^^
1835- #
1836- # Foo::Foo, Bar::Bar = 1
1837- # ^^^^^^^^ ^^^^^^^^
18381829 def visit_constant_path_write_node ( node )
18391830 target = visit_constant_path_write_node_target ( node . target )
18401831
@@ -1932,7 +1923,7 @@ def visit_def_node(node)
19321923 operator =
19331924 if !node . operator_loc . nil?
19341925 bounds ( node . operator_loc )
1935- visit_token ( node . operator )
1926+ node . operator == "." ? on_period ( "." ) : on_op ( "::" )
19361927 end
19371928
19381929 bounds ( node . name_loc )
@@ -2247,9 +2238,6 @@ def visit_global_variable_read_node(node)
22472238
22482239 # $foo = 1
22492240 # ^^^^^^^^
2250- #
2251- # $foo, $bar = 1
2252- # ^^^^ ^^^^
22532241 def visit_global_variable_write_node ( node )
22542242 bounds ( node . name_loc )
22552243 target = on_var_field ( on_gvar ( node . name . to_s ) )
@@ -3211,7 +3199,7 @@ def visit_optional_keyword_parameter_node(node)
32113199 # ^^^^^^^
32123200 def visit_optional_parameter_node ( node )
32133201 bounds ( node . name_loc )
3214- name = visit_token ( node . name . to_s )
3202+ name = on_ident ( node . name . to_s )
32153203
32163204 bounds ( node . operator_loc )
32173205 on_op ( "=" )
@@ -3532,7 +3520,7 @@ def visit_rest_parameter_node(node)
35323520 on_rest_param ( nil )
35333521 else
35343522 bounds ( node . name_loc )
3535- on_rest_param ( visit_token ( node . name . to_s ) )
3523+ on_rest_param ( on_ident ( node . name . to_s ) )
35363524 end
35373525 end
35383526
@@ -4137,6 +4125,11 @@ def visit_token(token, allow_keywords = true)
41374125 end
41384126 end
41394127
4128+ # Visit either `.`, `&.`, or `::`.
4129+ def visit_call_operator ( token )
4130+ token == "." ? on_period ( token ) : on_op ( token )
4131+ end
4132+
41404133 # Visit a node that represents a number. We need to explicitly handle the
41414134 # unary - operator.
41424135 def visit_number_node ( node )
0 commit comments