Project

General

Profile

Actions

Bug #15670

closed

Ripper treats :"sym" as xstring

Added by ktsj (Kazuki Tsujimoto) almost 6 years ago. Updated over 5 years ago.

Status:
Closed
Assignee:
-
Target version:
-
ruby -v:
ruby 2.7.0dev (2019-03-15 master 67269) [x86_64-linux]
[ruby-core:91852]

Description

Ripperで :"sym" をパースするとxstringとして扱われるようになっていますが、
{"sym": ...} と同様にstringとして扱われるべきだと思います。

$ ruby -rripper -e '_, (_, _, s) = Ripper.sexp_raw(%q{:"sym"}); p s'
[:dyna_symbol, [:xstring_add, [:xstring_new], [:@tstring_content, "sym", [1, 2]]]]

$ ruby -rripper -e '_, (_, _, (_, (_, ((_, s))))) = Ripper.sexp_raw(%q{{"sym": 0}}); p s'
[:dyna_symbol, [:string_add, [:string_content], [:@tstring_content, "sym", [1, 2]]]]

バックポートすべきか微妙な修正のような気もしますが、一応バックポートチケットとして起票しておきます。

Actions

Also available in: Atom PDF

Like0
Like0Like0Like0Like0Like0