Actions
Bug #4716
closedRipper orders rescue_mod subnodes inconsistently [PATCH]
Description
Depending on whether a rescue_mod node is in an assignment context or not, the parse order differs:
pp Ripper.sexp("a rescue b")
[:program,
[[:rescue_mod,
[:var_ref, [:@ident, "b", [1, 9]]],
[:var_ref, [:@ident, "a", [1, 0]]]]]]
pp Ripper.sexp("x = a rescue b")
[:program,
[[:assign,
[:var_field, [:@ident, "x", [1, 0]]],
[:rescue_mod,
[:var_ref, [:@ident, "a", [1, 4]]],
[:var_ref, [:@ident, "b", [1, 13]]]]]]]
I've attached a patch that fixes the issue - a patch containing tests will soon follow.
Files
Actions
Like0
Like0Like0Like0Like0