Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
35 changes: 14 additions & 21 deletions lib/prism/translation/ripper.rb
Original file line number Diff line number Diff line change
Expand Up @@ -1088,7 +1088,7 @@ def visit_block_parameter_node(node)
on_blockarg(nil)
else
bounds(node.name_loc)
name = visit_token(node.name.to_s)
name = on_ident(node.name.to_s)

bounds(node.location)
on_blockarg(name)
Expand Down Expand Up @@ -1303,7 +1303,7 @@ def visit_call_node(node)
receiver = visit(node.receiver)

bounds(node.call_operator_loc)
call_operator = visit_token(node.call_operator)
call_operator = visit_call_operator(node.call_operator)

message =
if node.message_loc.nil?
Expand Down Expand Up @@ -1414,7 +1414,7 @@ def visit_call_operator_write_node(node)
receiver = visit(node.receiver)

bounds(node.call_operator_loc)
call_operator = visit_token(node.call_operator)
call_operator = visit_call_operator(node.call_operator)

bounds(node.message_loc)
message = visit_token(node.message)
Expand All @@ -1436,7 +1436,7 @@ def visit_call_and_write_node(node)
receiver = visit(node.receiver)

bounds(node.call_operator_loc)
call_operator = visit_token(node.call_operator)
call_operator = visit_call_operator(node.call_operator)

bounds(node.message_loc)
message = visit_token(node.message)
Expand All @@ -1458,7 +1458,7 @@ def visit_call_or_write_node(node)
receiver = visit(node.receiver)

bounds(node.call_operator_loc)
call_operator = visit_token(node.call_operator)
call_operator = visit_call_operator(node.call_operator)

bounds(node.message_loc)
message = visit_token(node.message)
Expand Down Expand Up @@ -1492,7 +1492,7 @@ def visit_call_target_node(node)
receiver = visit(node.receiver)

bounds(node.call_operator_loc)
call_operator = visit_token(node.call_operator)
call_operator = visit_call_operator(node.call_operator)

bounds(node.message_loc)
message = visit_token(node.message)
Expand Down Expand Up @@ -1604,9 +1604,6 @@ def visit_class_variable_read_node(node)

# @@foo = 1
# ^^^^^^^^^
#
# @@foo, @@bar = 1
# ^^^^^ ^^^^^
def visit_class_variable_write_node(node)
bounds(node.name_loc)
target = on_var_field(on_cvar(node.name.to_s))
Expand Down Expand Up @@ -1678,9 +1675,6 @@ def visit_constant_read_node(node)

# Foo = 1
# ^^^^^^^
#
# Foo, Bar = 1
# ^^^ ^^^
def visit_constant_write_node(node)
bounds(node.name_loc)
target = on_var_field(on_const(node.name.to_s))
Expand Down Expand Up @@ -1773,9 +1767,6 @@ def visit_constant_path_node(node)

# Foo::Bar = 1
# ^^^^^^^^^^^^
#
# Foo::Foo, Bar::Bar = 1
# ^^^^^^^^ ^^^^^^^^
def visit_constant_path_write_node(node)
target = visit_constant_path_write_node_target(node.target)

Expand Down Expand Up @@ -1873,7 +1864,7 @@ def visit_def_node(node)
operator =
if !node.operator_loc.nil?
bounds(node.operator_loc)
visit_token(node.operator)
node.operator == "." ? on_period(".") : on_op("::")
end

bounds(node.name_loc)
Expand Down Expand Up @@ -2188,9 +2179,6 @@ def visit_global_variable_read_node(node)

# $foo = 1
# ^^^^^^^^
#
# $foo, $bar = 1
# ^^^^ ^^^^
def visit_global_variable_write_node(node)
bounds(node.name_loc)
target = on_var_field(on_gvar(node.name.to_s))
Expand Down Expand Up @@ -3152,7 +3140,7 @@ def visit_optional_keyword_parameter_node(node)
# ^^^^^^^
def visit_optional_parameter_node(node)
bounds(node.name_loc)
name = visit_token(node.name.to_s)
name = on_ident(node.name.to_s)

bounds(node.operator_loc)
on_op("=")
Expand Down Expand Up @@ -3473,7 +3461,7 @@ def visit_rest_parameter_node(node)
on_rest_param(nil)
else
bounds(node.name_loc)
on_rest_param(visit_token(node.name.to_s))
on_rest_param(on_ident(node.name.to_s))
end
end

Expand Down Expand Up @@ -4075,6 +4063,11 @@ def visit_token(token, allow_keywords = true)
end
end

# Visit either `.`, `&.`, or `::`.
def visit_call_operator(token)
token == "." ? on_period(token) : on_op(token)
end

# Visit a node that represents a number. We need to explicitly handle the
# unary - operator.
def visit_number_node(node)
Expand Down
12 changes: 0 additions & 12 deletions lib/prism/translation/ruby_parser.rb
Original file line number Diff line number Diff line change
Expand Up @@ -394,9 +394,6 @@ def visit_class_variable_read_node(node)

# @@foo = 1
# ^^^^^^^^^
#
# @@foo, @@bar = 1
# ^^^^^ ^^^^^
def visit_class_variable_write_node(node)
s(node, class_variable_write_type, node.name, visit_write_value(node.value))
end
Expand Down Expand Up @@ -651,9 +648,6 @@ def visit_global_variable_read_node(node)

# $foo = 1
# ^^^^^^^^
#
# $foo, $bar = 1
# ^^^^ ^^^^
def visit_global_variable_write_node(node)
s(node, :gasgn, node.name, visit_write_value(node.value))
end
Expand Down Expand Up @@ -799,9 +793,6 @@ def visit_instance_variable_read_node(node)

# @foo = 1
# ^^^^^^^^
#
# @foo, @bar = 1
# ^^^^ ^^^^
def visit_instance_variable_write_node(node)
s(node, :iasgn, node.name, visit_write_value(node.value))
end
Expand Down Expand Up @@ -1013,9 +1004,6 @@ def visit_local_variable_read_node(node)

# foo = 1
# ^^^^^^^
#
# foo, bar = 1
# ^^^ ^^^
def visit_local_variable_write_node(node)
s(node, :lasgn, node.name, visit_write_value(node.value))
end
Expand Down
Loading