diff --git a/lib/prism/translation/ripper.rb b/lib/prism/translation/ripper.rb index f9cd6d3ada9..be4032de8d6 100644 --- a/lib/prism/translation/ripper.rb +++ b/lib/prism/translation/ripper.rb @@ -629,7 +629,7 @@ def visit_call_node(node) on_binary(receiver, node.name, value) else bounds(node.message_loc) - message = visit_token(node.message) + message = visit_token(node.message, false) if node.variable_call? on_vcall(message) @@ -666,7 +666,7 @@ def visit_call_node(node) :call else bounds(node.message_loc) - visit_token(node.message) + visit_token(node.message, false) end if node.name.end_with?("=") && !node.message.end_with?("=") && !node.arguments.nil? && node.block.nil? @@ -2761,13 +2761,13 @@ def void_stmt?(left, right) # Visit the string content of a particular node. This method is used to # split into the various token types. - def visit_token(token) + def visit_token(token, allow_keywords = true) case token when "." on_period(token) when "`" on_backtick(token) - when *KEYWORDS + when *(allow_keywords ? KEYWORDS : []) on_kw(token) when /^_/ on_ident(token) diff --git a/test/prism/ripper_test.rb b/test/prism/ripper_test.rb index 87cac7569f7..076bcef0851 100644 --- a/test/prism/ripper_test.rb +++ b/test/prism/ripper_test.rb @@ -26,8 +26,6 @@ class RipperTest < TestCase skips = incorrect | %w[ arrays.txt - case.txt - constants.txt dos_endings.txt embdoc_no_newline_at_end.txt heredocs_leading_whitespace.txt