aboutsummaryrefslogtreecommitdiffstats
path: root/test/prism
diff options
context:
space:
mode:
authorKevin Newton <kddnewton@gmail.com>2023-12-06 15:32:53 -0500
committergit <svn-admin@ruby-lang.org>2023-12-06 20:50:02 +0000
commitfe6ee5e92148755b75ffd00ab29611b59a416d5a (patch)
tree9283cde10b67c8daec7c56511f58ed9133569377 /test/prism
parentcbb941f58a236d95d9e95c3f6dbd4510c04351f0 (diff)
downloadruby-fe6ee5e92148755b75ffd00ab29611b59a416d5a.tar.gz
[ruby/prism] Move flag position consistently to front
https://github.com/ruby/prism/commit/6e69a81737
Diffstat (limited to 'test/prism')
-rw-r--r--test/prism/errors_test.rb36
-rw-r--r--test/prism/snapshots/arithmetic.txt248
-rw-r--r--test/prism/snapshots/arrays.txt1398
-rw-r--r--test/prism/snapshots/begin_ensure.txt182
-rw-r--r--test/prism/snapshots/begin_rescue.txt140
-rw-r--r--test/prism/snapshots/blocks.txt1144
-rw-r--r--test/prism/snapshots/boolean_operators.txt12
-rw-r--r--test/prism/snapshots/break.txt294
-rw-r--r--test/prism/snapshots/case.txt84
-rw-r--r--test/prism/snapshots/classes.txt60
-rw-r--r--test/prism/snapshots/command_method_call.txt542
-rw-r--r--test/prism/snapshots/comments.txt56
-rw-r--r--test/prism/snapshots/constants.txt610
-rw-r--r--test/prism/snapshots/dash_heredocs.txt144
-rw-r--r--test/prism/snapshots/defined.txt8
-rw-r--r--test/prism/snapshots/dos_endings.txt104
-rw-r--r--test/prism/snapshots/endless_methods.txt44
-rw-r--r--test/prism/snapshots/endless_range_in_conditional.txt12
-rw-r--r--test/prism/snapshots/for.txt24
-rw-r--r--test/prism/snapshots/hashes.txt230
-rw-r--r--test/prism/snapshots/heredoc_with_comment.txt4
-rw-r--r--test/prism/snapshots/heredoc_with_comment_at_start.txt11
-rw-r--r--test/prism/snapshots/heredoc_with_escaped_newline_at_start.txt64
-rw-r--r--test/prism/snapshots/if.txt238
-rw-r--r--test/prism/snapshots/integer_operations.txt404
-rw-r--r--test/prism/snapshots/keyword_method_names.txt74
-rw-r--r--test/prism/snapshots/lambda.txt28
-rw-r--r--test/prism/snapshots/method_calls.txt2796
-rw-r--r--test/prism/snapshots/methods.txt284
-rw-r--r--test/prism/snapshots/modules.txt24
-rw-r--r--test/prism/snapshots/newline_terminated.txt4
-rw-r--r--test/prism/snapshots/next.txt174
-rw-r--r--test/prism/snapshots/non_alphanumeric_methods.txt4
-rw-r--r--test/prism/snapshots/not.txt132
-rw-r--r--test/prism/snapshots/patterns.txt1020
-rw-r--r--test/prism/snapshots/procs.txt22
-rw-r--r--test/prism/snapshots/range_begin_open_exclusive.txt4
-rw-r--r--test/prism/snapshots/range_begin_open_inclusive.txt4
-rw-r--r--test/prism/snapshots/range_end_open_exclusive.txt4
-rw-r--r--test/prism/snapshots/range_end_open_inclusive.txt4
-rw-r--r--test/prism/snapshots/ranges.txt74
-rw-r--r--test/prism/snapshots/regex.txt296
-rw-r--r--test/prism/snapshots/rescue.txt268
-rw-r--r--test/prism/snapshots/return.txt188
-rw-r--r--test/prism/snapshots/seattlerb/TestRubyParserShared.txt100
-rw-r--r--test/prism/snapshots/seattlerb/and_multi.txt4
-rw-r--r--test/prism/snapshots/seattlerb/aref_args_assocs.txt4
-rw-r--r--test/prism/snapshots/seattlerb/aref_args_lit_assocs.txt4
-rw-r--r--test/prism/snapshots/seattlerb/array_line_breaks.txt4
-rw-r--r--test/prism/snapshots/seattlerb/array_lits_trailing_calls.txt16
-rw-r--r--test/prism/snapshots/seattlerb/assoc__bare.txt4
-rw-r--r--test/prism/snapshots/seattlerb/assoc_label.txt34
-rw-r--r--test/prism/snapshots/seattlerb/attr_asgn_colon_id.txt12
-rw-r--r--test/prism/snapshots/seattlerb/attrasgn_array_arg.txt34
-rw-r--r--test/prism/snapshots/seattlerb/attrasgn_array_lhs.txt108
-rw-r--r--test/prism/snapshots/seattlerb/attrasgn_primary_dot_constant.txt16
-rw-r--r--test/prism/snapshots/seattlerb/backticks_interpolation_line.txt48
-rw-r--r--test/prism/snapshots/seattlerb/bang_eq.txt12
-rw-r--r--test/prism/snapshots/seattlerb/bdot2.txt16
-rw-r--r--test/prism/snapshots/seattlerb/bdot3.txt16
-rw-r--r--test/prism/snapshots/seattlerb/block_arg_kwsplat.txt52
-rw-r--r--test/prism/snapshots/seattlerb/block_arg_opt_arg_block.txt74
-rw-r--r--test/prism/snapshots/seattlerb/block_arg_opt_splat.txt70
-rw-r--r--test/prism/snapshots/seattlerb/block_arg_opt_splat_arg_block_omfg.txt82
-rw-r--r--test/prism/snapshots/seattlerb/block_arg_optional.txt58
-rw-r--r--test/prism/snapshots/seattlerb/block_arg_scope.txt52
-rw-r--r--test/prism/snapshots/seattlerb/block_arg_scope2.txt56
-rw-r--r--test/prism/snapshots/seattlerb/block_arg_splat_arg.txt60
-rw-r--r--test/prism/snapshots/seattlerb/block_args_kwargs.txt62
-rw-r--r--test/prism/snapshots/seattlerb/block_args_no_kwargs.txt50
-rw-r--r--test/prism/snapshots/seattlerb/block_args_opt1.txt88
-rw-r--r--test/prism/snapshots/seattlerb/block_args_opt2.txt72
-rw-r--r--test/prism/snapshots/seattlerb/block_args_opt2_2.txt108
-rw-r--r--test/prism/snapshots/seattlerb/block_args_opt3.txt122
-rw-r--r--test/prism/snapshots/seattlerb/block_break.txt94
-rw-r--r--test/prism/snapshots/seattlerb/block_call_defn_call_block_call.txt102
-rw-r--r--test/prism/snapshots/seattlerb/block_call_dot_op2_brace_block.txt142
-rw-r--r--test/prism/snapshots/seattlerb/block_call_dot_op2_cmd_args_do_block.txt166
-rw-r--r--test/prism/snapshots/seattlerb/block_call_operation_colon.txt50
-rw-r--r--test/prism/snapshots/seattlerb/block_call_operation_dot.txt50
-rw-r--r--test/prism/snapshots/seattlerb/block_call_paren_call_block_call.txt62
-rw-r--r--test/prism/snapshots/seattlerb/block_command_operation_colon.txt50
-rw-r--r--test/prism/snapshots/seattlerb/block_command_operation_dot.txt50
-rw-r--r--test/prism/snapshots/seattlerb/block_decomp_anon_splat_arg.txt66
-rw-r--r--test/prism/snapshots/seattlerb/block_decomp_arg_splat.txt66
-rw-r--r--test/prism/snapshots/seattlerb/block_decomp_arg_splat_arg.txt74
-rw-r--r--test/prism/snapshots/seattlerb/block_decomp_splat.txt66
-rw-r--r--test/prism/snapshots/seattlerb/block_kw.txt56
-rw-r--r--test/prism/snapshots/seattlerb/block_kw__required.txt50
-rw-r--r--test/prism/snapshots/seattlerb/block_kwarg_lvar.txt72
-rw-r--r--test/prism/snapshots/seattlerb/block_kwarg_lvar_multiple.txt90
-rw-r--r--test/prism/snapshots/seattlerb/block_next.txt94
-rw-r--r--test/prism/snapshots/seattlerb/block_opt_arg.txt62
-rw-r--r--test/prism/snapshots/seattlerb/block_opt_splat.txt66
-rw-r--r--test/prism/snapshots/seattlerb/block_opt_splat_arg_block_omfg.txt78
-rw-r--r--test/prism/snapshots/seattlerb/block_optarg.txt64
-rw-r--r--test/prism/snapshots/seattlerb/block_paren_splat.txt70
-rw-r--r--test/prism/snapshots/seattlerb/block_reg_optarg.txt68
-rw-r--r--test/prism/snapshots/seattlerb/block_return.txt94
-rw-r--r--test/prism/snapshots/seattlerb/block_scope.txt32
-rw-r--r--test/prism/snapshots/seattlerb/block_splat_reg.txt56
-rw-r--r--test/prism/snapshots/seattlerb/bug169.txt30
-rw-r--r--test/prism/snapshots/seattlerb/bug179.txt28
-rw-r--r--test/prism/snapshots/seattlerb/bug190.txt4
-rw-r--r--test/prism/snapshots/seattlerb/bug191.txt16
-rw-r--r--test/prism/snapshots/seattlerb/bug236.txt98
-rw-r--r--test/prism/snapshots/seattlerb/bug290.txt4
-rw-r--r--test/prism/snapshots/seattlerb/bug_187.txt94
-rw-r--r--test/prism/snapshots/seattlerb/bug_249.txt144
-rw-r--r--test/prism/snapshots/seattlerb/bug_and.txt4
-rw-r--r--test/prism/snapshots/seattlerb/bug_args__19.txt88
-rw-r--r--test/prism/snapshots/seattlerb/bug_args_masgn.txt68
-rw-r--r--test/prism/snapshots/seattlerb/bug_args_masgn2.txt84
-rw-r--r--test/prism/snapshots/seattlerb/bug_args_masgn_outer_parens__19.txt80
-rw-r--r--test/prism/snapshots/seattlerb/bug_call_arglist_parens.txt84
-rw-r--r--test/prism/snapshots/seattlerb/bug_case_when_regexp.txt4
-rw-r--r--test/prism/snapshots/seattlerb/bug_comma.txt40
-rw-r--r--test/prism/snapshots/seattlerb/bug_cond_pct.txt4
-rw-r--r--test/prism/snapshots/seattlerb/bug_hash_args.txt42
-rw-r--r--test/prism/snapshots/seattlerb/bug_hash_args_trailing_comma.txt42
-rw-r--r--test/prism/snapshots/seattlerb/bug_hash_interp_array.txt4
-rw-r--r--test/prism/snapshots/seattlerb/bug_masgn_right.txt68
-rw-r--r--test/prism/snapshots/seattlerb/bug_not_parens.txt8
-rw-r--r--test/prism/snapshots/seattlerb/bug_op_asgn_rescue.txt4
-rw-r--r--test/prism/snapshots/seattlerb/call_and.txt12
-rw-r--r--test/prism/snapshots/seattlerb/call_arg_assoc.txt32
-rw-r--r--test/prism/snapshots/seattlerb/call_arg_assoc_kwsplat.txt48
-rw-r--r--test/prism/snapshots/seattlerb/call_arg_kwsplat.txt42
-rw-r--r--test/prism/snapshots/seattlerb/call_args_assoc_quoted.txt132
-rw-r--r--test/prism/snapshots/seattlerb/call_args_assoc_trailing_comma.txt32
-rw-r--r--test/prism/snapshots/seattlerb/call_args_command.txt62
-rw-r--r--test/prism/snapshots/seattlerb/call_array_arg.txt38
-rw-r--r--test/prism/snapshots/seattlerb/call_array_block_call.txt54
-rw-r--r--test/prism/snapshots/seattlerb/call_array_lambda_block_call.txt58
-rw-r--r--test/prism/snapshots/seattlerb/call_array_lit_inline_hash.txt54
-rw-r--r--test/prism/snapshots/seattlerb/call_assoc.txt28
-rw-r--r--test/prism/snapshots/seattlerb/call_assoc_new.txt34
-rw-r--r--test/prism/snapshots/seattlerb/call_assoc_new_if_multiline.txt78
-rw-r--r--test/prism/snapshots/seattlerb/call_assoc_trailing_comma.txt28
-rw-r--r--test/prism/snapshots/seattlerb/call_bang_command_call.txt20
-rw-r--r--test/prism/snapshots/seattlerb/call_bang_squiggle.txt12
-rw-r--r--test/prism/snapshots/seattlerb/call_begin_call_block_call.txt80
-rw-r--r--test/prism/snapshots/seattlerb/call_block_arg_named.txt30
-rw-r--r--test/prism/snapshots/seattlerb/call_carat.txt12
-rw-r--r--test/prism/snapshots/seattlerb/call_colon2.txt4
-rw-r--r--test/prism/snapshots/seattlerb/call_colon_parens.txt4
-rw-r--r--test/prism/snapshots/seattlerb/call_div.txt12
-rw-r--r--test/prism/snapshots/seattlerb/call_dot_parens.txt4
-rw-r--r--test/prism/snapshots/seattlerb/call_env.txt8
-rw-r--r--test/prism/snapshots/seattlerb/call_eq3.txt12
-rw-r--r--test/prism/snapshots/seattlerb/call_gt.txt12
-rw-r--r--test/prism/snapshots/seattlerb/call_kwsplat.txt22
-rw-r--r--test/prism/snapshots/seattlerb/call_leading_dots.txt12
-rw-r--r--test/prism/snapshots/seattlerb/call_leading_dots_comment.txt12
-rw-r--r--test/prism/snapshots/seattlerb/call_lt.txt12
-rw-r--r--test/prism/snapshots/seattlerb/call_lte.txt12
-rw-r--r--test/prism/snapshots/seattlerb/call_not.txt4
-rw-r--r--test/prism/snapshots/seattlerb/call_pipe.txt12
-rw-r--r--test/prism/snapshots/seattlerb/call_rshift.txt12
-rw-r--r--test/prism/snapshots/seattlerb/call_self_brackets.txt12
-rw-r--r--test/prism/snapshots/seattlerb/call_spaceship.txt12
-rw-r--r--test/prism/snapshots/seattlerb/call_stabby_do_end_with_block.txt54
-rw-r--r--test/prism/snapshots/seattlerb/call_stabby_with_braces_block.txt54
-rw-r--r--test/prism/snapshots/seattlerb/call_star.txt12
-rw-r--r--test/prism/snapshots/seattlerb/call_star2.txt12
-rw-r--r--test/prism/snapshots/seattlerb/call_trailing_comma.txt12
-rw-r--r--test/prism/snapshots/seattlerb/call_trailing_dots.txt12
-rw-r--r--test/prism/snapshots/seattlerb/call_unary_bang.txt4
-rw-r--r--test/prism/snapshots/seattlerb/case_in.txt40
-rw-r--r--test/prism/snapshots/seattlerb/case_in_67.txt4
-rw-r--r--test/prism/snapshots/seattlerb/case_in_86.txt4
-rw-r--r--test/prism/snapshots/seattlerb/case_in_86_2.txt4
-rw-r--r--test/prism/snapshots/seattlerb/dasgn_icky2.txt98
-rw-r--r--test/prism/snapshots/seattlerb/defn_arg_forward_args.txt16
-rw-r--r--test/prism/snapshots/seattlerb/defn_args_forward_args.txt26
-rw-r--r--test/prism/snapshots/seattlerb/defn_endless_command.txt12
-rw-r--r--test/prism/snapshots/seattlerb/defn_endless_command_rescue.txt12
-rw-r--r--test/prism/snapshots/seattlerb/defn_forward_args.txt10
-rw-r--r--test/prism/snapshots/seattlerb/defn_forward_args__no_parens.txt10
-rw-r--r--test/prism/snapshots/seattlerb/defn_kwarg_env.txt24
-rw-r--r--test/prism/snapshots/seattlerb/defn_oneliner.txt14
-rw-r--r--test/prism/snapshots/seattlerb/defn_oneliner_noargs.txt4
-rw-r--r--test/prism/snapshots/seattlerb/defn_oneliner_noargs_parentheses.txt4
-rw-r--r--test/prism/snapshots/seattlerb/defn_oneliner_rescue.txt42
-rw-r--r--test/prism/snapshots/seattlerb/defs_as_arg_with_do_block_inside.txt96
-rw-r--r--test/prism/snapshots/seattlerb/defs_endless_command.txt16
-rw-r--r--test/prism/snapshots/seattlerb/defs_endless_command_rescue.txt16
-rw-r--r--test/prism/snapshots/seattlerb/defs_oneliner.txt14
-rw-r--r--test/prism/snapshots/seattlerb/defs_oneliner_rescue.txt42
-rw-r--r--test/prism/snapshots/seattlerb/difficult0_.txt116
-rw-r--r--test/prism/snapshots/seattlerb/difficult1_line_numbers.txt168
-rw-r--r--test/prism/snapshots/seattlerb/difficult1_line_numbers2.txt38
-rw-r--r--test/prism/snapshots/seattlerb/difficult2_.txt54
-rw-r--r--test/prism/snapshots/seattlerb/difficult3_.txt74
-rw-r--r--test/prism/snapshots/seattlerb/difficult3_2.txt56
-rw-r--r--test/prism/snapshots/seattlerb/difficult3_3.txt64
-rw-r--r--test/prism/snapshots/seattlerb/difficult3_4.txt4
-rw-r--r--test/prism/snapshots/seattlerb/difficult3_5.txt72
-rw-r--r--test/prism/snapshots/seattlerb/difficult3__10.txt74
-rw-r--r--test/prism/snapshots/seattlerb/difficult3__11.txt66
-rw-r--r--test/prism/snapshots/seattlerb/difficult3__12.txt70
-rw-r--r--test/prism/snapshots/seattlerb/difficult3__6.txt78
-rw-r--r--test/prism/snapshots/seattlerb/difficult3__7.txt70
-rw-r--r--test/prism/snapshots/seattlerb/difficult3__8.txt74
-rw-r--r--test/prism/snapshots/seattlerb/difficult3__9.txt70
-rw-r--r--test/prism/snapshots/seattlerb/difficult4__leading_dots.txt8
-rw-r--r--test/prism/snapshots/seattlerb/difficult4__leading_dots2.txt4
-rw-r--r--test/prism/snapshots/seattlerb/difficult6_.txt30
-rw-r--r--test/prism/snapshots/seattlerb/difficult6__7.txt66
-rw-r--r--test/prism/snapshots/seattlerb/difficult6__8.txt66
-rw-r--r--test/prism/snapshots/seattlerb/difficult7_.txt112
-rw-r--r--test/prism/snapshots/seattlerb/do_bug.txt64
-rw-r--r--test/prism/snapshots/seattlerb/dot2_nil__26.txt8
-rw-r--r--test/prism/snapshots/seattlerb/dot3_nil__26.txt8
-rw-r--r--test/prism/snapshots/seattlerb/dstr_evstr.txt4
-rw-r--r--test/prism/snapshots/seattlerb/dstr_evstr_empty_end.txt4
-rw-r--r--test/prism/snapshots/seattlerb/dstr_lex_state.txt18
-rw-r--r--test/prism/snapshots/seattlerb/eq_begin_why_wont_people_use_their_spacebar.txt54
-rw-r--r--test/prism/snapshots/seattlerb/evstr_evstr.txt8
-rw-r--r--test/prism/snapshots/seattlerb/evstr_str.txt4
-rw-r--r--test/prism/snapshots/seattlerb/expr_not_bang.txt32
-rw-r--r--test/prism/snapshots/seattlerb/flip2_env_lvar.txt12
-rw-r--r--test/prism/snapshots/seattlerb/heredoc_comma_arg.txt8
-rw-r--r--test/prism/snapshots/seattlerb/heredoc_nested.txt4
-rw-r--r--test/prism/snapshots/seattlerb/heredoc_squiggly_blank_line_plus_interpolation.txt92
-rw-r--r--test/prism/snapshots/seattlerb/heredoc_trailing_slash_continued_call.txt4
-rw-r--r--test/prism/snapshots/seattlerb/if_symbol.txt18
-rw-r--r--test/prism/snapshots/seattlerb/index_0.txt32
-rw-r--r--test/prism/snapshots/seattlerb/index_0_opasgn.txt10
-rw-r--r--test/prism/snapshots/seattlerb/interpolated_symbol_array_line_breaks.txt4
-rw-r--r--test/prism/snapshots/seattlerb/interpolated_word_array_line_breaks.txt4
-rw-r--r--test/prism/snapshots/seattlerb/iter_args_1.txt52
-rw-r--r--test/prism/snapshots/seattlerb/iter_args_10_1.txt70
-rw-r--r--test/prism/snapshots/seattlerb/iter_args_10_2.txt78
-rw-r--r--test/prism/snapshots/seattlerb/iter_args_11_1.txt74
-rw-r--r--test/prism/snapshots/seattlerb/iter_args_11_2.txt82
-rw-r--r--test/prism/snapshots/seattlerb/iter_args_2__19.txt64
-rw-r--r--test/prism/snapshots/seattlerb/iter_args_3.txt72
-rw-r--r--test/prism/snapshots/seattlerb/iter_args_4.txt60
-rw-r--r--test/prism/snapshots/seattlerb/iter_args_5.txt56
-rw-r--r--test/prism/snapshots/seattlerb/iter_args_6.txt66
-rw-r--r--test/prism/snapshots/seattlerb/iter_args_7_1.txt66
-rw-r--r--test/prism/snapshots/seattlerb/iter_args_7_2.txt74
-rw-r--r--test/prism/snapshots/seattlerb/iter_args_8_1.txt70
-rw-r--r--test/prism/snapshots/seattlerb/iter_args_8_2.txt78
-rw-r--r--test/prism/snapshots/seattlerb/iter_args_9_1.txt62
-rw-r--r--test/prism/snapshots/seattlerb/iter_args_9_2.txt70
-rw-r--r--test/prism/snapshots/seattlerb/iter_kwarg.txt56
-rw-r--r--test/prism/snapshots/seattlerb/iter_kwarg_kwsplat.txt64
-rw-r--r--test/prism/snapshots/seattlerb/label_vs_string.txt24
-rw-r--r--test/prism/snapshots/seattlerb/lambda_do_vs_brace.txt116
-rw-r--r--test/prism/snapshots/seattlerb/lasgn_call_bracket_rescue_arg.txt12
-rw-r--r--test/prism/snapshots/seattlerb/lasgn_call_nobracket_rescue_arg.txt12
-rw-r--r--test/prism/snapshots/seattlerb/lasgn_command.txt16
-rw-r--r--test/prism/snapshots/seattlerb/lasgn_lasgn_command_call.txt12
-rw-r--r--test/prism/snapshots/seattlerb/lasgn_middle_splat.txt16
-rw-r--r--test/prism/snapshots/seattlerb/masgn_anon_splat_arg.txt4
-rw-r--r--test/prism/snapshots/seattlerb/masgn_arg_colon_arg.txt12
-rw-r--r--test/prism/snapshots/seattlerb/masgn_arg_ident.txt12
-rw-r--r--test/prism/snapshots/seattlerb/masgn_arg_splat_arg.txt4
-rw-r--r--test/prism/snapshots/seattlerb/masgn_colon2.txt8
-rw-r--r--test/prism/snapshots/seattlerb/masgn_colon3.txt4
-rw-r--r--test/prism/snapshots/seattlerb/masgn_command_call.txt16
-rw-r--r--test/prism/snapshots/seattlerb/masgn_double_paren.txt4
-rw-r--r--test/prism/snapshots/seattlerb/masgn_lhs_splat.txt4
-rw-r--r--test/prism/snapshots/seattlerb/masgn_paren.txt8
-rw-r--r--test/prism/snapshots/seattlerb/masgn_splat_arg.txt4
-rw-r--r--test/prism/snapshots/seattlerb/masgn_splat_arg_arg.txt4
-rw-r--r--test/prism/snapshots/seattlerb/masgn_var_star_var.txt4
-rw-r--r--test/prism/snapshots/seattlerb/messy_op_asgn_lineno.txt92
-rw-r--r--test/prism/snapshots/seattlerb/method_call_assoc_trailing_comma.txt32
-rw-r--r--test/prism/snapshots/seattlerb/method_call_trailing_comma.txt16
-rw-r--r--test/prism/snapshots/seattlerb/mlhs_back_anonsplat.txt4
-rw-r--r--test/prism/snapshots/seattlerb/mlhs_back_splat.txt4
-rw-r--r--test/prism/snapshots/seattlerb/mlhs_front_anonsplat.txt4
-rw-r--r--test/prism/snapshots/seattlerb/mlhs_front_splat.txt4
-rw-r--r--test/prism/snapshots/seattlerb/mlhs_keyword.txt16
-rw-r--r--test/prism/snapshots/seattlerb/mlhs_mid_anonsplat.txt4
-rw-r--r--test/prism/snapshots/seattlerb/mlhs_mid_splat.txt4
-rw-r--r--test/prism/snapshots/seattlerb/mlhs_rescue.txt4
-rw-r--r--test/prism/snapshots/seattlerb/multiline_hash_declaration.txt114
-rw-r--r--test/prism/snapshots/seattlerb/non_interpolated_symbol_array_line_breaks.txt4
-rw-r--r--test/prism/snapshots/seattlerb/non_interpolated_word_array_line_breaks.txt4
-rw-r--r--test/prism/snapshots/seattlerb/op_asgn_command_call.txt16
-rw-r--r--test/prism/snapshots/seattlerb/op_asgn_dot_ident_command_call.txt14
-rw-r--r--test/prism/snapshots/seattlerb/op_asgn_index_command_call.txt36
-rw-r--r--test/prism/snapshots/seattlerb/op_asgn_primary_colon_const_command_call.txt28
-rw-r--r--test/prism/snapshots/seattlerb/op_asgn_primary_colon_identifier1.txt2
-rw-r--r--test/prism/snapshots/seattlerb/op_asgn_primary_colon_identifier_command_call.txt30
-rw-r--r--test/prism/snapshots/seattlerb/op_asgn_val_dot_ident_command_call.txt18
-rw-r--r--test/prism/snapshots/seattlerb/parse_if_not_canonical.txt12
-rw-r--r--test/prism/snapshots/seattlerb/parse_if_not_noncanonical.txt12
-rw-r--r--test/prism/snapshots/seattlerb/parse_line_block.txt14
-rw-r--r--test/prism/snapshots/seattlerb/parse_line_block_inline_comment.txt12
-rw-r--r--test/prism/snapshots/seattlerb/parse_line_block_inline_comment_leading_newlines.txt12
-rw-r--r--test/prism/snapshots/seattlerb/parse_line_block_inline_multiline_comment.txt12
-rw-r--r--test/prism/snapshots/seattlerb/parse_line_call_ivar_arg_no_parens_line_break.txt12
-rw-r--r--test/prism/snapshots/seattlerb/parse_line_call_ivar_line_break_paren.txt12
-rw-r--r--test/prism/snapshots/seattlerb/parse_line_call_no_args.txt94
-rw-r--r--test/prism/snapshots/seattlerb/parse_line_defn_complex.txt24
-rw-r--r--test/prism/snapshots/seattlerb/parse_line_dot2.txt20
-rw-r--r--test/prism/snapshots/seattlerb/parse_line_dot2_open.txt16
-rw-r--r--test/prism/snapshots/seattlerb/parse_line_dot3.txt20
-rw-r--r--test/prism/snapshots/seattlerb/parse_line_dot3_open.txt16
-rw-r--r--test/prism/snapshots/seattlerb/parse_line_evstr_after_break.txt4
-rw-r--r--test/prism/snapshots/seattlerb/parse_line_heredoc.txt18
-rw-r--r--test/prism/snapshots/seattlerb/parse_line_heredoc_evstr.txt4
-rw-r--r--test/prism/snapshots/seattlerb/parse_line_heredoc_regexp_chars.txt14
-rw-r--r--test/prism/snapshots/seattlerb/parse_line_iter_call_no_parens.txt118
-rw-r--r--test/prism/snapshots/seattlerb/parse_line_iter_call_parens.txt118
-rw-r--r--test/prism/snapshots/seattlerb/parse_line_op_asgn.txt8
-rw-r--r--test/prism/snapshots/seattlerb/parse_line_postexe.txt4
-rw-r--r--test/prism/snapshots/seattlerb/parse_line_preexe.txt4
-rw-r--r--test/prism/snapshots/seattlerb/parse_line_rescue.txt12
-rw-r--r--test/prism/snapshots/seattlerb/parse_line_return.txt8
-rw-r--r--test/prism/snapshots/seattlerb/parse_line_str_with_newline_escape.txt22
-rw-r--r--test/prism/snapshots/seattlerb/parse_line_to_ary.txt8
-rw-r--r--test/prism/snapshots/seattlerb/parse_line_trailing_newlines.txt8
-rw-r--r--test/prism/snapshots/seattlerb/parse_opt_call_args_assocs_comma.txt28
-rw-r--r--test/prism/snapshots/seattlerb/parse_opt_call_args_lit_comma.txt12
-rw-r--r--test/prism/snapshots/seattlerb/parse_pattern_019.txt4
-rw-r--r--test/prism/snapshots/seattlerb/parse_pattern_044.txt4
-rw-r--r--test/prism/snapshots/seattlerb/parse_pattern_051.txt4
-rw-r--r--test/prism/snapshots/seattlerb/parse_pattern_058.txt4
-rw-r--r--test/prism/snapshots/seattlerb/parse_pattern_058_2.txt4
-rw-r--r--test/prism/snapshots/seattlerb/parse_until_not_canonical.txt32
-rw-r--r--test/prism/snapshots/seattlerb/parse_until_not_noncanonical.txt32
-rw-r--r--test/prism/snapshots/seattlerb/parse_while_not_canonical.txt32
-rw-r--r--test/prism/snapshots/seattlerb/parse_while_not_noncanonical.txt32
-rw-r--r--test/prism/snapshots/seattlerb/pctW_lineno.txt4
-rw-r--r--test/prism/snapshots/seattlerb/pct_w_heredoc_interp_nested.txt4
-rw-r--r--test/prism/snapshots/seattlerb/pipe_semicolon.txt36
-rw-r--r--test/prism/snapshots/seattlerb/pipe_space.txt32
-rw-r--r--test/prism/snapshots/seattlerb/qWords_space.txt4
-rw-r--r--test/prism/snapshots/seattlerb/qsymbols.txt4
-rw-r--r--test/prism/snapshots/seattlerb/qsymbols_empty.txt4
-rw-r--r--test/prism/snapshots/seattlerb/qsymbols_empty_space.txt4
-rw-r--r--test/prism/snapshots/seattlerb/qsymbols_interp.txt16
-rw-r--r--test/prism/snapshots/seattlerb/quoted_symbol_hash_arg.txt38
-rw-r--r--test/prism/snapshots/seattlerb/qwords_empty.txt4
-rw-r--r--test/prism/snapshots/seattlerb/regexp.txt20
-rw-r--r--test/prism/snapshots/seattlerb/regexp_esc_C_slash.txt4
-rw-r--r--test/prism/snapshots/seattlerb/regexp_esc_u.txt4
-rw-r--r--test/prism/snapshots/seattlerb/regexp_escape_extended.txt4
-rw-r--r--test/prism/snapshots/seattlerb/regexp_unicode_curlies.txt8
-rw-r--r--test/prism/snapshots/seattlerb/rescue_do_end_ensure_result.txt72
-rw-r--r--test/prism/snapshots/seattlerb/rescue_do_end_no_raise.txt118
-rw-r--r--test/prism/snapshots/seattlerb/rescue_do_end_raised.txt78
-rw-r--r--test/prism/snapshots/seattlerb/rescue_do_end_rescued.txt128
-rw-r--r--test/prism/snapshots/seattlerb/rescue_in_block.txt70
-rw-r--r--test/prism/snapshots/seattlerb/rescue_parens.txt68
-rw-r--r--test/prism/snapshots/seattlerb/return_call_assocs.txt324
-rw-r--r--test/prism/snapshots/seattlerb/ruby21_numbers.txt4
-rw-r--r--test/prism/snapshots/seattlerb/safe_attrasgn.txt16
-rw-r--r--test/prism/snapshots/seattlerb/safe_attrasgn_constant.txt16
-rw-r--r--test/prism/snapshots/seattlerb/safe_call.txt8
-rw-r--r--test/prism/snapshots/seattlerb/safe_call_after_newline.txt8
-rw-r--r--test/prism/snapshots/seattlerb/safe_call_dot_parens.txt8
-rw-r--r--test/prism/snapshots/seattlerb/safe_call_newline.txt8
-rw-r--r--test/prism/snapshots/seattlerb/safe_call_operator.txt16
-rw-r--r--test/prism/snapshots/seattlerb/safe_call_rhs_newline.txt8
-rw-r--r--test/prism/snapshots/seattlerb/safe_calls.txt20
-rw-r--r--test/prism/snapshots/seattlerb/safe_op_asgn.txt18
-rw-r--r--test/prism/snapshots/seattlerb/safe_op_asgn2.txt10
-rw-r--r--test/prism/snapshots/seattlerb/slashy_newlines_within_string.txt52
-rw-r--r--test/prism/snapshots/seattlerb/stabby_block_iter_call.txt92
-rw-r--r--test/prism/snapshots/seattlerb/stabby_block_iter_call_no_target_with_arg.txt82
-rw-r--r--test/prism/snapshots/seattlerb/str_backslashes.txt20
-rw-r--r--test/prism/snapshots/seattlerb/str_double_double_escaped_newline.txt24
-rw-r--r--test/prism/snapshots/seattlerb/str_double_escaped_newline.txt24
-rw-r--r--test/prism/snapshots/seattlerb/str_double_newline.txt24
-rw-r--r--test/prism/snapshots/seattlerb/str_evstr.txt4
-rw-r--r--test/prism/snapshots/seattlerb/str_evstr_escape.txt4
-rw-r--r--test/prism/snapshots/seattlerb/str_heredoc_interp.txt4
-rw-r--r--test/prism/snapshots/seattlerb/str_interp_ternary_or_label.txt56
-rw-r--r--test/prism/snapshots/seattlerb/str_pct_Q_nested.txt4
-rw-r--r--test/prism/snapshots/seattlerb/str_single_double_escaped_newline.txt24
-rw-r--r--test/prism/snapshots/seattlerb/str_single_escaped_newline.txt24
-rw-r--r--test/prism/snapshots/seattlerb/str_single_newline.txt24
-rw-r--r--test/prism/snapshots/seattlerb/super_arg.txt8
-rw-r--r--test/prism/snapshots/seattlerb/symbol_list.txt12
-rw-r--r--test/prism/snapshots/seattlerb/symbols.txt4
-rw-r--r--test/prism/snapshots/seattlerb/symbols_empty.txt4
-rw-r--r--test/prism/snapshots/seattlerb/symbols_empty_space.txt4
-rw-r--r--test/prism/snapshots/seattlerb/symbols_interp.txt4
-rw-r--r--test/prism/snapshots/seattlerb/thingy.txt32
-rw-r--r--test/prism/snapshots/seattlerb/unary_minus.txt8
-rw-r--r--test/prism/snapshots/seattlerb/unary_plus.txt8
-rw-r--r--test/prism/snapshots/seattlerb/unary_plus_on_literal.txt4
-rw-r--r--test/prism/snapshots/seattlerb/unary_tilde.txt8
-rw-r--r--test/prism/snapshots/seattlerb/utf8_bom.txt12
-rw-r--r--test/prism/snapshots/seattlerb/when_splat.txt8
-rw-r--r--test/prism/snapshots/seattlerb/words_interp.txt4
-rw-r--r--test/prism/snapshots/seattlerb/yield_arg.txt8
-rw-r--r--test/prism/snapshots/seattlerb/yield_call_assocs.txt324
-rw-r--r--test/prism/snapshots/spanning_heredoc.txt498
-rw-r--r--test/prism/snapshots/strings.txt64
-rw-r--r--test/prism/snapshots/super.txt56
-rw-r--r--test/prism/snapshots/symbols.txt28
-rw-r--r--test/prism/snapshots/ternary_operator.txt56
-rw-r--r--test/prism/snapshots/unescaping.txt8
-rw-r--r--test/prism/snapshots/unless.txt32
-rw-r--r--test/prism/snapshots/unparser/corpus/literal/assignment.txt582
-rw-r--r--test/prism/snapshots/unparser/corpus/literal/block.txt2148
-rw-r--r--test/prism/snapshots/unparser/corpus/literal/case.txt140
-rw-r--r--test/prism/snapshots/unparser/corpus/literal/class.txt44
-rw-r--r--test/prism/snapshots/unparser/corpus/literal/control.txt198
-rw-r--r--test/prism/snapshots/unparser/corpus/literal/def.txt104
-rw-r--r--test/prism/snapshots/unparser/corpus/literal/defined.txt4
-rw-r--r--test/prism/snapshots/unparser/corpus/literal/defs.txt108
-rw-r--r--test/prism/snapshots/unparser/corpus/literal/dstr.txt244
-rw-r--r--test/prism/snapshots/unparser/corpus/literal/flipflop.txt80
-rw-r--r--test/prism/snapshots/unparser/corpus/literal/for.txt98
-rw-r--r--test/prism/snapshots/unparser/corpus/literal/hookexe.txt12
-rw-r--r--test/prism/snapshots/unparser/corpus/literal/if.txt86
-rw-r--r--test/prism/snapshots/unparser/corpus/literal/kwbegin.txt72
-rw-r--r--test/prism/snapshots/unparser/corpus/literal/lambda.txt80
-rw-r--r--test/prism/snapshots/unparser/corpus/literal/literal.txt288
-rw-r--r--test/prism/snapshots/unparser/corpus/literal/module.txt32
-rw-r--r--test/prism/snapshots/unparser/corpus/literal/opasgn.txt266
-rw-r--r--test/prism/snapshots/unparser/corpus/literal/pattern.txt16
-rw-r--r--test/prism/snapshots/unparser/corpus/literal/pragma.txt4
-rw-r--r--test/prism/snapshots/unparser/corpus/literal/range.txt16
-rw-r--r--test/prism/snapshots/unparser/corpus/literal/rescue.txt64
-rw-r--r--test/prism/snapshots/unparser/corpus/literal/send.txt2104
-rw-r--r--test/prism/snapshots/unparser/corpus/literal/since/27.txt18
-rw-r--r--test/prism/snapshots/unparser/corpus/literal/since/31.txt20
-rw-r--r--test/prism/snapshots/unparser/corpus/literal/since/32.txt44
-rw-r--r--test/prism/snapshots/unparser/corpus/literal/super.txt246
-rw-r--r--test/prism/snapshots/unparser/corpus/literal/unary.txt80
-rw-r--r--test/prism/snapshots/unparser/corpus/literal/variables.txt4
-rw-r--r--test/prism/snapshots/unparser/corpus/literal/while.txt868
-rw-r--r--test/prism/snapshots/unparser/corpus/literal/yield.txt68
-rw-r--r--test/prism/snapshots/unparser/corpus/semantic/and.txt96
-rw-r--r--test/prism/snapshots/unparser/corpus/semantic/block.txt280
-rw-r--r--test/prism/snapshots/unparser/corpus/semantic/def.txt36
-rw-r--r--test/prism/snapshots/unparser/corpus/semantic/kwbegin.txt40
-rw-r--r--test/prism/snapshots/unparser/corpus/semantic/literal.txt66
-rw-r--r--test/prism/snapshots/unparser/corpus/semantic/send.txt178
-rw-r--r--test/prism/snapshots/unparser/corpus/semantic/while.txt316
-rw-r--r--test/prism/snapshots/until.txt156
-rw-r--r--test/prism/snapshots/variables.txt68
-rw-r--r--test/prism/snapshots/while.txt306
-rw-r--r--test/prism/snapshots/whitequark/ambiuous_quoted_label_in_ternary_operator.txt28
-rw-r--r--test/prism/snapshots/whitequark/and.txt16
-rw-r--r--test/prism/snapshots/whitequark/and_asgn.txt24
-rw-r--r--test/prism/snapshots/whitequark/and_or_masgn.txt16
-rw-r--r--test/prism/snapshots/whitequark/anonymous_blockarg.txt10
-rw-r--r--test/prism/snapshots/whitequark/arg_label.txt104
-rw-r--r--test/prism/snapshots/whitequark/arg_scope.txt42
-rw-r--r--test/prism/snapshots/whitequark/args_args_assocs.txt134
-rw-r--r--test/prism/snapshots/whitequark/args_args_assocs_comma.txt58
-rw-r--r--test/prism/snapshots/whitequark/args_args_comma.txt32
-rw-r--r--test/prism/snapshots/whitequark/args_args_star.txt134
-rw-r--r--test/prism/snapshots/whitequark/args_assocs.txt242
-rw-r--r--test/prism/snapshots/whitequark/args_assocs_comma.txt38
-rw-r--r--test/prism/snapshots/whitequark/args_assocs_legacy.txt242
-rw-r--r--test/prism/snapshots/whitequark/args_block_pass.txt30
-rw-r--r--test/prism/snapshots/whitequark/args_cmd.txt54
-rw-r--r--test/prism/snapshots/whitequark/args_star.txt94
-rw-r--r--test/prism/snapshots/whitequark/array_assocs.txt8
-rw-r--r--test/prism/snapshots/whitequark/array_plain.txt4
-rw-r--r--test/prism/snapshots/whitequark/array_splat.txt24
-rw-r--r--test/prism/snapshots/whitequark/array_symbols.txt4
-rw-r--r--test/prism/snapshots/whitequark/array_symbols_empty.txt8
-rw-r--r--test/prism/snapshots/whitequark/array_symbols_interp.txt16
-rw-r--r--test/prism/snapshots/whitequark/array_words.txt4
-rw-r--r--test/prism/snapshots/whitequark/array_words_empty.txt8
-rw-r--r--test/prism/snapshots/whitequark/array_words_interp.txt16
-rw-r--r--test/prism/snapshots/whitequark/asgn_cmd.txt28
-rw-r--r--test/prism/snapshots/whitequark/asgn_mrhs.txt28
-rw-r--r--test/prism/snapshots/whitequark/bang.txt8
-rw-r--r--test/prism/snapshots/whitequark/bang_cmd.txt32
-rw-r--r--test/prism/snapshots/whitequark/begin_cmdarg.txt72
-rw-r--r--test/prism/snapshots/whitequark/beginless_erange_after_newline.txt8
-rw-r--r--test/prism/snapshots/whitequark/beginless_irange_after_newline.txt8
-rw-r--r--test/prism/snapshots/whitequark/beginless_range.txt8
-rw-r--r--test/prism/snapshots/whitequark/blockargs.txt2006
-rw-r--r--test/prism/snapshots/whitequark/break.txt72
-rw-r--r--test/prism/snapshots/whitequark/break_block.txt64
-rw-r--r--test/prism/snapshots/whitequark/bug_447.txt68
-rw-r--r--test/prism/snapshots/whitequark/bug_452.txt66
-rw-r--r--test/prism/snapshots/whitequark/bug_466.txt108
-rw-r--r--test/prism/snapshots/whitequark/bug_473.txt38
-rw-r--r--test/prism/snapshots/whitequark/bug_480.txt44
-rw-r--r--test/prism/snapshots/whitequark/bug_481.txt54
-rw-r--r--test/prism/snapshots/whitequark/bug_cmd_string_lookahead.txt34
-rw-r--r--test/prism/snapshots/whitequark/bug_cmdarg.txt144
-rw-r--r--test/prism/snapshots/whitequark/bug_do_block_in_call_args.txt76
-rw-r--r--test/prism/snapshots/whitequark/bug_do_block_in_cmdarg.txt54
-rw-r--r--test/prism/snapshots/whitequark/bug_do_block_in_hash_brace.txt662
-rw-r--r--test/prism/snapshots/whitequark/bug_heredoc_do.txt34
-rw-r--r--test/prism/snapshots/whitequark/bug_interp_single.txt4
-rw-r--r--test/prism/snapshots/whitequark/bug_lambda_leakage.txt4
-rw-r--r--test/prism/snapshots/whitequark/bug_regex_verification.txt4
-rw-r--r--test/prism/snapshots/whitequark/bug_while_not_parens_do.txt8
-rw-r--r--test/prism/snapshots/whitequark/case_cond.txt4
-rw-r--r--test/prism/snapshots/whitequark/case_cond_else.txt4
-rw-r--r--test/prism/snapshots/whitequark/case_expr.txt8
-rw-r--r--test/prism/snapshots/whitequark/case_expr_else.txt12
-rw-r--r--test/prism/snapshots/whitequark/class_definition_in_while_cond.txt128
-rw-r--r--test/prism/snapshots/whitequark/class_super_label.txt18
-rw-r--r--test/prism/snapshots/whitequark/comments_before_leading_dot__27.txt32
-rw-r--r--test/prism/snapshots/whitequark/cond_begin.txt8
-rw-r--r--test/prism/snapshots/whitequark/cond_begin_masgn.txt8
-rw-r--r--test/prism/snapshots/whitequark/cond_eflipflop.txt28
-rw-r--r--test/prism/snapshots/whitequark/cond_iflipflop.txt28
-rw-r--r--test/prism/snapshots/whitequark/cond_match_current_line.txt12
-rw-r--r--test/prism/snapshots/whitequark/dedenting_heredoc.txt672
-rw-r--r--test/prism/snapshots/whitequark/defined.txt8
-rw-r--r--test/prism/snapshots/whitequark/defs.txt4
-rw-r--r--test/prism/snapshots/whitequark/endless_comparison_method.txt24
-rw-r--r--test/prism/snapshots/whitequark/endless_method.txt32
-rw-r--r--test/prism/snapshots/whitequark/endless_method_command_syntax.txt160
-rw-r--r--test/prism/snapshots/whitequark/endless_method_forwarded_args_legacy.txt10
-rw-r--r--test/prism/snapshots/whitequark/ensure.txt8
-rw-r--r--test/prism/snapshots/whitequark/for.txt36
-rw-r--r--test/prism/snapshots/whitequark/for_mlhs.txt24
-rw-r--r--test/prism/snapshots/whitequark/forward_arg.txt10
-rw-r--r--test/prism/snapshots/whitequark/forward_arg_with_open_args.txt80
-rw-r--r--test/prism/snapshots/whitequark/forward_args_legacy.txt16
-rw-r--r--test/prism/snapshots/whitequark/forwarded_argument_with_kwrestarg.txt24
-rw-r--r--test/prism/snapshots/whitequark/forwarded_argument_with_restarg.txt20
-rw-r--r--test/prism/snapshots/whitequark/forwarded_kwrestarg.txt18
-rw-r--r--test/prism/snapshots/whitequark/forwarded_kwrestarg_with_additional_kwarg.txt38
-rw-r--r--test/prism/snapshots/whitequark/forwarded_restarg.txt14
-rw-r--r--test/prism/snapshots/whitequark/hash_kwsplat.txt4
-rw-r--r--test/prism/snapshots/whitequark/hash_label_end.txt74
-rw-r--r--test/prism/snapshots/whitequark/hash_pair_value_omission.txt12
-rw-r--r--test/prism/snapshots/whitequark/if.txt16
-rw-r--r--test/prism/snapshots/whitequark/if_else.txt24
-rw-r--r--test/prism/snapshots/whitequark/if_elsif.txt12
-rw-r--r--test/prism/snapshots/whitequark/if_masgn__24.txt4
-rw-r--r--test/prism/snapshots/whitequark/if_mod.txt8
-rw-r--r--test/prism/snapshots/whitequark/if_nl_then.txt8
-rw-r--r--test/prism/snapshots/whitequark/if_while_after_class__since_32.txt48
-rw-r--r--test/prism/snapshots/whitequark/interp_digit_var.txt48
-rw-r--r--test/prism/snapshots/whitequark/keyword_argument_omission.txt96
-rw-r--r--test/prism/snapshots/whitequark/kwbegin_compstmt.txt8
-rw-r--r--test/prism/snapshots/whitequark/kwnilarg.txt50
-rw-r--r--test/prism/snapshots/whitequark/kwoptarg_with_kwrestarg_and_forwarded_args.txt18
-rw-r--r--test/prism/snapshots/whitequark/lbrace_arg_after_command_args.txt82
-rw-r--r--test/prism/snapshots/whitequark/lparenarg_after_lvar__since_25.txt84
-rw-r--r--test/prism/snapshots/whitequark/lvar.txt4
-rw-r--r--test/prism/snapshots/whitequark/lvar_injecting_match.txt24
-rw-r--r--test/prism/snapshots/whitequark/masgn.txt12
-rw-r--r--test/prism/snapshots/whitequark/masgn_attr.txt28
-rw-r--r--test/prism/snapshots/whitequark/masgn_cmd.txt14
-rw-r--r--test/prism/snapshots/whitequark/masgn_nested.txt8
-rw-r--r--test/prism/snapshots/whitequark/masgn_splat.txt52
-rw-r--r--test/prism/snapshots/whitequark/method_definition_in_while_cond.txt128
-rw-r--r--test/prism/snapshots/whitequark/newline_in_hash_argument.txt80
-rw-r--r--test/prism/snapshots/whitequark/next.txt72
-rw-r--r--test/prism/snapshots/whitequark/next_block.txt64
-rw-r--r--test/prism/snapshots/whitequark/non_lvar_injecting_match.txt24
-rw-r--r--test/prism/snapshots/whitequark/not.txt20
-rw-r--r--test/prism/snapshots/whitequark/not_cmd.txt32
-rw-r--r--test/prism/snapshots/whitequark/not_masgn__24.txt8
-rw-r--r--test/prism/snapshots/whitequark/numbered_args_after_27.txt156
-rw-r--r--test/prism/snapshots/whitequark/numparam_outside_block.txt24
-rw-r--r--test/prism/snapshots/whitequark/op_asgn.txt18
-rw-r--r--test/prism/snapshots/whitequark/op_asgn_cmd.txt134
-rw-r--r--test/prism/snapshots/whitequark/op_asgn_index.txt18
-rw-r--r--test/prism/snapshots/whitequark/op_asgn_index_cmd.txt46
-rw-r--r--test/prism/snapshots/whitequark/or.txt16
-rw-r--r--test/prism/snapshots/whitequark/or_asgn.txt24
-rw-r--r--test/prism/snapshots/whitequark/parser_bug_272.txt56
-rw-r--r--test/prism/snapshots/whitequark/parser_bug_525.txt102
-rw-r--r--test/prism/snapshots/whitequark/parser_bug_604.txt88
-rw-r--r--test/prism/snapshots/whitequark/parser_bug_830.txt4
-rw-r--r--test/prism/snapshots/whitequark/parser_slash_slash_n_escaping_in_literals.txt24
-rw-r--r--test/prism/snapshots/whitequark/pattern_matching__FILE__LINE_literals.txt16
-rw-r--r--test/prism/snapshots/whitequark/pattern_matching_single_line_allowed_omission_of_parentheses.txt8
-rw-r--r--test/prism/snapshots/whitequark/procarg0.txt112
-rw-r--r--test/prism/snapshots/whitequark/range_exclusive.txt4
-rw-r--r--test/prism/snapshots/whitequark/range_inclusive.txt4
-rw-r--r--test/prism/snapshots/whitequark/regex_interp.txt8
-rw-r--r--test/prism/snapshots/whitequark/regex_plain.txt4
-rw-r--r--test/prism/snapshots/whitequark/resbody_list.txt8
-rw-r--r--test/prism/snapshots/whitequark/resbody_list_mrhs.txt12
-rw-r--r--test/prism/snapshots/whitequark/resbody_list_var.txt12
-rw-r--r--test/prism/snapshots/whitequark/resbody_var.txt16
-rw-r--r--test/prism/snapshots/whitequark/rescue.txt8
-rw-r--r--test/prism/snapshots/whitequark/rescue_else.txt12
-rw-r--r--test/prism/snapshots/whitequark/rescue_else_ensure.txt16
-rw-r--r--test/prism/snapshots/whitequark/rescue_ensure.txt12
-rw-r--r--test/prism/snapshots/whitequark/rescue_mod.txt8
-rw-r--r--test/prism/snapshots/whitequark/rescue_mod_asgn.txt8
-rw-r--r--test/prism/snapshots/whitequark/rescue_mod_masgn.txt8
-rw-r--r--test/prism/snapshots/whitequark/rescue_mod_op_assign.txt8
-rw-r--r--test/prism/snapshots/whitequark/rescue_without_begin_end.txt94
-rw-r--r--test/prism/snapshots/whitequark/return.txt72
-rw-r--r--test/prism/snapshots/whitequark/return_block.txt64
-rw-r--r--test/prism/snapshots/whitequark/ruby_bug_10653.txt156
-rw-r--r--test/prism/snapshots/whitequark/ruby_bug_11107.txt72
-rw-r--r--test/prism/snapshots/whitequark/ruby_bug_11380.txt78
-rw-r--r--test/prism/snapshots/whitequark/ruby_bug_11873.txt1344
-rw-r--r--test/prism/snapshots/whitequark/ruby_bug_11873_a.txt2112
-rw-r--r--test/prism/snapshots/whitequark/ruby_bug_11873_b.txt172
-rw-r--r--test/prism/snapshots/whitequark/ruby_bug_11989.txt20
-rw-r--r--test/prism/snapshots/whitequark/ruby_bug_11990.txt40
-rw-r--r--test/prism/snapshots/whitequark/ruby_bug_12073.txt70
-rw-r--r--test/prism/snapshots/whitequark/ruby_bug_12402.txt424
-rw-r--r--test/prism/snapshots/whitequark/ruby_bug_12669.txt72
-rw-r--r--test/prism/snapshots/whitequark/ruby_bug_12686.txt50
-rw-r--r--test/prism/snapshots/whitequark/ruby_bug_13547.txt22
-rw-r--r--test/prism/snapshots/whitequark/ruby_bug_14690.txt94
-rw-r--r--test/prism/snapshots/whitequark/ruby_bug_15789.txt198
-rw-r--r--test/prism/snapshots/whitequark/sclass.txt4
-rw-r--r--test/prism/snapshots/whitequark/send_attr_asgn.txt52
-rw-r--r--test/prism/snapshots/whitequark/send_attr_asgn_conditional.txt16
-rw-r--r--test/prism/snapshots/whitequark/send_binary_op.txt336
-rw-r--r--test/prism/snapshots/whitequark/send_block_chain_cmd.txt396
-rw-r--r--test/prism/snapshots/whitequark/send_block_conditional.txt22
-rw-r--r--test/prism/snapshots/whitequark/send_call.txt32
-rw-r--r--test/prism/snapshots/whitequark/send_conditional.txt8
-rw-r--r--test/prism/snapshots/whitequark/send_index.txt20
-rw-r--r--test/prism/snapshots/whitequark/send_index_asgn.txt24
-rw-r--r--test/prism/snapshots/whitequark/send_index_asgn_legacy.txt24
-rw-r--r--test/prism/snapshots/whitequark/send_index_cmd.txt58
-rw-r--r--test/prism/snapshots/whitequark/send_index_legacy.txt20
-rw-r--r--test/prism/snapshots/whitequark/send_op_asgn_conditional.txt6
-rw-r--r--test/prism/snapshots/whitequark/send_plain.txt24
-rw-r--r--test/prism/snapshots/whitequark/send_plain_cmd.txt96
-rw-r--r--test/prism/snapshots/whitequark/send_self.txt20
-rw-r--r--test/prism/snapshots/whitequark/send_self_block.txt80
-rw-r--r--test/prism/snapshots/whitequark/send_unary_op.txt24
-rw-r--r--test/prism/snapshots/whitequark/space_args_arg.txt24
-rw-r--r--test/prism/snapshots/whitequark/space_args_arg_block.txt122
-rw-r--r--test/prism/snapshots/whitequark/space_args_arg_call.txt44
-rw-r--r--test/prism/snapshots/whitequark/space_args_arg_newline.txt24
-rw-r--r--test/prism/snapshots/whitequark/space_args_block.txt30
-rw-r--r--test/prism/snapshots/whitequark/space_args_cmd.txt66
-rw-r--r--test/prism/snapshots/whitequark/string_interp.txt4
-rw-r--r--test/prism/snapshots/whitequark/super.txt48
-rw-r--r--test/prism/snapshots/whitequark/super_block.txt44
-rw-r--r--test/prism/snapshots/whitequark/symbol_interp.txt4
-rw-r--r--test/prism/snapshots/whitequark/ternary.txt4
-rw-r--r--test/prism/snapshots/whitequark/ternary_ambiguous_symbol.txt4
-rw-r--r--test/prism/snapshots/whitequark/trailing_forward_arg.txt20
-rw-r--r--test/prism/snapshots/whitequark/unary_num_pow_precedence.txt44
-rw-r--r--test/prism/snapshots/whitequark/unless.txt16
-rw-r--r--test/prism/snapshots/whitequark/unless_else.txt24
-rw-r--r--test/prism/snapshots/whitequark/unless_mod.txt8
-rw-r--r--test/prism/snapshots/whitequark/until.txt64
-rw-r--r--test/prism/snapshots/whitequark/until_mod.txt32
-rw-r--r--test/prism/snapshots/whitequark/until_post.txt50
-rw-r--r--test/prism/snapshots/whitequark/var_op_asgn_cmd.txt14
-rw-r--r--test/prism/snapshots/whitequark/when_multi.txt8
-rw-r--r--test/prism/snapshots/whitequark/when_splat.txt16
-rw-r--r--test/prism/snapshots/whitequark/when_then.txt8
-rw-r--r--test/prism/snapshots/whitequark/while.txt64
-rw-r--r--test/prism/snapshots/whitequark/while_mod.txt32
-rw-r--r--test/prism/snapshots/whitequark/while_post.txt50
-rw-r--r--test/prism/snapshots/whitequark/xstring_interp.txt4
-rw-r--r--test/prism/snapshots/whitequark/yield.txt48
-rw-r--r--test/prism/snapshots/xstring.txt4
-rw-r--r--test/prism/snapshots/yield.txt24
658 files changed, 25481 insertions, 25492 deletions
diff --git a/test/prism/errors_test.rb b/test/prism/errors_test.rb
index eaee10e514..f5c4c1813a 100644
--- a/test/prism/errors_test.rb
+++ b/test/prism/errors_test.rb
@@ -81,15 +81,15 @@ module Prism
expected = PreExecutionNode(
StatementsNode([
CallNode(
+ 0,
expression("1"),
nil,
:+,
Location(),
nil,
- ArgumentsNode([MissingNode()], 0),
+ ArgumentsNode(0, [MissingNode()]),
nil,
- nil,
- 0
+ nil
)
]),
Location(),
@@ -351,18 +351,18 @@ module Prism
def test_double_splat_followed_by_splat_argument
expected = CallNode(
+ 0,
nil,
nil,
:a,
Location(),
Location(),
- ArgumentsNode([
+ ArgumentsNode(1, [
KeywordHashNode([AssocSplatNode(expression("kwargs"), Location())]),
SplatNode(Location(), expression("args"))
- ], 1),
+ ]),
Location(),
- nil,
- 0
+ nil
)
assert_errors expected, "a(**kwargs, *args)", [
@@ -372,15 +372,15 @@ module Prism
def test_arguments_after_block
expected = CallNode(
+ 0,
nil,
nil,
:a,
Location(),
Location(),
- ArgumentsNode([expression("foo")], 0),
+ ArgumentsNode(0, [expression("foo")]),
Location(),
- BlockArgumentNode(expression("block"), Location()),
- 0
+ BlockArgumentNode(expression("block"), Location())
)
assert_errors expected, "a(&block, foo)", [
@@ -398,12 +398,13 @@ module Prism
def test_splat_argument_after_keyword_argument
expected = CallNode(
+ 0,
nil,
nil,
:a,
Location(),
Location(),
- ArgumentsNode([
+ ArgumentsNode(0, [
KeywordHashNode(
[AssocNode(
SymbolNode(nil, Location(), Location(), "foo"),
@@ -412,10 +413,9 @@ module Prism
)]
),
SplatNode(Location(), expression("args"))
- ], 0),
+ ]),
Location(),
- nil,
- 0
+ nil
)
assert_errors expected, "a(foo: bar, *args)", [
@@ -453,6 +453,7 @@ module Prism
nil,
StatementsNode(
[CallNode(
+ 0,
nil,
nil,
:bar,
@@ -467,8 +468,7 @@ module Prism
StatementsNode([ModuleNode([], Location(), ConstantReadNode(:Foo), nil, Location(), :Foo)]),
Location(),
Location()
- ),
- 0
+ )
)]
),
[],
@@ -1061,6 +1061,7 @@ module Prism
def test_do_not_allow_forward_arguments_in_blocks
expected = CallNode(
+ 0,
nil,
nil,
:a,
@@ -1075,8 +1076,7 @@ module Prism
nil,
Location(),
Location()
- ),
- 0
+ )
)
assert_errors expected, "a {|...|}", [
diff --git a/test/prism/snapshots/arithmetic.txt b/test/prism/snapshots/arithmetic.txt
index ff0638b007..8eebc70dca 100644
--- a/test/prism/snapshots/arithmetic.txt
+++ b/test/prism/snapshots/arithmetic.txt
@@ -4,6 +4,7 @@
@ StatementsNode (location: (1,0)-(13,8))
└── body: (length: 7)
├── @ CallNode (location: (1,0)-(1,8))
+ │ ├── flags: ∅
│ ├── receiver: ∅
│ ├── call_operator_loc: ∅
│ ├── name: :foo
@@ -11,36 +12,38 @@
│ ├── opening_loc: ∅
│ ├── arguments:
│ │ @ ArgumentsNode (location: (1,4)-(1,8))
- │ │ ├── arguments: (length: 1)
- │ │ │ └── @ CallNode (location: (1,4)-(1,8))
- │ │ │ ├── receiver:
- │ │ │ │ @ CallNode (location: (1,5)-(1,8))
- │ │ │ │ ├── receiver: ∅
- │ │ │ │ ├── call_operator_loc: ∅
- │ │ │ │ ├── name: :bar
- │ │ │ │ ├── message_loc: (1,5)-(1,8) = "bar"
- │ │ │ │ ├── opening_loc: ∅
- │ │ │ │ ├── arguments: ∅
- │ │ │ │ ├── closing_loc: ∅
- │ │ │ │ ├── block: ∅
- │ │ │ │ └── flags: variable_call
- │ │ │ ├── call_operator_loc: ∅
- │ │ │ ├── name: :!
- │ │ │ ├── message_loc: (1,4)-(1,5) = "!"
- │ │ │ ├── opening_loc: ∅
- │ │ │ ├── arguments: ∅
- │ │ │ ├── closing_loc: ∅
- │ │ │ ├── block: ∅
- │ │ │ └── flags: ∅
- │ │ └── flags: ∅
+ │ │ ├── flags: ∅
+ │ │ └── arguments: (length: 1)
+ │ │ └── @ CallNode (location: (1,4)-(1,8))
+ │ │ ├── flags: ∅
+ │ │ ├── receiver:
+ │ │ │ @ CallNode (location: (1,5)-(1,8))
+ │ │ │ ├── flags: variable_call
+ │ │ │ ├── receiver: ∅
+ │ │ │ ├── call_operator_loc: ∅
+ │ │ │ ├── name: :bar
+ │ │ │ ├── message_loc: (1,5)-(1,8) = "bar"
+ │ │ │ ├── opening_loc: ∅
+ │ │ │ ├── arguments: ∅
+ │ │ │ ├── closing_loc: ∅
+ │ │ │ └── block: ∅
+ │ │ ├── call_operator_loc: ∅
+ │ │ ├── name: :!
+ │ │ ├── message_loc: (1,4)-(1,5) = "!"
+ │ │ ├── opening_loc: ∅
+ │ │ ├── arguments: ∅
+ │ │ ├── closing_loc: ∅
+ │ │ └── block: ∅
│ ├── closing_loc: ∅
- │ ├── block: ∅
- │ └── flags: ∅
+ │ └── block: ∅
├── @ CallNode (location: (3,0)-(3,8))
+ │ ├── flags: ∅
│ ├── receiver:
│ │ @ CallNode (location: (3,0)-(3,4))
+ │ │ ├── flags: ∅
│ │ ├── receiver:
│ │ │ @ CallNode (location: (3,1)-(3,4))
+ │ │ │ ├── flags: variable_call
│ │ │ ├── receiver: ∅
│ │ │ ├── call_operator_loc: ∅
│ │ │ ├── name: :foo
@@ -48,42 +51,42 @@
│ │ │ ├── opening_loc: ∅
│ │ │ ├── arguments: ∅
│ │ │ ├── closing_loc: ∅
- │ │ │ ├── block: ∅
- │ │ │ └── flags: variable_call
+ │ │ │ └── block: ∅
│ │ ├── call_operator_loc: ∅
│ │ ├── name: :-@
│ │ ├── message_loc: (3,0)-(3,1) = "-"
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
- │ │ ├── block: ∅
- │ │ └── flags: ∅
+ │ │ └── block: ∅
│ ├── call_operator_loc: ∅
│ ├── name: :*
│ ├── message_loc: (3,4)-(3,5) = "*"
│ ├── opening_loc: ∅
│ ├── arguments:
│ │ @ ArgumentsNode (location: (3,5)-(3,8))
- │ │ ├── arguments: (length: 1)
- │ │ │ └── @ CallNode (location: (3,5)-(3,8))
- │ │ │ ├── receiver: ∅
- │ │ │ ├── call_operator_loc: ∅
- │ │ │ ├── name: :bar
- │ │ │ ├── message_loc: (3,5)-(3,8) = "bar"
- │ │ │ ├── opening_loc: ∅
- │ │ │ ├── arguments: ∅
- │ │ │ ├── closing_loc: ∅
- │ │ │ ├── block: ∅
- │ │ │ └── flags: variable_call
- │ │ └── flags: ∅
+ │ │ ├── flags: ∅
+ │ │ └── arguments: (length: 1)
+ │ │ └── @ CallNode (location: (3,5)-(3,8))
+ │ │ ├── flags: variable_call
+ │ │ ├── receiver: ∅
+ │ │ ├── call_operator_loc: ∅
+ │ │ ├── name: :bar
+ │ │ ├── message_loc: (3,5)-(3,8) = "bar"
+ │ │ ├── opening_loc: ∅
+ │ │ ├── arguments: ∅
+ │ │ ├── closing_loc: ∅
+ │ │ └── block: ∅
│ ├── closing_loc: ∅
- │ ├── block: ∅
- │ └── flags: ∅
+ │ └── block: ∅
├── @ CallNode (location: (5,0)-(5,9))
+ │ ├── flags: ∅
│ ├── receiver:
│ │ @ CallNode (location: (5,0)-(5,4))
+ │ │ ├── flags: ∅
│ │ ├── receiver:
│ │ │ @ CallNode (location: (5,1)-(5,4))
+ │ │ │ ├── flags: variable_call
│ │ │ ├── receiver: ∅
│ │ │ ├── call_operator_loc: ∅
│ │ │ ├── name: :foo
@@ -91,38 +94,36 @@
│ │ │ ├── opening_loc: ∅
│ │ │ ├── arguments: ∅
│ │ │ ├── closing_loc: ∅
- │ │ │ ├── block: ∅
- │ │ │ └── flags: variable_call
+ │ │ │ └── block: ∅
│ │ ├── call_operator_loc: ∅
│ │ ├── name: :+@
│ │ ├── message_loc: (5,0)-(5,1) = "+"
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
- │ │ ├── block: ∅
- │ │ └── flags: ∅
+ │ │ └── block: ∅
│ ├── call_operator_loc: ∅
│ ├── name: :**
│ ├── message_loc: (5,4)-(5,6) = "**"
│ ├── opening_loc: ∅
│ ├── arguments:
│ │ @ ArgumentsNode (location: (5,6)-(5,9))
- │ │ ├── arguments: (length: 1)
- │ │ │ └── @ CallNode (location: (5,6)-(5,9))
- │ │ │ ├── receiver: ∅
- │ │ │ ├── call_operator_loc: ∅
- │ │ │ ├── name: :bar
- │ │ │ ├── message_loc: (5,6)-(5,9) = "bar"
- │ │ │ ├── opening_loc: ∅
- │ │ │ ├── arguments: ∅
- │ │ │ ├── closing_loc: ∅
- │ │ │ ├── block: ∅
- │ │ │ └── flags: variable_call
- │ │ └── flags: ∅
+ │ │ ├── flags: ∅
+ │ │ └── arguments: (length: 1)
+ │ │ └── @ CallNode (location: (5,6)-(5,9))
+ │ │ ├── flags: variable_call
+ │ │ ├── receiver: ∅
+ │ │ ├── call_operator_loc: ∅
+ │ │ ├── name: :bar
+ │ │ ├── message_loc: (5,6)-(5,9) = "bar"
+ │ │ ├── opening_loc: ∅
+ │ │ ├── arguments: ∅
+ │ │ ├── closing_loc: ∅
+ │ │ └── block: ∅
│ ├── closing_loc: ∅
- │ ├── block: ∅
- │ └── flags: ∅
+ │ └── block: ∅
├── @ CallNode (location: (7,0)-(7,8))
+ │ ├── flags: ∅
│ ├── receiver: ∅
│ ├── call_operator_loc: ∅
│ ├── name: :foo
@@ -130,36 +131,38 @@
│ ├── opening_loc: ∅
│ ├── arguments:
│ │ @ ArgumentsNode (location: (7,4)-(7,8))
- │ │ ├── arguments: (length: 1)
- │ │ │ └── @ CallNode (location: (7,4)-(7,8))
- │ │ │ ├── receiver:
- │ │ │ │ @ CallNode (location: (7,5)-(7,8))
- │ │ │ │ ├── receiver: ∅
- │ │ │ │ ├── call_operator_loc: ∅
- │ │ │ │ ├── name: :bar
- │ │ │ │ ├── message_loc: (7,5)-(7,8) = "bar"
- │ │ │ │ ├── opening_loc: ∅
- │ │ │ │ ├── arguments: ∅
- │ │ │ │ ├── closing_loc: ∅
- │ │ │ │ ├── block: ∅
- │ │ │ │ └── flags: variable_call
- │ │ │ ├── call_operator_loc: ∅
- │ │ │ ├── name: :~
- │ │ │ ├── message_loc: (7,4)-(7,5) = "~"
- │ │ │ ├── opening_loc: ∅
- │ │ │ ├── arguments: ∅
- │ │ │ ├── closing_loc: ∅
- │ │ │ ├── block: ∅
- │ │ │ └── flags: ∅
- │ │ └── flags: ∅
+ │ │ ├── flags: ∅
+ │ │ └── arguments: (length: 1)
+ │ │ └── @ CallNode (location: (7,4)-(7,8))
+ │ │ ├── flags: ∅
+ │ │ ├── receiver:
+ │ │ │ @ CallNode (location: (7,5)-(7,8))
+ │ │ │ ├── flags: variable_call
+ │ │ │ ├── receiver: ∅
+ │ │ │ ├── call_operator_loc: ∅
+ │ │ │ ├── name: :bar
+ │ │ │ ├── message_loc: (7,5)-(7,8) = "bar"
+ │ │ │ ├── opening_loc: ∅
+ │ │ │ ├── arguments: ∅
+ │ │ │ ├── closing_loc: ∅
+ │ │ │ └── block: ∅
+ │ │ ├── call_operator_loc: ∅
+ │ │ ├── name: :~
+ │ │ ├── message_loc: (7,4)-(7,5) = "~"
+ │ │ ├── opening_loc: ∅
+ │ │ ├── arguments: ∅
+ │ │ ├── closing_loc: ∅
+ │ │ └── block: ∅
│ ├── closing_loc: ∅
- │ ├── block: ∅
- │ └── flags: ∅
+ │ └── block: ∅
├── @ CallNode (location: (9,0)-(9,17))
+ │ ├── flags: ∅
│ ├── receiver:
│ │ @ CallNode (location: (9,0)-(9,10))
+ │ │ ├── flags: ∅
│ │ ├── receiver:
│ │ │ @ CallNode (location: (9,0)-(9,3))
+ │ │ │ ├── flags: variable_call
│ │ │ ├── receiver: ∅
│ │ │ ├── call_operator_loc: ∅
│ │ │ ├── name: :foo
@@ -167,53 +170,52 @@
│ │ │ ├── opening_loc: ∅
│ │ │ ├── arguments: ∅
│ │ │ ├── closing_loc: ∅
- │ │ │ ├── block: ∅
- │ │ │ └── flags: variable_call
+ │ │ │ └── block: ∅
│ │ ├── call_operator_loc: ∅
│ │ ├── name: :<<
│ │ ├── message_loc: (9,4)-(9,6) = "<<"
│ │ ├── opening_loc: ∅
│ │ ├── arguments:
│ │ │ @ ArgumentsNode (location: (9,7)-(9,10))
- │ │ │ ├── arguments: (length: 1)
- │ │ │ │ └── @ CallNode (location: (9,7)-(9,10))
- │ │ │ │ ├── receiver: ∅
- │ │ │ │ ├── call_operator_loc: ∅
- │ │ │ │ ├── name: :bar
- │ │ │ │ ├── message_loc: (9,7)-(9,10) = "bar"
- │ │ │ │ ├── opening_loc: ∅
- │ │ │ │ ├── arguments: ∅
- │ │ │ │ ├── closing_loc: ∅
- │ │ │ │ ├── block: ∅
- │ │ │ │ └── flags: variable_call
- │ │ │ └── flags: ∅
+ │ │ │ ├── flags: ∅
+ │ │ │ └── arguments: (length: 1)
+ │ │ │ └── @ CallNode (location: (9,7)-(9,10))
+ │ │ │ ├── flags: variable_call
+ │ │ │ ├── receiver: ∅
+ │ │ │ ├── call_operator_loc: ∅
+ │ │ │ ├── name: :bar
+ │ │ │ ├── message_loc: (9,7)-(9,10) = "bar"
+ │ │ │ ├── opening_loc: ∅
+ │ │ │ ├── arguments: ∅
+ │ │ │ ├── closing_loc: ∅
+ │ │ │ └── block: ∅
│ │ ├── closing_loc: ∅
- │ │ ├── block: ∅
- │ │ └── flags: ∅
+ │ │ └── block: ∅
│ ├── call_operator_loc: ∅
│ ├── name: :<<
│ ├── message_loc: (9,11)-(9,13) = "<<"
│ ├── opening_loc: ∅
│ ├── arguments:
│ │ @ ArgumentsNode (location: (9,14)-(9,17))
- │ │ ├── arguments: (length: 1)
- │ │ │ └── @ CallNode (location: (9,14)-(9,17))
- │ │ │ ├── receiver: ∅
- │ │ │ ├── call_operator_loc: ∅
- │ │ │ ├── name: :baz
- │ │ │ ├── message_loc: (9,14)-(9,17) = "baz"
- │ │ │ ├── opening_loc: ∅
- │ │ │ ├── arguments: ∅
- │ │ │ ├── closing_loc: ∅
- │ │ │ ├── block: ∅
- │ │ │ └── flags: variable_call
- │ │ └── flags: ∅
+ │ │ ├── flags: ∅
+ │ │ └── arguments: (length: 1)
+ │ │ └── @ CallNode (location: (9,14)-(9,17))
+ │ │ ├── flags: variable_call
+ │ │ ├── receiver: ∅
+ │ │ ├── call_operator_loc: ∅
+ │ │ ├── name: :baz
+ │ │ ├── message_loc: (9,14)-(9,17) = "baz"
+ │ │ ├── opening_loc: ∅
+ │ │ ├── arguments: ∅
+ │ │ ├── closing_loc: ∅
+ │ │ └── block: ∅
│ ├── closing_loc: ∅
- │ ├── block: ∅
- │ └── flags: ∅
+ │ └── block: ∅
├── @ CallNode (location: (11,0)-(11,5))
+ │ ├── flags: ∅
│ ├── receiver:
│ │ @ CallNode (location: (11,1)-(11,5))
+ │ │ ├── flags: ∅
│ │ ├── receiver:
│ │ │ @ IntegerNode (location: (11,1)-(11,2))
│ │ │ └── flags: decimal
@@ -223,22 +225,21 @@
│ │ ├── opening_loc: ∅
│ │ ├── arguments:
│ │ │ @ ArgumentsNode (location: (11,4)-(11,5))
- │ │ │ ├── arguments: (length: 1)
- │ │ │ │ └── @ IntegerNode (location: (11,4)-(11,5))
- │ │ │ │ └── flags: decimal
- │ │ │ └── flags: ∅
+ │ │ │ ├── flags: ∅
+ │ │ │ └── arguments: (length: 1)
+ │ │ │ └── @ IntegerNode (location: (11,4)-(11,5))
+ │ │ │ └── flags: decimal
│ │ ├── closing_loc: ∅
- │ │ ├── block: ∅
- │ │ └── flags: ∅
+ │ │ └── block: ∅
│ ├── call_operator_loc: ∅
│ ├── name: :-@
│ ├── message_loc: (11,0)-(11,1) = "-"
│ ├── opening_loc: ∅
│ ├── arguments: ∅
│ ├── closing_loc: ∅
- │ ├── block: ∅
- │ └── flags: ∅
+ │ └── block: ∅
└── @ CallNode (location: (13,0)-(13,8))
+ ├── flags: ∅
├── receiver:
│ @ IntegerNode (location: (13,0)-(13,2))
│ └── flags: decimal
@@ -248,5 +249,4 @@
├── opening_loc: ∅
├── arguments: ∅
├── closing_loc: ∅
- ├── block: ∅
- └── flags: ∅
+ └── block: ∅
diff --git a/test/prism/snapshots/arrays.txt b/test/prism/snapshots/arrays.txt
index c3d4ba1e6c..8460cbcbdc 100644
--- a/test/prism/snapshots/arrays.txt
+++ b/test/prism/snapshots/arrays.txt
@@ -4,11 +4,13 @@
@ StatementsNode (location: (1,0)-(142,32))
└── body: (length: 59)
├── @ ArrayNode (location: (1,0)-(1,4))
+ │ ├── flags: contains_splat
│ ├── elements: (length: 1)
│ │ └── @ SplatNode (location: (1,1)-(1,3))
│ │ ├── operator_loc: (1,1)-(1,2) = "*"
│ │ └── expression:
│ │ @ CallNode (location: (1,2)-(1,3))
+ │ │ ├── flags: variable_call
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
│ │ ├── name: :a
@@ -16,14 +18,14 @@
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
- │ │ ├── block: ∅
- │ │ └── flags: variable_call
+ │ │ └── block: ∅
│ ├── opening_loc: (1,0)-(1,1) = "["
- │ ├── closing_loc: (1,3)-(1,4) = "]"
- │ └── flags: contains_splat
+ │ └── closing_loc: (1,3)-(1,4) = "]"
├── @ CallNode (location: (3,0)-(3,23))
+ │ ├── flags: ∅
│ ├── receiver:
│ │ @ CallNode (location: (3,0)-(3,3))
+ │ │ ├── flags: variable_call
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
│ │ ├── name: :foo
@@ -31,51 +33,50 @@
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
- │ │ ├── block: ∅
- │ │ └── flags: variable_call
+ │ │ └── block: ∅
│ ├── call_operator_loc: ∅
│ ├── name: :[]=
│ ├── message_loc: (3,3)-(3,13) = "[bar, baz]"
│ ├── opening_loc: (3,3)-(3,4) = "["
│ ├── arguments:
│ │ @ ArgumentsNode (location: (3,4)-(3,23))
- │ │ ├── arguments: (length: 3)
- │ │ │ ├── @ CallNode (location: (3,4)-(3,7))
- │ │ │ │ ├── receiver: ∅
- │ │ │ │ ├── call_operator_loc: ∅
- │ │ │ │ ├── name: :bar
- │ │ │ │ ├── message_loc: (3,4)-(3,7) = "bar"
- │ │ │ │ ├── opening_loc: ∅
- │ │ │ │ ├── arguments: ∅
- │ │ │ │ ├── closing_loc: ∅
- │ │ │ │ ├── block: ∅
- │ │ │ │ └── flags: variable_call
- │ │ │ ├── @ CallNode (location: (3,9)-(3,12))
- │ │ │ │ ├── receiver: ∅
- │ │ │ │ ├── call_operator_loc: ∅
- │ │ │ │ ├── name: :baz
- │ │ │ │ ├── message_loc: (3,9)-(3,12) = "baz"
- │ │ │ │ ├── opening_loc: ∅
- │ │ │ │ ├── arguments: ∅
- │ │ │ │ ├── closing_loc: ∅
- │ │ │ │ ├── block: ∅
- │ │ │ │ └── flags: variable_call
- │ │ │ └── @ ArrayNode (location: (3,16)-(3,23))
- │ │ │ ├── elements: (length: 3)
- │ │ │ │ ├── @ IntegerNode (location: (3,16)-(3,17))
- │ │ │ │ │ └── flags: decimal
- │ │ │ │ ├── @ IntegerNode (location: (3,19)-(3,20))
- │ │ │ │ │ └── flags: decimal
- │ │ │ │ └── @ IntegerNode (location: (3,22)-(3,23))
- │ │ │ │ └── flags: decimal
- │ │ │ ├── opening_loc: ∅
- │ │ │ ├── closing_loc: ∅
- │ │ │ └── flags: ∅
- │ │ └── flags: ∅
+ │ │ ├── flags: ∅
+ │ │ └── arguments: (length: 3)
+ │ │ ├── @ CallNode (location: (3,4)-(3,7))
+ │ │ │ ├── flags: variable_call
+ │ │ │ ├── receiver: ∅
+ │ │ │ ├── call_operator_loc: ∅
+ │ │ │ ├── name: :bar
+ │ │ │ ├── message_loc: (3,4)-(3,7) = "bar"
+ │ │ │ ├── opening_loc: ∅
+ │ │ │ ├── arguments: ∅
+ │ │ │ ├── closing_loc: ∅
+ │ │ │ └── block: ∅
+ │ │ ├── @ CallNode (location: (3,9)-(3,12))
+ │ │ │ ├── flags: variable_call
+ │ │ │ ├── receiver: ∅
+ │ │ │ ├── call_operator_loc: ∅
+ │ │ │ ├── name: :baz
+ │ │ │ ├── message_loc: (3,9)-(3,12) = "baz"
+ │ │ │ ├── opening_loc: ∅
+ │ │ │ ├── arguments: ∅
+ │ │ │ ├── closing_loc: ∅
+ │ │ │ └── block: ∅
+ │ │ └── @ ArrayNode (location: (3,16)-(3,23))
+ │ │ ├── flags: ∅
+ │ │ ├── elements: (length: 3)
+ │ │ │ ├── @ IntegerNode (location: (3,16)-(3,17))
+ │ │ │ │ └── flags: decimal
+ │ │ │ ├── @ IntegerNode (location: (3,19)-(3,20))
+ │ │ │ │ └── flags: decimal
+ │ │ │ └── @ IntegerNode (location: (3,22)-(3,23))
+ │ │ │ └── flags: decimal
+ │ │ ├── opening_loc: ∅
+ │ │ └── closing_loc: ∅
│ ├── closing_loc: (3,12)-(3,13) = "]"
- │ ├── block: ∅
- │ └── flags: ∅
+ │ └── block: ∅
├── @ ArrayNode (location: (5,0)-(5,13))
+ │ ├── flags: ∅
│ ├── elements: (length: 1)
│ │ └── @ KeywordHashNode (location: (5,1)-(5,12))
│ │ └── elements: (length: 1)
@@ -88,6 +89,7 @@
│ │ │ └── unescaped: "a"
│ │ ├── value:
│ │ │ @ ArrayNode (location: (5,4)-(5,12))
+ │ │ │ ├── flags: ∅
│ │ │ ├── elements: (length: 2)
│ │ │ │ ├── @ SymbolNode (location: (5,5)-(5,7))
│ │ │ │ │ ├── opening_loc: (5,5)-(5,6) = ":"
@@ -100,13 +102,12 @@
│ │ │ │ ├── closing_loc: ∅
│ │ │ │ └── unescaped: "c"
│ │ │ ├── opening_loc: (5,4)-(5,5) = "["
- │ │ │ ├── closing_loc: (5,11)-(5,12) = "]"
- │ │ │ └── flags: ∅
+ │ │ │ └── closing_loc: (5,11)-(5,12) = "]"
│ │ └── operator_loc: ∅
│ ├── opening_loc: (5,0)-(5,1) = "["
- │ ├── closing_loc: (5,12)-(5,13) = "]"
- │ └── flags: ∅
+ │ └── closing_loc: (5,12)-(5,13) = "]"
├── @ ArrayNode (location: (9,0)-(15,1))
+ │ ├── flags: ∅
│ ├── elements: (length: 5)
│ │ ├── @ SymbolNode (location: (9,1)-(9,3))
│ │ │ ├── opening_loc: (9,1)-(9,2) = ":"
@@ -131,9 +132,9 @@
│ │ ├── closing_loc: ∅
│ │ └── unescaped: "d"
│ ├── opening_loc: (9,0)-(9,1) = "["
- │ ├── closing_loc: (15,0)-(15,1) = "]"
- │ └── flags: ∅
+ │ └── closing_loc: (15,0)-(15,1) = "]"
├── @ ArrayNode (location: (18,0)-(26,1))
+ │ ├── flags: ∅
│ ├── elements: (length: 5)
│ │ ├── @ SymbolNode (location: (18,1)-(18,3))
│ │ │ ├── opening_loc: (18,1)-(18,2) = ":"
@@ -158,15 +159,16 @@
│ │ ├── closing_loc: ∅
│ │ └── unescaped: "d"
│ ├── opening_loc: (18,0)-(18,1) = "["
- │ ├── closing_loc: (26,0)-(26,1) = "]"
- │ └── flags: ∅
+ │ └── closing_loc: (26,0)-(26,1) = "]"
├── @ ArrayNode (location: (28,0)-(28,12))
+ │ ├── flags: ∅
│ ├── elements: (length: 1)
│ │ └── @ KeywordHashNode (location: (28,1)-(28,11))
│ │ └── elements: (length: 1)
│ │ └── @ AssocNode (location: (28,1)-(28,11))
│ │ ├── key:
│ │ │ @ CallNode (location: (28,1)-(28,4))
+ │ │ │ ├── flags: variable_call
│ │ │ ├── receiver: ∅
│ │ │ ├── call_operator_loc: ∅
│ │ │ ├── name: :foo
@@ -174,10 +176,10 @@
│ │ │ ├── opening_loc: ∅
│ │ │ ├── arguments: ∅
│ │ │ ├── closing_loc: ∅
- │ │ │ ├── block: ∅
- │ │ │ └── flags: variable_call
+ │ │ │ └── block: ∅
│ │ ├── value:
│ │ │ @ CallNode (location: (28,8)-(28,11))
+ │ │ │ ├── flags: variable_call
│ │ │ ├── receiver: ∅
│ │ │ ├── call_operator_loc: ∅
│ │ │ ├── name: :bar
@@ -185,17 +187,18 @@
│ │ │ ├── opening_loc: ∅
│ │ │ ├── arguments: ∅
│ │ │ ├── closing_loc: ∅
- │ │ │ ├── block: ∅
- │ │ │ └── flags: variable_call
+ │ │ │ └── block: ∅
│ │ └── operator_loc: (28,5)-(28,7) = "=>"
│ ├── opening_loc: (28,0)-(28,1) = "["
- │ ├── closing_loc: (28,11)-(28,12) = "]"
- │ └── flags: ∅
+ │ └── closing_loc: (28,11)-(28,12) = "]"
├── @ CallNode (location: (30,0)-(30,19))
+ │ ├── flags: ∅
│ ├── receiver:
│ │ @ CallNode (location: (30,0)-(30,8))
+ │ │ ├── flags: ∅
│ │ ├── receiver:
│ │ │ @ CallNode (location: (30,0)-(30,3))
+ │ │ │ ├── flags: variable_call
│ │ │ ├── receiver: ∅
│ │ │ ├── call_operator_loc: ∅
│ │ │ ├── name: :foo
@@ -203,65 +206,65 @@
│ │ │ ├── opening_loc: ∅
│ │ │ ├── arguments: ∅
│ │ │ ├── closing_loc: ∅
- │ │ │ ├── block: ∅
- │ │ │ └── flags: variable_call
+ │ │ │ └── block: ∅
│ │ ├── call_operator_loc: ∅
│ │ ├── name: :[]
│ │ ├── message_loc: (30,3)-(30,8) = "[bar]"
│ │ ├── opening_loc: (30,3)-(30,4) = "["
│ │ ├── arguments:
│ │ │ @ ArgumentsNode (location: (30,4)-(30,7))
- │ │ │ ├── arguments: (length: 1)
- │ │ │ │ └── @ CallNode (location: (30,4)-(30,7))
- │ │ │ │ ├── receiver: ∅
- │ │ │ │ ├── call_operator_loc: ∅
- │ │ │ │ ├── name: :bar
- │ │ │ │ ├── message_loc: (30,4)-(30,7) = "bar"
- │ │ │ │ ├── opening_loc: ∅
- │ │ │ │ ├── arguments: ∅
- │ │ │ │ ├── closing_loc: ∅
- │ │ │ │ ├── block: ∅
- │ │ │ │ └── flags: variable_call
- │ │ │ └── flags: ∅
+ │ │ │ ├── flags: ∅
+ │ │ │ └── arguments: (length: 1)
+ │ │ │ └── @ CallNode (location: (30,4)-(30,7))
+ │ │ │ ├── flags: variable_call
+ │ │ │ ├── receiver: ∅
+ │ │ │ ├── call_operator_loc: ∅
+ │ │ │ ├── name: :bar
+ │ │ │ ├── message_loc: (30,4)-(30,7) = "bar"
+ │ │ │ ├── opening_loc: ∅
+ │ │ │ ├── arguments: ∅
+ │ │ │ ├── closing_loc: ∅
+ │ │ │ └── block: ∅
│ │ ├── closing_loc: (30,7)-(30,8) = "]"
- │ │ ├── block: ∅
- │ │ └── flags: ∅
+ │ │ └── block: ∅
│ ├── call_operator_loc: ∅
│ ├── name: :[]=
│ ├── message_loc: (30,8)-(30,13) = "[baz]"
│ ├── opening_loc: (30,8)-(30,9) = "["
│ ├── arguments:
│ │ @ ArgumentsNode (location: (30,9)-(30,19))
- │ │ ├── arguments: (length: 2)
- │ │ │ ├── @ CallNode (location: (30,9)-(30,12))
- │ │ │ │ ├── receiver: ∅
- │ │ │ │ ├── call_operator_loc: ∅
- │ │ │ │ ├── name: :baz
- │ │ │ │ ├── message_loc: (30,9)-(30,12) = "baz"
- │ │ │ │ ├── opening_loc: ∅
- │ │ │ │ ├── arguments: ∅
- │ │ │ │ ├── closing_loc: ∅
- │ │ │ │ ├── block: ∅
- │ │ │ │ └── flags: variable_call
- │ │ │ └── @ CallNode (location: (30,16)-(30,19))
- │ │ │ ├── receiver: ∅
- │ │ │ ├── call_operator_loc: ∅
- │ │ │ ├── name: :qux
- │ │ │ ├── message_loc: (30,16)-(30,19) = "qux"
- │ │ │ ├── opening_loc: ∅
- │ │ │ ├── arguments: ∅
- │ │ │ ├── closing_loc: ∅
- │ │ │ ├── block: ∅
- │ │ │ └── flags: variable_call
- │ │ └── flags: ∅
+ │ │ ├── flags: ∅
+ │ │ └── arguments: (length: 2)
+ │ │ ├── @ CallNode (location: (30,9)-(30,12))
+ │ │ │ ├── flags: variable_call
+ │ │ │ ├── receiver: ∅
+ │ │ │ ├── call_operator_loc: ∅
+ │ │ │ ├── name: :baz
+ │ │ │ ├── message_loc: (30,9)-(30,12) = "baz"
+ │ │ │ ├── opening_loc: ∅
+ │ │ │ ├── arguments: ∅
+ │ │ │ ├── closing_loc: ∅
+ │ │ │ └── block: ∅
+ │ │ └── @ CallNode (location: (30,16)-(30,19))
+ │ │ ├── flags: variable_call
+ │ │ ├── receiver: ∅
+ │ │ ├── call_operator_loc: ∅
+ │ │ ├── name: :qux
+ │ │ ├── message_loc: (30,16)-(30,19) = "qux"
+ │ │ ├── opening_loc: ∅
+ │ │ ├── arguments: ∅
+ │ │ ├── closing_loc: ∅
+ │ │ └── block: ∅
│ ├── closing_loc: (30,12)-(30,13) = "]"
- │ ├── block: ∅
- │ └── flags: ∅
+ │ └── block: ∅
├── @ CallNode (location: (32,0)-(32,13))
+ │ ├── flags: ∅
│ ├── receiver:
│ │ @ CallNode (location: (32,0)-(32,8))
+ │ │ ├── flags: ∅
│ │ ├── receiver:
│ │ │ @ CallNode (location: (32,0)-(32,3))
+ │ │ │ ├── flags: variable_call
│ │ │ ├── receiver: ∅
│ │ │ ├── call_operator_loc: ∅
│ │ │ ├── name: :foo
@@ -269,58 +272,57 @@
│ │ │ ├── opening_loc: ∅
│ │ │ ├── arguments: ∅
│ │ │ ├── closing_loc: ∅
- │ │ │ ├── block: ∅
- │ │ │ └── flags: variable_call
+ │ │ │ └── block: ∅
│ │ ├── call_operator_loc: ∅
│ │ ├── name: :[]
│ │ ├── message_loc: (32,3)-(32,8) = "[bar]"
│ │ ├── opening_loc: (32,3)-(32,4) = "["
│ │ ├── arguments:
│ │ │ @ ArgumentsNode (location: (32,4)-(32,7))
- │ │ │ ├── arguments: (length: 1)
- │ │ │ │ └── @ CallNode (location: (32,4)-(32,7))
- │ │ │ │ ├── receiver: ∅
- │ │ │ │ ├── call_operator_loc: ∅
- │ │ │ │ ├── name: :bar
- │ │ │ │ ├── message_loc: (32,4)-(32,7) = "bar"
- │ │ │ │ ├── opening_loc: ∅
- │ │ │ │ ├── arguments: ∅
- │ │ │ │ ├── closing_loc: ∅
- │ │ │ │ ├── block: ∅
- │ │ │ │ └── flags: variable_call
- │ │ │ └── flags: ∅
+ │ │ │ ├── flags: ∅
+ │ │ │ └── arguments: (length: 1)
+ │ │ │ └── @ CallNode (location: (32,4)-(32,7))
+ │ │ │ ├── flags: variable_call
+ │ │ │ ├── receiver: ∅
+ │ │ │ ├── call_operator_loc: ∅
+ │ │ │ ├── name: :bar
+ │ │ │ ├── message_loc: (32,4)-(32,7) = "bar"
+ │ │ │ ├── opening_loc: ∅
+ │ │ │ ├── arguments: ∅
+ │ │ │ ├── closing_loc: ∅
+ │ │ │ └── block: ∅
│ │ ├── closing_loc: (32,7)-(32,8) = "]"
- │ │ ├── block: ∅
- │ │ └── flags: ∅
+ │ │ └── block: ∅
│ ├── call_operator_loc: ∅
│ ├── name: :[]
│ ├── message_loc: (32,8)-(32,13) = "[baz]"
│ ├── opening_loc: (32,8)-(32,9) = "["
│ ├── arguments:
│ │ @ ArgumentsNode (location: (32,9)-(32,12))
- │ │ ├── arguments: (length: 1)
- │ │ │ └── @ CallNode (location: (32,9)-(32,12))
- │ │ │ ├── receiver: ∅
- │ │ │ ├── call_operator_loc: ∅
- │ │ │ ├── name: :baz
- │ │ │ ├── message_loc: (32,9)-(32,12) = "baz"
- │ │ │ ├── opening_loc: ∅
- │ │ │ ├── arguments: ∅
- │ │ │ ├── closing_loc: ∅
- │ │ │ ├── block: ∅
- │ │ │ └── flags: variable_call
- │ │ └── flags: ∅
+ │ │ ├── flags: ∅
+ │ │ └── arguments: (length: 1)
+ │ │ └── @ CallNode (location: (32,9)-(32,12))
+ │ │ ├── flags: variable_call
+ │ │ ├── receiver: ∅
+ │ │ ├── call_operator_loc: ∅
+ │ │ ├── name: :baz
+ │ │ ├── message_loc: (32,9)-(32,12) = "baz"
+ │ │ ├── opening_loc: ∅
+ │ │ ├── arguments: ∅
+ │ │ ├── closing_loc: ∅
+ │ │ └── block: ∅
│ ├── closing_loc: (32,12)-(32,13) = "]"
- │ ├── block: ∅
- │ └── flags: ∅
+ │ └── block: ∅
├── @ ArrayNode (location: (34,0)-(35,1))
+ │ ├── flags: ∅
│ ├── elements: (length: 0)
│ ├── opening_loc: (34,0)-(34,1) = "["
- │ ├── closing_loc: (35,0)-(35,1) = "]"
- │ └── flags: ∅
+ │ └── closing_loc: (35,0)-(35,1) = "]"
├── @ CallNode (location: (37,0)-(37,13))
+ │ ├── flags: ∅
│ ├── receiver:
│ │ @ CallNode (location: (37,0)-(37,3))
+ │ │ ├── flags: variable_call
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
│ │ ├── name: :foo
@@ -328,42 +330,42 @@
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
- │ │ ├── block: ∅
- │ │ └── flags: variable_call
+ │ │ └── block: ∅
│ ├── call_operator_loc: ∅
│ ├── name: :[]
│ ├── message_loc: (37,3)-(37,13) = "[bar, baz]"
│ ├── opening_loc: (37,3)-(37,4) = "["
│ ├── arguments:
│ │ @ ArgumentsNode (location: (37,4)-(37,12))
- │ │ ├── arguments: (length: 2)
- │ │ │ ├── @ CallNode (location: (37,4)-(37,7))
- │ │ │ │ ├── receiver: ∅
- │ │ │ │ ├── call_operator_loc: ∅
- │ │ │ │ ├── name: :bar
- │ │ │ │ ├── message_loc: (37,4)-(37,7) = "bar"
- │ │ │ │ ├── opening_loc: ∅
- │ │ │ │ ├── arguments: ∅
- │ │ │ │ ├── closing_loc: ∅
- │ │ │ │ ├── block: ∅
- │ │ │ │ └── flags: variable_call
- │ │ │ └── @ CallNode (location: (37,9)-(37,12))
- │ │ │ ├── receiver: ∅
- │ │ │ ├── call_operator_loc: ∅
- │ │ │ ├── name: :baz
- │ │ │ ├── message_loc: (37,9)-(37,12) = "baz"
- │ │ │ ├── opening_loc: ∅
- │ │ │ ├── arguments: ∅
- │ │ │ ├── closing_loc: ∅
- │ │ │ ├── block: ∅
- │ │ │ └── flags: variable_call
- │ │ └── flags: ∅
+ │ │ ├── flags: ∅
+ │ │ └── arguments: (length: 2)
+ │ │ ├── @ CallNode (location: (37,4)-(37,7))
+ │ │ │ ├── flags: variable_call
+ │ │ │ ├── receiver: ∅
+ │ │ │ ├── call_operator_loc: ∅
+ │ │ │ ├── name: :bar
+ │ │ │ ├── message_loc: (37,4)-(37,7) = "bar"
+ │ │ │ ├── opening_loc: ∅
+ │ │ │ ├── arguments: ∅
+ │ │ │ ├── closing_loc: ∅
+ │ │ │ └── block: ∅
+ │ │ └── @ CallNode (location: (37,9)-(37,12))
+ │ │ ├── flags: variable_call
+ │ │ ├── receiver: ∅
+ │ │ ├── call_operator_loc: ∅
+ │ │ ├── name: :baz
+ │ │ ├── message_loc: (37,9)-(37,12) = "baz"
+ │ │ ├── opening_loc: ∅
+ │ │ ├── arguments: ∅
+ │ │ ├── closing_loc: ∅
+ │ │ └── block: ∅
│ ├── closing_loc: (37,12)-(37,13) = "]"
- │ ├── block: ∅
- │ └── flags: ∅
+ │ └── block: ∅
├── @ CallNode (location: (39,0)-(39,19))
+ │ ├── flags: ∅
│ ├── receiver:
│ │ @ CallNode (location: (39,0)-(39,3))
+ │ │ ├── flags: variable_call
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
│ │ ├── name: :foo
@@ -371,54 +373,54 @@
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
- │ │ ├── block: ∅
- │ │ └── flags: variable_call
+ │ │ └── block: ∅
│ ├── call_operator_loc: ∅
│ ├── name: :[]=
│ ├── message_loc: (39,3)-(39,13) = "[bar, baz]"
│ ├── opening_loc: (39,3)-(39,4) = "["
│ ├── arguments:
│ │ @ ArgumentsNode (location: (39,4)-(39,19))
- │ │ ├── arguments: (length: 3)
- │ │ │ ├── @ CallNode (location: (39,4)-(39,7))
- │ │ │ │ ├── receiver: ∅
- │ │ │ │ ├── call_operator_loc: ∅
- │ │ │ │ ├── name: :bar
- │ │ │ │ ├── message_loc: (39,4)-(39,7) = "bar"
- │ │ │ │ ├── opening_loc: ∅
- │ │ │ │ ├── arguments: ∅
- │ │ │ │ ├── closing_loc: ∅
- │ │ │ │ ├── block: ∅
- │ │ │ │ └── flags: variable_call
- │ │ │ ├── @ CallNode (location: (39,9)-(39,12))
- │ │ │ │ ├── receiver: ∅
- │ │ │ │ ├── call_operator_loc: ∅
- │ │ │ │ ├── name: :baz
- │ │ │ │ ├── message_loc: (39,9)-(39,12) = "baz"
- │ │ │ │ ├── opening_loc: ∅
- │ │ │ │ ├── arguments: ∅
- │ │ │ │ ├── closing_loc: ∅
- │ │ │ │ ├── block: ∅
- │ │ │ │ └── flags: variable_call
- │ │ │ └── @ CallNode (location: (39,16)-(39,19))
- │ │ │ ├── receiver: ∅
- │ │ │ ├── call_operator_loc: ∅
- │ │ │ ├── name: :qux
- │ │ │ ├── message_loc: (39,16)-(39,19) = "qux"
- │ │ │ ├── opening_loc: ∅
- │ │ │ ├── arguments: ∅
- │ │ │ ├── closing_loc: ∅
- │ │ │ ├── block: ∅
- │ │ │ └── flags: variable_call
- │ │ └── flags: ∅
+ │ │ ├── flags: ∅
+ │ │ └── arguments: (length: 3)
+ │ │ ├── @ CallNode (location: (39,4)-(39,7))
+ │ │ │ ├── flags: variable_call
+ │ │ │ ├── receiver: ∅
+ │ │ │ ├── call_operator_loc: ∅
+ │ │ │ ├── name: :bar
+ │ │ │ ├── message_loc: (39,4)-(39,7) = "bar"
+ │ │ │ ├── opening_loc: ∅
+ │ │ │ ├── arguments: ∅
+ │ │ │ ├── closing_loc: ∅
+ │ │ │ └── block: ∅
+ │ │ ├── @ CallNode (location: (39,9)-(39,12))
+ │ │ │ ├── flags: variable_call
+ │ │ │ ├── receiver: ∅
+ │ │ │ ├── call_operator_loc: ∅
+ │ │ │ ├── name: :baz
+ │ │ │ ├── message_loc: (39,9)-(39,12) = "baz"
+ │ │ │ ├── opening_loc: ∅
+ │ │ │ ├── arguments: ∅
+ │ │ │ ├── closing_loc: ∅
+ │ │ │ └── block: ∅
+ │ │ └── @ CallNode (location: (39,16)-(39,19))
+ │ │ ├── flags: variable_call
+ │ │ ├── receiver: ∅
+ │ │ ├── call_operator_loc: ∅
+ │ │ ├── name: :qux
+ │ │ ├── message_loc: (39,16)-(39,19) = "qux"
+ │ │ ├── opening_loc: ∅
+ │ │ ├── arguments: ∅
+ │ │ ├── closing_loc: ∅
+ │ │ └── block: ∅
│ ├── closing_loc: (39,12)-(39,13) = "]"
- │ ├── block: ∅
- │ └── flags: ∅
+ │ └── block: ∅
├── @ MultiWriteNode (location: (41,0)-(41,21))
│ ├── lefts: (length: 2)
│ │ ├── @ CallNode (location: (41,0)-(41,6))
+ │ │ │ ├── flags: ∅
│ │ │ ├── receiver:
│ │ │ │ @ CallNode (location: (41,0)-(41,3))
+ │ │ │ │ ├── flags: variable_call
│ │ │ │ ├── receiver: ∅
│ │ │ │ ├── call_operator_loc: ∅
│ │ │ │ ├── name: :foo
@@ -426,24 +428,24 @@
│ │ │ │ ├── opening_loc: ∅
│ │ │ │ ├── arguments: ∅
│ │ │ │ ├── closing_loc: ∅
- │ │ │ │ ├── block: ∅
- │ │ │ │ └── flags: variable_call
+ │ │ │ │ └── block: ∅
│ │ │ ├── call_operator_loc: ∅
│ │ │ ├── name: :[]=
│ │ │ ├── message_loc: (41,3)-(41,6) = "[0]"
│ │ │ ├── opening_loc: (41,3)-(41,4) = "["
│ │ │ ├── arguments:
│ │ │ │ @ ArgumentsNode (location: (41,4)-(41,5))
- │ │ │ │ ├── arguments: (length: 1)
- │ │ │ │ │ └── @ IntegerNode (location: (41,4)-(41,5))
- │ │ │ │ │ └── flags: decimal
- │ │ │ │ └── flags: ∅
+ │ │ │ │ ├── flags: ∅
+ │ │ │ │ └── arguments: (length: 1)
+ │ │ │ │ └── @ IntegerNode (location: (41,4)-(41,5))
+ │ │ │ │ └── flags: decimal
│ │ │ ├── closing_loc: (41,5)-(41,6) = "]"
- │ │ │ ├── block: ∅
- │ │ │ └── flags: ∅
+ │ │ │ └── block: ∅
│ │ └── @ CallNode (location: (41,8)-(41,14))
+ │ │ ├── flags: ∅
│ │ ├── receiver:
│ │ │ @ CallNode (location: (41,8)-(41,11))
+ │ │ │ ├── flags: variable_call
│ │ │ ├── receiver: ∅
│ │ │ ├── call_operator_loc: ∅
│ │ │ ├── name: :bar
@@ -451,21 +453,19 @@
│ │ │ ├── opening_loc: ∅
│ │ │ ├── arguments: ∅
│ │ │ ├── closing_loc: ∅
- │ │ │ ├── block: ∅
- │ │ │ └── flags: variable_call
+ │ │ │ └── block: ∅
│ │ ├── call_operator_loc: ∅
│ │ ├── name: :[]=
│ │ ├── message_loc: (41,11)-(41,14) = "[0]"
│ │ ├── opening_loc: (41,11)-(41,12) = "["
│ │ ├── arguments:
│ │ │ @ ArgumentsNode (location: (41,12)-(41,13))
- │ │ │ ├── arguments: (length: 1)
- │ │ │ │ └── @ IntegerNode (location: (41,12)-(41,13))
- │ │ │ │ └── flags: decimal
- │ │ │ └── flags: ∅
+ │ │ │ ├── flags: ∅
+ │ │ │ └── arguments: (length: 1)
+ │ │ │ └── @ IntegerNode (location: (41,12)-(41,13))
+ │ │ │ └── flags: decimal
│ │ ├── closing_loc: (41,13)-(41,14) = "]"
- │ │ ├── block: ∅
- │ │ └── flags: ∅
+ │ │ └── block: ∅
│ ├── rest: ∅
│ ├── rights: (length: 0)
│ ├── lparen_loc: ∅
@@ -473,17 +473,19 @@
│ ├── operator_loc: (41,15)-(41,16) = "="
│ └── value:
│ @ ArrayNode (location: (41,17)-(41,21))
+ │ ├── flags: ∅
│ ├── elements: (length: 2)
│ │ ├── @ IntegerNode (location: (41,17)-(41,18))
│ │ │ └── flags: decimal
│ │ └── @ IntegerNode (location: (41,20)-(41,21))
│ │ └── flags: decimal
│ ├── opening_loc: ∅
- │ ├── closing_loc: ∅
- │ └── flags: ∅
+ │ └── closing_loc: ∅
├── @ CallNode (location: (43,0)-(43,19))
+ │ ├── flags: ∅
│ ├── receiver:
│ │ @ CallNode (location: (43,0)-(43,3))
+ │ │ ├── flags: variable_call
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
│ │ ├── name: :foo
@@ -491,65 +493,65 @@
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
- │ │ ├── block: ∅
- │ │ └── flags: variable_call
+ │ │ └── block: ∅
│ ├── call_operator_loc: ∅
│ ├── name: :[]
│ ├── message_loc: (43,3)-(43,19) = "[bar[baz] = qux]"
│ ├── opening_loc: (43,3)-(43,4) = "["
│ ├── arguments:
│ │ @ ArgumentsNode (location: (43,4)-(43,18))
- │ │ ├── arguments: (length: 1)
- │ │ │ └── @ CallNode (location: (43,4)-(43,18))
- │ │ │ ├── receiver:
- │ │ │ │ @ CallNode (location: (43,4)-(43,7))
- │ │ │ │ ├── receiver: ∅
- │ │ │ │ ├── call_operator_loc: ∅
- │ │ │ │ ├── name: :bar
- │ │ │ │ ├── message_loc: (43,4)-(43,7) = "bar"
- │ │ │ │ ├── opening_loc: ∅
- │ │ │ │ ├── arguments: ∅
- │ │ │ │ ├── closing_loc: ∅
- │ │ │ │ ├── block: ∅
- │ │ │ │ └── flags: variable_call
- │ │ │ ├── call_operator_loc: ∅
- │ │ │ ├── name: :[]=
- │ │ │ ├── message_loc: (43,7)-(43,12) = "[baz]"
- │ │ │ ├── opening_loc: (43,7)-(43,8) = "["
- │ │ │ ├── arguments:
- │ │ │ │ @ ArgumentsNode (location: (43,8)-(43,18))
- │ │ │ │ ├── arguments: (length: 2)
- │ │ │ │ │ ├── @ CallNode (location: (43,8)-(43,11))
- │ │ │ │ │ │ ├── receiver: ∅
- │ │ │ │ │ │ ├── call_operator_loc: ∅
- │ │ │ │ │ │ ├── name: :baz
- │ │ │ │ │ │ ├── message_loc: (43,8)-(43,11) = "baz"
- │ │ │ │ │ │ ├── opening_loc: ∅
- │ │ │ │ │ │ ├── arguments: ∅
- │ │ │ │ │ │ ├── closing_loc: ∅
- │ │ │ │ │ │ ├── block: ∅
- │ │ │ │ │ │ └── flags: variable_call
- │ │ │ │ │ └── @ CallNode (location: (43,15)-(43,18))
- │ │ │ │ │ ├── receiver: ∅
- │ │ │ │ │ ├── call_operator_loc: ∅
- │ │ │ │ │ ├── name: :qux
- │ │ │ │ │ ├── message_loc: (43,15)-(43,18) = "qux"
- │ │ │ │ │ ├── opening_loc: ∅
- │ │ │ │ │ ├── arguments: ∅
- │ │ │ │ │ ├── closing_loc: ∅
- │ │ │ │ │ ├── block: ∅
- │ │ │ │ │ └── flags: variable_call
- │ │ │ │ └── flags: ∅
- │ │ │ ├── closing_loc: (43,11)-(43,12) = "]"
- │ │ │ ├── block: ∅
- │ │ │ └── flags: ∅
- │ │ └── flags: ∅
+ │ │ ├── flags: ∅
+ │ │ └── arguments: (length: 1)
+ │ │ └── @ CallNode (location: (43,4)-(43,18))
+ │ │ ├── flags: ∅
+ │ │ ├── receiver:
+ │ │ │ @ CallNode (location: (43,4)-(43,7))
+ │ │ │ ├── flags: variable_call
+ │ │ │ ├── receiver: ∅
+ │ │ │ ├── call_operator_loc: ∅
+ │ │ │ ├── name: :bar
+ │ │ │ ├── message_loc: (43,4)-(43,7) = "bar"
+ │ │ │ ├── opening_loc: ∅
+ │ │ │ ├── arguments: ∅
+ │ │ │ ├── closing_loc: ∅
+ │ │ │ └── block: ∅
+ │ │ ├── call_operator_loc: ∅
+ │ │ ├── name: :[]=
+ │ │ ├── message_loc: (43,7)-(43,12) = "[baz]"
+ │ │ ├── opening_loc: (43,7)-(43,8) = "["
+ │ │ ├── arguments:
+ │ │ │ @ ArgumentsNode (location: (43,8)-(43,18))
+ │ │ │ ├── flags: ∅
+ │ │ │ └── arguments: (length: 2)
+ │ │ │ ├── @ CallNode (location: (43,8)-(43,11))
+ │ │ │ │ ├── flags: variable_call
+ │ │ │ │ ├── receiver: ∅
+ │ │ │ │ ├── call_operator_loc: ∅
+ │ │ │ │ ├── name: :baz
+ │ │ │ │ ├── message_loc: (43,8)-(43,11) = "baz"
+ │ │ │ │ ├── opening_loc: ∅
+ │ │ │ │ ├── arguments: ∅
+ │ │ │ │ ├── closing_loc: ∅
+ │ │ │ │ └── block: ∅
+ │ │ │ └── @ CallNode (location: (43,15)-(43,18))
+ │ │ │ ├── flags: variable_call
+ │ │ │ ├── receiver: ∅
+ │ │ │ ├── call_operator_loc: ∅
+ │ │ │ ├── name: :qux
+ │ │ │ ├── message_loc: (43,15)-(43,18) = "qux"
+ │ │ │ ├── opening_loc: ∅
+ │ │ │ ├── arguments: ∅
+ │ │ │ ├── closing_loc: ∅
+ │ │ │ └── block: ∅
+ │ │ ├── closing_loc: (43,11)-(43,12) = "]"
+ │ │ └── block: ∅
│ ├── closing_loc: (43,18)-(43,19) = "]"
- │ ├── block: ∅
- │ └── flags: ∅
+ │ └── block: ∅
├── @ CallNode (location: (45,0)-(45,8))
+ │ ├── flags: ∅
│ ├── receiver:
│ │ @ CallNode (location: (45,0)-(45,3))
+ │ │ ├── flags: variable_call
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
│ │ ├── name: :foo
@@ -557,32 +559,32 @@
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
- │ │ ├── block: ∅
- │ │ └── flags: variable_call
+ │ │ └── block: ∅
│ ├── call_operator_loc: ∅
│ ├── name: :[]
│ ├── message_loc: (45,3)-(45,8) = "[bar]"
│ ├── opening_loc: (45,3)-(45,4) = "["
│ ├── arguments:
│ │ @ ArgumentsNode (location: (45,4)-(45,7))
- │ │ ├── arguments: (length: 1)
- │ │ │ └── @ CallNode (location: (45,4)-(45,7))
- │ │ │ ├── receiver: ∅
- │ │ │ ├── call_operator_loc: ∅
- │ │ │ ├── name: :bar
- │ │ │ ├── message_loc: (45,4)-(45,7) = "bar"
- │ │ │ ├── opening_loc: ∅
- │ │ │ ├── arguments: ∅
- │ │ │ ├── closing_loc: ∅
- │ │ │ ├── block: ∅
- │ │ │ └── flags: variable_call
- │ │ └── flags: ∅
+ │ │ ├── flags: ∅
+ │ │ └── arguments: (length: 1)
+ │ │ └── @ CallNode (location: (45,4)-(45,7))
+ │ │ ├── flags: variable_call
+ │ │ ├── receiver: ∅
+ │ │ ├── call_operator_loc: ∅
+ │ │ ├── name: :bar
+ │ │ ├── message_loc: (45,4)-(45,7) = "bar"
+ │ │ ├── opening_loc: ∅
+ │ │ ├── arguments: ∅
+ │ │ ├── closing_loc: ∅
+ │ │ └── block: ∅
│ ├── closing_loc: (45,7)-(45,8) = "]"
- │ ├── block: ∅
- │ └── flags: ∅
+ │ └── block: ∅
├── @ CallNode (location: (47,0)-(47,14))
+ │ ├── flags: ∅
│ ├── receiver:
│ │ @ CallNode (location: (47,0)-(47,3))
+ │ │ ├── flags: variable_call
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
│ │ ├── name: :foo
@@ -590,40 +592,39 @@
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
- │ │ ├── block: ∅
- │ │ └── flags: variable_call
+ │ │ └── block: ∅
│ ├── call_operator_loc: ∅
│ ├── name: :[]=
│ ├── message_loc: (47,3)-(47,8) = "[bar]"
│ ├── opening_loc: (47,3)-(47,4) = "["
│ ├── arguments:
│ │ @ ArgumentsNode (location: (47,4)-(47,14))
- │ │ ├── arguments: (length: 2)
- │ │ │ ├── @ CallNode (location: (47,4)-(47,7))
- │ │ │ │ ├── receiver: ∅
- │ │ │ │ ├── call_operator_loc: ∅
- │ │ │ │ ├── name: :bar
- │ │ │ │ ├── message_loc: (47,4)-(47,7) = "bar"
- │ │ │ │ ├── opening_loc: ∅
- │ │ │ │ ├── arguments: ∅
- │ │ │ │ ├── closing_loc: ∅
- │ │ │ │ ├── block: ∅
- │ │ │ │ └── flags: variable_call
- │ │ │ └── @ CallNode (location: (47,11)-(47,14))
- │ │ │ ├── receiver: ∅
- │ │ │ ├── call_operator_loc: ∅
- │ │ │ ├── name: :baz
- │ │ │ ├── message_loc: (47,11)-(47,14) = "baz"
- │ │ │ ├── opening_loc: ∅
- │ │ │ ├── arguments: ∅
- │ │ │ ├── closing_loc: ∅
- │ │ │ ├── block: ∅
- │ │ │ └── flags: variable_call
- │ │ └── flags: ∅
+ │ │ ├── flags: ∅
+ │ │ └── arguments: (length: 2)
+ │ │ ├── @ CallNode (location: (47,4)-(47,7))
+ │ │ │ ├── flags: variable_call
+ │ │ │ ├── receiver: ∅
+ │ │ │ ├── call_operator_loc: ∅
+ │ │ │ ├── name: :bar
+ │ │ │ ├── message_loc: (47,4)-(47,7) = "bar"
+ │ │ │ ├── opening_loc: ∅
+ │ │ │ ├── arguments: ∅
+ │ │ │ ├── closing_loc: ∅
+ │ │ │ └── block: ∅
+ │ │ └── @ CallNode (location: (47,11)-(47,14))
+ │ │ ├── flags: variable_call
+ │ │ ├── receiver: ∅
+ │ │ ├── call_operator_loc: ∅
+ │ │ ├── name: :baz
+ │ │ ├── message_loc: (47,11)-(47,14) = "baz"
+ │ │ ├── opening_loc: ∅
+ │ │ ├── arguments: ∅
+ │ │ ├── closing_loc: ∅
+ │ │ └── block: ∅
│ ├── closing_loc: (47,7)-(47,8) = "]"
- │ ├── block: ∅
- │ └── flags: ∅
+ │ └── block: ∅
├── @ ArrayNode (location: (49,0)-(49,6))
+ │ ├── flags: ∅
│ ├── elements: (length: 1)
│ │ └── @ KeywordHashNode (location: (49,1)-(49,5))
│ │ └── elements: (length: 1)
@@ -635,15 +636,16 @@
│ │ │ └── closing_loc: (49,4)-(49,5) = "}"
│ │ └── operator_loc: (49,1)-(49,3) = "**"
│ ├── opening_loc: (49,0)-(49,1) = "["
- │ ├── closing_loc: (49,5)-(49,6) = "]"
- │ └── flags: ∅
+ │ └── closing_loc: (49,5)-(49,6) = "]"
├── @ ArrayNode (location: (51,0)-(51,6))
+ │ ├── flags: ∅
│ ├── elements: (length: 1)
│ │ └── @ KeywordHashNode (location: (51,1)-(51,5))
│ │ └── elements: (length: 1)
│ │ └── @ AssocSplatNode (location: (51,1)-(51,5))
│ │ ├── value:
│ │ │ @ CallNode (location: (51,3)-(51,5))
+ │ │ │ ├── flags: variable_call
│ │ │ ├── receiver: ∅
│ │ │ ├── call_operator_loc: ∅
│ │ │ ├── name: :kw
@@ -651,13 +653,12 @@
│ │ │ ├── opening_loc: ∅
│ │ │ ├── arguments: ∅
│ │ │ ├── closing_loc: ∅
- │ │ │ ├── block: ∅
- │ │ │ └── flags: variable_call
+ │ │ │ └── block: ∅
│ │ └── operator_loc: (51,1)-(51,3) = "**"
│ ├── opening_loc: (51,0)-(51,1) = "["
- │ ├── closing_loc: (51,5)-(51,6) = "]"
- │ └── flags: ∅
+ │ └── closing_loc: (51,5)-(51,6) = "]"
├── @ ArrayNode (location: (53,0)-(53,9))
+ │ ├── flags: ∅
│ ├── elements: (length: 2)
│ │ ├── @ IntegerNode (location: (53,1)-(53,2))
│ │ │ └── flags: decimal
@@ -666,6 +667,7 @@
│ │ └── @ AssocSplatNode (location: (53,4)-(53,8))
│ │ ├── value:
│ │ │ @ CallNode (location: (53,6)-(53,8))
+ │ │ │ ├── flags: variable_call
│ │ │ ├── receiver: ∅
│ │ │ ├── call_operator_loc: ∅
│ │ │ ├── name: :kw
@@ -673,13 +675,12 @@
│ │ │ ├── opening_loc: ∅
│ │ │ ├── arguments: ∅
│ │ │ ├── closing_loc: ∅
- │ │ │ ├── block: ∅
- │ │ │ └── flags: variable_call
+ │ │ │ └── block: ∅
│ │ └── operator_loc: (53,4)-(53,6) = "**"
│ ├── opening_loc: (53,0)-(53,1) = "["
- │ ├── closing_loc: (53,8)-(53,9) = "]"
- │ └── flags: ∅
+ │ └── closing_loc: (53,8)-(53,9) = "]"
├── @ ArrayNode (location: (55,0)-(55,21))
+ │ ├── flags: ∅
│ ├── elements: (length: 2)
│ │ ├── @ IntegerNode (location: (55,1)-(55,2))
│ │ │ └── flags: decimal
@@ -688,6 +689,7 @@
│ │ ├── @ AssocSplatNode (location: (55,4)-(55,8))
│ │ │ ├── value:
│ │ │ │ @ CallNode (location: (55,6)-(55,8))
+ │ │ │ │ ├── flags: variable_call
│ │ │ │ ├── receiver: ∅
│ │ │ │ ├── call_operator_loc: ∅
│ │ │ │ ├── name: :kw
@@ -695,8 +697,7 @@
│ │ │ │ ├── opening_loc: ∅
│ │ │ │ ├── arguments: ∅
│ │ │ │ ├── closing_loc: ∅
- │ │ │ │ ├── block: ∅
- │ │ │ │ └── flags: variable_call
+ │ │ │ │ └── block: ∅
│ │ │ └── operator_loc: (55,4)-(55,6) = "**"
│ │ ├── @ AssocSplatNode (location: (55,10)-(55,14))
│ │ │ ├── value:
@@ -708,6 +709,7 @@
│ │ └── @ AssocSplatNode (location: (55,16)-(55,20))
│ │ ├── value:
│ │ │ @ CallNode (location: (55,18)-(55,20))
+ │ │ │ ├── flags: variable_call
│ │ │ ├── receiver: ∅
│ │ │ ├── call_operator_loc: ∅
│ │ │ ├── name: :kw
@@ -715,19 +717,19 @@
│ │ │ ├── opening_loc: ∅
│ │ │ ├── arguments: ∅
│ │ │ ├── closing_loc: ∅
- │ │ │ ├── block: ∅
- │ │ │ └── flags: variable_call
+ │ │ │ └── block: ∅
│ │ └── operator_loc: (55,16)-(55,18) = "**"
│ ├── opening_loc: (55,0)-(55,1) = "["
- │ ├── closing_loc: (55,20)-(55,21) = "]"
- │ └── flags: ∅
+ │ └── closing_loc: (55,20)-(55,21) = "]"
├── @ ArrayNode (location: (57,0)-(59,1))
+ │ ├── flags: ∅
│ ├── elements: (length: 1)
│ │ └── @ KeywordHashNode (location: (58,2)-(58,12))
│ │ └── elements: (length: 1)
│ │ └── @ AssocNode (location: (58,2)-(58,12))
│ │ ├── key:
│ │ │ @ CallNode (location: (58,2)-(58,5))
+ │ │ │ ├── flags: variable_call
│ │ │ ├── receiver: ∅
│ │ │ ├── call_operator_loc: ∅
│ │ │ ├── name: :foo
@@ -735,10 +737,10 @@
│ │ │ ├── opening_loc: ∅
│ │ │ ├── arguments: ∅
│ │ │ ├── closing_loc: ∅
- │ │ │ ├── block: ∅
- │ │ │ └── flags: variable_call
+ │ │ │ └── block: ∅
│ │ ├── value:
│ │ │ @ CallNode (location: (58,9)-(58,12))
+ │ │ │ ├── flags: variable_call
│ │ │ ├── receiver: ∅
│ │ │ ├── call_operator_loc: ∅
│ │ │ ├── name: :bar
@@ -746,13 +748,12 @@
│ │ │ ├── opening_loc: ∅
│ │ │ ├── arguments: ∅
│ │ │ ├── closing_loc: ∅
- │ │ │ ├── block: ∅
- │ │ │ └── flags: variable_call
+ │ │ │ └── block: ∅
│ │ └── operator_loc: (58,6)-(58,8) = "=>"
│ ├── opening_loc: (57,0)-(57,1) = "["
- │ ├── closing_loc: (59,0)-(59,1) = "]"
- │ └── flags: ∅
+ │ └── closing_loc: (59,0)-(59,1) = "]"
├── @ ArrayNode (location: (62,0)-(62,17))
+ │ ├── flags: ∅
│ ├── elements: (length: 3)
│ │ ├── @ SymbolNode (location: (62,3)-(62,6))
│ │ │ ├── opening_loc: ∅
@@ -770,9 +771,9 @@
│ │ ├── closing_loc: ∅
│ │ └── unescaped: "three"
│ ├── opening_loc: (62,0)-(62,3) = "%i#"
- │ ├── closing_loc: (62,16)-(62,17) = "#"
- │ └── flags: ∅
+ │ └── closing_loc: (62,16)-(62,17) = "#"
├── @ ArrayNode (location: (64,0)-(64,17))
+ │ ├── flags: ∅
│ ├── elements: (length: 3)
│ │ ├── @ StringNode (location: (64,3)-(64,6))
│ │ │ ├── flags: ∅
@@ -793,8 +794,7 @@
│ │ ├── closing_loc: ∅
│ │ └── unescaped: "three"
│ ├── opening_loc: (64,0)-(64,3) = "%w#"
- │ ├── closing_loc: (64,16)-(64,17) = "#"
- │ └── flags: ∅
+ │ └── closing_loc: (64,16)-(64,17) = "#"
├── @ XStringNode (location: (66,0)-(66,17))
│ ├── flags: ∅
│ ├── opening_loc: (66,0)-(66,3) = "%x#"
@@ -802,6 +802,7 @@
│ ├── closing_loc: (66,16)-(66,17) = "#"
│ └── unescaped: "one two three"
├── @ ArrayNode (location: (69,0)-(69,17))
+ │ ├── flags: ∅
│ ├── elements: (length: 3)
│ │ ├── @ SymbolNode (location: (69,3)-(69,6))
│ │ │ ├── opening_loc: ∅
@@ -819,9 +820,9 @@
│ │ ├── closing_loc: ∅
│ │ └── unescaped: "three"
│ ├── opening_loc: (69,0)-(69,3) = "%i@"
- │ ├── closing_loc: (69,16)-(69,17) = "@"
- │ └── flags: ∅
+ │ └── closing_loc: (69,16)-(69,17) = "@"
├── @ ArrayNode (location: (71,0)-(71,17))
+ │ ├── flags: ∅
│ ├── elements: (length: 3)
│ │ ├── @ StringNode (location: (71,3)-(71,6))
│ │ │ ├── flags: ∅
@@ -842,8 +843,7 @@
│ │ ├── closing_loc: ∅
│ │ └── unescaped: "three"
│ ├── opening_loc: (71,0)-(71,3) = "%w@"
- │ ├── closing_loc: (71,16)-(71,17) = "@"
- │ └── flags: ∅
+ │ └── closing_loc: (71,16)-(71,17) = "@"
├── @ XStringNode (location: (73,0)-(73,17))
│ ├── flags: ∅
│ ├── opening_loc: (73,0)-(73,3) = "%x@"
@@ -851,6 +851,7 @@
│ ├── closing_loc: (73,16)-(73,17) = "@"
│ └── unescaped: "one two three"
├── @ ArrayNode (location: (76,0)-(76,17))
+ │ ├── flags: ∅
│ ├── elements: (length: 3)
│ │ ├── @ SymbolNode (location: (76,3)-(76,6))
│ │ │ ├── opening_loc: ∅
@@ -868,9 +869,9 @@
│ │ ├── closing_loc: ∅
│ │ └── unescaped: "three"
│ ├── opening_loc: (76,0)-(76,3) = "%i{"
- │ ├── closing_loc: (76,16)-(76,17) = "}"
- │ └── flags: ∅
+ │ └── closing_loc: (76,16)-(76,17) = "}"
├── @ ArrayNode (location: (78,0)-(78,17))
+ │ ├── flags: ∅
│ ├── elements: (length: 3)
│ │ ├── @ StringNode (location: (78,3)-(78,6))
│ │ │ ├── flags: ∅
@@ -891,8 +892,7 @@
│ │ ├── closing_loc: ∅
│ │ └── unescaped: "three"
│ ├── opening_loc: (78,0)-(78,3) = "%w{"
- │ ├── closing_loc: (78,16)-(78,17) = "}"
- │ └── flags: ∅
+ │ └── closing_loc: (78,16)-(78,17) = "}"
├── @ XStringNode (location: (80,0)-(80,17))
│ ├── flags: ∅
│ ├── opening_loc: (80,0)-(80,3) = "%x{"
@@ -900,6 +900,7 @@
│ ├── closing_loc: (80,16)-(80,17) = "}"
│ └── unescaped: "one two three"
├── @ ArrayNode (location: (82,0)-(82,7))
+ │ ├── flags: ∅
│ ├── elements: (length: 1)
│ │ └── @ StringNode (location: (82,3)-(82,6))
│ │ ├── flags: ∅
@@ -908,11 +909,12 @@
│ │ ├── closing_loc: ∅
│ │ └── unescaped: "\\C:"
│ ├── opening_loc: (82,0)-(82,3) = "%w["
- │ ├── closing_loc: (82,6)-(82,7) = "]"
- │ └── flags: ∅
+ │ └── closing_loc: (82,6)-(82,7) = "]"
├── @ CallNode (location: (84,0)-(84,13))
+ │ ├── flags: ∅
│ ├── receiver:
│ │ @ CallNode (location: (84,0)-(84,3))
+ │ │ ├── flags: variable_call
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
│ │ ├── name: :foo
@@ -920,39 +922,40 @@
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
- │ │ ├── block: ∅
- │ │ └── flags: variable_call
+ │ │ └── block: ∅
│ ├── call_operator_loc: ∅
│ ├── name: :[]=
│ ├── message_loc: (84,3)-(84,9) = "[&bar]"
│ ├── opening_loc: (84,3)-(84,4) = "["
│ ├── arguments:
│ │ @ ArgumentsNode (location: (84,12)-(84,13))
- │ │ ├── arguments: (length: 1)
- │ │ │ └── @ IntegerNode (location: (84,12)-(84,13))
- │ │ │ └── flags: decimal
- │ │ └── flags: ∅
+ │ │ ├── flags: ∅
+ │ │ └── arguments: (length: 1)
+ │ │ └── @ IntegerNode (location: (84,12)-(84,13))
+ │ │ └── flags: decimal
│ ├── closing_loc: (84,8)-(84,9) = "]"
- │ ├── block:
- │ │ @ BlockArgumentNode (location: (84,4)-(84,8))
- │ │ ├── expression:
- │ │ │ @ CallNode (location: (84,5)-(84,8))
- │ │ │ ├── receiver: ∅
- │ │ │ ├── call_operator_loc: ∅
- │ │ │ ├── name: :bar
- │ │ │ ├── message_loc: (84,5)-(84,8) = "bar"
- │ │ │ ├── opening_loc: ∅
- │ │ │ ├── arguments: ∅
- │ │ │ ├── closing_loc: ∅
- │ │ │ ├── block: ∅
- │ │ │ └── flags: variable_call
- │ │ └── operator_loc: (84,4)-(84,5) = "&"
- │ └── flags: ∅
+ │ └── block:
+ │ @ BlockArgumentNode (location: (84,4)-(84,8))
+ │ ├── expression:
+ │ │ @ CallNode (location: (84,5)-(84,8))
+ │ │ ├── flags: variable_call
+ │ │ ├── receiver: ∅
+ │ │ ├── call_operator_loc: ∅
+ │ │ ├── name: :bar
+ │ │ ├── message_loc: (84,5)-(84,8) = "bar"
+ │ │ ├── opening_loc: ∅
+ │ │ ├── arguments: ∅
+ │ │ ├── closing_loc: ∅
+ │ │ └── block: ∅
+ │ └── operator_loc: (84,4)-(84,5) = "&"
├── @ CallNode (location: (86,0)-(86,17))
+ │ ├── flags: ∅
│ ├── receiver:
│ │ @ CallNode (location: (86,0)-(86,7))
+ │ │ ├── flags: ∅
│ │ ├── receiver:
│ │ │ @ CallNode (location: (86,0)-(86,3))
+ │ │ │ ├── flags: variable_call
│ │ │ ├── receiver: ∅
│ │ │ ├── call_operator_loc: ∅
│ │ │ ├── name: :foo
@@ -960,42 +963,39 @@
│ │ │ ├── opening_loc: ∅
│ │ │ ├── arguments: ∅
│ │ │ ├── closing_loc: ∅
- │ │ │ ├── block: ∅
- │ │ │ └── flags: variable_call
+ │ │ │ └── block: ∅
│ │ ├── call_operator_loc: (86,3)-(86,4) = "."
│ │ ├── name: :foo
│ │ ├── message_loc: (86,4)-(86,7) = "foo"
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
- │ │ ├── block: ∅
- │ │ └── flags: ∅
+ │ │ └── block: ∅
│ ├── call_operator_loc: ∅
│ ├── name: :[]=
│ ├── message_loc: (86,7)-(86,13) = "[&bar]"
│ ├── opening_loc: (86,7)-(86,8) = "["
│ ├── arguments:
│ │ @ ArgumentsNode (location: (86,16)-(86,17))
- │ │ ├── arguments: (length: 1)
- │ │ │ └── @ IntegerNode (location: (86,16)-(86,17))
- │ │ │ └── flags: decimal
- │ │ └── flags: ∅
+ │ │ ├── flags: ∅
+ │ │ └── arguments: (length: 1)
+ │ │ └── @ IntegerNode (location: (86,16)-(86,17))
+ │ │ └── flags: decimal
│ ├── closing_loc: (86,12)-(86,13) = "]"
- │ ├── block:
- │ │ @ BlockArgumentNode (location: (86,8)-(86,12))
- │ │ ├── expression:
- │ │ │ @ CallNode (location: (86,9)-(86,12))
- │ │ │ ├── receiver: ∅
- │ │ │ ├── call_operator_loc: ∅
- │ │ │ ├── name: :bar
- │ │ │ ├── message_loc: (86,9)-(86,12) = "bar"
- │ │ │ ├── opening_loc: ∅
- │ │ │ ├── arguments: ∅
- │ │ │ ├── closing_loc: ∅
- │ │ │ ├── block: ∅
- │ │ │ └── flags: variable_call
- │ │ └── operator_loc: (86,8)-(86,9) = "&"
- │ └── flags: ∅
+ │ └── block:
+ │ @ BlockArgumentNode (location: (86,8)-(86,12))
+ │ ├── expression:
+ │ │ @ CallNode (location: (86,9)-(86,12))
+ │ │ ├── flags: variable_call
+ │ │ ├── receiver: ∅
+ │ │ ├── call_operator_loc: ∅
+ │ │ ├── name: :bar
+ │ │ ├── message_loc: (86,9)-(86,12) = "bar"
+ │ │ ├── opening_loc: ∅
+ │ │ ├── arguments: ∅
+ │ │ ├── closing_loc: ∅
+ │ │ └── block: ∅
+ │ └── operator_loc: (86,8)-(86,9) = "&"
├── @ DefNode (location: (88,0)-(90,3))
│ ├── name: :foo
│ ├── name_loc: (88,4)-(88,7) = "foo"
@@ -1017,8 +1017,10 @@
│ │ @ StatementsNode (location: (89,2)-(89,12))
│ │ └── body: (length: 1)
│ │ └── @ CallNode (location: (89,2)-(89,12))
+ │ │ ├── flags: ∅
│ │ ├── receiver:
│ │ │ @ CallNode (location: (89,2)-(89,5))
+ │ │ │ ├── flags: variable_call
│ │ │ ├── receiver: ∅
│ │ │ ├── call_operator_loc: ∅
│ │ │ ├── name: :bar
@@ -1026,24 +1028,22 @@
│ │ │ ├── opening_loc: ∅
│ │ │ ├── arguments: ∅
│ │ │ ├── closing_loc: ∅
- │ │ │ ├── block: ∅
- │ │ │ └── flags: variable_call
+ │ │ │ └── block: ∅
│ │ ├── call_operator_loc: ∅
│ │ ├── name: :[]=
│ │ ├── message_loc: (89,5)-(89,8) = "[&]"
│ │ ├── opening_loc: (89,5)-(89,6) = "["
│ │ ├── arguments:
│ │ │ @ ArgumentsNode (location: (89,11)-(89,12))
- │ │ │ ├── arguments: (length: 1)
- │ │ │ │ └── @ IntegerNode (location: (89,11)-(89,12))
- │ │ │ │ └── flags: decimal
- │ │ │ └── flags: ∅
+ │ │ │ ├── flags: ∅
+ │ │ │ └── arguments: (length: 1)
+ │ │ │ └── @ IntegerNode (location: (89,11)-(89,12))
+ │ │ │ └── flags: decimal
│ │ ├── closing_loc: (89,7)-(89,8) = "]"
- │ │ ├── block:
- │ │ │ @ BlockArgumentNode (location: (89,6)-(89,7))
- │ │ │ ├── expression: ∅
- │ │ │ └── operator_loc: (89,6)-(89,7) = "&"
- │ │ └── flags: ∅
+ │ │ └── block:
+ │ │ @ BlockArgumentNode (location: (89,6)-(89,7))
+ │ │ ├── expression: ∅
+ │ │ └── operator_loc: (89,6)-(89,7) = "&"
│ ├── locals: [:&]
│ ├── locals_body_index: 1
│ ├── def_keyword_loc: (88,0)-(88,3) = "def"
@@ -1053,8 +1053,10 @@
│ ├── equal_loc: ∅
│ └── end_keyword_loc: (90,0)-(90,3) = "end"
├── @ IndexOperatorWriteNode (location: (92,0)-(92,10))
+ │ ├── flags: ∅
│ ├── receiver:
│ │ @ CallNode (location: (92,0)-(92,3))
+ │ │ ├── flags: variable_call
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
│ │ ├── name: :foo
@@ -1062,22 +1064,22 @@
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
- │ │ ├── block: ∅
- │ │ └── flags: variable_call
+ │ │ └── block: ∅
│ ├── call_operator_loc: ∅
│ ├── opening_loc: (92,3)-(92,4) = "["
│ ├── arguments: ∅
│ ├── closing_loc: (92,4)-(92,5) = "]"
│ ├── block: ∅
- │ ├── flags: ∅
│ ├── operator: :+
│ ├── operator_loc: (92,6)-(92,8) = "+="
│ └── value:
│ @ IntegerNode (location: (92,9)-(92,10))
│ └── flags: decimal
├── @ IndexOrWriteNode (location: (94,0)-(94,11))
+ │ ├── flags: ∅
│ ├── receiver:
│ │ @ CallNode (location: (94,0)-(94,3))
+ │ │ ├── flags: variable_call
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
│ │ ├── name: :foo
@@ -1085,21 +1087,21 @@
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
- │ │ ├── block: ∅
- │ │ └── flags: variable_call
+ │ │ └── block: ∅
│ ├── call_operator_loc: ∅
│ ├── opening_loc: (94,3)-(94,4) = "["
│ ├── arguments: ∅
│ ├── closing_loc: (94,4)-(94,5) = "]"
│ ├── block: ∅
- │ ├── flags: ∅
│ ├── operator_loc: (94,6)-(94,9) = "||="
│ └── value:
│ @ IntegerNode (location: (94,10)-(94,11))
│ └── flags: decimal
├── @ IndexAndWriteNode (location: (96,0)-(96,11))
+ │ ├── flags: ∅
│ ├── receiver:
│ │ @ CallNode (location: (96,0)-(96,3))
+ │ │ ├── flags: variable_call
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
│ │ ├── name: :foo
@@ -1107,23 +1109,24 @@
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
- │ │ ├── block: ∅
- │ │ └── flags: variable_call
+ │ │ └── block: ∅
│ ├── call_operator_loc: ∅
│ ├── opening_loc: (96,3)-(96,4) = "["
│ ├── arguments: ∅
│ ├── closing_loc: (96,4)-(96,5) = "]"
│ ├── block: ∅
- │ ├── flags: ∅
│ ├── operator_loc: (96,6)-(96,9) = "&&="
│ └── value:
│ @ IntegerNode (location: (96,10)-(96,11))
│ └── flags: decimal
├── @ IndexOperatorWriteNode (location: (98,0)-(98,14))
+ │ ├── flags: ∅
│ ├── receiver:
│ │ @ CallNode (location: (98,0)-(98,7))
+ │ │ ├── flags: ∅
│ │ ├── receiver:
│ │ │ @ CallNode (location: (98,0)-(98,3))
+ │ │ │ ├── flags: variable_call
│ │ │ ├── receiver: ∅
│ │ │ ├── call_operator_loc: ∅
│ │ │ ├── name: :foo
@@ -1131,32 +1134,32 @@
│ │ │ ├── opening_loc: ∅
│ │ │ ├── arguments: ∅
│ │ │ ├── closing_loc: ∅
- │ │ │ ├── block: ∅
- │ │ │ └── flags: variable_call
+ │ │ │ └── block: ∅
│ │ ├── call_operator_loc: (98,3)-(98,4) = "."
│ │ ├── name: :foo
│ │ ├── message_loc: (98,4)-(98,7) = "foo"
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
- │ │ ├── block: ∅
- │ │ └── flags: ∅
+ │ │ └── block: ∅
│ ├── call_operator_loc: ∅
│ ├── opening_loc: (98,7)-(98,8) = "["
│ ├── arguments: ∅
│ ├── closing_loc: (98,8)-(98,9) = "]"
│ ├── block: ∅
- │ ├── flags: ∅
│ ├── operator: :+
│ ├── operator_loc: (98,10)-(98,12) = "+="
│ └── value:
│ @ IntegerNode (location: (98,13)-(98,14))
│ └── flags: decimal
├── @ IndexOrWriteNode (location: (100,0)-(100,15))
+ │ ├── flags: ∅
│ ├── receiver:
│ │ @ CallNode (location: (100,0)-(100,7))
+ │ │ ├── flags: ∅
│ │ ├── receiver:
│ │ │ @ CallNode (location: (100,0)-(100,3))
+ │ │ │ ├── flags: variable_call
│ │ │ ├── receiver: ∅
│ │ │ ├── call_operator_loc: ∅
│ │ │ ├── name: :foo
@@ -1164,31 +1167,31 @@
│ │ │ ├── opening_loc: ∅
│ │ │ ├── arguments: ∅
│ │ │ ├── closing_loc: ∅
- │ │ │ ├── block: ∅
- │ │ │ └── flags: variable_call
+ │ │ │ └── block: ∅
│ │ ├── call_operator_loc: (100,3)-(100,4) = "."
│ │ ├── name: :foo
│ │ ├── message_loc: (100,4)-(100,7) = "foo"
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
- │ │ ├── block: ∅
- │ │ └── flags: ∅
+ │ │ └── block: ∅
│ ├── call_operator_loc: ∅
│ ├── opening_loc: (100,7)-(100,8) = "["
│ ├── arguments: ∅
│ ├── closing_loc: (100,8)-(100,9) = "]"
│ ├── block: ∅
- │ ├── flags: ∅
│ ├── operator_loc: (100,10)-(100,13) = "||="
│ └── value:
│ @ IntegerNode (location: (100,14)-(100,15))
│ └── flags: decimal
├── @ IndexAndWriteNode (location: (102,0)-(102,15))
+ │ ├── flags: ∅
│ ├── receiver:
│ │ @ CallNode (location: (102,0)-(102,7))
+ │ │ ├── flags: ∅
│ │ ├── receiver:
│ │ │ @ CallNode (location: (102,0)-(102,3))
+ │ │ │ ├── flags: variable_call
│ │ │ ├── receiver: ∅
│ │ │ ├── call_operator_loc: ∅
│ │ │ ├── name: :foo
@@ -1196,29 +1199,28 @@
│ │ │ ├── opening_loc: ∅
│ │ │ ├── arguments: ∅
│ │ │ ├── closing_loc: ∅
- │ │ │ ├── block: ∅
- │ │ │ └── flags: variable_call
+ │ │ │ └── block: ∅
│ │ ├── call_operator_loc: (102,3)-(102,4) = "."
│ │ ├── name: :foo
│ │ ├── message_loc: (102,4)-(102,7) = "foo"
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
- │ │ ├── block: ∅
- │ │ └── flags: ∅
+ │ │ └── block: ∅
│ ├── call_operator_loc: ∅
│ ├── opening_loc: (102,7)-(102,8) = "["
│ ├── arguments: ∅
│ ├── closing_loc: (102,8)-(102,9) = "]"
│ ├── block: ∅
- │ ├── flags: ∅
│ ├── operator_loc: (102,10)-(102,13) = "&&="
│ └── value:
│ @ IntegerNode (location: (102,14)-(102,15))
│ └── flags: decimal
├── @ IndexOperatorWriteNode (location: (104,0)-(104,13))
+ │ ├── flags: ∅
│ ├── receiver:
│ │ @ CallNode (location: (104,0)-(104,3))
+ │ │ ├── flags: variable_call
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
│ │ ├── name: :foo
@@ -1226,35 +1228,35 @@
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
- │ │ ├── block: ∅
- │ │ └── flags: variable_call
+ │ │ └── block: ∅
│ ├── call_operator_loc: ∅
│ ├── opening_loc: (104,3)-(104,4) = "["
│ ├── arguments:
│ │ @ ArgumentsNode (location: (104,4)-(104,7))
- │ │ ├── arguments: (length: 1)
- │ │ │ └── @ CallNode (location: (104,4)-(104,7))
- │ │ │ ├── receiver: ∅
- │ │ │ ├── call_operator_loc: ∅
- │ │ │ ├── name: :bar
- │ │ │ ├── message_loc: (104,4)-(104,7) = "bar"
- │ │ │ ├── opening_loc: ∅
- │ │ │ ├── arguments: ∅
- │ │ │ ├── closing_loc: ∅
- │ │ │ ├── block: ∅
- │ │ │ └── flags: variable_call
- │ │ └── flags: ∅
+ │ │ ├── flags: ∅
+ │ │ └── arguments: (length: 1)
+ │ │ └── @ CallNode (location: (104,4)-(104,7))
+ │ │ ├── flags: variable_call
+ │ │ ├── receiver: ∅
+ │ │ ├── call_operator_loc: ∅
+ │ │ ├── name: :bar
+ │ │ ├── message_loc: (104,4)-(104,7) = "bar"
+ │ │ ├── opening_loc: ∅
+ │ │ ├── arguments: ∅
+ │ │ ├── closing_loc: ∅
+ │ │ └── block: ∅
│ ├── closing_loc: (104,7)-(104,8) = "]"
│ ├── block: ∅
- │ ├── flags: ∅
│ ├── operator: :+
│ ├── operator_loc: (104,9)-(104,11) = "+="
│ └── value:
│ @ IntegerNode (location: (104,12)-(104,13))
│ └── flags: decimal
├── @ IndexOrWriteNode (location: (106,0)-(106,14))
+ │ ├── flags: ∅
│ ├── receiver:
│ │ @ CallNode (location: (106,0)-(106,3))
+ │ │ ├── flags: variable_call
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
│ │ ├── name: :foo
@@ -1262,34 +1264,34 @@
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
- │ │ ├── block: ∅
- │ │ └── flags: variable_call
+ │ │ └── block: ∅
│ ├── call_operator_loc: ∅
│ ├── opening_loc: (106,3)-(106,4) = "["
│ ├── arguments:
│ │ @ ArgumentsNode (location: (106,4)-(106,7))
- │ │ ├── arguments: (length: 1)
- │ │ │ └── @ CallNode (location: (106,4)-(106,7))
- │ │ │ ├── receiver: ∅
- │ │ │ ├── call_operator_loc: ∅
- │ │ │ ├── name: :bar
- │ │ │ ├── message_loc: (106,4)-(106,7) = "bar"
- │ │ │ ├── opening_loc: ∅
- │ │ │ ├── arguments: ∅
- │ │ │ ├── closing_loc: ∅
- │ │ │ ├── block: ∅
- │ │ │ └── flags: variable_call
- │ │ └── flags: ∅
+ │ │ ├── flags: ∅
+ │ │ └── arguments: (length: 1)
+ │ │ └── @ CallNode (location: (106,4)-(106,7))
+ │ │ ├── flags: variable_call
+ │ │ ├── receiver: ∅
+ │ │ ├── call_operator_loc: ∅
+ │ │ ├── name: :bar
+ │ │ ├── message_loc: (106,4)-(106,7) = "bar"
+ │ │ ├── opening_loc: ∅
+ │ │ ├── arguments: ∅
+ │ │ ├── closing_loc: ∅
+ │ │ └── block: ∅
│ ├── closing_loc: (106,7)-(106,8) = "]"
│ ├── block: ∅
- │ ├── flags: ∅
│ ├── operator_loc: (106,9)-(106,12) = "||="
│ └── value:
│ @ IntegerNode (location: (106,13)-(106,14))
│ └── flags: decimal
├── @ IndexAndWriteNode (location: (108,0)-(108,14))
+ │ ├── flags: ∅
│ ├── receiver:
│ │ @ CallNode (location: (108,0)-(108,3))
+ │ │ ├── flags: variable_call
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
│ │ ├── name: :foo
@@ -1297,36 +1299,37 @@
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
- │ │ ├── block: ∅
- │ │ └── flags: variable_call
+ │ │ └── block: ∅
│ ├── call_operator_loc: ∅
│ ├── opening_loc: (108,3)-(108,4) = "["
│ ├── arguments:
│ │ @ ArgumentsNode (location: (108,4)-(108,7))
- │ │ ├── arguments: (length: 1)
- │ │ │ └── @ CallNode (location: (108,4)-(108,7))
- │ │ │ ├── receiver: ∅
- │ │ │ ├── call_operator_loc: ∅
- │ │ │ ├── name: :bar
- │ │ │ ├── message_loc: (108,4)-(108,7) = "bar"
- │ │ │ ├── opening_loc: ∅
- │ │ │ ├── arguments: ∅
- │ │ │ ├── closing_loc: ∅
- │ │ │ ├── block: ∅
- │ │ │ └── flags: variable_call
- │ │ └── flags: ∅
+ │ │ ├── flags: ∅
+ │ │ └── arguments: (length: 1)
+ │ │ └── @ CallNode (location: (108,4)-(108,7))
+ │ │ ├── flags: variable_call
+ │ │ ├── receiver: ∅
+ │ │ ├── call_operator_loc: ∅
+ │ │ ├── name: :bar
+ │ │ ├── message_loc: (108,4)-(108,7) = "bar"
+ │ │ ├── opening_loc: ∅
+ │ │ ├── arguments: ∅
+ │ │ ├── closing_loc: ∅
+ │ │ └── block: ∅
│ ├── closing_loc: (108,7)-(108,8) = "]"
│ ├── block: ∅
- │ ├── flags: ∅
│ ├── operator_loc: (108,9)-(108,12) = "&&="
│ └── value:
│ @ IntegerNode (location: (108,13)-(108,14))
│ └── flags: decimal
├── @ IndexOperatorWriteNode (location: (110,0)-(110,17))
+ │ ├── flags: ∅
│ ├── receiver:
│ │ @ CallNode (location: (110,0)-(110,7))
+ │ │ ├── flags: ∅
│ │ ├── receiver:
│ │ │ @ CallNode (location: (110,0)-(110,3))
+ │ │ │ ├── flags: variable_call
│ │ │ ├── receiver: ∅
│ │ │ ├── call_operator_loc: ∅
│ │ │ ├── name: :foo
@@ -1334,45 +1337,45 @@
│ │ │ ├── opening_loc: ∅
│ │ │ ├── arguments: ∅
│ │ │ ├── closing_loc: ∅
- │ │ │ ├── block: ∅
- │ │ │ └── flags: variable_call
+ │ │ │ └── block: ∅
│ │ ├── call_operator_loc: (110,3)-(110,4) = "."
│ │ ├── name: :foo
│ │ ├── message_loc: (110,4)-(110,7) = "foo"
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
- │ │ ├── block: ∅
- │ │ └── flags: ∅
+ │ │ └── block: ∅
│ ├── call_operator_loc: ∅
│ ├── opening_loc: (110,7)-(110,8) = "["
│ ├── arguments:
│ │ @ ArgumentsNode (location: (110,8)-(110,11))
- │ │ ├── arguments: (length: 1)
- │ │ │ └── @ CallNode (location: (110,8)-(110,11))
- │ │ │ ├── receiver: ∅
- │ │ │ ├── call_operator_loc: ∅
- │ │ │ ├── name: :bar
- │ │ │ ├── message_loc: (110,8)-(110,11) = "bar"
- │ │ │ ├── opening_loc: ∅
- │ │ │ ├── arguments: ∅
- │ │ │ ├── closing_loc: ∅
- │ │ │ ├── block: ∅
- │ │ │ └── flags: variable_call
- │ │ └── flags: ∅
+ │ │ ├── flags: ∅
+ │ │ └── arguments: (length: 1)
+ │ │ └── @ CallNode (location: (110,8)-(110,11))
+ │ │ ├── flags: variable_call
+ │ │ ├── receiver: ∅
+ │ │ ├── call_operator_loc: ∅
+ │ │ ├── name: :bar
+ │ │ ├── message_loc: (110,8)-(110,11) = "bar"
+ │ │ ├── opening_loc: ∅
+ │ │ ├── arguments: ∅
+ │ │ ├── closing_loc: ∅
+ │ │ └── block: ∅
│ ├── closing_loc: (110,11)-(110,12) = "]"
│ ├── block: ∅
- │ ├── flags: ∅
│ ├── operator: :+
│ ├── operator_loc: (110,13)-(110,15) = "+="
│ └── value:
│ @ IntegerNode (location: (110,16)-(110,17))
│ └── flags: decimal
├── @ IndexOrWriteNode (location: (112,0)-(112,18))
+ │ ├── flags: ∅
│ ├── receiver:
│ │ @ CallNode (location: (112,0)-(112,7))
+ │ │ ├── flags: ∅
│ │ ├── receiver:
│ │ │ @ CallNode (location: (112,0)-(112,3))
+ │ │ │ ├── flags: variable_call
│ │ │ ├── receiver: ∅
│ │ │ ├── call_operator_loc: ∅
│ │ │ ├── name: :foo
@@ -1380,44 +1383,44 @@
│ │ │ ├── opening_loc: ∅
│ │ │ ├── arguments: ∅
│ │ │ ├── closing_loc: ∅
- │ │ │ ├── block: ∅
- │ │ │ └── flags: variable_call
+ │ │ │ └── block: ∅
│ │ ├── call_operator_loc: (112,3)-(112,4) = "."
│ │ ├── name: :foo
│ │ ├── message_loc: (112,4)-(112,7) = "foo"
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
- │ │ ├── block: ∅
- │ │ └── flags: ∅
+ │ │ └── block: ∅
│ ├── call_operator_loc: ∅
│ ├── opening_loc: (112,7)-(112,8) = "["
│ ├── arguments:
│ │ @ ArgumentsNode (location: (112,8)-(112,11))
- │ │ ├── arguments: (length: 1)
- │ │ │ └── @ CallNode (location: (112,8)-(112,11))
- │ │ │ ├── receiver: ∅
- │ │ │ ├── call_operator_loc: ∅
- │ │ │ ├── name: :bar
- │ │ │ ├── message_loc: (112,8)-(112,11) = "bar"
- │ │ │ ├── opening_loc: ∅
- │ │ │ ├── arguments: ∅
- │ │ │ ├── closing_loc: ∅
- │ │ │ ├── block: ∅
- │ │ │ └── flags: variable_call
- │ │ └── flags: ∅
+ │ │ ├── flags: ∅
+ │ │ └── arguments: (length: 1)
+ │ │ └── @ CallNode (location: (112,8)-(112,11))
+ │ │ ├── flags: variable_call
+ │ │ ├── receiver: ∅
+ │ │ ├── call_operator_loc: ∅
+ │ │ ├── name: :bar
+ │ │ ├── message_loc: (112,8)-(112,11) = "bar"
+ │ │ ├── opening_loc: ∅
+ │ │ ├── arguments: ∅
+ │ │ ├── closing_loc: ∅
+ │ │ └── block: ∅
│ ├── closing_loc: (112,11)-(112,12) = "]"
│ ├── block: ∅
- │ ├── flags: ∅
│ ├── operator_loc: (112,13)-(112,16) = "||="
│ └── value:
│ @ IntegerNode (location: (112,17)-(112,18))
│ └── flags: decimal
├── @ IndexAndWriteNode (location: (114,0)-(114,18))
+ │ ├── flags: ∅
│ ├── receiver:
│ │ @ CallNode (location: (114,0)-(114,7))
+ │ │ ├── flags: ∅
│ │ ├── receiver:
│ │ │ @ CallNode (location: (114,0)-(114,3))
+ │ │ │ ├── flags: variable_call
│ │ │ ├── receiver: ∅
│ │ │ ├── call_operator_loc: ∅
│ │ │ ├── name: :foo
@@ -1425,42 +1428,41 @@
│ │ │ ├── opening_loc: ∅
│ │ │ ├── arguments: ∅
│ │ │ ├── closing_loc: ∅
- │ │ │ ├── block: ∅
- │ │ │ └── flags: variable_call
+ │ │ │ └── block: ∅
│ │ ├── call_operator_loc: (114,3)-(114,4) = "."
│ │ ├── name: :foo
│ │ ├── message_loc: (114,4)-(114,7) = "foo"
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
- │ │ ├── block: ∅
- │ │ └── flags: ∅
+ │ │ └── block: ∅
│ ├── call_operator_loc: ∅
│ ├── opening_loc: (114,7)-(114,8) = "["
│ ├── arguments:
│ │ @ ArgumentsNode (location: (114,8)-(114,11))
- │ │ ├── arguments: (length: 1)
- │ │ │ └── @ CallNode (location: (114,8)-(114,11))
- │ │ │ ├── receiver: ∅
- │ │ │ ├── call_operator_loc: ∅
- │ │ │ ├── name: :bar
- │ │ │ ├── message_loc: (114,8)-(114,11) = "bar"
- │ │ │ ├── opening_loc: ∅
- │ │ │ ├── arguments: ∅
- │ │ │ ├── closing_loc: ∅
- │ │ │ ├── block: ∅
- │ │ │ └── flags: variable_call
- │ │ └── flags: ∅
+ │ │ ├── flags: ∅
+ │ │ └── arguments: (length: 1)
+ │ │ └── @ CallNode (location: (114,8)-(114,11))
+ │ │ ├── flags: variable_call
+ │ │ ├── receiver: ∅
+ │ │ ├── call_operator_loc: ∅
+ │ │ ├── name: :bar
+ │ │ ├── message_loc: (114,8)-(114,11) = "bar"
+ │ │ ├── opening_loc: ∅
+ │ │ ├── arguments: ∅
+ │ │ ├── closing_loc: ∅
+ │ │ └── block: ∅
│ ├── closing_loc: (114,11)-(114,12) = "]"
│ ├── block: ∅
- │ ├── flags: ∅
│ ├── operator_loc: (114,13)-(114,16) = "&&="
│ └── value:
│ @ IntegerNode (location: (114,17)-(114,18))
│ └── flags: decimal
├── @ IndexOperatorWriteNode (location: (116,0)-(116,19))
+ │ ├── flags: ∅
│ ├── receiver:
│ │ @ CallNode (location: (116,0)-(116,3))
+ │ │ ├── flags: variable_call
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
│ │ ├── name: :foo
@@ -1468,29 +1470,29 @@
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
- │ │ ├── block: ∅
- │ │ └── flags: variable_call
+ │ │ └── block: ∅
│ ├── call_operator_loc: ∅
│ ├── opening_loc: (116,3)-(116,4) = "["
│ ├── arguments:
│ │ @ ArgumentsNode (location: (116,4)-(116,7))
- │ │ ├── arguments: (length: 1)
- │ │ │ └── @ CallNode (location: (116,4)-(116,7))
- │ │ │ ├── receiver: ∅
- │ │ │ ├── call_operator_loc: ∅
- │ │ │ ├── name: :bar
- │ │ │ ├── message_loc: (116,4)-(116,7) = "bar"
- │ │ │ ├── opening_loc: ∅
- │ │ │ ├── arguments: ∅
- │ │ │ ├── closing_loc: ∅
- │ │ │ ├── block: ∅
- │ │ │ └── flags: variable_call
- │ │ └── flags: ∅
+ │ │ ├── flags: ∅
+ │ │ └── arguments: (length: 1)
+ │ │ └── @ CallNode (location: (116,4)-(116,7))
+ │ │ ├── flags: variable_call
+ │ │ ├── receiver: ∅
+ │ │ ├── call_operator_loc: ∅
+ │ │ ├── name: :bar
+ │ │ ├── message_loc: (116,4)-(116,7) = "bar"
+ │ │ ├── opening_loc: ∅
+ │ │ ├── arguments: ∅
+ │ │ ├── closing_loc: ∅
+ │ │ └── block: ∅
│ ├── closing_loc: (116,13)-(116,14) = "]"
│ ├── block:
│ │ @ BlockArgumentNode (location: (116,9)-(116,13))
│ │ ├── expression:
│ │ │ @ CallNode (location: (116,10)-(116,13))
+ │ │ │ ├── flags: variable_call
│ │ │ ├── receiver: ∅
│ │ │ ├── call_operator_loc: ∅
│ │ │ ├── name: :baz
@@ -1498,18 +1500,18 @@
│ │ │ ├── opening_loc: ∅
│ │ │ ├── arguments: ∅
│ │ │ ├── closing_loc: ∅
- │ │ │ ├── block: ∅
- │ │ │ └── flags: variable_call
+ │ │ │ └── block: ∅
│ │ └── operator_loc: (116,9)-(116,10) = "&"
- │ ├── flags: ∅
│ ├── operator: :+
│ ├── operator_loc: (116,15)-(116,17) = "+="
│ └── value:
│ @ IntegerNode (location: (116,18)-(116,19))
│ └── flags: decimal
├── @ IndexOrWriteNode (location: (118,0)-(118,20))
+ │ ├── flags: ∅
│ ├── receiver:
│ │ @ CallNode (location: (118,0)-(118,3))
+ │ │ ├── flags: variable_call
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
│ │ ├── name: :foo
@@ -1517,29 +1519,29 @@
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
- │ │ ├── block: ∅
- │ │ └── flags: variable_call
+ │ │ └── block: ∅
│ ├── call_operator_loc: ∅
│ ├── opening_loc: (118,3)-(118,4) = "["
│ ├── arguments:
│ │ @ ArgumentsNode (location: (118,4)-(118,7))
- │ │ ├── arguments: (length: 1)
- │ │ │ └── @ CallNode (location: (118,4)-(118,7))
- │ │ │ ├── receiver: ∅
- │ │ │ ├── call_operator_loc: ∅
- │ │ │ ├── name: :bar
- │ │ │ ├── message_loc: (118,4)-(118,7) = "bar"
- │ │ │ ├── opening_loc: ∅
- │ │ │ ├── arguments: ∅
- │ │ │ ├── closing_loc: ∅
- │ │ │ ├── block: ∅
- │ │ │ └── flags: variable_call
- │ │ └── flags: ∅
+ │ │ ├── flags: ∅
+ │ │ └── arguments: (length: 1)
+ │ │ └── @ CallNode (location: (118,4)-(118,7))
+ │ │ ├── flags: variable_call
+ │ │ ├── receiver: ∅
+ │ │ ├── call_operator_loc: ∅
+ │ │ ├── name: :bar
+ │ │ ├── message_loc: (118,4)-(118,7) = "bar"
+ │ │ ├── opening_loc: ∅
+ │ │ ├── arguments: ∅
+ │ │ ├── closing_loc: ∅
+ │ │ └── block: ∅
│ ├── closing_loc: (118,13)-(118,14) = "]"
│ ├── block:
│ │ @ BlockArgumentNode (location: (118,9)-(118,13))
│ │ ├── expression:
│ │ │ @ CallNode (location: (118,10)-(118,13))
+ │ │ │ ├── flags: variable_call
│ │ │ ├── receiver: ∅
│ │ │ ├── call_operator_loc: ∅
│ │ │ ├── name: :baz
@@ -1547,17 +1549,17 @@
│ │ │ ├── opening_loc: ∅
│ │ │ ├── arguments: ∅
│ │ │ ├── closing_loc: ∅
- │ │ │ ├── block: ∅
- │ │ │ └── flags: variable_call
+ │ │ │ └── block: ∅
│ │ └── operator_loc: (118,9)-(118,10) = "&"
- │ ├── flags: ∅
│ ├── operator_loc: (118,15)-(118,18) = "||="
│ └── value:
│ @ IntegerNode (location: (118,19)-(118,20))
│ └── flags: decimal
├── @ IndexAndWriteNode (location: (120,0)-(120,20))
+ │ ├── flags: ∅
│ ├── receiver:
│ │ @ CallNode (location: (120,0)-(120,3))
+ │ │ ├── flags: variable_call
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
│ │ ├── name: :foo
@@ -1565,29 +1567,29 @@
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
- │ │ ├── block: ∅
- │ │ └── flags: variable_call
+ │ │ └── block: ∅
│ ├── call_operator_loc: ∅
│ ├── opening_loc: (120,3)-(120,4) = "["
│ ├── arguments:
│ │ @ ArgumentsNode (location: (120,4)-(120,7))
- │ │ ├── arguments: (length: 1)
- │ │ │ └── @ CallNode (location: (120,4)-(120,7))
- │ │ │ ├── receiver: ∅
- │ │ │ ├── call_operator_loc: ∅
- │ │ │ ├── name: :bar
- │ │ │ ├── message_loc: (120,4)-(120,7) = "bar"
- │ │ │ ├── opening_loc: ∅
- │ │ │ ├── arguments: ∅
- │ │ │ ├── closing_loc: ∅
- │ │ │ ├── block: ∅
- │ │ │ └── flags: variable_call
- │ │ └── flags: ∅
+ │ │ ├── flags: ∅
+ │ │ └── arguments: (length: 1)
+ │ │ └── @ CallNode (location: (120,4)-(120,7))
+ │ │ ├── flags: variable_call
+ │ │ ├── receiver: ∅
+ │ │ ├── call_operator_loc: ∅
+ │ │ ├── name: :bar
+ │ │ ├── message_loc: (120,4)-(120,7) = "bar"
+ │ │ ├── opening_loc: ∅
+ │ │ ├── arguments: ∅
+ │ │ ├── closing_loc: ∅
+ │ │ └── block: ∅
│ ├── closing_loc: (120,13)-(120,14) = "]"
│ ├── block:
│ │ @ BlockArgumentNode (location: (120,9)-(120,13))
│ │ ├── expression:
│ │ │ @ CallNode (location: (120,10)-(120,13))
+ │ │ │ ├── flags: variable_call
│ │ │ ├── receiver: ∅
│ │ │ ├── call_operator_loc: ∅
│ │ │ ├── name: :baz
@@ -1595,19 +1597,20 @@
│ │ │ ├── opening_loc: ∅
│ │ │ ├── arguments: ∅
│ │ │ ├── closing_loc: ∅
- │ │ │ ├── block: ∅
- │ │ │ └── flags: variable_call
+ │ │ │ └── block: ∅
│ │ └── operator_loc: (120,9)-(120,10) = "&"
- │ ├── flags: ∅
│ ├── operator_loc: (120,15)-(120,18) = "&&="
│ └── value:
│ @ IntegerNode (location: (120,19)-(120,20))
│ └── flags: decimal
├── @ IndexOperatorWriteNode (location: (122,0)-(122,23))
+ │ ├── flags: ∅
│ ├── receiver:
│ │ @ CallNode (location: (122,0)-(122,7))
+ │ │ ├── flags: ∅
│ │ ├── receiver:
│ │ │ @ CallNode (location: (122,0)-(122,3))
+ │ │ │ ├── flags: variable_call
│ │ │ ├── receiver: ∅
│ │ │ ├── call_operator_loc: ∅
│ │ │ ├── name: :foo
@@ -1615,37 +1618,36 @@
│ │ │ ├── opening_loc: ∅
│ │ │ ├── arguments: ∅
│ │ │ ├── closing_loc: ∅
- │ │ │ ├── block: ∅
- │ │ │ └── flags: variable_call
+ │ │ │ └── block: ∅
│ │ ├── call_operator_loc: (122,3)-(122,4) = "."
│ │ ├── name: :foo
│ │ ├── message_loc: (122,4)-(122,7) = "foo"
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
- │ │ ├── block: ∅
- │ │ └── flags: ∅
+ │ │ └── block: ∅
│ ├── call_operator_loc: ∅
│ ├── opening_loc: (122,7)-(122,8) = "["
│ ├── arguments:
│ │ @ ArgumentsNode (location: (122,8)-(122,11))
- │ │ ├── arguments: (length: 1)
- │ │ │ └── @ CallNode (location: (122,8)-(122,11))
- │ │ │ ├── receiver: ∅
- │ │ │ ├── call_operator_loc: ∅
- │ │ │ ├── name: :bar
- │ │ │ ├── message_loc: (122,8)-(122,11) = "bar"
- │ │ │ ├── opening_loc: ∅
- │ │ │ ├── arguments: ∅
- │ │ │ ├── closing_loc: ∅
- │ │ │ ├── block: ∅
- │ │ │ └── flags: variable_call
- │ │ └── flags: ∅
+ │ │ ├── flags: ∅
+ │ │ └── arguments: (length: 1)
+ │ │ └── @ CallNode (location: (122,8)-(122,11))
+ │ │ ├── flags: variable_call
+ │ │ ├── receiver: ∅
+ │ │ ├── call_operator_loc: ∅
+ │ │ ├── name: :bar
+ │ │ ├── message_loc: (122,8)-(122,11) = "bar"
+ │ │ ├── opening_loc: ∅
+ │ │ ├── arguments: ∅
+ │ │ ├── closing_loc: ∅
+ │ │ └── block: ∅
│ ├── closing_loc: (122,17)-(122,18) = "]"
│ ├── block:
│ │ @ BlockArgumentNode (location: (122,13)-(122,17))
│ │ ├── expression:
│ │ │ @ CallNode (location: (122,14)-(122,17))
+ │ │ │ ├── flags: variable_call
│ │ │ ├── receiver: ∅
│ │ │ ├── call_operator_loc: ∅
│ │ │ ├── name: :baz
@@ -1653,20 +1655,21 @@
│ │ │ ├── opening_loc: ∅
│ │ │ ├── arguments: ∅
│ │ │ ├── closing_loc: ∅
- │ │ │ ├── block: ∅
- │ │ │ └── flags: variable_call
+ │ │ │ └── block: ∅
│ │ └── operator_loc: (122,13)-(122,14) = "&"
- │ ├── flags: ∅
│ ├── operator: :+
│ ├── operator_loc: (122,19)-(122,21) = "+="
│ └── value:
│ @ IntegerNode (location: (122,22)-(122,23))
│ └── flags: decimal
├── @ IndexOrWriteNode (location: (124,0)-(124,24))
+ │ ├── flags: ∅
│ ├── receiver:
│ │ @ CallNode (location: (124,0)-(124,7))
+ │ │ ├── flags: ∅
│ │ ├── receiver:
│ │ │ @ CallNode (location: (124,0)-(124,3))
+ │ │ │ ├── flags: variable_call
│ │ │ ├── receiver: ∅
│ │ │ ├── call_operator_loc: ∅
│ │ │ ├── name: :foo
@@ -1674,37 +1677,36 @@
│ │ │ ├── opening_loc: ∅
│ │ │ ├── arguments: ∅
│ │ │ ├── closing_loc: ∅
- │ │ │ ├── block: ∅
- │ │ │ └── flags: variable_call
+ │ │ │ └── block: ∅
│ │ ├── call_operator_loc: (124,3)-(124,4) = "."
│ │ ├── name: :foo
│ │ ├── message_loc: (124,4)-(124,7) = "foo"
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
- │ │ ├── block: ∅
- │ │ └── flags: ∅
+ │ │ └── block: ∅
│ ├── call_operator_loc: ∅
│ ├── opening_loc: (124,7)-(124,8) = "["
│ ├── arguments:
│ │ @ ArgumentsNode (location: (124,8)-(124,11))
- │ │ ├── arguments: (length: 1)
- │ │ │ └── @ CallNode (location: (124,8)-(124,11))
- │ │ │ ├── receiver: ∅
- │ │ │ ├── call_operator_loc: ∅
- │ │ │ ├── name: :bar
- │ │ │ ├── message_loc: (124,8)-(124,11) = "bar"
- │ │ │ ├── opening_loc: ∅
- │ │ │ ├── arguments: ∅
- │ │ │ ├── closing_loc: ∅
- │ │ │ ├── block: ∅
- │ │ │ └── flags: variable_call
- │ │ └── flags: ∅
+ │ │ ├── flags: ∅
+ │ │ └── arguments: (length: 1)
+ │ │ └── @ CallNode (location: (124,8)-(124,11))
+ │ │ ├── flags: variable_call
+ │ │ ├── receiver: ∅
+ │ │ ├── call_operator_loc: ∅
+ │ │ ├── name: :bar
+ │ │ ├── message_loc: (124,8)-(124,11) = "bar"
+ │ │ ├── opening_loc: ∅
+ │ │ ├── arguments: ∅
+ │ │ ├── closing_loc: ∅
+ │ │ └── block: ∅
│ ├── closing_loc: (124,17)-(124,18) = "]"
│ ├── block:
│ │ @ BlockArgumentNode (location: (124,13)-(124,17))
│ │ ├── expression:
│ │ │ @ CallNode (location: (124,14)-(124,17))
+ │ │ │ ├── flags: variable_call
│ │ │ ├── receiver: ∅
│ │ │ ├── call_operator_loc: ∅
│ │ │ ├── name: :baz
@@ -1712,19 +1714,20 @@
│ │ │ ├── opening_loc: ∅
│ │ │ ├── arguments: ∅
│ │ │ ├── closing_loc: ∅
- │ │ │ ├── block: ∅
- │ │ │ └── flags: variable_call
+ │ │ │ └── block: ∅
│ │ └── operator_loc: (124,13)-(124,14) = "&"
- │ ├── flags: ∅
│ ├── operator_loc: (124,19)-(124,22) = "||="
│ └── value:
│ @ IntegerNode (location: (124,23)-(124,24))
│ └── flags: decimal
├── @ IndexAndWriteNode (location: (126,0)-(126,24))
+ │ ├── flags: ∅
│ ├── receiver:
│ │ @ CallNode (location: (126,0)-(126,7))
+ │ │ ├── flags: ∅
│ │ ├── receiver:
│ │ │ @ CallNode (location: (126,0)-(126,3))
+ │ │ │ ├── flags: variable_call
│ │ │ ├── receiver: ∅
│ │ │ ├── call_operator_loc: ∅
│ │ │ ├── name: :foo
@@ -1732,37 +1735,36 @@
│ │ │ ├── opening_loc: ∅
│ │ │ ├── arguments: ∅
│ │ │ ├── closing_loc: ∅
- │ │ │ ├── block: ∅
- │ │ │ └── flags: variable_call
+ │ │ │ └── block: ∅
│ │ ├── call_operator_loc: (126,3)-(126,4) = "."
│ │ ├── name: :foo
│ │ ├── message_loc: (126,4)-(126,7) = "foo"
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
- │ │ ├── block: ∅
- │ │ └── flags: ∅
+ │ │ └── block: ∅
│ ├── call_operator_loc: ∅
│ ├── opening_loc: (126,7)-(126,8) = "["
│ ├── arguments:
│ │ @ ArgumentsNode (location: (126,8)-(126,11))
- │ │ ├── arguments: (length: 1)
- │ │ │ └── @ CallNode (location: (126,8)-(126,11))
- │ │ │ ├── receiver: ∅
- │ │ │ ├── call_operator_loc: ∅
- │ │ │ ├── name: :bar
- │ │ │ ├── message_loc: (126,8)-(126,11) = "bar"
- │ │ │ ├── opening_loc: ∅
- │ │ │ ├── arguments: ∅
- │ │ │ ├── closing_loc: ∅
- │ │ │ ├── block: ∅
- │ │ │ └── flags: variable_call
- │ │ └── flags: ∅
+ │ │ ├── flags: ∅
+ │ │ └── arguments: (length: 1)
+ │ │ └── @ CallNode (location: (126,8)-(126,11))
+ │ │ ├── flags: variable_call
+ │ │ ├── receiver: ∅
+ │ │ ├── call_operator_loc: ∅
+ │ │ ├── name: :bar
+ │ │ ├── message_loc: (126,8)-(126,11) = "bar"
+ │ │ ├── opening_loc: ∅
+ │ │ ├── arguments: ∅
+ │ │ ├── closing_loc: ∅
+ │ │ └── block: ∅
│ ├── closing_loc: (126,17)-(126,18) = "]"
│ ├── block:
│ │ @ BlockArgumentNode (location: (126,13)-(126,17))
│ │ ├── expression:
│ │ │ @ CallNode (location: (126,14)-(126,17))
+ │ │ │ ├── flags: variable_call
│ │ │ ├── receiver: ∅
│ │ │ ├── call_operator_loc: ∅
│ │ │ ├── name: :baz
@@ -1770,10 +1772,8 @@
│ │ │ ├── opening_loc: ∅
│ │ │ ├── arguments: ∅
│ │ │ ├── closing_loc: ∅
- │ │ │ ├── block: ∅
- │ │ │ └── flags: variable_call
+ │ │ │ └── block: ∅
│ │ └── operator_loc: (126,13)-(126,14) = "&"
- │ ├── flags: ∅
│ ├── operator_loc: (126,19)-(126,22) = "&&="
│ └── value:
│ @ IntegerNode (location: (126,23)-(126,24))
@@ -1799,8 +1799,10 @@
│ │ @ StatementsNode (location: (128,10)-(128,14))
│ │ └── body: (length: 1)
│ │ └── @ CallNode (location: (128,10)-(128,14))
+ │ │ ├── flags: ∅
│ │ ├── receiver:
│ │ │ @ CallNode (location: (128,10)-(128,11))
+ │ │ │ ├── flags: variable_call
│ │ │ ├── receiver: ∅
│ │ │ ├── call_operator_loc: ∅
│ │ │ ├── name: :a
@@ -1808,22 +1810,20 @@
│ │ │ ├── opening_loc: ∅
│ │ │ ├── arguments: ∅
│ │ │ ├── closing_loc: ∅
- │ │ │ ├── block: ∅
- │ │ │ └── flags: variable_call
+ │ │ │ └── block: ∅
│ │ ├── call_operator_loc: ∅
│ │ ├── name: :[]
│ │ ├── message_loc: (128,11)-(128,14) = "[*]"
│ │ ├── opening_loc: (128,11)-(128,12) = "["
│ │ ├── arguments:
│ │ │ @ ArgumentsNode (location: (128,12)-(128,13))
- │ │ │ ├── arguments: (length: 1)
- │ │ │ │ └── @ SplatNode (location: (128,12)-(128,13))
- │ │ │ │ ├── operator_loc: (128,12)-(128,13) = "*"
- │ │ │ │ └── expression: ∅
- │ │ │ └── flags: ∅
+ │ │ │ ├── flags: ∅
+ │ │ │ └── arguments: (length: 1)
+ │ │ │ └── @ SplatNode (location: (128,12)-(128,13))
+ │ │ │ ├── operator_loc: (128,12)-(128,13) = "*"
+ │ │ │ └── expression: ∅
│ │ ├── closing_loc: (128,13)-(128,14) = "]"
- │ │ ├── block: ∅
- │ │ └── flags: ∅
+ │ │ └── block: ∅
│ ├── locals: [:*]
│ ├── locals_body_index: 1
│ ├── def_keyword_loc: (128,0)-(128,3) = "def"
@@ -1853,8 +1853,10 @@
│ │ @ StatementsNode (location: (130,10)-(130,17))
│ │ └── body: (length: 1)
│ │ └── @ CallNode (location: (130,10)-(130,17))
+ │ │ ├── flags: ∅
│ │ ├── receiver:
│ │ │ @ CallNode (location: (130,10)-(130,11))
+ │ │ │ ├── flags: variable_call
│ │ │ ├── receiver: ∅
│ │ │ ├── call_operator_loc: ∅
│ │ │ ├── name: :a
@@ -1862,24 +1864,22 @@
│ │ │ ├── opening_loc: ∅
│ │ │ ├── arguments: ∅
│ │ │ ├── closing_loc: ∅
- │ │ │ ├── block: ∅
- │ │ │ └── flags: variable_call
+ │ │ │ └── block: ∅
│ │ ├── call_operator_loc: ∅
│ │ ├── name: :[]
│ │ ├── message_loc: (130,11)-(130,17) = "[1, *]"
│ │ ├── opening_loc: (130,11)-(130,12) = "["
│ │ ├── arguments:
│ │ │ @ ArgumentsNode (location: (130,12)-(130,16))
- │ │ │ ├── arguments: (length: 2)
- │ │ │ │ ├── @ IntegerNode (location: (130,12)-(130,13))
- │ │ │ │ │ └── flags: decimal
- │ │ │ │ └── @ SplatNode (location: (130,15)-(130,16))
- │ │ │ │ ├── operator_loc: (130,15)-(130,16) = "*"
- │ │ │ │ └── expression: ∅
- │ │ │ └── flags: ∅
+ │ │ │ ├── flags: ∅
+ │ │ │ └── arguments: (length: 2)
+ │ │ │ ├── @ IntegerNode (location: (130,12)-(130,13))
+ │ │ │ │ └── flags: decimal
+ │ │ │ └── @ SplatNode (location: (130,15)-(130,16))
+ │ │ │ ├── operator_loc: (130,15)-(130,16) = "*"
+ │ │ │ └── expression: ∅
│ │ ├── closing_loc: (130,16)-(130,17) = "]"
- │ │ ├── block: ∅
- │ │ └── flags: ∅
+ │ │ └── block: ∅
│ ├── locals: [:*]
│ ├── locals_body_index: 1
│ ├── def_keyword_loc: (130,0)-(130,3) = "def"
@@ -1909,8 +1909,10 @@
│ │ @ StatementsNode (location: (132,10)-(132,18))
│ │ └── body: (length: 1)
│ │ └── @ CallNode (location: (132,10)-(132,18))
+ │ │ ├── flags: ∅
│ │ ├── receiver:
│ │ │ @ CallNode (location: (132,10)-(132,11))
+ │ │ │ ├── flags: variable_call
│ │ │ ├── receiver: ∅
│ │ │ ├── call_operator_loc: ∅
│ │ │ ├── name: :a
@@ -1918,24 +1920,22 @@
│ │ │ ├── opening_loc: ∅
│ │ │ ├── arguments: ∅
│ │ │ ├── closing_loc: ∅
- │ │ │ ├── block: ∅
- │ │ │ └── flags: variable_call
+ │ │ │ └── block: ∅
│ │ ├── call_operator_loc: ∅
│ │ ├── name: :[]=
│ │ ├── message_loc: (132,11)-(132,14) = "[*]"
│ │ ├── opening_loc: (132,11)-(132,12) = "["
│ │ ├── arguments:
│ │ │ @ ArgumentsNode (location: (132,12)-(132,18))
- │ │ │ ├── arguments: (length: 2)
- │ │ │ │ ├── @ SplatNode (location: (132,12)-(132,13))
- │ │ │ │ │ ├── operator_loc: (132,12)-(132,13) = "*"
- │ │ │ │ │ └── expression: ∅
- │ │ │ │ └── @ IntegerNode (location: (132,17)-(132,18))
- │ │ │ │ └── flags: decimal
- │ │ │ └── flags: ∅
+ │ │ │ ├── flags: ∅
+ │ │ │ └── arguments: (length: 2)
+ │ │ │ ├── @ SplatNode (location: (132,12)-(132,13))
+ │ │ │ │ ├── operator_loc: (132,12)-(132,13) = "*"
+ │ │ │ │ └── expression: ∅
+ │ │ │ └── @ IntegerNode (location: (132,17)-(132,18))
+ │ │ │ └── flags: decimal
│ │ ├── closing_loc: (132,13)-(132,14) = "]"
- │ │ ├── block: ∅
- │ │ └── flags: ∅
+ │ │ └── block: ∅
│ ├── locals: [:*]
│ ├── locals_body_index: 1
│ ├── def_keyword_loc: (132,0)-(132,3) = "def"
@@ -1965,8 +1965,10 @@
│ │ @ StatementsNode (location: (134,10)-(134,21))
│ │ └── body: (length: 1)
│ │ └── @ CallNode (location: (134,10)-(134,21))
+ │ │ ├── flags: ∅
│ │ ├── receiver:
│ │ │ @ CallNode (location: (134,10)-(134,11))
+ │ │ │ ├── flags: variable_call
│ │ │ ├── receiver: ∅
│ │ │ ├── call_operator_loc: ∅
│ │ │ ├── name: :a
@@ -1974,26 +1976,24 @@
│ │ │ ├── opening_loc: ∅
│ │ │ ├── arguments: ∅
│ │ │ ├── closing_loc: ∅
- │ │ │ ├── block: ∅
- │ │ │ └── flags: variable_call
+ │ │ │ └── block: ∅
│ │ ├── call_operator_loc: ∅
│ │ ├── name: :[]=
│ │ ├── message_loc: (134,11)-(134,17) = "[1, *]"
│ │ ├── opening_loc: (134,11)-(134,12) = "["
│ │ ├── arguments:
│ │ │ @ ArgumentsNode (location: (134,12)-(134,21))
- │ │ │ ├── arguments: (length: 3)
- │ │ │ │ ├── @ IntegerNode (location: (134,12)-(134,13))
- │ │ │ │ │ └── flags: decimal
- │ │ │ │ ├── @ SplatNode (location: (134,15)-(134,16))
- │ │ │ │ │ ├── operator_loc: (134,15)-(134,16) = "*"
- │ │ │ │ │ └── expression: ∅
- │ │ │ │ └── @ IntegerNode (location: (134,20)-(134,21))
- │ │ │ │ └── flags: decimal
- │ │ │ └── flags: ∅
+ │ │ │ ├── flags: ∅
+ │ │ │ └── arguments: (length: 3)
+ │ │ │ ├── @ IntegerNode (location: (134,12)-(134,13))
+ │ │ │ │ └── flags: decimal
+ │ │ │ ├── @ SplatNode (location: (134,15)-(134,16))
+ │ │ │ │ ├── operator_loc: (134,15)-(134,16) = "*"
+ │ │ │ │ └── expression: ∅
+ │ │ │ └── @ IntegerNode (location: (134,20)-(134,21))
+ │ │ │ └── flags: decimal
│ │ ├── closing_loc: (134,16)-(134,17) = "]"
- │ │ ├── block: ∅
- │ │ └── flags: ∅
+ │ │ └── block: ∅
│ ├── locals: [:*]
│ ├── locals_body_index: 1
│ ├── def_keyword_loc: (134,0)-(134,3) = "def"
@@ -2023,8 +2023,10 @@
│ │ @ StatementsNode (location: (136,10)-(136,19))
│ │ └── body: (length: 1)
│ │ └── @ IndexOperatorWriteNode (location: (136,10)-(136,19))
+ │ │ ├── flags: ∅
│ │ ├── receiver:
│ │ │ @ CallNode (location: (136,10)-(136,11))
+ │ │ │ ├── flags: variable_call
│ │ │ ├── receiver: ∅
│ │ │ ├── call_operator_loc: ∅
│ │ │ ├── name: :a
@@ -2032,20 +2034,18 @@
│ │ │ ├── opening_loc: ∅
│ │ │ ├── arguments: ∅
│ │ │ ├── closing_loc: ∅
- │ │ │ ├── block: ∅
- │ │ │ └── flags: variable_call
+ │ │ │ └── block: ∅
│ │ ├── call_operator_loc: ∅
│ │ ├── opening_loc: (136,11)-(136,12) = "["
│ │ ├── arguments:
│ │ │ @ ArgumentsNode (location: (136,12)-(136,13))
- │ │ │ ├── arguments: (length: 1)
- │ │ │ │ └── @ SplatNode (location: (136,12)-(136,13))
- │ │ │ │ ├── operator_loc: (136,12)-(136,13) = "*"
- │ │ │ │ └── expression: ∅
- │ │ │ └── flags: ∅
+ │ │ │ ├── flags: ∅
+ │ │ │ └── arguments: (length: 1)
+ │ │ │ └── @ SplatNode (location: (136,12)-(136,13))
+ │ │ │ ├── operator_loc: (136,12)-(136,13) = "*"
+ │ │ │ └── expression: ∅
│ │ ├── closing_loc: (136,13)-(136,14) = "]"
│ │ ├── block: ∅
- │ │ ├── flags: ∅
│ │ ├── operator: :+
│ │ ├── operator_loc: (136,15)-(136,17) = "+="
│ │ └── value:
@@ -2080,8 +2080,10 @@
│ │ @ StatementsNode (location: (138,10)-(138,23))
│ │ └── body: (length: 1)
│ │ └── @ IndexAndWriteNode (location: (138,10)-(138,23))
+ │ │ ├── flags: ∅
│ │ ├── receiver:
│ │ │ @ CallNode (location: (138,10)-(138,11))
+ │ │ │ ├── flags: variable_call
│ │ │ ├── receiver: ∅
│ │ │ ├── call_operator_loc: ∅
│ │ │ ├── name: :a
@@ -2089,22 +2091,20 @@
│ │ │ ├── opening_loc: ∅
│ │ │ ├── arguments: ∅
│ │ │ ├── closing_loc: ∅
- │ │ │ ├── block: ∅
- │ │ │ └── flags: variable_call
+ │ │ │ └── block: ∅
│ │ ├── call_operator_loc: ∅
│ │ ├── opening_loc: (138,11)-(138,12) = "["
│ │ ├── arguments:
│ │ │ @ ArgumentsNode (location: (138,12)-(138,16))
- │ │ │ ├── arguments: (length: 2)
- │ │ │ │ ├── @ IntegerNode (location: (138,12)-(138,13))
- │ │ │ │ │ └── flags: decimal
- │ │ │ │ └── @ SplatNode (location: (138,15)-(138,16))
- │ │ │ │ ├── operator_loc: (138,15)-(138,16) = "*"
- │ │ │ │ └── expression: ∅
- │ │ │ └── flags: ∅
+ │ │ │ ├── flags: ∅
+ │ │ │ └── arguments: (length: 2)
+ │ │ │ ├── @ IntegerNode (location: (138,12)-(138,13))
+ │ │ │ │ └── flags: decimal
+ │ │ │ └── @ SplatNode (location: (138,15)-(138,16))
+ │ │ │ ├── operator_loc: (138,15)-(138,16) = "*"
+ │ │ │ └── expression: ∅
│ │ ├── closing_loc: (138,16)-(138,17) = "]"
│ │ ├── block: ∅
- │ │ ├── flags: ∅
│ │ ├── operator_loc: (138,18)-(138,21) = "&&="
│ │ └── value:
│ │ @ IntegerNode (location: (138,22)-(138,23))
@@ -2145,8 +2145,10 @@
│ │ │ ├── operator_loc: (140,17)-(140,19) = "=>"
│ │ │ ├── reference:
│ │ │ │ @ CallNode (location: (140,20)-(140,24))
+ │ │ │ │ ├── flags: ∅
│ │ │ │ ├── receiver:
│ │ │ │ │ @ CallNode (location: (140,20)-(140,21))
+ │ │ │ │ │ ├── flags: variable_call
│ │ │ │ │ ├── receiver: ∅
│ │ │ │ │ ├── call_operator_loc: ∅
│ │ │ │ │ ├── name: :a
@@ -2154,22 +2156,20 @@
│ │ │ │ │ ├── opening_loc: ∅
│ │ │ │ │ ├── arguments: ∅
│ │ │ │ │ ├── closing_loc: ∅
- │ │ │ │ │ ├── block: ∅
- │ │ │ │ │ └── flags: variable_call
+ │ │ │ │ │ └── block: ∅
│ │ │ │ ├── call_operator_loc: ∅
│ │ │ │ ├── name: :[]=
│ │ │ │ ├── message_loc: (140,21)-(140,24) = "[*]"
│ │ │ │ ├── opening_loc: (140,21)-(140,22) = "["
│ │ │ │ ├── arguments:
│ │ │ │ │ @ ArgumentsNode (location: (140,22)-(140,23))
- │ │ │ │ │ ├── arguments: (length: 1)
- │ │ │ │ │ │ └── @ SplatNode (location: (140,22)-(140,23))
- │ │ │ │ │ │ ├── operator_loc: (140,22)-(140,23) = "*"
- │ │ │ │ │ │ └── expression: ∅
- │ │ │ │ │ └── flags: ∅
+ │ │ │ │ │ ├── flags: ∅
+ │ │ │ │ │ └── arguments: (length: 1)
+ │ │ │ │ │ └── @ SplatNode (location: (140,22)-(140,23))
+ │ │ │ │ │ ├── operator_loc: (140,22)-(140,23) = "*"
+ │ │ │ │ │ └── expression: ∅
│ │ │ │ ├── closing_loc: (140,23)-(140,24) = "]"
- │ │ │ │ ├── block: ∅
- │ │ │ │ └── flags: ∅
+ │ │ │ │ └── block: ∅
│ │ │ ├── statements: ∅
│ │ │ └── consequent: ∅
│ │ ├── else_clause: ∅
@@ -2211,8 +2211,10 @@
│ │ ├── operator_loc: (142,17)-(142,19) = "=>"
│ │ ├── reference:
│ │ │ @ CallNode (location: (142,20)-(142,27))
+ │ │ │ ├── flags: ∅
│ │ │ ├── receiver:
│ │ │ │ @ CallNode (location: (142,20)-(142,21))
+ │ │ │ │ ├── flags: variable_call
│ │ │ │ ├── receiver: ∅
│ │ │ │ ├── call_operator_loc: ∅
│ │ │ │ ├── name: :a
@@ -2220,24 +2222,22 @@
│ │ │ │ ├── opening_loc: ∅
│ │ │ │ ├── arguments: ∅
│ │ │ │ ├── closing_loc: ∅
- │ │ │ │ ├── block: ∅
- │ │ │ │ └── flags: variable_call
+ │ │ │ │ └── block: ∅
│ │ │ ├── call_operator_loc: ∅
│ │ │ ├── name: :[]=
│ │ │ ├── message_loc: (142,21)-(142,27) = "[1, *]"
│ │ │ ├── opening_loc: (142,21)-(142,22) = "["
│ │ │ ├── arguments:
│ │ │ │ @ ArgumentsNode (location: (142,22)-(142,26))
- │ │ │ │ ├── arguments: (length: 2)
- │ │ │ │ │ ├── @ IntegerNode (location: (142,22)-(142,23))
- │ │ │ │ │ │ └── flags: decimal
- │ │ │ │ │ └── @ SplatNode (location: (142,25)-(142,26))
- │ │ │ │ │ ├── operator_loc: (142,25)-(142,26) = "*"
- │ │ │ │ │ └── expression: ∅
- │ │ │ │ └── flags: ∅
+ │ │ │ │ ├── flags: ∅
+ │ │ │ │ └── arguments: (length: 2)
+ │ │ │ │ ├── @ IntegerNode (location: (142,22)-(142,23))
+ │ │ │ │ │ └── flags: decimal
+ │ │ │ │ └── @ SplatNode (location: (142,25)-(142,26))
+ │ │ │ │ ├── operator_loc: (142,25)-(142,26) = "*"
+ │ │ │ │ └── expression: ∅
│ │ │ ├── closing_loc: (142,26)-(142,27) = "]"
- │ │ │ ├── block: ∅
- │ │ │ └── flags: ∅
+ │ │ │ └── block: ∅
│ │ ├── statements: ∅
│ │ └── consequent: ∅
│ ├── else_clause: ∅
diff --git a/test/prism/snapshots/begin_ensure.txt b/test/prism/snapshots/begin_ensure.txt
index 45115c7567..d2e764e007 100644
--- a/test/prism/snapshots/begin_ensure.txt
+++ b/test/prism/snapshots/begin_ensure.txt
@@ -9,6 +9,7 @@
│ │ @ StatementsNode (location: (2,0)-(2,1))
│ │ └── body: (length: 1)
│ │ └── @ CallNode (location: (2,0)-(2,1))
+ │ │ ├── flags: variable_call
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
│ │ ├── name: :a
@@ -16,8 +17,7 @@
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
- │ │ ├── block: ∅
- │ │ └── flags: variable_call
+ │ │ └── block: ∅
│ ├── rescue_clause: ∅
│ ├── else_clause: ∅
│ ├── ensure_clause:
@@ -27,6 +27,7 @@
│ │ │ @ StatementsNode (location: (4,0)-(4,1))
│ │ │ └── body: (length: 1)
│ │ │ └── @ CallNode (location: (4,0)-(4,1))
+ │ │ │ ├── flags: variable_call
│ │ │ ├── receiver: ∅
│ │ │ ├── call_operator_loc: ∅
│ │ │ ├── name: :b
@@ -34,8 +35,7 @@
│ │ │ ├── opening_loc: ∅
│ │ │ ├── arguments: ∅
│ │ │ ├── closing_loc: ∅
- │ │ │ ├── block: ∅
- │ │ │ └── flags: variable_call
+ │ │ │ └── block: ∅
│ │ └── end_keyword_loc: (5,0)-(5,3) = "end"
│ └── end_keyword_loc: (5,0)-(5,3) = "end"
├── @ BeginNode (location: (7,0)-(7,24))
@@ -44,6 +44,7 @@
│ │ @ StatementsNode (location: (7,7)-(7,8))
│ │ └── body: (length: 1)
│ │ └── @ CallNode (location: (7,7)-(7,8))
+ │ │ ├── flags: variable_call
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
│ │ ├── name: :a
@@ -51,8 +52,7 @@
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
- │ │ ├── block: ∅
- │ │ └── flags: variable_call
+ │ │ └── block: ∅
│ ├── rescue_clause: ∅
│ ├── else_clause: ∅
│ ├── ensure_clause:
@@ -62,6 +62,7 @@
│ │ │ @ StatementsNode (location: (7,18)-(7,19))
│ │ │ └── body: (length: 1)
│ │ │ └── @ CallNode (location: (7,18)-(7,19))
+ │ │ │ ├── flags: variable_call
│ │ │ ├── receiver: ∅
│ │ │ ├── call_operator_loc: ∅
│ │ │ ├── name: :b
@@ -69,8 +70,7 @@
│ │ │ ├── opening_loc: ∅
│ │ │ ├── arguments: ∅
│ │ │ ├── closing_loc: ∅
- │ │ │ ├── block: ∅
- │ │ │ └── flags: variable_call
+ │ │ │ └── block: ∅
│ │ └── end_keyword_loc: (7,21)-(7,24) = "end"
│ └── end_keyword_loc: (7,21)-(7,24) = "end"
├── @ BeginNode (location: (9,0)-(11,4))
@@ -79,6 +79,7 @@
│ │ @ StatementsNode (location: (9,6)-(9,7))
│ │ └── body: (length: 1)
│ │ └── @ CallNode (location: (9,6)-(9,7))
+ │ │ ├── flags: variable_call
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
│ │ ├── name: :a
@@ -86,8 +87,7 @@
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
- │ │ ├── block: ∅
- │ │ └── flags: variable_call
+ │ │ └── block: ∅
│ ├── rescue_clause: ∅
│ ├── else_clause: ∅
│ ├── ensure_clause:
@@ -97,6 +97,7 @@
│ │ │ @ StatementsNode (location: (10,8)-(10,9))
│ │ │ └── body: (length: 1)
│ │ │ └── @ CallNode (location: (10,8)-(10,9))
+ │ │ │ ├── flags: variable_call
│ │ │ ├── receiver: ∅
│ │ │ ├── call_operator_loc: ∅
│ │ │ ├── name: :b
@@ -104,8 +105,7 @@
│ │ │ ├── opening_loc: ∅
│ │ │ ├── arguments: ∅
│ │ │ ├── closing_loc: ∅
- │ │ │ ├── block: ∅
- │ │ │ └── flags: variable_call
+ │ │ │ └── block: ∅
│ │ └── end_keyword_loc: (11,1)-(11,4) = "end"
│ └── end_keyword_loc: (11,1)-(11,4) = "end"
├── @ BeginNode (location: (13,0)-(13,22))
@@ -114,6 +114,7 @@
│ │ @ StatementsNode (location: (13,6)-(13,7))
│ │ └── body: (length: 1)
│ │ └── @ CallNode (location: (13,6)-(13,7))
+ │ │ ├── flags: variable_call
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
│ │ ├── name: :a
@@ -121,8 +122,7 @@
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
- │ │ ├── block: ∅
- │ │ └── flags: variable_call
+ │ │ └── block: ∅
│ ├── rescue_clause: ∅
│ ├── else_clause: ∅
│ ├── ensure_clause:
@@ -132,6 +132,7 @@
│ │ │ @ StatementsNode (location: (13,16)-(13,17))
│ │ │ └── body: (length: 1)
│ │ │ └── @ CallNode (location: (13,16)-(13,17))
+ │ │ │ ├── flags: variable_call
│ │ │ ├── receiver: ∅
│ │ │ ├── call_operator_loc: ∅
│ │ │ ├── name: :b
@@ -139,8 +140,7 @@
│ │ │ ├── opening_loc: ∅
│ │ │ ├── arguments: ∅
│ │ │ ├── closing_loc: ∅
- │ │ │ ├── block: ∅
- │ │ │ └── flags: variable_call
+ │ │ │ └── block: ∅
│ │ └── end_keyword_loc: (13,19)-(13,22) = "end"
│ └── end_keyword_loc: (13,19)-(13,22) = "end"
└── @ BeginNode (location: (15,0)-(21,15))
@@ -154,6 +154,7 @@
│ │ @ StatementsNode (location: (15,11)-(21,7))
│ │ └── body: (length: 1)
│ │ └── @ CallNode (location: (15,11)-(21,7))
+ │ │ ├── flags: ∅
│ │ ├── receiver:
│ │ │ @ SymbolNode (location: (15,11)-(15,13))
│ │ │ ├── opening_loc: (15,11)-(15,12) = ":"
@@ -166,82 +167,81 @@
│ │ ├── opening_loc: ∅
│ │ ├── arguments:
│ │ │ @ ArgumentsNode (location: (15,16)-(21,7))
- │ │ │ ├── arguments: (length: 1)
- │ │ │ │ └── @ BeginNode (location: (15,16)-(21,7))
- │ │ │ │ ├── begin_keyword_loc: (15,16)-(15,21) = "begin"
- │ │ │ │ ├── statements: ∅
- │ │ │ │ ├── rescue_clause: ∅
- │ │ │ │ ├── else_clause: ∅
- │ │ │ │ ├── ensure_clause:
- │ │ │ │ │ @ EnsureNode (location: (15,22)-(21,7))
- │ │ │ │ │ ├── ensure_keyword_loc: (15,22)-(15,28) = "ensure"
- │ │ │ │ │ ├── statements:
- │ │ │ │ │ │ @ StatementsNode (location: (15,29)-(21,3))
- │ │ │ │ │ │ └── body: (length: 1)
- │ │ │ │ │ │ └── @ CallNode (location: (15,29)-(21,3))
- │ │ │ │ │ │ ├── receiver:
- │ │ │ │ │ │ │ @ ConstantReadNode (location: (15,29)-(15,35))
- │ │ │ │ │ │ │ └── name: :Module
- │ │ │ │ │ │ ├── call_operator_loc: (15,35)-(15,36) = "."
- │ │ │ │ │ │ ├── name: :new
- │ │ │ │ │ │ ├── message_loc: (15,36)-(15,39) = "new"
- │ │ │ │ │ │ ├── opening_loc: ∅
- │ │ │ │ │ │ ├── arguments: ∅
- │ │ │ │ │ │ ├── closing_loc: ∅
- │ │ │ │ │ │ ├── block:
- │ │ │ │ │ │ │ @ BlockNode (location: (15,40)-(21,3))
- │ │ │ │ │ │ │ ├── locals: []
- │ │ │ │ │ │ │ ├── locals_body_index: 0
- │ │ │ │ │ │ │ ├── parameters: ∅
- │ │ │ │ │ │ │ ├── body:
- │ │ │ │ │ │ │ │ @ StatementsNode (location: (16,2)-(20,5))
- │ │ │ │ │ │ │ │ └── body: (length: 1)
- │ │ │ │ │ │ │ │ └── @ BeginNode (location: (16,2)-(20,5))
- │ │ │ │ │ │ │ │ ├── begin_keyword_loc: (16,2)-(16,7) = "begin"
- │ │ │ │ │ │ │ │ ├── statements:
- │ │ │ │ │ │ │ │ │ @ StatementsNode (location: (17,4)-(17,9))
- │ │ │ │ │ │ │ │ │ └── body: (length: 1)
- │ │ │ │ │ │ │ │ │ └── @ BreakNode (location: (17,4)-(17,9))
- │ │ │ │ │ │ │ │ │ ├── arguments: ∅
- │ │ │ │ │ │ │ │ │ └── keyword_loc: (17,4)-(17,9) = "break"
- │ │ │ │ │ │ │ │ ├── rescue_clause: ∅
- │ │ │ │ │ │ │ │ ├── else_clause: ∅
- │ │ │ │ │ │ │ │ ├── ensure_clause:
- │ │ │ │ │ │ │ │ │ @ EnsureNode (location: (18,4)-(20,5))
- │ │ │ │ │ │ │ │ │ ├── ensure_keyword_loc: (18,4)-(18,10) = "ensure"
- │ │ │ │ │ │ │ │ │ ├── statements:
- │ │ │ │ │ │ │ │ │ │ @ StatementsNode (location: (18,11)-(19,7))
- │ │ │ │ │ │ │ │ │ │ └── body: (length: 1)
- │ │ │ │ │ │ │ │ │ │ └── @ CallNode (location: (18,11)-(19,7))
- │ │ │ │ │ │ │ │ │ │ ├── receiver:
- │ │ │ │ │ │ │ │ │ │ │ @ ConstantReadNode (location: (18,11)-(18,17))
- │ │ │ │ │ │ │ │ │ │ │ └── name: :Module
- │ │ │ │ │ │ │ │ │ │ ├── call_operator_loc: (18,17)-(18,18) = "."
- │ │ │ │ │ │ │ │ │ │ ├── name: :new
- │ │ │ │ │ │ │ │ │ │ ├── message_loc: (18,18)-(18,21) = "new"
- │ │ │ │ │ │ │ │ │ │ ├── opening_loc: ∅
- │ │ │ │ │ │ │ │ │ │ ├── arguments: ∅
- │ │ │ │ │ │ │ │ │ │ ├── closing_loc: ∅
- │ │ │ │ │ │ │ │ │ │ ├── block:
- │ │ │ │ │ │ │ │ │ │ │ @ BlockNode (location: (18,22)-(19,7))
- │ │ │ │ │ │ │ │ │ │ │ ├── locals: []
- │ │ │ │ │ │ │ │ │ │ │ ├── locals_body_index: 0
- │ │ │ │ │ │ │ │ │ │ │ ├── parameters: ∅
- │ │ │ │ │ │ │ │ │ │ │ ├── body: ∅
- │ │ │ │ │ │ │ │ │ │ │ ├── opening_loc: (18,22)-(18,24) = "do"
- │ │ │ │ │ │ │ │ │ │ │ └── closing_loc: (19,4)-(19,7) = "end"
- │ │ │ │ │ │ │ │ │ │ └── flags: ∅
- │ │ │ │ │ │ │ │ │ └── end_keyword_loc: (20,2)-(20,5) = "end"
- │ │ │ │ │ │ │ │ └── end_keyword_loc: (20,2)-(20,5) = "end"
- │ │ │ │ │ │ │ ├── opening_loc: (15,40)-(15,42) = "do"
- │ │ │ │ │ │ │ └── closing_loc: (21,0)-(21,3) = "end"
- │ │ │ │ │ │ └── flags: ∅
- │ │ │ │ │ └── end_keyword_loc: (21,4)-(21,7) = "end"
- │ │ │ │ └── end_keyword_loc: (21,4)-(21,7) = "end"
- │ │ │ └── flags: ∅
+ │ │ │ ├── flags: ∅
+ │ │ │ └── arguments: (length: 1)
+ │ │ │ └── @ BeginNode (location: (15,16)-(21,7))
+ │ │ │ ├── begin_keyword_loc: (15,16)-(15,21) = "begin"
+ │ │ │ ├── statements: ∅
+ │ │ │ ├── rescue_clause: ∅
+ │ │ │ ├── else_clause: ∅
+ │ │ │ ├── ensure_clause:
+ │ │ │ │ @ EnsureNode (location: (15,22)-(21,7))
+ │ │ │ │ ├── ensure_keyword_loc: (15,22)-(15,28) = "ensure"
+ │ │ │ │ ├── statements:
+ │ │ │ │ │ @ StatementsNode (location: (15,29)-(21,3))
+ │ │ │ │ │ └── body: (length: 1)
+ │ │ │ │ │ └── @ CallNode (location: (15,29)-(21,3))
+ │ │ │ │ │ ├── flags: ∅
+ │ │ │ │ │ ├── receiver:
+ │ │ │ │ │ │ @ ConstantReadNode (location: (15,29)-(15,35))
+ │ │ │ │ │ │ └── name: :Module
+ │ │ │ │ │ ├── call_operator_loc: (15,35)-(15,36) = "."
+ │ │ │ │ │ ├── name: :new
+ │ │ │ │ │ ├── message_loc: (15,36)-(15,39) = "new"
+ │ │ │ │ │ ├── opening_loc: ∅
+ │ │ │ │ │ ├── arguments: ∅
+ │ │ │ │ │ ├── closing_loc: ∅
+ │ │ │ │ │ └── block:
+ │ │ │ │ │ @ BlockNode (location: (15,40)-(21,3))
+ │ │ │ │ │ ├── locals: []
+ │ │ │ │ │ ├── locals_body_index: 0
+ │ │ │ │ │ ├── parameters: ∅
+ │ │ │ │ │ ├── body:
+ │ │ │ │ │ │ @ StatementsNode (location: (16,2)-(20,5))
+ │ │ │ │ │ │ └── body: (length: 1)
+ │ │ │ │ │ │ └── @ BeginNode (location: (16,2)-(20,5))
+ │ │ │ │ │ │ ├── begin_keyword_loc: (16,2)-(16,7) = "begin"
+ │ │ │ │ │ │ ├── statements:
+ │ │ │ │ │ │ │ @ StatementsNode (location: (17,4)-(17,9))
+ │ │ │ │ │ │ │ └── body: (length: 1)
+ │ │ │ │ │ │ │ └── @ BreakNode (location: (17,4)-(17,9))
+ │ │ │ │ │ │ │ ├── arguments: ∅
+ │ │ │ │ │ │ │ └── keyword_loc: (17,4)-(17,9) = "break"
+ │ │ │ │ │ │ ├── rescue_clause: ∅
+ │ │ │ │ │ │ ├── else_clause: ∅
+ │ │ │ │ │ │ ├── ensure_clause:
+ │ │ │ │ │ │ │ @ EnsureNode (location: (18,4)-(20,5))
+ │ │ │ │ │ │ │ ├── ensure_keyword_loc: (18,4)-(18,10) = "ensure"
+ │ │ │ │ │ │ │ ├── statements:
+ │ │ │ │ │ │ │ │ @ StatementsNode (location: (18,11)-(19,7))
+ │ │ │ │ │ │ │ │ └── body: (length: 1)
+ │ │ │ │ │ │ │ │ └── @ CallNode (location: (18,11)-(19,7))
+ │ │ │ │ │ │ │ │ ├── flags: ∅
+ │ │ │ │ │ │ │ │ ├── receiver:
+ │ │ │ │ │ │ │ │ │ @ ConstantReadNode (location: (18,11)-(18,17))
+ │ │ │ │ │ │ │ │ │ └── name: :Module
+ │ │ │ │ │ │ │ │ ├── call_operator_loc: (18,17)-(18,18) = "."
+ │ │ │ │ │ │ │ │ ├── name: :new
+ │ │ │ │ │ │ │ │ ├── message_loc: (18,18)-(18,21) = "new"
+ │ │ │ │ │ │ │ │ ├── opening_loc: ∅
+ │ │ │ │ │ │ │ │ ├── arguments: ∅
+ │ │ │ │ │ │ │ │ ├── closing_loc: ∅
+ │ │ │ │ │ │ │ │ └── block:
+ │ │ │ │ │ │ │ │ @ BlockNode (location: (18,22)-(19,7))
+ │ │ │ │ │ │ │ │ ├── locals: []
+ │ │ │ │ │ │ │ │ ├── locals_body_index: 0
+ │ │ │ │ │ │ │ │ ├── parameters: ∅
+ │ │ │ │ │ │ │ │ ├── body: ∅
+ │ │ │ │ │ │ │ │ ├── opening_loc: (18,22)-(18,24) = "do"
+ │ │ │ │ │ │ │ │ └── closing_loc: (19,4)-(19,7) = "end"
+ │ │ │ │ │ │ │ └── end_keyword_loc: (20,2)-(20,5) = "end"
+ │ │ │ │ │ │ └── end_keyword_loc: (20,2)-(20,5) = "end"
+ │ │ │ │ │ ├── opening_loc: (15,40)-(15,42) = "do"
+ │ │ │ │ │ └── closing_loc: (21,0)-(21,3) = "end"
+ │ │ │ │ └── end_keyword_loc: (21,4)-(21,7) = "end"
+ │ │ │ └── end_keyword_loc: (21,4)-(21,7) = "end"
│ │ ├── closing_loc: ∅
- │ │ ├── block: ∅
- │ │ └── flags: ∅
+ │ │ └── block: ∅
│ ├── rescue_clause: ∅
│ ├── else_clause: ∅
│ ├── ensure_clause: ∅
diff --git a/test/prism/snapshots/begin_rescue.txt b/test/prism/snapshots/begin_rescue.txt
index d2338e7da9..f9cbe096a2 100644
--- a/test/prism/snapshots/begin_rescue.txt
+++ b/test/prism/snapshots/begin_rescue.txt
@@ -9,6 +9,7 @@
│ │ @ StatementsNode (location: (1,7)-(1,8))
│ │ └── body: (length: 1)
│ │ └── @ CallNode (location: (1,7)-(1,8))
+ │ │ ├── flags: variable_call
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
│ │ ├── name: :a
@@ -16,8 +17,7 @@
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
- │ │ ├── block: ∅
- │ │ └── flags: variable_call
+ │ │ └── block: ∅
│ ├── rescue_clause:
│ │ @ RescueNode (location: (1,10)-(1,19))
│ │ ├── keyword_loc: (1,10)-(1,16) = "rescue"
@@ -28,6 +28,7 @@
│ │ │ @ StatementsNode (location: (1,18)-(1,19))
│ │ │ └── body: (length: 1)
│ │ │ └── @ CallNode (location: (1,18)-(1,19))
+ │ │ │ ├── flags: variable_call
│ │ │ ├── receiver: ∅
│ │ │ ├── call_operator_loc: ∅
│ │ │ ├── name: :b
@@ -35,8 +36,7 @@
│ │ │ ├── opening_loc: ∅
│ │ │ ├── arguments: ∅
│ │ │ ├── closing_loc: ∅
- │ │ │ ├── block: ∅
- │ │ │ └── flags: variable_call
+ │ │ │ └── block: ∅
│ │ └── consequent: ∅
│ ├── else_clause:
│ │ @ ElseNode (location: (1,21)-(1,33))
@@ -45,6 +45,7 @@
│ │ │ @ StatementsNode (location: (1,27)-(1,28))
│ │ │ └── body: (length: 1)
│ │ │ └── @ CallNode (location: (1,27)-(1,28))
+ │ │ │ ├── flags: variable_call
│ │ │ ├── receiver: ∅
│ │ │ ├── call_operator_loc: ∅
│ │ │ ├── name: :c
@@ -52,8 +53,7 @@
│ │ │ ├── opening_loc: ∅
│ │ │ ├── arguments: ∅
│ │ │ ├── closing_loc: ∅
- │ │ │ ├── block: ∅
- │ │ │ └── flags: variable_call
+ │ │ │ └── block: ∅
│ │ └── end_keyword_loc: (1,30)-(1,33) = "end"
│ ├── ensure_clause: ∅
│ └── end_keyword_loc: (1,30)-(1,33) = "end"
@@ -63,6 +63,7 @@
│ │ @ StatementsNode (location: (3,7)-(3,8))
│ │ └── body: (length: 1)
│ │ └── @ CallNode (location: (3,7)-(3,8))
+ │ │ ├── flags: variable_call
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
│ │ ├── name: :a
@@ -70,8 +71,7 @@
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
- │ │ ├── block: ∅
- │ │ └── flags: variable_call
+ │ │ └── block: ∅
│ ├── rescue_clause:
│ │ @ RescueNode (location: (3,10)-(3,19))
│ │ ├── keyword_loc: (3,10)-(3,16) = "rescue"
@@ -82,6 +82,7 @@
│ │ │ @ StatementsNode (location: (3,18)-(3,19))
│ │ │ └── body: (length: 1)
│ │ │ └── @ CallNode (location: (3,18)-(3,19))
+ │ │ │ ├── flags: variable_call
│ │ │ ├── receiver: ∅
│ │ │ ├── call_operator_loc: ∅
│ │ │ ├── name: :b
@@ -89,8 +90,7 @@
│ │ │ ├── opening_loc: ∅
│ │ │ ├── arguments: ∅
│ │ │ ├── closing_loc: ∅
- │ │ │ ├── block: ∅
- │ │ │ └── flags: variable_call
+ │ │ │ └── block: ∅
│ │ └── consequent: ∅
│ ├── else_clause:
│ │ @ ElseNode (location: (3,21)-(3,36))
@@ -99,6 +99,7 @@
│ │ │ @ StatementsNode (location: (3,27)-(3,28))
│ │ │ └── body: (length: 1)
│ │ │ └── @ CallNode (location: (3,27)-(3,28))
+ │ │ │ ├── flags: variable_call
│ │ │ ├── receiver: ∅
│ │ │ ├── call_operator_loc: ∅
│ │ │ ├── name: :c
@@ -106,8 +107,7 @@
│ │ │ ├── opening_loc: ∅
│ │ │ ├── arguments: ∅
│ │ │ ├── closing_loc: ∅
- │ │ │ ├── block: ∅
- │ │ │ └── flags: variable_call
+ │ │ │ └── block: ∅
│ │ └── end_keyword_loc: (3,30)-(3,36) = "ensure"
│ ├── ensure_clause:
│ │ @ EnsureNode (location: (3,30)-(3,44))
@@ -116,6 +116,7 @@
│ │ │ @ StatementsNode (location: (3,38)-(3,39))
│ │ │ └── body: (length: 1)
│ │ │ └── @ CallNode (location: (3,38)-(3,39))
+ │ │ │ ├── flags: variable_call
│ │ │ ├── receiver: ∅
│ │ │ ├── call_operator_loc: ∅
│ │ │ ├── name: :d
@@ -123,8 +124,7 @@
│ │ │ ├── opening_loc: ∅
│ │ │ ├── arguments: ∅
│ │ │ ├── closing_loc: ∅
- │ │ │ ├── block: ∅
- │ │ │ └── flags: variable_call
+ │ │ │ └── block: ∅
│ │ └── end_keyword_loc: (3,41)-(3,44) = "end"
│ └── end_keyword_loc: (3,41)-(3,44) = "end"
├── @ BeginNode (location: (5,0)-(7,3))
@@ -133,6 +133,7 @@
│ │ @ StatementsNode (location: (6,0)-(6,1))
│ │ └── body: (length: 1)
│ │ └── @ CallNode (location: (6,0)-(6,1))
+ │ │ ├── flags: variable_call
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
│ │ ├── name: :a
@@ -140,8 +141,7 @@
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
- │ │ ├── block: ∅
- │ │ └── flags: variable_call
+ │ │ └── block: ∅
│ ├── rescue_clause: ∅
│ ├── else_clause: ∅
│ ├── ensure_clause: ∅
@@ -152,6 +152,7 @@
│ │ @ StatementsNode (location: (9,7)-(9,8))
│ │ └── body: (length: 1)
│ │ └── @ CallNode (location: (9,7)-(9,8))
+ │ │ ├── flags: variable_call
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
│ │ ├── name: :a
@@ -159,8 +160,7 @@
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
- │ │ ├── block: ∅
- │ │ └── flags: variable_call
+ │ │ └── block: ∅
│ ├── rescue_clause: ∅
│ ├── else_clause: ∅
│ ├── ensure_clause: ∅
@@ -171,6 +171,7 @@
│ │ @ StatementsNode (location: (11,6)-(11,7))
│ │ └── body: (length: 1)
│ │ └── @ CallNode (location: (11,6)-(11,7))
+ │ │ ├── flags: variable_call
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
│ │ ├── name: :a
@@ -178,8 +179,7 @@
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
- │ │ ├── block: ∅
- │ │ └── flags: variable_call
+ │ │ └── block: ∅
│ ├── rescue_clause: ∅
│ ├── else_clause: ∅
│ ├── ensure_clause: ∅
@@ -190,6 +190,7 @@
│ │ @ StatementsNode (location: (14,6)-(14,7))
│ │ └── body: (length: 1)
│ │ └── @ CallNode (location: (14,6)-(14,7))
+ │ │ ├── flags: variable_call
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
│ │ ├── name: :a
@@ -197,8 +198,7 @@
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
- │ │ ├── block: ∅
- │ │ └── flags: variable_call
+ │ │ └── block: ∅
│ ├── rescue_clause: ∅
│ ├── else_clause: ∅
│ ├── ensure_clause: ∅
@@ -209,6 +209,7 @@
│ │ @ StatementsNode (location: (17,0)-(17,1))
│ │ └── body: (length: 1)
│ │ └── @ CallNode (location: (17,0)-(17,1))
+ │ │ ├── flags: variable_call
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
│ │ ├── name: :a
@@ -216,8 +217,7 @@
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
- │ │ ├── block: ∅
- │ │ └── flags: variable_call
+ │ │ └── block: ∅
│ ├── rescue_clause:
│ │ @ RescueNode (location: (18,0)-(23,1))
│ │ ├── keyword_loc: (18,0)-(18,6) = "rescue"
@@ -228,6 +228,7 @@
│ │ │ @ StatementsNode (location: (19,0)-(19,1))
│ │ │ └── body: (length: 1)
│ │ │ └── @ CallNode (location: (19,0)-(19,1))
+ │ │ │ ├── flags: variable_call
│ │ │ ├── receiver: ∅
│ │ │ ├── call_operator_loc: ∅
│ │ │ ├── name: :b
@@ -235,8 +236,7 @@
│ │ │ ├── opening_loc: ∅
│ │ │ ├── arguments: ∅
│ │ │ ├── closing_loc: ∅
- │ │ │ ├── block: ∅
- │ │ │ └── flags: variable_call
+ │ │ │ └── block: ∅
│ │ └── consequent:
│ │ @ RescueNode (location: (20,0)-(23,1))
│ │ ├── keyword_loc: (20,0)-(20,6) = "rescue"
@@ -247,6 +247,7 @@
│ │ │ @ StatementsNode (location: (21,0)-(21,1))
│ │ │ └── body: (length: 1)
│ │ │ └── @ CallNode (location: (21,0)-(21,1))
+ │ │ │ ├── flags: variable_call
│ │ │ ├── receiver: ∅
│ │ │ ├── call_operator_loc: ∅
│ │ │ ├── name: :c
@@ -254,8 +255,7 @@
│ │ │ ├── opening_loc: ∅
│ │ │ ├── arguments: ∅
│ │ │ ├── closing_loc: ∅
- │ │ │ ├── block: ∅
- │ │ │ └── flags: variable_call
+ │ │ │ └── block: ∅
│ │ └── consequent:
│ │ @ RescueNode (location: (22,0)-(23,1))
│ │ ├── keyword_loc: (22,0)-(22,6) = "rescue"
@@ -266,6 +266,7 @@
│ │ │ @ StatementsNode (location: (23,0)-(23,1))
│ │ │ └── body: (length: 1)
│ │ │ └── @ CallNode (location: (23,0)-(23,1))
+ │ │ │ ├── flags: variable_call
│ │ │ ├── receiver: ∅
│ │ │ ├── call_operator_loc: ∅
│ │ │ ├── name: :d
@@ -273,8 +274,7 @@
│ │ │ ├── opening_loc: ∅
│ │ │ ├── arguments: ∅
│ │ │ ├── closing_loc: ∅
- │ │ │ ├── block: ∅
- │ │ │ └── flags: variable_call
+ │ │ │ └── block: ∅
│ │ └── consequent: ∅
│ ├── else_clause: ∅
│ ├── ensure_clause: ∅
@@ -285,6 +285,7 @@
│ │ @ StatementsNode (location: (27,2)-(27,3))
│ │ └── body: (length: 1)
│ │ └── @ CallNode (location: (27,2)-(27,3))
+ │ │ ├── flags: variable_call
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
│ │ ├── name: :a
@@ -292,8 +293,7 @@
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
- │ │ ├── block: ∅
- │ │ └── flags: variable_call
+ │ │ └── block: ∅
│ ├── rescue_clause:
│ │ @ RescueNode (location: (28,0)-(31,3))
│ │ ├── keyword_loc: (28,0)-(28,6) = "rescue"
@@ -309,6 +309,7 @@
│ │ │ @ StatementsNode (location: (29,2)-(29,3))
│ │ │ └── body: (length: 1)
│ │ │ └── @ CallNode (location: (29,2)-(29,3))
+ │ │ │ ├── flags: variable_call
│ │ │ ├── receiver: ∅
│ │ │ ├── call_operator_loc: ∅
│ │ │ ├── name: :b
@@ -316,8 +317,7 @@
│ │ │ ├── opening_loc: ∅
│ │ │ ├── arguments: ∅
│ │ │ ├── closing_loc: ∅
- │ │ │ ├── block: ∅
- │ │ │ └── flags: variable_call
+ │ │ │ └── block: ∅
│ │ └── consequent:
│ │ @ RescueNode (location: (30,0)-(31,3))
│ │ ├── keyword_loc: (30,0)-(30,6) = "rescue"
@@ -335,6 +335,7 @@
│ │ │ @ StatementsNode (location: (31,2)-(31,3))
│ │ │ └── body: (length: 1)
│ │ │ └── @ CallNode (location: (31,2)-(31,3))
+ │ │ │ ├── flags: variable_call
│ │ │ ├── receiver: ∅
│ │ │ ├── call_operator_loc: ∅
│ │ │ ├── name: :c
@@ -342,8 +343,7 @@
│ │ │ ├── opening_loc: ∅
│ │ │ ├── arguments: ∅
│ │ │ ├── closing_loc: ∅
- │ │ │ ├── block: ∅
- │ │ │ └── flags: variable_call
+ │ │ │ └── block: ∅
│ │ └── consequent: ∅
│ ├── else_clause: ∅
│ ├── ensure_clause: ∅
@@ -354,6 +354,7 @@
│ │ @ StatementsNode (location: (35,2)-(35,3))
│ │ └── body: (length: 1)
│ │ └── @ CallNode (location: (35,2)-(35,3))
+ │ │ ├── flags: variable_call
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
│ │ ├── name: :a
@@ -361,8 +362,7 @@
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
- │ │ ├── block: ∅
- │ │ └── flags: variable_call
+ │ │ └── block: ∅
│ ├── rescue_clause:
│ │ @ RescueNode (location: (36,0)-(37,3))
│ │ ├── keyword_loc: (36,0)-(36,6) = "rescue"
@@ -378,6 +378,7 @@
│ │ │ @ StatementsNode (location: (37,2)-(37,3))
│ │ │ └── body: (length: 1)
│ │ │ └── @ CallNode (location: (37,2)-(37,3))
+ │ │ │ ├── flags: variable_call
│ │ │ ├── receiver: ∅
│ │ │ ├── call_operator_loc: ∅
│ │ │ ├── name: :b
@@ -385,8 +386,7 @@
│ │ │ ├── opening_loc: ∅
│ │ │ ├── arguments: ∅
│ │ │ ├── closing_loc: ∅
- │ │ │ ├── block: ∅
- │ │ │ └── flags: variable_call
+ │ │ │ └── block: ∅
│ │ └── consequent: ∅
│ ├── else_clause: ∅
│ ├── ensure_clause:
@@ -396,6 +396,7 @@
│ │ │ @ StatementsNode (location: (39,2)-(39,3))
│ │ │ └── body: (length: 1)
│ │ │ └── @ CallNode (location: (39,2)-(39,3))
+ │ │ │ ├── flags: variable_call
│ │ │ ├── receiver: ∅
│ │ │ ├── call_operator_loc: ∅
│ │ │ ├── name: :b
@@ -403,8 +404,7 @@
│ │ │ ├── opening_loc: ∅
│ │ │ ├── arguments: ∅
│ │ │ ├── closing_loc: ∅
- │ │ │ ├── block: ∅
- │ │ │ └── flags: variable_call
+ │ │ │ └── block: ∅
│ │ └── end_keyword_loc: (40,0)-(40,3) = "end"
│ └── end_keyword_loc: (40,0)-(40,3) = "end"
├── @ StringNode (location: (42,0)-(42,6))
@@ -419,6 +419,7 @@
│ │ @ StatementsNode (location: (45,0)-(45,1))
│ │ └── body: (length: 1)
│ │ └── @ CallNode (location: (45,0)-(45,1))
+ │ │ ├── flags: variable_call
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
│ │ ├── name: :a
@@ -426,8 +427,7 @@
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
- │ │ ├── block: ∅
- │ │ └── flags: variable_call
+ │ │ └── block: ∅
│ ├── rescue_clause:
│ │ @ RescueNode (location: (46,0)-(47,1))
│ │ ├── keyword_loc: (46,0)-(46,6) = "rescue"
@@ -438,6 +438,7 @@
│ │ │ @ StatementsNode (location: (47,0)-(47,1))
│ │ │ └── body: (length: 1)
│ │ │ └── @ CallNode (location: (47,0)-(47,1))
+ │ │ │ ├── flags: variable_call
│ │ │ ├── receiver: ∅
│ │ │ ├── call_operator_loc: ∅
│ │ │ ├── name: :b
@@ -445,8 +446,7 @@
│ │ │ ├── opening_loc: ∅
│ │ │ ├── arguments: ∅
│ │ │ ├── closing_loc: ∅
- │ │ │ ├── block: ∅
- │ │ │ └── flags: variable_call
+ │ │ │ └── block: ∅
│ │ └── consequent: ∅
│ ├── else_clause: ∅
│ ├── ensure_clause: ∅
@@ -457,6 +457,7 @@
│ │ @ StatementsNode (location: (50,6)-(50,7))
│ │ └── body: (length: 1)
│ │ └── @ CallNode (location: (50,6)-(50,7))
+ │ │ ├── flags: variable_call
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
│ │ ├── name: :a
@@ -464,8 +465,7 @@
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
- │ │ ├── block: ∅
- │ │ └── flags: variable_call
+ │ │ └── block: ∅
│ ├── rescue_clause:
│ │ @ RescueNode (location: (50,8)-(50,16))
│ │ ├── keyword_loc: (50,8)-(50,14) = "rescue"
@@ -476,6 +476,7 @@
│ │ │ @ StatementsNode (location: (50,15)-(50,16))
│ │ │ └── body: (length: 1)
│ │ │ └── @ CallNode (location: (50,15)-(50,16))
+ │ │ │ ├── flags: variable_call
│ │ │ ├── receiver: ∅
│ │ │ ├── call_operator_loc: ∅
│ │ │ ├── name: :b
@@ -483,8 +484,7 @@
│ │ │ ├── opening_loc: ∅
│ │ │ ├── arguments: ∅
│ │ │ ├── closing_loc: ∅
- │ │ │ ├── block: ∅
- │ │ │ └── flags: variable_call
+ │ │ │ └── block: ∅
│ │ └── consequent: ∅
│ ├── else_clause: ∅
│ ├── ensure_clause: ∅
@@ -495,6 +495,7 @@
│ │ @ StatementsNode (location: (53,0)-(53,1))
│ │ └── body: (length: 1)
│ │ └── @ CallNode (location: (53,0)-(53,1))
+ │ │ ├── flags: variable_call
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
│ │ ├── name: :a
@@ -502,8 +503,7 @@
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
- │ │ ├── block: ∅
- │ │ └── flags: variable_call
+ │ │ └── block: ∅
│ ├── rescue_clause:
│ │ @ RescueNode (location: (53,2)-(54,1))
│ │ ├── keyword_loc: (53,2)-(53,8) = "rescue"
@@ -514,6 +514,7 @@
│ │ │ @ StatementsNode (location: (54,0)-(54,1))
│ │ │ └── body: (length: 1)
│ │ │ └── @ CallNode (location: (54,0)-(54,1))
+ │ │ │ ├── flags: variable_call
│ │ │ ├── receiver: ∅
│ │ │ ├── call_operator_loc: ∅
│ │ │ ├── name: :b
@@ -521,8 +522,7 @@
│ │ │ ├── opening_loc: ∅
│ │ │ ├── arguments: ∅
│ │ │ ├── closing_loc: ∅
- │ │ │ ├── block: ∅
- │ │ │ └── flags: variable_call
+ │ │ │ └── block: ∅
│ │ └── consequent: ∅
│ ├── else_clause: ∅
│ ├── ensure_clause: ∅
@@ -533,6 +533,7 @@
│ │ @ StatementsNode (location: (57,0)-(57,1))
│ │ └── body: (length: 1)
│ │ └── @ CallNode (location: (57,0)-(57,1))
+ │ │ ├── flags: variable_call
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
│ │ ├── name: :a
@@ -540,8 +541,7 @@
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
- │ │ ├── block: ∅
- │ │ └── flags: variable_call
+ │ │ └── block: ∅
│ ├── rescue_clause:
│ │ @ RescueNode (location: (58,0)-(59,1))
│ │ ├── keyword_loc: (58,0)-(58,6) = "rescue"
@@ -554,6 +554,7 @@
│ │ │ @ StatementsNode (location: (59,0)-(59,1))
│ │ │ └── body: (length: 1)
│ │ │ └── @ CallNode (location: (59,0)-(59,1))
+ │ │ │ ├── flags: variable_call
│ │ │ ├── receiver: ∅
│ │ │ ├── call_operator_loc: ∅
│ │ │ ├── name: :b
@@ -561,8 +562,7 @@
│ │ │ ├── opening_loc: ∅
│ │ │ ├── arguments: ∅
│ │ │ ├── closing_loc: ∅
- │ │ │ ├── block: ∅
- │ │ │ └── flags: variable_call
+ │ │ │ └── block: ∅
│ │ └── consequent: ∅
│ ├── else_clause: ∅
│ ├── ensure_clause: ∅
@@ -573,6 +573,7 @@
│ │ @ StatementsNode (location: (63,0)-(63,1))
│ │ └── body: (length: 1)
│ │ └── @ CallNode (location: (63,0)-(63,1))
+ │ │ ├── flags: variable_call
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
│ │ ├── name: :a
@@ -580,8 +581,7 @@
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
- │ │ ├── block: ∅
- │ │ └── flags: variable_call
+ │ │ └── block: ∅
│ ├── rescue_clause:
│ │ @ RescueNode (location: (64,0)-(65,1))
│ │ ├── keyword_loc: (64,0)-(64,6) = "rescue"
@@ -596,6 +596,7 @@
│ │ │ @ StatementsNode (location: (65,0)-(65,1))
│ │ │ └── body: (length: 1)
│ │ │ └── @ CallNode (location: (65,0)-(65,1))
+ │ │ │ ├── flags: variable_call
│ │ │ ├── receiver: ∅
│ │ │ ├── call_operator_loc: ∅
│ │ │ ├── name: :b
@@ -603,8 +604,7 @@
│ │ │ ├── opening_loc: ∅
│ │ │ ├── arguments: ∅
│ │ │ ├── closing_loc: ∅
- │ │ │ ├── block: ∅
- │ │ │ └── flags: variable_call
+ │ │ │ └── block: ∅
│ │ └── consequent: ∅
│ ├── else_clause: ∅
│ ├── ensure_clause: ∅
@@ -615,6 +615,7 @@
│ │ @ StatementsNode (location: (69,2)-(69,3))
│ │ └── body: (length: 1)
│ │ └── @ CallNode (location: (69,2)-(69,3))
+ │ │ ├── flags: variable_call
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
│ │ ├── name: :a
@@ -622,8 +623,7 @@
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
- │ │ ├── block: ∅
- │ │ └── flags: variable_call
+ │ │ └── block: ∅
│ ├── rescue_clause:
│ │ @ RescueNode (location: (70,0)-(71,3))
│ │ ├── keyword_loc: (70,0)-(70,6) = "rescue"
@@ -641,6 +641,7 @@
│ │ │ @ StatementsNode (location: (71,2)-(71,3))
│ │ │ └── body: (length: 1)
│ │ │ └── @ CallNode (location: (71,2)-(71,3))
+ │ │ │ ├── flags: variable_call
│ │ │ ├── receiver: ∅
│ │ │ ├── call_operator_loc: ∅
│ │ │ ├── name: :b
@@ -648,8 +649,7 @@
│ │ │ ├── opening_loc: ∅
│ │ │ ├── arguments: ∅
│ │ │ ├── closing_loc: ∅
- │ │ │ ├── block: ∅
- │ │ │ └── flags: variable_call
+ │ │ │ └── block: ∅
│ │ └── consequent: ∅
│ ├── else_clause: ∅
│ ├── ensure_clause: ∅
@@ -660,6 +660,7 @@
│ @ StatementsNode (location: (75,2)-(75,3))
│ └── body: (length: 1)
│ └── @ CallNode (location: (75,2)-(75,3))
+ │ ├── flags: variable_call
│ ├── receiver: ∅
│ ├── call_operator_loc: ∅
│ ├── name: :a
@@ -667,8 +668,7 @@
│ ├── opening_loc: ∅
│ ├── arguments: ∅
│ ├── closing_loc: ∅
- │ ├── block: ∅
- │ └── flags: variable_call
+ │ └── block: ∅
├── rescue_clause:
│ @ RescueNode (location: (76,0)-(77,3))
│ ├── keyword_loc: (76,0)-(76,6) = "rescue"
@@ -684,6 +684,7 @@
│ │ @ StatementsNode (location: (77,2)-(77,3))
│ │ └── body: (length: 1)
│ │ └── @ CallNode (location: (77,2)-(77,3))
+ │ │ ├── flags: variable_call
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
│ │ ├── name: :b
@@ -691,8 +692,7 @@
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
- │ │ ├── block: ∅
- │ │ └── flags: variable_call
+ │ │ └── block: ∅
│ └── consequent: ∅
├── else_clause: ∅
├── ensure_clause: ∅
diff --git a/test/prism/snapshots/blocks.txt b/test/prism/snapshots/blocks.txt
index d667f39b8f..c490e8be19 100644
--- a/test/prism/snapshots/blocks.txt
+++ b/test/prism/snapshots/blocks.txt
@@ -4,8 +4,10 @@
@ StatementsNode (location: (1,0)-(54,17))
└── body: (length: 20)
├── @ CallNode (location: (1,0)-(1,16))
+ │ ├── flags: ∅
│ ├── receiver:
│ │ @ CallNode (location: (1,0)-(1,3))
+ │ │ ├── flags: variable_call
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
│ │ ├── name: :foo
@@ -13,51 +15,51 @@
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
- │ │ ├── block: ∅
- │ │ └── flags: variable_call
+ │ │ └── block: ∅
│ ├── call_operator_loc: ∅
│ ├── name: :[]
│ ├── message_loc: (1,3)-(1,8) = "[bar]"
│ ├── opening_loc: (1,3)-(1,4) = "["
│ ├── arguments:
│ │ @ ArgumentsNode (location: (1,4)-(1,7))
- │ │ ├── arguments: (length: 1)
- │ │ │ └── @ CallNode (location: (1,4)-(1,7))
- │ │ │ ├── receiver: ∅
- │ │ │ ├── call_operator_loc: ∅
- │ │ │ ├── name: :bar
- │ │ │ ├── message_loc: (1,4)-(1,7) = "bar"
- │ │ │ ├── opening_loc: ∅
- │ │ │ ├── arguments: ∅
- │ │ │ ├── closing_loc: ∅
- │ │ │ ├── block: ∅
- │ │ │ └── flags: variable_call
- │ │ └── flags: ∅
+ │ │ ├── flags: ∅
+ │ │ └── arguments: (length: 1)
+ │ │ └── @ CallNode (location: (1,4)-(1,7))
+ │ │ ├── flags: variable_call
+ │ │ ├── receiver: ∅
+ │ │ ├── call_operator_loc: ∅
+ │ │ ├── name: :bar
+ │ │ ├── message_loc: (1,4)-(1,7) = "bar"
+ │ │ ├── opening_loc: ∅
+ │ │ ├── arguments: ∅
+ │ │ ├── closing_loc: ∅
+ │ │ └── block: ∅
│ ├── closing_loc: (1,7)-(1,8) = "]"
- │ ├── block:
- │ │ @ BlockNode (location: (1,9)-(1,16))
- │ │ ├── locals: []
- │ │ ├── locals_body_index: 0
- │ │ ├── parameters: ∅
- │ │ ├── body:
- │ │ │ @ StatementsNode (location: (1,11)-(1,14))
- │ │ │ └── body: (length: 1)
- │ │ │ └── @ CallNode (location: (1,11)-(1,14))
- │ │ │ ├── receiver: ∅
- │ │ │ ├── call_operator_loc: ∅
- │ │ │ ├── name: :baz
- │ │ │ ├── message_loc: (1,11)-(1,14) = "baz"
- │ │ │ ├── opening_loc: ∅
- │ │ │ ├── arguments: ∅
- │ │ │ ├── closing_loc: ∅
- │ │ │ ├── block: ∅
- │ │ │ └── flags: variable_call
- │ │ ├── opening_loc: (1,9)-(1,10) = "{"
- │ │ └── closing_loc: (1,15)-(1,16) = "}"
- │ └── flags: ∅
+ │ └── block:
+ │ @ BlockNode (location: (1,9)-(1,16))
+ │ ├── locals: []
+ │ ├── locals_body_index: 0
+ │ ├── parameters: ∅
+ │ ├── body:
+ │ │ @ StatementsNode (location: (1,11)-(1,14))
+ │ │ └── body: (length: 1)
+ │ │ └── @ CallNode (location: (1,11)-(1,14))
+ │ │ ├── flags: variable_call
+ │ │ ├── receiver: ∅
+ │ │ ├── call_operator_loc: ∅
+ │ │ ├── name: :baz
+ │ │ ├── message_loc: (1,11)-(1,14) = "baz"
+ │ │ ├── opening_loc: ∅
+ │ │ ├── arguments: ∅
+ │ │ ├── closing_loc: ∅
+ │ │ └── block: ∅
+ │ ├── opening_loc: (1,9)-(1,10) = "{"
+ │ └── closing_loc: (1,15)-(1,16) = "}"
├── @ CallNode (location: (3,0)-(5,3))
+ │ ├── flags: ∅
│ ├── receiver:
│ │ @ CallNode (location: (3,0)-(3,3))
+ │ │ ├── flags: variable_call
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
│ │ ├── name: :foo
@@ -65,51 +67,51 @@
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
- │ │ ├── block: ∅
- │ │ └── flags: variable_call
+ │ │ └── block: ∅
│ ├── call_operator_loc: ∅
│ ├── name: :[]
│ ├── message_loc: (3,3)-(3,8) = "[bar]"
│ ├── opening_loc: (3,3)-(3,4) = "["
│ ├── arguments:
│ │ @ ArgumentsNode (location: (3,4)-(3,7))
- │ │ ├── arguments: (length: 1)
- │ │ │ └── @ CallNode (location: (3,4)-(3,7))
- │ │ │ ├── receiver: ∅
- │ │ │ ├── call_operator_loc: ∅
- │ │ │ ├── name: :bar
- │ │ │ ├── message_loc: (3,4)-(3,7) = "bar"
- │ │ │ ├── opening_loc: ∅
- │ │ │ ├── arguments: ∅
- │ │ │ ├── closing_loc: ∅
- │ │ │ ├── block: ∅
- │ │ │ └── flags: variable_call
- │ │ └── flags: ∅
+ │ │ ├── flags: ∅
+ │ │ └── arguments: (length: 1)
+ │ │ └── @ CallNode (location: (3,4)-(3,7))
+ │ │ ├── flags: variable_call
+ │ │ ├── receiver: ∅
+ │ │ ├── call_operator_loc: ∅
+ │ │ ├── name: :bar
+ │ │ ├── message_loc: (3,4)-(3,7) = "bar"
+ │ │ ├── opening_loc: ∅
+ │ │ ├── arguments: ∅
+ │ │ ├── closing_loc: ∅
+ │ │ └── block: ∅
│ ├── closing_loc: (3,7)-(3,8) = "]"
- │ ├── block:
- │ │ @ BlockNode (location: (3,9)-(5,3))
- │ │ ├── locals: []
- │ │ ├── locals_body_index: 0
- │ │ ├── parameters: ∅
- │ │ ├── body:
- │ │ │ @ StatementsNode (location: (4,0)-(4,3))
- │ │ │ └── body: (length: 1)
- │ │ │ └── @ CallNode (location: (4,0)-(4,3))
- │ │ │ ├── receiver: ∅
- │ │ │ ├── call_operator_loc: ∅
- │ │ │ ├── name: :baz
- │ │ │ ├── message_loc: (4,0)-(4,3) = "baz"
- │ │ │ ├── opening_loc: ∅
- │ │ │ ├── arguments: ∅
- │ │ │ ├── closing_loc: ∅
- │ │ │ ├── block: ∅
- │ │ │ └── flags: variable_call
- │ │ ├── opening_loc: (3,9)-(3,11) = "do"
- │ │ └── closing_loc: (5,0)-(5,3) = "end"
- │ └── flags: ∅
+ │ └── block:
+ │ @ BlockNode (location: (3,9)-(5,3))
+ │ ├── locals: []
+ │ ├── locals_body_index: 0
+ │ ├── parameters: ∅
+ │ ├── body:
+ │ │ @ StatementsNode (location: (4,0)-(4,3))
+ │ │ └── body: (length: 1)
+ │ │ └── @ CallNode (location: (4,0)-(4,3))
+ │ │ ├── flags: variable_call
+ │ │ ├── receiver: ∅
+ │ │ ├── call_operator_loc: ∅
+ │ │ ├── name: :baz
+ │ │ ├── message_loc: (4,0)-(4,3) = "baz"
+ │ │ ├── opening_loc: ∅
+ │ │ ├── arguments: ∅
+ │ │ ├── closing_loc: ∅
+ │ │ └── block: ∅
+ │ ├── opening_loc: (3,9)-(3,11) = "do"
+ │ └── closing_loc: (5,0)-(5,3) = "end"
├── @ CallNode (location: (7,0)-(7,35))
+ │ ├── flags: ∅
│ ├── receiver:
│ │ @ CallNode (location: (7,0)-(7,1))
+ │ │ ├── flags: variable_call
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
│ │ ├── name: :x
@@ -117,58 +119,57 @@
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
- │ │ ├── block: ∅
- │ │ └── flags: variable_call
+ │ │ └── block: ∅
│ ├── call_operator_loc: (7,1)-(7,2) = "."
│ ├── name: :reduce
│ ├── message_loc: (7,2)-(7,8) = "reduce"
│ ├── opening_loc: (7,8)-(7,9) = "("
│ ├── arguments:
│ │ @ ArgumentsNode (location: (7,9)-(7,10))
- │ │ ├── arguments: (length: 1)
- │ │ │ └── @ IntegerNode (location: (7,9)-(7,10))
- │ │ │ └── flags: decimal
- │ │ └── flags: ∅
+ │ │ ├── flags: ∅
+ │ │ └── arguments: (length: 1)
+ │ │ └── @ IntegerNode (location: (7,9)-(7,10))
+ │ │ └── flags: decimal
│ ├── closing_loc: (7,10)-(7,11) = ")"
- │ ├── block:
- │ │ @ BlockNode (location: (7,12)-(7,35))
- │ │ ├── locals: [:x, :memo]
- │ │ ├── locals_body_index: 2
- │ │ ├── parameters:
- │ │ │ @ BlockParametersNode (location: (7,14)-(7,23))
- │ │ │ ├── parameters:
- │ │ │ │ @ ParametersNode (location: (7,15)-(7,22))
- │ │ │ │ ├── requireds: (length: 2)
- │ │ │ │ │ ├── @ RequiredParameterNode (location: (7,15)-(7,16))
- │ │ │ │ │ │ └── name: :x
- │ │ │ │ │ └── @ RequiredParameterNode (location: (7,18)-(7,22))
- │ │ │ │ │ └── name: :memo
- │ │ │ │ ├── optionals: (length: 0)
- │ │ │ │ ├── rest: ∅
- │ │ │ │ ├── posts: (length: 0)
- │ │ │ │ ├── keywords: (length: 0)
- │ │ │ │ ├── keyword_rest: ∅
- │ │ │ │ └── block: ∅
- │ │ │ ├── locals: (length: 0)
- │ │ │ ├── opening_loc: (7,14)-(7,15) = "|"
- │ │ │ └── closing_loc: (7,22)-(7,23) = "|"
- │ │ ├── body:
- │ │ │ @ StatementsNode (location: (7,24)-(7,33))
- │ │ │ └── body: (length: 1)
- │ │ │ └── @ LocalVariableOperatorWriteNode (location: (7,24)-(7,33))
- │ │ │ ├── name_loc: (7,24)-(7,28) = "memo"
- │ │ │ ├── operator_loc: (7,29)-(7,31) = "+="
- │ │ │ ├── value:
- │ │ │ │ @ LocalVariableReadNode (location: (7,32)-(7,33))
- │ │ │ │ ├── name: :x
- │ │ │ │ └── depth: 0
- │ │ │ ├── name: :memo
- │ │ │ ├── operator: :+
- │ │ │ └── depth: 0
- │ │ ├── opening_loc: (7,12)-(7,13) = "{"
- │ │ └── closing_loc: (7,34)-(7,35) = "}"
- │ └── flags: ∅
+ │ └── block:
+ │ @ BlockNode (location: (7,12)-(7,35))
+ │ ├── locals: [:x, :memo]
+ │ ├── locals_body_index: 2
+ │ ├── parameters:
+ │ │ @ BlockParametersNode (location: (7,14)-(7,23))
+ │ │ ├── parameters:
+ │ │ │ @ ParametersNode (location: (7,15)-(7,22))
+ │ │ │ ├── requireds: (length: 2)
+ │ │ │ │ ├── @ RequiredParameterNode (location: (7,15)-(7,16))
+ │ │ │ │ │ └── name: :x
+ │ │ │ │ └── @ RequiredParameterNode (location: (7,18)-(7,22))
+ │ │ │ │ └── name: :memo
+ │ │ │ ├── optionals: (length: 0)
+ │ │ │ ├── rest: ∅
+ │ │ │ ├── posts: (length: 0)
+ │ │ │ ├── keywords: (length: 0)
+ │ │ │ ├── keyword_rest: ∅
+ │ │ │ └── block: ∅
+ │ │ ├── locals: (length: 0)
+ │ │ ├── opening_loc: (7,14)-(7,15) = "|"
+ │ │ └── closing_loc: (7,22)-(7,23) = "|"
+ │ ├── body:
+ │ │ @ StatementsNode (location: (7,24)-(7,33))
+ │ │ └── body: (length: 1)
+ │ │ └── @ LocalVariableOperatorWriteNode (location: (7,24)-(7,33))
+ │ │ ├── name_loc: (7,24)-(7,28) = "memo"
+ │ │ ├── operator_loc: (7,29)-(7,31) = "+="
+ │ │ ├── value:
+ │ │ │ @ LocalVariableReadNode (location: (7,32)-(7,33))
+ │ │ │ ├── name: :x
+ │ │ │ └── depth: 0
+ │ │ ├── name: :memo
+ │ │ ├── operator: :+
+ │ │ └── depth: 0
+ │ ├── opening_loc: (7,12)-(7,13) = "{"
+ │ └── closing_loc: (7,34)-(7,35) = "}"
├── @ CallNode (location: (9,0)-(9,10))
+ │ ├── flags: ∅
│ ├── receiver: ∅
│ ├── call_operator_loc: ∅
│ ├── name: :foo
@@ -176,16 +177,16 @@
│ ├── opening_loc: ∅
│ ├── arguments: ∅
│ ├── closing_loc: ∅
- │ ├── block:
- │ │ @ BlockNode (location: (9,4)-(9,10))
- │ │ ├── locals: []
- │ │ ├── locals_body_index: 0
- │ │ ├── parameters: ∅
- │ │ ├── body: ∅
- │ │ ├── opening_loc: (9,4)-(9,6) = "do"
- │ │ └── closing_loc: (9,7)-(9,10) = "end"
- │ └── flags: ∅
+ │ └── block:
+ │ @ BlockNode (location: (9,4)-(9,10))
+ │ ├── locals: []
+ │ ├── locals_body_index: 0
+ │ ├── parameters: ∅
+ │ ├── body: ∅
+ │ ├── opening_loc: (9,4)-(9,6) = "do"
+ │ └── closing_loc: (9,7)-(9,10) = "end"
├── @ CallNode (location: (11,0)-(11,21))
+ │ ├── flags: ∅
│ ├── receiver: ∅
│ ├── call_operator_loc: ∅
│ ├── name: :foo
@@ -193,45 +194,45 @@
│ ├── opening_loc: ∅
│ ├── arguments:
│ │ @ ArgumentsNode (location: (11,4)-(11,21))
- │ │ ├── arguments: (length: 2)
- │ │ │ ├── @ CallNode (location: (11,4)-(11,7))
- │ │ │ │ ├── receiver: ∅
- │ │ │ │ ├── call_operator_loc: ∅
- │ │ │ │ ├── name: :bar
- │ │ │ │ ├── message_loc: (11,4)-(11,7) = "bar"
- │ │ │ │ ├── opening_loc: ∅
- │ │ │ │ ├── arguments: ∅
- │ │ │ │ ├── closing_loc: ∅
- │ │ │ │ ├── block: ∅
- │ │ │ │ └── flags: variable_call
- │ │ │ └── @ ParenthesesNode (location: (11,9)-(11,21))
- │ │ │ ├── body:
- │ │ │ │ @ StatementsNode (location: (11,10)-(11,20))
- │ │ │ │ └── body: (length: 1)
- │ │ │ │ └── @ CallNode (location: (11,10)-(11,20))
- │ │ │ │ ├── receiver: ∅
- │ │ │ │ ├── call_operator_loc: ∅
- │ │ │ │ ├── name: :baz
- │ │ │ │ ├── message_loc: (11,10)-(11,13) = "baz"
- │ │ │ │ ├── opening_loc: ∅
- │ │ │ │ ├── arguments: ∅
- │ │ │ │ ├── closing_loc: ∅
- │ │ │ │ ├── block:
- │ │ │ │ │ @ BlockNode (location: (11,14)-(11,20))
- │ │ │ │ │ ├── locals: []
- │ │ │ │ │ ├── locals_body_index: 0
- │ │ │ │ │ ├── parameters: ∅
- │ │ │ │ │ ├── body: ∅
- │ │ │ │ │ ├── opening_loc: (11,14)-(11,16) = "do"
- │ │ │ │ │ └── closing_loc: (11,17)-(11,20) = "end"
- │ │ │ │ └── flags: ∅
- │ │ │ ├── opening_loc: (11,9)-(11,10) = "("
- │ │ │ └── closing_loc: (11,20)-(11,21) = ")"
- │ │ └── flags: ∅
+ │ │ ├── flags: ∅
+ │ │ └── arguments: (length: 2)
+ │ │ ├── @ CallNode (location: (11,4)-(11,7))
+ │ │ │ ├── flags: variable_call
+ │ │ │ ├── receiver: ∅
+ │ │ │ ├── call_operator_loc: ∅
+ │ │ │ ├── name: :bar
+ │ │ │ ├── message_loc: (11,4)-(11,7) = "bar"
+ │ │ │ ├── opening_loc: ∅
+ │ │ │ ├── arguments: ∅
+ │ │ │ ├── closing_loc: ∅
+ │ │ │ └── block: ∅
+ │ │ └── @ ParenthesesNode (location: (11,9)-(11,21))
+ │ │ ├── body:
+ │ │ │ @ StatementsNode (location: (11,10)-(11,20))
+ │ │ │ └── body: (length: 1)
+ │ │ │ └── @ CallNode (location: (11,10)-(11,20))
+ │ │ │ ├── flags: ∅
+ │ │ │ ├── receiver: ∅
+ │ │ │ ├── call_operator_loc: ∅
+ │ │ │ ├── name: :baz
+ │ │ │ ├── message_loc: (11,10)-(11,13) = "baz"
+ │ │ │ ├── opening_loc: ∅
+ │ │ │ ├── arguments: ∅
+ │ │ │ ├── closing_loc: ∅
+ │ │ │ └── block:
+ │ │ │ @ BlockNode (location: (11,14)-(11,20))
+ │ │ │ ├── locals: []
+ │ │ │ ├── locals_body_index: 0
+ │ │ │ ├── parameters: ∅
+ │ │ │ ├── body: ∅
+ │ │ │ ├── opening_loc: (11,14)-(11,16) = "do"
+ │ │ │ └── closing_loc: (11,17)-(11,20) = "end"
+ │ │ ├── opening_loc: (11,9)-(11,10) = "("
+ │ │ └── closing_loc: (11,20)-(11,21) = ")"
│ ├── closing_loc: ∅
- │ ├── block: ∅
- │ └── flags: ∅
+ │ └── block: ∅
├── @ CallNode (location: (13,0)-(13,14))
+ │ ├── flags: ∅
│ ├── receiver: ∅
│ ├── call_operator_loc: ∅
│ ├── name: :foo
@@ -239,29 +240,29 @@
│ ├── opening_loc: ∅
│ ├── arguments:
│ │ @ ArgumentsNode (location: (13,4)-(13,7))
- │ │ ├── arguments: (length: 1)
- │ │ │ └── @ CallNode (location: (13,4)-(13,7))
- │ │ │ ├── receiver: ∅
- │ │ │ ├── call_operator_loc: ∅
- │ │ │ ├── name: :bar
- │ │ │ ├── message_loc: (13,4)-(13,7) = "bar"
- │ │ │ ├── opening_loc: ∅
- │ │ │ ├── arguments: ∅
- │ │ │ ├── closing_loc: ∅
- │ │ │ ├── block: ∅
- │ │ │ └── flags: variable_call
- │ │ └── flags: ∅
+ │ │ ├── flags: ∅
+ │ │ └── arguments: (length: 1)
+ │ │ └── @ CallNode (location: (13,4)-(13,7))
+ │ │ ├── flags: variable_call
+ │ │ ├── receiver: ∅
+ │ │ ├── call_operator_loc: ∅
+ │ │ ├── name: :bar
+ │ │ ├── message_loc: (13,4)-(13,7) = "bar"
+ │ │ ├── opening_loc: ∅
+ │ │ ├── arguments: ∅
+ │ │ ├── closing_loc: ∅
+ │ │ └── block: ∅
│ ├── closing_loc: ∅
- │ ├── block:
- │ │ @ BlockNode (location: (13,8)-(13,14))
- │ │ ├── locals: []
- │ │ ├── locals_body_index: 0
- │ │ ├── parameters: ∅
- │ │ ├── body: ∅
- │ │ ├── opening_loc: (13,8)-(13,10) = "do"
- │ │ └── closing_loc: (13,11)-(13,14) = "end"
- │ └── flags: ∅
+ │ └── block:
+ │ @ BlockNode (location: (13,8)-(13,14))
+ │ ├── locals: []
+ │ ├── locals_body_index: 0
+ │ ├── parameters: ∅
+ │ ├── body: ∅
+ │ ├── opening_loc: (13,8)-(13,10) = "do"
+ │ └── closing_loc: (13,11)-(13,14) = "end"
├── @ CallNode (location: (15,0)-(15,18))
+ │ ├── flags: ∅
│ ├── receiver: ∅
│ ├── call_operator_loc: ∅
│ ├── name: :foo
@@ -269,42 +270,42 @@
│ ├── opening_loc: ∅
│ ├── arguments:
│ │ @ ArgumentsNode (location: (15,4)-(15,11))
- │ │ ├── arguments: (length: 1)
- │ │ │ └── @ CallNode (location: (15,4)-(15,11))
- │ │ │ ├── receiver: ∅
- │ │ │ ├── call_operator_loc: ∅
- │ │ │ ├── name: :bar
- │ │ │ ├── message_loc: (15,4)-(15,7) = "bar"
- │ │ │ ├── opening_loc: ∅
- │ │ │ ├── arguments:
- │ │ │ │ @ ArgumentsNode (location: (15,8)-(15,11))
- │ │ │ │ ├── arguments: (length: 1)
- │ │ │ │ │ └── @ CallNode (location: (15,8)-(15,11))
- │ │ │ │ │ ├── receiver: ∅
- │ │ │ │ │ ├── call_operator_loc: ∅
- │ │ │ │ │ ├── name: :baz
- │ │ │ │ │ ├── message_loc: (15,8)-(15,11) = "baz"
- │ │ │ │ │ ├── opening_loc: ∅
- │ │ │ │ │ ├── arguments: ∅
- │ │ │ │ │ ├── closing_loc: ∅
- │ │ │ │ │ ├── block: ∅
- │ │ │ │ │ └── flags: variable_call
- │ │ │ │ └── flags: ∅
- │ │ │ ├── closing_loc: ∅
- │ │ │ ├── block: ∅
- │ │ │ └── flags: ∅
- │ │ └── flags: ∅
+ │ │ ├── flags: ∅
+ │ │ └── arguments: (length: 1)
+ │ │ └── @ CallNode (location: (15,4)-(15,11))
+ │ │ ├── flags: ∅
+ │ │ ├── receiver: ∅
+ │ │ ├── call_operator_loc: ∅
+ │ │ ├── name: :bar
+ │ │ ├── message_loc: (15,4)-(15,7) = "bar"
+ │ │ ├── opening_loc: ∅
+ │ │ ├── arguments:
+ │ │ │ @ ArgumentsNode (location: (15,8)-(15,11))
+ │ │ │ ├── flags: ∅
+ │ │ │ └── arguments: (length: 1)
+ │ │ │ └── @ CallNode (location: (15,8)-(15,11))
+ │ │ │ ├── flags: variable_call
+ │ │ │ ├── receiver: ∅
+ │ │ │ ├── call_operator_loc: ∅
+ │ │ │ ├── name: :baz
+ │ │ │ ├── message_loc: (15,8)-(15,11) = "baz"
+ │ │ │ ├── opening_loc: ∅
+ │ │ │ ├── arguments: ∅
+ │ │ │ ├── closing_loc: ∅
+ │ │ │ └── block: ∅
+ │ │ ├── closing_loc: ∅
+ │ │ └── block: ∅
│ ├── closing_loc: ∅
- │ ├── block:
- │ │ @ BlockNode (location: (15,12)-(15,18))
- │ │ ├── locals: []
- │ │ ├── locals_body_index: 0
- │ │ ├── parameters: ∅
- │ │ ├── body: ∅
- │ │ ├── opening_loc: (15,12)-(15,14) = "do"
- │ │ └── closing_loc: (15,15)-(15,18) = "end"
- │ └── flags: ∅
+ │ └── block:
+ │ @ BlockNode (location: (15,12)-(15,18))
+ │ ├── locals: []
+ │ ├── locals_body_index: 0
+ │ ├── parameters: ∅
+ │ ├── body: ∅
+ │ ├── opening_loc: (15,12)-(15,14) = "do"
+ │ └── closing_loc: (15,15)-(15,18) = "end"
├── @ CallNode (location: (17,0)-(18,3))
+ │ ├── flags: ∅
│ ├── receiver: ∅
│ ├── call_operator_loc: ∅
│ ├── name: :foo
@@ -312,59 +313,59 @@
│ ├── opening_loc: ∅
│ ├── arguments: ∅
│ ├── closing_loc: ∅
- │ ├── block:
- │ │ @ BlockNode (location: (17,4)-(18,3))
- │ │ ├── locals: [:a]
- │ │ ├── locals_body_index: 1
- │ │ ├── parameters:
- │ │ │ @ BlockParametersNode (location: (17,7)-(17,17))
- │ │ │ ├── parameters:
- │ │ │ │ @ ParametersNode (location: (17,8)-(17,16))
- │ │ │ │ ├── requireds: (length: 0)
- │ │ │ │ ├── optionals: (length: 1)
- │ │ │ │ │ └── @ OptionalParameterNode (location: (17,8)-(17,16))
- │ │ │ │ │ ├── name: :a
- │ │ │ │ │ ├── name_loc: (17,8)-(17,9) = "a"
- │ │ │ │ │ ├── operator_loc: (17,10)-(17,11) = "="
- │ │ │ │ │ └── value:
- │ │ │ │ │ @ CallNode (location: (17,12)-(17,16))
- │ │ │ │ │ ├── receiver:
- │ │ │ │ │ │ @ CallNode (location: (17,12)-(17,13))
- │ │ │ │ │ │ ├── receiver: ∅
- │ │ │ │ │ │ ├── call_operator_loc: ∅
- │ │ │ │ │ │ ├── name: :b
- │ │ │ │ │ │ ├── message_loc: (17,12)-(17,13) = "b"
- │ │ │ │ │ │ ├── opening_loc: ∅
- │ │ │ │ │ │ ├── arguments: ∅
- │ │ │ │ │ │ ├── closing_loc: ∅
- │ │ │ │ │ │ ├── block: ∅
- │ │ │ │ │ │ └── flags: variable_call
- │ │ │ │ │ ├── call_operator_loc: ∅
- │ │ │ │ │ ├── name: :[]
- │ │ │ │ │ ├── message_loc: (17,13)-(17,16) = "[1]"
- │ │ │ │ │ ├── opening_loc: (17,13)-(17,14) = "["
- │ │ │ │ │ ├── arguments:
- │ │ │ │ │ │ @ ArgumentsNode (location: (17,14)-(17,15))
- │ │ │ │ │ │ ├── arguments: (length: 1)
- │ │ │ │ │ │ │ └── @ IntegerNode (location: (17,14)-(17,15))
- │ │ │ │ │ │ │ └── flags: decimal
- │ │ │ │ │ │ └── flags: ∅
- │ │ │ │ │ ├── closing_loc: (17,15)-(17,16) = "]"
- │ │ │ │ │ ├── block: ∅
- │ │ │ │ │ └── flags: ∅
- │ │ │ │ ├── rest: ∅
- │ │ │ │ ├── posts: (length: 0)
- │ │ │ │ ├── keywords: (length: 0)
- │ │ │ │ ├── keyword_rest: ∅
- │ │ │ │ └── block: ∅
- │ │ │ ├── locals: (length: 0)
- │ │ │ ├── opening_loc: (17,7)-(17,8) = "|"
- │ │ │ └── closing_loc: (17,16)-(17,17) = "|"
- │ │ ├── body: ∅
- │ │ ├── opening_loc: (17,4)-(17,6) = "do"
- │ │ └── closing_loc: (18,0)-(18,3) = "end"
- │ └── flags: ∅
+ │ └── block:
+ │ @ BlockNode (location: (17,4)-(18,3))
+ │ ├── locals: [:a]
+ │ ├── locals_body_index: 1
+ │ ├── parameters:
+ │ │ @ BlockParametersNode (location: (17,7)-(17,17))
+ │ │ ├── parameters:
+ │ │ │ @ ParametersNode (location: (17,8)-(17,16))
+ │ │ │ ├── requireds: (length: 0)
+ │ │ │ ├── optionals: (length: 1)
+ │ │ │ │ └── @ OptionalParameterNode (location: (17,8)-(17,16))
+ │ │ │ │ ├── name: :a
+ │ │ │ │ ├── name_loc: (17,8)-(17,9) = "a"
+ │ │ │ │ ├── operator_loc: (17,10)-(17,11) = "="
+ │ │ │ │ └── value:
+ │ │ │ │ @ CallNode (location: (17,12)-(17,16))
+ │ │ │ │ ├── flags: ∅
+ │ │ │ │ ├── receiver:
+ │ │ │ │ │ @ CallNode (location: (17,12)-(17,13))
+ │ │ │ │ │ ├── flags: variable_call
+ │ │ │ │ │ ├── receiver: ∅
+ │ │ │ │ │ ├── call_operator_loc: ∅
+ │ │ │ │ │ ├── name: :b
+ │ │ │ │ │ ├── message_loc: (17,12)-(17,13) = "b"
+ │ │ │ │ │ ├── opening_loc: ∅
+ │ │ │ │ │ ├── arguments: ∅
+ │ │ │ │ │ ├── closing_loc: ∅
+ │ │ │ │ │ └── block: ∅
+ │ │ │ │ ├── call_operator_loc: ∅
+ │ │ │ │ ├── name: :[]
+ │ │ │ │ ├── message_loc: (17,13)-(17,16) = "[1]"
+ │ │ │ │ ├── opening_loc: (17,13)-(17,14) = "["
+ │ │ │ │ ├── arguments:
+ │ │ │ │ │ @ ArgumentsNode (location: (17,14)-(17,15))
+ │ │ │ │ │ ├── flags: ∅
+ │ │ │ │ │ └── arguments: (length: 1)
+ │ │ │ │ │ └── @ IntegerNode (location: (17,14)-(17,15))
+ │ │ │ │ │ └── flags: decimal
+ │ │ │ │ ├── closing_loc: (17,15)-(17,16) = "]"
+ │ │ │ │ └── block: ∅
+ │ │ │ ├── rest: ∅
+ │ │ │ ├── posts: (length: 0)
+ │ │ │ ├── keywords: (length: 0)
+ │ │ │ ├── keyword_rest: ∅
+ │ │ │ └── block: ∅
+ │ │ ├── locals: (length: 0)
+ │ │ ├── opening_loc: (17,7)-(17,8) = "|"
+ │ │ └── closing_loc: (17,16)-(17,17) = "|"
+ │ ├── body: ∅
+ │ ├── opening_loc: (17,4)-(17,6) = "do"
+ │ └── closing_loc: (18,0)-(18,3) = "end"
├── @ CallNode (location: (20,0)-(22,3))
+ │ ├── flags: ∅
│ ├── receiver: ∅
│ ├── call_operator_loc: ∅
│ ├── name: :foo
@@ -372,30 +373,30 @@
│ ├── opening_loc: ∅
│ ├── arguments: ∅
│ ├── closing_loc: ∅
- │ ├── block:
- │ │ @ BlockNode (location: (20,4)-(22,3))
- │ │ ├── locals: []
- │ │ ├── locals_body_index: 0
- │ │ ├── parameters: ∅
- │ │ ├── body:
- │ │ │ @ BeginNode (location: (21,0)-(22,3))
- │ │ │ ├── begin_keyword_loc: ∅
- │ │ │ ├── statements: ∅
- │ │ │ ├── rescue_clause:
- │ │ │ │ @ RescueNode (location: (21,0)-(21,6))
- │ │ │ │ ├── keyword_loc: (21,0)-(21,6) = "rescue"
- │ │ │ │ ├── exceptions: (length: 0)
- │ │ │ │ ├── operator_loc: ∅
- │ │ │ │ ├── reference: ∅
- │ │ │ │ ├── statements: ∅
- │ │ │ │ └── consequent: ∅
- │ │ │ ├── else_clause: ∅
- │ │ │ ├── ensure_clause: ∅
- │ │ │ └── end_keyword_loc: (22,0)-(22,3) = "end"
- │ │ ├── opening_loc: (20,4)-(20,6) = "do"
- │ │ └── closing_loc: (22,0)-(22,3) = "end"
- │ └── flags: ∅
+ │ └── block:
+ │ @ BlockNode (location: (20,4)-(22,3))
+ │ ├── locals: []
+ │ ├── locals_body_index: 0
+ │ ├── parameters: ∅
+ │ ├── body:
+ │ │ @ BeginNode (location: (21,0)-(22,3))
+ │ │ ├── begin_keyword_loc: ∅
+ │ │ ├── statements: ∅
+ │ │ ├── rescue_clause:
+ │ │ │ @ RescueNode (location: (21,0)-(21,6))
+ │ │ │ ├── keyword_loc: (21,0)-(21,6) = "rescue"
+ │ │ │ ├── exceptions: (length: 0)
+ │ │ │ ├── operator_loc: ∅
+ │ │ │ ├── reference: ∅
+ │ │ │ ├── statements: ∅
+ │ │ │ └── consequent: ∅
+ │ │ ├── else_clause: ∅
+ │ │ ├── ensure_clause: ∅
+ │ │ └── end_keyword_loc: (22,0)-(22,3) = "end"
+ │ ├── opening_loc: (20,4)-(20,6) = "do"
+ │ └── closing_loc: (22,0)-(22,3) = "end"
├── @ CallNode (location: (24,0)-(29,3))
+ │ ├── flags: ∅
│ ├── receiver: ∅
│ ├── call_operator_loc: ∅
│ ├── name: :foo
@@ -403,56 +404,57 @@
│ ├── opening_loc: ∅
│ ├── arguments: ∅
│ ├── closing_loc: ∅
- │ ├── block:
- │ │ @ BlockNode (location: (24,4)-(29,3))
- │ │ ├── locals: []
- │ │ ├── locals_body_index: 0
- │ │ ├── parameters: ∅
- │ │ ├── body:
- │ │ │ @ StatementsNode (location: (25,2)-(28,5))
- │ │ │ └── body: (length: 1)
- │ │ │ └── @ CallNode (location: (25,2)-(28,5))
- │ │ │ ├── receiver: ∅
- │ │ │ ├── call_operator_loc: ∅
- │ │ │ ├── name: :bar
- │ │ │ ├── message_loc: (25,2)-(25,5) = "bar"
- │ │ │ ├── opening_loc: ∅
- │ │ │ ├── arguments: ∅
- │ │ │ ├── closing_loc: ∅
- │ │ │ ├── block:
- │ │ │ │ @ BlockNode (location: (25,6)-(28,5))
- │ │ │ │ ├── locals: []
- │ │ │ │ ├── locals_body_index: 0
- │ │ │ │ ├── parameters: ∅
- │ │ │ │ ├── body:
- │ │ │ │ │ @ StatementsNode (location: (26,4)-(27,7))
- │ │ │ │ │ └── body: (length: 1)
- │ │ │ │ │ └── @ CallNode (location: (26,4)-(27,7))
- │ │ │ │ │ ├── receiver: ∅
- │ │ │ │ │ ├── call_operator_loc: ∅
- │ │ │ │ │ ├── name: :baz
- │ │ │ │ │ ├── message_loc: (26,4)-(26,7) = "baz"
- │ │ │ │ │ ├── opening_loc: ∅
- │ │ │ │ │ ├── arguments: ∅
- │ │ │ │ │ ├── closing_loc: ∅
- │ │ │ │ │ ├── block:
- │ │ │ │ │ │ @ BlockNode (location: (26,8)-(27,7))
- │ │ │ │ │ │ ├── locals: []
- │ │ │ │ │ │ ├── locals_body_index: 0
- │ │ │ │ │ │ ├── parameters: ∅
- │ │ │ │ │ │ ├── body: ∅
- │ │ │ │ │ │ ├── opening_loc: (26,8)-(26,10) = "do"
- │ │ │ │ │ │ └── closing_loc: (27,4)-(27,7) = "end"
- │ │ │ │ │ └── flags: ∅
- │ │ │ │ ├── opening_loc: (25,6)-(25,8) = "do"
- │ │ │ │ └── closing_loc: (28,2)-(28,5) = "end"
- │ │ │ └── flags: ∅
- │ │ ├── opening_loc: (24,4)-(24,6) = "do"
- │ │ └── closing_loc: (29,0)-(29,3) = "end"
- │ └── flags: ∅
+ │ └── block:
+ │ @ BlockNode (location: (24,4)-(29,3))
+ │ ├── locals: []
+ │ ├── locals_body_index: 0
+ │ ├── parameters: ∅
+ │ ├── body:
+ │ │ @ StatementsNode (location: (25,2)-(28,5))
+ │ │ └── body: (length: 1)
+ │ │ └── @ CallNode (location: (25,2)-(28,5))
+ │ │ ├── flags: ∅
+ │ │ ├── receiver: ∅
+ │ │ ├── call_operator_loc: ∅
+ │ │ ├── name: :bar
+ │ │ ├── message_loc: (25,2)-(25,5) = "bar"
+ │ │ ├── opening_loc: ∅
+ │ │ ├── arguments: ∅
+ │ │ ├── closing_loc: ∅
+ │ │ └── block:
+ │ │ @ BlockNode (location: (25,6)-(28,5))
+ │ │ ├── locals: []
+ │ │ ├── locals_body_index: 0
+ │ │ ├── parameters: ∅
+ │ │ ├── body:
+ │ │ │ @ StatementsNode (location: (26,4)-(27,7))
+ │ │ │ └── body: (length: 1)
+ │ │ │ └── @ CallNode (location: (26,4)-(27,7))
+ │ │ │ ├── flags: ∅
+ │ │ │ ├── receiver: ∅
+ │ │ │ ├── call_operator_loc: ∅
+ │ │ │ ├── name: :baz
+ │ │ │ ├── message_loc: (26,4)-(26,7) = "baz"
+ │ │ │ ├── opening_loc: ∅
+ │ │ │ ├── arguments: ∅
+ │ │ │ ├── closing_loc: ∅
+ │ │ │ └── block:
+ │ │ │ @ BlockNode (location: (26,8)-(27,7))
+ │ │ │ ├── locals: []
+ │ │ │ ├── locals_body_index: 0
+ │ │ │ ├── parameters: ∅
+ │ │ │ ├── body: ∅
+ │ │ │ ├── opening_loc: (26,8)-(26,10) = "do"
+ │ │ │ └── closing_loc: (27,4)-(27,7) = "end"
+ │ │ ├── opening_loc: (25,6)-(25,8) = "do"
+ │ │ └── closing_loc: (28,2)-(28,5) = "end"
+ │ ├── opening_loc: (24,4)-(24,6) = "do"
+ │ └── closing_loc: (29,0)-(29,3) = "end"
├── @ CallNode (location: (31,0)-(31,16))
+ │ ├── flags: ∅
│ ├── receiver:
│ │ @ CallNode (location: (31,0)-(31,3))
+ │ │ ├── flags: variable_call
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
│ │ ├── name: :foo
@@ -460,49 +462,48 @@
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
- │ │ ├── block: ∅
- │ │ └── flags: variable_call
+ │ │ └── block: ∅
│ ├── call_operator_loc: ∅
│ ├── name: :[]
│ ├── message_loc: (31,3)-(31,8) = "[bar]"
│ ├── opening_loc: (31,3)-(31,4) = "["
│ ├── arguments:
│ │ @ ArgumentsNode (location: (31,4)-(31,7))
- │ │ ├── arguments: (length: 1)
- │ │ │ └── @ CallNode (location: (31,4)-(31,7))
- │ │ │ ├── receiver: ∅
- │ │ │ ├── call_operator_loc: ∅
- │ │ │ ├── name: :bar
- │ │ │ ├── message_loc: (31,4)-(31,7) = "bar"
- │ │ │ ├── opening_loc: ∅
- │ │ │ ├── arguments: ∅
- │ │ │ ├── closing_loc: ∅
- │ │ │ ├── block: ∅
- │ │ │ └── flags: variable_call
- │ │ └── flags: ∅
+ │ │ ├── flags: ∅
+ │ │ └── arguments: (length: 1)
+ │ │ └── @ CallNode (location: (31,4)-(31,7))
+ │ │ ├── flags: variable_call
+ │ │ ├── receiver: ∅
+ │ │ ├── call_operator_loc: ∅
+ │ │ ├── name: :bar
+ │ │ ├── message_loc: (31,4)-(31,7) = "bar"
+ │ │ ├── opening_loc: ∅
+ │ │ ├── arguments: ∅
+ │ │ ├── closing_loc: ∅
+ │ │ └── block: ∅
│ ├── closing_loc: (31,7)-(31,8) = "]"
- │ ├── block:
- │ │ @ BlockNode (location: (31,9)-(31,16))
- │ │ ├── locals: []
- │ │ ├── locals_body_index: 0
- │ │ ├── parameters: ∅
- │ │ ├── body:
- │ │ │ @ StatementsNode (location: (31,11)-(31,14))
- │ │ │ └── body: (length: 1)
- │ │ │ └── @ CallNode (location: (31,11)-(31,14))
- │ │ │ ├── receiver: ∅
- │ │ │ ├── call_operator_loc: ∅
- │ │ │ ├── name: :baz
- │ │ │ ├── message_loc: (31,11)-(31,14) = "baz"
- │ │ │ ├── opening_loc: ∅
- │ │ │ ├── arguments: ∅
- │ │ │ ├── closing_loc: ∅
- │ │ │ ├── block: ∅
- │ │ │ └── flags: variable_call
- │ │ ├── opening_loc: (31,9)-(31,10) = "{"
- │ │ └── closing_loc: (31,15)-(31,16) = "}"
- │ └── flags: ∅
+ │ └── block:
+ │ @ BlockNode (location: (31,9)-(31,16))
+ │ ├── locals: []
+ │ ├── locals_body_index: 0
+ │ ├── parameters: ∅
+ │ ├── body:
+ │ │ @ StatementsNode (location: (31,11)-(31,14))
+ │ │ └── body: (length: 1)
+ │ │ └── @ CallNode (location: (31,11)-(31,14))
+ │ │ ├── flags: variable_call
+ │ │ ├── receiver: ∅
+ │ │ ├── call_operator_loc: ∅
+ │ │ ├── name: :baz
+ │ │ ├── message_loc: (31,11)-(31,14) = "baz"
+ │ │ ├── opening_loc: ∅
+ │ │ ├── arguments: ∅
+ │ │ ├── closing_loc: ∅
+ │ │ └── block: ∅
+ │ ├── opening_loc: (31,9)-(31,10) = "{"
+ │ └── closing_loc: (31,15)-(31,16) = "}"
├── @ CallNode (location: (33,0)-(33,24))
+ │ ├── flags: ∅
│ ├── receiver: ∅
│ ├── call_operator_loc: ∅
│ ├── name: :foo
@@ -510,46 +511,46 @@
│ ├── opening_loc: ∅
│ ├── arguments: ∅
│ ├── closing_loc: ∅
- │ ├── block:
- │ │ @ BlockNode (location: (33,4)-(33,24))
- │ │ ├── locals: [:x, :y, :z]
- │ │ ├── locals_body_index: 3
- │ │ ├── parameters:
- │ │ │ @ BlockParametersNode (location: (33,6)-(33,20))
- │ │ │ ├── parameters:
- │ │ │ │ @ ParametersNode (location: (33,7)-(33,19))
- │ │ │ │ ├── requireds: (length: 1)
- │ │ │ │ │ └── @ RequiredParameterNode (location: (33,7)-(33,8))
- │ │ │ │ │ └── name: :x
- │ │ │ │ ├── optionals: (length: 1)
- │ │ │ │ │ └── @ OptionalParameterNode (location: (33,10)-(33,15))
- │ │ │ │ │ ├── name: :y
- │ │ │ │ │ ├── name_loc: (33,10)-(33,11) = "y"
- │ │ │ │ │ ├── operator_loc: (33,12)-(33,13) = "="
- │ │ │ │ │ └── value:
- │ │ │ │ │ @ IntegerNode (location: (33,14)-(33,15))
- │ │ │ │ │ └── flags: decimal
- │ │ │ │ ├── rest: ∅
- │ │ │ │ ├── posts: (length: 0)
- │ │ │ │ ├── keywords: (length: 1)
- │ │ │ │ │ └── @ RequiredKeywordParameterNode (location: (33,17)-(33,19))
- │ │ │ │ │ ├── name: :z
- │ │ │ │ │ └── name_loc: (33,17)-(33,19) = "z:"
- │ │ │ │ ├── keyword_rest: ∅
- │ │ │ │ └── block: ∅
- │ │ │ ├── locals: (length: 0)
- │ │ │ ├── opening_loc: (33,6)-(33,7) = "|"
- │ │ │ └── closing_loc: (33,19)-(33,20) = "|"
- │ │ ├── body:
- │ │ │ @ StatementsNode (location: (33,21)-(33,22))
- │ │ │ └── body: (length: 1)
- │ │ │ └── @ LocalVariableReadNode (location: (33,21)-(33,22))
- │ │ │ ├── name: :x
- │ │ │ └── depth: 0
- │ │ ├── opening_loc: (33,4)-(33,5) = "{"
- │ │ └── closing_loc: (33,23)-(33,24) = "}"
- │ └── flags: ∅
+ │ └── block:
+ │ @ BlockNode (location: (33,4)-(33,24))
+ │ ├── locals: [:x, :y, :z]
+ │ ├── locals_body_index: 3
+ │ ├── parameters:
+ │ │ @ BlockParametersNode (location: (33,6)-(33,20))
+ │ │ ├── parameters:
+ │ │ │ @ ParametersNode (location: (33,7)-(33,19))
+ │ │ │ ├── requireds: (length: 1)
+ │ │ │ │ └── @ RequiredParameterNode (location: (33,7)-(33,8))
+ │ │ │ │ └── name: :x
+ │ │ │ ├── optionals: (length: 1)
+ │ │ │ │ └── @ OptionalParameterNode (location: (33,10)-(33,15))
+ │ │ │ │ ├── name: :y
+ │ │ │ │ ├── name_loc: (33,10)-(33,11) = "y"
+ │ │ │ │ ├── operator_loc: (33,12)-(33,13) = "="
+ │ │ │ │ └── value:
+ │ │ │ │ @ IntegerNode (location: (33,14)-(33,15))
+ │ │ │ │ └── flags: decimal
+ │ │ │ ├── rest: ∅
+ │ │ │ ├── posts: (length: 0)
+ │ │ │ ├── keywords: (length: 1)
+ │ │ │ │ └── @ RequiredKeywordParameterNode (location: (33,17)-(33,19))
+ │ │ │ │ ├── name: :z
+ │ │ │ │ └── name_loc: (33,17)-(33,19) = "z:"
+ │ │ │ ├── keyword_rest: ∅
+ │ │ │ └── block: ∅
+ │ │ ├── locals: (length: 0)
+ │ │ ├── opening_loc: (33,6)-(33,7) = "|"
+ │ │ └── closing_loc: (33,19)-(33,20) = "|"
+ │ ├── body:
+ │ │ @ StatementsNode (location: (33,21)-(33,22))
+ │ │ └── body: (length: 1)
+ │ │ └── @ LocalVariableReadNode (location: (33,21)-(33,22))
+ │ │ ├── name: :x
+ │ │ └── depth: 0
+ │ ├── opening_loc: (33,4)-(33,5) = "{"
+ │ └── closing_loc: (33,23)-(33,24) = "}"
├── @ CallNode (location: (35,0)-(35,11))
+ │ ├── flags: ∅
│ ├── receiver: ∅
│ ├── call_operator_loc: ∅
│ ├── name: :foo
@@ -557,30 +558,29 @@
│ ├── opening_loc: ∅
│ ├── arguments: ∅
│ ├── closing_loc: ∅
- │ ├── block:
- │ │ @ BlockNode (location: (35,4)-(35,11))
- │ │ ├── locals: [:x]
- │ │ ├── locals_body_index: 1
- │ │ ├── parameters:
- │ │ │ @ BlockParametersNode (location: (35,6)-(35,9))
- │ │ │ ├── parameters:
- │ │ │ │ @ ParametersNode (location: (35,7)-(35,8))
- │ │ │ │ ├── requireds: (length: 1)
- │ │ │ │ │ └── @ RequiredParameterNode (location: (35,7)-(35,8))
- │ │ │ │ │ └── name: :x
- │ │ │ │ ├── optionals: (length: 0)
- │ │ │ │ ├── rest: ∅
- │ │ │ │ ├── posts: (length: 0)
- │ │ │ │ ├── keywords: (length: 0)
- │ │ │ │ ├── keyword_rest: ∅
- │ │ │ │ └── block: ∅
- │ │ │ ├── locals: (length: 0)
- │ │ │ ├── opening_loc: (35,6)-(35,7) = "|"
- │ │ │ └── closing_loc: (35,8)-(35,9) = "|"
- │ │ ├── body: ∅
- │ │ ├── opening_loc: (35,4)-(35,5) = "{"
- │ │ └── closing_loc: (35,10)-(35,11) = "}"
- │ └── flags: ∅
+ │ └── block:
+ │ @ BlockNode (location: (35,4)-(35,11))
+ │ ├── locals: [:x]
+ │ ├── locals_body_index: 1
+ │ ├── parameters:
+ │ │ @ BlockParametersNode (location: (35,6)-(35,9))
+ │ │ ├── parameters:
+ │ │ │ @ ParametersNode (location: (35,7)-(35,8))
+ │ │ │ ├── requireds: (length: 1)
+ │ │ │ │ └── @ RequiredParameterNode (location: (35,7)-(35,8))
+ │ │ │ │ └── name: :x
+ │ │ │ ├── optionals: (length: 0)
+ │ │ │ ├── rest: ∅
+ │ │ │ ├── posts: (length: 0)
+ │ │ │ ├── keywords: (length: 0)
+ │ │ │ ├── keyword_rest: ∅
+ │ │ │ └── block: ∅
+ │ │ ├── locals: (length: 0)
+ │ │ ├── opening_loc: (35,6)-(35,7) = "|"
+ │ │ └── closing_loc: (35,8)-(35,9) = "|"
+ │ ├── body: ∅
+ │ ├── opening_loc: (35,4)-(35,5) = "{"
+ │ └── closing_loc: (35,10)-(35,11) = "}"
├── @ LocalVariableWriteNode (location: (37,0)-(37,8))
│ ├── name: :fork
│ ├── depth: 0
@@ -590,6 +590,7 @@
│ │ └── flags: decimal
│ └── operator_loc: (37,5)-(37,6) = "="
├── @ CallNode (location: (38,0)-(39,3))
+ │ ├── flags: ∅
│ ├── receiver: ∅
│ ├── call_operator_loc: ∅
│ ├── name: :fork
@@ -597,31 +598,31 @@
│ ├── opening_loc: ∅
│ ├── arguments: ∅
│ ├── closing_loc: ∅
- │ ├── block:
- │ │ @ BlockNode (location: (38,5)-(39,3))
- │ │ ├── locals: [:a]
- │ │ ├── locals_body_index: 1
- │ │ ├── parameters:
- │ │ │ @ BlockParametersNode (location: (38,8)-(38,11))
- │ │ │ ├── parameters:
- │ │ │ │ @ ParametersNode (location: (38,9)-(38,10))
- │ │ │ │ ├── requireds: (length: 1)
- │ │ │ │ │ └── @ RequiredParameterNode (location: (38,9)-(38,10))
- │ │ │ │ │ └── name: :a
- │ │ │ │ ├── optionals: (length: 0)
- │ │ │ │ ├── rest: ∅
- │ │ │ │ ├── posts: (length: 0)
- │ │ │ │ ├── keywords: (length: 0)
- │ │ │ │ ├── keyword_rest: ∅
- │ │ │ │ └── block: ∅
- │ │ │ ├── locals: (length: 0)
- │ │ │ ├── opening_loc: (38,8)-(38,9) = "|"
- │ │ │ └── closing_loc: (38,10)-(38,11) = "|"
- │ │ ├── body: ∅
- │ │ ├── opening_loc: (38,5)-(38,7) = "do"
- │ │ └── closing_loc: (39,0)-(39,3) = "end"
- │ └── flags: ∅
+ │ └── block:
+ │ @ BlockNode (location: (38,5)-(39,3))
+ │ ├── locals: [:a]
+ │ ├── locals_body_index: 1
+ │ ├── parameters:
+ │ │ @ BlockParametersNode (location: (38,8)-(38,11))
+ │ │ ├── parameters:
+ │ │ │ @ ParametersNode (location: (38,9)-(38,10))
+ │ │ │ ├── requireds: (length: 1)
+ │ │ │ │ └── @ RequiredParameterNode (location: (38,9)-(38,10))
+ │ │ │ │ └── name: :a
+ │ │ │ ├── optionals: (length: 0)
+ │ │ │ ├── rest: ∅
+ │ │ │ ├── posts: (length: 0)
+ │ │ │ ├── keywords: (length: 0)
+ │ │ │ ├── keyword_rest: ∅
+ │ │ │ └── block: ∅
+ │ │ ├── locals: (length: 0)
+ │ │ ├── opening_loc: (38,8)-(38,9) = "|"
+ │ │ └── closing_loc: (38,10)-(38,11) = "|"
+ │ ├── body: ∅
+ │ ├── opening_loc: (38,5)-(38,7) = "do"
+ │ └── closing_loc: (39,0)-(39,3) = "end"
├── @ CallNode (location: (41,0)-(41,12))
+ │ ├── flags: ∅
│ ├── receiver: ∅
│ ├── call_operator_loc: ∅
│ ├── name: :fork
@@ -629,31 +630,31 @@
│ ├── opening_loc: ∅
│ ├── arguments: ∅
│ ├── closing_loc: ∅
- │ ├── block:
- │ │ @ BlockNode (location: (41,5)-(41,12))
- │ │ ├── locals: [:a]
- │ │ ├── locals_body_index: 1
- │ │ ├── parameters:
- │ │ │ @ BlockParametersNode (location: (41,7)-(41,10))
- │ │ │ ├── parameters:
- │ │ │ │ @ ParametersNode (location: (41,8)-(41,9))
- │ │ │ │ ├── requireds: (length: 1)
- │ │ │ │ │ └── @ RequiredParameterNode (location: (41,8)-(41,9))
- │ │ │ │ │ └── name: :a
- │ │ │ │ ├── optionals: (length: 0)
- │ │ │ │ ├── rest: ∅
- │ │ │ │ ├── posts: (length: 0)
- │ │ │ │ ├── keywords: (length: 0)
- │ │ │ │ ├── keyword_rest: ∅
- │ │ │ │ └── block: ∅
- │ │ │ ├── locals: (length: 0)
- │ │ │ ├── opening_loc: (41,7)-(41,8) = "|"
- │ │ │ └── closing_loc: (41,9)-(41,10) = "|"
- │ │ ├── body: ∅
- │ │ ├── opening_loc: (41,5)-(41,6) = "{"
- │ │ └── closing_loc: (41,11)-(41,12) = "}"
- │ └── flags: ∅
+ │ └── block:
+ │ @ BlockNode (location: (41,5)-(41,12))
+ │ ├── locals: [:a]
+ │ ├── locals_body_index: 1
+ │ ├── parameters:
+ │ │ @ BlockParametersNode (location: (41,7)-(41,10))
+ │ │ ├── parameters:
+ │ │ │ @ ParametersNode (location: (41,8)-(41,9))
+ │ │ │ ├── requireds: (length: 1)
+ │ │ │ │ └── @ RequiredParameterNode (location: (41,8)-(41,9))
+ │ │ │ │ └── name: :a
+ │ │ │ ├── optionals: (length: 0)
+ │ │ │ ├── rest: ∅
+ │ │ │ ├── posts: (length: 0)
+ │ │ │ ├── keywords: (length: 0)
+ │ │ │ ├── keyword_rest: ∅
+ │ │ │ └── block: ∅
+ │ │ ├── locals: (length: 0)
+ │ │ ├── opening_loc: (41,7)-(41,8) = "|"
+ │ │ └── closing_loc: (41,9)-(41,10) = "|"
+ │ ├── body: ∅
+ │ ├── opening_loc: (41,5)-(41,6) = "{"
+ │ └── closing_loc: (41,11)-(41,12) = "}"
├── @ CallNode (location: (43,0)-(44,3))
+ │ ├── flags: ∅
│ ├── receiver: ∅
│ ├── call_operator_loc: ∅
│ ├── name: :C
@@ -661,16 +662,16 @@
│ ├── opening_loc: ∅
│ ├── arguments: ∅
│ ├── closing_loc: ∅
- │ ├── block:
- │ │ @ BlockNode (location: (43,2)-(44,3))
- │ │ ├── locals: []
- │ │ ├── locals_body_index: 0
- │ │ ├── parameters: ∅
- │ │ ├── body: ∅
- │ │ ├── opening_loc: (43,2)-(43,4) = "do"
- │ │ └── closing_loc: (44,0)-(44,3) = "end"
- │ └── flags: ∅
+ │ └── block:
+ │ @ BlockNode (location: (43,2)-(44,3))
+ │ ├── locals: []
+ │ ├── locals_body_index: 0
+ │ ├── parameters: ∅
+ │ ├── body: ∅
+ │ ├── opening_loc: (43,2)-(43,4) = "do"
+ │ └── closing_loc: (44,0)-(44,3) = "end"
├── @ CallNode (location: (46,0)-(46,4))
+ │ ├── flags: ∅
│ ├── receiver: ∅
│ ├── call_operator_loc: ∅
│ ├── name: :C
@@ -678,16 +679,16 @@
│ ├── opening_loc: ∅
│ ├── arguments: ∅
│ ├── closing_loc: ∅
- │ ├── block:
- │ │ @ BlockNode (location: (46,2)-(46,4))
- │ │ ├── locals: []
- │ │ ├── locals_body_index: 0
- │ │ ├── parameters: ∅
- │ │ ├── body: ∅
- │ │ ├── opening_loc: (46,2)-(46,3) = "{"
- │ │ └── closing_loc: (46,3)-(46,4) = "}"
- │ └── flags: ∅
+ │ └── block:
+ │ @ BlockNode (location: (46,2)-(46,4))
+ │ ├── locals: []
+ │ ├── locals_body_index: 0
+ │ ├── parameters: ∅
+ │ ├── body: ∅
+ │ ├── opening_loc: (46,2)-(46,3) = "{"
+ │ └── closing_loc: (46,3)-(46,4) = "}"
├── @ CallNode (location: (48,0)-(52,1))
+ │ ├── flags: ∅
│ ├── receiver: ∅
│ ├── call_operator_loc: ∅
│ ├── name: :foo
@@ -695,54 +696,54 @@
│ ├── opening_loc: ∅
│ ├── arguments:
│ │ @ ArgumentsNode (location: (48,4)-(52,1))
- │ │ ├── arguments: (length: 1)
- │ │ │ └── @ CallNode (location: (48,4)-(52,1))
- │ │ │ ├── receiver: ∅
- │ │ │ ├── call_operator_loc: ∅
- │ │ │ ├── name: :lambda
- │ │ │ ├── message_loc: (48,4)-(48,10) = "lambda"
- │ │ │ ├── opening_loc: ∅
- │ │ │ ├── arguments: ∅
- │ │ │ ├── closing_loc: ∅
- │ │ │ ├── block:
- │ │ │ │ @ BlockNode (location: (48,11)-(52,1))
- │ │ │ │ ├── locals: [:a, :b]
- │ │ │ │ ├── locals_body_index: 2
- │ │ │ │ ├── parameters:
- │ │ │ │ │ @ BlockParametersNode (location: (48,13)-(51,3))
- │ │ │ │ │ ├── parameters:
- │ │ │ │ │ │ @ ParametersNode (location: (49,2)-(50,6))
- │ │ │ │ │ │ ├── requireds: (length: 0)
- │ │ │ │ │ │ ├── optionals: (length: 0)
- │ │ │ │ │ │ ├── rest: ∅
- │ │ │ │ │ │ ├── posts: (length: 0)
- │ │ │ │ │ │ ├── keywords: (length: 2)
- │ │ │ │ │ │ │ ├── @ OptionalKeywordParameterNode (location: (49,2)-(49,6))
- │ │ │ │ │ │ │ │ ├── name: :a
- │ │ │ │ │ │ │ │ ├── name_loc: (49,2)-(49,4) = "a:"
- │ │ │ │ │ │ │ │ └── value:
- │ │ │ │ │ │ │ │ @ IntegerNode (location: (49,5)-(49,6))
- │ │ │ │ │ │ │ │ └── flags: decimal
- │ │ │ │ │ │ │ └── @ OptionalKeywordParameterNode (location: (50,2)-(50,6))
- │ │ │ │ │ │ │ ├── name: :b
- │ │ │ │ │ │ │ ├── name_loc: (50,2)-(50,4) = "b:"
- │ │ │ │ │ │ │ └── value:
- │ │ │ │ │ │ │ @ IntegerNode (location: (50,5)-(50,6))
- │ │ │ │ │ │ │ └── flags: decimal
- │ │ │ │ │ │ ├── keyword_rest: ∅
- │ │ │ │ │ │ └── block: ∅
- │ │ │ │ │ ├── locals: (length: 0)
- │ │ │ │ │ ├── opening_loc: (48,13)-(48,14) = "|"
- │ │ │ │ │ └── closing_loc: (51,2)-(51,3) = "|"
- │ │ │ │ ├── body: ∅
- │ │ │ │ ├── opening_loc: (48,11)-(48,12) = "{"
- │ │ │ │ └── closing_loc: (52,0)-(52,1) = "}"
- │ │ │ └── flags: ∅
- │ │ └── flags: ∅
+ │ │ ├── flags: ∅
+ │ │ └── arguments: (length: 1)
+ │ │ └── @ CallNode (location: (48,4)-(52,1))
+ │ │ ├── flags: ∅
+ │ │ ├── receiver: ∅
+ │ │ ├── call_operator_loc: ∅
+ │ │ ├── name: :lambda
+ │ │ ├── message_loc: (48,4)-(48,10) = "lambda"
+ │ │ ├── opening_loc: ∅
+ │ │ ├── arguments: ∅
+ │ │ ├── closing_loc: ∅
+ │ │ └── block:
+ │ │ @ BlockNode (location: (48,11)-(52,1))
+ │ │ ├── locals: [:a, :b]
+ │ │ ├── locals_body_index: 2
+ │ │ ├── parameters:
+ │ │ │ @ BlockParametersNode (location: (48,13)-(51,3))
+ │ │ │ ├── parameters:
+ │ │ │ │ @ ParametersNode (location: (49,2)-(50,6))
+ │ │ │ │ ├── requireds: (length: 0)
+ │ │ │ │ ├── optionals: (length: 0)
+ │ │ │ │ ├── rest: ∅
+ │ │ │ │ ├── posts: (length: 0)
+ │ │ │ │ ├── keywords: (length: 2)
+ │ │ │ │ │ ├── @ OptionalKeywordParameterNode (location: (49,2)-(49,6))
+ │ │ │ │ │ │ ├── name: :a
+ │ │ │ │ │ │ ├── name_loc: (49,2)-(49,4) = "a:"
+ │ │ │ │ │ │ └── value:
+ │ │ │ │ │ │ @ IntegerNode (location: (49,5)-(49,6))
+ │ │ │ │ │ │ └── flags: decimal
+ │ │ │ │ │ └── @ OptionalKeywordParameterNode (location: (50,2)-(50,6))
+ │ │ │ │ │ ├── name: :b
+ │ │ │ │ │ ├── name_loc: (50,2)-(50,4) = "b:"
+ │ │ │ │ │ └── value:
+ │ │ │ │ │ @ IntegerNode (location: (50,5)-(50,6))
+ │ │ │ │ │ └── flags: decimal
+ │ │ │ │ ├── keyword_rest: ∅
+ │ │ │ │ └── block: ∅
+ │ │ │ ├── locals: (length: 0)
+ │ │ │ ├── opening_loc: (48,13)-(48,14) = "|"
+ │ │ │ └── closing_loc: (51,2)-(51,3) = "|"
+ │ │ ├── body: ∅
+ │ │ ├── opening_loc: (48,11)-(48,12) = "{"
+ │ │ └── closing_loc: (52,0)-(52,1) = "}"
│ ├── closing_loc: ∅
- │ ├── block: ∅
- │ └── flags: ∅
+ │ └── block: ∅
└── @ CallNode (location: (54,0)-(54,17))
+ ├── flags: ∅
├── receiver: ∅
├── call_operator_loc: ∅
├── name: :foo
@@ -750,28 +751,27 @@
├── opening_loc: ∅
├── arguments: ∅
├── closing_loc: ∅
- ├── block:
- │ @ BlockNode (location: (54,4)-(54,17))
- │ ├── locals: [:bar]
- │ ├── locals_body_index: 1
- │ ├── parameters:
- │ │ @ BlockParametersNode (location: (54,7)-(54,13))
- │ │ ├── parameters:
- │ │ │ @ ParametersNode (location: (54,8)-(54,12))
- │ │ │ ├── requireds: (length: 1)
- │ │ │ │ └── @ RequiredParameterNode (location: (54,8)-(54,11))
- │ │ │ │ └── name: :bar
- │ │ │ ├── optionals: (length: 0)
- │ │ │ ├── rest:
- │ │ │ │ @ ImplicitRestNode (location: (54,11)-(54,12))
- │ │ │ ├── posts: (length: 0)
- │ │ │ ├── keywords: (length: 0)
- │ │ │ ├── keyword_rest: ∅
- │ │ │ └── block: ∅
- │ │ ├── locals: (length: 0)
- │ │ ├── opening_loc: (54,7)-(54,8) = "|"
- │ │ └── closing_loc: (54,12)-(54,13) = "|"
- │ ├── body: ∅
- │ ├── opening_loc: (54,4)-(54,6) = "do"
- │ └── closing_loc: (54,14)-(54,17) = "end"
- └── flags: ∅
+ └── block:
+ @ BlockNode (location: (54,4)-(54,17))
+ ├── locals: [:bar]
+ ├── locals_body_index: 1
+ ├── parameters:
+ │ @ BlockParametersNode (location: (54,7)-(54,13))
+ │ ├── parameters:
+ │ │ @ ParametersNode (location: (54,8)-(54,12))
+ │ │ ├── requireds: (length: 1)
+ │ │ │ └── @ RequiredParameterNode (location: (54,8)-(54,11))
+ │ │ │ └── name: :bar
+ │ │ ├── optionals: (length: 0)
+ │ │ ├── rest:
+ │ │ │ @ ImplicitRestNode (location: (54,11)-(54,12))
+ │ │ ├── posts: (length: 0)
+ │ │ ├── keywords: (length: 0)
+ │ │ ├── keyword_rest: ∅
+ │ │ └── block: ∅
+ │ ├── locals: (length: 0)
+ │ ├── opening_loc: (54,7)-(54,8) = "|"
+ │ └── closing_loc: (54,12)-(54,13) = "|"
+ ├── body: ∅
+ ├── opening_loc: (54,4)-(54,6) = "do"
+ └── closing_loc: (54,14)-(54,17) = "end"
diff --git a/test/prism/snapshots/boolean_operators.txt b/test/prism/snapshots/boolean_operators.txt
index a8e3918f81..82d85a9cbb 100644
--- a/test/prism/snapshots/boolean_operators.txt
+++ b/test/prism/snapshots/boolean_operators.txt
@@ -8,6 +8,7 @@
│ ├── operator_loc: (1,2)-(1,5) = "&&="
│ ├── value:
│ │ @ CallNode (location: (1,6)-(1,7))
+ │ │ ├── flags: variable_call
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
│ │ ├── name: :b
@@ -15,8 +16,7 @@
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
- │ │ ├── block: ∅
- │ │ └── flags: variable_call
+ │ │ └── block: ∅
│ ├── name: :a
│ └── depth: 0
├── @ LocalVariableOperatorWriteNode (location: (3,0)-(3,6))
@@ -24,6 +24,7 @@
│ ├── operator_loc: (3,2)-(3,4) = "+="
│ ├── value:
│ │ @ CallNode (location: (3,5)-(3,6))
+ │ │ ├── flags: variable_call
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
│ │ ├── name: :b
@@ -31,8 +32,7 @@
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
- │ │ ├── block: ∅
- │ │ └── flags: variable_call
+ │ │ └── block: ∅
│ ├── name: :a
│ ├── operator: :+
│ └── depth: 0
@@ -41,6 +41,7 @@
├── operator_loc: (5,2)-(5,5) = "||="
├── value:
│ @ CallNode (location: (5,6)-(5,7))
+ │ ├── flags: variable_call
│ ├── receiver: ∅
│ ├── call_operator_loc: ∅
│ ├── name: :b
@@ -48,7 +49,6 @@
│ ├── opening_loc: ∅
│ ├── arguments: ∅
│ ├── closing_loc: ∅
- │ ├── block: ∅
- │ └── flags: variable_call
+ │ └── block: ∅
├── name: :a
└── depth: 0
diff --git a/test/prism/snapshots/break.txt b/test/prism/snapshots/break.txt
index f54f6c5202..d605851d63 100644
--- a/test/prism/snapshots/break.txt
+++ b/test/prism/snapshots/break.txt
@@ -9,125 +9,127 @@
├── @ BreakNode (location: (3,0)-(3,19))
│ ├── arguments:
│ │ @ ArgumentsNode (location: (3,6)-(3,19))
- │ │ ├── arguments: (length: 3)
- │ │ │ ├── @ ParenthesesNode (location: (3,6)-(3,9))
- │ │ │ │ ├── body:
- │ │ │ │ │ @ StatementsNode (location: (3,7)-(3,8))
- │ │ │ │ │ └── body: (length: 1)
- │ │ │ │ │ └── @ IntegerNode (location: (3,7)-(3,8))
- │ │ │ │ │ └── flags: decimal
- │ │ │ │ ├── opening_loc: (3,6)-(3,7) = "("
- │ │ │ │ └── closing_loc: (3,8)-(3,9) = ")"
- │ │ │ ├── @ ParenthesesNode (location: (3,11)-(3,14))
- │ │ │ │ ├── body:
- │ │ │ │ │ @ StatementsNode (location: (3,12)-(3,13))
- │ │ │ │ │ └── body: (length: 1)
- │ │ │ │ │ └── @ IntegerNode (location: (3,12)-(3,13))
- │ │ │ │ │ └── flags: decimal
- │ │ │ │ ├── opening_loc: (3,11)-(3,12) = "("
- │ │ │ │ └── closing_loc: (3,13)-(3,14) = ")"
- │ │ │ └── @ ParenthesesNode (location: (3,16)-(3,19))
- │ │ │ ├── body:
- │ │ │ │ @ StatementsNode (location: (3,17)-(3,18))
- │ │ │ │ └── body: (length: 1)
- │ │ │ │ └── @ IntegerNode (location: (3,17)-(3,18))
- │ │ │ │ └── flags: decimal
- │ │ │ ├── opening_loc: (3,16)-(3,17) = "("
- │ │ │ └── closing_loc: (3,18)-(3,19) = ")"
- │ │ └── flags: ∅
+ │ │ ├── flags: ∅
+ │ │ └── arguments: (length: 3)
+ │ │ ├── @ ParenthesesNode (location: (3,6)-(3,9))
+ │ │ │ ├── body:
+ │ │ │ │ @ StatementsNode (location: (3,7)-(3,8))
+ │ │ │ │ └── body: (length: 1)
+ │ │ │ │ └── @ IntegerNode (location: (3,7)-(3,8))
+ │ │ │ │ └── flags: decimal
+ │ │ │ ├── opening_loc: (3,6)-(3,7) = "("
+ │ │ │ └── closing_loc: (3,8)-(3,9) = ")"
+ │ │ ├── @ ParenthesesNode (location: (3,11)-(3,14))
+ │ │ │ ├── body:
+ │ │ │ │ @ StatementsNode (location: (3,12)-(3,13))
+ │ │ │ │ └── body: (length: 1)
+ │ │ │ │ └── @ IntegerNode (location: (3,12)-(3,13))
+ │ │ │ │ └── flags: decimal
+ │ │ │ ├── opening_loc: (3,11)-(3,12) = "("
+ │ │ │ └── closing_loc: (3,13)-(3,14) = ")"
+ │ │ └── @ ParenthesesNode (location: (3,16)-(3,19))
+ │ │ ├── body:
+ │ │ │ @ StatementsNode (location: (3,17)-(3,18))
+ │ │ │ └── body: (length: 1)
+ │ │ │ └── @ IntegerNode (location: (3,17)-(3,18))
+ │ │ │ └── flags: decimal
+ │ │ ├── opening_loc: (3,16)-(3,17) = "("
+ │ │ └── closing_loc: (3,18)-(3,19) = ")"
│ └── keyword_loc: (3,0)-(3,5) = "break"
├── @ BreakNode (location: (5,0)-(5,7))
│ ├── arguments:
│ │ @ ArgumentsNode (location: (5,6)-(5,7))
- │ │ ├── arguments: (length: 1)
- │ │ │ └── @ IntegerNode (location: (5,6)-(5,7))
- │ │ │ └── flags: decimal
- │ │ └── flags: ∅
+ │ │ ├── flags: ∅
+ │ │ └── arguments: (length: 1)
+ │ │ └── @ IntegerNode (location: (5,6)-(5,7))
+ │ │ └── flags: decimal
│ └── keyword_loc: (5,0)-(5,5) = "break"
├── @ BreakNode (location: (7,0)-(8,1))
│ ├── arguments:
│ │ @ ArgumentsNode (location: (7,6)-(8,1))
- │ │ ├── arguments: (length: 3)
- │ │ │ ├── @ IntegerNode (location: (7,6)-(7,7))
- │ │ │ │ └── flags: decimal
- │ │ │ ├── @ IntegerNode (location: (7,9)-(7,10))
- │ │ │ │ └── flags: decimal
- │ │ │ └── @ IntegerNode (location: (8,0)-(8,1))
- │ │ │ └── flags: decimal
- │ │ └── flags: ∅
+ │ │ ├── flags: ∅
+ │ │ └── arguments: (length: 3)
+ │ │ ├── @ IntegerNode (location: (7,6)-(7,7))
+ │ │ │ └── flags: decimal
+ │ │ ├── @ IntegerNode (location: (7,9)-(7,10))
+ │ │ │ └── flags: decimal
+ │ │ └── @ IntegerNode (location: (8,0)-(8,1))
+ │ │ └── flags: decimal
│ └── keyword_loc: (7,0)-(7,5) = "break"
├── @ BreakNode (location: (10,0)-(10,13))
│ ├── arguments:
│ │ @ ArgumentsNode (location: (10,6)-(10,13))
- │ │ ├── arguments: (length: 3)
- │ │ │ ├── @ IntegerNode (location: (10,6)-(10,7))
- │ │ │ │ └── flags: decimal
- │ │ │ ├── @ IntegerNode (location: (10,9)-(10,10))
- │ │ │ │ └── flags: decimal
- │ │ │ └── @ IntegerNode (location: (10,12)-(10,13))
- │ │ │ └── flags: decimal
- │ │ └── flags: ∅
+ │ │ ├── flags: ∅
+ │ │ └── arguments: (length: 3)
+ │ │ ├── @ IntegerNode (location: (10,6)-(10,7))
+ │ │ │ └── flags: decimal
+ │ │ ├── @ IntegerNode (location: (10,9)-(10,10))
+ │ │ │ └── flags: decimal
+ │ │ └── @ IntegerNode (location: (10,12)-(10,13))
+ │ │ └── flags: decimal
│ └── keyword_loc: (10,0)-(10,5) = "break"
├── @ BreakNode (location: (12,0)-(12,15))
│ ├── arguments:
│ │ @ ArgumentsNode (location: (12,6)-(12,15))
- │ │ ├── arguments: (length: 1)
- │ │ │ └── @ ArrayNode (location: (12,6)-(12,15))
- │ │ │ ├── elements: (length: 3)
- │ │ │ │ ├── @ IntegerNode (location: (12,7)-(12,8))
- │ │ │ │ │ └── flags: decimal
- │ │ │ │ ├── @ IntegerNode (location: (12,10)-(12,11))
- │ │ │ │ │ └── flags: decimal
- │ │ │ │ └── @ IntegerNode (location: (12,13)-(12,14))
- │ │ │ │ └── flags: decimal
- │ │ │ ├── opening_loc: (12,6)-(12,7) = "["
- │ │ │ ├── closing_loc: (12,14)-(12,15) = "]"
- │ │ │ └── flags: ∅
- │ │ └── flags: ∅
+ │ │ ├── flags: ∅
+ │ │ └── arguments: (length: 1)
+ │ │ └── @ ArrayNode (location: (12,6)-(12,15))
+ │ │ ├── flags: ∅
+ │ │ ├── elements: (length: 3)
+ │ │ │ ├── @ IntegerNode (location: (12,7)-(12,8))
+ │ │ │ │ └── flags: decimal
+ │ │ │ ├── @ IntegerNode (location: (12,10)-(12,11))
+ │ │ │ │ └── flags: decimal
+ │ │ │ └── @ IntegerNode (location: (12,13)-(12,14))
+ │ │ │ └── flags: decimal
+ │ │ ├── opening_loc: (12,6)-(12,7) = "["
+ │ │ └── closing_loc: (12,14)-(12,15) = "]"
│ └── keyword_loc: (12,0)-(12,5) = "break"
├── @ BreakNode (location: (14,0)-(17,1))
│ ├── arguments:
│ │ @ ArgumentsNode (location: (14,5)-(17,1))
- │ │ ├── arguments: (length: 1)
- │ │ │ └── @ ParenthesesNode (location: (14,5)-(17,1))
- │ │ │ ├── body:
- │ │ │ │ @ StatementsNode (location: (15,2)-(16,3))
- │ │ │ │ └── body: (length: 2)
- │ │ │ │ ├── @ IntegerNode (location: (15,2)-(15,3))
- │ │ │ │ │ └── flags: decimal
- │ │ │ │ └── @ IntegerNode (location: (16,2)-(16,3))
- │ │ │ │ └── flags: decimal
- │ │ │ ├── opening_loc: (14,5)-(14,6) = "("
- │ │ │ └── closing_loc: (17,0)-(17,1) = ")"
- │ │ └── flags: ∅
+ │ │ ├── flags: ∅
+ │ │ └── arguments: (length: 1)
+ │ │ └── @ ParenthesesNode (location: (14,5)-(17,1))
+ │ │ ├── body:
+ │ │ │ @ StatementsNode (location: (15,2)-(16,3))
+ │ │ │ └── body: (length: 2)
+ │ │ │ ├── @ IntegerNode (location: (15,2)-(15,3))
+ │ │ │ │ └── flags: decimal
+ │ │ │ └── @ IntegerNode (location: (16,2)-(16,3))
+ │ │ │ └── flags: decimal
+ │ │ ├── opening_loc: (14,5)-(14,6) = "("
+ │ │ └── closing_loc: (17,0)-(17,1) = ")"
│ └── keyword_loc: (14,0)-(14,5) = "break"
├── @ BreakNode (location: (19,0)-(19,7))
│ ├── arguments:
│ │ @ ArgumentsNode (location: (19,5)-(19,7))
- │ │ ├── arguments: (length: 1)
- │ │ │ └── @ ParenthesesNode (location: (19,5)-(19,7))
- │ │ │ ├── body: ∅
- │ │ │ ├── opening_loc: (19,5)-(19,6) = "("
- │ │ │ └── closing_loc: (19,6)-(19,7) = ")"
- │ │ └── flags: ∅
+ │ │ ├── flags: ∅
+ │ │ └── arguments: (length: 1)
+ │ │ └── @ ParenthesesNode (location: (19,5)-(19,7))
+ │ │ ├── body: ∅
+ │ │ ├── opening_loc: (19,5)-(19,6) = "("
+ │ │ └── closing_loc: (19,6)-(19,7) = ")"
│ └── keyword_loc: (19,0)-(19,5) = "break"
├── @ BreakNode (location: (21,0)-(21,8))
│ ├── arguments:
│ │ @ ArgumentsNode (location: (21,5)-(21,8))
- │ │ ├── arguments: (length: 1)
- │ │ │ └── @ ParenthesesNode (location: (21,5)-(21,8))
- │ │ │ ├── body:
- │ │ │ │ @ StatementsNode (location: (21,6)-(21,7))
- │ │ │ │ └── body: (length: 1)
- │ │ │ │ └── @ IntegerNode (location: (21,6)-(21,7))
- │ │ │ │ └── flags: decimal
- │ │ │ ├── opening_loc: (21,5)-(21,6) = "("
- │ │ │ └── closing_loc: (21,7)-(21,8) = ")"
- │ │ └── flags: ∅
+ │ │ ├── flags: ∅
+ │ │ └── arguments: (length: 1)
+ │ │ └── @ ParenthesesNode (location: (21,5)-(21,8))
+ │ │ ├── body:
+ │ │ │ @ StatementsNode (location: (21,6)-(21,7))
+ │ │ │ └── body: (length: 1)
+ │ │ │ └── @ IntegerNode (location: (21,6)-(21,7))
+ │ │ │ └── flags: decimal
+ │ │ ├── opening_loc: (21,5)-(21,6) = "("
+ │ │ └── closing_loc: (21,7)-(21,8) = ")"
│ └── keyword_loc: (21,0)-(21,5) = "break"
├── @ CallNode (location: (23,0)-(23,22))
+ │ ├── flags: ∅
│ ├── receiver:
│ │ @ CallNode (location: (23,0)-(23,16))
+ │ │ ├── flags: ∅
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
│ │ ├── name: :foo
@@ -135,41 +137,41 @@
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
- │ │ ├── block:
- │ │ │ @ BlockNode (location: (23,4)-(23,16))
- │ │ │ ├── locals: []
- │ │ │ ├── locals_body_index: 0
- │ │ │ ├── parameters: ∅
- │ │ │ ├── body:
- │ │ │ │ @ StatementsNode (location: (23,6)-(23,14))
- │ │ │ │ └── body: (length: 1)
- │ │ │ │ └── @ BreakNode (location: (23,6)-(23,14))
- │ │ │ │ ├── arguments:
- │ │ │ │ │ @ ArgumentsNode (location: (23,12)-(23,14))
- │ │ │ │ │ ├── arguments: (length: 1)
- │ │ │ │ │ │ └── @ IntegerNode (location: (23,12)-(23,14))
- │ │ │ │ │ │ └── flags: decimal
- │ │ │ │ │ └── flags: ∅
- │ │ │ │ └── keyword_loc: (23,6)-(23,11) = "break"
- │ │ │ ├── opening_loc: (23,4)-(23,5) = "{"
- │ │ │ └── closing_loc: (23,15)-(23,16) = "}"
- │ │ └── flags: ∅
+ │ │ └── block:
+ │ │ @ BlockNode (location: (23,4)-(23,16))
+ │ │ ├── locals: []
+ │ │ ├── locals_body_index: 0
+ │ │ ├── parameters: ∅
+ │ │ ├── body:
+ │ │ │ @ StatementsNode (location: (23,6)-(23,14))
+ │ │ │ └── body: (length: 1)
+ │ │ │ └── @ BreakNode (location: (23,6)-(23,14))
+ │ │ │ ├── arguments:
+ │ │ │ │ @ ArgumentsNode (location: (23,12)-(23,14))
+ │ │ │ │ ├── flags: ∅
+ │ │ │ │ └── arguments: (length: 1)
+ │ │ │ │ └── @ IntegerNode (location: (23,12)-(23,14))
+ │ │ │ │ └── flags: decimal
+ │ │ │ └── keyword_loc: (23,6)-(23,11) = "break"
+ │ │ ├── opening_loc: (23,4)-(23,5) = "{"
+ │ │ └── closing_loc: (23,15)-(23,16) = "}"
│ ├── call_operator_loc: ∅
│ ├── name: :==
│ ├── message_loc: (23,17)-(23,19) = "=="
│ ├── opening_loc: ∅
│ ├── arguments:
│ │ @ ArgumentsNode (location: (23,20)-(23,22))
- │ │ ├── arguments: (length: 1)
- │ │ │ └── @ IntegerNode (location: (23,20)-(23,22))
- │ │ │ └── flags: decimal
- │ │ └── flags: ∅
+ │ │ ├── flags: ∅
+ │ │ └── arguments: (length: 1)
+ │ │ └── @ IntegerNode (location: (23,20)-(23,22))
+ │ │ └── flags: decimal
│ ├── closing_loc: ∅
- │ ├── block: ∅
- │ └── flags: ∅
+ │ └── block: ∅
└── @ CallNode (location: (25,0)-(25,23))
+ ├── flags: ∅
├── receiver:
│ @ CallNode (location: (25,0)-(25,17))
+ │ ├── flags: ∅
│ ├── receiver: ∅
│ ├── call_operator_loc: ∅
│ ├── name: :foo
@@ -177,45 +179,43 @@
│ ├── opening_loc: ∅
│ ├── arguments: ∅
│ ├── closing_loc: ∅
- │ ├── block:
- │ │ @ BlockNode (location: (25,4)-(25,17))
- │ │ ├── locals: [:a]
- │ │ ├── locals_body_index: 1
- │ │ ├── parameters:
- │ │ │ @ BlockParametersNode (location: (25,6)-(25,9))
- │ │ │ ├── parameters:
- │ │ │ │ @ ParametersNode (location: (25,7)-(25,8))
- │ │ │ │ ├── requireds: (length: 1)
- │ │ │ │ │ └── @ RequiredParameterNode (location: (25,7)-(25,8))
- │ │ │ │ │ └── name: :a
- │ │ │ │ ├── optionals: (length: 0)
- │ │ │ │ ├── rest: ∅
- │ │ │ │ ├── posts: (length: 0)
- │ │ │ │ ├── keywords: (length: 0)
- │ │ │ │ ├── keyword_rest: ∅
- │ │ │ │ └── block: ∅
- │ │ │ ├── locals: (length: 0)
- │ │ │ ├── opening_loc: (25,6)-(25,7) = "|"
- │ │ │ └── closing_loc: (25,8)-(25,9) = "|"
- │ │ ├── body:
- │ │ │ @ StatementsNode (location: (25,10)-(25,15))
- │ │ │ └── body: (length: 1)
- │ │ │ └── @ BreakNode (location: (25,10)-(25,15))
- │ │ │ ├── arguments: ∅
- │ │ │ └── keyword_loc: (25,10)-(25,15) = "break"
- │ │ ├── opening_loc: (25,4)-(25,5) = "{"
- │ │ └── closing_loc: (25,16)-(25,17) = "}"
- │ └── flags: ∅
+ │ └── block:
+ │ @ BlockNode (location: (25,4)-(25,17))
+ │ ├── locals: [:a]
+ │ ├── locals_body_index: 1
+ │ ├── parameters:
+ │ │ @ BlockParametersNode (location: (25,6)-(25,9))
+ │ │ ├── parameters:
+ │ │ │ @ ParametersNode (location: (25,7)-(25,8))
+ │ │ │ ├── requireds: (length: 1)
+ │ │ │ │ └── @ RequiredParameterNode (location: (25,7)-(25,8))
+ │ │ │ │ └── name: :a
+ │ │ │ ├── optionals: (length: 0)
+ │ │ │ ├── rest: ∅
+ │ │ │ ├── posts: (length: 0)
+ │ │ │ ├── keywords: (length: 0)
+ │ │ │ ├── keyword_rest: ∅
+ │ │ │ └── block: ∅
+ │ │ ├── locals: (length: 0)
+ │ │ ├── opening_loc: (25,6)-(25,7) = "|"
+ │ │ └── closing_loc: (25,8)-(25,9) = "|"
+ │ ├── body:
+ │ │ @ StatementsNode (location: (25,10)-(25,15))
+ │ │ └── body: (length: 1)
+ │ │ └── @ BreakNode (location: (25,10)-(25,15))
+ │ │ ├── arguments: ∅
+ │ │ └── keyword_loc: (25,10)-(25,15) = "break"
+ │ ├── opening_loc: (25,4)-(25,5) = "{"
+ │ └── closing_loc: (25,16)-(25,17) = "}"
├── call_operator_loc: ∅
├── name: :==
├── message_loc: (25,18)-(25,20) = "=="
├── opening_loc: ∅
├── arguments:
│ @ ArgumentsNode (location: (25,21)-(25,23))
- │ ├── arguments: (length: 1)
- │ │ └── @ IntegerNode (location: (25,21)-(25,23))
- │ │ └── flags: decimal
- │ └── flags: ∅
+ │ ├── flags: ∅
+ │ └── arguments: (length: 1)
+ │ └── @ IntegerNode (location: (25,21)-(25,23))
+ │ └── flags: decimal
├── closing_loc: ∅
- ├── block: ∅
- └── flags: ∅
+ └── block: ∅
diff --git a/test/prism/snapshots/case.txt b/test/prism/snapshots/case.txt
index badeaa07cc..f841fcb269 100644
--- a/test/prism/snapshots/case.txt
+++ b/test/prism/snapshots/case.txt
@@ -35,6 +35,7 @@
│ │ │ @ StatementsNode (location: (5,22)-(5,30))
│ │ │ └── body: (length: 1)
│ │ │ └── @ CallNode (location: (5,22)-(5,30))
+ │ │ │ ├── flags: ∅
│ │ │ ├── receiver: ∅
│ │ │ ├── call_operator_loc: ∅
│ │ │ ├── name: :puts
@@ -42,16 +43,15 @@
│ │ │ ├── opening_loc: ∅
│ │ │ ├── arguments:
│ │ │ │ @ ArgumentsNode (location: (5,27)-(5,30))
- │ │ │ │ ├── arguments: (length: 1)
- │ │ │ │ │ └── @ SymbolNode (location: (5,27)-(5,30))
- │ │ │ │ │ ├── opening_loc: (5,27)-(5,28) = ":"
- │ │ │ │ │ ├── value_loc: (5,28)-(5,30) = "hi"
- │ │ │ │ │ ├── closing_loc: ∅
- │ │ │ │ │ └── unescaped: "hi"
- │ │ │ │ └── flags: ∅
+ │ │ │ │ ├── flags: ∅
+ │ │ │ │ └── arguments: (length: 1)
+ │ │ │ │ └── @ SymbolNode (location: (5,27)-(5,30))
+ │ │ │ │ ├── opening_loc: (5,27)-(5,28) = ":"
+ │ │ │ │ ├── value_loc: (5,28)-(5,30) = "hi"
+ │ │ │ │ ├── closing_loc: ∅
+ │ │ │ │ └── unescaped: "hi"
│ │ │ ├── closing_loc: ∅
- │ │ │ ├── block: ∅
- │ │ │ └── flags: ∅
+ │ │ │ └── block: ∅
│ │ └── @ WhenNode (location: (5,32)-(5,53))
│ │ ├── keyword_loc: (5,32)-(5,36) = "when"
│ │ ├── conditions: (length: 1)
@@ -60,6 +60,7 @@
│ │ @ StatementsNode (location: (5,44)-(5,53))
│ │ └── body: (length: 1)
│ │ └── @ CallNode (location: (5,44)-(5,53))
+ │ │ ├── flags: ∅
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
│ │ ├── name: :puts
@@ -67,16 +68,15 @@
│ │ ├── opening_loc: ∅
│ │ ├── arguments:
│ │ │ @ ArgumentsNode (location: (5,49)-(5,53))
- │ │ │ ├── arguments: (length: 1)
- │ │ │ │ └── @ SymbolNode (location: (5,49)-(5,53))
- │ │ │ │ ├── opening_loc: (5,49)-(5,50) = ":"
- │ │ │ │ ├── value_loc: (5,50)-(5,53) = "bye"
- │ │ │ │ ├── closing_loc: ∅
- │ │ │ │ └── unescaped: "bye"
- │ │ │ └── flags: ∅
+ │ │ │ ├── flags: ∅
+ │ │ │ └── arguments: (length: 1)
+ │ │ │ └── @ SymbolNode (location: (5,49)-(5,53))
+ │ │ │ ├── opening_loc: (5,49)-(5,50) = ":"
+ │ │ │ ├── value_loc: (5,50)-(5,53) = "bye"
+ │ │ │ ├── closing_loc: ∅
+ │ │ │ └── unescaped: "bye"
│ │ ├── closing_loc: ∅
- │ │ ├── block: ∅
- │ │ └── flags: ∅
+ │ │ └── block: ∅
│ ├── consequent: ∅
│ ├── case_keyword_loc: (5,0)-(5,4) = "case"
│ └── end_keyword_loc: (5,55)-(5,58) = "end"
@@ -90,6 +90,7 @@
│ │ │ ├── operator_loc: (7,11)-(7,12) = "*"
│ │ │ └── expression:
│ │ │ @ CallNode (location: (7,12)-(7,15))
+ │ │ │ ├── flags: variable_call
│ │ │ ├── receiver: ∅
│ │ │ ├── call_operator_loc: ∅
│ │ │ ├── name: :foo
@@ -97,8 +98,7 @@
│ │ │ ├── opening_loc: ∅
│ │ │ ├── arguments: ∅
│ │ │ ├── closing_loc: ∅
- │ │ │ ├── block: ∅
- │ │ │ └── flags: variable_call
+ │ │ │ └── block: ∅
│ │ └── statements: ∅
│ ├── consequent: ∅
│ ├── case_keyword_loc: (7,0)-(7,4) = "case"
@@ -137,6 +137,7 @@
├── @ CaseNode (location: (15,0)-(15,36))
│ ├── predicate:
│ │ @ CallNode (location: (15,5)-(15,9))
+ │ │ ├── flags: variable_call
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
│ │ ├── name: :this
@@ -144,8 +145,7 @@
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
- │ │ ├── block: ∅
- │ │ └── flags: variable_call
+ │ │ └── block: ∅
│ ├── conditions: (length: 1)
│ │ └── @ WhenNode (location: (15,11)-(15,31))
│ │ ├── keyword_loc: (15,11)-(15,15) = "when"
@@ -165,8 +165,10 @@
│ │ ├── keyword_loc: (18,0)-(18,4) = "when"
│ │ ├── conditions: (length: 1)
│ │ │ └── @ CallNode (location: (18,5)-(18,15))
+ │ │ │ ├── flags: ∅
│ │ │ ├── receiver:
│ │ │ │ @ CallNode (location: (18,5)-(18,8))
+ │ │ │ │ ├── flags: variable_call
│ │ │ │ ├── receiver: ∅
│ │ │ │ ├── call_operator_loc: ∅
│ │ │ │ ├── name: :foo
@@ -174,29 +176,27 @@
│ │ │ │ ├── opening_loc: ∅
│ │ │ │ ├── arguments: ∅
│ │ │ │ ├── closing_loc: ∅
- │ │ │ │ ├── block: ∅
- │ │ │ │ └── flags: variable_call
+ │ │ │ │ └── block: ∅
│ │ │ ├── call_operator_loc: ∅
│ │ │ ├── name: :==
│ │ │ ├── message_loc: (18,9)-(18,11) = "=="
│ │ │ ├── opening_loc: ∅
│ │ │ ├── arguments:
│ │ │ │ @ ArgumentsNode (location: (18,12)-(18,15))
- │ │ │ │ ├── arguments: (length: 1)
- │ │ │ │ │ └── @ CallNode (location: (18,12)-(18,15))
- │ │ │ │ │ ├── receiver: ∅
- │ │ │ │ │ ├── call_operator_loc: ∅
- │ │ │ │ │ ├── name: :bar
- │ │ │ │ │ ├── message_loc: (18,12)-(18,15) = "bar"
- │ │ │ │ │ ├── opening_loc: ∅
- │ │ │ │ │ ├── arguments: ∅
- │ │ │ │ │ ├── closing_loc: ∅
- │ │ │ │ │ ├── block: ∅
- │ │ │ │ │ └── flags: variable_call
- │ │ │ │ └── flags: ∅
+ │ │ │ │ ├── flags: ∅
+ │ │ │ │ └── arguments: (length: 1)
+ │ │ │ │ └── @ CallNode (location: (18,12)-(18,15))
+ │ │ │ │ ├── flags: variable_call
+ │ │ │ │ ├── receiver: ∅
+ │ │ │ │ ├── call_operator_loc: ∅
+ │ │ │ │ ├── name: :bar
+ │ │ │ │ ├── message_loc: (18,12)-(18,15) = "bar"
+ │ │ │ │ ├── opening_loc: ∅
+ │ │ │ │ ├── arguments: ∅
+ │ │ │ │ ├── closing_loc: ∅
+ │ │ │ │ └── block: ∅
│ │ │ ├── closing_loc: ∅
- │ │ │ ├── block: ∅
- │ │ │ └── flags: ∅
+ │ │ │ └── block: ∅
│ │ └── statements: ∅
│ ├── consequent: ∅
│ ├── case_keyword_loc: (17,0)-(17,4) = "case"
@@ -208,6 +208,7 @@
│ │ ├── keyword_loc: (22,0)-(22,4) = "when"
│ │ ├── conditions: (length: 1)
│ │ │ └── @ CallNode (location: (22,5)-(22,6))
+ │ │ │ ├── flags: variable_call
│ │ │ ├── receiver: ∅
│ │ │ ├── call_operator_loc: ∅
│ │ │ ├── name: :a
@@ -215,8 +216,7 @@
│ │ │ ├── opening_loc: ∅
│ │ │ ├── arguments: ∅
│ │ │ ├── closing_loc: ∅
- │ │ │ ├── block: ∅
- │ │ │ └── flags: variable_call
+ │ │ │ └── block: ∅
│ │ └── statements: ∅
│ ├── consequent:
│ │ @ ElseNode (location: (23,0)-(25,3))
@@ -228,6 +228,7 @@
├── @ CaseNode (location: (27,0)-(30,6))
│ ├── predicate:
│ │ @ CallNode (location: (27,5)-(27,9))
+ │ │ ├── flags: variable_call
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
│ │ ├── name: :type
@@ -235,8 +236,7 @@
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
- │ │ ├── block: ∅
- │ │ └── flags: variable_call
+ │ │ └── block: ∅
│ ├── conditions: (length: 1)
│ │ └── @ WhenNode (location: (28,3)-(28,10))
│ │ ├── keyword_loc: (28,3)-(28,7) = "when"
diff --git a/test/prism/snapshots/classes.txt b/test/prism/snapshots/classes.txt
index 06cdf40cd2..7bb029234d 100644
--- a/test/prism/snapshots/classes.txt
+++ b/test/prism/snapshots/classes.txt
@@ -108,8 +108,10 @@
│ ├── operator_loc: (11,6)-(11,8) = "<<"
│ ├── expression:
│ │ @ CallNode (location: (11,9)-(11,16))
+ │ │ ├── flags: ∅
│ │ ├── receiver:
│ │ │ @ CallNode (location: (11,13)-(11,16))
+ │ │ │ ├── flags: variable_call
│ │ │ ├── receiver: ∅
│ │ │ ├── call_operator_loc: ∅
│ │ │ ├── name: :foo
@@ -117,16 +119,14 @@
│ │ │ ├── opening_loc: ∅
│ │ │ ├── arguments: ∅
│ │ │ ├── closing_loc: ∅
- │ │ │ ├── block: ∅
- │ │ │ └── flags: variable_call
+ │ │ │ └── block: ∅
│ │ ├── call_operator_loc: ∅
│ │ ├── name: :!
│ │ ├── message_loc: (11,9)-(11,12) = "not"
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
- │ │ ├── block: ∅
- │ │ └── flags: ∅
+ │ │ └── block: ∅
│ ├── body: ∅
│ └── end_keyword_loc: (12,0)-(12,3) = "end"
├── @ ClassNode (location: (14,0)-(14,40))
@@ -210,8 +210,10 @@
│ ├── operator_loc: (18,6)-(18,8) = "<<"
│ ├── expression:
│ │ @ CallNode (location: (18,9)-(18,16))
+ │ │ ├── flags: ∅
│ │ ├── receiver:
│ │ │ @ CallNode (location: (18,9)-(18,12))
+ │ │ │ ├── flags: variable_call
│ │ │ ├── receiver: ∅
│ │ │ ├── call_operator_loc: ∅
│ │ │ ├── name: :foo
@@ -219,16 +221,14 @@
│ │ │ ├── opening_loc: ∅
│ │ │ ├── arguments: ∅
│ │ │ ├── closing_loc: ∅
- │ │ │ ├── block: ∅
- │ │ │ └── flags: variable_call
+ │ │ │ └── block: ∅
│ │ ├── call_operator_loc: (18,12)-(18,13) = "."
│ │ ├── name: :bar
│ │ ├── message_loc: (18,13)-(18,16) = "bar"
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
- │ │ ├── block: ∅
- │ │ └── flags: ∅
+ │ │ └── block: ∅
│ ├── body: ∅
│ └── end_keyword_loc: (19,0)-(19,3) = "end"
├── @ SingletonClassNode (location: (21,0)-(21,20))
@@ -237,8 +237,10 @@
│ ├── operator_loc: (21,6)-(21,8) = "<<"
│ ├── expression:
│ │ @ CallNode (location: (21,9)-(21,16))
+ │ │ ├── flags: ∅
│ │ ├── receiver:
│ │ │ @ CallNode (location: (21,9)-(21,12))
+ │ │ │ ├── flags: variable_call
│ │ │ ├── receiver: ∅
│ │ │ ├── call_operator_loc: ∅
│ │ │ ├── name: :foo
@@ -246,16 +248,14 @@
│ │ │ ├── opening_loc: ∅
│ │ │ ├── arguments: ∅
│ │ │ ├── closing_loc: ∅
- │ │ │ ├── block: ∅
- │ │ │ └── flags: variable_call
+ │ │ │ └── block: ∅
│ │ ├── call_operator_loc: (21,12)-(21,13) = "."
│ │ ├── name: :bar
│ │ ├── message_loc: (21,13)-(21,16) = "bar"
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
- │ │ ├── block: ∅
- │ │ └── flags: ∅
+ │ │ └── block: ∅
│ ├── body: ∅
│ └── end_keyword_loc: (21,17)-(21,20) = "end"
├── @ SingletonClassNode (location: (23,0)-(24,3))
@@ -284,6 +284,7 @@
│ │ @ StatementsNode (location: (29,0)-(29,5))
│ │ └── body: (length: 1)
│ │ └── @ CallNode (location: (29,0)-(29,5))
+ │ │ ├── flags: ∅
│ │ ├── receiver:
│ │ │ @ IntegerNode (location: (29,0)-(29,1))
│ │ │ └── flags: decimal
@@ -293,13 +294,12 @@
│ │ ├── opening_loc: ∅
│ │ ├── arguments:
│ │ │ @ ArgumentsNode (location: (29,4)-(29,5))
- │ │ │ ├── arguments: (length: 1)
- │ │ │ │ └── @ IntegerNode (location: (29,4)-(29,5))
- │ │ │ │ └── flags: decimal
- │ │ │ └── flags: ∅
+ │ │ │ ├── flags: ∅
+ │ │ │ └── arguments: (length: 1)
+ │ │ │ └── @ IntegerNode (location: (29,4)-(29,5))
+ │ │ │ └── flags: decimal
│ │ ├── closing_loc: ∅
- │ │ ├── block: ∅
- │ │ └── flags: ∅
+ │ │ └── block: ∅
│ └── end_keyword_loc: (30,0)-(30,3) = "end"
├── @ SingletonClassNode (location: (32,0)-(32,23))
│ ├── locals: []
@@ -311,6 +311,7 @@
│ │ @ StatementsNode (location: (32,14)-(32,19))
│ │ └── body: (length: 1)
│ │ └── @ CallNode (location: (32,14)-(32,19))
+ │ │ ├── flags: ∅
│ │ ├── receiver:
│ │ │ @ IntegerNode (location: (32,14)-(32,15))
│ │ │ └── flags: decimal
@@ -320,13 +321,12 @@
│ │ ├── opening_loc: ∅
│ │ ├── arguments:
│ │ │ @ ArgumentsNode (location: (32,18)-(32,19))
- │ │ │ ├── arguments: (length: 1)
- │ │ │ │ └── @ IntegerNode (location: (32,18)-(32,19))
- │ │ │ │ └── flags: decimal
- │ │ │ └── flags: ∅
+ │ │ │ ├── flags: ∅
+ │ │ │ └── arguments: (length: 1)
+ │ │ │ └── @ IntegerNode (location: (32,18)-(32,19))
+ │ │ │ └── flags: decimal
│ │ ├── closing_loc: ∅
- │ │ ├── block: ∅
- │ │ └── flags: ∅
+ │ │ └── block: ∅
│ └── end_keyword_loc: (32,20)-(32,23) = "end"
└── @ ClassNode (location: (34,0)-(35,3))
├── locals: []
@@ -337,6 +337,7 @@
├── inheritance_operator_loc: (34,8)-(34,9) = "<"
├── superclass:
│ @ CallNode (location: (34,10)-(34,14))
+ │ ├── flags: ∅
│ ├── receiver:
│ │ @ ConstantReadNode (location: (34,10)-(34,11))
│ │ └── name: :B
@@ -346,13 +347,12 @@
│ ├── opening_loc: (34,11)-(34,12) = "["
│ ├── arguments:
│ │ @ ArgumentsNode (location: (34,12)-(34,13))
- │ │ ├── arguments: (length: 1)
- │ │ │ └── @ IntegerNode (location: (34,12)-(34,13))
- │ │ │ └── flags: decimal
- │ │ └── flags: ∅
+ │ │ ├── flags: ∅
+ │ │ └── arguments: (length: 1)
+ │ │ └── @ IntegerNode (location: (34,12)-(34,13))
+ │ │ └── flags: decimal
│ ├── closing_loc: (34,13)-(34,14) = "]"
- │ ├── block: ∅
- │ └── flags: ∅
+ │ └── block: ∅
├── body: ∅
├── end_keyword_loc: (35,0)-(35,3) = "end"
└── name: :A
diff --git a/test/prism/snapshots/command_method_call.txt b/test/prism/snapshots/command_method_call.txt
index c93aaec5b2..e5cb5202bf 100644
--- a/test/prism/snapshots/command_method_call.txt
+++ b/test/prism/snapshots/command_method_call.txt
@@ -4,6 +4,7 @@
@ StatementsNode (location: (1,0)-(41,10))
└── body: (length: 21)
├── @ CallNode (location: (1,0)-(1,5))
+ │ ├── flags: ∅
│ ├── receiver: ∅
│ ├── call_operator_loc: ∅
│ ├── name: :foo
@@ -11,14 +12,14 @@
│ ├── opening_loc: ∅
│ ├── arguments:
│ │ @ ArgumentsNode (location: (1,4)-(1,5))
- │ │ ├── arguments: (length: 1)
- │ │ │ └── @ IntegerNode (location: (1,4)-(1,5))
- │ │ │ └── flags: decimal
- │ │ └── flags: ∅
+ │ │ ├── flags: ∅
+ │ │ └── arguments: (length: 1)
+ │ │ └── @ IntegerNode (location: (1,4)-(1,5))
+ │ │ └── flags: decimal
│ ├── closing_loc: ∅
- │ ├── block: ∅
- │ └── flags: ∅
+ │ └── block: ∅
├── @ CallNode (location: (3,0)-(3,9))
+ │ ├── flags: ∅
│ ├── receiver: ∅
│ ├── call_operator_loc: ∅
│ ├── name: :foo
@@ -26,30 +27,30 @@
│ ├── opening_loc: ∅
│ ├── arguments:
│ │ @ ArgumentsNode (location: (3,4)-(3,9))
- │ │ ├── arguments: (length: 1)
- │ │ │ └── @ CallNode (location: (3,4)-(3,9))
- │ │ │ ├── receiver: ∅
- │ │ │ ├── call_operator_loc: ∅
- │ │ │ ├── name: :bar
- │ │ │ ├── message_loc: (3,4)-(3,7) = "bar"
- │ │ │ ├── opening_loc: ∅
- │ │ │ ├── arguments:
- │ │ │ │ @ ArgumentsNode (location: (3,8)-(3,9))
- │ │ │ │ ├── arguments: (length: 1)
- │ │ │ │ │ └── @ IntegerNode (location: (3,8)-(3,9))
- │ │ │ │ │ └── flags: decimal
- │ │ │ │ └── flags: ∅
- │ │ │ ├── closing_loc: ∅
- │ │ │ ├── block: ∅
- │ │ │ └── flags: ∅
- │ │ └── flags: ∅
+ │ │ ├── flags: ∅
+ │ │ └── arguments: (length: 1)
+ │ │ └── @ CallNode (location: (3,4)-(3,9))
+ │ │ ├── flags: ∅
+ │ │ ├── receiver: ∅
+ │ │ ├── call_operator_loc: ∅
+ │ │ ├── name: :bar
+ │ │ ├── message_loc: (3,4)-(3,7) = "bar"
+ │ │ ├── opening_loc: ∅
+ │ │ ├── arguments:
+ │ │ │ @ ArgumentsNode (location: (3,8)-(3,9))
+ │ │ │ ├── flags: ∅
+ │ │ │ └── arguments: (length: 1)
+ │ │ │ └── @ IntegerNode (location: (3,8)-(3,9))
+ │ │ │ └── flags: decimal
+ │ │ ├── closing_loc: ∅
+ │ │ └── block: ∅
│ ├── closing_loc: ∅
- │ ├── block: ∅
- │ └── flags: ∅
+ │ └── block: ∅
├── @ IfNode (location: (5,0)-(5,14))
│ ├── if_keyword_loc: (5,6)-(5,8) = "if"
│ ├── predicate:
│ │ @ CallNode (location: (5,9)-(5,14))
+ │ │ ├── flags: ∅
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
│ │ ├── name: :bar
@@ -57,18 +58,18 @@
│ │ ├── opening_loc: ∅
│ │ ├── arguments:
│ │ │ @ ArgumentsNode (location: (5,13)-(5,14))
- │ │ │ ├── arguments: (length: 1)
- │ │ │ │ └── @ IntegerNode (location: (5,13)-(5,14))
- │ │ │ │ └── flags: decimal
- │ │ │ └── flags: ∅
+ │ │ │ ├── flags: ∅
+ │ │ │ └── arguments: (length: 1)
+ │ │ │ └── @ IntegerNode (location: (5,13)-(5,14))
+ │ │ │ └── flags: decimal
│ │ ├── closing_loc: ∅
- │ │ ├── block: ∅
- │ │ └── flags: ∅
+ │ │ └── block: ∅
│ ├── then_keyword_loc: ∅
│ ├── statements:
│ │ @ StatementsNode (location: (5,0)-(5,5))
│ │ └── body: (length: 1)
│ │ └── @ CallNode (location: (5,0)-(5,5))
+ │ │ ├── flags: ∅
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
│ │ ├── name: :foo
@@ -76,19 +77,19 @@
│ │ ├── opening_loc: ∅
│ │ ├── arguments:
│ │ │ @ ArgumentsNode (location: (5,4)-(5,5))
- │ │ │ ├── arguments: (length: 1)
- │ │ │ │ └── @ IntegerNode (location: (5,4)-(5,5))
- │ │ │ │ └── flags: decimal
- │ │ │ └── flags: ∅
+ │ │ │ ├── flags: ∅
+ │ │ │ └── arguments: (length: 1)
+ │ │ │ └── @ IntegerNode (location: (5,4)-(5,5))
+ │ │ │ └── flags: decimal
│ │ ├── closing_loc: ∅
- │ │ ├── block: ∅
- │ │ └── flags: ∅
+ │ │ └── block: ∅
│ ├── consequent: ∅
│ └── end_keyword_loc: ∅
├── @ UnlessNode (location: (7,0)-(7,18))
│ ├── keyword_loc: (7,6)-(7,12) = "unless"
│ ├── predicate:
│ │ @ CallNode (location: (7,13)-(7,18))
+ │ │ ├── flags: ∅
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
│ │ ├── name: :bar
@@ -96,18 +97,18 @@
│ │ ├── opening_loc: ∅
│ │ ├── arguments:
│ │ │ @ ArgumentsNode (location: (7,17)-(7,18))
- │ │ │ ├── arguments: (length: 1)
- │ │ │ │ └── @ IntegerNode (location: (7,17)-(7,18))
- │ │ │ │ └── flags: decimal
- │ │ │ └── flags: ∅
+ │ │ │ ├── flags: ∅
+ │ │ │ └── arguments: (length: 1)
+ │ │ │ └── @ IntegerNode (location: (7,17)-(7,18))
+ │ │ │ └── flags: decimal
│ │ ├── closing_loc: ∅
- │ │ ├── block: ∅
- │ │ └── flags: ∅
+ │ │ └── block: ∅
│ ├── then_keyword_loc: ∅
│ ├── statements:
│ │ @ StatementsNode (location: (7,0)-(7,5))
│ │ └── body: (length: 1)
│ │ └── @ CallNode (location: (7,0)-(7,5))
+ │ │ ├── flags: ∅
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
│ │ ├── name: :foo
@@ -115,20 +116,21 @@
│ │ ├── opening_loc: ∅
│ │ ├── arguments:
│ │ │ @ ArgumentsNode (location: (7,4)-(7,5))
- │ │ │ ├── arguments: (length: 1)
- │ │ │ │ └── @ IntegerNode (location: (7,4)-(7,5))
- │ │ │ │ └── flags: decimal
- │ │ │ └── flags: ∅
+ │ │ │ ├── flags: ∅
+ │ │ │ └── arguments: (length: 1)
+ │ │ │ └── @ IntegerNode (location: (7,4)-(7,5))
+ │ │ │ └── flags: decimal
│ │ ├── closing_loc: ∅
- │ │ ├── block: ∅
- │ │ └── flags: ∅
+ │ │ └── block: ∅
│ ├── consequent: ∅
│ └── end_keyword_loc: ∅
├── @ WhileNode (location: (9,0)-(9,17))
+ │ ├── flags: ∅
│ ├── keyword_loc: (9,6)-(9,11) = "while"
│ ├── closing_loc: ∅
│ ├── predicate:
│ │ @ CallNode (location: (9,12)-(9,17))
+ │ │ ├── flags: ∅
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
│ │ ├── name: :bar
@@ -136,37 +138,37 @@
│ │ ├── opening_loc: ∅
│ │ ├── arguments:
│ │ │ @ ArgumentsNode (location: (9,16)-(9,17))
- │ │ │ ├── arguments: (length: 1)
- │ │ │ │ └── @ IntegerNode (location: (9,16)-(9,17))
- │ │ │ │ └── flags: decimal
- │ │ │ └── flags: ∅
+ │ │ │ ├── flags: ∅
+ │ │ │ └── arguments: (length: 1)
+ │ │ │ └── @ IntegerNode (location: (9,16)-(9,17))
+ │ │ │ └── flags: decimal
│ │ ├── closing_loc: ∅
- │ │ ├── block: ∅
- │ │ └── flags: ∅
- │ ├── statements:
- │ │ @ StatementsNode (location: (9,0)-(9,5))
- │ │ └── body: (length: 1)
- │ │ └── @ CallNode (location: (9,0)-(9,5))
- │ │ ├── receiver: ∅
- │ │ ├── call_operator_loc: ∅
- │ │ ├── name: :foo
- │ │ ├── message_loc: (9,0)-(9,3) = "foo"
- │ │ ├── opening_loc: ∅
- │ │ ├── arguments:
- │ │ │ @ ArgumentsNode (location: (9,4)-(9,5))
- │ │ │ ├── arguments: (length: 1)
- │ │ │ │ └── @ IntegerNode (location: (9,4)-(9,5))
- │ │ │ │ └── flags: decimal
- │ │ │ └── flags: ∅
- │ │ ├── closing_loc: ∅
- │ │ ├── block: ∅
- │ │ └── flags: ∅
- │ └── flags: ∅
+ │ │ └── block: ∅
+ │ └── statements:
+ │ @ StatementsNode (location: (9,0)-(9,5))
+ │ └── body: (length: 1)
+ │ └── @ CallNode (location: (9,0)-(9,5))
+ │ ├── flags: ∅
+ │ ├── receiver: ∅
+ │ ├── call_operator_loc: ∅
+ │ ├── name: :foo
+ │ ├── message_loc: (9,0)-(9,3) = "foo"
+ │ ├── opening_loc: ∅
+ │ ├── arguments:
+ │ │ @ ArgumentsNode (location: (9,4)-(9,5))
+ │ │ ├── flags: ∅
+ │ │ └── arguments: (length: 1)
+ │ │ └── @ IntegerNode (location: (9,4)-(9,5))
+ │ │ └── flags: decimal
+ │ ├── closing_loc: ∅
+ │ └── block: ∅
├── @ UntilNode (location: (11,0)-(11,17))
+ │ ├── flags: ∅
│ ├── keyword_loc: (11,6)-(11,11) = "until"
│ ├── closing_loc: ∅
│ ├── predicate:
│ │ @ CallNode (location: (11,12)-(11,17))
+ │ │ ├── flags: ∅
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
│ │ ├── name: :bar
@@ -174,35 +176,34 @@
│ │ ├── opening_loc: ∅
│ │ ├── arguments:
│ │ │ @ ArgumentsNode (location: (11,16)-(11,17))
- │ │ │ ├── arguments: (length: 1)
- │ │ │ │ └── @ IntegerNode (location: (11,16)-(11,17))
- │ │ │ │ └── flags: decimal
- │ │ │ └── flags: ∅
+ │ │ │ ├── flags: ∅
+ │ │ │ └── arguments: (length: 1)
+ │ │ │ └── @ IntegerNode (location: (11,16)-(11,17))
+ │ │ │ └── flags: decimal
│ │ ├── closing_loc: ∅
- │ │ ├── block: ∅
- │ │ └── flags: ∅
- │ ├── statements:
- │ │ @ StatementsNode (location: (11,0)-(11,5))
- │ │ └── body: (length: 1)
- │ │ └── @ CallNode (location: (11,0)-(11,5))
- │ │ ├── receiver: ∅
- │ │ ├── call_operator_loc: ∅
- │ │ ├── name: :foo
- │ │ ├── message_loc: (11,0)-(11,3) = "foo"
- │ │ ├── opening_loc: ∅
- │ │ ├── arguments:
- │ │ │ @ ArgumentsNode (location: (11,4)-(11,5))
- │ │ │ ├── arguments: (length: 1)
- │ │ │ │ └── @ IntegerNode (location: (11,4)-(11,5))
- │ │ │ │ └── flags: decimal
- │ │ │ └── flags: ∅
- │ │ ├── closing_loc: ∅
- │ │ ├── block: ∅
- │ │ └── flags: ∅
- │ └── flags: ∅
+ │ │ └── block: ∅
+ │ └── statements:
+ │ @ StatementsNode (location: (11,0)-(11,5))
+ │ └── body: (length: 1)
+ │ └── @ CallNode (location: (11,0)-(11,5))
+ │ ├── flags: ∅
+ │ ├── receiver: ∅
+ │ ├── call_operator_loc: ∅
+ │ ├── name: :foo
+ │ ├── message_loc: (11,0)-(11,3) = "foo"
+ │ ├── opening_loc: ∅
+ │ ├── arguments:
+ │ │ @ ArgumentsNode (location: (11,4)-(11,5))
+ │ │ ├── flags: ∅
+ │ │ └── arguments: (length: 1)
+ │ │ └── @ IntegerNode (location: (11,4)-(11,5))
+ │ │ └── flags: decimal
+ │ ├── closing_loc: ∅
+ │ └── block: ∅
├── @ RescueModifierNode (location: (13,0)-(13,18))
│ ├── expression:
│ │ @ CallNode (location: (13,0)-(13,5))
+ │ │ ├── flags: ∅
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
│ │ ├── name: :foo
@@ -210,16 +211,16 @@
│ │ ├── opening_loc: ∅
│ │ ├── arguments:
│ │ │ @ ArgumentsNode (location: (13,4)-(13,5))
- │ │ │ ├── arguments: (length: 1)
- │ │ │ │ └── @ IntegerNode (location: (13,4)-(13,5))
- │ │ │ │ └── flags: decimal
- │ │ │ └── flags: ∅
+ │ │ │ ├── flags: ∅
+ │ │ │ └── arguments: (length: 1)
+ │ │ │ └── @ IntegerNode (location: (13,4)-(13,5))
+ │ │ │ └── flags: decimal
│ │ ├── closing_loc: ∅
- │ │ ├── block: ∅
- │ │ └── flags: ∅
+ │ │ └── block: ∅
│ ├── keyword_loc: (13,6)-(13,12) = "rescue"
│ └── rescue_expression:
│ @ CallNode (location: (13,13)-(13,18))
+ │ ├── flags: ∅
│ ├── receiver: ∅
│ ├── call_operator_loc: ∅
│ ├── name: :bar
@@ -227,16 +228,17 @@
│ ├── opening_loc: ∅
│ ├── arguments:
│ │ @ ArgumentsNode (location: (13,17)-(13,18))
- │ │ ├── arguments: (length: 1)
- │ │ │ └── @ IntegerNode (location: (13,17)-(13,18))
- │ │ │ └── flags: decimal
- │ │ └── flags: ∅
+ │ │ ├── flags: ∅
+ │ │ └── arguments: (length: 1)
+ │ │ └── @ IntegerNode (location: (13,17)-(13,18))
+ │ │ └── flags: decimal
│ ├── closing_loc: ∅
- │ ├── block: ∅
- │ └── flags: ∅
+ │ └── block: ∅
├── @ CallNode (location: (15,0)-(15,10))
+ │ ├── flags: ∅
│ ├── receiver:
│ │ @ CallNode (location: (15,0)-(15,3))
+ │ │ ├── flags: variable_call
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
│ │ ├── name: :foo
@@ -244,37 +246,36 @@
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
- │ │ ├── block: ∅
- │ │ └── flags: variable_call
+ │ │ └── block: ∅
│ ├── call_operator_loc: ∅
│ ├── name: :[]
│ ├── message_loc: (15,3)-(15,10) = "[bar 1]"
│ ├── opening_loc: (15,3)-(15,4) = "["
│ ├── arguments:
│ │ @ ArgumentsNode (location: (15,4)-(15,9))
- │ │ ├── arguments: (length: 1)
- │ │ │ └── @ CallNode (location: (15,4)-(15,9))
- │ │ │ ├── receiver: ∅
- │ │ │ ├── call_operator_loc: ∅
- │ │ │ ├── name: :bar
- │ │ │ ├── message_loc: (15,4)-(15,7) = "bar"
- │ │ │ ├── opening_loc: ∅
- │ │ │ ├── arguments:
- │ │ │ │ @ ArgumentsNode (location: (15,8)-(15,9))
- │ │ │ │ ├── arguments: (length: 1)
- │ │ │ │ │ └── @ IntegerNode (location: (15,8)-(15,9))
- │ │ │ │ │ └── flags: decimal
- │ │ │ │ └── flags: ∅
- │ │ │ ├── closing_loc: ∅
- │ │ │ ├── block: ∅
- │ │ │ └── flags: ∅
- │ │ └── flags: ∅
+ │ │ ├── flags: ∅
+ │ │ └── arguments: (length: 1)
+ │ │ └── @ CallNode (location: (15,4)-(15,9))
+ │ │ ├── flags: ∅
+ │ │ ├── receiver: ∅
+ │ │ ├── call_operator_loc: ∅
+ │ │ ├── name: :bar
+ │ │ ├── message_loc: (15,4)-(15,7) = "bar"
+ │ │ ├── opening_loc: ∅
+ │ │ ├── arguments:
+ │ │ │ @ ArgumentsNode (location: (15,8)-(15,9))
+ │ │ │ ├── flags: ∅
+ │ │ │ └── arguments: (length: 1)
+ │ │ │ └── @ IntegerNode (location: (15,8)-(15,9))
+ │ │ │ └── flags: decimal
+ │ │ ├── closing_loc: ∅
+ │ │ └── block: ∅
│ ├── closing_loc: (15,9)-(15,10) = "]"
- │ ├── block: ∅
- │ └── flags: ∅
+ │ └── block: ∅
├── @ AndNode (location: (17,0)-(17,15))
│ ├── left:
│ │ @ CallNode (location: (17,0)-(17,5))
+ │ │ ├── flags: ∅
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
│ │ ├── name: :foo
@@ -282,15 +283,15 @@
│ │ ├── opening_loc: ∅
│ │ ├── arguments:
│ │ │ @ ArgumentsNode (location: (17,4)-(17,5))
- │ │ │ ├── arguments: (length: 1)
- │ │ │ │ └── @ IntegerNode (location: (17,4)-(17,5))
- │ │ │ │ └── flags: decimal
- │ │ │ └── flags: ∅
+ │ │ │ ├── flags: ∅
+ │ │ │ └── arguments: (length: 1)
+ │ │ │ └── @ IntegerNode (location: (17,4)-(17,5))
+ │ │ │ └── flags: decimal
│ │ ├── closing_loc: ∅
- │ │ ├── block: ∅
- │ │ └── flags: ∅
+ │ │ └── block: ∅
│ ├── right:
│ │ @ CallNode (location: (17,10)-(17,15))
+ │ │ ├── flags: ∅
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
│ │ ├── name: :bar
@@ -298,17 +299,17 @@
│ │ ├── opening_loc: ∅
│ │ ├── arguments:
│ │ │ @ ArgumentsNode (location: (17,14)-(17,15))
- │ │ │ ├── arguments: (length: 1)
- │ │ │ │ └── @ IntegerNode (location: (17,14)-(17,15))
- │ │ │ │ └── flags: decimal
- │ │ │ └── flags: ∅
+ │ │ │ ├── flags: ∅
+ │ │ │ └── arguments: (length: 1)
+ │ │ │ └── @ IntegerNode (location: (17,14)-(17,15))
+ │ │ │ └── flags: decimal
│ │ ├── closing_loc: ∅
- │ │ ├── block: ∅
- │ │ └── flags: ∅
+ │ │ └── block: ∅
│ └── operator_loc: (17,6)-(17,9) = "and"
├── @ OrNode (location: (19,0)-(19,14))
│ ├── left:
│ │ @ CallNode (location: (19,0)-(19,5))
+ │ │ ├── flags: ∅
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
│ │ ├── name: :foo
@@ -316,15 +317,15 @@
│ │ ├── opening_loc: ∅
│ │ ├── arguments:
│ │ │ @ ArgumentsNode (location: (19,4)-(19,5))
- │ │ │ ├── arguments: (length: 1)
- │ │ │ │ └── @ IntegerNode (location: (19,4)-(19,5))
- │ │ │ │ └── flags: decimal
- │ │ │ └── flags: ∅
+ │ │ │ ├── flags: ∅
+ │ │ │ └── arguments: (length: 1)
+ │ │ │ └── @ IntegerNode (location: (19,4)-(19,5))
+ │ │ │ └── flags: decimal
│ │ ├── closing_loc: ∅
- │ │ ├── block: ∅
- │ │ └── flags: ∅
+ │ │ └── block: ∅
│ ├── right:
│ │ @ CallNode (location: (19,9)-(19,14))
+ │ │ ├── flags: ∅
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
│ │ ├── name: :bar
@@ -332,17 +333,18 @@
│ │ ├── opening_loc: ∅
│ │ ├── arguments:
│ │ │ @ ArgumentsNode (location: (19,13)-(19,14))
- │ │ │ ├── arguments: (length: 1)
- │ │ │ │ └── @ IntegerNode (location: (19,13)-(19,14))
- │ │ │ │ └── flags: decimal
- │ │ │ └── flags: ∅
+ │ │ │ ├── flags: ∅
+ │ │ │ └── arguments: (length: 1)
+ │ │ │ └── @ IntegerNode (location: (19,13)-(19,14))
+ │ │ │ └── flags: decimal
│ │ ├── closing_loc: ∅
- │ │ ├── block: ∅
- │ │ └── flags: ∅
+ │ │ └── block: ∅
│ └── operator_loc: (19,6)-(19,8) = "or"
├── @ CallNode (location: (21,0)-(21,9))
+ │ ├── flags: ∅
│ ├── receiver:
│ │ @ CallNode (location: (21,4)-(21,9))
+ │ │ ├── flags: ∅
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
│ │ ├── name: :foo
@@ -350,21 +352,19 @@
│ │ ├── opening_loc: ∅
│ │ ├── arguments:
│ │ │ @ ArgumentsNode (location: (21,8)-(21,9))
- │ │ │ ├── arguments: (length: 1)
- │ │ │ │ └── @ IntegerNode (location: (21,8)-(21,9))
- │ │ │ │ └── flags: decimal
- │ │ │ └── flags: ∅
+ │ │ │ ├── flags: ∅
+ │ │ │ └── arguments: (length: 1)
+ │ │ │ └── @ IntegerNode (location: (21,8)-(21,9))
+ │ │ │ └── flags: decimal
│ │ ├── closing_loc: ∅
- │ │ ├── block: ∅
- │ │ └── flags: ∅
+ │ │ └── block: ∅
│ ├── call_operator_loc: ∅
│ ├── name: :!
│ ├── message_loc: (21,0)-(21,3) = "not"
│ ├── opening_loc: ∅
│ ├── arguments: ∅
│ ├── closing_loc: ∅
- │ ├── block: ∅
- │ └── flags: ∅
+ │ └── block: ∅
├── @ LocalVariableWriteNode (location: (23,0)-(23,17))
│ ├── name: :foo
│ ├── depth: 0
@@ -376,6 +376,7 @@
│ │ ├── name_loc: (23,6)-(23,9) = "bar"
│ │ ├── value:
│ │ │ @ CallNode (location: (23,12)-(23,17))
+ │ │ │ ├── flags: ∅
│ │ │ ├── receiver: ∅
│ │ │ ├── call_operator_loc: ∅
│ │ │ ├── name: :baz
@@ -383,13 +384,12 @@
│ │ │ ├── opening_loc: ∅
│ │ │ ├── arguments:
│ │ │ │ @ ArgumentsNode (location: (23,16)-(23,17))
- │ │ │ │ ├── arguments: (length: 1)
- │ │ │ │ │ └── @ IntegerNode (location: (23,16)-(23,17))
- │ │ │ │ │ └── flags: decimal
- │ │ │ │ └── flags: ∅
+ │ │ │ │ ├── flags: ∅
+ │ │ │ │ └── arguments: (length: 1)
+ │ │ │ │ └── @ IntegerNode (location: (23,16)-(23,17))
+ │ │ │ │ └── flags: decimal
│ │ │ ├── closing_loc: ∅
- │ │ │ ├── block: ∅
- │ │ │ └── flags: ∅
+ │ │ │ └── block: ∅
│ │ └── operator_loc: (23,10)-(23,11) = "="
│ └── operator_loc: (23,4)-(23,5) = "="
├── @ DefNode (location: (25,0)-(25,15))
@@ -401,6 +401,7 @@
│ │ @ StatementsNode (location: (25,10)-(25,15))
│ │ └── body: (length: 1)
│ │ └── @ CallNode (location: (25,10)-(25,15))
+ │ │ ├── flags: ∅
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
│ │ ├── name: :bar
@@ -408,13 +409,12 @@
│ │ ├── opening_loc: ∅
│ │ ├── arguments:
│ │ │ @ ArgumentsNode (location: (25,14)-(25,15))
- │ │ │ ├── arguments: (length: 1)
- │ │ │ │ └── @ IntegerNode (location: (25,14)-(25,15))
- │ │ │ │ └── flags: decimal
- │ │ │ └── flags: ∅
+ │ │ │ ├── flags: ∅
+ │ │ │ └── arguments: (length: 1)
+ │ │ │ └── @ IntegerNode (location: (25,14)-(25,15))
+ │ │ │ └── flags: decimal
│ │ ├── closing_loc: ∅
- │ │ ├── block: ∅
- │ │ └── flags: ∅
+ │ │ └── block: ∅
│ ├── locals: []
│ ├── locals_body_index: 0
│ ├── def_keyword_loc: (25,0)-(25,3) = "def"
@@ -424,6 +424,7 @@
│ ├── equal_loc: (25,8)-(25,9) = "="
│ └── end_keyword_loc: ∅
├── @ CallNode (location: (27,0)-(27,7))
+ │ ├── flags: ∅
│ ├── receiver:
│ │ @ IntegerNode (location: (27,0)-(27,1))
│ │ └── flags: decimal
@@ -433,16 +434,17 @@
│ ├── opening_loc: ∅
│ ├── arguments:
│ │ @ ArgumentsNode (location: (27,6)-(27,7))
- │ │ ├── arguments: (length: 1)
- │ │ │ └── @ IntegerNode (location: (27,6)-(27,7))
- │ │ │ └── flags: decimal
- │ │ └── flags: ∅
+ │ │ ├── flags: ∅
+ │ │ └── arguments: (length: 1)
+ │ │ └── @ IntegerNode (location: (27,6)-(27,7))
+ │ │ └── flags: decimal
│ ├── closing_loc: ∅
- │ ├── block: ∅
- │ └── flags: ∅
+ │ └── block: ∅
├── @ CallNode (location: (29,0)-(29,11))
+ │ ├── flags: ∅
│ ├── receiver:
│ │ @ CallNode (location: (29,0)-(29,5))
+ │ │ ├── flags: ∅
│ │ ├── receiver:
│ │ │ @ IntegerNode (location: (29,0)-(29,1))
│ │ │ └── flags: decimal
@@ -452,26 +454,27 @@
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
- │ │ ├── block: ∅
- │ │ └── flags: ∅
+ │ │ └── block: ∅
│ ├── call_operator_loc: (29,5)-(29,6) = "."
│ ├── name: :bar
│ ├── message_loc: (29,6)-(29,9) = "bar"
│ ├── opening_loc: ∅
│ ├── arguments:
│ │ @ ArgumentsNode (location: (29,10)-(29,11))
- │ │ ├── arguments: (length: 1)
- │ │ │ └── @ IntegerNode (location: (29,10)-(29,11))
- │ │ │ └── flags: decimal
- │ │ └── flags: ∅
+ │ │ ├── flags: ∅
+ │ │ └── arguments: (length: 1)
+ │ │ └── @ IntegerNode (location: (29,10)-(29,11))
+ │ │ └── flags: decimal
│ ├── closing_loc: ∅
- │ ├── block: ∅
- │ └── flags: ∅
+ │ └── block: ∅
├── @ CallNode (location: (31,0)-(31,14))
+ │ ├── flags: ∅
│ ├── receiver:
│ │ @ CallNode (location: (31,0)-(31,8))
+ │ │ ├── flags: ∅
│ │ ├── receiver:
│ │ │ @ CallNode (location: (31,0)-(31,5))
+ │ │ │ ├── flags: ∅
│ │ │ ├── receiver:
│ │ │ │ @ IntegerNode (location: (31,0)-(31,1))
│ │ │ │ └── flags: decimal
@@ -481,37 +484,36 @@
│ │ │ ├── opening_loc: ∅
│ │ │ ├── arguments: ∅
│ │ │ ├── closing_loc: ∅
- │ │ │ ├── block: ∅
- │ │ │ └── flags: ∅
+ │ │ │ └── block: ∅
│ │ ├── call_operator_loc: ∅
│ │ ├── name: :[]
│ │ ├── message_loc: (31,5)-(31,8) = "[2]"
│ │ ├── opening_loc: (31,5)-(31,6) = "["
│ │ ├── arguments:
│ │ │ @ ArgumentsNode (location: (31,6)-(31,7))
- │ │ │ ├── arguments: (length: 1)
- │ │ │ │ └── @ IntegerNode (location: (31,6)-(31,7))
- │ │ │ │ └── flags: decimal
- │ │ │ └── flags: ∅
+ │ │ │ ├── flags: ∅
+ │ │ │ └── arguments: (length: 1)
+ │ │ │ └── @ IntegerNode (location: (31,6)-(31,7))
+ │ │ │ └── flags: decimal
│ │ ├── closing_loc: (31,7)-(31,8) = "]"
- │ │ ├── block: ∅
- │ │ └── flags: ∅
+ │ │ └── block: ∅
│ ├── call_operator_loc: (31,8)-(31,9) = "."
│ ├── name: :bar
│ ├── message_loc: (31,9)-(31,12) = "bar"
│ ├── opening_loc: ∅
│ ├── arguments:
│ │ @ ArgumentsNode (location: (31,13)-(31,14))
- │ │ ├── arguments: (length: 1)
- │ │ │ └── @ IntegerNode (location: (31,13)-(31,14))
- │ │ │ └── flags: decimal
- │ │ └── flags: ∅
+ │ │ ├── flags: ∅
+ │ │ └── arguments: (length: 1)
+ │ │ └── @ IntegerNode (location: (31,13)-(31,14))
+ │ │ └── flags: decimal
│ ├── closing_loc: ∅
- │ ├── block: ∅
- │ └── flags: ∅
+ │ └── block: ∅
├── @ CallNode (location: (33,0)-(33,14))
+ │ ├── flags: ∅
│ ├── receiver:
│ │ @ CallNode (location: (33,0)-(33,8))
+ │ │ ├── flags: ∅
│ │ ├── receiver:
│ │ │ @ IntegerNode (location: (33,0)-(33,1))
│ │ │ └── flags: decimal
@@ -521,29 +523,29 @@
│ │ ├── opening_loc: (33,5)-(33,6) = "("
│ │ ├── arguments:
│ │ │ @ ArgumentsNode (location: (33,6)-(33,7))
- │ │ │ ├── arguments: (length: 1)
- │ │ │ │ └── @ IntegerNode (location: (33,6)-(33,7))
- │ │ │ │ └── flags: decimal
- │ │ │ └── flags: ∅
+ │ │ │ ├── flags: ∅
+ │ │ │ └── arguments: (length: 1)
+ │ │ │ └── @ IntegerNode (location: (33,6)-(33,7))
+ │ │ │ └── flags: decimal
│ │ ├── closing_loc: (33,7)-(33,8) = ")"
- │ │ ├── block: ∅
- │ │ └── flags: ∅
+ │ │ └── block: ∅
│ ├── call_operator_loc: (33,8)-(33,9) = "."
│ ├── name: :bar
│ ├── message_loc: (33,9)-(33,12) = "bar"
│ ├── opening_loc: ∅
│ ├── arguments:
│ │ @ ArgumentsNode (location: (33,13)-(33,14))
- │ │ ├── arguments: (length: 1)
- │ │ │ └── @ IntegerNode (location: (33,13)-(33,14))
- │ │ │ └── flags: decimal
- │ │ └── flags: ∅
+ │ │ ├── flags: ∅
+ │ │ └── arguments: (length: 1)
+ │ │ └── @ IntegerNode (location: (33,13)-(33,14))
+ │ │ └── flags: decimal
│ ├── closing_loc: ∅
- │ ├── block: ∅
- │ └── flags: ∅
+ │ └── block: ∅
├── @ CallNode (location: (35,0)-(35,15))
+ │ ├── flags: ∅
│ ├── receiver:
│ │ @ CallNode (location: (35,0)-(35,9))
+ │ │ ├── flags: ∅
│ │ ├── receiver:
│ │ │ @ IntegerNode (location: (35,0)-(35,1))
│ │ │ └── flags: decimal
@@ -553,31 +555,31 @@
│ │ ├── opening_loc: (35,5)-(35,6) = "("
│ │ ├── arguments: ∅
│ │ ├── closing_loc: (35,8)-(35,9) = ")"
- │ │ ├── block:
- │ │ │ @ BlockArgumentNode (location: (35,6)-(35,8))
- │ │ │ ├── expression:
- │ │ │ │ @ IntegerNode (location: (35,7)-(35,8))
- │ │ │ │ └── flags: decimal
- │ │ │ └── operator_loc: (35,6)-(35,7) = "&"
- │ │ └── flags: ∅
+ │ │ └── block:
+ │ │ @ BlockArgumentNode (location: (35,6)-(35,8))
+ │ │ ├── expression:
+ │ │ │ @ IntegerNode (location: (35,7)-(35,8))
+ │ │ │ └── flags: decimal
+ │ │ └── operator_loc: (35,6)-(35,7) = "&"
│ ├── call_operator_loc: (35,9)-(35,10) = "."
│ ├── name: :bar
│ ├── message_loc: (35,10)-(35,13) = "bar"
│ ├── opening_loc: ∅
│ ├── arguments:
│ │ @ ArgumentsNode (location: (35,14)-(35,15))
- │ │ ├── arguments: (length: 1)
- │ │ │ └── @ IntegerNode (location: (35,14)-(35,15))
- │ │ │ └── flags: decimal
- │ │ └── flags: ∅
+ │ │ ├── flags: ∅
+ │ │ └── arguments: (length: 1)
+ │ │ └── @ IntegerNode (location: (35,14)-(35,15))
+ │ │ └── flags: decimal
│ ├── closing_loc: ∅
- │ ├── block: ∅
- │ └── flags: ∅
+ │ └── block: ∅
├── @ AndNode (location: (37,0)-(37,17))
│ ├── left:
│ │ @ CallNode (location: (37,0)-(37,6))
+ │ │ ├── flags: ∅
│ │ ├── receiver:
│ │ │ @ CallNode (location: (37,1)-(37,6))
+ │ │ │ ├── flags: ∅
│ │ │ ├── receiver: ∅
│ │ │ ├── call_operator_loc: ∅
│ │ │ ├── name: :foo
@@ -585,25 +587,25 @@
│ │ │ ├── opening_loc: ∅
│ │ │ ├── arguments:
│ │ │ │ @ ArgumentsNode (location: (37,5)-(37,6))
- │ │ │ │ ├── arguments: (length: 1)
- │ │ │ │ │ └── @ IntegerNode (location: (37,5)-(37,6))
- │ │ │ │ │ └── flags: decimal
- │ │ │ │ └── flags: ∅
+ │ │ │ │ ├── flags: ∅
+ │ │ │ │ └── arguments: (length: 1)
+ │ │ │ │ └── @ IntegerNode (location: (37,5)-(37,6))
+ │ │ │ │ └── flags: decimal
│ │ │ ├── closing_loc: ∅
- │ │ │ ├── block: ∅
- │ │ │ └── flags: ∅
+ │ │ │ └── block: ∅
│ │ ├── call_operator_loc: ∅
│ │ ├── name: :!
│ │ ├── message_loc: (37,0)-(37,1) = "!"
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
- │ │ ├── block: ∅
- │ │ └── flags: ∅
+ │ │ └── block: ∅
│ ├── right:
│ │ @ CallNode (location: (37,11)-(37,17))
+ │ │ ├── flags: ∅
│ │ ├── receiver:
│ │ │ @ CallNode (location: (37,12)-(37,17))
+ │ │ │ ├── flags: ∅
│ │ │ ├── receiver: ∅
│ │ │ ├── call_operator_loc: ∅
│ │ │ ├── name: :bar
@@ -611,27 +613,27 @@
│ │ │ ├── opening_loc: ∅
│ │ │ ├── arguments:
│ │ │ │ @ ArgumentsNode (location: (37,16)-(37,17))
- │ │ │ │ ├── arguments: (length: 1)
- │ │ │ │ │ └── @ IntegerNode (location: (37,16)-(37,17))
- │ │ │ │ │ └── flags: decimal
- │ │ │ │ └── flags: ∅
+ │ │ │ │ ├── flags: ∅
+ │ │ │ │ └── arguments: (length: 1)
+ │ │ │ │ └── @ IntegerNode (location: (37,16)-(37,17))
+ │ │ │ │ └── flags: decimal
│ │ │ ├── closing_loc: ∅
- │ │ │ ├── block: ∅
- │ │ │ └── flags: ∅
+ │ │ │ └── block: ∅
│ │ ├── call_operator_loc: ∅
│ │ ├── name: :!
│ │ ├── message_loc: (37,11)-(37,12) = "!"
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
- │ │ ├── block: ∅
- │ │ └── flags: ∅
+ │ │ └── block: ∅
│ └── operator_loc: (37,7)-(37,10) = "and"
├── @ OrNode (location: (39,0)-(39,16))
│ ├── left:
│ │ @ CallNode (location: (39,0)-(39,6))
+ │ │ ├── flags: ∅
│ │ ├── receiver:
│ │ │ @ CallNode (location: (39,1)-(39,6))
+ │ │ │ ├── flags: ∅
│ │ │ ├── receiver: ∅
│ │ │ ├── call_operator_loc: ∅
│ │ │ ├── name: :foo
@@ -639,25 +641,25 @@
│ │ │ ├── opening_loc: ∅
│ │ │ ├── arguments:
│ │ │ │ @ ArgumentsNode (location: (39,5)-(39,6))
- │ │ │ │ ├── arguments: (length: 1)
- │ │ │ │ │ └── @ IntegerNode (location: (39,5)-(39,6))
- │ │ │ │ │ └── flags: decimal
- │ │ │ │ └── flags: ∅
+ │ │ │ │ ├── flags: ∅
+ │ │ │ │ └── arguments: (length: 1)
+ │ │ │ │ └── @ IntegerNode (location: (39,5)-(39,6))
+ │ │ │ │ └── flags: decimal
│ │ │ ├── closing_loc: ∅
- │ │ │ ├── block: ∅
- │ │ │ └── flags: ∅
+ │ │ │ └── block: ∅
│ │ ├── call_operator_loc: ∅
│ │ ├── name: :!
│ │ ├── message_loc: (39,0)-(39,1) = "!"
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
- │ │ ├── block: ∅
- │ │ └── flags: ∅
+ │ │ └── block: ∅
│ ├── right:
│ │ @ CallNode (location: (39,10)-(39,16))
+ │ │ ├── flags: ∅
│ │ ├── receiver:
│ │ │ @ CallNode (location: (39,11)-(39,16))
+ │ │ │ ├── flags: ∅
│ │ │ ├── receiver: ∅
│ │ │ ├── call_operator_loc: ∅
│ │ │ ├── name: :bar
@@ -665,27 +667,28 @@
│ │ │ ├── opening_loc: ∅
│ │ │ ├── arguments:
│ │ │ │ @ ArgumentsNode (location: (39,15)-(39,16))
- │ │ │ │ ├── arguments: (length: 1)
- │ │ │ │ │ └── @ IntegerNode (location: (39,15)-(39,16))
- │ │ │ │ │ └── flags: decimal
- │ │ │ │ └── flags: ∅
+ │ │ │ │ ├── flags: ∅
+ │ │ │ │ └── arguments: (length: 1)
+ │ │ │ │ └── @ IntegerNode (location: (39,15)-(39,16))
+ │ │ │ │ └── flags: decimal
│ │ │ ├── closing_loc: ∅
- │ │ │ ├── block: ∅
- │ │ │ └── flags: ∅
+ │ │ │ └── block: ∅
│ │ ├── call_operator_loc: ∅
│ │ ├── name: :!
│ │ ├── message_loc: (39,10)-(39,11) = "!"
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
- │ │ ├── block: ∅
- │ │ └── flags: ∅
+ │ │ └── block: ∅
│ └── operator_loc: (39,7)-(39,9) = "or"
└── @ CallNode (location: (41,0)-(41,10))
+ ├── flags: ∅
├── receiver:
│ @ CallNode (location: (41,4)-(41,10))
+ │ ├── flags: ∅
│ ├── receiver:
│ │ @ CallNode (location: (41,5)-(41,10))
+ │ │ ├── flags: ∅
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
│ │ ├── name: :foo
@@ -693,26 +696,23 @@
│ │ ├── opening_loc: ∅
│ │ ├── arguments:
│ │ │ @ ArgumentsNode (location: (41,9)-(41,10))
- │ │ │ ├── arguments: (length: 1)
- │ │ │ │ └── @ IntegerNode (location: (41,9)-(41,10))
- │ │ │ │ └── flags: decimal
- │ │ │ └── flags: ∅
+ │ │ │ ├── flags: ∅
+ │ │ │ └── arguments: (length: 1)
+ │ │ │ └── @ IntegerNode (location: (41,9)-(41,10))
+ │ │ │ └── flags: decimal
│ │ ├── closing_loc: ∅
- │ │ ├── block: ∅
- │ │ └── flags: ∅
+ │ │ └── block: ∅
│ ├── call_operator_loc: ∅
│ ├── name: :!
│ ├── message_loc: (41,4)-(41,5) = "!"
│ ├── opening_loc: ∅
│ ├── arguments: ∅
│ ├── closing_loc: ∅
- │ ├── block: ∅
- │ └── flags: ∅
+ │ └── block: ∅
├── call_operator_loc: ∅
├── name: :!
├── message_loc: (41,0)-(41,3) = "not"
├── opening_loc: ∅
├── arguments: ∅
├── closing_loc: ∅
- ├── block: ∅
- └── flags: ∅
+ └── block: ∅
diff --git a/test/prism/snapshots/comments.txt b/test/prism/snapshots/comments.txt
index c12dc9911a..5d0b626d90 100644
--- a/test/prism/snapshots/comments.txt
+++ b/test/prism/snapshots/comments.txt
@@ -4,6 +4,7 @@
@ StatementsNode (location: (1,0)-(24,5))
└── body: (length: 9)
├── @ CallNode (location: (1,0)-(1,1))
+ │ ├── flags: variable_call
│ ├── receiver: ∅
│ ├── call_operator_loc: ∅
│ ├── name: :a
@@ -11,9 +12,9 @@
│ ├── opening_loc: ∅
│ ├── arguments: ∅
│ ├── closing_loc: ∅
- │ ├── block: ∅
- │ └── flags: variable_call
+ │ └── block: ∅
├── @ CallNode (location: (3,0)-(3,1))
+ │ ├── flags: variable_call
│ ├── receiver: ∅
│ ├── call_operator_loc: ∅
│ ├── name: :b
@@ -21,9 +22,9 @@
│ ├── opening_loc: ∅
│ ├── arguments: ∅
│ ├── closing_loc: ∅
- │ ├── block: ∅
- │ └── flags: variable_call
+ │ └── block: ∅
├── @ CallNode (location: (5,0)-(5,1))
+ │ ├── flags: variable_call
│ ├── receiver: ∅
│ ├── call_operator_loc: ∅
│ ├── name: :c
@@ -31,9 +32,9 @@
│ ├── opening_loc: ∅
│ ├── arguments: ∅
│ ├── closing_loc: ∅
- │ ├── block: ∅
- │ └── flags: variable_call
+ │ └── block: ∅
├── @ CallNode (location: (6,0)-(6,1))
+ │ ├── flags: variable_call
│ ├── receiver: ∅
│ ├── call_operator_loc: ∅
│ ├── name: :d
@@ -41,11 +42,12 @@
│ ├── opening_loc: ∅
│ ├── arguments: ∅
│ ├── closing_loc: ∅
- │ ├── block: ∅
- │ └── flags: variable_call
+ │ └── block: ∅
├── @ CallNode (location: (8,0)-(10,4))
+ │ ├── flags: ∅
│ ├── receiver:
│ │ @ CallNode (location: (8,0)-(8,1))
+ │ │ ├── flags: variable_call
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
│ │ ├── name: :e
@@ -53,19 +55,19 @@
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
- │ │ ├── block: ∅
- │ │ └── flags: variable_call
+ │ │ └── block: ∅
│ ├── call_operator_loc: (10,2)-(10,3) = "."
│ ├── name: :f
│ ├── message_loc: (10,3)-(10,4) = "f"
│ ├── opening_loc: ∅
│ ├── arguments: ∅
│ ├── closing_loc: ∅
- │ ├── block: ∅
- │ └── flags: ∅
+ │ └── block: ∅
├── @ CallNode (location: (12,0)-(14,2))
+ │ ├── flags: ∅
│ ├── receiver:
│ │ @ CallNode (location: (12,0)-(12,1))
+ │ │ ├── flags: variable_call
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
│ │ ├── name: :g
@@ -73,19 +75,19 @@
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
- │ │ ├── block: ∅
- │ │ └── flags: variable_call
+ │ │ └── block: ∅
│ ├── call_operator_loc: (14,0)-(14,1) = "."
│ ├── name: :h
│ ├── message_loc: (14,1)-(14,2) = "h"
│ ├── opening_loc: ∅
│ ├── arguments: ∅
│ ├── closing_loc: ∅
- │ ├── block: ∅
- │ └── flags: ∅
+ │ └── block: ∅
├── @ CallNode (location: (16,0)-(17,2))
+ │ ├── flags: ∅
│ ├── receiver:
│ │ @ CallNode (location: (16,0)-(16,1))
+ │ │ ├── flags: variable_call
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
│ │ ├── name: :i
@@ -93,19 +95,19 @@
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
- │ │ ├── block: ∅
- │ │ └── flags: variable_call
+ │ │ └── block: ∅
│ ├── call_operator_loc: (17,0)-(17,1) = "."
│ ├── name: :j
│ ├── message_loc: (17,1)-(17,2) = "j"
│ ├── opening_loc: ∅
│ ├── arguments: ∅
│ ├── closing_loc: ∅
- │ ├── block: ∅
- │ └── flags: ∅
+ │ └── block: ∅
├── @ CallNode (location: (19,0)-(20,4))
+ │ ├── flags: ∅
│ ├── receiver:
│ │ @ CallNode (location: (19,0)-(19,1))
+ │ │ ├── flags: variable_call
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
│ │ ├── name: :k
@@ -113,19 +115,19 @@
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
- │ │ ├── block: ∅
- │ │ └── flags: variable_call
+ │ │ └── block: ∅
│ ├── call_operator_loc: (20,2)-(20,3) = "."
│ ├── name: :l
│ ├── message_loc: (20,3)-(20,4) = "l"
│ ├── opening_loc: ∅
│ ├── arguments: ∅
│ ├── closing_loc: ∅
- │ ├── block: ∅
- │ └── flags: ∅
+ │ └── block: ∅
└── @ CallNode (location: (22,0)-(24,5))
+ ├── flags: safe_navigation
├── receiver:
│ @ CallNode (location: (22,0)-(22,1))
+ │ ├── flags: variable_call
│ ├── receiver: ∅
│ ├── call_operator_loc: ∅
│ ├── name: :m
@@ -133,13 +135,11 @@
│ ├── opening_loc: ∅
│ ├── arguments: ∅
│ ├── closing_loc: ∅
- │ ├── block: ∅
- │ └── flags: variable_call
+ │ └── block: ∅
├── call_operator_loc: (24,2)-(24,4) = "&."
├── name: :n
├── message_loc: (24,4)-(24,5) = "n"
├── opening_loc: ∅
├── arguments: ∅
├── closing_loc: ∅
- ├── block: ∅
- └── flags: safe_navigation
+ └── block: ∅
diff --git a/test/prism/snapshots/constants.txt b/test/prism/snapshots/constants.txt
index 354153ddf3..7abd8cf69e 100644
--- a/test/prism/snapshots/constants.txt
+++ b/test/prism/snapshots/constants.txt
@@ -28,6 +28,7 @@
├── @ ConstantPathNode (location: (5,0)-(5,4))
│ ├── parent:
│ │ @ CallNode (location: (5,0)-(5,1))
+ │ │ ├── flags: variable_call
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
│ │ ├── name: :a
@@ -35,8 +36,7 @@
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
- │ │ ├── block: ∅
- │ │ └── flags: variable_call
+ │ │ └── block: ∅
│ ├── child:
│ │ @ ConstantReadNode (location: (5,3)-(5,4))
│ │ └── name: :B
@@ -65,6 +65,7 @@
├── @ ConstantReadNode (location: (11,0)-(11,3))
│ └── name: :ABC
├── @ CallNode (location: (13,0)-(13,5))
+ │ ├── flags: ∅
│ ├── receiver: ∅
│ ├── call_operator_loc: ∅
│ ├── name: :Foo
@@ -72,14 +73,14 @@
│ ├── opening_loc: ∅
│ ├── arguments:
│ │ @ ArgumentsNode (location: (13,4)-(13,5))
- │ │ ├── arguments: (length: 1)
- │ │ │ └── @ IntegerNode (location: (13,4)-(13,5))
- │ │ │ └── flags: decimal
- │ │ └── flags: ∅
+ │ │ ├── flags: ∅
+ │ │ └── arguments: (length: 1)
+ │ │ └── @ IntegerNode (location: (13,4)-(13,5))
+ │ │ └── flags: decimal
│ ├── closing_loc: ∅
- │ ├── block: ∅
- │ └── flags: ∅
+ │ └── block: ∅
├── @ CallNode (location: (15,0)-(15,8))
+ │ ├── flags: ∅
│ ├── receiver: ∅
│ ├── call_operator_loc: ∅
│ ├── name: :Foo
@@ -87,25 +88,25 @@
│ ├── opening_loc: ∅
│ ├── arguments:
│ │ @ ArgumentsNode (location: (15,4)-(15,8))
- │ │ ├── arguments: (length: 1)
- │ │ │ └── @ SplatNode (location: (15,4)-(15,8))
- │ │ │ ├── operator_loc: (15,4)-(15,5) = "*"
- │ │ │ └── expression:
- │ │ │ @ CallNode (location: (15,5)-(15,8))
- │ │ │ ├── receiver: ∅
- │ │ │ ├── call_operator_loc: ∅
- │ │ │ ├── name: :bar
- │ │ │ ├── message_loc: (15,5)-(15,8) = "bar"
- │ │ │ ├── opening_loc: ∅
- │ │ │ ├── arguments: ∅
- │ │ │ ├── closing_loc: ∅
- │ │ │ ├── block: ∅
- │ │ │ └── flags: variable_call
- │ │ └── flags: ∅
- │ ├── closing_loc: ∅
- │ ├── block: ∅
- │ └── flags: ∅
+ │ │ ├── flags: ∅
+ │ │ └── arguments: (length: 1)
+ │ │ └── @ SplatNode (location: (15,4)-(15,8))
+ │ │ ├── operator_loc: (15,4)-(15,5) = "*"
+ │ │ └── expression:
+ │ │ @ CallNode (location: (15,5)-(15,8))
+ │ │ ├── flags: variable_call
+ │ │ ├── receiver: ∅
+ │ │ ├── call_operator_loc: ∅
+ │ │ ├── name: :bar
+ │ │ ├── message_loc: (15,5)-(15,8) = "bar"
+ │ │ ├── opening_loc: ∅
+ │ │ ├── arguments: ∅
+ │ │ ├── closing_loc: ∅
+ │ │ └── block: ∅
+ │ ├── closing_loc: ∅
+ │ └── block: ∅
├── @ CallNode (location: (17,0)-(17,9))
+ │ ├── flags: ∅
│ ├── receiver: ∅
│ ├── call_operator_loc: ∅
│ ├── name: :Foo
@@ -113,27 +114,27 @@
│ ├── opening_loc: ∅
│ ├── arguments:
│ │ @ ArgumentsNode (location: (17,4)-(17,9))
- │ │ ├── arguments: (length: 1)
- │ │ │ └── @ KeywordHashNode (location: (17,4)-(17,9))
- │ │ │ └── elements: (length: 1)
- │ │ │ └── @ AssocSplatNode (location: (17,4)-(17,9))
- │ │ │ ├── value:
- │ │ │ │ @ CallNode (location: (17,6)-(17,9))
- │ │ │ │ ├── receiver: ∅
- │ │ │ │ ├── call_operator_loc: ∅
- │ │ │ │ ├── name: :bar
- │ │ │ │ ├── message_loc: (17,6)-(17,9) = "bar"
- │ │ │ │ ├── opening_loc: ∅
- │ │ │ │ ├── arguments: ∅
- │ │ │ │ ├── closing_loc: ∅
- │ │ │ │ ├── block: ∅
- │ │ │ │ └── flags: variable_call
- │ │ │ └── operator_loc: (17,4)-(17,6) = "**"
- │ │ └── flags: contains_keyword_splat
- │ ├── closing_loc: ∅
- │ ├── block: ∅
- │ └── flags: ∅
+ │ │ ├── flags: contains_keyword_splat
+ │ │ └── arguments: (length: 1)
+ │ │ └── @ KeywordHashNode (location: (17,4)-(17,9))
+ │ │ └── elements: (length: 1)
+ │ │ └── @ AssocSplatNode (location: (17,4)-(17,9))
+ │ │ ├── value:
+ │ │ │ @ CallNode (location: (17,6)-(17,9))
+ │ │ │ ├── flags: variable_call
+ │ │ │ ├── receiver: ∅
+ │ │ │ ├── call_operator_loc: ∅
+ │ │ │ ├── name: :bar
+ │ │ │ ├── message_loc: (17,6)-(17,9) = "bar"
+ │ │ │ ├── opening_loc: ∅
+ │ │ │ ├── arguments: ∅
+ │ │ │ ├── closing_loc: ∅
+ │ │ │ └── block: ∅
+ │ │ └── operator_loc: (17,4)-(17,6) = "**"
+ │ ├── closing_loc: ∅
+ │ └── block: ∅
├── @ CallNode (location: (19,0)-(19,8))
+ │ ├── flags: ∅
│ ├── receiver: ∅
│ ├── call_operator_loc: ∅
│ ├── name: :Foo
@@ -141,22 +142,22 @@
│ ├── opening_loc: ∅
│ ├── arguments: ∅
│ ├── closing_loc: ∅
- │ ├── block:
- │ │ @ BlockArgumentNode (location: (19,4)-(19,8))
- │ │ ├── expression:
- │ │ │ @ CallNode (location: (19,5)-(19,8))
- │ │ │ ├── receiver: ∅
- │ │ │ ├── call_operator_loc: ∅
- │ │ │ ├── name: :bar
- │ │ │ ├── message_loc: (19,5)-(19,8) = "bar"
- │ │ │ ├── opening_loc: ∅
- │ │ │ ├── arguments: ∅
- │ │ │ ├── closing_loc: ∅
- │ │ │ ├── block: ∅
- │ │ │ └── flags: variable_call
- │ │ └── operator_loc: (19,4)-(19,5) = "&"
- │ └── flags: ∅
+ │ └── block:
+ │ @ BlockArgumentNode (location: (19,4)-(19,8))
+ │ ├── expression:
+ │ │ @ CallNode (location: (19,5)-(19,8))
+ │ │ ├── flags: variable_call
+ │ │ ├── receiver: ∅
+ │ │ ├── call_operator_loc: ∅
+ │ │ ├── name: :bar
+ │ │ ├── message_loc: (19,5)-(19,8) = "bar"
+ │ │ ├── opening_loc: ∅
+ │ │ ├── arguments: ∅
+ │ │ ├── closing_loc: ∅
+ │ │ └── block: ∅
+ │ └── operator_loc: (19,4)-(19,5) = "&"
├── @ CallNode (location: (21,0)-(21,13))
+ │ ├── flags: ∅
│ ├── receiver:
│ │ @ ConstantReadNode (location: (21,0)-(21,3))
│ │ └── name: :Foo
@@ -166,25 +167,25 @@
│ ├── opening_loc: ∅
│ ├── arguments:
│ │ @ ArgumentsNode (location: (21,9)-(21,13))
- │ │ ├── arguments: (length: 1)
- │ │ │ └── @ SplatNode (location: (21,9)-(21,13))
- │ │ │ ├── operator_loc: (21,9)-(21,10) = "*"
- │ │ │ └── expression:
- │ │ │ @ CallNode (location: (21,10)-(21,13))
- │ │ │ ├── receiver: ∅
- │ │ │ ├── call_operator_loc: ∅
- │ │ │ ├── name: :baz
- │ │ │ ├── message_loc: (21,10)-(21,13) = "baz"
- │ │ │ ├── opening_loc: ∅
- │ │ │ ├── arguments: ∅
- │ │ │ ├── closing_loc: ∅
- │ │ │ ├── block: ∅
- │ │ │ └── flags: variable_call
- │ │ └── flags: ∅
- │ ├── closing_loc: ∅
- │ ├── block: ∅
- │ └── flags: ∅
+ │ │ ├── flags: ∅
+ │ │ └── arguments: (length: 1)
+ │ │ └── @ SplatNode (location: (21,9)-(21,13))
+ │ │ ├── operator_loc: (21,9)-(21,10) = "*"
+ │ │ └── expression:
+ │ │ @ CallNode (location: (21,10)-(21,13))
+ │ │ ├── flags: variable_call
+ │ │ ├── receiver: ∅
+ │ │ ├── call_operator_loc: ∅
+ │ │ ├── name: :baz
+ │ │ ├── message_loc: (21,10)-(21,13) = "baz"
+ │ │ ├── opening_loc: ∅
+ │ │ ├── arguments: ∅
+ │ │ ├── closing_loc: ∅
+ │ │ └── block: ∅
+ │ ├── closing_loc: ∅
+ │ └── block: ∅
├── @ CallNode (location: (23,0)-(23,14))
+ │ ├── flags: ∅
│ ├── receiver:
│ │ @ ConstantReadNode (location: (23,0)-(23,3))
│ │ └── name: :Foo
@@ -194,27 +195,27 @@
│ ├── opening_loc: ∅
│ ├── arguments:
│ │ @ ArgumentsNode (location: (23,9)-(23,14))
- │ │ ├── arguments: (length: 1)
- │ │ │ └── @ KeywordHashNode (location: (23,9)-(23,14))
- │ │ │ └── elements: (length: 1)
- │ │ │ └── @ AssocSplatNode (location: (23,9)-(23,14))
- │ │ │ ├── value:
- │ │ │ │ @ CallNode (location: (23,11)-(23,14))
- │ │ │ │ ├── receiver: ∅
- │ │ │ │ ├── call_operator_loc: ∅
- │ │ │ │ ├── name: :baz
- │ │ │ │ ├── message_loc: (23,11)-(23,14) = "baz"
- │ │ │ │ ├── opening_loc: ∅
- │ │ │ │ ├── arguments: ∅
- │ │ │ │ ├── closing_loc: ∅
- │ │ │ │ ├── block: ∅
- │ │ │ │ └── flags: variable_call
- │ │ │ └── operator_loc: (23,9)-(23,11) = "**"
- │ │ └── flags: contains_keyword_splat
- │ ├── closing_loc: ∅
- │ ├── block: ∅
- │ └── flags: ∅
+ │ │ ├── flags: contains_keyword_splat
+ │ │ └── arguments: (length: 1)
+ │ │ └── @ KeywordHashNode (location: (23,9)-(23,14))
+ │ │ └── elements: (length: 1)
+ │ │ └── @ AssocSplatNode (location: (23,9)-(23,14))
+ │ │ ├── value:
+ │ │ │ @ CallNode (location: (23,11)-(23,14))
+ │ │ │ ├── flags: variable_call
+ │ │ │ ├── receiver: ∅
+ │ │ │ ├── call_operator_loc: ∅
+ │ │ │ ├── name: :baz
+ │ │ │ ├── message_loc: (23,11)-(23,14) = "baz"
+ │ │ │ ├── opening_loc: ∅
+ │ │ │ ├── arguments: ∅
+ │ │ │ ├── closing_loc: ∅
+ │ │ │ └── block: ∅
+ │ │ └── operator_loc: (23,9)-(23,11) = "**"
+ │ ├── closing_loc: ∅
+ │ └── block: ∅
├── @ CallNode (location: (25,0)-(25,13))
+ │ ├── flags: ∅
│ ├── receiver:
│ │ @ ConstantReadNode (location: (25,0)-(25,3))
│ │ └── name: :Foo
@@ -224,22 +225,22 @@
│ ├── opening_loc: ∅
│ ├── arguments: ∅
│ ├── closing_loc: ∅
- │ ├── block:
- │ │ @ BlockArgumentNode (location: (25,9)-(25,13))
- │ │ ├── expression:
- │ │ │ @ CallNode (location: (25,10)-(25,13))
- │ │ │ ├── receiver: ∅
- │ │ │ ├── call_operator_loc: ∅
- │ │ │ ├── name: :baz
- │ │ │ ├── message_loc: (25,10)-(25,13) = "baz"
- │ │ │ ├── opening_loc: ∅
- │ │ │ ├── arguments: ∅
- │ │ │ ├── closing_loc: ∅
- │ │ │ ├── block: ∅
- │ │ │ └── flags: variable_call
- │ │ └── operator_loc: (25,9)-(25,10) = "&"
- │ └── flags: ∅
+ │ └── block:
+ │ @ BlockArgumentNode (location: (25,9)-(25,13))
+ │ ├── expression:
+ │ │ @ CallNode (location: (25,10)-(25,13))
+ │ │ ├── flags: variable_call
+ │ │ ├── receiver: ∅
+ │ │ ├── call_operator_loc: ∅
+ │ │ ├── name: :baz
+ │ │ ├── message_loc: (25,10)-(25,13) = "baz"
+ │ │ ├── opening_loc: ∅
+ │ │ ├── arguments: ∅
+ │ │ ├── closing_loc: ∅
+ │ │ └── block: ∅
+ │ └── operator_loc: (25,9)-(25,10) = "&"
├── @ CallNode (location: (27,0)-(27,8))
+ │ ├── flags: ∅
│ ├── receiver:
│ │ @ ConstantPathNode (location: (27,0)-(27,3))
│ │ ├── parent: ∅
@@ -253,8 +254,7 @@
│ ├── opening_loc: ∅
│ ├── arguments: ∅
│ ├── closing_loc: ∅
- │ ├── block: ∅
- │ └── flags: ∅
+ │ └── block: ∅
├── @ ConstantPathWriteNode (location: (29,0)-(29,7))
│ ├── target:
│ │ @ ConstantPathNode (location: (29,0)-(29,3))
@@ -304,6 +304,7 @@
│ │ └── name: :A
│ └── delimiter_loc: (35,0)-(35,2) = "::"
├── @ CallNode (location: (37,0)-(37,8))
+ │ ├── flags: ∅
│ ├── receiver:
│ │ @ ConstantReadNode (location: (37,0)-(37,1))
│ │ └── name: :A
@@ -313,9 +314,9 @@
│ ├── opening_loc: ∅
│ ├── arguments: ∅
│ ├── closing_loc: ∅
- │ ├── block: ∅
- │ └── flags: ∅
+ │ └── block: ∅
├── @ CallNode (location: (39,0)-(39,10))
+ │ ├── flags: ∅
│ ├── receiver:
│ │ @ ConstantPathNode (location: (39,0)-(39,4))
│ │ ├── parent:
@@ -331,9 +332,9 @@
│ ├── opening_loc: ∅
│ ├── arguments: ∅
│ ├── closing_loc: ∅
- │ ├── block: ∅
- │ └── flags: ∅
+ │ └── block: ∅
├── @ CallNode (location: (41,0)-(41,4))
+ │ ├── flags: ∅
│ ├── receiver:
│ │ @ ConstantReadNode (location: (41,0)-(41,1))
│ │ └── name: :A
@@ -343,9 +344,9 @@
│ ├── opening_loc: ∅
│ ├── arguments: ∅
│ ├── closing_loc: ∅
- │ ├── block: ∅
- │ └── flags: ∅
+ │ └── block: ∅
├── @ CallNode (location: (43,0)-(43,4))
+ │ ├── flags: ∅
│ ├── receiver:
│ │ @ ConstantReadNode (location: (43,0)-(43,1))
│ │ └── name: :A
@@ -355,9 +356,9 @@
│ ├── opening_loc: ∅
│ ├── arguments: ∅
│ ├── closing_loc: ∅
- │ ├── block: ∅
- │ └── flags: ∅
+ │ └── block: ∅
├── @ CallNode (location: (45,0)-(45,4))
+ │ ├── flags: ∅
│ ├── receiver:
│ │ @ ConstantReadNode (location: (45,0)-(45,1))
│ │ └── name: :A
@@ -367,9 +368,9 @@
│ ├── opening_loc: ∅
│ ├── arguments: ∅
│ ├── closing_loc: ∅
- │ ├── block: ∅
- │ └── flags: ∅
+ │ └── block: ∅
├── @ CallNode (location: (47,0)-(47,5))
+ │ ├── flags: ∅
│ ├── receiver:
│ │ @ ConstantReadNode (location: (47,0)-(47,1))
│ │ └── name: :A
@@ -379,9 +380,9 @@
│ ├── opening_loc: ∅
│ ├── arguments: ∅
│ ├── closing_loc: ∅
- │ ├── block: ∅
- │ └── flags: ∅
+ │ └── block: ∅
├── @ CallNode (location: (49,0)-(49,4))
+ │ ├── flags: ∅
│ ├── receiver:
│ │ @ ConstantReadNode (location: (49,0)-(49,1))
│ │ └── name: :A
@@ -391,9 +392,9 @@
│ ├── opening_loc: ∅
│ ├── arguments: ∅
│ ├── closing_loc: ∅
- │ ├── block: ∅
- │ └── flags: ∅
+ │ └── block: ∅
├── @ CallNode (location: (51,0)-(51,5))
+ │ ├── flags: ∅
│ ├── receiver:
│ │ @ ConstantReadNode (location: (51,0)-(51,1))
│ │ └── name: :A
@@ -403,9 +404,9 @@
│ ├── opening_loc: ∅
│ ├── arguments: ∅
│ ├── closing_loc: ∅
- │ ├── block: ∅
- │ └── flags: ∅
+ │ └── block: ∅
├── @ CallNode (location: (53,0)-(53,6))
+ │ ├── flags: ∅
│ ├── receiver:
│ │ @ ConstantReadNode (location: (53,0)-(53,1))
│ │ └── name: :A
@@ -415,9 +416,9 @@
│ ├── opening_loc: ∅
│ ├── arguments: ∅
│ ├── closing_loc: ∅
- │ ├── block: ∅
- │ └── flags: ∅
+ │ └── block: ∅
├── @ CallNode (location: (55,0)-(55,5))
+ │ ├── flags: ∅
│ ├── receiver:
│ │ @ ConstantReadNode (location: (55,0)-(55,1))
│ │ └── name: :A
@@ -427,9 +428,9 @@
│ ├── opening_loc: ∅
│ ├── arguments: ∅
│ ├── closing_loc: ∅
- │ ├── block: ∅
- │ └── flags: ∅
+ │ └── block: ∅
├── @ CallNode (location: (57,0)-(57,4))
+ │ ├── flags: ∅
│ ├── receiver:
│ │ @ ConstantReadNode (location: (57,0)-(57,1))
│ │ └── name: :A
@@ -439,9 +440,9 @@
│ ├── opening_loc: ∅
│ ├── arguments: ∅
│ ├── closing_loc: ∅
- │ ├── block: ∅
- │ └── flags: ∅
+ │ └── block: ∅
├── @ CallNode (location: (59,0)-(59,5))
+ │ ├── flags: ∅
│ ├── receiver:
│ │ @ ConstantReadNode (location: (59,0)-(59,1))
│ │ └── name: :A
@@ -451,9 +452,9 @@
│ ├── opening_loc: ∅
│ ├── arguments: ∅
│ ├── closing_loc: ∅
- │ ├── block: ∅
- │ └── flags: ∅
+ │ └── block: ∅
├── @ CallNode (location: (61,0)-(61,5))
+ │ ├── flags: ∅
│ ├── receiver:
│ │ @ ConstantReadNode (location: (61,0)-(61,1))
│ │ └── name: :A
@@ -463,9 +464,9 @@
│ ├── opening_loc: ∅
│ ├── arguments: ∅
│ ├── closing_loc: ∅
- │ ├── block: ∅
- │ └── flags: ∅
+ │ └── block: ∅
├── @ CallNode (location: (63,0)-(63,5))
+ │ ├── flags: ∅
│ ├── receiver:
│ │ @ ConstantReadNode (location: (63,0)-(63,1))
│ │ └── name: :A
@@ -475,8 +476,7 @@
│ ├── opening_loc: ∅
│ ├── arguments: ∅
│ ├── closing_loc: ∅
- │ ├── block: ∅
- │ └── flags: ∅
+ │ └── block: ∅
├── @ ConstantPathNode (location: (65,0)-(67,1))
│ ├── parent:
│ │ @ ConstantReadNode (location: (65,0)-(65,1))
@@ -486,6 +486,7 @@
│ │ └── name: :C
│ └── delimiter_loc: (65,1)-(65,3) = "::"
├── @ CallNode (location: (69,0)-(69,8))
+ │ ├── flags: ∅
│ ├── receiver:
│ │ @ ConstantReadNode (location: (69,0)-(69,1))
│ │ └── name: :A
@@ -495,9 +496,9 @@
│ ├── opening_loc: ∅
│ ├── arguments: ∅
│ ├── closing_loc: ∅
- │ ├── block: ∅
- │ └── flags: ∅
+ │ └── block: ∅
├── @ CallNode (location: (71,0)-(71,6))
+ │ ├── flags: ∅
│ ├── receiver:
│ │ @ ConstantReadNode (location: (71,0)-(71,1))
│ │ └── name: :A
@@ -507,9 +508,9 @@
│ ├── opening_loc: ∅
│ ├── arguments: ∅
│ ├── closing_loc: ∅
- │ ├── block: ∅
- │ └── flags: ∅
+ │ └── block: ∅
├── @ CallNode (location: (73,0)-(73,8))
+ │ ├── flags: ∅
│ ├── receiver:
│ │ @ ConstantReadNode (location: (73,0)-(73,1))
│ │ └── name: :A
@@ -519,8 +520,7 @@
│ ├── opening_loc: ∅
│ ├── arguments: ∅
│ ├── closing_loc: ∅
- │ ├── block: ∅
- │ └── flags: ∅
+ │ └── block: ∅
├── @ ConstantPathNode (location: (75,0)-(75,8))
│ ├── parent:
│ │ @ ConstantReadNode (location: (75,0)-(75,1))
@@ -530,6 +530,7 @@
│ │ └── name: :BEGIN
│ └── delimiter_loc: (75,1)-(75,3) = "::"
├── @ CallNode (location: (77,0)-(77,8))
+ │ ├── flags: ∅
│ ├── receiver:
│ │ @ ConstantReadNode (location: (77,0)-(77,1))
│ │ └── name: :A
@@ -539,9 +540,9 @@
│ ├── opening_loc: ∅
│ ├── arguments: ∅
│ ├── closing_loc: ∅
- │ ├── block: ∅
- │ └── flags: ∅
+ │ └── block: ∅
├── @ CallNode (location: (79,0)-(79,8))
+ │ ├── flags: ∅
│ ├── receiver:
│ │ @ ConstantReadNode (location: (79,0)-(79,1))
│ │ └── name: :A
@@ -551,9 +552,9 @@
│ ├── opening_loc: ∅
│ ├── arguments: ∅
│ ├── closing_loc: ∅
- │ ├── block: ∅
- │ └── flags: ∅
+ │ └── block: ∅
├── @ CallNode (location: (81,0)-(81,6))
+ │ ├── flags: ∅
│ ├── receiver:
│ │ @ ConstantReadNode (location: (81,0)-(81,1))
│ │ └── name: :A
@@ -563,9 +564,9 @@
│ ├── opening_loc: ∅
│ ├── arguments: ∅
│ ├── closing_loc: ∅
- │ ├── block: ∅
- │ └── flags: ∅
+ │ └── block: ∅
├── @ CallNode (location: (83,0)-(83,10))
+ │ ├── flags: ∅
│ ├── receiver:
│ │ @ ConstantReadNode (location: (83,0)-(83,1))
│ │ └── name: :A
@@ -575,9 +576,9 @@
│ ├── opening_loc: ∅
│ ├── arguments: ∅
│ ├── closing_loc: ∅
- │ ├── block: ∅
- │ └── flags: ∅
+ │ └── block: ∅
├── @ CallNode (location: (85,0)-(85,5))
+ │ ├── flags: ∅
│ ├── receiver:
│ │ @ ConstantReadNode (location: (85,0)-(85,1))
│ │ └── name: :A
@@ -587,9 +588,9 @@
│ ├── opening_loc: ∅
│ ├── arguments: ∅
│ ├── closing_loc: ∅
- │ ├── block: ∅
- │ └── flags: ∅
+ │ └── block: ∅
├── @ CallNode (location: (87,0)-(87,7))
+ │ ├── flags: ∅
│ ├── receiver:
│ │ @ ConstantReadNode (location: (87,0)-(87,1))
│ │ └── name: :A
@@ -599,9 +600,9 @@
│ ├── opening_loc: ∅
│ ├── arguments: ∅
│ ├── closing_loc: ∅
- │ ├── block: ∅
- │ └── flags: ∅
+ │ └── block: ∅
├── @ CallNode (location: (89,0)-(89,8))
+ │ ├── flags: ∅
│ ├── receiver:
│ │ @ ConstantReadNode (location: (89,0)-(89,1))
│ │ └── name: :A
@@ -611,9 +612,9 @@
│ ├── opening_loc: ∅
│ ├── arguments: ∅
│ ├── closing_loc: ∅
- │ ├── block: ∅
- │ └── flags: ∅
+ │ └── block: ∅
├── @ CallNode (location: (91,0)-(91,6))
+ │ ├── flags: ∅
│ ├── receiver:
│ │ @ ConstantReadNode (location: (91,0)-(91,1))
│ │ └── name: :A
@@ -623,8 +624,7 @@
│ ├── opening_loc: ∅
│ ├── arguments: ∅
│ ├── closing_loc: ∅
- │ ├── block: ∅
- │ └── flags: ∅
+ │ └── block: ∅
├── @ ConstantPathNode (location: (93,0)-(93,6))
│ ├── parent:
│ │ @ ConstantReadNode (location: (93,0)-(93,1))
@@ -634,6 +634,7 @@
│ │ └── name: :END
│ └── delimiter_loc: (93,1)-(93,3) = "::"
├── @ CallNode (location: (95,0)-(95,9))
+ │ ├── flags: ∅
│ ├── receiver:
│ │ @ ConstantReadNode (location: (95,0)-(95,1))
│ │ └── name: :A
@@ -643,9 +644,9 @@
│ ├── opening_loc: ∅
│ ├── arguments: ∅
│ ├── closing_loc: ∅
- │ ├── block: ∅
- │ └── flags: ∅
+ │ └── block: ∅
├── @ CallNode (location: (97,0)-(97,8))
+ │ ├── flags: ∅
│ ├── receiver:
│ │ @ ConstantReadNode (location: (97,0)-(97,1))
│ │ └── name: :A
@@ -655,9 +656,9 @@
│ ├── opening_loc: ∅
│ ├── arguments: ∅
│ ├── closing_loc: ∅
- │ ├── block: ∅
- │ └── flags: ∅
+ │ └── block: ∅
├── @ CallNode (location: (99,0)-(99,6))
+ │ ├── flags: ∅
│ ├── receiver:
│ │ @ ConstantReadNode (location: (99,0)-(99,1))
│ │ └── name: :A
@@ -667,9 +668,9 @@
│ ├── opening_loc: ∅
│ ├── arguments: ∅
│ ├── closing_loc: ∅
- │ ├── block: ∅
- │ └── flags: ∅
+ │ └── block: ∅
├── @ CallNode (location: (101,0)-(101,5))
+ │ ├── flags: ∅
│ ├── receiver:
│ │ @ ConstantReadNode (location: (101,0)-(101,1))
│ │ └── name: :A
@@ -679,9 +680,9 @@
│ ├── opening_loc: ∅
│ ├── arguments: ∅
│ ├── closing_loc: ∅
- │ ├── block: ∅
- │ └── flags: ∅
+ │ └── block: ∅
├── @ CallNode (location: (103,0)-(103,5))
+ │ ├── flags: ∅
│ ├── receiver:
│ │ @ ConstantReadNode (location: (103,0)-(103,1))
│ │ └── name: :A
@@ -691,9 +692,9 @@
│ ├── opening_loc: ∅
│ ├── arguments: ∅
│ ├── closing_loc: ∅
- │ ├── block: ∅
- │ └── flags: ∅
+ │ └── block: ∅
├── @ CallNode (location: (105,0)-(105,7))
+ │ ├── flags: ∅
│ ├── receiver:
│ │ @ ConstantReadNode (location: (105,0)-(105,1))
│ │ └── name: :A
@@ -703,9 +704,9 @@
│ ├── opening_loc: ∅
│ ├── arguments: ∅
│ ├── closing_loc: ∅
- │ ├── block: ∅
- │ └── flags: ∅
+ │ └── block: ∅
├── @ CallNode (location: (107,0)-(107,6))
+ │ ├── flags: ∅
│ ├── receiver:
│ │ @ ConstantReadNode (location: (107,0)-(107,1))
│ │ └── name: :A
@@ -715,9 +716,9 @@
│ ├── opening_loc: ∅
│ ├── arguments: ∅
│ ├── closing_loc: ∅
- │ ├── block: ∅
- │ └── flags: ∅
+ │ └── block: ∅
├── @ CallNode (location: (109,0)-(109,6))
+ │ ├── flags: ∅
│ ├── receiver:
│ │ @ ConstantReadNode (location: (109,0)-(109,1))
│ │ └── name: :A
@@ -727,9 +728,9 @@
│ ├── opening_loc: ∅
│ ├── arguments: ∅
│ ├── closing_loc: ∅
- │ ├── block: ∅
- │ └── flags: ∅
+ │ └── block: ∅
├── @ CallNode (location: (111,0)-(111,5))
+ │ ├── flags: ∅
│ ├── receiver:
│ │ @ ConstantReadNode (location: (111,0)-(111,1))
│ │ └── name: :A
@@ -739,9 +740,9 @@
│ ├── opening_loc: ∅
│ ├── arguments: ∅
│ ├── closing_loc: ∅
- │ ├── block: ∅
- │ └── flags: ∅
+ │ └── block: ∅
├── @ CallNode (location: (113,0)-(113,7))
+ │ ├── flags: ∅
│ ├── receiver:
│ │ @ ConstantReadNode (location: (113,0)-(113,1))
│ │ └── name: :A
@@ -751,9 +752,9 @@
│ ├── opening_loc: ∅
│ ├── arguments: ∅
│ ├── closing_loc: ∅
- │ ├── block: ∅
- │ └── flags: ∅
+ │ └── block: ∅
├── @ CallNode (location: (115,0)-(115,9))
+ │ ├── flags: ∅
│ ├── receiver:
│ │ @ ConstantReadNode (location: (115,0)-(115,1))
│ │ └── name: :A
@@ -763,9 +764,9 @@
│ ├── opening_loc: ∅
│ ├── arguments: ∅
│ ├── closing_loc: ∅
- │ ├── block: ∅
- │ └── flags: ∅
+ │ └── block: ∅
├── @ CallNode (location: (117,0)-(117,8))
+ │ ├── flags: ∅
│ ├── receiver:
│ │ @ ConstantReadNode (location: (117,0)-(117,1))
│ │ └── name: :A
@@ -775,9 +776,9 @@
│ ├── opening_loc: ∅
│ ├── arguments: ∅
│ ├── closing_loc: ∅
- │ ├── block: ∅
- │ └── flags: ∅
+ │ └── block: ∅
├── @ CallNode (location: (119,0)-(119,9))
+ │ ├── flags: ∅
│ ├── receiver:
│ │ @ ConstantReadNode (location: (119,0)-(119,1))
│ │ └── name: :A
@@ -787,9 +788,9 @@
│ ├── opening_loc: ∅
│ ├── arguments: ∅
│ ├── closing_loc: ∅
- │ ├── block: ∅
- │ └── flags: ∅
+ │ └── block: ∅
├── @ CallNode (location: (121,0)-(121,7))
+ │ ├── flags: ∅
│ ├── receiver:
│ │ @ ConstantReadNode (location: (121,0)-(121,1))
│ │ └── name: :A
@@ -799,9 +800,9 @@
│ ├── opening_loc: ∅
│ ├── arguments: ∅
│ ├── closing_loc: ∅
- │ ├── block: ∅
- │ └── flags: ∅
+ │ └── block: ∅
├── @ CallNode (location: (123,0)-(123,8))
+ │ ├── flags: ∅
│ ├── receiver:
│ │ @ ConstantReadNode (location: (123,0)-(123,1))
│ │ └── name: :A
@@ -811,9 +812,9 @@
│ ├── opening_loc: ∅
│ ├── arguments: ∅
│ ├── closing_loc: ∅
- │ ├── block: ∅
- │ └── flags: ∅
+ │ └── block: ∅
├── @ CallNode (location: (125,0)-(125,7))
+ │ ├── flags: ∅
│ ├── receiver:
│ │ @ ConstantReadNode (location: (125,0)-(125,1))
│ │ └── name: :A
@@ -823,9 +824,9 @@
│ ├── opening_loc: ∅
│ ├── arguments: ∅
│ ├── closing_loc: ∅
- │ ├── block: ∅
- │ └── flags: ∅
+ │ └── block: ∅
├── @ CallNode (location: (127,0)-(127,7))
+ │ ├── flags: ∅
│ ├── receiver:
│ │ @ ConstantReadNode (location: (127,0)-(127,1))
│ │ └── name: :A
@@ -835,9 +836,9 @@
│ ├── opening_loc: ∅
│ ├── arguments: ∅
│ ├── closing_loc: ∅
- │ ├── block: ∅
- │ └── flags: ∅
+ │ └── block: ∅
├── @ CallNode (location: (129,0)-(129,8))
+ │ ├── flags: ∅
│ ├── receiver:
│ │ @ ConstantReadNode (location: (129,0)-(129,1))
│ │ └── name: :A
@@ -847,9 +848,9 @@
│ ├── opening_loc: ∅
│ ├── arguments: ∅
│ ├── closing_loc: ∅
- │ ├── block: ∅
- │ └── flags: ∅
+ │ └── block: ∅
├── @ CallNode (location: (131,0)-(131,9))
+ │ ├── flags: ∅
│ ├── receiver:
│ │ @ ConstantReadNode (location: (131,0)-(131,1))
│ │ └── name: :A
@@ -859,9 +860,9 @@
│ ├── opening_loc: ∅
│ ├── arguments: ∅
│ ├── closing_loc: ∅
- │ ├── block: ∅
- │ └── flags: ∅
+ │ └── block: ∅
├── @ CallNode (location: (133,0)-(133,8))
+ │ ├── flags: ∅
│ ├── receiver:
│ │ @ ConstantReadNode (location: (133,0)-(133,1))
│ │ └── name: :A
@@ -871,9 +872,9 @@
│ ├── opening_loc: ∅
│ ├── arguments: ∅
│ ├── closing_loc: ∅
- │ ├── block: ∅
- │ └── flags: ∅
+ │ └── block: ∅
├── @ CallNode (location: (135,0)-(135,7))
+ │ ├── flags: ∅
│ ├── receiver:
│ │ @ ConstantReadNode (location: (135,0)-(135,1))
│ │ └── name: :A
@@ -883,9 +884,9 @@
│ ├── opening_loc: ∅
│ ├── arguments: ∅
│ ├── closing_loc: ∅
- │ ├── block: ∅
- │ └── flags: ∅
+ │ └── block: ∅
├── @ CallNode (location: (137,0)-(137,8))
+ │ ├── flags: ∅
│ ├── receiver:
│ │ @ ConstantReadNode (location: (137,0)-(137,1))
│ │ └── name: :A
@@ -895,9 +896,9 @@
│ ├── opening_loc: ∅
│ ├── arguments: ∅
│ ├── closing_loc: ∅
- │ ├── block: ∅
- │ └── flags: ∅
+ │ └── block: ∅
├── @ CallNode (location: (139,0)-(139,8))
+ │ ├── flags: ∅
│ ├── receiver:
│ │ @ ConstantReadNode (location: (139,0)-(139,1))
│ │ └── name: :A
@@ -907,9 +908,9 @@
│ ├── opening_loc: ∅
│ ├── arguments: ∅
│ ├── closing_loc: ∅
- │ ├── block: ∅
- │ └── flags: ∅
+ │ └── block: ∅
├── @ CallNode (location: (141,0)-(141,15))
+ │ ├── flags: ∅
│ ├── receiver:
│ │ @ ConstantReadNode (location: (141,0)-(141,1))
│ │ └── name: :A
@@ -919,9 +920,9 @@
│ ├── opening_loc: ∅
│ ├── arguments: ∅
│ ├── closing_loc: ∅
- │ ├── block: ∅
- │ └── flags: ∅
+ │ └── block: ∅
├── @ CallNode (location: (143,0)-(143,11))
+ │ ├── flags: ∅
│ ├── receiver:
│ │ @ ConstantReadNode (location: (143,0)-(143,1))
│ │ └── name: :A
@@ -931,9 +932,9 @@
│ ├── opening_loc: ∅
│ ├── arguments: ∅
│ ├── closing_loc: ∅
- │ ├── block: ∅
- │ └── flags: ∅
+ │ └── block: ∅
├── @ CallNode (location: (145,0)-(145,11))
+ │ ├── flags: ∅
│ ├── receiver:
│ │ @ ConstantReadNode (location: (145,0)-(145,1))
│ │ └── name: :A
@@ -943,9 +944,9 @@
│ ├── opening_loc: ∅
│ ├── arguments: ∅
│ ├── closing_loc: ∅
- │ ├── block: ∅
- │ └── flags: ∅
+ │ └── block: ∅
├── @ CallNode (location: (147,0)-(147,4))
+ │ ├── flags: ∅
│ ├── receiver:
│ │ @ ConstantReadNode (location: (147,0)-(147,1))
│ │ └── name: :A
@@ -955,9 +956,9 @@
│ ├── opening_loc: ∅
│ ├── arguments: ∅
│ ├── closing_loc: ∅
- │ ├── block: ∅
- │ └── flags: ∅
+ │ └── block: ∅
├── @ CallNode (location: (149,0)-(149,6))
+ │ ├── flags: ∅
│ ├── receiver:
│ │ @ ConstantReadNode (location: (149,0)-(149,1))
│ │ └── name: :A
@@ -967,9 +968,9 @@
│ ├── opening_loc: ∅
│ ├── arguments: ∅
│ ├── closing_loc: ∅
- │ ├── block: ∅
- │ └── flags: ∅
+ │ └── block: ∅
├── @ CallNode (location: (151,0)-(151,5))
+ │ ├── flags: ∅
│ ├── receiver:
│ │ @ ConstantReadNode (location: (151,0)-(151,1))
│ │ └── name: :A
@@ -979,9 +980,9 @@
│ ├── opening_loc: ∅
│ ├── arguments: ∅
│ ├── closing_loc: ∅
- │ ├── block: ∅
- │ └── flags: ∅
+ │ └── block: ∅
├── @ CallNode (location: (153,0)-(153,4))
+ │ ├── flags: ∅
│ ├── receiver:
│ │ @ ConstantReadNode (location: (153,0)-(153,1))
│ │ └── name: :A
@@ -991,9 +992,9 @@
│ ├── opening_loc: ∅
│ ├── arguments: ∅
│ ├── closing_loc: ∅
- │ ├── block: ∅
- │ └── flags: ∅
+ │ └── block: ∅
├── @ CallNode (location: (155,0)-(155,4))
+ │ ├── flags: ∅
│ ├── receiver:
│ │ @ ConstantReadNode (location: (155,0)-(155,1))
│ │ └── name: :A
@@ -1003,9 +1004,9 @@
│ ├── opening_loc: ∅
│ ├── arguments: ∅
│ ├── closing_loc: ∅
- │ ├── block: ∅
- │ └── flags: ∅
+ │ └── block: ∅
├── @ CallNode (location: (157,0)-(157,5))
+ │ ├── flags: ∅
│ ├── receiver:
│ │ @ ConstantReadNode (location: (157,0)-(157,1))
│ │ └── name: :A
@@ -1015,22 +1016,22 @@
│ ├── opening_loc: ∅
│ ├── arguments:
│ │ @ ArgumentsNode (location: (157,4)-(157,5))
- │ │ ├── arguments: (length: 1)
- │ │ │ └── @ CallNode (location: (157,4)-(157,5))
- │ │ │ ├── receiver: ∅
- │ │ │ ├── call_operator_loc: ∅
- │ │ │ ├── name: :i
- │ │ │ ├── message_loc: (157,4)-(157,5) = "i"
- │ │ │ ├── opening_loc: ∅
- │ │ │ ├── arguments: ∅
- │ │ │ ├── closing_loc: ∅
- │ │ │ ├── block: ∅
- │ │ │ └── flags: variable_call
- │ │ └── flags: ∅
- │ ├── closing_loc: ∅
- │ ├── block: ∅
- │ └── flags: ∅
+ │ │ ├── flags: ∅
+ │ │ └── arguments: (length: 1)
+ │ │ └── @ CallNode (location: (157,4)-(157,5))
+ │ │ ├── flags: variable_call
+ │ │ ├── receiver: ∅
+ │ │ ├── call_operator_loc: ∅
+ │ │ ├── name: :i
+ │ │ ├── message_loc: (157,4)-(157,5) = "i"
+ │ │ ├── opening_loc: ∅
+ │ │ ├── arguments: ∅
+ │ │ ├── closing_loc: ∅
+ │ │ └── block: ∅
+ │ ├── closing_loc: ∅
+ │ └── block: ∅
├── @ CallNode (location: (159,0)-(159,5))
+ │ ├── flags: ∅
│ ├── receiver:
│ │ @ ConstantReadNode (location: (159,0)-(159,1))
│ │ └── name: :A
@@ -1040,22 +1041,22 @@
│ ├── opening_loc: ∅
│ ├── arguments:
│ │ @ ArgumentsNode (location: (159,4)-(159,5))
- │ │ ├── arguments: (length: 1)
- │ │ │ └── @ CallNode (location: (159,4)-(159,5))
- │ │ │ ├── receiver: ∅
- │ │ │ ├── call_operator_loc: ∅
- │ │ │ ├── name: :w
- │ │ │ ├── message_loc: (159,4)-(159,5) = "w"
- │ │ │ ├── opening_loc: ∅
- │ │ │ ├── arguments: ∅
- │ │ │ ├── closing_loc: ∅
- │ │ │ ├── block: ∅
- │ │ │ └── flags: variable_call
- │ │ └── flags: ∅
- │ ├── closing_loc: ∅
- │ ├── block: ∅
- │ └── flags: ∅
+ │ │ ├── flags: ∅
+ │ │ └── arguments: (length: 1)
+ │ │ └── @ CallNode (location: (159,4)-(159,5))
+ │ │ ├── flags: variable_call
+ │ │ ├── receiver: ∅
+ │ │ ├── call_operator_loc: ∅
+ │ │ ├── name: :w
+ │ │ ├── message_loc: (159,4)-(159,5) = "w"
+ │ │ ├── opening_loc: ∅
+ │ │ ├── arguments: ∅
+ │ │ ├── closing_loc: ∅
+ │ │ └── block: ∅
+ │ ├── closing_loc: ∅
+ │ └── block: ∅
├── @ CallNode (location: (161,0)-(161,5))
+ │ ├── flags: ∅
│ ├── receiver:
│ │ @ ConstantReadNode (location: (161,0)-(161,1))
│ │ └── name: :A
@@ -1065,22 +1066,22 @@
│ ├── opening_loc: ∅
│ ├── arguments:
│ │ @ ArgumentsNode (location: (161,4)-(161,5))
- │ │ ├── arguments: (length: 1)
- │ │ │ └── @ CallNode (location: (161,4)-(161,5))
- │ │ │ ├── receiver: ∅
- │ │ │ ├── call_operator_loc: ∅
- │ │ │ ├── name: :x
- │ │ │ ├── message_loc: (161,4)-(161,5) = "x"
- │ │ │ ├── opening_loc: ∅
- │ │ │ ├── arguments: ∅
- │ │ │ ├── closing_loc: ∅
- │ │ │ ├── block: ∅
- │ │ │ └── flags: variable_call
- │ │ └── flags: ∅
- │ ├── closing_loc: ∅
- │ ├── block: ∅
- │ └── flags: ∅
+ │ │ ├── flags: ∅
+ │ │ └── arguments: (length: 1)
+ │ │ └── @ CallNode (location: (161,4)-(161,5))
+ │ │ ├── flags: variable_call
+ │ │ ├── receiver: ∅
+ │ │ ├── call_operator_loc: ∅
+ │ │ ├── name: :x
+ │ │ ├── message_loc: (161,4)-(161,5) = "x"
+ │ │ ├── opening_loc: ∅
+ │ │ ├── arguments: ∅
+ │ │ ├── closing_loc: ∅
+ │ │ └── block: ∅
+ │ ├── closing_loc: ∅
+ │ └── block: ∅
├── @ CallNode (location: (163,0)-(163,5))
+ │ ├── flags: ∅
│ ├── receiver:
│ │ @ ConstantReadNode (location: (163,0)-(163,1))
│ │ └── name: :A
@@ -1090,14 +1091,14 @@
│ ├── opening_loc: ∅
│ ├── arguments:
│ │ @ ArgumentsNode (location: (163,4)-(163,5))
- │ │ ├── arguments: (length: 1)
- │ │ │ └── @ ConstantReadNode (location: (163,4)-(163,5))
- │ │ │ └── name: :I
- │ │ └── flags: ∅
+ │ │ ├── flags: ∅
+ │ │ └── arguments: (length: 1)
+ │ │ └── @ ConstantReadNode (location: (163,4)-(163,5))
+ │ │ └── name: :I
│ ├── closing_loc: ∅
- │ ├── block: ∅
- │ └── flags: ∅
+ │ └── block: ∅
├── @ CallNode (location: (165,0)-(165,5))
+ │ ├── flags: ∅
│ ├── receiver:
│ │ @ ConstantReadNode (location: (165,0)-(165,1))
│ │ └── name: :A
@@ -1107,14 +1108,14 @@
│ ├── opening_loc: ∅
│ ├── arguments:
│ │ @ ArgumentsNode (location: (165,4)-(165,5))
- │ │ ├── arguments: (length: 1)
- │ │ │ └── @ ConstantReadNode (location: (165,4)-(165,5))
- │ │ │ └── name: :W
- │ │ └── flags: ∅
+ │ │ ├── flags: ∅
+ │ │ └── arguments: (length: 1)
+ │ │ └── @ ConstantReadNode (location: (165,4)-(165,5))
+ │ │ └── name: :W
│ ├── closing_loc: ∅
- │ ├── block: ∅
- │ └── flags: ∅
+ │ └── block: ∅
├── @ CallNode (location: (167,0)-(167,4))
+ │ ├── flags: ∅
│ ├── receiver:
│ │ @ ConstantReadNode (location: (167,0)-(167,1))
│ │ └── name: :A
@@ -1124,9 +1125,9 @@
│ ├── opening_loc: ∅
│ ├── arguments: ∅
│ ├── closing_loc: ∅
- │ ├── block: ∅
- │ └── flags: ∅
+ │ └── block: ∅
├── @ CallNode (location: (169,0)-(169,4))
+ │ ├── flags: ∅
│ ├── receiver:
│ │ @ ConstantReadNode (location: (169,0)-(169,1))
│ │ └── name: :A
@@ -1136,9 +1137,9 @@
│ ├── opening_loc: ∅
│ ├── arguments: ∅
│ ├── closing_loc: ∅
- │ ├── block: ∅
- │ └── flags: ∅
+ │ └── block: ∅
├── @ CallNode (location: (171,0)-(171,4))
+ │ ├── flags: ∅
│ ├── receiver:
│ │ @ ConstantReadNode (location: (171,0)-(171,1))
│ │ └── name: :A
@@ -1148,9 +1149,9 @@
│ ├── opening_loc: ∅
│ ├── arguments: ∅
│ ├── closing_loc: ∅
- │ ├── block: ∅
- │ └── flags: ∅
+ │ └── block: ∅
├── @ CallNode (location: (173,0)-(173,4))
+ │ ├── flags: ∅
│ ├── receiver:
│ │ @ ConstantReadNode (location: (173,0)-(173,1))
│ │ └── name: :A
@@ -1160,9 +1161,9 @@
│ ├── opening_loc: ∅
│ ├── arguments: ∅
│ ├── closing_loc: ∅
- │ ├── block: ∅
- │ └── flags: ∅
+ │ └── block: ∅
├── @ CallNode (location: (175,0)-(175,5))
+ │ ├── flags: ∅
│ ├── receiver:
│ │ @ ConstantReadNode (location: (175,0)-(175,1))
│ │ └── name: :A
@@ -1172,9 +1173,9 @@
│ ├── opening_loc: ∅
│ ├── arguments: ∅
│ ├── closing_loc: ∅
- │ ├── block: ∅
- │ └── flags: ∅
+ │ └── block: ∅
├── @ CallNode (location: (177,0)-(177,4))
+ │ ├── flags: ∅
│ ├── receiver:
│ │ @ ConstantReadNode (location: (177,0)-(177,1))
│ │ └── name: :A
@@ -1184,11 +1185,11 @@
│ ├── opening_loc: ∅
│ ├── arguments: ∅
│ ├── closing_loc: ∅
- │ ├── block: ∅
- │ └── flags: ∅
+ │ └── block: ∅
├── @ ConstantPathNode (location: (179,0)-(180,1))
│ ├── parent:
│ │ @ CallNode (location: (179,0)-(179,4))
+ │ │ ├── flags: ∅
│ │ ├── receiver:
│ │ │ @ ConstantReadNode (location: (179,0)-(179,1))
│ │ │ └── name: :A
@@ -1198,15 +1199,16 @@
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
- │ │ ├── block: ∅
- │ │ └── flags: ∅
+ │ │ └── block: ∅
│ ├── child:
│ │ @ ConstantReadNode (location: (180,0)-(180,1))
│ │ └── name: :C
│ └── delimiter_loc: (179,4)-(179,6) = "::"
└── @ RangeNode (location: (182,0)-(184,10))
+ ├── flags: ∅
├── left:
│ @ CallNode (location: (182,0)-(182,4))
+ │ ├── flags: ∅
│ ├── receiver:
│ │ @ ConstantReadNode (location: (182,0)-(182,1))
│ │ └── name: :A
@@ -1216,10 +1218,10 @@
│ ├── opening_loc: ∅
│ ├── arguments: ∅
│ ├── closing_loc: ∅
- │ ├── block: ∅
- │ └── flags: ∅
+ │ └── block: ∅
├── right:
│ @ CallNode (location: (184,0)-(184,10))
+ │ ├── flags: ∅
│ ├── receiver:
│ │ @ ConstantReadNode (location: (184,0)-(184,1))
│ │ └── name: :A
@@ -1229,7 +1231,5 @@
│ ├── opening_loc: ∅
│ ├── arguments: ∅
│ ├── closing_loc: ∅
- │ ├── block: ∅
- │ └── flags: ∅
- ├── operator_loc: (182,4)-(182,6) = ".."
- └── flags: ∅
+ │ └── block: ∅
+ └── operator_loc: (182,4)-(182,6) = ".."
diff --git a/test/prism/snapshots/dash_heredocs.txt b/test/prism/snapshots/dash_heredocs.txt
index ebb14c3a49..60973c73db 100644
--- a/test/prism/snapshots/dash_heredocs.txt
+++ b/test/prism/snapshots/dash_heredocs.txt
@@ -10,6 +10,7 @@
│ ├── closing_loc: (3,0)-(4,0) = "EOF\n"
│ └── unescaped: " a\n"
├── @ CallNode (location: (5,0)-(5,20))
+ │ ├── flags: ∅
│ ├── receiver:
│ │ @ StringNode (location: (5,0)-(5,8))
│ │ ├── flags: ∅
@@ -23,17 +24,16 @@
│ ├── opening_loc: ∅
│ ├── arguments:
│ │ @ ArgumentsNode (location: (5,11)-(5,20))
- │ │ ├── arguments: (length: 1)
- │ │ │ └── @ StringNode (location: (5,11)-(5,20))
- │ │ │ ├── flags: ∅
- │ │ │ ├── opening_loc: (5,11)-(5,20) = "<<-SECOND"
- │ │ │ ├── content_loc: (8,0)-(9,0) = " b\n"
- │ │ │ ├── closing_loc: (9,0)-(10,0) = "SECOND\n"
- │ │ │ └── unescaped: " b\n"
- │ │ └── flags: ∅
+ │ │ ├── flags: ∅
+ │ │ └── arguments: (length: 1)
+ │ │ └── @ StringNode (location: (5,11)-(5,20))
+ │ │ ├── flags: ∅
+ │ │ ├── opening_loc: (5,11)-(5,20) = "<<-SECOND"
+ │ │ ├── content_loc: (8,0)-(9,0) = " b\n"
+ │ │ ├── closing_loc: (9,0)-(10,0) = "SECOND\n"
+ │ │ └── unescaped: " b\n"
│ ├── closing_loc: ∅
- │ ├── block: ∅
- │ └── flags: ∅
+ │ └── block: ∅
├── @ InterpolatedXStringNode (location: (11,0)-(11,8))
│ ├── opening_loc: (11,0)-(11,8) = "<<-`EOF`"
│ ├── parts: (length: 3)
@@ -49,6 +49,7 @@
│ │ │ │ @ StatementsNode (location: (13,2)-(13,3))
│ │ │ │ └── body: (length: 1)
│ │ │ │ └── @ CallNode (location: (13,2)-(13,3))
+ │ │ │ │ ├── flags: variable_call
│ │ │ │ ├── receiver: ∅
│ │ │ │ ├── call_operator_loc: ∅
│ │ │ │ ├── name: :b
@@ -56,8 +57,7 @@
│ │ │ │ ├── opening_loc: ∅
│ │ │ │ ├── arguments: ∅
│ │ │ │ ├── closing_loc: ∅
- │ │ │ │ ├── block: ∅
- │ │ │ │ └── flags: variable_call
+ │ │ │ │ └── block: ∅
│ │ │ └── closing_loc: (13,3)-(13,4) = "}"
│ │ └── @ StringNode (location: (13,4)-(14,0))
│ │ ├── flags: ∅
@@ -93,6 +93,7 @@
│ │ │ │ @ StatementsNode (location: (27,2)-(27,3))
│ │ │ │ └── body: (length: 1)
│ │ │ │ └── @ CallNode (location: (27,2)-(27,3))
+ │ │ │ │ ├── flags: variable_call
│ │ │ │ ├── receiver: ∅
│ │ │ │ ├── call_operator_loc: ∅
│ │ │ │ ├── name: :b
@@ -100,8 +101,7 @@
│ │ │ │ ├── opening_loc: ∅
│ │ │ │ ├── arguments: ∅
│ │ │ │ ├── closing_loc: ∅
- │ │ │ │ ├── block: ∅
- │ │ │ │ └── flags: variable_call
+ │ │ │ │ └── block: ∅
│ │ │ └── closing_loc: (27,3)-(27,4) = "}"
│ │ └── @ StringNode (location: (27,4)-(28,0))
│ │ ├── flags: ∅
@@ -125,6 +125,7 @@
│ │ │ │ @ StatementsNode (location: (32,2)-(32,3))
│ │ │ │ └── body: (length: 1)
│ │ │ │ └── @ CallNode (location: (32,2)-(32,3))
+ │ │ │ │ ├── flags: variable_call
│ │ │ │ ├── receiver: ∅
│ │ │ │ ├── call_operator_loc: ∅
│ │ │ │ ├── name: :b
@@ -132,8 +133,7 @@
│ │ │ │ ├── opening_loc: ∅
│ │ │ │ ├── arguments: ∅
│ │ │ │ ├── closing_loc: ∅
- │ │ │ │ ├── block: ∅
- │ │ │ │ └── flags: variable_call
+ │ │ │ │ └── block: ∅
│ │ │ └── closing_loc: (32,3)-(32,4) = "}"
│ │ └── @ StringNode (location: (32,4)-(33,0))
│ │ ├── flags: ∅
@@ -167,6 +167,7 @@
│ ├── closing_loc: (47,0)-(48,0) = "EOF\n"
│ └── unescaped: " a \#{1}\n"
├── @ CallNode (location: (49,0)-(49,11))
+ │ ├── flags: ∅
│ ├── receiver:
│ │ @ StringNode (location: (49,0)-(49,4))
│ │ ├── flags: ∅
@@ -180,36 +181,36 @@
│ ├── opening_loc: ∅
│ ├── arguments:
│ │ @ ArgumentsNode (location: (49,7)-(49,11))
- │ │ ├── arguments: (length: 1)
- │ │ │ └── @ InterpolatedStringNode (location: (49,7)-(49,11))
- │ │ │ ├── opening_loc: (49,7)-(49,11) = "<<-B"
- │ │ │ ├── parts: (length: 3)
- │ │ │ │ ├── @ StringNode (location: (52,0)-(53,2))
- │ │ │ │ │ ├── flags: ∅
- │ │ │ │ │ ├── opening_loc: ∅
- │ │ │ │ │ ├── content_loc: (52,0)-(53,2) = " b\n "
- │ │ │ │ │ ├── closing_loc: ∅
- │ │ │ │ │ └── unescaped: " b\n "
- │ │ │ │ ├── @ EmbeddedStatementsNode (location: (53,2)-(54,3))
- │ │ │ │ │ ├── opening_loc: (53,2)-(53,4) = "\#{"
- │ │ │ │ │ ├── statements:
- │ │ │ │ │ │ @ StatementsNode (location: (53,4)-(53,5))
- │ │ │ │ │ │ └── body: (length: 1)
- │ │ │ │ │ │ └── @ IntegerNode (location: (53,4)-(53,5))
- │ │ │ │ │ │ └── flags: decimal
- │ │ │ │ │ └── closing_loc: (54,2)-(54,3) = "}"
- │ │ │ │ └── @ StringNode (location: (54,3)-(55,0))
- │ │ │ │ ├── flags: ∅
- │ │ │ │ ├── opening_loc: ∅
- │ │ │ │ ├── content_loc: (54,3)-(55,0) = "\n"
- │ │ │ │ ├── closing_loc: ∅
- │ │ │ │ └── unescaped: "\n"
- │ │ │ └── closing_loc: (55,0)-(56,0) = "B\n"
- │ │ └── flags: ∅
+ │ │ ├── flags: ∅
+ │ │ └── arguments: (length: 1)
+ │ │ └── @ InterpolatedStringNode (location: (49,7)-(49,11))
+ │ │ ├── opening_loc: (49,7)-(49,11) = "<<-B"
+ │ │ ├── parts: (length: 3)
+ │ │ │ ├── @ StringNode (location: (52,0)-(53,2))
+ │ │ │ │ ├── flags: ∅
+ │ │ │ │ ├── opening_loc: ∅
+ │ │ │ │ ├── content_loc: (52,0)-(53,2) = " b\n "
+ │ │ │ │ ├── closing_loc: ∅
+ │ │ │ │ └── unescaped: " b\n "
+ │ │ │ ├── @ EmbeddedStatementsNode (location: (53,2)-(54,3))
+ │ │ │ │ ├── opening_loc: (53,2)-(53,4) = "\#{"
+ │ │ │ │ ├── statements:
+ │ │ │ │ │ @ StatementsNode (location: (53,4)-(53,5))
+ │ │ │ │ │ └── body: (length: 1)
+ │ │ │ │ │ └── @ IntegerNode (location: (53,4)-(53,5))
+ │ │ │ │ │ └── flags: decimal
+ │ │ │ │ └── closing_loc: (54,2)-(54,3) = "}"
+ │ │ │ └── @ StringNode (location: (54,3)-(55,0))
+ │ │ │ ├── flags: ∅
+ │ │ │ ├── opening_loc: ∅
+ │ │ │ ├── content_loc: (54,3)-(55,0) = "\n"
+ │ │ │ ├── closing_loc: ∅
+ │ │ │ └── unescaped: "\n"
+ │ │ └── closing_loc: (55,0)-(56,0) = "B\n"
│ ├── closing_loc: ∅
- │ ├── block: ∅
- │ └── flags: ∅
+ │ └── block: ∅
└── @ CallNode (location: (57,0)-(57,11))
+ ├── flags: ∅
├── receiver:
│ @ StringNode (location: (57,0)-(57,4))
│ ├── flags: ∅
@@ -223,32 +224,31 @@
├── opening_loc: ∅
├── arguments:
│ @ ArgumentsNode (location: (57,7)-(57,11))
- │ ├── arguments: (length: 1)
- │ │ └── @ InterpolatedStringNode (location: (57,7)-(57,11))
- │ │ ├── opening_loc: (57,7)-(57,11) = "<<-B"
- │ │ ├── parts: (length: 3)
- │ │ │ ├── @ StringNode (location: (60,0)-(61,2))
- │ │ │ │ ├── flags: ∅
- │ │ │ │ ├── opening_loc: ∅
- │ │ │ │ ├── content_loc: (60,0)-(61,2) = " b\n "
- │ │ │ │ ├── closing_loc: ∅
- │ │ │ │ └── unescaped: " b\n "
- │ │ │ ├── @ EmbeddedStatementsNode (location: (61,2)-(62,4))
- │ │ │ │ ├── opening_loc: (61,2)-(61,4) = "\#{"
- │ │ │ │ ├── statements:
- │ │ │ │ │ @ StatementsNode (location: (62,2)-(62,3))
- │ │ │ │ │ └── body: (length: 1)
- │ │ │ │ │ └── @ IntegerNode (location: (62,2)-(62,3))
- │ │ │ │ │ └── flags: decimal
- │ │ │ │ └── closing_loc: (62,3)-(62,4) = "}"
- │ │ │ └── @ StringNode (location: (62,4)-(63,0))
- │ │ │ ├── flags: ∅
- │ │ │ ├── opening_loc: ∅
- │ │ │ ├── content_loc: (62,4)-(63,0) = "\n"
- │ │ │ ├── closing_loc: ∅
- │ │ │ └── unescaped: "\n"
- │ │ └── closing_loc: (63,0)-(64,0) = "B\n"
- │ └── flags: ∅
+ │ ├── flags: ∅
+ │ └── arguments: (length: 1)
+ │ └── @ InterpolatedStringNode (location: (57,7)-(57,11))
+ │ ├── opening_loc: (57,7)-(57,11) = "<<-B"
+ │ ├── parts: (length: 3)
+ │ │ ├── @ StringNode (location: (60,0)-(61,2))
+ │ │ │ ├── flags: ∅
+ │ │ │ ├── opening_loc: ∅
+ │ │ │ ├── content_loc: (60,0)-(61,2) = " b\n "
+ │ │ │ ├── closing_loc: ∅
+ │ │ │ └── unescaped: " b\n "
+ │ │ ├── @ EmbeddedStatementsNode (location: (61,2)-(62,4))
+ │ │ │ ├── opening_loc: (61,2)-(61,4) = "\#{"
+ │ │ │ ├── statements:
+ │ │ │ │ @ StatementsNode (location: (62,2)-(62,3))
+ │ │ │ │ └── body: (length: 1)
+ │ │ │ │ └── @ IntegerNode (location: (62,2)-(62,3))
+ │ │ │ │ └── flags: decimal
+ │ │ │ └── closing_loc: (62,3)-(62,4) = "}"
+ │ │ └── @ StringNode (location: (62,4)-(63,0))
+ │ │ ├── flags: ∅
+ │ │ ├── opening_loc: ∅
+ │ │ ├── content_loc: (62,4)-(63,0) = "\n"
+ │ │ ├── closing_loc: ∅
+ │ │ └── unescaped: "\n"
+ │ └── closing_loc: (63,0)-(64,0) = "B\n"
├── closing_loc: ∅
- ├── block: ∅
- └── flags: ∅
+ └── block: ∅
diff --git a/test/prism/snapshots/defined.txt b/test/prism/snapshots/defined.txt
index e4f872bc8f..521cb1cdd7 100644
--- a/test/prism/snapshots/defined.txt
+++ b/test/prism/snapshots/defined.txt
@@ -41,6 +41,7 @@
│ │ @ AndNode (location: (5,9)-(5,20))
│ │ ├── left:
│ │ │ @ CallNode (location: (5,9)-(5,12))
+ │ │ │ ├── flags: variable_call
│ │ │ ├── receiver: ∅
│ │ │ ├── call_operator_loc: ∅
│ │ │ ├── name: :foo
@@ -48,10 +49,10 @@
│ │ │ ├── opening_loc: ∅
│ │ │ ├── arguments: ∅
│ │ │ ├── closing_loc: ∅
- │ │ │ ├── block: ∅
- │ │ │ └── flags: variable_call
+ │ │ │ └── block: ∅
│ │ ├── right:
│ │ │ @ CallNode (location: (5,17)-(5,20))
+ │ │ │ ├── flags: variable_call
│ │ │ ├── receiver: ∅
│ │ │ ├── call_operator_loc: ∅
│ │ │ ├── name: :bar
@@ -59,8 +60,7 @@
│ │ │ ├── opening_loc: ∅
│ │ │ ├── arguments: ∅
│ │ │ ├── closing_loc: ∅
- │ │ │ ├── block: ∅
- │ │ │ └── flags: variable_call
+ │ │ │ └── block: ∅
│ │ └── operator_loc: (5,13)-(5,16) = "and"
│ ├── rparen_loc: (5,20)-(5,21) = ")"
│ └── keyword_loc: (5,0)-(5,8) = "defined?"
diff --git a/test/prism/snapshots/dos_endings.txt b/test/prism/snapshots/dos_endings.txt
index f0622a2434..4500bf7881 100644
--- a/test/prism/snapshots/dos_endings.txt
+++ b/test/prism/snapshots/dos_endings.txt
@@ -4,6 +4,7 @@
@ StatementsNode (location: (1,0)-(17,20))
└── body: (length: 5)
├── @ CallNode (location: (1,0)-(2,12))
+ │ ├── flags: ∅
│ ├── receiver: ∅
│ ├── call_operator_loc: ∅
│ ├── name: :puts
@@ -11,28 +12,28 @@
│ ├── opening_loc: ∅
│ ├── arguments:
│ │ @ ArgumentsNode (location: (1,5)-(2,12))
- │ │ ├── arguments: (length: 1)
- │ │ │ └── @ InterpolatedStringNode (location: (1,5)-(2,12))
- │ │ │ ├── opening_loc: ∅
- │ │ │ ├── parts: (length: 2)
- │ │ │ │ ├── @ StringNode (location: (1,5)-(1,9))
- │ │ │ │ │ ├── flags: ∅
- │ │ │ │ │ ├── opening_loc: (1,5)-(1,6) = "\""
- │ │ │ │ │ ├── content_loc: (1,6)-(1,8) = "hi"
- │ │ │ │ │ ├── closing_loc: (1,8)-(1,9) = "\""
- │ │ │ │ │ └── unescaped: "hi"
- │ │ │ │ └── @ StringNode (location: (2,5)-(2,12))
- │ │ │ │ ├── flags: ∅
- │ │ │ │ ├── opening_loc: (2,5)-(2,6) = "\""
- │ │ │ │ ├── content_loc: (2,6)-(2,11) = "there"
- │ │ │ │ ├── closing_loc: (2,11)-(2,12) = "\""
- │ │ │ │ └── unescaped: "there"
- │ │ │ └── closing_loc: ∅
- │ │ └── flags: ∅
+ │ │ ├── flags: ∅
+ │ │ └── arguments: (length: 1)
+ │ │ └── @ InterpolatedStringNode (location: (1,5)-(2,12))
+ │ │ ├── opening_loc: ∅
+ │ │ ├── parts: (length: 2)
+ │ │ │ ├── @ StringNode (location: (1,5)-(1,9))
+ │ │ │ │ ├── flags: ∅
+ │ │ │ │ ├── opening_loc: (1,5)-(1,6) = "\""
+ │ │ │ │ ├── content_loc: (1,6)-(1,8) = "hi"
+ │ │ │ │ ├── closing_loc: (1,8)-(1,9) = "\""
+ │ │ │ │ └── unescaped: "hi"
+ │ │ │ └── @ StringNode (location: (2,5)-(2,12))
+ │ │ │ ├── flags: ∅
+ │ │ │ ├── opening_loc: (2,5)-(2,6) = "\""
+ │ │ │ ├── content_loc: (2,6)-(2,11) = "there"
+ │ │ │ ├── closing_loc: (2,11)-(2,12) = "\""
+ │ │ │ └── unescaped: "there"
+ │ │ └── closing_loc: ∅
│ ├── closing_loc: ∅
- │ ├── block: ∅
- │ └── flags: ∅
+ │ └── block: ∅
├── @ ArrayNode (location: (4,0)-(5,2))
+ │ ├── flags: ∅
│ ├── elements: (length: 1)
│ │ └── @ SymbolNode (location: (4,3)-(5,1))
│ │ ├── opening_loc: ∅
@@ -40,8 +41,7 @@
│ │ ├── closing_loc: ∅
│ │ └── unescaped: "a\nb"
│ ├── opening_loc: (4,0)-(4,3) = "%I{"
- │ ├── closing_loc: (5,1)-(5,2) = "}"
- │ └── flags: ∅
+ │ └── closing_loc: (5,1)-(5,2) = "}"
├── @ StringNode (location: (7,0)-(7,4))
│ ├── flags: ∅
│ ├── opening_loc: (7,0)-(7,4) = "<<-E"
@@ -66,6 +66,7 @@
├── name_loc: (17,0)-(17,1) = "a"
├── value:
│ @ CallNode (location: (17,4)-(17,20))
+ │ ├── flags: ∅
│ ├── receiver: ∅
│ ├── call_operator_loc: ∅
│ ├── name: :foo
@@ -73,35 +74,34 @@
│ ├── opening_loc: (17,7)-(17,8) = "("
│ ├── arguments:
│ │ @ ArgumentsNode (location: (17,8)-(17,19))
- │ │ ├── arguments: (length: 1)
- │ │ │ └── @ CallNode (location: (17,8)-(17,19))
- │ │ │ ├── receiver:
- │ │ │ │ @ InterpolatedStringNode (location: (17,8)-(17,14))
- │ │ │ │ ├── opening_loc: (17,8)-(17,14) = "<<~EOF"
- │ │ │ │ ├── parts: (length: 2)
- │ │ │ │ │ ├── @ StringNode (location: (18,0)-(19,0))
- │ │ │ │ │ │ ├── flags: ∅
- │ │ │ │ │ │ ├── opening_loc: ∅
- │ │ │ │ │ │ ├── content_loc: (18,0)-(19,0) = "\r\n"
- │ │ │ │ │ │ ├── closing_loc: ∅
- │ │ │ │ │ │ └── unescaped: "\n"
- │ │ │ │ │ └── @ StringNode (location: (19,0)-(20,0))
- │ │ │ │ │ ├── flags: ∅
- │ │ │ │ │ ├── opening_loc: ∅
- │ │ │ │ │ ├── content_loc: (19,0)-(20,0) = " baz\r\n"
- │ │ │ │ │ ├── closing_loc: ∅
- │ │ │ │ │ └── unescaped: "baz\r\n"
- │ │ │ │ └── closing_loc: (20,0)-(21,0) = " EOF\r\n"
- │ │ │ ├── call_operator_loc: (17,14)-(17,15) = "."
- │ │ │ ├── name: :chop
- │ │ │ ├── message_loc: (17,15)-(17,19) = "chop"
- │ │ │ ├── opening_loc: ∅
- │ │ │ ├── arguments: ∅
- │ │ │ ├── closing_loc: ∅
- │ │ │ ├── block: ∅
- │ │ │ └── flags: ∅
- │ │ └── flags: ∅
+ │ │ ├── flags: ∅
+ │ │ └── arguments: (length: 1)
+ │ │ └── @ CallNode (location: (17,8)-(17,19))
+ │ │ ├── flags: ∅
+ │ │ ├── receiver:
+ │ │ │ @ InterpolatedStringNode (location: (17,8)-(17,14))
+ │ │ │ ├── opening_loc: (17,8)-(17,14) = "<<~EOF"
+ │ │ │ ├── parts: (length: 2)
+ │ │ │ │ ├── @ StringNode (location: (18,0)-(19,0))
+ │ │ │ │ │ ├── flags: ∅
+ │ │ │ │ │ ├── opening_loc: ∅
+ │ │ │ │ │ ├── content_loc: (18,0)-(19,0) = "\r\n"
+ │ │ │ │ │ ├── closing_loc: ∅
+ │ │ │ │ │ └── unescaped: "\n"
+ │ │ │ │ └── @ StringNode (location: (19,0)-(20,0))
+ │ │ │ │ ├── flags: ∅
+ │ │ │ │ ├── opening_loc: ∅
+ │ │ │ │ ├── content_loc: (19,0)-(20,0) = " baz\r\n"
+ │ │ │ │ ├── closing_loc: ∅
+ │ │ │ │ └── unescaped: "baz\r\n"
+ │ │ │ └── closing_loc: (20,0)-(21,0) = " EOF\r\n"
+ │ │ ├── call_operator_loc: (17,14)-(17,15) = "."
+ │ │ ├── name: :chop
+ │ │ ├── message_loc: (17,15)-(17,19) = "chop"
+ │ │ ├── opening_loc: ∅
+ │ │ ├── arguments: ∅
+ │ │ ├── closing_loc: ∅
+ │ │ └── block: ∅
│ ├── closing_loc: (17,19)-(17,20) = ")"
- │ ├── block: ∅
- │ └── flags: ∅
+ │ └── block: ∅
└── operator_loc: (17,2)-(17,3) = "="
diff --git a/test/prism/snapshots/endless_methods.txt b/test/prism/snapshots/endless_methods.txt
index 4ca6781a5a..0ff973c119 100644
--- a/test/prism/snapshots/endless_methods.txt
+++ b/test/prism/snapshots/endless_methods.txt
@@ -30,6 +30,7 @@
│ │ @ StatementsNode (location: (3,10)-(3,14))
│ │ └── body: (length: 1)
│ │ └── @ CallNode (location: (3,10)-(3,14))
+ │ │ ├── flags: ∅
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
│ │ ├── name: :A
@@ -37,17 +38,16 @@
│ │ ├── opening_loc: ∅
│ │ ├── arguments:
│ │ │ @ ArgumentsNode (location: (3,12)-(3,14))
- │ │ │ ├── arguments: (length: 1)
- │ │ │ │ └── @ StringNode (location: (3,12)-(3,14))
- │ │ │ │ ├── flags: ∅
- │ │ │ │ ├── opening_loc: (3,12)-(3,13) = "\""
- │ │ │ │ ├── content_loc: (3,13)-(3,13) = ""
- │ │ │ │ ├── closing_loc: (3,13)-(3,14) = "\""
- │ │ │ │ └── unescaped: ""
- │ │ │ └── flags: ∅
+ │ │ │ ├── flags: ∅
+ │ │ │ └── arguments: (length: 1)
+ │ │ │ └── @ StringNode (location: (3,12)-(3,14))
+ │ │ │ ├── flags: ∅
+ │ │ │ ├── opening_loc: (3,12)-(3,13) = "\""
+ │ │ │ ├── content_loc: (3,13)-(3,13) = ""
+ │ │ │ ├── closing_loc: (3,13)-(3,14) = "\""
+ │ │ │ └── unescaped: ""
│ │ ├── closing_loc: ∅
- │ │ ├── block: ∅
- │ │ └── flags: ∅
+ │ │ └── block: ∅
│ ├── locals: []
│ ├── locals_body_index: 0
│ ├── def_keyword_loc: (3,0)-(3,3) = "def"
@@ -65,8 +65,10 @@
│ @ StatementsNode (location: (5,13)-(5,22))
│ └── body: (length: 1)
│ └── @ CallNode (location: (5,13)-(5,22))
+ │ ├── flags: ∅
│ ├── receiver:
│ │ @ CallNode (location: (5,13)-(5,18))
+ │ │ ├── flags: ∅
│ │ ├── receiver:
│ │ │ @ IntegerNode (location: (5,13)-(5,14))
│ │ │ └── flags: decimal
@@ -76,26 +78,24 @@
│ │ ├── opening_loc: ∅
│ │ ├── arguments:
│ │ │ @ ArgumentsNode (location: (5,17)-(5,18))
- │ │ │ ├── arguments: (length: 1)
- │ │ │ │ └── @ IntegerNode (location: (5,17)-(5,18))
- │ │ │ │ └── flags: decimal
- │ │ │ └── flags: ∅
+ │ │ │ ├── flags: ∅
+ │ │ │ └── arguments: (length: 1)
+ │ │ │ └── @ IntegerNode (location: (5,17)-(5,18))
+ │ │ │ └── flags: decimal
│ │ ├── closing_loc: ∅
- │ │ ├── block: ∅
- │ │ └── flags: ∅
+ │ │ └── block: ∅
│ ├── call_operator_loc: ∅
│ ├── name: :+
│ ├── message_loc: (5,19)-(5,20) = "+"
│ ├── opening_loc: ∅
│ ├── arguments:
│ │ @ ArgumentsNode (location: (5,21)-(5,22))
- │ │ ├── arguments: (length: 1)
- │ │ │ └── @ IntegerNode (location: (5,21)-(5,22))
- │ │ │ └── flags: decimal
- │ │ └── flags: ∅
+ │ │ ├── flags: ∅
+ │ │ └── arguments: (length: 1)
+ │ │ └── @ IntegerNode (location: (5,21)-(5,22))
+ │ │ └── flags: decimal
│ ├── closing_loc: ∅
- │ ├── block: ∅
- │ └── flags: ∅
+ │ └── block: ∅
├── locals: []
├── locals_body_index: 0
├── def_keyword_loc: (5,0)-(5,3) = "def"
diff --git a/test/prism/snapshots/endless_range_in_conditional.txt b/test/prism/snapshots/endless_range_in_conditional.txt
index 2c13dc28de..eb5b321c94 100644
--- a/test/prism/snapshots/endless_range_in_conditional.txt
+++ b/test/prism/snapshots/endless_range_in_conditional.txt
@@ -7,14 +7,14 @@
│ ├── if_keyword_loc: (1,0)-(1,2) = "if"
│ ├── predicate:
│ │ @ FlipFlopNode (location: (1,3)-(1,7))
+ │ │ ├── flags: ∅
│ │ ├── left:
│ │ │ @ IntegerNode (location: (1,3)-(1,4))
│ │ │ └── flags: decimal
│ │ ├── right:
│ │ │ @ IntegerNode (location: (1,6)-(1,7))
│ │ │ └── flags: decimal
- │ │ ├── operator_loc: (1,4)-(1,6) = ".."
- │ │ └── flags: ∅
+ │ │ └── operator_loc: (1,4)-(1,6) = ".."
│ ├── then_keyword_loc: ∅
│ ├── statements: ∅
│ ├── consequent: ∅
@@ -23,12 +23,12 @@
│ ├── if_keyword_loc: (2,0)-(2,2) = "if"
│ ├── predicate:
│ │ @ FlipFlopNode (location: (2,3)-(2,6))
+ │ │ ├── flags: ∅
│ │ ├── left: ∅
│ │ ├── right:
│ │ │ @ IntegerNode (location: (2,5)-(2,6))
│ │ │ └── flags: decimal
- │ │ ├── operator_loc: (2,3)-(2,5) = ".."
- │ │ └── flags: ∅
+ │ │ └── operator_loc: (2,3)-(2,5) = ".."
│ ├── then_keyword_loc: ∅
│ ├── statements: ∅
│ ├── consequent: ∅
@@ -37,12 +37,12 @@
├── if_keyword_loc: (3,0)-(3,2) = "if"
├── predicate:
│ @ FlipFlopNode (location: (3,3)-(3,6))
+ │ ├── flags: ∅
│ ├── left:
│ │ @ IntegerNode (location: (3,3)-(3,4))
│ │ └── flags: decimal
│ ├── right: ∅
- │ ├── operator_loc: (3,4)-(3,6) = ".."
- │ └── flags: ∅
+ │ └── operator_loc: (3,4)-(3,6) = ".."
├── then_keyword_loc: ∅
├── statements: ∅
├── consequent: ∅
diff --git a/test/prism/snapshots/for.txt b/test/prism/snapshots/for.txt
index bb3274b1be..b2aeb8fccf 100644
--- a/test/prism/snapshots/for.txt
+++ b/test/prism/snapshots/for.txt
@@ -10,14 +10,14 @@
│ │ └── depth: 0
│ ├── collection:
│ │ @ RangeNode (location: (1,9)-(1,14))
+ │ │ ├── flags: ∅
│ │ ├── left:
│ │ │ @ IntegerNode (location: (1,9)-(1,10))
│ │ │ └── flags: decimal
│ │ ├── right:
│ │ │ @ IntegerNode (location: (1,12)-(1,14))
│ │ │ └── flags: decimal
- │ │ ├── operator_loc: (1,10)-(1,12) = ".."
- │ │ └── flags: ∅
+ │ │ └── operator_loc: (1,10)-(1,12) = ".."
│ ├── statements:
│ │ @ StatementsNode (location: (2,0)-(2,1))
│ │ └── body: (length: 1)
@@ -35,14 +35,14 @@
│ │ └── depth: 0
│ ├── collection:
│ │ @ RangeNode (location: (5,9)-(5,14))
+ │ │ ├── flags: ∅
│ │ ├── left:
│ │ │ @ IntegerNode (location: (5,9)-(5,10))
│ │ │ └── flags: decimal
│ │ ├── right:
│ │ │ @ IntegerNode (location: (5,12)-(5,14))
│ │ │ └── flags: decimal
- │ │ ├── operator_loc: (5,10)-(5,12) = ".."
- │ │ └── flags: ∅
+ │ │ └── operator_loc: (5,10)-(5,12) = ".."
│ ├── statements:
│ │ @ StatementsNode (location: (5,16)-(5,17))
│ │ └── body: (length: 1)
@@ -69,14 +69,14 @@
│ │ └── rparen_loc: ∅
│ ├── collection:
│ │ @ RangeNode (location: (7,11)-(7,16))
+ │ │ ├── flags: ∅
│ │ ├── left:
│ │ │ @ IntegerNode (location: (7,11)-(7,12))
│ │ │ └── flags: decimal
│ │ ├── right:
│ │ │ @ IntegerNode (location: (7,14)-(7,16))
│ │ │ └── flags: decimal
- │ │ ├── operator_loc: (7,12)-(7,14) = ".."
- │ │ └── flags: ∅
+ │ │ └── operator_loc: (7,12)-(7,14) = ".."
│ ├── statements:
│ │ @ StatementsNode (location: (8,0)-(8,1))
│ │ └── body: (length: 1)
@@ -106,14 +106,14 @@
│ │ └── rparen_loc: ∅
│ ├── collection:
│ │ @ RangeNode (location: (11,13)-(11,18))
+ │ │ ├── flags: ∅
│ │ ├── left:
│ │ │ @ IntegerNode (location: (11,13)-(11,14))
│ │ │ └── flags: decimal
│ │ ├── right:
│ │ │ @ IntegerNode (location: (11,16)-(11,18))
│ │ │ └── flags: decimal
- │ │ ├── operator_loc: (11,14)-(11,16) = ".."
- │ │ └── flags: ∅
+ │ │ └── operator_loc: (11,14)-(11,16) = ".."
│ ├── statements:
│ │ @ StatementsNode (location: (12,0)-(12,1))
│ │ └── body: (length: 1)
@@ -131,14 +131,14 @@
│ │ └── depth: 0
│ ├── collection:
│ │ @ RangeNode (location: (15,9)-(15,14))
+ │ │ ├── flags: ∅
│ │ ├── left:
│ │ │ @ IntegerNode (location: (15,9)-(15,10))
│ │ │ └── flags: decimal
│ │ ├── right:
│ │ │ @ IntegerNode (location: (15,12)-(15,14))
│ │ │ └── flags: decimal
- │ │ ├── operator_loc: (15,10)-(15,12) = ".."
- │ │ └── flags: ∅
+ │ │ └── operator_loc: (15,10)-(15,12) = ".."
│ ├── statements:
│ │ @ StatementsNode (location: (16,0)-(16,1))
│ │ └── body: (length: 1)
@@ -156,14 +156,14 @@
│ └── depth: 0
├── collection:
│ @ RangeNode (location: (19,9)-(19,14))
+ │ ├── flags: ∅
│ ├── left:
│ │ @ IntegerNode (location: (19,9)-(19,10))
│ │ └── flags: decimal
│ ├── right:
│ │ @ IntegerNode (location: (19,12)-(19,14))
│ │ └── flags: decimal
- │ ├── operator_loc: (19,10)-(19,12) = ".."
- │ └── flags: ∅
+ │ └── operator_loc: (19,10)-(19,12) = ".."
├── statements:
│ @ StatementsNode (location: (19,16)-(19,17))
│ └── body: (length: 1)
diff --git a/test/prism/snapshots/hashes.txt b/test/prism/snapshots/hashes.txt
index 49db4e1c25..c777e8932e 100644
--- a/test/prism/snapshots/hashes.txt
+++ b/test/prism/snapshots/hashes.txt
@@ -17,6 +17,7 @@
│ │ ├── @ AssocNode (location: (6,2)-(6,8))
│ │ │ ├── key:
│ │ │ │ @ CallNode (location: (6,2)-(6,3))
+ │ │ │ │ ├── flags: variable_call
│ │ │ │ ├── receiver: ∅
│ │ │ │ ├── call_operator_loc: ∅
│ │ │ │ ├── name: :a
@@ -24,10 +25,10 @@
│ │ │ │ ├── opening_loc: ∅
│ │ │ │ ├── arguments: ∅
│ │ │ │ ├── closing_loc: ∅
- │ │ │ │ ├── block: ∅
- │ │ │ │ └── flags: variable_call
+ │ │ │ │ └── block: ∅
│ │ │ ├── value:
│ │ │ │ @ CallNode (location: (6,7)-(6,8))
+ │ │ │ │ ├── flags: variable_call
│ │ │ │ ├── receiver: ∅
│ │ │ │ ├── call_operator_loc: ∅
│ │ │ │ ├── name: :b
@@ -35,12 +36,12 @@
│ │ │ │ ├── opening_loc: ∅
│ │ │ │ ├── arguments: ∅
│ │ │ │ ├── closing_loc: ∅
- │ │ │ │ ├── block: ∅
- │ │ │ │ └── flags: variable_call
+ │ │ │ │ └── block: ∅
│ │ │ └── operator_loc: (6,4)-(6,6) = "=>"
│ │ └── @ AssocNode (location: (6,10)-(6,16))
│ │ ├── key:
│ │ │ @ CallNode (location: (6,10)-(6,11))
+ │ │ │ ├── flags: variable_call
│ │ │ ├── receiver: ∅
│ │ │ ├── call_operator_loc: ∅
│ │ │ ├── name: :c
@@ -48,10 +49,10 @@
│ │ │ ├── opening_loc: ∅
│ │ │ ├── arguments: ∅
│ │ │ ├── closing_loc: ∅
- │ │ │ ├── block: ∅
- │ │ │ └── flags: variable_call
+ │ │ │ └── block: ∅
│ │ ├── value:
│ │ │ @ CallNode (location: (6,15)-(6,16))
+ │ │ │ ├── flags: variable_call
│ │ │ ├── receiver: ∅
│ │ │ ├── call_operator_loc: ∅
│ │ │ ├── name: :d
@@ -59,8 +60,7 @@
│ │ │ ├── opening_loc: ∅
│ │ │ ├── arguments: ∅
│ │ │ ├── closing_loc: ∅
- │ │ │ ├── block: ∅
- │ │ │ └── flags: variable_call
+ │ │ │ └── block: ∅
│ │ └── operator_loc: (6,12)-(6,14) = "=>"
│ └── closing_loc: (6,17)-(6,18) = "}"
├── @ HashNode (location: (8,0)-(8,15))
@@ -69,6 +69,7 @@
│ │ ├── @ AssocNode (location: (8,2)-(8,8))
│ │ │ ├── key:
│ │ │ │ @ CallNode (location: (8,2)-(8,3))
+ │ │ │ │ ├── flags: variable_call
│ │ │ │ ├── receiver: ∅
│ │ │ │ ├── call_operator_loc: ∅
│ │ │ │ ├── name: :a
@@ -76,10 +77,10 @@
│ │ │ │ ├── opening_loc: ∅
│ │ │ │ ├── arguments: ∅
│ │ │ │ ├── closing_loc: ∅
- │ │ │ │ ├── block: ∅
- │ │ │ │ └── flags: variable_call
+ │ │ │ │ └── block: ∅
│ │ │ ├── value:
│ │ │ │ @ CallNode (location: (8,7)-(8,8))
+ │ │ │ │ ├── flags: variable_call
│ │ │ │ ├── receiver: ∅
│ │ │ │ ├── call_operator_loc: ∅
│ │ │ │ ├── name: :b
@@ -87,12 +88,12 @@
│ │ │ │ ├── opening_loc: ∅
│ │ │ │ ├── arguments: ∅
│ │ │ │ ├── closing_loc: ∅
- │ │ │ │ ├── block: ∅
- │ │ │ │ └── flags: variable_call
+ │ │ │ │ └── block: ∅
│ │ │ └── operator_loc: (8,4)-(8,6) = "=>"
│ │ └── @ AssocSplatNode (location: (8,10)-(8,13))
│ │ ├── value:
│ │ │ @ CallNode (location: (8,12)-(8,13))
+ │ │ │ ├── flags: variable_call
│ │ │ ├── receiver: ∅
│ │ │ ├── call_operator_loc: ∅
│ │ │ ├── name: :c
@@ -100,8 +101,7 @@
│ │ │ ├── opening_loc: ∅
│ │ │ ├── arguments: ∅
│ │ │ ├── closing_loc: ∅
- │ │ │ ├── block: ∅
- │ │ │ └── flags: variable_call
+ │ │ │ └── block: ∅
│ │ └── operator_loc: (8,10)-(8,12) = "**"
│ └── closing_loc: (8,14)-(8,15) = "}"
├── @ HashNode (location: (10,0)-(16,5))
@@ -116,6 +116,7 @@
│ │ │ │ └── unescaped: "a"
│ │ │ ├── value:
│ │ │ │ @ CallNode (location: (11,9)-(11,10))
+ │ │ │ │ ├── flags: variable_call
│ │ │ │ ├── receiver: ∅
│ │ │ │ ├── call_operator_loc: ∅
│ │ │ │ ├── name: :b
@@ -123,8 +124,7 @@
│ │ │ │ ├── opening_loc: ∅
│ │ │ │ ├── arguments: ∅
│ │ │ │ ├── closing_loc: ∅
- │ │ │ │ ├── block: ∅
- │ │ │ │ └── flags: variable_call
+ │ │ │ │ └── block: ∅
│ │ │ └── operator_loc: ∅
│ │ └── @ AssocNode (location: (12,6)-(12,10))
│ │ ├── key:
@@ -135,6 +135,7 @@
│ │ │ └── unescaped: "c"
│ │ ├── value:
│ │ │ @ CallNode (location: (12,9)-(12,10))
+ │ │ │ ├── flags: variable_call
│ │ │ ├── receiver: ∅
│ │ │ ├── call_operator_loc: ∅
│ │ │ ├── name: :d
@@ -142,8 +143,7 @@
│ │ │ ├── opening_loc: ∅
│ │ │ ├── arguments: ∅
│ │ │ ├── closing_loc: ∅
- │ │ │ ├── block: ∅
- │ │ │ └── flags: variable_call
+ │ │ │ └── block: ∅
│ │ └── operator_loc: ∅
│ └── closing_loc: (16,4)-(16,5) = "}"
├── @ HashNode (location: (18,0)-(18,25))
@@ -158,6 +158,7 @@
│ │ │ │ └── unescaped: "a"
│ │ │ ├── value:
│ │ │ │ @ CallNode (location: (18,5)-(18,6))
+ │ │ │ │ ├── flags: variable_call
│ │ │ │ ├── receiver: ∅
│ │ │ │ ├── call_operator_loc: ∅
│ │ │ │ ├── name: :b
@@ -165,8 +166,7 @@
│ │ │ │ ├── opening_loc: ∅
│ │ │ │ ├── arguments: ∅
│ │ │ │ ├── closing_loc: ∅
- │ │ │ │ ├── block: ∅
- │ │ │ │ └── flags: variable_call
+ │ │ │ │ └── block: ∅
│ │ │ └── operator_loc: ∅
│ │ ├── @ AssocNode (location: (18,8)-(18,12))
│ │ │ ├── key:
@@ -177,6 +177,7 @@
│ │ │ │ └── unescaped: "c"
│ │ │ ├── value:
│ │ │ │ @ CallNode (location: (18,11)-(18,12))
+ │ │ │ │ ├── flags: variable_call
│ │ │ │ ├── receiver: ∅
│ │ │ │ ├── call_operator_loc: ∅
│ │ │ │ ├── name: :d
@@ -184,12 +185,12 @@
│ │ │ │ ├── opening_loc: ∅
│ │ │ │ ├── arguments: ∅
│ │ │ │ ├── closing_loc: ∅
- │ │ │ │ ├── block: ∅
- │ │ │ │ └── flags: variable_call
+ │ │ │ │ └── block: ∅
│ │ │ └── operator_loc: ∅
│ │ ├── @ AssocSplatNode (location: (18,14)-(18,17))
│ │ │ ├── value:
│ │ │ │ @ CallNode (location: (18,16)-(18,17))
+ │ │ │ │ ├── flags: variable_call
│ │ │ │ ├── receiver: ∅
│ │ │ │ ├── call_operator_loc: ∅
│ │ │ │ ├── name: :e
@@ -197,8 +198,7 @@
│ │ │ │ ├── opening_loc: ∅
│ │ │ │ ├── arguments: ∅
│ │ │ │ ├── closing_loc: ∅
- │ │ │ │ ├── block: ∅
- │ │ │ │ └── flags: variable_call
+ │ │ │ │ └── block: ∅
│ │ │ └── operator_loc: (18,14)-(18,16) = "**"
│ │ └── @ AssocNode (location: (18,19)-(18,23))
│ │ ├── key:
@@ -209,6 +209,7 @@
│ │ │ └── unescaped: "f"
│ │ ├── value:
│ │ │ @ CallNode (location: (18,22)-(18,23))
+ │ │ │ ├── flags: variable_call
│ │ │ ├── receiver: ∅
│ │ │ ├── call_operator_loc: ∅
│ │ │ ├── name: :g
@@ -216,8 +217,7 @@
│ │ │ ├── opening_loc: ∅
│ │ │ ├── arguments: ∅
│ │ │ ├── closing_loc: ∅
- │ │ │ ├── block: ∅
- │ │ │ └── flags: variable_call
+ │ │ │ └── block: ∅
│ │ └── operator_loc: ∅
│ └── closing_loc: (18,24)-(18,25) = "}"
├── @ HashNode (location: (20,0)-(20,12))
@@ -232,8 +232,10 @@
│ │ │ └── unescaped: "a"
│ │ ├── value:
│ │ │ @ CallNode (location: (20,7)-(20,10))
+ │ │ │ ├── flags: ∅
│ │ │ ├── receiver:
│ │ │ │ @ CallNode (location: (20,8)-(20,10))
+ │ │ │ │ ├── flags: ∅
│ │ │ │ ├── receiver: ∅
│ │ │ │ ├── call_operator_loc: ∅
│ │ │ │ ├── name: :b?
@@ -241,16 +243,14 @@
│ │ │ │ ├── opening_loc: ∅
│ │ │ │ ├── arguments: ∅
│ │ │ │ ├── closing_loc: ∅
- │ │ │ │ ├── block: ∅
- │ │ │ │ └── flags: ∅
+ │ │ │ │ └── block: ∅
│ │ │ ├── call_operator_loc: ∅
│ │ │ ├── name: :!
│ │ │ ├── message_loc: (20,7)-(20,8) = "!"
│ │ │ ├── opening_loc: ∅
│ │ │ ├── arguments: ∅
│ │ │ ├── closing_loc: ∅
- │ │ │ ├── block: ∅
- │ │ │ └── flags: ∅
+ │ │ │ └── block: ∅
│ │ └── operator_loc: ∅
│ └── closing_loc: (20,11)-(20,12) = "}"
├── @ LocalVariableWriteNode (location: (22,0)-(22,5))
@@ -262,6 +262,7 @@
│ │ └── flags: decimal
│ └── operator_loc: (22,2)-(22,3) = "="
└── @ CallNode (location: (23,0)-(26,3))
+ ├── flags: ∅
├── receiver: ∅
├── call_operator_loc: ∅
├── name: :tap
@@ -269,88 +270,87 @@
├── opening_loc: ∅
├── arguments: ∅
├── closing_loc: ∅
- ├── block:
- │ @ BlockNode (location: (23,4)-(26,3))
- │ ├── locals: [:b]
- │ ├── locals_body_index: 0
- │ ├── parameters: ∅
- │ ├── body:
- │ │ @ StatementsNode (location: (24,2)-(25,20))
- │ │ └── body: (length: 2)
- │ │ ├── @ LocalVariableWriteNode (location: (24,2)-(24,7))
- │ │ │ ├── name: :b
- │ │ │ ├── depth: 0
- │ │ │ ├── name_loc: (24,2)-(24,3) = "b"
- │ │ │ ├── value:
- │ │ │ │ @ IntegerNode (location: (24,6)-(24,7))
- │ │ │ │ └── flags: decimal
- │ │ │ └── operator_loc: (24,4)-(24,5) = "="
- │ │ └── @ HashNode (location: (25,2)-(25,20))
- │ │ ├── opening_loc: (25,2)-(25,3) = "{"
- │ │ ├── elements: (length: 4)
- │ │ │ ├── @ AssocNode (location: (25,4)-(25,6))
- │ │ │ │ ├── key:
- │ │ │ │ │ @ SymbolNode (location: (25,4)-(25,6))
- │ │ │ │ │ ├── opening_loc: ∅
- │ │ │ │ │ ├── value_loc: (25,4)-(25,5) = "a"
- │ │ │ │ │ ├── closing_loc: (25,5)-(25,6) = ":"
- │ │ │ │ │ └── unescaped: "a"
- │ │ │ │ ├── value:
- │ │ │ │ │ @ ImplicitNode (location: (25,4)-(25,6))
- │ │ │ │ │ └── value:
- │ │ │ │ │ @ LocalVariableReadNode (location: (25,4)-(25,6))
- │ │ │ │ │ ├── name: :a
- │ │ │ │ │ └── depth: 1
- │ │ │ │ └── operator_loc: ∅
- │ │ │ ├── @ AssocNode (location: (25,8)-(25,10))
- │ │ │ │ ├── key:
- │ │ │ │ │ @ SymbolNode (location: (25,8)-(25,10))
- │ │ │ │ │ ├── opening_loc: ∅
- │ │ │ │ │ ├── value_loc: (25,8)-(25,9) = "b"
- │ │ │ │ │ ├── closing_loc: (25,9)-(25,10) = ":"
- │ │ │ │ │ └── unescaped: "b"
- │ │ │ │ ├── value:
- │ │ │ │ │ @ ImplicitNode (location: (25,8)-(25,10))
- │ │ │ │ │ └── value:
- │ │ │ │ │ @ LocalVariableReadNode (location: (25,8)-(25,10))
- │ │ │ │ │ ├── name: :b
- │ │ │ │ │ └── depth: 0
- │ │ │ │ └── operator_loc: ∅
- │ │ │ ├── @ AssocNode (location: (25,12)-(25,14))
- │ │ │ │ ├── key:
- │ │ │ │ │ @ SymbolNode (location: (25,12)-(25,14))
- │ │ │ │ │ ├── opening_loc: ∅
- │ │ │ │ │ ├── value_loc: (25,12)-(25,13) = "c"
- │ │ │ │ │ ├── closing_loc: (25,13)-(25,14) = ":"
- │ │ │ │ │ └── unescaped: "c"
- │ │ │ │ ├── value:
- │ │ │ │ │ @ ImplicitNode (location: (25,12)-(25,14))
- │ │ │ │ │ └── value:
- │ │ │ │ │ @ CallNode (location: (25,12)-(25,14))
- │ │ │ │ │ ├── receiver: ∅
- │ │ │ │ │ ├── call_operator_loc: ∅
- │ │ │ │ │ ├── name: :c
- │ │ │ │ │ ├── message_loc: (25,12)-(25,13) = "c"
- │ │ │ │ │ ├── opening_loc: ∅
- │ │ │ │ │ ├── arguments: ∅
- │ │ │ │ │ ├── closing_loc: ∅
- │ │ │ │ │ ├── block: ∅
- │ │ │ │ │ └── flags: ∅
- │ │ │ │ └── operator_loc: ∅
- │ │ │ └── @ AssocNode (location: (25,16)-(25,18))
- │ │ │ ├── key:
- │ │ │ │ @ SymbolNode (location: (25,16)-(25,18))
- │ │ │ │ ├── opening_loc: ∅
- │ │ │ │ ├── value_loc: (25,16)-(25,17) = "D"
- │ │ │ │ ├── closing_loc: (25,17)-(25,18) = ":"
- │ │ │ │ └── unescaped: "D"
- │ │ │ ├── value:
- │ │ │ │ @ ImplicitNode (location: (25,16)-(25,18))
- │ │ │ │ └── value:
- │ │ │ │ @ ConstantReadNode (location: (25,16)-(25,18))
- │ │ │ │ └── name: :D
- │ │ │ └── operator_loc: ∅
- │ │ └── closing_loc: (25,19)-(25,20) = "}"
- │ ├── opening_loc: (23,4)-(23,6) = "do"
- │ └── closing_loc: (26,0)-(26,3) = "end"
- └── flags: ∅
+ └── block:
+ @ BlockNode (location: (23,4)-(26,3))
+ ├── locals: [:b]
+ ├── locals_body_index: 0
+ ├── parameters: ∅
+ ├── body:
+ │ @ StatementsNode (location: (24,2)-(25,20))
+ │ └── body: (length: 2)
+ │ ├── @ LocalVariableWriteNode (location: (24,2)-(24,7))
+ │ │ ├── name: :b
+ │ │ ├── depth: 0
+ │ │ ├── name_loc: (24,2)-(24,3) = "b"
+ │ │ ├── value:
+ │ │ │ @ IntegerNode (location: (24,6)-(24,7))
+ │ │ │ └── flags: decimal
+ │ │ └── operator_loc: (24,4)-(24,5) = "="
+ │ └── @ HashNode (location: (25,2)-(25,20))
+ │ ├── opening_loc: (25,2)-(25,3) = "{"
+ │ ├── elements: (length: 4)
+ │ │ ├── @ AssocNode (location: (25,4)-(25,6))
+ │ │ │ ├── key:
+ │ │ │ │ @ SymbolNode (location: (25,4)-(25,6))
+ │ │ │ │ ├── opening_loc: ∅
+ │ │ │ │ ├── value_loc: (25,4)-(25,5) = "a"
+ │ │ │ │ ├── closing_loc: (25,5)-(25,6) = ":"
+ │ │ │ │ └── unescaped: "a"
+ │ │ │ ├── value:
+ │ │ │ │ @ ImplicitNode (location: (25,4)-(25,6))
+ │ │ │ │ └── value:
+ │ │ │ │ @ LocalVariableReadNode (location: (25,4)-(25,6))
+ │ │ │ │ ├── name: :a
+ │ │ │ │ └── depth: 1
+ │ │ │ └── operator_loc: ∅
+ │ │ ├── @ AssocNode (location: (25,8)-(25,10))
+ │ │ │ ├── key:
+ │ │ │ │ @ SymbolNode (location: (25,8)-(25,10))
+ │ │ │ │ ├── opening_loc: ∅
+ │ │ │ │ ├── value_loc: (25,8)-(25,9) = "b"
+ │ │ │ │ ├── closing_loc: (25,9)-(25,10) = ":"
+ │ │ │ │ └── unescaped: "b"
+ │ │ │ ├── value:
+ │ │ │ │ @ ImplicitNode (location: (25,8)-(25,10))
+ │ │ │ │ └── value:
+ │ │ │ │ @ LocalVariableReadNode (location: (25,8)-(25,10))
+ │ │ │ │ ├── name: :b
+ │ │ │ │ └── depth: 0
+ │ │ │ └── operator_loc: ∅
+ │ │ ├── @ AssocNode (location: (25,12)-(25,14))
+ │ │ │ ├── key:
+ │ │ │ │ @ SymbolNode (location: (25,12)-(25,14))
+ │ │ │ │ ├── opening_loc: ∅
+ │ │ │ │ ├── value_loc: (25,12)-(25,13) = "c"
+ │ │ │ │ ├── closing_loc: (25,13)-(25,14) = ":"
+ │ │ │ │ └── unescaped: "c"
+ │ │ │ ├── value:
+ │ │ │ │ @ ImplicitNode (location: (25,12)-(25,14))
+ │ │ │ │ └── value:
+ │ │ │ │ @ CallNode (location: (25,12)-(25,14))
+ │ │ │ │ ├── flags: ∅
+ │ │ │ │ ├── receiver: ∅
+ │ │ │ │ ├── call_operator_loc: ∅
+ │ │ │ │ ├── name: :c
+ │ │ │ │ ├── message_loc: (25,12)-(25,13) = "c"
+ │ │ │ │ ├── opening_loc: ∅
+ │ │ │ │ ├── arguments: ∅
+ │ │ │ │ ├── closing_loc: ∅
+ │ │ │ │ └── block: ∅
+ │ │ │ └── operator_loc: ∅
+ │ │ └── @ AssocNode (location: (25,16)-(25,18))
+ │ │ ├── key:
+ │ │ │ @ SymbolNode (location: (25,16)-(25,18))
+ │ │ │ ├── opening_loc: ∅
+ │ │ │ ├── value_loc: (25,16)-(25,17) = "D"
+ │ │ │ ├── closing_loc: (25,17)-(25,18) = ":"
+ │ │ │ └── unescaped: "D"
+ │ │ ├── value:
+ │ │ │ @ ImplicitNode (location: (25,16)-(25,18))
+ │ │ │ └── value:
+ │ │ │ @ ConstantReadNode (location: (25,16)-(25,18))
+ │ │ │ └── name: :D
+ │ │ └── operator_loc: ∅
+ │ └── closing_loc: (25,19)-(25,20) = "}"
+ ├── opening_loc: (23,4)-(23,6) = "do"
+ └── closing_loc: (26,0)-(26,3) = "end"
diff --git a/test/prism/snapshots/heredoc_with_comment.txt b/test/prism/snapshots/heredoc_with_comment.txt
index f0dfa47d6c..117fdc117a 100644
--- a/test/prism/snapshots/heredoc_with_comment.txt
+++ b/test/prism/snapshots/heredoc_with_comment.txt
@@ -4,6 +4,7 @@
@ StatementsNode (location: (1,0)-(1,15))
└── body: (length: 1)
└── @ CallNode (location: (1,0)-(1,15))
+ ├── flags: ∅
├── receiver:
│ @ StringNode (location: (1,0)-(1,9))
│ ├── flags: ∅
@@ -17,5 +18,4 @@
├── opening_loc: ∅
├── arguments: ∅
├── closing_loc: ∅
- ├── block: ∅
- └── flags: ∅
+ └── block: ∅
diff --git a/test/prism/snapshots/heredoc_with_comment_at_start.txt b/test/prism/snapshots/heredoc_with_comment_at_start.txt
deleted file mode 100644
index d9dfa8541e..0000000000
--- a/test/prism/snapshots/heredoc_with_comment_at_start.txt
+++ /dev/null
@@ -1,11 +0,0 @@
-@ ProgramNode (location: (1,0)-(1,9))
-├── locals: []
-└── statements:
- @ StatementsNode (location: (1,0)-(1,9))
- └── body: (length: 1)
- └── @ StringNode (location: (1,0)-(1,9))
- ├── flags: ∅
- ├── opening_loc: (1,0)-(1,9) = "<<-TARGET"
- ├── content_loc: (2,0)-(3,0) = " data\r\n"
- ├── closing_loc: (3,0)-(4,0) = "TARGET\r\n"
- └── unescaped: " data\r\n"
diff --git a/test/prism/snapshots/heredoc_with_escaped_newline_at_start.txt b/test/prism/snapshots/heredoc_with_escaped_newline_at_start.txt
index 4350b4f325..5d17559ed4 100644
--- a/test/prism/snapshots/heredoc_with_escaped_newline_at_start.txt
+++ b/test/prism/snapshots/heredoc_with_escaped_newline_at_start.txt
@@ -4,6 +4,7 @@
@ StatementsNode (location: (1,0)-(5,25))
└── body: (length: 2)
├── @ CallNode (location: (1,0)-(1,25))
+ │ ├── flags: ∅
│ ├── receiver:
│ │ @ StringNode (location: (1,0)-(1,9))
│ │ ├── flags: ∅
@@ -17,24 +18,24 @@
│ ├── opening_loc: ∅
│ ├── arguments:
│ │ @ ArgumentsNode (location: (1,15)-(1,25))
- │ │ ├── arguments: (length: 2)
- │ │ │ ├── @ RegularExpressionNode (location: (1,15)-(1,21))
- │ │ │ │ ├── opening_loc: (1,15)-(1,16) = "/"
- │ │ │ │ ├── content_loc: (1,16)-(1,20) = "^\\s{"
- │ │ │ │ ├── closing_loc: (1,20)-(1,21) = "/"
- │ │ │ │ ├── unescaped: "^\\s{"
- │ │ │ │ └── flags: ∅
- │ │ │ └── @ StringNode (location: (1,23)-(1,25))
- │ │ │ ├── flags: ∅
- │ │ │ ├── opening_loc: (1,23)-(1,24) = "'"
- │ │ │ ├── content_loc: (1,24)-(1,24) = ""
- │ │ │ ├── closing_loc: (1,24)-(1,25) = "'"
- │ │ │ └── unescaped: ""
- │ │ └── flags: ∅
+ │ │ ├── flags: ∅
+ │ │ └── arguments: (length: 2)
+ │ │ ├── @ RegularExpressionNode (location: (1,15)-(1,21))
+ │ │ │ ├── flags: ∅
+ │ │ │ ├── opening_loc: (1,15)-(1,16) = "/"
+ │ │ │ ├── content_loc: (1,16)-(1,20) = "^\\s{"
+ │ │ │ ├── closing_loc: (1,20)-(1,21) = "/"
+ │ │ │ └── unescaped: "^\\s{"
+ │ │ └── @ StringNode (location: (1,23)-(1,25))
+ │ │ ├── flags: ∅
+ │ │ ├── opening_loc: (1,23)-(1,24) = "'"
+ │ │ ├── content_loc: (1,24)-(1,24) = ""
+ │ │ ├── closing_loc: (1,24)-(1,25) = "'"
+ │ │ └── unescaped: ""
│ ├── closing_loc: ∅
- │ ├── block: ∅
- │ └── flags: ∅
+ │ └── block: ∅
└── @ CallNode (location: (5,0)-(5,25))
+ ├── flags: ∅
├── receiver:
│ @ StringNode (location: (5,0)-(5,9))
│ ├── flags: ∅
@@ -48,20 +49,19 @@
├── opening_loc: ∅
├── arguments:
│ @ ArgumentsNode (location: (5,15)-(5,25))
- │ ├── arguments: (length: 2)
- │ │ ├── @ RegularExpressionNode (location: (5,15)-(5,21))
- │ │ │ ├── opening_loc: (5,15)-(5,16) = "/"
- │ │ │ ├── content_loc: (5,16)-(5,20) = "^\\s{"
- │ │ │ ├── closing_loc: (5,20)-(5,21) = "/"
- │ │ │ ├── unescaped: "^\\s{"
- │ │ │ └── flags: ∅
- │ │ └── @ StringNode (location: (5,23)-(5,25))
- │ │ ├── flags: ∅
- │ │ ├── opening_loc: (5,23)-(5,24) = "'"
- │ │ ├── content_loc: (5,24)-(5,24) = ""
- │ │ ├── closing_loc: (5,24)-(5,25) = "'"
- │ │ └── unescaped: ""
- │ └── flags: ∅
+ │ ├── flags: ∅
+ │ └── arguments: (length: 2)
+ │ ├── @ RegularExpressionNode (location: (5,15)-(5,21))
+ │ │ ├── flags: ∅
+ │ │ ├── opening_loc: (5,15)-(5,16) = "/"
+ │ │ ├── content_loc: (5,16)-(5,20) = "^\\s{"
+ │ │ ├── closing_loc: (5,20)-(5,21) = "/"
+ │ │ └── unescaped: "^\\s{"
+ │ └── @ StringNode (location: (5,23)-(5,25))
+ │ ├── flags: ∅
+ │ ├── opening_loc: (5,23)-(5,24) = "'"
+ │ ├── content_loc: (5,24)-(5,24) = ""
+ │ ├── closing_loc: (5,24)-(5,25) = "'"
+ │ └── unescaped: ""
├── closing_loc: ∅
- ├── block: ∅
- └── flags: ∅
+ └── block: ∅
diff --git a/test/prism/snapshots/if.txt b/test/prism/snapshots/if.txt
index c368b5c73e..e6e92a67b4 100644
--- a/test/prism/snapshots/if.txt
+++ b/test/prism/snapshots/if.txt
@@ -130,6 +130,7 @@
│ ├── if_keyword_loc: (16,0)-(16,2) = "if"
│ ├── predicate:
│ │ @ CallNode (location: (16,3)-(16,12))
+ │ │ ├── flags: variable_call
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
│ │ ├── name: :exit_loop
@@ -137,8 +138,7 @@
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
- │ │ ├── block: ∅
- │ │ └── flags: variable_call
+ │ │ └── block: ∅
│ ├── then_keyword_loc: (16,13)-(16,17) = "then"
│ ├── statements:
│ │ @ StatementsNode (location: (16,18)-(16,26))
@@ -146,10 +146,10 @@
│ │ └── @ BreakNode (location: (16,18)-(16,26))
│ │ ├── arguments:
│ │ │ @ ArgumentsNode (location: (16,24)-(16,26))
- │ │ │ ├── arguments: (length: 1)
- │ │ │ │ └── @ IntegerNode (location: (16,24)-(16,26))
- │ │ │ │ └── flags: decimal
- │ │ │ └── flags: ∅
+ │ │ │ ├── flags: ∅
+ │ │ │ └── arguments: (length: 1)
+ │ │ │ └── @ IntegerNode (location: (16,24)-(16,26))
+ │ │ │ └── flags: decimal
│ │ └── keyword_loc: (16,18)-(16,23) = "break"
│ ├── consequent: ∅
│ └── end_keyword_loc: (16,27)-(16,30) = "end"
@@ -157,6 +157,7 @@
│ ├── if_keyword_loc: (18,0)-(18,2) = "if"
│ ├── predicate:
│ │ @ CallNode (location: (18,3)-(18,6))
+ │ │ ├── flags: variable_call
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
│ │ ├── name: :foo
@@ -164,13 +165,13 @@
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
- │ │ ├── block: ∅
- │ │ └── flags: variable_call
+ │ │ └── block: ∅
│ ├── then_keyword_loc: (19,0)-(19,4) = "then"
│ ├── statements:
│ │ @ StatementsNode (location: (19,5)-(19,8))
│ │ └── body: (length: 1)
│ │ └── @ CallNode (location: (19,5)-(19,8))
+ │ │ ├── flags: variable_call
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
│ │ ├── name: :bar
@@ -178,14 +179,14 @@
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
- │ │ ├── block: ∅
- │ │ └── flags: variable_call
+ │ │ └── block: ∅
│ ├── consequent: ∅
│ └── end_keyword_loc: (20,0)-(20,3) = "end"
├── @ IfNode (location: (22,0)-(22,11))
│ ├── if_keyword_loc: (22,7)-(22,9) = "if"
│ ├── predicate:
│ │ @ CallNode (location: (22,10)-(22,11))
+ │ │ ├── flags: variable_call
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
│ │ ├── name: :c
@@ -193,8 +194,7 @@
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
- │ │ ├── block: ∅
- │ │ └── flags: variable_call
+ │ │ └── block: ∅
│ ├── then_keyword_loc: ∅
│ ├── statements:
│ │ @ StatementsNode (location: (22,0)-(22,6))
@@ -203,6 +203,7 @@
│ │ ├── if_keyword_loc: (22,2)-(22,4) = "if"
│ │ ├── predicate:
│ │ │ @ CallNode (location: (22,5)-(22,6))
+ │ │ │ ├── flags: variable_call
│ │ │ ├── receiver: ∅
│ │ │ ├── call_operator_loc: ∅
│ │ │ ├── name: :b
@@ -210,13 +211,13 @@
│ │ │ ├── opening_loc: ∅
│ │ │ ├── arguments: ∅
│ │ │ ├── closing_loc: ∅
- │ │ │ ├── block: ∅
- │ │ │ └── flags: variable_call
+ │ │ │ └── block: ∅
│ │ ├── then_keyword_loc: ∅
│ │ ├── statements:
│ │ │ @ StatementsNode (location: (22,0)-(22,1))
│ │ │ └── body: (length: 1)
│ │ │ └── @ CallNode (location: (22,0)-(22,1))
+ │ │ │ ├── flags: variable_call
│ │ │ ├── receiver: ∅
│ │ │ ├── call_operator_loc: ∅
│ │ │ ├── name: :a
@@ -224,8 +225,7 @@
│ │ │ ├── opening_loc: ∅
│ │ │ ├── arguments: ∅
│ │ │ ├── closing_loc: ∅
- │ │ │ ├── block: ∅
- │ │ │ └── flags: variable_call
+ │ │ │ └── block: ∅
│ │ ├── consequent: ∅
│ │ └── end_keyword_loc: ∅
│ ├── consequent: ∅
@@ -239,6 +239,7 @@
│ │ @ StatementsNode (location: (25,2)-(25,6))
│ │ └── body: (length: 1)
│ │ └── @ CallNode (location: (25,2)-(25,6))
+ │ │ ├── flags: ∅
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
│ │ ├── name: :a
@@ -246,34 +247,33 @@
│ │ ├── opening_loc: ∅
│ │ ├── arguments:
│ │ │ @ ArgumentsNode (location: (25,4)-(25,6))
- │ │ │ ├── arguments: (length: 1)
- │ │ │ │ └── @ KeywordHashNode (location: (25,4)-(25,6))
- │ │ │ │ └── elements: (length: 1)
- │ │ │ │ └── @ AssocNode (location: (25,4)-(25,6))
- │ │ │ │ ├── key:
- │ │ │ │ │ @ SymbolNode (location: (25,4)-(25,6))
- │ │ │ │ │ ├── opening_loc: ∅
- │ │ │ │ │ ├── value_loc: (25,4)-(25,5) = "b"
- │ │ │ │ │ ├── closing_loc: (25,5)-(25,6) = ":"
- │ │ │ │ │ └── unescaped: "b"
- │ │ │ │ ├── value:
- │ │ │ │ │ @ ImplicitNode (location: (25,4)-(25,6))
- │ │ │ │ │ └── value:
- │ │ │ │ │ @ CallNode (location: (25,4)-(25,6))
- │ │ │ │ │ ├── receiver: ∅
- │ │ │ │ │ ├── call_operator_loc: ∅
- │ │ │ │ │ ├── name: :b
- │ │ │ │ │ ├── message_loc: (25,4)-(25,5) = "b"
- │ │ │ │ │ ├── opening_loc: ∅
- │ │ │ │ │ ├── arguments: ∅
- │ │ │ │ │ ├── closing_loc: ∅
- │ │ │ │ │ ├── block: ∅
- │ │ │ │ │ └── flags: ∅
- │ │ │ │ └── operator_loc: ∅
- │ │ │ └── flags: ∅
+ │ │ │ ├── flags: ∅
+ │ │ │ └── arguments: (length: 1)
+ │ │ │ └── @ KeywordHashNode (location: (25,4)-(25,6))
+ │ │ │ └── elements: (length: 1)
+ │ │ │ └── @ AssocNode (location: (25,4)-(25,6))
+ │ │ │ ├── key:
+ │ │ │ │ @ SymbolNode (location: (25,4)-(25,6))
+ │ │ │ │ ├── opening_loc: ∅
+ │ │ │ │ ├── value_loc: (25,4)-(25,5) = "b"
+ │ │ │ │ ├── closing_loc: (25,5)-(25,6) = ":"
+ │ │ │ │ └── unescaped: "b"
+ │ │ │ ├── value:
+ │ │ │ │ @ ImplicitNode (location: (25,4)-(25,6))
+ │ │ │ │ └── value:
+ │ │ │ │ @ CallNode (location: (25,4)-(25,6))
+ │ │ │ │ ├── flags: ∅
+ │ │ │ │ ├── receiver: ∅
+ │ │ │ │ ├── call_operator_loc: ∅
+ │ │ │ │ ├── name: :b
+ │ │ │ │ ├── message_loc: (25,4)-(25,5) = "b"
+ │ │ │ │ ├── opening_loc: ∅
+ │ │ │ │ ├── arguments: ∅
+ │ │ │ │ ├── closing_loc: ∅
+ │ │ │ │ └── block: ∅
+ │ │ │ └── operator_loc: ∅
│ │ ├── closing_loc: ∅
- │ │ ├── block: ∅
- │ │ └── flags: ∅
+ │ │ └── block: ∅
│ ├── consequent:
│ │ @ ElseNode (location: (26,0)-(27,3))
│ │ ├── else_keyword_loc: (26,0)-(26,4) = "else"
@@ -286,6 +286,7 @@
│ │ @ MatchPredicateNode (location: (29,3)-(29,12))
│ │ ├── value:
│ │ │ @ CallNode (location: (29,3)-(29,7))
+ │ │ │ ├── flags: variable_call
│ │ │ ├── receiver: ∅
│ │ │ ├── call_operator_loc: ∅
│ │ │ ├── name: :type
@@ -293,8 +294,7 @@
│ │ │ ├── opening_loc: ∅
│ │ │ ├── arguments: ∅
│ │ │ ├── closing_loc: ∅
- │ │ │ ├── block: ∅
- │ │ │ └── flags: variable_call
+ │ │ │ └── block: ∅
│ │ ├── pattern:
│ │ │ @ IntegerNode (location: (29,11)-(29,12))
│ │ │ └── flags: decimal
@@ -308,6 +308,7 @@
│ │ │ @ MatchPredicateNode (location: (30,6)-(30,15))
│ │ │ ├── value:
│ │ │ │ @ CallNode (location: (30,6)-(30,10))
+ │ │ │ │ ├── flags: variable_call
│ │ │ │ ├── receiver: ∅
│ │ │ │ ├── call_operator_loc: ∅
│ │ │ │ ├── name: :type
@@ -315,8 +316,7 @@
│ │ │ │ ├── opening_loc: ∅
│ │ │ │ ├── arguments: ∅
│ │ │ │ ├── closing_loc: ∅
- │ │ │ │ ├── block: ∅
- │ │ │ │ └── flags: variable_call
+ │ │ │ │ └── block: ∅
│ │ │ ├── pattern:
│ │ │ │ @ ConstantReadNode (location: (30,14)-(30,15))
│ │ │ │ └── name: :B
@@ -336,6 +336,7 @@
│ @ StatementsNode (location: (34,2)-(35,5))
│ └── body: (length: 1)
│ └── @ CallNode (location: (34,2)-(35,5))
+ │ ├── flags: ∅
│ ├── receiver: ∅
│ ├── call_operator_loc: ∅
│ ├── name: :lambda
@@ -343,30 +344,29 @@
│ ├── opening_loc: ∅
│ ├── arguments: ∅
│ ├── closing_loc: ∅
- │ ├── block:
- │ │ @ BlockNode (location: (34,9)-(35,5))
- │ │ ├── locals: [:_]
- │ │ ├── locals_body_index: 1
- │ │ ├── parameters:
- │ │ │ @ BlockParametersNode (location: (34,12)-(34,15))
- │ │ │ ├── parameters:
- │ │ │ │ @ ParametersNode (location: (34,13)-(34,14))
- │ │ │ │ ├── requireds: (length: 1)
- │ │ │ │ │ └── @ RequiredParameterNode (location: (34,13)-(34,14))
- │ │ │ │ │ └── name: :_
- │ │ │ │ ├── optionals: (length: 0)
- │ │ │ │ ├── rest: ∅
- │ │ │ │ ├── posts: (length: 0)
- │ │ │ │ ├── keywords: (length: 0)
- │ │ │ │ ├── keyword_rest: ∅
- │ │ │ │ └── block: ∅
- │ │ │ ├── locals: (length: 0)
- │ │ │ ├── opening_loc: (34,12)-(34,13) = "|"
- │ │ │ └── closing_loc: (34,14)-(34,15) = "|"
- │ │ ├── body: ∅
- │ │ ├── opening_loc: (34,9)-(34,11) = "do"
- │ │ └── closing_loc: (35,2)-(35,5) = "end"
- │ └── flags: ∅
+ │ └── block:
+ │ @ BlockNode (location: (34,9)-(35,5))
+ │ ├── locals: [:_]
+ │ ├── locals_body_index: 1
+ │ ├── parameters:
+ │ │ @ BlockParametersNode (location: (34,12)-(34,15))
+ │ │ ├── parameters:
+ │ │ │ @ ParametersNode (location: (34,13)-(34,14))
+ │ │ │ ├── requireds: (length: 1)
+ │ │ │ │ └── @ RequiredParameterNode (location: (34,13)-(34,14))
+ │ │ │ │ └── name: :_
+ │ │ │ ├── optionals: (length: 0)
+ │ │ │ ├── rest: ∅
+ │ │ │ ├── posts: (length: 0)
+ │ │ │ ├── keywords: (length: 0)
+ │ │ │ ├── keyword_rest: ∅
+ │ │ │ └── block: ∅
+ │ │ ├── locals: (length: 0)
+ │ │ ├── opening_loc: (34,12)-(34,13) = "|"
+ │ │ └── closing_loc: (34,14)-(34,15) = "|"
+ │ ├── body: ∅
+ │ ├── opening_loc: (34,9)-(34,11) = "do"
+ │ └── closing_loc: (35,2)-(35,5) = "end"
├── consequent:
│ @ IfNode (location: (36,0)-(42,3))
│ ├── if_keyword_loc: (36,0)-(36,5) = "elsif"
@@ -378,6 +378,7 @@
│ │ @ StatementsNode (location: (37,2)-(38,5))
│ │ └── body: (length: 1)
│ │ └── @ CallNode (location: (37,2)-(38,5))
+ │ │ ├── flags: ∅
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
│ │ ├── name: :lambda
@@ -385,30 +386,29 @@
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
- │ │ ├── block:
- │ │ │ @ BlockNode (location: (37,9)-(38,5))
- │ │ │ ├── locals: [:_]
- │ │ │ ├── locals_body_index: 1
- │ │ │ ├── parameters:
- │ │ │ │ @ BlockParametersNode (location: (37,12)-(37,15))
- │ │ │ │ ├── parameters:
- │ │ │ │ │ @ ParametersNode (location: (37,13)-(37,14))
- │ │ │ │ │ ├── requireds: (length: 1)
- │ │ │ │ │ │ └── @ RequiredParameterNode (location: (37,13)-(37,14))
- │ │ │ │ │ │ └── name: :_
- │ │ │ │ │ ├── optionals: (length: 0)
- │ │ │ │ │ ├── rest: ∅
- │ │ │ │ │ ├── posts: (length: 0)
- │ │ │ │ │ ├── keywords: (length: 0)
- │ │ │ │ │ ├── keyword_rest: ∅
- │ │ │ │ │ └── block: ∅
- │ │ │ │ ├── locals: (length: 0)
- │ │ │ │ ├── opening_loc: (37,12)-(37,13) = "|"
- │ │ │ │ └── closing_loc: (37,14)-(37,15) = "|"
- │ │ │ ├── body: ∅
- │ │ │ ├── opening_loc: (37,9)-(37,11) = "do"
- │ │ │ └── closing_loc: (38,2)-(38,5) = "end"
- │ │ └── flags: ∅
+ │ │ └── block:
+ │ │ @ BlockNode (location: (37,9)-(38,5))
+ │ │ ├── locals: [:_]
+ │ │ ├── locals_body_index: 1
+ │ │ ├── parameters:
+ │ │ │ @ BlockParametersNode (location: (37,12)-(37,15))
+ │ │ │ ├── parameters:
+ │ │ │ │ @ ParametersNode (location: (37,13)-(37,14))
+ │ │ │ │ ├── requireds: (length: 1)
+ │ │ │ │ │ └── @ RequiredParameterNode (location: (37,13)-(37,14))
+ │ │ │ │ │ └── name: :_
+ │ │ │ │ ├── optionals: (length: 0)
+ │ │ │ │ ├── rest: ∅
+ │ │ │ │ ├── posts: (length: 0)
+ │ │ │ │ ├── keywords: (length: 0)
+ │ │ │ │ ├── keyword_rest: ∅
+ │ │ │ │ └── block: ∅
+ │ │ │ ├── locals: (length: 0)
+ │ │ │ ├── opening_loc: (37,12)-(37,13) = "|"
+ │ │ │ └── closing_loc: (37,14)-(37,15) = "|"
+ │ │ ├── body: ∅
+ │ │ ├── opening_loc: (37,9)-(37,11) = "do"
+ │ │ └── closing_loc: (38,2)-(38,5) = "end"
│ ├── consequent:
│ │ @ ElseNode (location: (39,0)-(42,3))
│ │ ├── else_keyword_loc: (39,0)-(39,4) = "else"
@@ -416,6 +416,7 @@
│ │ │ @ StatementsNode (location: (40,2)-(41,5))
│ │ │ └── body: (length: 1)
│ │ │ └── @ CallNode (location: (40,2)-(41,5))
+ │ │ │ ├── flags: ∅
│ │ │ ├── receiver: ∅
│ │ │ ├── call_operator_loc: ∅
│ │ │ ├── name: :lambda
@@ -423,30 +424,29 @@
│ │ │ ├── opening_loc: ∅
│ │ │ ├── arguments: ∅
│ │ │ ├── closing_loc: ∅
- │ │ │ ├── block:
- │ │ │ │ @ BlockNode (location: (40,9)-(41,5))
- │ │ │ │ ├── locals: [:_]
- │ │ │ │ ├── locals_body_index: 1
- │ │ │ │ ├── parameters:
- │ │ │ │ │ @ BlockParametersNode (location: (40,12)-(40,15))
- │ │ │ │ │ ├── parameters:
- │ │ │ │ │ │ @ ParametersNode (location: (40,13)-(40,14))
- │ │ │ │ │ │ ├── requireds: (length: 1)
- │ │ │ │ │ │ │ └── @ RequiredParameterNode (location: (40,13)-(40,14))
- │ │ │ │ │ │ │ └── name: :_
- │ │ │ │ │ │ ├── optionals: (length: 0)
- │ │ │ │ │ │ ├── rest: ∅
- │ │ │ │ │ │ ├── posts: (length: 0)
- │ │ │ │ │ │ ├── keywords: (length: 0)
- │ │ │ │ │ │ ├── keyword_rest: ∅
- │ │ │ │ │ │ └── block: ∅
- │ │ │ │ │ ├── locals: (length: 0)
- │ │ │ │ │ ├── opening_loc: (40,12)-(40,13) = "|"
- │ │ │ │ │ └── closing_loc: (40,14)-(40,15) = "|"
- │ │ │ │ ├── body: ∅
- │ │ │ │ ├── opening_loc: (40,9)-(40,11) = "do"
- │ │ │ │ └── closing_loc: (41,2)-(41,5) = "end"
- │ │ │ └── flags: ∅
+ │ │ │ └── block:
+ │ │ │ @ BlockNode (location: (40,9)-(41,5))
+ │ │ │ ├── locals: [:_]
+ │ │ │ ├── locals_body_index: 1
+ │ │ │ ├── parameters:
+ │ │ │ │ @ BlockParametersNode (location: (40,12)-(40,15))
+ │ │ │ │ ├── parameters:
+ │ │ │ │ │ @ ParametersNode (location: (40,13)-(40,14))
+ │ │ │ │ │ ├── requireds: (length: 1)
+ │ │ │ │ │ │ └── @ RequiredParameterNode (location: (40,13)-(40,14))
+ │ │ │ │ │ │ └── name: :_
+ │ │ │ │ │ ├── optionals: (length: 0)
+ │ │ │ │ │ ├── rest: ∅
+ │ │ │ │ │ ├── posts: (length: 0)
+ │ │ │ │ │ ├── keywords: (length: 0)
+ │ │ │ │ │ ├── keyword_rest: ∅
+ │ │ │ │ │ └── block: ∅
+ │ │ │ │ ├── locals: (length: 0)
+ │ │ │ │ ├── opening_loc: (40,12)-(40,13) = "|"
+ │ │ │ │ └── closing_loc: (40,14)-(40,15) = "|"
+ │ │ │ ├── body: ∅
+ │ │ │ ├── opening_loc: (40,9)-(40,11) = "do"
+ │ │ │ └── closing_loc: (41,2)-(41,5) = "end"
│ │ └── end_keyword_loc: (42,0)-(42,3) = "end"
│ └── end_keyword_loc: (42,0)-(42,3) = "end"
└── end_keyword_loc: (42,0)-(42,3) = "end"
diff --git a/test/prism/snapshots/integer_operations.txt b/test/prism/snapshots/integer_operations.txt
index 8fe3c2420f..c8b76cacfa 100644
--- a/test/prism/snapshots/integer_operations.txt
+++ b/test/prism/snapshots/integer_operations.txt
@@ -4,6 +4,7 @@
@ StatementsNode (location: (1,0)-(63,7))
└── body: (length: 32)
├── @ CallNode (location: (1,0)-(1,2))
+ │ ├── flags: ∅
│ ├── receiver:
│ │ @ IntegerNode (location: (1,1)-(1,2))
│ │ └── flags: decimal
@@ -13,9 +14,9 @@
│ ├── opening_loc: ∅
│ ├── arguments: ∅
│ ├── closing_loc: ∅
- │ ├── block: ∅
- │ └── flags: ∅
+ │ └── block: ∅
├── @ CallNode (location: (3,0)-(3,2))
+ │ ├── flags: ∅
│ ├── receiver:
│ │ @ IntegerNode (location: (3,1)-(3,2))
│ │ └── flags: decimal
@@ -25,9 +26,9 @@
│ ├── opening_loc: ∅
│ ├── arguments: ∅
│ ├── closing_loc: ∅
- │ ├── block: ∅
- │ └── flags: ∅
+ │ └── block: ∅
├── @ CallNode (location: (5,0)-(5,6))
+ │ ├── flags: ∅
│ ├── receiver:
│ │ @ IntegerNode (location: (5,0)-(5,1))
│ │ └── flags: decimal
@@ -37,14 +38,14 @@
│ ├── opening_loc: ∅
│ ├── arguments:
│ │ @ ArgumentsNode (location: (5,5)-(5,6))
- │ │ ├── arguments: (length: 1)
- │ │ │ └── @ IntegerNode (location: (5,5)-(5,6))
- │ │ │ └── flags: decimal
- │ │ └── flags: ∅
+ │ │ ├── flags: ∅
+ │ │ └── arguments: (length: 1)
+ │ │ └── @ IntegerNode (location: (5,5)-(5,6))
+ │ │ └── flags: decimal
│ ├── closing_loc: ∅
- │ ├── block: ∅
- │ └── flags: ∅
+ │ └── block: ∅
├── @ CallNode (location: (7,0)-(7,6))
+ │ ├── flags: ∅
│ ├── receiver:
│ │ @ IntegerNode (location: (7,0)-(7,1))
│ │ └── flags: decimal
@@ -54,14 +55,14 @@
│ ├── opening_loc: ∅
│ ├── arguments:
│ │ @ ArgumentsNode (location: (7,5)-(7,6))
- │ │ ├── arguments: (length: 1)
- │ │ │ └── @ IntegerNode (location: (7,5)-(7,6))
- │ │ │ └── flags: decimal
- │ │ └── flags: ∅
+ │ │ ├── flags: ∅
+ │ │ └── arguments: (length: 1)
+ │ │ └── @ IntegerNode (location: (7,5)-(7,6))
+ │ │ └── flags: decimal
│ ├── closing_loc: ∅
- │ ├── block: ∅
- │ └── flags: ∅
+ │ └── block: ∅
├── @ CallNode (location: (9,0)-(9,5))
+ │ ├── flags: ∅
│ ├── receiver:
│ │ @ IntegerNode (location: (9,0)-(9,1))
│ │ └── flags: decimal
@@ -71,14 +72,14 @@
│ ├── opening_loc: ∅
│ ├── arguments:
│ │ @ ArgumentsNode (location: (9,4)-(9,5))
- │ │ ├── arguments: (length: 1)
- │ │ │ └── @ IntegerNode (location: (9,4)-(9,5))
- │ │ │ └── flags: decimal
- │ │ └── flags: ∅
+ │ │ ├── flags: ∅
+ │ │ └── arguments: (length: 1)
+ │ │ └── @ IntegerNode (location: (9,4)-(9,5))
+ │ │ └── flags: decimal
│ ├── closing_loc: ∅
- │ ├── block: ∅
- │ └── flags: ∅
+ │ └── block: ∅
├── @ CallNode (location: (11,0)-(11,5))
+ │ ├── flags: ∅
│ ├── receiver:
│ │ @ IntegerNode (location: (11,0)-(11,1))
│ │ └── flags: decimal
@@ -88,14 +89,14 @@
│ ├── opening_loc: ∅
│ ├── arguments:
│ │ @ ArgumentsNode (location: (11,4)-(11,5))
- │ │ ├── arguments: (length: 1)
- │ │ │ └── @ IntegerNode (location: (11,4)-(11,5))
- │ │ │ └── flags: decimal
- │ │ └── flags: ∅
+ │ │ ├── flags: ∅
+ │ │ └── arguments: (length: 1)
+ │ │ └── @ IntegerNode (location: (11,4)-(11,5))
+ │ │ └── flags: decimal
│ ├── closing_loc: ∅
- │ ├── block: ∅
- │ └── flags: ∅
+ │ └── block: ∅
├── @ CallNode (location: (13,0)-(13,5))
+ │ ├── flags: ∅
│ ├── receiver:
│ │ @ IntegerNode (location: (13,0)-(13,1))
│ │ └── flags: decimal
@@ -105,14 +106,14 @@
│ ├── opening_loc: ∅
│ ├── arguments:
│ │ @ ArgumentsNode (location: (13,4)-(13,5))
- │ │ ├── arguments: (length: 1)
- │ │ │ └── @ IntegerNode (location: (13,4)-(13,5))
- │ │ │ └── flags: decimal
- │ │ └── flags: ∅
+ │ │ ├── flags: ∅
+ │ │ └── arguments: (length: 1)
+ │ │ └── @ IntegerNode (location: (13,4)-(13,5))
+ │ │ └── flags: decimal
│ ├── closing_loc: ∅
- │ ├── block: ∅
- │ └── flags: ∅
+ │ └── block: ∅
├── @ CallNode (location: (15,0)-(15,4))
+ │ ├── flags: ∅
│ ├── receiver:
│ │ @ IntegerNode (location: (15,0)-(15,1))
│ │ └── flags: decimal
@@ -122,14 +123,14 @@
│ ├── opening_loc: ∅
│ ├── arguments:
│ │ @ ArgumentsNode (location: (15,3)-(15,4))
- │ │ ├── arguments: (length: 1)
- │ │ │ └── @ IntegerNode (location: (15,3)-(15,4))
- │ │ │ └── flags: decimal
- │ │ └── flags: ∅
+ │ │ ├── flags: ∅
+ │ │ └── arguments: (length: 1)
+ │ │ └── @ IntegerNode (location: (15,3)-(15,4))
+ │ │ └── flags: decimal
│ ├── closing_loc: ∅
- │ ├── block: ∅
- │ └── flags: ∅
+ │ └── block: ∅
├── @ CallNode (location: (17,0)-(17,5))
+ │ ├── flags: ∅
│ ├── receiver:
│ │ @ IntegerNode (location: (17,0)-(17,1))
│ │ └── flags: decimal
@@ -139,14 +140,14 @@
│ ├── opening_loc: ∅
│ ├── arguments:
│ │ @ ArgumentsNode (location: (17,4)-(17,5))
- │ │ ├── arguments: (length: 1)
- │ │ │ └── @ IntegerNode (location: (17,4)-(17,5))
- │ │ │ └── flags: decimal
- │ │ └── flags: ∅
+ │ │ ├── flags: ∅
+ │ │ └── arguments: (length: 1)
+ │ │ └── @ IntegerNode (location: (17,4)-(17,5))
+ │ │ └── flags: decimal
│ ├── closing_loc: ∅
- │ ├── block: ∅
- │ └── flags: ∅
+ │ └── block: ∅
├── @ CallNode (location: (19,0)-(19,5))
+ │ ├── flags: ∅
│ ├── receiver:
│ │ @ IntegerNode (location: (19,0)-(19,1))
│ │ └── flags: decimal
@@ -156,14 +157,14 @@
│ ├── opening_loc: ∅
│ ├── arguments:
│ │ @ ArgumentsNode (location: (19,4)-(19,5))
- │ │ ├── arguments: (length: 1)
- │ │ │ └── @ IntegerNode (location: (19,4)-(19,5))
- │ │ │ └── flags: decimal
- │ │ └── flags: ∅
+ │ │ ├── flags: ∅
+ │ │ └── arguments: (length: 1)
+ │ │ └── @ IntegerNode (location: (19,4)-(19,5))
+ │ │ └── flags: decimal
│ ├── closing_loc: ∅
- │ ├── block: ∅
- │ └── flags: ∅
+ │ └── block: ∅
├── @ CallNode (location: (21,0)-(21,5))
+ │ ├── flags: ∅
│ ├── receiver:
│ │ @ IntegerNode (location: (21,0)-(21,1))
│ │ └── flags: decimal
@@ -173,16 +174,17 @@
│ ├── opening_loc: ∅
│ ├── arguments:
│ │ @ ArgumentsNode (location: (21,4)-(21,5))
- │ │ ├── arguments: (length: 1)
- │ │ │ └── @ IntegerNode (location: (21,4)-(21,5))
- │ │ │ └── flags: decimal
- │ │ └── flags: ∅
+ │ │ ├── flags: ∅
+ │ │ └── arguments: (length: 1)
+ │ │ └── @ IntegerNode (location: (21,4)-(21,5))
+ │ │ └── flags: decimal
│ ├── closing_loc: ∅
- │ ├── block: ∅
- │ └── flags: ∅
+ │ └── block: ∅
├── @ CallNode (location: (23,0)-(23,5))
+ │ ├── flags: ∅
│ ├── receiver:
│ │ @ CallNode (location: (23,0)-(23,3))
+ │ │ ├── flags: ∅
│ │ ├── receiver:
│ │ │ @ IntegerNode (location: (23,0)-(23,1))
│ │ │ └── flags: decimal
@@ -192,27 +194,26 @@
│ │ ├── opening_loc: ∅
│ │ ├── arguments:
│ │ │ @ ArgumentsNode (location: (23,2)-(23,3))
- │ │ │ ├── arguments: (length: 1)
- │ │ │ │ └── @ IntegerNode (location: (23,2)-(23,3))
- │ │ │ │ └── flags: decimal
- │ │ │ └── flags: ∅
+ │ │ │ ├── flags: ∅
+ │ │ │ └── arguments: (length: 1)
+ │ │ │ └── @ IntegerNode (location: (23,2)-(23,3))
+ │ │ │ └── flags: decimal
│ │ ├── closing_loc: ∅
- │ │ ├── block: ∅
- │ │ └── flags: ∅
+ │ │ └── block: ∅
│ ├── call_operator_loc: ∅
│ ├── name: :/
│ ├── message_loc: (23,3)-(23,4) = "/"
│ ├── opening_loc: ∅
│ ├── arguments:
│ │ @ ArgumentsNode (location: (23,4)-(23,5))
- │ │ ├── arguments: (length: 1)
- │ │ │ └── @ IntegerNode (location: (23,4)-(23,5))
- │ │ │ └── flags: decimal
- │ │ └── flags: ∅
+ │ │ ├── flags: ∅
+ │ │ └── arguments: (length: 1)
+ │ │ └── @ IntegerNode (location: (23,4)-(23,5))
+ │ │ └── flags: decimal
│ ├── closing_loc: ∅
- │ ├── block: ∅
- │ └── flags: ∅
+ │ └── block: ∅
├── @ CallNode (location: (25,0)-(25,5))
+ │ ├── flags: ∅
│ ├── receiver:
│ │ @ IntegerNode (location: (25,0)-(25,1))
│ │ └── flags: decimal
@@ -222,14 +223,14 @@
│ ├── opening_loc: ∅
│ ├── arguments:
│ │ @ ArgumentsNode (location: (25,4)-(25,5))
- │ │ ├── arguments: (length: 1)
- │ │ │ └── @ IntegerNode (location: (25,4)-(25,5))
- │ │ │ └── flags: decimal
- │ │ └── flags: ∅
+ │ │ ├── flags: ∅
+ │ │ └── arguments: (length: 1)
+ │ │ └── @ IntegerNode (location: (25,4)-(25,5))
+ │ │ └── flags: decimal
│ ├── closing_loc: ∅
- │ ├── block: ∅
- │ └── flags: ∅
+ │ └── block: ∅
├── @ CallNode (location: (27,0)-(27,6))
+ │ ├── flags: ∅
│ ├── receiver:
│ │ @ IntegerNode (location: (27,0)-(27,1))
│ │ └── flags: decimal
@@ -239,14 +240,14 @@
│ ├── opening_loc: ∅
│ ├── arguments:
│ │ @ ArgumentsNode (location: (27,5)-(27,6))
- │ │ ├── arguments: (length: 1)
- │ │ │ └── @ IntegerNode (location: (27,5)-(27,6))
- │ │ │ └── flags: decimal
- │ │ └── flags: ∅
+ │ │ ├── flags: ∅
+ │ │ └── arguments: (length: 1)
+ │ │ └── @ IntegerNode (location: (27,5)-(27,6))
+ │ │ └── flags: decimal
│ ├── closing_loc: ∅
- │ ├── block: ∅
- │ └── flags: ∅
+ │ └── block: ∅
├── @ CallNode (location: (29,0)-(29,6))
+ │ ├── flags: ∅
│ ├── receiver:
│ │ @ IntegerNode (location: (29,0)-(29,1))
│ │ └── flags: decimal
@@ -256,14 +257,14 @@
│ ├── opening_loc: ∅
│ ├── arguments:
│ │ @ ArgumentsNode (location: (29,5)-(29,6))
- │ │ ├── arguments: (length: 1)
- │ │ │ └── @ IntegerNode (location: (29,5)-(29,6))
- │ │ │ └── flags: decimal
- │ │ └── flags: ∅
+ │ │ ├── flags: ∅
+ │ │ └── arguments: (length: 1)
+ │ │ └── @ IntegerNode (location: (29,5)-(29,6))
+ │ │ └── flags: decimal
│ ├── closing_loc: ∅
- │ ├── block: ∅
- │ └── flags: ∅
+ │ └── block: ∅
├── @ CallNode (location: (31,0)-(31,7))
+ │ ├── flags: ∅
│ ├── receiver:
│ │ @ IntegerNode (location: (31,0)-(31,1))
│ │ └── flags: decimal
@@ -273,14 +274,14 @@
│ ├── opening_loc: ∅
│ ├── arguments:
│ │ @ ArgumentsNode (location: (31,6)-(31,7))
- │ │ ├── arguments: (length: 1)
- │ │ │ └── @ IntegerNode (location: (31,6)-(31,7))
- │ │ │ └── flags: decimal
- │ │ └── flags: ∅
+ │ │ ├── flags: ∅
+ │ │ └── arguments: (length: 1)
+ │ │ └── @ IntegerNode (location: (31,6)-(31,7))
+ │ │ └── flags: decimal
│ ├── closing_loc: ∅
- │ ├── block: ∅
- │ └── flags: ∅
+ │ └── block: ∅
├── @ CallNode (location: (33,0)-(33,6))
+ │ ├── flags: ∅
│ ├── receiver:
│ │ @ IntegerNode (location: (33,0)-(33,1))
│ │ └── flags: decimal
@@ -290,14 +291,14 @@
│ ├── opening_loc: ∅
│ ├── arguments:
│ │ @ ArgumentsNode (location: (33,5)-(33,6))
- │ │ ├── arguments: (length: 1)
- │ │ │ └── @ IntegerNode (location: (33,5)-(33,6))
- │ │ │ └── flags: decimal
- │ │ └── flags: ∅
+ │ │ ├── flags: ∅
+ │ │ └── arguments: (length: 1)
+ │ │ └── @ IntegerNode (location: (33,5)-(33,6))
+ │ │ └── flags: decimal
│ ├── closing_loc: ∅
- │ ├── block: ∅
- │ └── flags: ∅
+ │ └── block: ∅
├── @ CallNode (location: (35,0)-(35,7))
+ │ ├── flags: ∅
│ ├── receiver:
│ │ @ IntegerNode (location: (35,0)-(35,1))
│ │ └── flags: decimal
@@ -307,14 +308,14 @@
│ ├── opening_loc: ∅
│ ├── arguments:
│ │ @ ArgumentsNode (location: (35,6)-(35,7))
- │ │ ├── arguments: (length: 1)
- │ │ │ └── @ IntegerNode (location: (35,6)-(35,7))
- │ │ │ └── flags: decimal
- │ │ └── flags: ∅
+ │ │ ├── flags: ∅
+ │ │ └── arguments: (length: 1)
+ │ │ └── @ IntegerNode (location: (35,6)-(35,7))
+ │ │ └── flags: decimal
│ ├── closing_loc: ∅
- │ ├── block: ∅
- │ └── flags: ∅
+ │ └── block: ∅
├── @ CallNode (location: (37,0)-(37,6))
+ │ ├── flags: ∅
│ ├── receiver:
│ │ @ IntegerNode (location: (37,0)-(37,1))
│ │ └── flags: decimal
@@ -324,14 +325,14 @@
│ ├── opening_loc: ∅
│ ├── arguments:
│ │ @ ArgumentsNode (location: (37,5)-(37,6))
- │ │ ├── arguments: (length: 1)
- │ │ │ └── @ IntegerNode (location: (37,5)-(37,6))
- │ │ │ └── flags: decimal
- │ │ └── flags: ∅
+ │ │ ├── flags: ∅
+ │ │ └── arguments: (length: 1)
+ │ │ └── @ IntegerNode (location: (37,5)-(37,6))
+ │ │ └── flags: decimal
│ ├── closing_loc: ∅
- │ ├── block: ∅
- │ └── flags: ∅
+ │ └── block: ∅
├── @ CallNode (location: (39,0)-(39,5))
+ │ ├── flags: ∅
│ ├── receiver:
│ │ @ IntegerNode (location: (39,0)-(39,1))
│ │ └── flags: decimal
@@ -341,14 +342,14 @@
│ ├── opening_loc: ∅
│ ├── arguments:
│ │ @ ArgumentsNode (location: (39,4)-(39,5))
- │ │ ├── arguments: (length: 1)
- │ │ │ └── @ IntegerNode (location: (39,4)-(39,5))
- │ │ │ └── flags: decimal
- │ │ └── flags: ∅
+ │ │ ├── flags: ∅
+ │ │ └── arguments: (length: 1)
+ │ │ └── @ IntegerNode (location: (39,4)-(39,5))
+ │ │ └── flags: decimal
│ ├── closing_loc: ∅
- │ ├── block: ∅
- │ └── flags: ∅
+ │ └── block: ∅
├── @ CallNode (location: (41,0)-(41,6))
+ │ ├── flags: ∅
│ ├── receiver:
│ │ @ IntegerNode (location: (41,0)-(41,1))
│ │ └── flags: decimal
@@ -358,14 +359,14 @@
│ ├── opening_loc: ∅
│ ├── arguments:
│ │ @ ArgumentsNode (location: (41,5)-(41,6))
- │ │ ├── arguments: (length: 1)
- │ │ │ └── @ IntegerNode (location: (41,5)-(41,6))
- │ │ │ └── flags: decimal
- │ │ └── flags: ∅
+ │ │ ├── flags: ∅
+ │ │ └── arguments: (length: 1)
+ │ │ └── @ IntegerNode (location: (41,5)-(41,6))
+ │ │ └── flags: decimal
│ ├── closing_loc: ∅
- │ ├── block: ∅
- │ └── flags: ∅
+ │ └── block: ∅
├── @ CallNode (location: (43,0)-(43,6))
+ │ ├── flags: ∅
│ ├── receiver:
│ │ @ IntegerNode (location: (43,0)-(43,1))
│ │ └── flags: decimal
@@ -375,14 +376,14 @@
│ ├── opening_loc: ∅
│ ├── arguments:
│ │ @ ArgumentsNode (location: (43,5)-(43,6))
- │ │ ├── arguments: (length: 1)
- │ │ │ └── @ IntegerNode (location: (43,5)-(43,6))
- │ │ │ └── flags: decimal
- │ │ └── flags: ∅
+ │ │ ├── flags: ∅
+ │ │ └── arguments: (length: 1)
+ │ │ └── @ IntegerNode (location: (43,5)-(43,6))
+ │ │ └── flags: decimal
│ ├── closing_loc: ∅
- │ ├── block: ∅
- │ └── flags: ∅
+ │ └── block: ∅
├── @ CallNode (location: (45,0)-(45,5))
+ │ ├── flags: ∅
│ ├── receiver:
│ │ @ IntegerNode (location: (45,0)-(45,1))
│ │ └── flags: decimal
@@ -392,14 +393,14 @@
│ ├── opening_loc: ∅
│ ├── arguments:
│ │ @ ArgumentsNode (location: (45,4)-(45,5))
- │ │ ├── arguments: (length: 1)
- │ │ │ └── @ IntegerNode (location: (45,4)-(45,5))
- │ │ │ └── flags: decimal
- │ │ └── flags: ∅
+ │ │ ├── flags: ∅
+ │ │ └── arguments: (length: 1)
+ │ │ └── @ IntegerNode (location: (45,4)-(45,5))
+ │ │ └── flags: decimal
│ ├── closing_loc: ∅
- │ ├── block: ∅
- │ └── flags: ∅
+ │ └── block: ∅
├── @ CallNode (location: (47,0)-(47,5))
+ │ ├── flags: ∅
│ ├── receiver:
│ │ @ IntegerNode (location: (47,0)-(47,1))
│ │ └── flags: decimal
@@ -409,13 +410,12 @@
│ ├── opening_loc: ∅
│ ├── arguments:
│ │ @ ArgumentsNode (location: (47,4)-(47,5))
- │ │ ├── arguments: (length: 1)
- │ │ │ └── @ IntegerNode (location: (47,4)-(47,5))
- │ │ │ └── flags: decimal
- │ │ └── flags: ∅
+ │ │ ├── flags: ∅
+ │ │ └── arguments: (length: 1)
+ │ │ └── @ IntegerNode (location: (47,4)-(47,5))
+ │ │ └── flags: decimal
│ ├── closing_loc: ∅
- │ ├── block: ∅
- │ └── flags: ∅
+ │ └── block: ∅
├── @ AndNode (location: (49,0)-(49,6))
│ ├── left:
│ │ @ IntegerNode (location: (49,0)-(49,1))
@@ -433,6 +433,7 @@
│ │ └── flags: decimal
│ └── operator_loc: (51,2)-(51,5) = "and"
├── @ CallNode (location: (53,0)-(53,10))
+ │ ├── flags: ∅
│ ├── receiver:
│ │ @ IntegerNode (location: (53,0)-(53,1))
│ │ └── flags: decimal
@@ -442,31 +443,32 @@
│ ├── opening_loc: ∅
│ ├── arguments:
│ │ @ ArgumentsNode (location: (53,4)-(53,10))
- │ │ ├── arguments: (length: 1)
- │ │ │ └── @ CallNode (location: (53,4)-(53,10))
- │ │ │ ├── receiver:
- │ │ │ │ @ IntegerNode (location: (53,4)-(53,5))
- │ │ │ │ └── flags: decimal
- │ │ │ ├── call_operator_loc: ∅
- │ │ │ ├── name: :**
- │ │ │ ├── message_loc: (53,6)-(53,8) = "**"
- │ │ │ ├── opening_loc: ∅
- │ │ │ ├── arguments:
- │ │ │ │ @ ArgumentsNode (location: (53,9)-(53,10))
- │ │ │ │ ├── arguments: (length: 1)
- │ │ │ │ │ └── @ IntegerNode (location: (53,9)-(53,10))
- │ │ │ │ │ └── flags: decimal
- │ │ │ │ └── flags: ∅
- │ │ │ ├── closing_loc: ∅
- │ │ │ ├── block: ∅
- │ │ │ └── flags: ∅
- │ │ └── flags: ∅
+ │ │ ├── flags: ∅
+ │ │ └── arguments: (length: 1)
+ │ │ └── @ CallNode (location: (53,4)-(53,10))
+ │ │ ├── flags: ∅
+ │ │ ├── receiver:
+ │ │ │ @ IntegerNode (location: (53,4)-(53,5))
+ │ │ │ └── flags: decimal
+ │ │ ├── call_operator_loc: ∅
+ │ │ ├── name: :**
+ │ │ ├── message_loc: (53,6)-(53,8) = "**"
+ │ │ ├── opening_loc: ∅
+ │ │ ├── arguments:
+ │ │ │ @ ArgumentsNode (location: (53,9)-(53,10))
+ │ │ │ ├── flags: ∅
+ │ │ │ └── arguments: (length: 1)
+ │ │ │ └── @ IntegerNode (location: (53,9)-(53,10))
+ │ │ │ └── flags: decimal
+ │ │ ├── closing_loc: ∅
+ │ │ └── block: ∅
│ ├── closing_loc: ∅
- │ ├── block: ∅
- │ └── flags: ∅
+ │ └── block: ∅
├── @ CallNode (location: (55,0)-(55,9))
+ │ ├── flags: ∅
│ ├── receiver:
│ │ @ CallNode (location: (55,0)-(55,5))
+ │ │ ├── flags: ∅
│ │ ├── receiver:
│ │ │ @ IntegerNode (location: (55,0)-(55,1))
│ │ │ └── flags: decimal
@@ -476,26 +478,24 @@
│ │ ├── opening_loc: ∅
│ │ ├── arguments:
│ │ │ @ ArgumentsNode (location: (55,4)-(55,5))
- │ │ │ ├── arguments: (length: 1)
- │ │ │ │ └── @ IntegerNode (location: (55,4)-(55,5))
- │ │ │ │ └── flags: decimal
- │ │ │ └── flags: ∅
+ │ │ │ ├── flags: ∅
+ │ │ │ └── arguments: (length: 1)
+ │ │ │ └── @ IntegerNode (location: (55,4)-(55,5))
+ │ │ │ └── flags: decimal
│ │ ├── closing_loc: ∅
- │ │ ├── block: ∅
- │ │ └── flags: ∅
+ │ │ └── block: ∅
│ ├── call_operator_loc: ∅
│ ├── name: :+
│ ├── message_loc: (55,6)-(55,7) = "+"
│ ├── opening_loc: ∅
│ ├── arguments:
│ │ @ ArgumentsNode (location: (55,8)-(55,9))
- │ │ ├── arguments: (length: 1)
- │ │ │ └── @ IntegerNode (location: (55,8)-(55,9))
- │ │ │ └── flags: decimal
- │ │ └── flags: ∅
+ │ │ ├── flags: ∅
+ │ │ └── arguments: (length: 1)
+ │ │ └── @ IntegerNode (location: (55,8)-(55,9))
+ │ │ └── flags: decimal
│ ├── closing_loc: ∅
- │ ├── block: ∅
- │ └── flags: ∅
+ │ └── block: ∅
├── @ OrNode (location: (57,0)-(57,6))
│ ├── left:
│ │ @ IntegerNode (location: (57,0)-(57,1))
@@ -513,6 +513,7 @@
│ │ └── flags: decimal
│ └── operator_loc: (59,2)-(59,4) = "||"
├── @ CallNode (location: (61,0)-(61,9))
+ │ ├── flags: ∅
│ ├── receiver:
│ │ @ IntegerNode (location: (61,0)-(61,1))
│ │ └── flags: decimal
@@ -522,33 +523,33 @@
│ ├── opening_loc: ∅
│ ├── arguments:
│ │ @ ArgumentsNode (location: (61,4)-(61,9))
- │ │ ├── arguments: (length: 1)
- │ │ │ └── @ CallNode (location: (61,4)-(61,9))
- │ │ │ ├── receiver:
- │ │ │ │ @ IntegerNode (location: (61,4)-(61,5))
- │ │ │ │ └── flags: decimal
- │ │ │ ├── call_operator_loc: ∅
- │ │ │ ├── name: :*
- │ │ │ ├── message_loc: (61,6)-(61,7) = "*"
- │ │ │ ├── opening_loc: ∅
- │ │ │ ├── arguments:
- │ │ │ │ @ ArgumentsNode (location: (61,8)-(61,9))
- │ │ │ │ ├── arguments: (length: 1)
- │ │ │ │ │ └── @ IntegerNode (location: (61,8)-(61,9))
- │ │ │ │ │ └── flags: decimal
- │ │ │ │ └── flags: ∅
- │ │ │ ├── closing_loc: ∅
- │ │ │ ├── block: ∅
- │ │ │ └── flags: ∅
- │ │ └── flags: ∅
+ │ │ ├── flags: ∅
+ │ │ └── arguments: (length: 1)
+ │ │ └── @ CallNode (location: (61,4)-(61,9))
+ │ │ ├── flags: ∅
+ │ │ ├── receiver:
+ │ │ │ @ IntegerNode (location: (61,4)-(61,5))
+ │ │ │ └── flags: decimal
+ │ │ ├── call_operator_loc: ∅
+ │ │ ├── name: :*
+ │ │ ├── message_loc: (61,6)-(61,7) = "*"
+ │ │ ├── opening_loc: ∅
+ │ │ ├── arguments:
+ │ │ │ @ ArgumentsNode (location: (61,8)-(61,9))
+ │ │ │ ├── flags: ∅
+ │ │ │ └── arguments: (length: 1)
+ │ │ │ └── @ IntegerNode (location: (61,8)-(61,9))
+ │ │ │ └── flags: decimal
+ │ │ ├── closing_loc: ∅
+ │ │ └── block: ∅
│ ├── closing_loc: ∅
- │ ├── block: ∅
- │ └── flags: ∅
+ │ └── block: ∅
└── @ ParenthesesNode (location: (63,0)-(63,7))
├── body:
│ @ StatementsNode (location: (63,1)-(63,6))
│ └── body: (length: 1)
│ └── @ CallNode (location: (63,1)-(63,6))
+ │ ├── flags: ∅
│ ├── receiver:
│ │ @ IntegerNode (location: (63,1)-(63,2))
│ │ └── flags: decimal
@@ -558,12 +559,11 @@
│ ├── opening_loc: ∅
│ ├── arguments:
│ │ @ ArgumentsNode (location: (63,5)-(63,6))
- │ │ ├── arguments: (length: 1)
- │ │ │ └── @ IntegerNode (location: (63,5)-(63,6))
- │ │ │ └── flags: decimal
- │ │ └── flags: ∅
+ │ │ ├── flags: ∅
+ │ │ └── arguments: (length: 1)
+ │ │ └── @ IntegerNode (location: (63,5)-(63,6))
+ │ │ └── flags: decimal
│ ├── closing_loc: ∅
- │ ├── block: ∅
- │ └── flags: ∅
+ │ └── block: ∅
├── opening_loc: (63,0)-(63,1) = "("
└── closing_loc: (63,6)-(63,7) = ")"
diff --git a/test/prism/snapshots/keyword_method_names.txt b/test/prism/snapshots/keyword_method_names.txt
index 7b2a222fa5..0361ac729a 100644
--- a/test/prism/snapshots/keyword_method_names.txt
+++ b/test/prism/snapshots/keyword_method_names.txt
@@ -33,6 +33,7 @@
│ ├── equal_loc: ∅
│ └── end_keyword_loc: (5,0)-(5,3) = "end"
├── @ CallNode (location: (7,0)-(10,3))
+ │ ├── flags: ∅
│ ├── receiver: ∅
│ ├── call_operator_loc: ∅
│ ├── name: :private
@@ -40,44 +41,43 @@
│ ├── opening_loc: ∅
│ ├── arguments:
│ │ @ ArgumentsNode (location: (7,8)-(10,3))
- │ │ ├── arguments: (length: 1)
- │ │ │ └── @ DefNode (location: (7,8)-(10,3))
- │ │ │ ├── name: :foo
- │ │ │ ├── name_loc: (7,12)-(7,15) = "foo"
- │ │ │ ├── receiver: ∅
- │ │ │ ├── parameters: ∅
- │ │ │ ├── body:
- │ │ │ │ @ StatementsNode (location: (8,2)-(9,5))
- │ │ │ │ └── body: (length: 1)
- │ │ │ │ └── @ CallNode (location: (8,2)-(9,5))
- │ │ │ │ ├── receiver: ∅
- │ │ │ │ ├── call_operator_loc: ∅
- │ │ │ │ ├── name: :bar
- │ │ │ │ ├── message_loc: (8,2)-(8,5) = "bar"
- │ │ │ │ ├── opening_loc: ∅
- │ │ │ │ ├── arguments: ∅
- │ │ │ │ ├── closing_loc: ∅
- │ │ │ │ ├── block:
- │ │ │ │ │ @ BlockNode (location: (8,6)-(9,5))
- │ │ │ │ │ ├── locals: []
- │ │ │ │ │ ├── locals_body_index: 0
- │ │ │ │ │ ├── parameters: ∅
- │ │ │ │ │ ├── body: ∅
- │ │ │ │ │ ├── opening_loc: (8,6)-(8,8) = "do"
- │ │ │ │ │ └── closing_loc: (9,2)-(9,5) = "end"
- │ │ │ │ └── flags: ∅
- │ │ │ ├── locals: []
- │ │ │ ├── locals_body_index: 0
- │ │ │ ├── def_keyword_loc: (7,8)-(7,11) = "def"
- │ │ │ ├── operator_loc: ∅
- │ │ │ ├── lparen_loc: ∅
- │ │ │ ├── rparen_loc: ∅
- │ │ │ ├── equal_loc: ∅
- │ │ │ └── end_keyword_loc: (10,0)-(10,3) = "end"
- │ │ └── flags: ∅
+ │ │ ├── flags: ∅
+ │ │ └── arguments: (length: 1)
+ │ │ └── @ DefNode (location: (7,8)-(10,3))
+ │ │ ├── name: :foo
+ │ │ ├── name_loc: (7,12)-(7,15) = "foo"
+ │ │ ├── receiver: ∅
+ │ │ ├── parameters: ∅
+ │ │ ├── body:
+ │ │ │ @ StatementsNode (location: (8,2)-(9,5))
+ │ │ │ └── body: (length: 1)
+ │ │ │ └── @ CallNode (location: (8,2)-(9,5))
+ │ │ │ ├── flags: ∅
+ │ │ │ ├── receiver: ∅
+ │ │ │ ├── call_operator_loc: ∅
+ │ │ │ ├── name: :bar
+ │ │ │ ├── message_loc: (8,2)-(8,5) = "bar"
+ │ │ │ ├── opening_loc: ∅
+ │ │ │ ├── arguments: ∅
+ │ │ │ ├── closing_loc: ∅
+ │ │ │ └── block:
+ │ │ │ @ BlockNode (location: (8,6)-(9,5))
+ │ │ │ ├── locals: []
+ │ │ │ ├── locals_body_index: 0
+ │ │ │ ├── parameters: ∅
+ │ │ │ ├── body: ∅
+ │ │ │ ├── opening_loc: (8,6)-(8,8) = "do"
+ │ │ │ └── closing_loc: (9,2)-(9,5) = "end"
+ │ │ ├── locals: []
+ │ │ ├── locals_body_index: 0
+ │ │ ├── def_keyword_loc: (7,8)-(7,11) = "def"
+ │ │ ├── operator_loc: ∅
+ │ │ ├── lparen_loc: ∅
+ │ │ ├── rparen_loc: ∅
+ │ │ ├── equal_loc: ∅
+ │ │ └── end_keyword_loc: (10,0)-(10,3) = "end"
│ ├── closing_loc: ∅
- │ ├── block: ∅
- │ └── flags: ∅
+ │ └── block: ∅
├── @ DefNode (location: (12,0)-(13,3))
│ ├── name: :m
│ ├── name_loc: (12,4)-(12,5) = "m"
diff --git a/test/prism/snapshots/lambda.txt b/test/prism/snapshots/lambda.txt
index f1bf71a82b..52edf26b52 100644
--- a/test/prism/snapshots/lambda.txt
+++ b/test/prism/snapshots/lambda.txt
@@ -60,6 +60,7 @@
│ │ │ │ │ │ @ StatementsNode (location: (5,10)-(5,11))
│ │ │ │ │ │ └── body: (length: 1)
│ │ │ │ │ │ └── @ CallNode (location: (5,10)-(5,11))
+ │ │ │ │ │ │ ├── flags: variable_call
│ │ │ │ │ │ ├── receiver: ∅
│ │ │ │ │ │ ├── call_operator_loc: ∅
│ │ │ │ │ │ ├── name: :a
@@ -67,8 +68,7 @@
│ │ │ │ │ │ ├── opening_loc: ∅
│ │ │ │ │ │ ├── arguments: ∅
│ │ │ │ │ │ ├── closing_loc: ∅
- │ │ │ │ │ │ ├── block: ∅
- │ │ │ │ │ │ └── flags: variable_call
+ │ │ │ │ │ │ └── block: ∅
│ │ │ │ │ └── closing_loc: (5,11)-(5,12) = "}"
│ │ │ │ └── closing_loc: (5,12)-(5,13) = "\""
│ │ │ ├── keyword_rest: ∅
@@ -97,8 +97,10 @@
│ │ │ │ ├── name_loc: (7,3)-(7,5) = "a:"
│ │ │ │ └── value:
│ │ │ │ @ CallNode (location: (7,6)-(7,11))
+ │ │ │ │ ├── flags: ∅
│ │ │ │ ├── receiver:
│ │ │ │ │ @ CallNode (location: (7,6)-(7,7))
+ │ │ │ │ │ ├── flags: variable_call
│ │ │ │ │ ├── receiver: ∅
│ │ │ │ │ ├── call_operator_loc: ∅
│ │ │ │ │ ├── name: :b
@@ -106,21 +108,19 @@
│ │ │ │ │ ├── opening_loc: ∅
│ │ │ │ │ ├── arguments: ∅
│ │ │ │ │ ├── closing_loc: ∅
- │ │ │ │ │ ├── block: ∅
- │ │ │ │ │ └── flags: variable_call
+ │ │ │ │ │ └── block: ∅
│ │ │ │ ├── call_operator_loc: ∅
│ │ │ │ ├── name: :*
│ │ │ │ ├── message_loc: (7,8)-(7,9) = "*"
│ │ │ │ ├── opening_loc: ∅
│ │ │ │ ├── arguments:
│ │ │ │ │ @ ArgumentsNode (location: (7,10)-(7,11))
- │ │ │ │ │ ├── arguments: (length: 1)
- │ │ │ │ │ │ └── @ IntegerNode (location: (7,10)-(7,11))
- │ │ │ │ │ │ └── flags: decimal
- │ │ │ │ │ └── flags: ∅
+ │ │ │ │ │ ├── flags: ∅
+ │ │ │ │ │ └── arguments: (length: 1)
+ │ │ │ │ │ └── @ IntegerNode (location: (7,10)-(7,11))
+ │ │ │ │ │ └── flags: decimal
│ │ │ │ ├── closing_loc: ∅
- │ │ │ │ ├── block: ∅
- │ │ │ │ └── flags: ∅
+ │ │ │ │ └── block: ∅
│ │ │ ├── keyword_rest: ∅
│ │ │ └── block: ∅
│ │ ├── locals: (length: 0)
@@ -145,6 +145,7 @@
│ │ │ │ ├── operator_loc: (9,7)-(9,8) = "="
│ │ │ │ └── value:
│ │ │ │ @ CallNode (location: (9,9)-(9,12))
+ │ │ │ │ ├── flags: variable_call
│ │ │ │ ├── receiver: ∅
│ │ │ │ ├── call_operator_loc: ∅
│ │ │ │ ├── name: :bar
@@ -152,8 +153,7 @@
│ │ │ │ ├── opening_loc: ∅
│ │ │ │ ├── arguments: ∅
│ │ │ │ ├── closing_loc: ∅
- │ │ │ │ ├── block: ∅
- │ │ │ │ └── flags: variable_call
+ │ │ │ │ └── block: ∅
│ │ │ ├── rest: ∅
│ │ │ ├── posts: (length: 0)
│ │ │ ├── keywords: (length: 0)
@@ -183,6 +183,7 @@
│ │ │ ├── name_loc: (11,3)-(11,7) = "foo:"
│ │ │ └── value:
│ │ │ @ CallNode (location: (11,8)-(11,11))
+ │ │ │ ├── flags: variable_call
│ │ │ ├── receiver: ∅
│ │ │ ├── call_operator_loc: ∅
│ │ │ ├── name: :bar
@@ -190,8 +191,7 @@
│ │ │ ├── opening_loc: ∅
│ │ │ ├── arguments: ∅
│ │ │ ├── closing_loc: ∅
- │ │ │ ├── block: ∅
- │ │ │ └── flags: variable_call
+ │ │ │ └── block: ∅
│ │ ├── keyword_rest: ∅
│ │ └── block: ∅
│ ├── locals: (length: 0)
diff --git a/test/prism/snapshots/method_calls.txt b/test/prism/snapshots/method_calls.txt
index fdd4a0338f..ad84800ab3 100644
--- a/test/prism/snapshots/method_calls.txt
+++ b/test/prism/snapshots/method_calls.txt
@@ -4,8 +4,10 @@
@ StatementsNode (location: (1,0)-(149,18))
└── body: (length: 63)
├── @ CallNode (location: (1,0)-(1,14))
+ │ ├── flags: ∅
│ ├── receiver:
│ │ @ CallNode (location: (1,0)-(1,3))
+ │ │ ├── flags: variable_call
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
│ │ ├── name: :foo
@@ -13,28 +15,28 @@
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
- │ │ ├── block: ∅
- │ │ └── flags: variable_call
+ │ │ └── block: ∅
│ ├── call_operator_loc: (1,3)-(1,4) = "."
│ ├── name: :bar
│ ├── message_loc: (1,4)-(1,7) = "bar"
│ ├── opening_loc: ∅
│ ├── arguments:
│ │ @ ArgumentsNode (location: (1,8)-(1,14))
- │ │ ├── arguments: (length: 1)
- │ │ │ └── @ StringNode (location: (1,8)-(1,14))
- │ │ │ ├── flags: ∅
- │ │ │ ├── opening_loc: (1,8)-(1,10) = "%{"
- │ │ │ ├── content_loc: (1,10)-(1,13) = "baz"
- │ │ │ ├── closing_loc: (1,13)-(1,14) = "}"
- │ │ │ └── unescaped: "baz"
- │ │ └── flags: ∅
+ │ │ ├── flags: ∅
+ │ │ └── arguments: (length: 1)
+ │ │ └── @ StringNode (location: (1,8)-(1,14))
+ │ │ ├── flags: ∅
+ │ │ ├── opening_loc: (1,8)-(1,10) = "%{"
+ │ │ ├── content_loc: (1,10)-(1,13) = "baz"
+ │ │ ├── closing_loc: (1,13)-(1,14) = "}"
+ │ │ └── unescaped: "baz"
│ ├── closing_loc: ∅
- │ ├── block: ∅
- │ └── flags: ∅
+ │ └── block: ∅
├── @ CallNode (location: (3,0)-(3,9))
+ │ ├── flags: ∅
│ ├── receiver:
│ │ @ CallNode (location: (3,0)-(3,1))
+ │ │ ├── flags: variable_call
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
│ │ ├── name: :a
@@ -42,42 +44,42 @@
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
- │ │ ├── block: ∅
- │ │ └── flags: variable_call
+ │ │ └── block: ∅
│ ├── call_operator_loc: (3,1)-(3,2) = "."
│ ├── name: :b
│ ├── message_loc: (3,2)-(3,3) = "b"
│ ├── opening_loc: (3,3)-(3,4) = "("
│ ├── arguments:
│ │ @ ArgumentsNode (location: (3,4)-(3,8))
- │ │ ├── arguments: (length: 2)
- │ │ │ ├── @ CallNode (location: (3,4)-(3,5))
- │ │ │ │ ├── receiver: ∅
- │ │ │ │ ├── call_operator_loc: ∅
- │ │ │ │ ├── name: :c
- │ │ │ │ ├── message_loc: (3,4)-(3,5) = "c"
- │ │ │ │ ├── opening_loc: ∅
- │ │ │ │ ├── arguments: ∅
- │ │ │ │ ├── closing_loc: ∅
- │ │ │ │ ├── block: ∅
- │ │ │ │ └── flags: variable_call
- │ │ │ └── @ CallNode (location: (3,7)-(3,8))
- │ │ │ ├── receiver: ∅
- │ │ │ ├── call_operator_loc: ∅
- │ │ │ ├── name: :d
- │ │ │ ├── message_loc: (3,7)-(3,8) = "d"
- │ │ │ ├── opening_loc: ∅
- │ │ │ ├── arguments: ∅
- │ │ │ ├── closing_loc: ∅
- │ │ │ ├── block: ∅
- │ │ │ └── flags: variable_call
- │ │ └── flags: ∅
+ │ │ ├── flags: ∅
+ │ │ └── arguments: (length: 2)
+ │ │ ├── @ CallNode (location: (3,4)-(3,5))
+ │ │ │ ├── flags: variable_call
+ │ │ │ ├── receiver: ∅
+ │ │ │ ├── call_operator_loc: ∅
+ │ │ │ ├── name: :c
+ │ │ │ ├── message_loc: (3,4)-(3,5) = "c"
+ │ │ │ ├── opening_loc: ∅
+ │ │ │ ├── arguments: ∅
+ │ │ │ ├── closing_loc: ∅
+ │ │ │ └── block: ∅
+ │ │ └── @ CallNode (location: (3,7)-(3,8))
+ │ │ ├── flags: variable_call
+ │ │ ├── receiver: ∅
+ │ │ ├── call_operator_loc: ∅
+ │ │ ├── name: :d
+ │ │ ├── message_loc: (3,7)-(3,8) = "d"
+ │ │ ├── opening_loc: ∅
+ │ │ ├── arguments: ∅
+ │ │ ├── closing_loc: ∅
+ │ │ └── block: ∅
│ ├── closing_loc: (3,8)-(3,9) = ")"
- │ ├── block: ∅
- │ └── flags: ∅
+ │ └── block: ∅
├── @ CallNode (location: (5,0)-(5,5))
+ │ ├── flags: ∅
│ ├── receiver:
│ │ @ CallNode (location: (5,0)-(5,1))
+ │ │ ├── flags: variable_call
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
│ │ ├── name: :a
@@ -85,21 +87,22 @@
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
- │ │ ├── block: ∅
- │ │ └── flags: variable_call
+ │ │ └── block: ∅
│ ├── call_operator_loc: (5,1)-(5,2) = "."
│ ├── name: :b
│ ├── message_loc: (5,2)-(5,3) = "b"
│ ├── opening_loc: (5,3)-(5,4) = "("
│ ├── arguments: ∅
│ ├── closing_loc: (5,4)-(5,5) = ")"
- │ ├── block: ∅
- │ └── flags: ∅
+ │ └── block: ∅
├── @ CallNode (location: (7,0)-(9,7))
+ │ ├── flags: safe_navigation
│ ├── receiver:
│ │ @ CallNode (location: (7,0)-(8,6))
+ │ │ ├── flags: ∅
│ │ ├── receiver:
│ │ │ @ CallNode (location: (7,0)-(7,3))
+ │ │ │ ├── flags: variable_call
│ │ │ ├── receiver: ∅
│ │ │ ├── call_operator_loc: ∅
│ │ │ ├── name: :foo
@@ -107,25 +110,23 @@
│ │ │ ├── opening_loc: ∅
│ │ │ ├── arguments: ∅
│ │ │ ├── closing_loc: ∅
- │ │ │ ├── block: ∅
- │ │ │ └── flags: variable_call
+ │ │ │ └── block: ∅
│ │ ├── call_operator_loc: (8,2)-(8,3) = "."
│ │ ├── name: :bar
│ │ ├── message_loc: (8,3)-(8,6) = "bar"
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
- │ │ ├── block: ∅
- │ │ └── flags: ∅
+ │ │ └── block: ∅
│ ├── call_operator_loc: (9,2)-(9,4) = "&."
│ ├── name: :baz
│ ├── message_loc: (9,4)-(9,7) = "baz"
│ ├── opening_loc: ∅
│ ├── arguments: ∅
│ ├── closing_loc: ∅
- │ ├── block: ∅
- │ └── flags: safe_navigation
+ │ └── block: ∅
├── @ CallNode (location: (11,0)-(11,2))
+ │ ├── flags: ∅
│ ├── receiver: ∅
│ ├── call_operator_loc: ∅
│ ├── name: :a!
@@ -133,11 +134,12 @@
│ ├── opening_loc: ∅
│ ├── arguments: ∅
│ ├── closing_loc: ∅
- │ ├── block: ∅
- │ └── flags: ∅
+ │ └── block: ∅
├── @ CallNode (location: (13,0)-(13,4))
+ │ ├── flags: ∅
│ ├── receiver:
│ │ @ CallNode (location: (13,0)-(13,1))
+ │ │ ├── flags: variable_call
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
│ │ ├── name: :a
@@ -145,19 +147,19 @@
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
- │ │ ├── block: ∅
- │ │ └── flags: variable_call
+ │ │ └── block: ∅
│ ├── call_operator_loc: (13,1)-(13,2) = "."
│ ├── name: :call
│ ├── message_loc: ∅
│ ├── opening_loc: (13,2)-(13,3) = "("
│ ├── arguments: ∅
│ ├── closing_loc: (13,3)-(13,4) = ")"
- │ ├── block: ∅
- │ └── flags: ∅
+ │ └── block: ∅
├── @ CallNode (location: (15,0)-(15,11))
+ │ ├── flags: ∅
│ ├── receiver:
│ │ @ CallNode (location: (15,0)-(15,1))
+ │ │ ├── flags: variable_call
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
│ │ ├── name: :a
@@ -165,28 +167,28 @@
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
- │ │ ├── block: ∅
- │ │ └── flags: variable_call
+ │ │ └── block: ∅
│ ├── call_operator_loc: (15,1)-(15,2) = "."
│ ├── name: :call
│ ├── message_loc: ∅
│ ├── opening_loc: (15,2)-(15,3) = "("
│ ├── arguments:
│ │ @ ArgumentsNode (location: (15,3)-(15,10))
- │ │ ├── arguments: (length: 3)
- │ │ │ ├── @ IntegerNode (location: (15,3)-(15,4))
- │ │ │ │ └── flags: decimal
- │ │ │ ├── @ IntegerNode (location: (15,6)-(15,7))
- │ │ │ │ └── flags: decimal
- │ │ │ └── @ IntegerNode (location: (15,9)-(15,10))
- │ │ │ └── flags: decimal
- │ │ └── flags: ∅
+ │ │ ├── flags: ∅
+ │ │ └── arguments: (length: 3)
+ │ │ ├── @ IntegerNode (location: (15,3)-(15,4))
+ │ │ │ └── flags: decimal
+ │ │ ├── @ IntegerNode (location: (15,6)-(15,7))
+ │ │ │ └── flags: decimal
+ │ │ └── @ IntegerNode (location: (15,9)-(15,10))
+ │ │ └── flags: decimal
│ ├── closing_loc: (15,10)-(15,11) = ")"
- │ ├── block: ∅
- │ └── flags: ∅
+ │ └── block: ∅
├── @ CallNode (location: (17,0)-(17,4))
+ │ ├── flags: ∅
│ ├── receiver:
│ │ @ CallNode (location: (17,0)-(17,1))
+ │ │ ├── flags: variable_call
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
│ │ ├── name: :a
@@ -194,19 +196,19 @@
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
- │ │ ├── block: ∅
- │ │ └── flags: variable_call
+ │ │ └── block: ∅
│ ├── call_operator_loc: (17,1)-(17,3) = "::"
│ ├── name: :b
│ ├── message_loc: (17,3)-(17,4) = "b"
│ ├── opening_loc: ∅
│ ├── arguments: ∅
│ ├── closing_loc: ∅
- │ ├── block: ∅
- │ └── flags: ∅
+ │ └── block: ∅
├── @ CallNode (location: (19,0)-(19,6))
+ │ ├── flags: ∅
│ ├── receiver:
│ │ @ CallNode (location: (19,0)-(19,1))
+ │ │ ├── flags: variable_call
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
│ │ ├── name: :a
@@ -214,32 +216,32 @@
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
- │ │ ├── block: ∅
- │ │ └── flags: variable_call
+ │ │ └── block: ∅
│ ├── call_operator_loc: (19,1)-(19,3) = "::"
│ ├── name: :b
│ ├── message_loc: (19,3)-(19,4) = "b"
│ ├── opening_loc: ∅
│ ├── arguments:
│ │ @ ArgumentsNode (location: (19,5)-(19,6))
- │ │ ├── arguments: (length: 1)
- │ │ │ └── @ CallNode (location: (19,5)-(19,6))
- │ │ │ ├── receiver: ∅
- │ │ │ ├── call_operator_loc: ∅
- │ │ │ ├── name: :c
- │ │ │ ├── message_loc: (19,5)-(19,6) = "c"
- │ │ │ ├── opening_loc: ∅
- │ │ │ ├── arguments: ∅
- │ │ │ ├── closing_loc: ∅
- │ │ │ ├── block: ∅
- │ │ │ └── flags: variable_call
- │ │ └── flags: ∅
+ │ │ ├── flags: ∅
+ │ │ └── arguments: (length: 1)
+ │ │ └── @ CallNode (location: (19,5)-(19,6))
+ │ │ ├── flags: variable_call
+ │ │ ├── receiver: ∅
+ │ │ ├── call_operator_loc: ∅
+ │ │ ├── name: :c
+ │ │ ├── message_loc: (19,5)-(19,6) = "c"
+ │ │ ├── opening_loc: ∅
+ │ │ ├── arguments: ∅
+ │ │ ├── closing_loc: ∅
+ │ │ └── block: ∅
│ ├── closing_loc: ∅
- │ ├── block: ∅
- │ └── flags: ∅
+ │ └── block: ∅
├── @ CallNode (location: (21,0)-(21,11))
+ │ ├── flags: ∅
│ ├── receiver:
│ │ @ CallNode (location: (21,0)-(21,3))
+ │ │ ├── flags: variable_call
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
│ │ ├── name: :foo
@@ -247,22 +249,21 @@
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
- │ │ ├── block: ∅
- │ │ └── flags: variable_call
+ │ │ └── block: ∅
│ ├── call_operator_loc: (21,3)-(21,4) = "."
│ ├── name: :bar=
│ ├── message_loc: (21,4)-(21,7) = "bar"
│ ├── opening_loc: ∅
│ ├── arguments:
│ │ @ ArgumentsNode (location: (21,10)-(21,11))
- │ │ ├── arguments: (length: 1)
- │ │ │ └── @ IntegerNode (location: (21,10)-(21,11))
- │ │ │ └── flags: decimal
- │ │ └── flags: ∅
+ │ │ ├── flags: ∅
+ │ │ └── arguments: (length: 1)
+ │ │ └── @ IntegerNode (location: (21,10)-(21,11))
+ │ │ └── flags: decimal
│ ├── closing_loc: ∅
- │ ├── block: ∅
- │ └── flags: ∅
+ │ └── block: ∅
├── @ CallNode (location: (23,0)-(23,2))
+ │ ├── flags: ∅
│ ├── receiver: ∅
│ ├── call_operator_loc: ∅
│ ├── name: :a?
@@ -270,9 +271,9 @@
│ ├── opening_loc: ∅
│ ├── arguments: ∅
│ ├── closing_loc: ∅
- │ ├── block: ∅
- │ └── flags: ∅
+ │ └── block: ∅
├── @ CallNode (location: (25,0)-(25,8))
+ │ ├── flags: ∅
│ ├── receiver: ∅
│ ├── call_operator_loc: ∅
│ ├── name: :a
@@ -280,22 +281,22 @@
│ ├── opening_loc: (25,1)-(25,2) = "("
│ ├── arguments: ∅
│ ├── closing_loc: (25,8)-(25,9) = ")"
- │ ├── block:
- │ │ @ BlockArgumentNode (location: (25,2)-(25,8))
- │ │ ├── expression:
- │ │ │ @ CallNode (location: (25,3)-(25,8))
- │ │ │ ├── receiver: ∅
- │ │ │ ├── call_operator_loc: ∅
- │ │ │ ├── name: :block
- │ │ │ ├── message_loc: (25,3)-(25,8) = "block"
- │ │ │ ├── opening_loc: ∅
- │ │ │ ├── arguments: ∅
- │ │ │ ├── closing_loc: ∅
- │ │ │ ├── block: ∅
- │ │ │ └── flags: variable_call
- │ │ └── operator_loc: (25,2)-(25,3) = "&"
- │ └── flags: ∅
+ │ └── block:
+ │ @ BlockArgumentNode (location: (25,2)-(25,8))
+ │ ├── expression:
+ │ │ @ CallNode (location: (25,3)-(25,8))
+ │ │ ├── flags: variable_call
+ │ │ ├── receiver: ∅
+ │ │ ├── call_operator_loc: ∅
+ │ │ ├── name: :block
+ │ │ ├── message_loc: (25,3)-(25,8) = "block"
+ │ │ ├── opening_loc: ∅
+ │ │ ├── arguments: ∅
+ │ │ ├── closing_loc: ∅
+ │ │ └── block: ∅
+ │ └── operator_loc: (25,2)-(25,3) = "&"
├── @ CallNode (location: (27,0)-(27,11))
+ │ ├── flags: ∅
│ ├── receiver: ∅
│ ├── call_operator_loc: ∅
│ ├── name: :a
@@ -303,31 +304,33 @@
│ ├── opening_loc: (27,1)-(27,2) = "("
│ ├── arguments:
│ │ @ ArgumentsNode (location: (27,2)-(27,10))
- │ │ ├── arguments: (length: 1)
- │ │ │ └── @ KeywordHashNode (location: (27,2)-(27,10))
- │ │ │ └── elements: (length: 1)
- │ │ │ └── @ AssocSplatNode (location: (27,2)-(27,10))
- │ │ │ ├── value:
- │ │ │ │ @ CallNode (location: (27,4)-(27,10))
- │ │ │ │ ├── receiver: ∅
- │ │ │ │ ├── call_operator_loc: ∅
- │ │ │ │ ├── name: :kwargs
- │ │ │ │ ├── message_loc: (27,4)-(27,10) = "kwargs"
- │ │ │ │ ├── opening_loc: ∅
- │ │ │ │ ├── arguments: ∅
- │ │ │ │ ├── closing_loc: ∅
- │ │ │ │ ├── block: ∅
- │ │ │ │ └── flags: variable_call
- │ │ │ └── operator_loc: (27,2)-(27,4) = "**"
- │ │ └── flags: contains_keyword_splat
+ │ │ ├── flags: contains_keyword_splat
+ │ │ └── arguments: (length: 1)
+ │ │ └── @ KeywordHashNode (location: (27,2)-(27,10))
+ │ │ └── elements: (length: 1)
+ │ │ └── @ AssocSplatNode (location: (27,2)-(27,10))
+ │ │ ├── value:
+ │ │ │ @ CallNode (location: (27,4)-(27,10))
+ │ │ │ ├── flags: variable_call
+ │ │ │ ├── receiver: ∅
+ │ │ │ ├── call_operator_loc: ∅
+ │ │ │ ├── name: :kwargs
+ │ │ │ ├── message_loc: (27,4)-(27,10) = "kwargs"
+ │ │ │ ├── opening_loc: ∅
+ │ │ │ ├── arguments: ∅
+ │ │ │ ├── closing_loc: ∅
+ │ │ │ └── block: ∅
+ │ │ └── operator_loc: (27,2)-(27,4) = "**"
│ ├── closing_loc: (27,10)-(27,11) = ")"
- │ ├── block: ∅
- │ └── flags: ∅
+ │ └── block: ∅
├── @ CallNode (location: (29,0)-(29,5))
+ │ ├── flags: ∅
│ ├── receiver:
│ │ @ CallNode (location: (29,0)-(29,3))
+ │ │ ├── flags: ∅
│ │ ├── receiver:
│ │ │ @ CallNode (location: (29,0)-(29,1))
+ │ │ │ ├── flags: variable_call
│ │ │ ├── receiver: ∅
│ │ │ ├── call_operator_loc: ∅
│ │ │ ├── name: :a
@@ -335,25 +338,23 @@
│ │ │ ├── opening_loc: ∅
│ │ │ ├── arguments: ∅
│ │ │ ├── closing_loc: ∅
- │ │ │ ├── block: ∅
- │ │ │ └── flags: variable_call
+ │ │ │ └── block: ∅
│ │ ├── call_operator_loc: (29,1)-(29,2) = "."
│ │ ├── name: :b
│ │ ├── message_loc: (29,2)-(29,3) = "b"
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
- │ │ ├── block: ∅
- │ │ └── flags: ∅
+ │ │ └── block: ∅
│ ├── call_operator_loc: (29,3)-(29,4) = "."
│ ├── name: :c
│ ├── message_loc: (29,4)-(29,5) = "c"
│ ├── opening_loc: ∅
│ ├── arguments: ∅
│ ├── closing_loc: ∅
- │ ├── block: ∅
- │ └── flags: ∅
+ │ └── block: ∅
├── @ CallNode (location: (31,0)-(31,7))
+ │ ├── flags: ∅
│ ├── receiver: ∅
│ ├── call_operator_loc: ∅
│ ├── name: :a
@@ -361,32 +362,32 @@
│ ├── opening_loc: (31,1)-(31,2) = "("
│ ├── arguments:
│ │ @ ArgumentsNode (location: (31,2)-(31,6))
- │ │ ├── arguments: (length: 2)
- │ │ │ ├── @ CallNode (location: (31,2)-(31,3))
- │ │ │ │ ├── receiver: ∅
- │ │ │ │ ├── call_operator_loc: ∅
- │ │ │ │ ├── name: :b
- │ │ │ │ ├── message_loc: (31,2)-(31,3) = "b"
- │ │ │ │ ├── opening_loc: ∅
- │ │ │ │ ├── arguments: ∅
- │ │ │ │ ├── closing_loc: ∅
- │ │ │ │ ├── block: ∅
- │ │ │ │ └── flags: variable_call
- │ │ │ └── @ CallNode (location: (31,5)-(31,6))
- │ │ │ ├── receiver: ∅
- │ │ │ ├── call_operator_loc: ∅
- │ │ │ ├── name: :c
- │ │ │ ├── message_loc: (31,5)-(31,6) = "c"
- │ │ │ ├── opening_loc: ∅
- │ │ │ ├── arguments: ∅
- │ │ │ ├── closing_loc: ∅
- │ │ │ ├── block: ∅
- │ │ │ └── flags: variable_call
- │ │ └── flags: ∅
+ │ │ ├── flags: ∅
+ │ │ └── arguments: (length: 2)
+ │ │ ├── @ CallNode (location: (31,2)-(31,3))
+ │ │ │ ├── flags: variable_call
+ │ │ │ ├── receiver: ∅
+ │ │ │ ├── call_operator_loc: ∅
+ │ │ │ ├── name: :b
+ │ │ │ ├── message_loc: (31,2)-(31,3) = "b"
+ │ │ │ ├── opening_loc: ∅
+ │ │ │ ├── arguments: ∅
+ │ │ │ ├── closing_loc: ∅
+ │ │ │ └── block: ∅
+ │ │ └── @ CallNode (location: (31,5)-(31,6))
+ │ │ ├── flags: variable_call
+ │ │ ├── receiver: ∅
+ │ │ ├── call_operator_loc: ∅
+ │ │ ├── name: :c
+ │ │ ├── message_loc: (31,5)-(31,6) = "c"
+ │ │ ├── opening_loc: ∅
+ │ │ ├── arguments: ∅
+ │ │ ├── closing_loc: ∅
+ │ │ └── block: ∅
│ ├── closing_loc: (31,6)-(31,7) = ")"
- │ ├── block: ∅
- │ └── flags: ∅
+ │ └── block: ∅
├── @ CallNode (location: (33,0)-(33,3))
+ │ ├── flags: ∅
│ ├── receiver: ∅
│ ├── call_operator_loc: ∅
│ ├── name: :a
@@ -394,9 +395,9 @@
│ ├── opening_loc: (33,1)-(33,2) = "("
│ ├── arguments: ∅
│ ├── closing_loc: (33,2)-(33,3) = ")"
- │ ├── block: ∅
- │ └── flags: ∅
+ │ └── block: ∅
├── @ CallNode (location: (35,0)-(35,8))
+ │ ├── flags: ∅
│ ├── receiver: ∅
│ ├── call_operator_loc: ∅
│ ├── name: :a
@@ -404,25 +405,25 @@
│ ├── opening_loc: (35,1)-(35,2) = "("
│ ├── arguments:
│ │ @ ArgumentsNode (location: (35,2)-(35,7))
- │ │ ├── arguments: (length: 1)
- │ │ │ └── @ SplatNode (location: (35,2)-(35,7))
- │ │ │ ├── operator_loc: (35,2)-(35,3) = "*"
- │ │ │ └── expression:
- │ │ │ @ CallNode (location: (35,3)-(35,7))
- │ │ │ ├── receiver: ∅
- │ │ │ ├── call_operator_loc: ∅
- │ │ │ ├── name: :args
- │ │ │ ├── message_loc: (35,3)-(35,7) = "args"
- │ │ │ ├── opening_loc: ∅
- │ │ │ ├── arguments: ∅
- │ │ │ ├── closing_loc: ∅
- │ │ │ ├── block: ∅
- │ │ │ └── flags: variable_call
- │ │ └── flags: ∅
+ │ │ ├── flags: ∅
+ │ │ └── arguments: (length: 1)
+ │ │ └── @ SplatNode (location: (35,2)-(35,7))
+ │ │ ├── operator_loc: (35,2)-(35,3) = "*"
+ │ │ └── expression:
+ │ │ @ CallNode (location: (35,3)-(35,7))
+ │ │ ├── flags: variable_call
+ │ │ ├── receiver: ∅
+ │ │ ├── call_operator_loc: ∅
+ │ │ ├── name: :args
+ │ │ ├── message_loc: (35,3)-(35,7) = "args"
+ │ │ ├── opening_loc: ∅
+ │ │ ├── arguments: ∅
+ │ │ ├── closing_loc: ∅
+ │ │ └── block: ∅
│ ├── closing_loc: (35,7)-(35,8) = ")"
- │ ├── block: ∅
- │ └── flags: ∅
+ │ └── block: ∅
├── @ CallNode (location: (37,0)-(37,6))
+ │ ├── flags: ∅
│ ├── receiver: ∅
│ ├── call_operator_loc: ∅
│ ├── name: :a
@@ -430,34 +431,35 @@
│ ├── opening_loc: ∅
│ ├── arguments:
│ │ @ ArgumentsNode (location: (37,2)-(37,6))
- │ │ ├── arguments: (length: 2)
- │ │ │ ├── @ CallNode (location: (37,2)-(37,3))
- │ │ │ │ ├── receiver: ∅
- │ │ │ │ ├── call_operator_loc: ∅
- │ │ │ │ ├── name: :b
- │ │ │ │ ├── message_loc: (37,2)-(37,3) = "b"
- │ │ │ │ ├── opening_loc: ∅
- │ │ │ │ ├── arguments: ∅
- │ │ │ │ ├── closing_loc: ∅
- │ │ │ │ ├── block: ∅
- │ │ │ │ └── flags: variable_call
- │ │ │ └── @ CallNode (location: (37,5)-(37,6))
- │ │ │ ├── receiver: ∅
- │ │ │ ├── call_operator_loc: ∅
- │ │ │ ├── name: :c
- │ │ │ ├── message_loc: (37,5)-(37,6) = "c"
- │ │ │ ├── opening_loc: ∅
- │ │ │ ├── arguments: ∅
- │ │ │ ├── closing_loc: ∅
- │ │ │ ├── block: ∅
- │ │ │ └── flags: variable_call
- │ │ └── flags: ∅
+ │ │ ├── flags: ∅
+ │ │ └── arguments: (length: 2)
+ │ │ ├── @ CallNode (location: (37,2)-(37,3))
+ │ │ │ ├── flags: variable_call
+ │ │ │ ├── receiver: ∅
+ │ │ │ ├── call_operator_loc: ∅
+ │ │ │ ├── name: :b
+ │ │ │ ├── message_loc: (37,2)-(37,3) = "b"
+ │ │ │ ├── opening_loc: ∅
+ │ │ │ ├── arguments: ∅
+ │ │ │ ├── closing_loc: ∅
+ │ │ │ └── block: ∅
+ │ │ └── @ CallNode (location: (37,5)-(37,6))
+ │ │ ├── flags: variable_call
+ │ │ ├── receiver: ∅
+ │ │ ├── call_operator_loc: ∅
+ │ │ ├── name: :c
+ │ │ ├── message_loc: (37,5)-(37,6) = "c"
+ │ │ ├── opening_loc: ∅
+ │ │ ├── arguments: ∅
+ │ │ ├── closing_loc: ∅
+ │ │ └── block: ∅
│ ├── closing_loc: ∅
- │ ├── block: ∅
- │ └── flags: ∅
+ │ └── block: ∅
├── @ CallNode (location: (39,0)-(39,8))
+ │ ├── flags: ∅
│ ├── receiver:
│ │ @ CallNode (location: (39,0)-(39,1))
+ │ │ ├── flags: variable_call
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
│ │ ├── name: :a
@@ -465,44 +467,44 @@
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
- │ │ ├── block: ∅
- │ │ └── flags: variable_call
+ │ │ └── block: ∅
│ ├── call_operator_loc: (39,1)-(39,2) = "."
│ ├── name: :b
│ ├── message_loc: (39,2)-(39,3) = "b"
│ ├── opening_loc: ∅
│ ├── arguments:
│ │ @ ArgumentsNode (location: (39,4)-(39,8))
- │ │ ├── arguments: (length: 2)
- │ │ │ ├── @ CallNode (location: (39,4)-(39,5))
- │ │ │ │ ├── receiver: ∅
- │ │ │ │ ├── call_operator_loc: ∅
- │ │ │ │ ├── name: :c
- │ │ │ │ ├── message_loc: (39,4)-(39,5) = "c"
- │ │ │ │ ├── opening_loc: ∅
- │ │ │ │ ├── arguments: ∅
- │ │ │ │ ├── closing_loc: ∅
- │ │ │ │ ├── block: ∅
- │ │ │ │ └── flags: variable_call
- │ │ │ └── @ CallNode (location: (39,7)-(39,8))
- │ │ │ ├── receiver: ∅
- │ │ │ ├── call_operator_loc: ∅
- │ │ │ ├── name: :d
- │ │ │ ├── message_loc: (39,7)-(39,8) = "d"
- │ │ │ ├── opening_loc: ∅
- │ │ │ ├── arguments: ∅
- │ │ │ ├── closing_loc: ∅
- │ │ │ ├── block: ∅
- │ │ │ └── flags: variable_call
- │ │ └── flags: ∅
+ │ │ ├── flags: ∅
+ │ │ └── arguments: (length: 2)
+ │ │ ├── @ CallNode (location: (39,4)-(39,5))
+ │ │ │ ├── flags: variable_call
+ │ │ │ ├── receiver: ∅
+ │ │ │ ├── call_operator_loc: ∅
+ │ │ │ ├── name: :c
+ │ │ │ ├── message_loc: (39,4)-(39,5) = "c"
+ │ │ │ ├── opening_loc: ∅
+ │ │ │ ├── arguments: ∅
+ │ │ │ ├── closing_loc: ∅
+ │ │ │ └── block: ∅
+ │ │ └── @ CallNode (location: (39,7)-(39,8))
+ │ │ ├── flags: variable_call
+ │ │ ├── receiver: ∅
+ │ │ ├── call_operator_loc: ∅
+ │ │ ├── name: :d
+ │ │ ├── message_loc: (39,7)-(39,8) = "d"
+ │ │ ├── opening_loc: ∅
+ │ │ ├── arguments: ∅
+ │ │ ├── closing_loc: ∅
+ │ │ └── block: ∅
│ ├── closing_loc: ∅
- │ ├── block: ∅
- │ └── flags: ∅
+ │ └── block: ∅
├── @ MultiWriteNode (location: (41,0)-(41,23))
│ ├── lefts: (length: 2)
│ │ ├── @ CallNode (location: (41,0)-(41,7))
+ │ │ │ ├── flags: ∅
│ │ │ ├── receiver:
│ │ │ │ @ CallNode (location: (41,0)-(41,3))
+ │ │ │ │ ├── flags: variable_call
│ │ │ │ ├── receiver: ∅
│ │ │ │ ├── call_operator_loc: ∅
│ │ │ │ ├── name: :foo
@@ -510,19 +512,19 @@
│ │ │ │ ├── opening_loc: ∅
│ │ │ │ ├── arguments: ∅
│ │ │ │ ├── closing_loc: ∅
- │ │ │ │ ├── block: ∅
- │ │ │ │ └── flags: variable_call
+ │ │ │ │ └── block: ∅
│ │ │ ├── call_operator_loc: (41,3)-(41,4) = "."
│ │ │ ├── name: :foo=
│ │ │ ├── message_loc: (41,4)-(41,7) = "foo"
│ │ │ ├── opening_loc: ∅
│ │ │ ├── arguments: ∅
│ │ │ ├── closing_loc: ∅
- │ │ │ ├── block: ∅
- │ │ │ └── flags: ∅
+ │ │ │ └── block: ∅
│ │ └── @ CallNode (location: (41,9)-(41,16))
+ │ │ ├── flags: ∅
│ │ ├── receiver:
│ │ │ @ CallNode (location: (41,9)-(41,12))
+ │ │ │ ├── flags: variable_call
│ │ │ ├── receiver: ∅
│ │ │ ├── call_operator_loc: ∅
│ │ │ ├── name: :bar
@@ -530,16 +532,14 @@
│ │ │ ├── opening_loc: ∅
│ │ │ ├── arguments: ∅
│ │ │ ├── closing_loc: ∅
- │ │ │ ├── block: ∅
- │ │ │ └── flags: variable_call
+ │ │ │ └── block: ∅
│ │ ├── call_operator_loc: (41,12)-(41,13) = "."
│ │ ├── name: :bar=
│ │ ├── message_loc: (41,13)-(41,16) = "bar"
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
- │ │ ├── block: ∅
- │ │ └── flags: ∅
+ │ │ └── block: ∅
│ ├── rest: ∅
│ ├── rights: (length: 0)
│ ├── lparen_loc: ∅
@@ -547,17 +547,19 @@
│ ├── operator_loc: (41,17)-(41,18) = "="
│ └── value:
│ @ ArrayNode (location: (41,19)-(41,23))
+ │ ├── flags: ∅
│ ├── elements: (length: 2)
│ │ ├── @ IntegerNode (location: (41,19)-(41,20))
│ │ │ └── flags: decimal
│ │ └── @ IntegerNode (location: (41,22)-(41,23))
│ │ └── flags: decimal
│ ├── opening_loc: ∅
- │ ├── closing_loc: ∅
- │ └── flags: ∅
+ │ └── closing_loc: ∅
├── @ CallNode (location: (43,0)-(43,4))
+ │ ├── flags: safe_navigation
│ ├── receiver:
│ │ @ CallNode (location: (43,0)-(43,1))
+ │ │ ├── flags: variable_call
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
│ │ ├── name: :a
@@ -565,19 +567,19 @@
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
- │ │ ├── block: ∅
- │ │ └── flags: variable_call
+ │ │ └── block: ∅
│ ├── call_operator_loc: (43,1)-(43,3) = "&."
│ ├── name: :b
│ ├── message_loc: (43,3)-(43,4) = "b"
│ ├── opening_loc: ∅
│ ├── arguments: ∅
│ ├── closing_loc: ∅
- │ ├── block: ∅
- │ └── flags: safe_navigation
+ │ └── block: ∅
├── @ CallNode (location: (45,0)-(45,5))
+ │ ├── flags: safe_navigation
│ ├── receiver:
│ │ @ CallNode (location: (45,0)-(45,1))
+ │ │ ├── flags: variable_call
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
│ │ ├── name: :a
@@ -585,19 +587,19 @@
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
- │ │ ├── block: ∅
- │ │ └── flags: variable_call
+ │ │ └── block: ∅
│ ├── call_operator_loc: (45,1)-(45,3) = "&."
│ ├── name: :call
│ ├── message_loc: ∅
│ ├── opening_loc: (45,3)-(45,4) = "("
│ ├── arguments: ∅
│ ├── closing_loc: (45,4)-(45,5) = ")"
- │ ├── block: ∅
- │ └── flags: safe_navigation
+ │ └── block: ∅
├── @ CallNode (location: (47,0)-(47,7))
+ │ ├── flags: safe_navigation
│ ├── receiver:
│ │ @ CallNode (location: (47,0)-(47,1))
+ │ │ ├── flags: variable_call
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
│ │ ├── name: :a
@@ -605,32 +607,32 @@
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
- │ │ ├── block: ∅
- │ │ └── flags: variable_call
+ │ │ └── block: ∅
│ ├── call_operator_loc: (47,1)-(47,3) = "&."
│ ├── name: :b
│ ├── message_loc: (47,3)-(47,4) = "b"
│ ├── opening_loc: (47,4)-(47,5) = "("
│ ├── arguments:
│ │ @ ArgumentsNode (location: (47,5)-(47,6))
- │ │ ├── arguments: (length: 1)
- │ │ │ └── @ CallNode (location: (47,5)-(47,6))
- │ │ │ ├── receiver: ∅
- │ │ │ ├── call_operator_loc: ∅
- │ │ │ ├── name: :c
- │ │ │ ├── message_loc: (47,5)-(47,6) = "c"
- │ │ │ ├── opening_loc: ∅
- │ │ │ ├── arguments: ∅
- │ │ │ ├── closing_loc: ∅
- │ │ │ ├── block: ∅
- │ │ │ └── flags: variable_call
- │ │ └── flags: ∅
+ │ │ ├── flags: ∅
+ │ │ └── arguments: (length: 1)
+ │ │ └── @ CallNode (location: (47,5)-(47,6))
+ │ │ ├── flags: variable_call
+ │ │ ├── receiver: ∅
+ │ │ ├── call_operator_loc: ∅
+ │ │ ├── name: :c
+ │ │ ├── message_loc: (47,5)-(47,6) = "c"
+ │ │ ├── opening_loc: ∅
+ │ │ ├── arguments: ∅
+ │ │ ├── closing_loc: ∅
+ │ │ └── block: ∅
│ ├── closing_loc: (47,6)-(47,7) = ")"
- │ ├── block: ∅
- │ └── flags: safe_navigation
+ │ └── block: ∅
├── @ CallNode (location: (49,0)-(49,6))
+ │ ├── flags: safe_navigation
│ ├── receiver:
│ │ @ CallNode (location: (49,0)-(49,1))
+ │ │ ├── flags: variable_call
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
│ │ ├── name: :a
@@ -638,16 +640,14 @@
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
- │ │ ├── block: ∅
- │ │ └── flags: variable_call
+ │ │ └── block: ∅
│ ├── call_operator_loc: (49,1)-(49,3) = "&."
│ ├── name: :b
│ ├── message_loc: (49,3)-(49,4) = "b"
│ ├── opening_loc: (49,4)-(49,5) = "("
│ ├── arguments: ∅
│ ├── closing_loc: (49,5)-(49,6) = ")"
- │ ├── block: ∅
- │ └── flags: safe_navigation
+ │ └── block: ∅
├── @ IfNode (location: (51,0)-(51,33))
│ ├── if_keyword_loc: (51,11)-(51,13) = "if"
│ ├── predicate:
@@ -656,6 +656,7 @@
│ │ │ @ OrNode (location: (51,14)-(51,25))
│ │ │ ├── left:
│ │ │ │ @ CallNode (location: (51,14)-(51,18))
+ │ │ │ │ ├── flags: ∅
│ │ │ │ ├── receiver: ∅
│ │ │ │ ├── call_operator_loc: ∅
│ │ │ │ ├── name: :bar?
@@ -663,10 +664,10 @@
│ │ │ │ ├── opening_loc: ∅
│ │ │ │ ├── arguments: ∅
│ │ │ │ ├── closing_loc: ∅
- │ │ │ │ ├── block: ∅
- │ │ │ │ └── flags: ∅
+ │ │ │ │ └── block: ∅
│ │ │ ├── right:
│ │ │ │ @ CallNode (location: (51,22)-(51,25))
+ │ │ │ │ ├── flags: variable_call
│ │ │ │ ├── receiver: ∅
│ │ │ │ ├── call_operator_loc: ∅
│ │ │ │ ├── name: :baz
@@ -674,11 +675,11 @@
│ │ │ │ ├── opening_loc: ∅
│ │ │ │ ├── arguments: ∅
│ │ │ │ ├── closing_loc: ∅
- │ │ │ │ ├── block: ∅
- │ │ │ │ └── flags: variable_call
+ │ │ │ │ └── block: ∅
│ │ │ └── operator_loc: (51,19)-(51,21) = "or"
│ │ ├── right:
│ │ │ @ CallNode (location: (51,30)-(51,33))
+ │ │ │ ├── flags: variable_call
│ │ │ ├── receiver: ∅
│ │ │ ├── call_operator_loc: ∅
│ │ │ ├── name: :qux
@@ -686,14 +687,14 @@
│ │ │ ├── opening_loc: ∅
│ │ │ ├── arguments: ∅
│ │ │ ├── closing_loc: ∅
- │ │ │ ├── block: ∅
- │ │ │ └── flags: variable_call
+ │ │ │ └── block: ∅
│ │ └── operator_loc: (51,26)-(51,29) = "and"
│ ├── then_keyword_loc: ∅
│ ├── statements:
│ │ @ StatementsNode (location: (51,0)-(51,10))
│ │ └── body: (length: 1)
│ │ └── @ CallNode (location: (51,0)-(51,10))
+ │ │ ├── flags: ∅
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
│ │ ├── name: :foo
@@ -701,24 +702,24 @@
│ │ ├── opening_loc: ∅
│ │ ├── arguments:
│ │ │ @ ArgumentsNode (location: (51,4)-(51,10))
- │ │ │ ├── arguments: (length: 2)
- │ │ │ │ ├── @ SymbolNode (location: (51,4)-(51,6))
- │ │ │ │ │ ├── opening_loc: (51,4)-(51,5) = ":"
- │ │ │ │ │ ├── value_loc: (51,5)-(51,6) = "a"
- │ │ │ │ │ ├── closing_loc: ∅
- │ │ │ │ │ └── unescaped: "a"
- │ │ │ │ └── @ SymbolNode (location: (51,8)-(51,10))
- │ │ │ │ ├── opening_loc: (51,8)-(51,9) = ":"
- │ │ │ │ ├── value_loc: (51,9)-(51,10) = "b"
- │ │ │ │ ├── closing_loc: ∅
- │ │ │ │ └── unescaped: "b"
- │ │ │ └── flags: ∅
+ │ │ │ ├── flags: ∅
+ │ │ │ └── arguments: (length: 2)
+ │ │ │ ├── @ SymbolNode (location: (51,4)-(51,6))
+ │ │ │ │ ├── opening_loc: (51,4)-(51,5) = ":"
+ │ │ │ │ ├── value_loc: (51,5)-(51,6) = "a"
+ │ │ │ │ ├── closing_loc: ∅
+ │ │ │ │ └── unescaped: "a"
+ │ │ │ └── @ SymbolNode (location: (51,8)-(51,10))
+ │ │ │ ├── opening_loc: (51,8)-(51,9) = ":"
+ │ │ │ ├── value_loc: (51,9)-(51,10) = "b"
+ │ │ │ ├── closing_loc: ∅
+ │ │ │ └── unescaped: "b"
│ │ ├── closing_loc: ∅
- │ │ ├── block: ∅
- │ │ └── flags: ∅
+ │ │ └── block: ∅
│ ├── consequent: ∅
│ └── end_keyword_loc: ∅
├── @ CallNode (location: (53,0)-(56,1))
+ │ ├── flags: ∅
│ ├── receiver: ∅
│ ├── call_operator_loc: ∅
│ ├── name: :foo
@@ -726,22 +727,22 @@
│ ├── opening_loc: (53,3)-(53,4) = "("
│ ├── arguments:
│ │ @ ArgumentsNode (location: (53,4)-(55,4))
- │ │ ├── arguments: (length: 2)
- │ │ │ ├── @ SymbolNode (location: (53,4)-(53,6))
- │ │ │ │ ├── opening_loc: (53,4)-(53,5) = ":"
- │ │ │ │ ├── value_loc: (53,5)-(53,6) = "a"
- │ │ │ │ ├── closing_loc: ∅
- │ │ │ │ └── unescaped: "a"
- │ │ │ └── @ SymbolNode (location: (55,2)-(55,4))
- │ │ │ ├── opening_loc: (55,2)-(55,3) = ":"
- │ │ │ ├── value_loc: (55,3)-(55,4) = "b"
- │ │ │ ├── closing_loc: ∅
- │ │ │ └── unescaped: "b"
- │ │ └── flags: ∅
+ │ │ ├── flags: ∅
+ │ │ └── arguments: (length: 2)
+ │ │ ├── @ SymbolNode (location: (53,4)-(53,6))
+ │ │ │ ├── opening_loc: (53,4)-(53,5) = ":"
+ │ │ │ ├── value_loc: (53,5)-(53,6) = "a"
+ │ │ │ ├── closing_loc: ∅
+ │ │ │ └── unescaped: "a"
+ │ │ └── @ SymbolNode (location: (55,2)-(55,4))
+ │ │ ├── opening_loc: (55,2)-(55,3) = ":"
+ │ │ ├── value_loc: (55,3)-(55,4) = "b"
+ │ │ ├── closing_loc: ∅
+ │ │ └── unescaped: "b"
│ ├── closing_loc: (56,0)-(56,1) = ")"
- │ ├── block: ∅
- │ └── flags: ∅
+ │ └── block: ∅
├── @ CallNode (location: (58,0)-(58,10))
+ │ ├── flags: ∅
│ ├── receiver: ∅
│ ├── call_operator_loc: ∅
│ ├── name: :foo
@@ -749,25 +750,25 @@
│ ├── opening_loc: (58,3)-(58,4) = "("
│ ├── arguments:
│ │ @ ArgumentsNode (location: (58,4)-(58,9))
- │ │ ├── arguments: (length: 1)
- │ │ │ └── @ SplatNode (location: (58,4)-(58,9))
- │ │ │ ├── operator_loc: (58,4)-(58,5) = "*"
- │ │ │ └── expression:
- │ │ │ @ CallNode (location: (58,5)-(58,9))
- │ │ │ ├── receiver: ∅
- │ │ │ ├── call_operator_loc: ∅
- │ │ │ ├── name: :rest
- │ │ │ ├── message_loc: (58,5)-(58,9) = "rest"
- │ │ │ ├── opening_loc: ∅
- │ │ │ ├── arguments: ∅
- │ │ │ ├── closing_loc: ∅
- │ │ │ ├── block: ∅
- │ │ │ └── flags: variable_call
- │ │ └── flags: ∅
+ │ │ ├── flags: ∅
+ │ │ └── arguments: (length: 1)
+ │ │ └── @ SplatNode (location: (58,4)-(58,9))
+ │ │ ├── operator_loc: (58,4)-(58,5) = "*"
+ │ │ └── expression:
+ │ │ @ CallNode (location: (58,5)-(58,9))
+ │ │ ├── flags: variable_call
+ │ │ ├── receiver: ∅
+ │ │ ├── call_operator_loc: ∅
+ │ │ ├── name: :rest
+ │ │ ├── message_loc: (58,5)-(58,9) = "rest"
+ │ │ ├── opening_loc: ∅
+ │ │ ├── arguments: ∅
+ │ │ ├── closing_loc: ∅
+ │ │ └── block: ∅
│ ├── closing_loc: (58,9)-(58,10) = ")"
- │ ├── block: ∅
- │ └── flags: ∅
+ │ └── block: ∅
├── @ CallNode (location: (60,0)-(60,39))
+ │ ├── flags: ∅
│ ├── receiver: ∅
│ ├── call_operator_loc: ∅
│ ├── name: :foo
@@ -775,65 +776,65 @@
│ ├── opening_loc: (60,3)-(60,4) = "("
│ ├── arguments:
│ │ @ ArgumentsNode (location: (60,4)-(60,32))
- │ │ ├── arguments: (length: 2)
- │ │ │ ├── @ SymbolNode (location: (60,4)-(60,6))
- │ │ │ │ ├── opening_loc: (60,4)-(60,5) = ":"
- │ │ │ │ ├── value_loc: (60,5)-(60,6) = "a"
- │ │ │ │ ├── closing_loc: ∅
- │ │ │ │ └── unescaped: "a"
- │ │ │ └── @ KeywordHashNode (location: (60,8)-(60,32))
- │ │ │ └── elements: (length: 2)
- │ │ │ ├── @ AssocNode (location: (60,8)-(60,22))
- │ │ │ │ ├── key:
- │ │ │ │ │ @ SymbolNode (location: (60,8)-(60,10))
- │ │ │ │ │ ├── opening_loc: (60,8)-(60,9) = ":"
- │ │ │ │ │ ├── value_loc: (60,9)-(60,10) = "h"
- │ │ │ │ │ ├── closing_loc: ∅
- │ │ │ │ │ └── unescaped: "h"
- │ │ │ │ ├── value:
- │ │ │ │ │ @ ArrayNode (location: (60,14)-(60,22))
- │ │ │ │ │ ├── elements: (length: 2)
- │ │ │ │ │ │ ├── @ SymbolNode (location: (60,15)-(60,17))
- │ │ │ │ │ │ │ ├── opening_loc: (60,15)-(60,16) = ":"
- │ │ │ │ │ │ │ ├── value_loc: (60,16)-(60,17) = "x"
- │ │ │ │ │ │ │ ├── closing_loc: ∅
- │ │ │ │ │ │ │ └── unescaped: "x"
- │ │ │ │ │ │ └── @ SymbolNode (location: (60,19)-(60,21))
- │ │ │ │ │ │ ├── opening_loc: (60,19)-(60,20) = ":"
- │ │ │ │ │ │ ├── value_loc: (60,20)-(60,21) = "y"
- │ │ │ │ │ │ ├── closing_loc: ∅
- │ │ │ │ │ │ └── unescaped: "y"
- │ │ │ │ │ ├── opening_loc: (60,14)-(60,15) = "["
- │ │ │ │ │ ├── closing_loc: (60,21)-(60,22) = "]"
- │ │ │ │ │ └── flags: ∅
- │ │ │ │ └── operator_loc: (60,11)-(60,13) = "=>"
- │ │ │ └── @ AssocNode (location: (60,24)-(60,32))
- │ │ │ ├── key:
- │ │ │ │ @ SymbolNode (location: (60,24)-(60,26))
- │ │ │ │ ├── opening_loc: (60,24)-(60,25) = ":"
- │ │ │ │ ├── value_loc: (60,25)-(60,26) = "a"
- │ │ │ │ ├── closing_loc: ∅
- │ │ │ │ └── unescaped: "a"
- │ │ │ ├── value:
- │ │ │ │ @ SymbolNode (location: (60,30)-(60,32))
- │ │ │ │ ├── opening_loc: (60,30)-(60,31) = ":"
- │ │ │ │ ├── value_loc: (60,31)-(60,32) = "b"
- │ │ │ │ ├── closing_loc: ∅
- │ │ │ │ └── unescaped: "b"
- │ │ │ └── operator_loc: (60,27)-(60,29) = "=>"
- │ │ └── flags: ∅
+ │ │ ├── flags: ∅
+ │ │ └── arguments: (length: 2)
+ │ │ ├── @ SymbolNode (location: (60,4)-(60,6))
+ │ │ │ ├── opening_loc: (60,4)-(60,5) = ":"
+ │ │ │ ├── value_loc: (60,5)-(60,6) = "a"
+ │ │ │ ├── closing_loc: ∅
+ │ │ │ └── unescaped: "a"
+ │ │ └── @ KeywordHashNode (location: (60,8)-(60,32))
+ │ │ └── elements: (length: 2)
+ │ │ ├── @ AssocNode (location: (60,8)-(60,22))
+ │ │ │ ├── key:
+ │ │ │ │ @ SymbolNode (location: (60,8)-(60,10))
+ │ │ │ │ ├── opening_loc: (60,8)-(60,9) = ":"
+ │ │ │ │ ├── value_loc: (60,9)-(60,10) = "h"
+ │ │ │ │ ├── closing_loc: ∅
+ │ │ │ │ └── unescaped: "h"
+ │ │ │ ├── value:
+ │ │ │ │ @ ArrayNode (location: (60,14)-(60,22))
+ │ │ │ │ ├── flags: ∅
+ │ │ │ │ ├── elements: (length: 2)
+ │ │ │ │ │ ├── @ SymbolNode (location: (60,15)-(60,17))
+ │ │ │ │ │ │ ├── opening_loc: (60,15)-(60,16) = ":"
+ │ │ │ │ │ │ ├── value_loc: (60,16)-(60,17) = "x"
+ │ │ │ │ │ │ ├── closing_loc: ∅
+ │ │ │ │ │ │ └── unescaped: "x"
+ │ │ │ │ │ └── @ SymbolNode (location: (60,19)-(60,21))
+ │ │ │ │ │ ├── opening_loc: (60,19)-(60,20) = ":"
+ │ │ │ │ │ ├── value_loc: (60,20)-(60,21) = "y"
+ │ │ │ │ │ ├── closing_loc: ∅
+ │ │ │ │ │ └── unescaped: "y"
+ │ │ │ │ ├── opening_loc: (60,14)-(60,15) = "["
+ │ │ │ │ └── closing_loc: (60,21)-(60,22) = "]"
+ │ │ │ └── operator_loc: (60,11)-(60,13) = "=>"
+ │ │ └── @ AssocNode (location: (60,24)-(60,32))
+ │ │ ├── key:
+ │ │ │ @ SymbolNode (location: (60,24)-(60,26))
+ │ │ │ ├── opening_loc: (60,24)-(60,25) = ":"
+ │ │ │ ├── value_loc: (60,25)-(60,26) = "a"
+ │ │ │ ├── closing_loc: ∅
+ │ │ │ └── unescaped: "a"
+ │ │ ├── value:
+ │ │ │ @ SymbolNode (location: (60,30)-(60,32))
+ │ │ │ ├── opening_loc: (60,30)-(60,31) = ":"
+ │ │ │ ├── value_loc: (60,31)-(60,32) = "b"
+ │ │ │ ├── closing_loc: ∅
+ │ │ │ └── unescaped: "b"
+ │ │ └── operator_loc: (60,27)-(60,29) = "=>"
│ ├── closing_loc: (60,39)-(60,40) = ")"
- │ ├── block:
- │ │ @ BlockArgumentNode (location: (60,34)-(60,39))
- │ │ ├── expression:
- │ │ │ @ SymbolNode (location: (60,35)-(60,39))
- │ │ │ ├── opening_loc: (60,35)-(60,36) = ":"
- │ │ │ ├── value_loc: (60,36)-(60,39) = "bar"
- │ │ │ ├── closing_loc: ∅
- │ │ │ └── unescaped: "bar"
- │ │ └── operator_loc: (60,34)-(60,35) = "&"
- │ └── flags: ∅
+ │ └── block:
+ │ @ BlockArgumentNode (location: (60,34)-(60,39))
+ │ ├── expression:
+ │ │ @ SymbolNode (location: (60,35)-(60,39))
+ │ │ ├── opening_loc: (60,35)-(60,36) = ":"
+ │ │ ├── value_loc: (60,36)-(60,39) = "bar"
+ │ │ ├── closing_loc: ∅
+ │ │ └── unescaped: "bar"
+ │ └── operator_loc: (60,34)-(60,35) = "&"
├── @ CallNode (location: (62,0)-(62,49))
+ │ ├── flags: ∅
│ ├── receiver: ∅
│ ├── call_operator_loc: ∅
│ ├── name: :hi
@@ -841,53 +842,53 @@
│ ├── opening_loc: ∅
│ ├── arguments:
│ │ @ ArgumentsNode (location: (62,3)-(62,49))
- │ │ ├── arguments: (length: 2)
- │ │ │ ├── @ IntegerNode (location: (62,3)-(62,6))
- │ │ │ │ └── flags: decimal
- │ │ │ └── @ HashNode (location: (62,8)-(62,49))
- │ │ │ ├── opening_loc: (62,8)-(62,9) = "{"
- │ │ │ ├── elements: (length: 3)
- │ │ │ │ ├── @ AssocNode (location: (62,10)-(62,27))
- │ │ │ │ │ ├── key:
- │ │ │ │ │ │ @ SymbolNode (location: (62,10)-(62,16))
- │ │ │ │ │ │ ├── opening_loc: (62,10)-(62,11) = ":"
- │ │ │ │ │ │ ├── value_loc: (62,11)-(62,16) = "there"
- │ │ │ │ │ │ ├── closing_loc: ∅
- │ │ │ │ │ │ └── unescaped: "there"
- │ │ │ │ │ ├── value:
- │ │ │ │ │ │ @ SymbolNode (location: (62,20)-(62,27))
- │ │ │ │ │ │ ├── opening_loc: (62,20)-(62,21) = ":"
- │ │ │ │ │ │ ├── value_loc: (62,21)-(62,27) = "friend"
- │ │ │ │ │ │ ├── closing_loc: ∅
- │ │ │ │ │ │ └── unescaped: "friend"
- │ │ │ │ │ └── operator_loc: (62,17)-(62,19) = "=>"
- │ │ │ │ ├── @ AssocSplatNode (location: (62,29)-(62,33))
- │ │ │ │ │ ├── value:
- │ │ │ │ │ │ @ HashNode (location: (62,31)-(62,33))
- │ │ │ │ │ │ ├── opening_loc: (62,31)-(62,32) = "{"
- │ │ │ │ │ │ ├── elements: (length: 0)
- │ │ │ │ │ │ └── closing_loc: (62,32)-(62,33) = "}"
- │ │ │ │ │ └── operator_loc: (62,29)-(62,31) = "**"
- │ │ │ │ └── @ AssocNode (location: (62,35)-(62,47))
- │ │ │ │ ├── key:
- │ │ │ │ │ @ SymbolNode (location: (62,35)-(62,42))
- │ │ │ │ │ ├── opening_loc: ∅
- │ │ │ │ │ ├── value_loc: (62,35)-(62,41) = "whatup"
- │ │ │ │ │ ├── closing_loc: (62,41)-(62,42) = ":"
- │ │ │ │ │ └── unescaped: "whatup"
- │ │ │ │ ├── value:
- │ │ │ │ │ @ SymbolNode (location: (62,43)-(62,47))
- │ │ │ │ │ ├── opening_loc: (62,43)-(62,44) = ":"
- │ │ │ │ │ ├── value_loc: (62,44)-(62,47) = "dog"
- │ │ │ │ │ ├── closing_loc: ∅
- │ │ │ │ │ └── unescaped: "dog"
- │ │ │ │ └── operator_loc: ∅
- │ │ │ └── closing_loc: (62,48)-(62,49) = "}"
- │ │ └── flags: ∅
+ │ │ ├── flags: ∅
+ │ │ └── arguments: (length: 2)
+ │ │ ├── @ IntegerNode (location: (62,3)-(62,6))
+ │ │ │ └── flags: decimal
+ │ │ └── @ HashNode (location: (62,8)-(62,49))
+ │ │ ├── opening_loc: (62,8)-(62,9) = "{"
+ │ │ ├── elements: (length: 3)
+ │ │ │ ├── @ AssocNode (location: (62,10)-(62,27))
+ │ │ │ │ ├── key:
+ │ │ │ │ │ @ SymbolNode (location: (62,10)-(62,16))
+ │ │ │ │ │ ├── opening_loc: (62,10)-(62,11) = ":"
+ │ │ │ │ │ ├── value_loc: (62,11)-(62,16) = "there"
+ │ │ │ │ │ ├── closing_loc: ∅
+ │ │ │ │ │ └── unescaped: "there"
+ │ │ │ │ ├── value:
+ │ │ │ │ │ @ SymbolNode (location: (62,20)-(62,27))
+ │ │ │ │ │ ├── opening_loc: (62,20)-(62,21) = ":"
+ │ │ │ │ │ ├── value_loc: (62,21)-(62,27) = "friend"
+ │ │ │ │ │ ├── closing_loc: ∅
+ │ │ │ │ │ └── unescaped: "friend"
+ │ │ │ │ └── operator_loc: (62,17)-(62,19) = "=>"
+ │ │ │ ├── @ AssocSplatNode (location: (62,29)-(62,33))
+ │ │ │ │ ├── value:
+ │ │ │ │ │ @ HashNode (location: (62,31)-(62,33))
+ │ │ │ │ │ ├── opening_loc: (62,31)-(62,32) = "{"
+ │ │ │ │ │ ├── elements: (length: 0)
+ │ │ │ │ │ └── closing_loc: (62,32)-(62,33) = "}"
+ │ │ │ │ └── operator_loc: (62,29)-(62,31) = "**"
+ │ │ │ └── @ AssocNode (location: (62,35)-(62,47))
+ │ │ │ ├── key:
+ │ │ │ │ @ SymbolNode (location: (62,35)-(62,42))
+ │ │ │ │ ├── opening_loc: ∅
+ │ │ │ │ ├── value_loc: (62,35)-(62,41) = "whatup"
+ │ │ │ │ ├── closing_loc: (62,41)-(62,42) = ":"
+ │ │ │ │ └── unescaped: "whatup"
+ │ │ │ ├── value:
+ │ │ │ │ @ SymbolNode (location: (62,43)-(62,47))
+ │ │ │ │ ├── opening_loc: (62,43)-(62,44) = ":"
+ │ │ │ │ ├── value_loc: (62,44)-(62,47) = "dog"
+ │ │ │ │ ├── closing_loc: ∅
+ │ │ │ │ └── unescaped: "dog"
+ │ │ │ └── operator_loc: ∅
+ │ │ └── closing_loc: (62,48)-(62,49) = "}"
│ ├── closing_loc: ∅
- │ ├── block: ∅
- │ └── flags: ∅
+ │ └── block: ∅
├── @ CallNode (location: (64,0)-(64,36))
+ │ ├── flags: ∅
│ ├── receiver: ∅
│ ├── call_operator_loc: ∅
│ ├── name: :foo
@@ -895,71 +896,71 @@
│ ├── opening_loc: ∅
│ ├── arguments:
│ │ @ ArgumentsNode (location: (64,4)-(64,15))
- │ │ ├── arguments: (length: 2)
- │ │ │ ├── @ SymbolNode (location: (64,4)-(64,6))
- │ │ │ │ ├── opening_loc: (64,4)-(64,5) = ":"
- │ │ │ │ ├── value_loc: (64,5)-(64,6) = "a"
- │ │ │ │ ├── closing_loc: ∅
- │ │ │ │ └── unescaped: "a"
- │ │ │ └── @ KeywordHashNode (location: (64,8)-(64,15))
- │ │ │ └── elements: (length: 1)
- │ │ │ └── @ AssocNode (location: (64,8)-(64,15))
- │ │ │ ├── key:
- │ │ │ │ @ SymbolNode (location: (64,8)-(64,10))
- │ │ │ │ ├── opening_loc: ∅
- │ │ │ │ ├── value_loc: (64,8)-(64,9) = "b"
- │ │ │ │ ├── closing_loc: (64,9)-(64,10) = ":"
- │ │ │ │ └── unescaped: "b"
- │ │ │ ├── value:
- │ │ │ │ @ TrueNode (location: (64,11)-(64,15))
- │ │ │ └── operator_loc: ∅
- │ │ └── flags: ∅
+ │ │ ├── flags: ∅
+ │ │ └── arguments: (length: 2)
+ │ │ ├── @ SymbolNode (location: (64,4)-(64,6))
+ │ │ │ ├── opening_loc: (64,4)-(64,5) = ":"
+ │ │ │ ├── value_loc: (64,5)-(64,6) = "a"
+ │ │ │ ├── closing_loc: ∅
+ │ │ │ └── unescaped: "a"
+ │ │ └── @ KeywordHashNode (location: (64,8)-(64,15))
+ │ │ └── elements: (length: 1)
+ │ │ └── @ AssocNode (location: (64,8)-(64,15))
+ │ │ ├── key:
+ │ │ │ @ SymbolNode (location: (64,8)-(64,10))
+ │ │ │ ├── opening_loc: ∅
+ │ │ │ ├── value_loc: (64,8)-(64,9) = "b"
+ │ │ │ ├── closing_loc: (64,9)-(64,10) = ":"
+ │ │ │ └── unescaped: "b"
+ │ │ ├── value:
+ │ │ │ @ TrueNode (location: (64,11)-(64,15))
+ │ │ └── operator_loc: ∅
│ ├── closing_loc: ∅
- │ ├── block:
- │ │ @ BlockNode (location: (64,16)-(64,36))
- │ │ ├── locals: [:a, :b]
- │ │ ├── locals_body_index: 2
- │ │ ├── parameters:
- │ │ │ @ BlockParametersNode (location: (64,19)-(64,25))
- │ │ │ ├── parameters:
- │ │ │ │ @ ParametersNode (location: (64,20)-(64,24))
- │ │ │ │ ├── requireds: (length: 2)
- │ │ │ │ │ ├── @ RequiredParameterNode (location: (64,20)-(64,21))
- │ │ │ │ │ │ └── name: :a
- │ │ │ │ │ └── @ RequiredParameterNode (location: (64,23)-(64,24))
- │ │ │ │ │ └── name: :b
- │ │ │ │ ├── optionals: (length: 0)
- │ │ │ │ ├── rest: ∅
- │ │ │ │ ├── posts: (length: 0)
- │ │ │ │ ├── keywords: (length: 0)
- │ │ │ │ ├── keyword_rest: ∅
- │ │ │ │ └── block: ∅
- │ │ │ ├── locals: (length: 0)
- │ │ │ ├── opening_loc: (64,19)-(64,20) = "|"
- │ │ │ └── closing_loc: (64,24)-(64,25) = "|"
- │ │ ├── body:
- │ │ │ @ StatementsNode (location: (64,26)-(64,32))
- │ │ │ └── body: (length: 1)
- │ │ │ └── @ CallNode (location: (64,26)-(64,32))
- │ │ │ ├── receiver: ∅
- │ │ │ ├── call_operator_loc: ∅
- │ │ │ ├── name: :puts
- │ │ │ ├── message_loc: (64,26)-(64,30) = "puts"
- │ │ │ ├── opening_loc: ∅
- │ │ │ ├── arguments:
- │ │ │ │ @ ArgumentsNode (location: (64,31)-(64,32))
- │ │ │ │ ├── arguments: (length: 1)
- │ │ │ │ │ └── @ LocalVariableReadNode (location: (64,31)-(64,32))
- │ │ │ │ │ ├── name: :a
- │ │ │ │ │ └── depth: 0
- │ │ │ │ └── flags: ∅
- │ │ │ ├── closing_loc: ∅
- │ │ │ ├── block: ∅
- │ │ │ └── flags: ∅
- │ │ ├── opening_loc: (64,16)-(64,18) = "do"
- │ │ └── closing_loc: (64,33)-(64,36) = "end"
- │ └── flags: ∅
+ │ └── block:
+ │ @ BlockNode (location: (64,16)-(64,36))
+ │ ├── locals: [:a, :b]
+ │ ├── locals_body_index: 2
+ │ ├── parameters:
+ │ │ @ BlockParametersNode (location: (64,19)-(64,25))
+ │ │ ├── parameters:
+ │ │ │ @ ParametersNode (location: (64,20)-(64,24))
+ │ │ │ ├── requireds: (length: 2)
+ │ │ │ │ ├── @ RequiredParameterNode (location: (64,20)-(64,21))
+ │ │ │ │ │ └── name: :a
+ │ │ │ │ └── @ RequiredParameterNode (location: (64,23)-(64,24))
+ │ │ │ │ └── name: :b
+ │ │ │ ├── optionals: (length: 0)
+ │ │ │ ├── rest: ∅
+ │ │ │ ├── posts: (length: 0)
+ │ │ │ ├── keywords: (length: 0)
+ │ │ │ ├── keyword_rest: ∅
+ │ │ │ └── block: ∅
+ │ │ ├── locals: (length: 0)
+ │ │ ├── opening_loc: (64,19)-(64,20) = "|"
+ │ │ └── closing_loc: (64,24)-(64,25) = "|"
+ │ ├── body:
+ │ │ @ StatementsNode (location: (64,26)-(64,32))
+ │ │ └── body: (length: 1)
+ │ │ └── @ CallNode (location: (64,26)-(64,32))
+ │ │ ├── flags: ∅
+ │ │ ├── receiver: ∅
+ │ │ ├── call_operator_loc: ∅
+ │ │ ├── name: :puts
+ │ │ ├── message_loc: (64,26)-(64,30) = "puts"
+ │ │ ├── opening_loc: ∅
+ │ │ ├── arguments:
+ │ │ │ @ ArgumentsNode (location: (64,31)-(64,32))
+ │ │ │ ├── flags: ∅
+ │ │ │ └── arguments: (length: 1)
+ │ │ │ └── @ LocalVariableReadNode (location: (64,31)-(64,32))
+ │ │ │ ├── name: :a
+ │ │ │ └── depth: 0
+ │ │ ├── closing_loc: ∅
+ │ │ └── block: ∅
+ │ ├── opening_loc: (64,16)-(64,18) = "do"
+ │ └── closing_loc: (64,33)-(64,36) = "end"
├── @ CallNode (location: (66,0)-(66,17))
+ │ ├── flags: ∅
│ ├── receiver: ∅
│ ├── call_operator_loc: ∅
│ ├── name: :hi
@@ -967,28 +968,28 @@
│ ├── opening_loc: ∅
│ ├── arguments:
│ │ @ ArgumentsNode (location: (66,3)-(66,17))
- │ │ ├── arguments: (length: 1)
- │ │ │ └── @ KeywordHashNode (location: (66,3)-(66,17))
- │ │ │ └── elements: (length: 1)
- │ │ │ └── @ AssocNode (location: (66,3)-(66,17))
- │ │ │ ├── key:
- │ │ │ │ @ SymbolNode (location: (66,3)-(66,9))
- │ │ │ │ ├── opening_loc: ∅
- │ │ │ │ ├── value_loc: (66,3)-(66,8) = "there"
- │ │ │ │ ├── closing_loc: (66,8)-(66,9) = ":"
- │ │ │ │ └── unescaped: "there"
- │ │ │ ├── value:
- │ │ │ │ @ SymbolNode (location: (66,10)-(66,17))
- │ │ │ │ ├── opening_loc: (66,10)-(66,11) = ":"
- │ │ │ │ ├── value_loc: (66,11)-(66,17) = "friend"
- │ │ │ │ ├── closing_loc: ∅
- │ │ │ │ └── unescaped: "friend"
- │ │ │ └── operator_loc: ∅
- │ │ └── flags: ∅
+ │ │ ├── flags: ∅
+ │ │ └── arguments: (length: 1)
+ │ │ └── @ KeywordHashNode (location: (66,3)-(66,17))
+ │ │ └── elements: (length: 1)
+ │ │ └── @ AssocNode (location: (66,3)-(66,17))
+ │ │ ├── key:
+ │ │ │ @ SymbolNode (location: (66,3)-(66,9))
+ │ │ │ ├── opening_loc: ∅
+ │ │ │ ├── value_loc: (66,3)-(66,8) = "there"
+ │ │ │ ├── closing_loc: (66,8)-(66,9) = ":"
+ │ │ │ └── unescaped: "there"
+ │ │ ├── value:
+ │ │ │ @ SymbolNode (location: (66,10)-(66,17))
+ │ │ │ ├── opening_loc: (66,10)-(66,11) = ":"
+ │ │ │ ├── value_loc: (66,11)-(66,17) = "friend"
+ │ │ │ ├── closing_loc: ∅
+ │ │ │ └── unescaped: "friend"
+ │ │ └── operator_loc: ∅
│ ├── closing_loc: ∅
- │ ├── block: ∅
- │ └── flags: ∅
+ │ └── block: ∅
├── @ CallNode (location: (68,0)-(68,40))
+ │ ├── flags: ∅
│ ├── receiver: ∅
│ ├── call_operator_loc: ∅
│ ├── name: :hi
@@ -996,49 +997,49 @@
│ ├── opening_loc: ∅
│ ├── arguments:
│ │ @ ArgumentsNode (location: (68,3)-(68,40))
- │ │ ├── arguments: (length: 1)
- │ │ │ └── @ KeywordHashNode (location: (68,3)-(68,40))
- │ │ │ └── elements: (length: 3)
- │ │ │ ├── @ AssocNode (location: (68,3)-(68,20))
- │ │ │ │ ├── key:
- │ │ │ │ │ @ SymbolNode (location: (68,3)-(68,9))
- │ │ │ │ │ ├── opening_loc: (68,3)-(68,4) = ":"
- │ │ │ │ │ ├── value_loc: (68,4)-(68,9) = "there"
- │ │ │ │ │ ├── closing_loc: ∅
- │ │ │ │ │ └── unescaped: "there"
- │ │ │ │ ├── value:
- │ │ │ │ │ @ SymbolNode (location: (68,13)-(68,20))
- │ │ │ │ │ ├── opening_loc: (68,13)-(68,14) = ":"
- │ │ │ │ │ ├── value_loc: (68,14)-(68,20) = "friend"
- │ │ │ │ │ ├── closing_loc: ∅
- │ │ │ │ │ └── unescaped: "friend"
- │ │ │ │ └── operator_loc: (68,10)-(68,12) = "=>"
- │ │ │ ├── @ AssocSplatNode (location: (68,22)-(68,26))
- │ │ │ │ ├── value:
- │ │ │ │ │ @ HashNode (location: (68,24)-(68,26))
- │ │ │ │ │ ├── opening_loc: (68,24)-(68,25) = "{"
- │ │ │ │ │ ├── elements: (length: 0)
- │ │ │ │ │ └── closing_loc: (68,25)-(68,26) = "}"
- │ │ │ │ └── operator_loc: (68,22)-(68,24) = "**"
- │ │ │ └── @ AssocNode (location: (68,28)-(68,40))
- │ │ │ ├── key:
- │ │ │ │ @ SymbolNode (location: (68,28)-(68,35))
- │ │ │ │ ├── opening_loc: ∅
- │ │ │ │ ├── value_loc: (68,28)-(68,34) = "whatup"
- │ │ │ │ ├── closing_loc: (68,34)-(68,35) = ":"
- │ │ │ │ └── unescaped: "whatup"
- │ │ │ ├── value:
- │ │ │ │ @ SymbolNode (location: (68,36)-(68,40))
- │ │ │ │ ├── opening_loc: (68,36)-(68,37) = ":"
- │ │ │ │ ├── value_loc: (68,37)-(68,40) = "dog"
- │ │ │ │ ├── closing_loc: ∅
- │ │ │ │ └── unescaped: "dog"
- │ │ │ └── operator_loc: ∅
- │ │ └── flags: contains_keyword_splat
+ │ │ ├── flags: contains_keyword_splat
+ │ │ └── arguments: (length: 1)
+ │ │ └── @ KeywordHashNode (location: (68,3)-(68,40))
+ │ │ └── elements: (length: 3)
+ │ │ ├── @ AssocNode (location: (68,3)-(68,20))
+ │ │ │ ├── key:
+ │ │ │ │ @ SymbolNode (location: (68,3)-(68,9))
+ │ │ │ │ ├── opening_loc: (68,3)-(68,4) = ":"
+ │ │ │ │ ├── value_loc: (68,4)-(68,9) = "there"
+ │ │ │ │ ├── closing_loc: ∅
+ │ │ │ │ └── unescaped: "there"
+ │ │ │ ├── value:
+ │ │ │ │ @ SymbolNode (location: (68,13)-(68,20))
+ │ │ │ │ ├── opening_loc: (68,13)-(68,14) = ":"
+ │ │ │ │ ├── value_loc: (68,14)-(68,20) = "friend"
+ │ │ │ │ ├── closing_loc: ∅
+ │ │ │ │ └── unescaped: "friend"
+ │ │ │ └── operator_loc: (68,10)-(68,12) = "=>"
+ │ │ ├── @ AssocSplatNode (location: (68,22)-(68,26))
+ │ │ │ ├── value:
+ │ │ │ │ @ HashNode (location: (68,24)-(68,26))
+ │ │ │ │ ├── opening_loc: (68,24)-(68,25) = "{"
+ │ │ │ │ ├── elements: (length: 0)
+ │ │ │ │ └── closing_loc: (68,25)-(68,26) = "}"
+ │ │ │ └── operator_loc: (68,22)-(68,24) = "**"
+ │ │ └── @ AssocNode (location: (68,28)-(68,40))
+ │ │ ├── key:
+ │ │ │ @ SymbolNode (location: (68,28)-(68,35))
+ │ │ │ ├── opening_loc: ∅
+ │ │ │ ├── value_loc: (68,28)-(68,34) = "whatup"
+ │ │ │ ├── closing_loc: (68,34)-(68,35) = ":"
+ │ │ │ └── unescaped: "whatup"
+ │ │ ├── value:
+ │ │ │ @ SymbolNode (location: (68,36)-(68,40))
+ │ │ │ ├── opening_loc: (68,36)-(68,37) = ":"
+ │ │ │ ├── value_loc: (68,37)-(68,40) = "dog"
+ │ │ │ ├── closing_loc: ∅
+ │ │ │ └── unescaped: "dog"
+ │ │ └── operator_loc: ∅
│ ├── closing_loc: ∅
- │ ├── block: ∅
- │ └── flags: ∅
+ │ └── block: ∅
├── @ CallNode (location: (70,0)-(70,41))
+ │ ├── flags: ∅
│ ├── receiver: ∅
│ ├── call_operator_loc: ∅
│ ├── name: :hi
@@ -1046,49 +1047,49 @@
│ ├── opening_loc: (70,2)-(70,3) = "("
│ ├── arguments:
│ │ @ ArgumentsNode (location: (70,3)-(70,40))
- │ │ ├── arguments: (length: 1)
- │ │ │ └── @ KeywordHashNode (location: (70,3)-(70,40))
- │ │ │ └── elements: (length: 3)
- │ │ │ ├── @ AssocNode (location: (70,3)-(70,20))
- │ │ │ │ ├── key:
- │ │ │ │ │ @ SymbolNode (location: (70,3)-(70,9))
- │ │ │ │ │ ├── opening_loc: (70,3)-(70,4) = ":"
- │ │ │ │ │ ├── value_loc: (70,4)-(70,9) = "there"
- │ │ │ │ │ ├── closing_loc: ∅
- │ │ │ │ │ └── unescaped: "there"
- │ │ │ │ ├── value:
- │ │ │ │ │ @ SymbolNode (location: (70,13)-(70,20))
- │ │ │ │ │ ├── opening_loc: (70,13)-(70,14) = ":"
- │ │ │ │ │ ├── value_loc: (70,14)-(70,20) = "friend"
- │ │ │ │ │ ├── closing_loc: ∅
- │ │ │ │ │ └── unescaped: "friend"
- │ │ │ │ └── operator_loc: (70,10)-(70,12) = "=>"
- │ │ │ ├── @ AssocSplatNode (location: (70,22)-(70,26))
- │ │ │ │ ├── value:
- │ │ │ │ │ @ HashNode (location: (70,24)-(70,26))
- │ │ │ │ │ ├── opening_loc: (70,24)-(70,25) = "{"
- │ │ │ │ │ ├── elements: (length: 0)
- │ │ │ │ │ └── closing_loc: (70,25)-(70,26) = "}"
- │ │ │ │ └── operator_loc: (70,22)-(70,24) = "**"
- │ │ │ └── @ AssocNode (location: (70,28)-(70,40))
- │ │ │ ├── key:
- │ │ │ │ @ SymbolNode (location: (70,28)-(70,35))
- │ │ │ │ ├── opening_loc: ∅
- │ │ │ │ ├── value_loc: (70,28)-(70,34) = "whatup"
- │ │ │ │ ├── closing_loc: (70,34)-(70,35) = ":"
- │ │ │ │ └── unescaped: "whatup"
- │ │ │ ├── value:
- │ │ │ │ @ SymbolNode (location: (70,36)-(70,40))
- │ │ │ │ ├── opening_loc: (70,36)-(70,37) = ":"
- │ │ │ │ ├── value_loc: (70,37)-(70,40) = "dog"
- │ │ │ │ ├── closing_loc: ∅
- │ │ │ │ └── unescaped: "dog"
- │ │ │ └── operator_loc: ∅
- │ │ └── flags: contains_keyword_splat
+ │ │ ├── flags: contains_keyword_splat
+ │ │ └── arguments: (length: 1)
+ │ │ └── @ KeywordHashNode (location: (70,3)-(70,40))
+ │ │ └── elements: (length: 3)
+ │ │ ├── @ AssocNode (location: (70,3)-(70,20))
+ │ │ │ ├── key:
+ │ │ │ │ @ SymbolNode (location: (70,3)-(70,9))
+ │ │ │ │ ├── opening_loc: (70,3)-(70,4) = ":"
+ │ │ │ │ ├── value_loc: (70,4)-(70,9) = "there"
+ │ │ │ │ ├── closing_loc: ∅
+ │ │ │ │ └── unescaped: "there"
+ │ │ │ ├── value:
+ │ │ │ │ @ SymbolNode (location: (70,13)-(70,20))
+ │ │ │ │ ├── opening_loc: (70,13)-(70,14) = ":"
+ │ │ │ │ ├── value_loc: (70,14)-(70,20) = "friend"
+ │ │ │ │ ├── closing_loc: ∅
+ │ │ │ │ └── unescaped: "friend"
+ │ │ │ └── operator_loc: (70,10)-(70,12) = "=>"
+ │ │ ├── @ AssocSplatNode (location: (70,22)-(70,26))
+ │ │ │ ├── value:
+ │ │ │ │ @ HashNode (location: (70,24)-(70,26))
+ │ │ │ │ ├── opening_loc: (70,24)-(70,25) = "{"
+ │ │ │ │ ├── elements: (length: 0)
+ │ │ │ │ └── closing_loc: (70,25)-(70,26) = "}"
+ │ │ │ └── operator_loc: (70,22)-(70,24) = "**"
+ │ │ └── @ AssocNode (location: (70,28)-(70,40))
+ │ │ ├── key:
+ │ │ │ @ SymbolNode (location: (70,28)-(70,35))
+ │ │ │ ├── opening_loc: ∅
+ │ │ │ ├── value_loc: (70,28)-(70,34) = "whatup"
+ │ │ │ ├── closing_loc: (70,34)-(70,35) = ":"
+ │ │ │ └── unescaped: "whatup"
+ │ │ ├── value:
+ │ │ │ @ SymbolNode (location: (70,36)-(70,40))
+ │ │ │ ├── opening_loc: (70,36)-(70,37) = ":"
+ │ │ │ ├── value_loc: (70,37)-(70,40) = "dog"
+ │ │ │ ├── closing_loc: ∅
+ │ │ │ └── unescaped: "dog"
+ │ │ └── operator_loc: ∅
│ ├── closing_loc: (70,40)-(70,41) = ")"
- │ ├── block: ∅
- │ └── flags: ∅
+ │ └── block: ∅
├── @ CallNode (location: (72,0)-(72,35))
+ │ ├── flags: ∅
│ ├── receiver: ∅
│ ├── call_operator_loc: ∅
│ ├── name: :foo
@@ -1096,44 +1097,44 @@
│ ├── opening_loc: (72,3)-(72,4) = "("
│ ├── arguments:
│ │ @ ArgumentsNode (location: (72,4)-(72,26))
- │ │ ├── arguments: (length: 1)
- │ │ │ └── @ HashNode (location: (72,4)-(72,26))
- │ │ │ ├── opening_loc: (72,4)-(72,5) = "{"
- │ │ │ ├── elements: (length: 2)
- │ │ │ │ ├── @ AssocNode (location: (72,6)-(72,13))
- │ │ │ │ │ ├── key:
- │ │ │ │ │ │ @ SymbolNode (location: (72,6)-(72,8))
- │ │ │ │ │ │ ├── opening_loc: ∅
- │ │ │ │ │ │ ├── value_loc: (72,6)-(72,7) = "a"
- │ │ │ │ │ │ ├── closing_loc: (72,7)-(72,8) = ":"
- │ │ │ │ │ │ └── unescaped: "a"
- │ │ │ │ │ ├── value:
- │ │ │ │ │ │ @ TrueNode (location: (72,9)-(72,13))
- │ │ │ │ │ └── operator_loc: ∅
- │ │ │ │ └── @ AssocNode (location: (72,15)-(72,23))
- │ │ │ │ ├── key:
- │ │ │ │ │ @ SymbolNode (location: (72,15)-(72,17))
- │ │ │ │ │ ├── opening_loc: ∅
- │ │ │ │ │ ├── value_loc: (72,15)-(72,16) = "b"
- │ │ │ │ │ ├── closing_loc: (72,16)-(72,17) = ":"
- │ │ │ │ │ └── unescaped: "b"
- │ │ │ │ ├── value:
- │ │ │ │ │ @ FalseNode (location: (72,18)-(72,23))
- │ │ │ │ └── operator_loc: ∅
- │ │ │ └── closing_loc: (72,25)-(72,26) = "}"
- │ │ └── flags: ∅
+ │ │ ├── flags: ∅
+ │ │ └── arguments: (length: 1)
+ │ │ └── @ HashNode (location: (72,4)-(72,26))
+ │ │ ├── opening_loc: (72,4)-(72,5) = "{"
+ │ │ ├── elements: (length: 2)
+ │ │ │ ├── @ AssocNode (location: (72,6)-(72,13))
+ │ │ │ │ ├── key:
+ │ │ │ │ │ @ SymbolNode (location: (72,6)-(72,8))
+ │ │ │ │ │ ├── opening_loc: ∅
+ │ │ │ │ │ ├── value_loc: (72,6)-(72,7) = "a"
+ │ │ │ │ │ ├── closing_loc: (72,7)-(72,8) = ":"
+ │ │ │ │ │ └── unescaped: "a"
+ │ │ │ │ ├── value:
+ │ │ │ │ │ @ TrueNode (location: (72,9)-(72,13))
+ │ │ │ │ └── operator_loc: ∅
+ │ │ │ └── @ AssocNode (location: (72,15)-(72,23))
+ │ │ │ ├── key:
+ │ │ │ │ @ SymbolNode (location: (72,15)-(72,17))
+ │ │ │ │ ├── opening_loc: ∅
+ │ │ │ │ ├── value_loc: (72,15)-(72,16) = "b"
+ │ │ │ │ ├── closing_loc: (72,16)-(72,17) = ":"
+ │ │ │ │ └── unescaped: "b"
+ │ │ │ ├── value:
+ │ │ │ │ @ FalseNode (location: (72,18)-(72,23))
+ │ │ │ └── operator_loc: ∅
+ │ │ └── closing_loc: (72,25)-(72,26) = "}"
│ ├── closing_loc: (72,35)-(72,36) = ")"
- │ ├── block:
- │ │ @ BlockArgumentNode (location: (72,28)-(72,35))
- │ │ ├── expression:
- │ │ │ @ SymbolNode (location: (72,29)-(72,35))
- │ │ │ ├── opening_loc: (72,29)-(72,30) = ":"
- │ │ │ ├── value_loc: (72,30)-(72,35) = "block"
- │ │ │ ├── closing_loc: ∅
- │ │ │ └── unescaped: "block"
- │ │ └── operator_loc: (72,28)-(72,29) = "&"
- │ └── flags: ∅
+ │ └── block:
+ │ @ BlockArgumentNode (location: (72,28)-(72,35))
+ │ ├── expression:
+ │ │ @ SymbolNode (location: (72,29)-(72,35))
+ │ │ ├── opening_loc: (72,29)-(72,30) = ":"
+ │ │ ├── value_loc: (72,30)-(72,35) = "block"
+ │ │ ├── closing_loc: ∅
+ │ │ └── unescaped: "block"
+ │ └── operator_loc: (72,28)-(72,29) = "&"
├── @ CallNode (location: (74,0)-(74,20))
+ │ ├── flags: ∅
│ ├── receiver: ∅
│ ├── call_operator_loc: ∅
│ ├── name: :hi
@@ -1141,28 +1142,28 @@
│ ├── opening_loc: ∅
│ ├── arguments:
│ │ @ ArgumentsNode (location: (74,3)-(74,20))
- │ │ ├── arguments: (length: 1)
- │ │ │ └── @ KeywordHashNode (location: (74,3)-(74,20))
- │ │ │ └── elements: (length: 1)
- │ │ │ └── @ AssocNode (location: (74,3)-(74,20))
- │ │ │ ├── key:
- │ │ │ │ @ SymbolNode (location: (74,3)-(74,9))
- │ │ │ │ ├── opening_loc: (74,3)-(74,4) = ":"
- │ │ │ │ ├── value_loc: (74,4)-(74,9) = "there"
- │ │ │ │ ├── closing_loc: ∅
- │ │ │ │ └── unescaped: "there"
- │ │ │ ├── value:
- │ │ │ │ @ SymbolNode (location: (74,13)-(74,20))
- │ │ │ │ ├── opening_loc: (74,13)-(74,14) = ":"
- │ │ │ │ ├── value_loc: (74,14)-(74,20) = "friend"
- │ │ │ │ ├── closing_loc: ∅
- │ │ │ │ └── unescaped: "friend"
- │ │ │ └── operator_loc: (74,10)-(74,12) = "=>"
- │ │ └── flags: ∅
+ │ │ ├── flags: ∅
+ │ │ └── arguments: (length: 1)
+ │ │ └── @ KeywordHashNode (location: (74,3)-(74,20))
+ │ │ └── elements: (length: 1)
+ │ │ └── @ AssocNode (location: (74,3)-(74,20))
+ │ │ ├── key:
+ │ │ │ @ SymbolNode (location: (74,3)-(74,9))
+ │ │ │ ├── opening_loc: (74,3)-(74,4) = ":"
+ │ │ │ ├── value_loc: (74,4)-(74,9) = "there"
+ │ │ │ ├── closing_loc: ∅
+ │ │ │ └── unescaped: "there"
+ │ │ ├── value:
+ │ │ │ @ SymbolNode (location: (74,13)-(74,20))
+ │ │ │ ├── opening_loc: (74,13)-(74,14) = ":"
+ │ │ │ ├── value_loc: (74,14)-(74,20) = "friend"
+ │ │ │ ├── closing_loc: ∅
+ │ │ │ └── unescaped: "friend"
+ │ │ └── operator_loc: (74,10)-(74,12) = "=>"
│ ├── closing_loc: ∅
- │ ├── block: ∅
- │ └── flags: ∅
+ │ └── block: ∅
├── @ CallNode (location: (76,0)-(78,1))
+ │ ├── flags: ∅
│ ├── receiver: ∅
│ ├── call_operator_loc: ∅
│ ├── name: :foo
@@ -1170,22 +1171,22 @@
│ ├── opening_loc: (76,3)-(76,4) = "("
│ ├── arguments:
│ │ @ ArgumentsNode (location: (76,4)-(77,2))
- │ │ ├── arguments: (length: 2)
- │ │ │ ├── @ SymbolNode (location: (76,4)-(76,6))
- │ │ │ │ ├── opening_loc: (76,4)-(76,5) = ":"
- │ │ │ │ ├── value_loc: (76,5)-(76,6) = "a"
- │ │ │ │ ├── closing_loc: ∅
- │ │ │ │ └── unescaped: "a"
- │ │ │ └── @ SymbolNode (location: (77,0)-(77,2))
- │ │ │ ├── opening_loc: (77,0)-(77,1) = ":"
- │ │ │ ├── value_loc: (77,1)-(77,2) = "b"
- │ │ │ ├── closing_loc: ∅
- │ │ │ └── unescaped: "b"
- │ │ └── flags: ∅
+ │ │ ├── flags: ∅
+ │ │ └── arguments: (length: 2)
+ │ │ ├── @ SymbolNode (location: (76,4)-(76,6))
+ │ │ │ ├── opening_loc: (76,4)-(76,5) = ":"
+ │ │ │ ├── value_loc: (76,5)-(76,6) = "a"
+ │ │ │ ├── closing_loc: ∅
+ │ │ │ └── unescaped: "a"
+ │ │ └── @ SymbolNode (location: (77,0)-(77,2))
+ │ │ ├── opening_loc: (77,0)-(77,1) = ":"
+ │ │ ├── value_loc: (77,1)-(77,2) = "b"
+ │ │ ├── closing_loc: ∅
+ │ │ └── unescaped: "b"
│ ├── closing_loc: (78,0)-(78,1) = ")"
- │ ├── block: ∅
- │ └── flags: ∅
+ │ └── block: ∅
├── @ CallNode (location: (80,0)-(83,1))
+ │ ├── flags: ∅
│ ├── receiver: ∅
│ ├── call_operator_loc: ∅
│ ├── name: :foo
@@ -1193,33 +1194,33 @@
│ ├── opening_loc: (80,3)-(80,4) = "("
│ ├── arguments:
│ │ @ ArgumentsNode (location: (81,0)-(82,5))
- │ │ ├── arguments: (length: 2)
- │ │ │ ├── @ SymbolNode (location: (81,0)-(81,2))
- │ │ │ │ ├── opening_loc: (81,0)-(81,1) = ":"
- │ │ │ │ ├── value_loc: (81,1)-(81,2) = "a"
- │ │ │ │ ├── closing_loc: ∅
- │ │ │ │ └── unescaped: "a"
- │ │ │ └── @ KeywordHashNode (location: (82,0)-(82,5))
- │ │ │ └── elements: (length: 1)
- │ │ │ └── @ AssocNode (location: (82,0)-(82,5))
- │ │ │ ├── key:
- │ │ │ │ @ SymbolNode (location: (82,0)-(82,2))
- │ │ │ │ ├── opening_loc: ∅
- │ │ │ │ ├── value_loc: (82,0)-(82,1) = "b"
- │ │ │ │ ├── closing_loc: (82,1)-(82,2) = ":"
- │ │ │ │ └── unescaped: "b"
- │ │ │ ├── value:
- │ │ │ │ @ SymbolNode (location: (82,3)-(82,5))
- │ │ │ │ ├── opening_loc: (82,3)-(82,4) = ":"
- │ │ │ │ ├── value_loc: (82,4)-(82,5) = "c"
- │ │ │ │ ├── closing_loc: ∅
- │ │ │ │ └── unescaped: "c"
- │ │ │ └── operator_loc: ∅
- │ │ └── flags: ∅
+ │ │ ├── flags: ∅
+ │ │ └── arguments: (length: 2)
+ │ │ ├── @ SymbolNode (location: (81,0)-(81,2))
+ │ │ │ ├── opening_loc: (81,0)-(81,1) = ":"
+ │ │ │ ├── value_loc: (81,1)-(81,2) = "a"
+ │ │ │ ├── closing_loc: ∅
+ │ │ │ └── unescaped: "a"
+ │ │ └── @ KeywordHashNode (location: (82,0)-(82,5))
+ │ │ └── elements: (length: 1)
+ │ │ └── @ AssocNode (location: (82,0)-(82,5))
+ │ │ ├── key:
+ │ │ │ @ SymbolNode (location: (82,0)-(82,2))
+ │ │ │ ├── opening_loc: ∅
+ │ │ │ ├── value_loc: (82,0)-(82,1) = "b"
+ │ │ │ ├── closing_loc: (82,1)-(82,2) = ":"
+ │ │ │ └── unescaped: "b"
+ │ │ ├── value:
+ │ │ │ @ SymbolNode (location: (82,3)-(82,5))
+ │ │ │ ├── opening_loc: (82,3)-(82,4) = ":"
+ │ │ │ ├── value_loc: (82,4)-(82,5) = "c"
+ │ │ │ ├── closing_loc: ∅
+ │ │ │ └── unescaped: "c"
+ │ │ └── operator_loc: ∅
│ ├── closing_loc: (83,0)-(83,1) = ")"
- │ ├── block: ∅
- │ └── flags: ∅
+ │ └── block: ∅
├── @ CallNode (location: (85,0)-(85,11))
+ │ ├── flags: ∅
│ ├── receiver: ∅
│ ├── call_operator_loc: ∅
│ ├── name: :foo
@@ -1227,17 +1228,17 @@
│ ├── opening_loc: ∅
│ ├── arguments: ∅
│ ├── closing_loc: ∅
- │ ├── block:
- │ │ @ BlockArgumentNode (location: (85,4)-(85,11))
- │ │ ├── expression:
- │ │ │ @ SymbolNode (location: (85,5)-(85,11))
- │ │ │ ├── opening_loc: (85,5)-(85,6) = ":"
- │ │ │ ├── value_loc: (85,6)-(85,11) = "block"
- │ │ │ ├── closing_loc: ∅
- │ │ │ └── unescaped: "block"
- │ │ └── operator_loc: (85,4)-(85,5) = "&"
- │ └── flags: ∅
+ │ └── block:
+ │ @ BlockArgumentNode (location: (85,4)-(85,11))
+ │ ├── expression:
+ │ │ @ SymbolNode (location: (85,5)-(85,11))
+ │ │ ├── opening_loc: (85,5)-(85,6) = ":"
+ │ │ ├── value_loc: (85,6)-(85,11) = "block"
+ │ │ ├── closing_loc: ∅
+ │ │ └── unescaped: "block"
+ │ └── operator_loc: (85,4)-(85,5) = "&"
├── @ CallNode (location: (87,0)-(87,30))
+ │ ├── flags: ∅
│ ├── receiver: ∅
│ ├── call_operator_loc: ∅
│ ├── name: :foo
@@ -1245,42 +1246,42 @@
│ ├── opening_loc: ∅
│ ├── arguments:
│ │ @ ArgumentsNode (location: (87,4)-(87,21))
- │ │ ├── arguments: (length: 1)
- │ │ │ └── @ KeywordHashNode (location: (87,4)-(87,21))
- │ │ │ └── elements: (length: 2)
- │ │ │ ├── @ AssocNode (location: (87,4)-(87,11))
- │ │ │ │ ├── key:
- │ │ │ │ │ @ SymbolNode (location: (87,4)-(87,6))
- │ │ │ │ │ ├── opening_loc: ∅
- │ │ │ │ │ ├── value_loc: (87,4)-(87,5) = "a"
- │ │ │ │ │ ├── closing_loc: (87,5)-(87,6) = ":"
- │ │ │ │ │ └── unescaped: "a"
- │ │ │ │ ├── value:
- │ │ │ │ │ @ TrueNode (location: (87,7)-(87,11))
- │ │ │ │ └── operator_loc: ∅
- │ │ │ └── @ AssocNode (location: (87,13)-(87,21))
- │ │ │ ├── key:
- │ │ │ │ @ SymbolNode (location: (87,13)-(87,15))
- │ │ │ │ ├── opening_loc: ∅
- │ │ │ │ ├── value_loc: (87,13)-(87,14) = "b"
- │ │ │ │ ├── closing_loc: (87,14)-(87,15) = ":"
- │ │ │ │ └── unescaped: "b"
- │ │ │ ├── value:
- │ │ │ │ @ FalseNode (location: (87,16)-(87,21))
- │ │ │ └── operator_loc: ∅
- │ │ └── flags: ∅
+ │ │ ├── flags: ∅
+ │ │ └── arguments: (length: 1)
+ │ │ └── @ KeywordHashNode (location: (87,4)-(87,21))
+ │ │ └── elements: (length: 2)
+ │ │ ├── @ AssocNode (location: (87,4)-(87,11))
+ │ │ │ ├── key:
+ │ │ │ │ @ SymbolNode (location: (87,4)-(87,6))
+ │ │ │ │ ├── opening_loc: ∅
+ │ │ │ │ ├── value_loc: (87,4)-(87,5) = "a"
+ │ │ │ │ ├── closing_loc: (87,5)-(87,6) = ":"
+ │ │ │ │ └── unescaped: "a"
+ │ │ │ ├── value:
+ │ │ │ │ @ TrueNode (location: (87,7)-(87,11))
+ │ │ │ └── operator_loc: ∅
+ │ │ └── @ AssocNode (location: (87,13)-(87,21))
+ │ │ ├── key:
+ │ │ │ @ SymbolNode (location: (87,13)-(87,15))
+ │ │ │ ├── opening_loc: ∅
+ │ │ │ ├── value_loc: (87,13)-(87,14) = "b"
+ │ │ │ ├── closing_loc: (87,14)-(87,15) = ":"
+ │ │ │ └── unescaped: "b"
+ │ │ ├── value:
+ │ │ │ @ FalseNode (location: (87,16)-(87,21))
+ │ │ └── operator_loc: ∅
│ ├── closing_loc: ∅
- │ ├── block:
- │ │ @ BlockArgumentNode (location: (87,23)-(87,30))
- │ │ ├── expression:
- │ │ │ @ SymbolNode (location: (87,24)-(87,30))
- │ │ │ ├── opening_loc: (87,24)-(87,25) = ":"
- │ │ │ ├── value_loc: (87,25)-(87,30) = "block"
- │ │ │ ├── closing_loc: ∅
- │ │ │ └── unescaped: "block"
- │ │ └── operator_loc: (87,23)-(87,24) = "&"
- │ └── flags: ∅
+ │ └── block:
+ │ @ BlockArgumentNode (location: (87,23)-(87,30))
+ │ ├── expression:
+ │ │ @ SymbolNode (location: (87,24)-(87,30))
+ │ │ ├── opening_loc: (87,24)-(87,25) = ":"
+ │ │ ├── value_loc: (87,25)-(87,30) = "block"
+ │ │ ├── closing_loc: ∅
+ │ │ └── unescaped: "block"
+ │ └── operator_loc: (87,23)-(87,24) = "&"
├── @ CallNode (location: (89,0)-(89,21))
+ │ ├── flags: ∅
│ ├── receiver: ∅
│ ├── call_operator_loc: ∅
│ ├── name: :some_func
@@ -1288,27 +1289,27 @@
│ ├── opening_loc: ∅
│ ├── arguments:
│ │ @ ArgumentsNode (location: (89,10)-(89,21))
- │ │ ├── arguments: (length: 2)
- │ │ │ ├── @ IntegerNode (location: (89,10)-(89,11))
- │ │ │ │ └── flags: decimal
- │ │ │ └── @ KeywordHashNode (location: (89,13)-(89,21))
- │ │ │ └── elements: (length: 1)
- │ │ │ └── @ AssocNode (location: (89,13)-(89,21))
- │ │ │ ├── key:
- │ │ │ │ @ SymbolNode (location: (89,13)-(89,19))
- │ │ │ │ ├── opening_loc: ∅
- │ │ │ │ ├── value_loc: (89,13)-(89,18) = "kwarg"
- │ │ │ │ ├── closing_loc: (89,18)-(89,19) = ":"
- │ │ │ │ └── unescaped: "kwarg"
- │ │ │ ├── value:
- │ │ │ │ @ IntegerNode (location: (89,20)-(89,21))
- │ │ │ │ └── flags: decimal
- │ │ │ └── operator_loc: ∅
- │ │ └── flags: ∅
+ │ │ ├── flags: ∅
+ │ │ └── arguments: (length: 2)
+ │ │ ├── @ IntegerNode (location: (89,10)-(89,11))
+ │ │ │ └── flags: decimal
+ │ │ └── @ KeywordHashNode (location: (89,13)-(89,21))
+ │ │ └── elements: (length: 1)
+ │ │ └── @ AssocNode (location: (89,13)-(89,21))
+ │ │ ├── key:
+ │ │ │ @ SymbolNode (location: (89,13)-(89,19))
+ │ │ │ ├── opening_loc: ∅
+ │ │ │ ├── value_loc: (89,13)-(89,18) = "kwarg"
+ │ │ │ ├── closing_loc: (89,18)-(89,19) = ":"
+ │ │ │ └── unescaped: "kwarg"
+ │ │ ├── value:
+ │ │ │ @ IntegerNode (location: (89,20)-(89,21))
+ │ │ │ └── flags: decimal
+ │ │ └── operator_loc: ∅
│ ├── closing_loc: ∅
- │ ├── block: ∅
- │ └── flags: ∅
+ │ └── block: ∅
├── @ CallNode (location: (91,0)-(91,18))
+ │ ├── flags: ∅
│ ├── receiver:
│ │ @ ConstantReadNode (location: (91,0)-(91,6))
│ │ └── name: :Kernel
@@ -1318,16 +1319,17 @@
│ ├── opening_loc: (91,14)-(91,15) = "("
│ ├── arguments:
│ │ @ ArgumentsNode (location: (91,15)-(91,17))
- │ │ ├── arguments: (length: 1)
- │ │ │ └── @ IntegerNode (location: (91,15)-(91,17))
- │ │ │ └── flags: decimal
- │ │ └── flags: ∅
+ │ │ ├── flags: ∅
+ │ │ └── arguments: (length: 1)
+ │ │ └── @ IntegerNode (location: (91,15)-(91,17))
+ │ │ └── flags: decimal
│ ├── closing_loc: (91,17)-(91,18) = ")"
- │ ├── block: ∅
- │ └── flags: ∅
+ │ └── block: ∅
├── @ CallNode (location: (93,0)-(93,10))
+ │ ├── flags: ∅
│ ├── receiver:
│ │ @ CallNode (location: (93,0)-(93,1))
+ │ │ ├── flags: variable_call
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
│ │ ├── name: :x
@@ -1335,26 +1337,26 @@
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
- │ │ ├── block: ∅
- │ │ └── flags: variable_call
+ │ │ └── block: ∅
│ ├── call_operator_loc: (93,1)-(93,2) = "."
│ ├── name: :each
│ ├── message_loc: (93,2)-(93,6) = "each"
│ ├── opening_loc: ∅
│ ├── arguments: ∅
│ ├── closing_loc: ∅
- │ ├── block:
- │ │ @ BlockNode (location: (93,7)-(93,10))
- │ │ ├── locals: []
- │ │ ├── locals_body_index: 0
- │ │ ├── parameters: ∅
- │ │ ├── body: ∅
- │ │ ├── opening_loc: (93,7)-(93,8) = "{"
- │ │ └── closing_loc: (93,9)-(93,10) = "}"
- │ └── flags: ∅
+ │ └── block:
+ │ @ BlockNode (location: (93,7)-(93,10))
+ │ ├── locals: []
+ │ ├── locals_body_index: 0
+ │ ├── parameters: ∅
+ │ ├── body: ∅
+ │ ├── opening_loc: (93,7)-(93,8) = "{"
+ │ └── closing_loc: (93,9)-(93,10) = "}"
├── @ CallNode (location: (95,0)-(95,14))
+ │ ├── flags: ∅
│ ├── receiver:
│ │ @ CallNode (location: (95,0)-(95,3))
+ │ │ ├── flags: variable_call
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
│ │ ├── name: :foo
@@ -1362,28 +1364,27 @@
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
- │ │ ├── block: ∅
- │ │ └── flags: variable_call
+ │ │ └── block: ∅
│ ├── call_operator_loc: (95,3)-(95,4) = "."
│ ├── name: :map
│ ├── message_loc: (95,4)-(95,7) = "map"
│ ├── opening_loc: ∅
│ ├── arguments: ∅
│ ├── closing_loc: ∅
- │ ├── block:
- │ │ @ BlockNode (location: (95,8)-(95,14))
- │ │ ├── locals: []
- │ │ ├── locals_body_index: 0
- │ │ ├── parameters: ∅
- │ │ ├── body:
- │ │ │ @ StatementsNode (location: (95,10)-(95,12))
- │ │ │ └── body: (length: 1)
- │ │ │ └── @ BackReferenceReadNode (location: (95,10)-(95,12))
- │ │ │ └── name: :$&
- │ │ ├── opening_loc: (95,8)-(95,9) = "{"
- │ │ └── closing_loc: (95,13)-(95,14) = "}"
- │ └── flags: ∅
+ │ └── block:
+ │ @ BlockNode (location: (95,8)-(95,14))
+ │ ├── locals: []
+ │ ├── locals_body_index: 0
+ │ ├── parameters: ∅
+ │ ├── body:
+ │ │ @ StatementsNode (location: (95,10)-(95,12))
+ │ │ └── body: (length: 1)
+ │ │ └── @ BackReferenceReadNode (location: (95,10)-(95,12))
+ │ │ └── name: :$&
+ │ ├── opening_loc: (95,8)-(95,9) = "{"
+ │ └── closing_loc: (95,13)-(95,14) = "}"
├── @ CallNode (location: (97,0)-(97,12))
+ │ ├── flags: ∅
│ ├── receiver:
│ │ @ ConstantPathNode (location: (97,0)-(97,4))
│ │ ├── parent:
@@ -1399,17 +1400,17 @@
│ ├── opening_loc: ∅
│ ├── arguments:
│ │ @ ArgumentsNode (location: (97,8)-(97,12))
- │ │ ├── arguments: (length: 1)
- │ │ │ └── @ SymbolNode (location: (97,8)-(97,12))
- │ │ │ ├── opening_loc: (97,8)-(97,9) = ":"
- │ │ │ ├── value_loc: (97,9)-(97,12) = "foo"
- │ │ │ ├── closing_loc: ∅
- │ │ │ └── unescaped: "foo"
- │ │ └── flags: ∅
+ │ │ ├── flags: ∅
+ │ │ └── arguments: (length: 1)
+ │ │ └── @ SymbolNode (location: (97,8)-(97,12))
+ │ │ ├── opening_loc: (97,8)-(97,9) = ":"
+ │ │ ├── value_loc: (97,9)-(97,12) = "foo"
+ │ │ ├── closing_loc: ∅
+ │ │ └── unescaped: "foo"
│ ├── closing_loc: ∅
- │ ├── block: ∅
- │ └── flags: ∅
+ │ └── block: ∅
├── @ CallNode (location: (99,0)-(99,13))
+ │ ├── flags: ∅
│ ├── receiver:
│ │ @ ConstantPathNode (location: (99,0)-(99,4))
│ │ ├── parent:
@@ -1425,17 +1426,17 @@
│ ├── opening_loc: (99,7)-(99,8) = "("
│ ├── arguments:
│ │ @ ArgumentsNode (location: (99,8)-(99,12))
- │ │ ├── arguments: (length: 1)
- │ │ │ └── @ SymbolNode (location: (99,8)-(99,12))
- │ │ │ ├── opening_loc: (99,8)-(99,9) = ":"
- │ │ │ ├── value_loc: (99,9)-(99,12) = "foo"
- │ │ │ ├── closing_loc: ∅
- │ │ │ └── unescaped: "foo"
- │ │ └── flags: ∅
+ │ │ ├── flags: ∅
+ │ │ └── arguments: (length: 1)
+ │ │ └── @ SymbolNode (location: (99,8)-(99,12))
+ │ │ ├── opening_loc: (99,8)-(99,9) = ":"
+ │ │ ├── value_loc: (99,9)-(99,12) = "foo"
+ │ │ ├── closing_loc: ∅
+ │ │ └── unescaped: "foo"
│ ├── closing_loc: (99,12)-(99,13) = ")"
- │ ├── block: ∅
- │ └── flags: ∅
+ │ └── block: ∅
├── @ CallNode (location: (101,0)-(101,17))
+ │ ├── flags: ∅
│ ├── receiver:
│ │ @ ConstantPathNode (location: (101,0)-(101,4))
│ │ ├── parent:
@@ -1451,24 +1452,24 @@
│ ├── opening_loc: (101,7)-(101,8) = "("
│ ├── arguments:
│ │ @ ArgumentsNode (location: (101,8)-(101,12))
- │ │ ├── arguments: (length: 1)
- │ │ │ └── @ SymbolNode (location: (101,8)-(101,12))
- │ │ │ ├── opening_loc: (101,8)-(101,9) = ":"
- │ │ │ ├── value_loc: (101,9)-(101,12) = "foo"
- │ │ │ ├── closing_loc: ∅
- │ │ │ └── unescaped: "foo"
- │ │ └── flags: ∅
+ │ │ ├── flags: ∅
+ │ │ └── arguments: (length: 1)
+ │ │ └── @ SymbolNode (location: (101,8)-(101,12))
+ │ │ ├── opening_loc: (101,8)-(101,9) = ":"
+ │ │ ├── value_loc: (101,9)-(101,12) = "foo"
+ │ │ ├── closing_loc: ∅
+ │ │ └── unescaped: "foo"
│ ├── closing_loc: (101,12)-(101,13) = ")"
- │ ├── block:
- │ │ @ BlockNode (location: (101,14)-(101,17))
- │ │ ├── locals: []
- │ │ ├── locals_body_index: 0
- │ │ ├── parameters: ∅
- │ │ ├── body: ∅
- │ │ ├── opening_loc: (101,14)-(101,15) = "{"
- │ │ └── closing_loc: (101,16)-(101,17) = "}"
- │ └── flags: ∅
+ │ └── block:
+ │ @ BlockNode (location: (101,14)-(101,17))
+ │ ├── locals: []
+ │ ├── locals_body_index: 0
+ │ ├── parameters: ∅
+ │ ├── body: ∅
+ │ ├── opening_loc: (101,14)-(101,15) = "{"
+ │ └── closing_loc: (101,16)-(101,17) = "}"
├── @ CallNode (location: (103,0)-(103,12))
+ │ ├── flags: ∅
│ ├── receiver: ∅
│ ├── call_operator_loc: ∅
│ ├── name: :foo
@@ -1476,25 +1477,25 @@
│ ├── opening_loc: (103,3)-(103,4) = "("
│ ├── arguments:
│ │ @ ArgumentsNode (location: (103,4)-(103,11))
- │ │ ├── arguments: (length: 1)
- │ │ │ └── @ KeywordHashNode (location: (103,4)-(103,11))
- │ │ │ └── elements: (length: 1)
- │ │ │ └── @ AssocNode (location: (103,4)-(103,11))
- │ │ │ ├── key:
- │ │ │ │ @ SymbolNode (location: (103,4)-(103,8))
- │ │ │ │ ├── opening_loc: (103,4)-(103,5) = "\""
- │ │ │ │ ├── value_loc: (103,5)-(103,6) = "a"
- │ │ │ │ ├── closing_loc: (103,6)-(103,8) = "\":"
- │ │ │ │ └── unescaped: "a"
- │ │ │ ├── value:
- │ │ │ │ @ IntegerNode (location: (103,9)-(103,11))
- │ │ │ │ └── flags: decimal
- │ │ │ └── operator_loc: ∅
- │ │ └── flags: ∅
+ │ │ ├── flags: ∅
+ │ │ └── arguments: (length: 1)
+ │ │ └── @ KeywordHashNode (location: (103,4)-(103,11))
+ │ │ └── elements: (length: 1)
+ │ │ └── @ AssocNode (location: (103,4)-(103,11))
+ │ │ ├── key:
+ │ │ │ @ SymbolNode (location: (103,4)-(103,8))
+ │ │ │ ├── opening_loc: (103,4)-(103,5) = "\""
+ │ │ │ ├── value_loc: (103,5)-(103,6) = "a"
+ │ │ │ ├── closing_loc: (103,6)-(103,8) = "\":"
+ │ │ │ └── unescaped: "a"
+ │ │ ├── value:
+ │ │ │ @ IntegerNode (location: (103,9)-(103,11))
+ │ │ │ └── flags: decimal
+ │ │ └── operator_loc: ∅
│ ├── closing_loc: (103,11)-(103,12) = ")"
- │ ├── block: ∅
- │ └── flags: ∅
+ │ └── block: ∅
├── @ CallNode (location: (105,0)-(105,28))
+ │ ├── flags: ∅
│ ├── receiver: ∅
│ ├── call_operator_loc: ∅
│ ├── name: :foo
@@ -1502,53 +1503,53 @@
│ ├── opening_loc: ∅
│ ├── arguments:
│ │ @ ArgumentsNode (location: (105,4)-(105,28))
- │ │ ├── arguments: (length: 1)
- │ │ │ └── @ KeywordHashNode (location: (105,4)-(105,28))
- │ │ │ └── elements: (length: 1)
- │ │ │ └── @ AssocNode (location: (105,4)-(105,28))
- │ │ │ ├── key:
- │ │ │ │ @ SymbolNode (location: (105,4)-(105,8))
- │ │ │ │ ├── opening_loc: ∅
- │ │ │ │ ├── value_loc: (105,4)-(105,7) = "bar"
- │ │ │ │ ├── closing_loc: (105,7)-(105,8) = ":"
- │ │ │ │ └── unescaped: "bar"
- │ │ │ ├── value:
- │ │ │ │ @ HashNode (location: (105,9)-(105,28))
- │ │ │ │ ├── opening_loc: (105,9)-(105,10) = "{"
- │ │ │ │ ├── elements: (length: 1)
- │ │ │ │ │ └── @ AssocNode (location: (105,11)-(105,26))
- │ │ │ │ │ ├── key:
- │ │ │ │ │ │ @ SymbolNode (location: (105,11)-(105,15))
- │ │ │ │ │ │ ├── opening_loc: ∅
- │ │ │ │ │ │ ├── value_loc: (105,11)-(105,14) = "baz"
- │ │ │ │ │ │ ├── closing_loc: (105,14)-(105,15) = ":"
- │ │ │ │ │ │ └── unescaped: "baz"
- │ │ │ │ │ ├── value:
- │ │ │ │ │ │ @ CallNode (location: (105,16)-(105,26))
- │ │ │ │ │ │ ├── receiver: ∅
- │ │ │ │ │ │ ├── call_operator_loc: ∅
- │ │ │ │ │ │ ├── name: :qux
- │ │ │ │ │ │ ├── message_loc: (105,16)-(105,19) = "qux"
- │ │ │ │ │ │ ├── opening_loc: ∅
- │ │ │ │ │ │ ├── arguments: ∅
- │ │ │ │ │ │ ├── closing_loc: ∅
- │ │ │ │ │ │ ├── block:
- │ │ │ │ │ │ │ @ BlockNode (location: (105,20)-(105,26))
- │ │ │ │ │ │ │ ├── locals: []
- │ │ │ │ │ │ │ ├── locals_body_index: 0
- │ │ │ │ │ │ │ ├── parameters: ∅
- │ │ │ │ │ │ │ ├── body: ∅
- │ │ │ │ │ │ │ ├── opening_loc: (105,20)-(105,22) = "do"
- │ │ │ │ │ │ │ └── closing_loc: (105,23)-(105,26) = "end"
- │ │ │ │ │ │ └── flags: ∅
- │ │ │ │ │ └── operator_loc: ∅
- │ │ │ │ └── closing_loc: (105,27)-(105,28) = "}"
- │ │ │ └── operator_loc: ∅
- │ │ └── flags: ∅
+ │ │ ├── flags: ∅
+ │ │ └── arguments: (length: 1)
+ │ │ └── @ KeywordHashNode (location: (105,4)-(105,28))
+ │ │ └── elements: (length: 1)
+ │ │ └── @ AssocNode (location: (105,4)-(105,28))
+ │ │ ├── key:
+ │ │ │ @ SymbolNode (location: (105,4)-(105,8))
+ │ │ │ ├── opening_loc: ∅
+ │ │ │ ├── value_loc: (105,4)-(105,7) = "bar"
+ │ │ │ ├── closing_loc: (105,7)-(105,8) = ":"
+ │ │ │ └── unescaped: "bar"
+ │ │ ├── value:
+ │ │ │ @ HashNode (location: (105,9)-(105,28))
+ │ │ │ ├── opening_loc: (105,9)-(105,10) = "{"
+ │ │ │ ├── elements: (length: 1)
+ │ │ │ │ └── @ AssocNode (location: (105,11)-(105,26))
+ │ │ │ │ ├── key:
+ │ │ │ │ │ @ SymbolNode (location: (105,11)-(105,15))
+ │ │ │ │ │ ├── opening_loc: ∅
+ │ │ │ │ │ ├── value_loc: (105,11)-(105,14) = "baz"
+ │ │ │ │ │ ├── closing_loc: (105,14)-(105,15) = ":"
+ │ │ │ │ │ └── unescaped: "baz"
+ │ │ │ │ ├── value:
+ │ │ │ │ │ @ CallNode (location: (105,16)-(105,26))
+ │ │ │ │ │ ├── flags: ∅
+ │ │ │ │ │ ├── receiver: ∅
+ │ │ │ │ │ ├── call_operator_loc: ∅
+ │ │ │ │ │ ├── name: :qux
+ │ │ │ │ │ ├── message_loc: (105,16)-(105,19) = "qux"
+ │ │ │ │ │ ├── opening_loc: ∅
+ │ │ │ │ │ ├── arguments: ∅
+ │ │ │ │ │ ├── closing_loc: ∅
+ │ │ │ │ │ └── block:
+ │ │ │ │ │ @ BlockNode (location: (105,20)-(105,26))
+ │ │ │ │ │ ├── locals: []
+ │ │ │ │ │ ├── locals_body_index: 0
+ │ │ │ │ │ ├── parameters: ∅
+ │ │ │ │ │ ├── body: ∅
+ │ │ │ │ │ ├── opening_loc: (105,20)-(105,22) = "do"
+ │ │ │ │ │ └── closing_loc: (105,23)-(105,26) = "end"
+ │ │ │ │ └── operator_loc: ∅
+ │ │ │ └── closing_loc: (105,27)-(105,28) = "}"
+ │ │ └── operator_loc: ∅
│ ├── closing_loc: ∅
- │ ├── block: ∅
- │ └── flags: ∅
+ │ └── block: ∅
├── @ CallNode (location: (107,0)-(107,24))
+ │ ├── flags: ∅
│ ├── receiver: ∅
│ ├── call_operator_loc: ∅
│ ├── name: :foo
@@ -1556,47 +1557,47 @@
│ ├── opening_loc: ∅
│ ├── arguments:
│ │ @ ArgumentsNode (location: (107,4)-(107,24))
- │ │ ├── arguments: (length: 1)
- │ │ │ └── @ KeywordHashNode (location: (107,4)-(107,24))
- │ │ │ └── elements: (length: 1)
- │ │ │ └── @ AssocNode (location: (107,4)-(107,24))
- │ │ │ ├── key:
- │ │ │ │ @ SymbolNode (location: (107,4)-(107,8))
- │ │ │ │ ├── opening_loc: ∅
- │ │ │ │ ├── value_loc: (107,4)-(107,7) = "bar"
- │ │ │ │ ├── closing_loc: (107,7)-(107,8) = ":"
- │ │ │ │ └── unescaped: "bar"
- │ │ │ ├── value:
- │ │ │ │ @ HashNode (location: (107,9)-(107,24))
- │ │ │ │ ├── opening_loc: (107,9)-(107,10) = "{"
- │ │ │ │ ├── elements: (length: 1)
- │ │ │ │ │ └── @ AssocSplatNode (location: (107,11)-(107,22))
- │ │ │ │ │ ├── value:
- │ │ │ │ │ │ @ CallNode (location: (107,13)-(107,22))
- │ │ │ │ │ │ ├── receiver: ∅
- │ │ │ │ │ │ ├── call_operator_loc: ∅
- │ │ │ │ │ │ ├── name: :kw
- │ │ │ │ │ │ ├── message_loc: (107,13)-(107,15) = "kw"
- │ │ │ │ │ │ ├── opening_loc: ∅
- │ │ │ │ │ │ ├── arguments: ∅
- │ │ │ │ │ │ ├── closing_loc: ∅
- │ │ │ │ │ │ ├── block:
- │ │ │ │ │ │ │ @ BlockNode (location: (107,16)-(107,22))
- │ │ │ │ │ │ │ ├── locals: []
- │ │ │ │ │ │ │ ├── locals_body_index: 0
- │ │ │ │ │ │ │ ├── parameters: ∅
- │ │ │ │ │ │ │ ├── body: ∅
- │ │ │ │ │ │ │ ├── opening_loc: (107,16)-(107,18) = "do"
- │ │ │ │ │ │ │ └── closing_loc: (107,19)-(107,22) = "end"
- │ │ │ │ │ │ └── flags: ∅
- │ │ │ │ │ └── operator_loc: (107,11)-(107,13) = "**"
- │ │ │ │ └── closing_loc: (107,23)-(107,24) = "}"
- │ │ │ └── operator_loc: ∅
- │ │ └── flags: ∅
+ │ │ ├── flags: ∅
+ │ │ └── arguments: (length: 1)
+ │ │ └── @ KeywordHashNode (location: (107,4)-(107,24))
+ │ │ └── elements: (length: 1)
+ │ │ └── @ AssocNode (location: (107,4)-(107,24))
+ │ │ ├── key:
+ │ │ │ @ SymbolNode (location: (107,4)-(107,8))
+ │ │ │ ├── opening_loc: ∅
+ │ │ │ ├── value_loc: (107,4)-(107,7) = "bar"
+ │ │ │ ├── closing_loc: (107,7)-(107,8) = ":"
+ │ │ │ └── unescaped: "bar"
+ │ │ ├── value:
+ │ │ │ @ HashNode (location: (107,9)-(107,24))
+ │ │ │ ├── opening_loc: (107,9)-(107,10) = "{"
+ │ │ │ ├── elements: (length: 1)
+ │ │ │ │ └── @ AssocSplatNode (location: (107,11)-(107,22))
+ │ │ │ │ ├── value:
+ │ │ │ │ │ @ CallNode (location: (107,13)-(107,22))
+ │ │ │ │ │ ├── flags: ∅
+ │ │ │ │ │ ├── receiver: ∅
+ │ │ │ │ │ ├── call_operator_loc: ∅
+ │ │ │ │ │ ├── name: :kw
+ │ │ │ │ │ ├── message_loc: (107,13)-(107,15) = "kw"
+ │ │ │ │ │ ├── opening_loc: ∅
+ │ │ │ │ │ ├── arguments: ∅
+ │ │ │ │ │ ├── closing_loc: ∅
+ │ │ │ │ │ └── block:
+ │ │ │ │ │ @ BlockNode (location: (107,16)-(107,22))
+ │ │ │ │ │ ├── locals: []
+ │ │ │ │ │ ├── locals_body_index: 0
+ │ │ │ │ │ ├── parameters: ∅
+ │ │ │ │ │ ├── body: ∅
+ │ │ │ │ │ ├── opening_loc: (107,16)-(107,18) = "do"
+ │ │ │ │ │ └── closing_loc: (107,19)-(107,22) = "end"
+ │ │ │ │ └── operator_loc: (107,11)-(107,13) = "**"
+ │ │ │ └── closing_loc: (107,23)-(107,24) = "}"
+ │ │ └── operator_loc: ∅
│ ├── closing_loc: ∅
- │ ├── block: ∅
- │ └── flags: ∅
+ │ └── block: ∅
├── @ CallNode (location: (109,0)-(109,36))
+ │ ├── flags: ∅
│ ├── receiver: ∅
│ ├── call_operator_loc: ∅
│ ├── name: :foo
@@ -1604,64 +1605,64 @@
│ ├── opening_loc: ∅
│ ├── arguments:
│ │ @ ArgumentsNode (location: (109,4)-(109,29))
- │ │ ├── arguments: (length: 1)
- │ │ │ └── @ InterpolatedStringNode (location: (109,4)-(109,29))
- │ │ │ ├── opening_loc: (109,4)-(109,5) = "\""
- │ │ │ ├── parts: (length: 1)
- │ │ │ │ └── @ EmbeddedStatementsNode (location: (109,5)-(109,28))
- │ │ │ │ ├── opening_loc: (109,5)-(109,7) = "\#{"
- │ │ │ │ ├── statements:
- │ │ │ │ │ @ StatementsNode (location: (109,7)-(109,27))
- │ │ │ │ │ └── body: (length: 1)
- │ │ │ │ │ └── @ CallNode (location: (109,7)-(109,27))
- │ │ │ │ │ ├── receiver:
- │ │ │ │ │ │ @ CallNode (location: (109,7)-(109,10))
- │ │ │ │ │ │ ├── receiver: ∅
- │ │ │ │ │ │ ├── call_operator_loc: ∅
- │ │ │ │ │ │ ├── name: :bar
- │ │ │ │ │ │ ├── message_loc: (109,7)-(109,10) = "bar"
- │ │ │ │ │ │ ├── opening_loc: ∅
- │ │ │ │ │ │ ├── arguments: ∅
- │ │ │ │ │ │ ├── closing_loc: ∅
- │ │ │ │ │ │ ├── block: ∅
- │ │ │ │ │ │ └── flags: variable_call
- │ │ │ │ │ ├── call_operator_loc: (109,10)-(109,11) = "."
- │ │ │ │ │ ├── name: :map
- │ │ │ │ │ ├── message_loc: (109,11)-(109,14) = "map"
- │ │ │ │ │ ├── opening_loc: ∅
- │ │ │ │ │ ├── arguments: ∅
- │ │ │ │ │ ├── closing_loc: ∅
- │ │ │ │ │ ├── block:
- │ │ │ │ │ │ @ BlockNode (location: (109,15)-(109,27))
- │ │ │ │ │ │ ├── locals: []
- │ │ │ │ │ │ ├── locals_body_index: 0
- │ │ │ │ │ │ ├── parameters: ∅
- │ │ │ │ │ │ ├── body:
- │ │ │ │ │ │ │ @ StatementsNode (location: (109,18)-(109,23))
- │ │ │ │ │ │ │ └── body: (length: 1)
- │ │ │ │ │ │ │ └── @ StringNode (location: (109,18)-(109,23))
- │ │ │ │ │ │ │ ├── flags: ∅
- │ │ │ │ │ │ │ ├── opening_loc: (109,18)-(109,19) = "\""
- │ │ │ │ │ │ │ ├── content_loc: (109,19)-(109,22) = "baz"
- │ │ │ │ │ │ │ ├── closing_loc: (109,22)-(109,23) = "\""
- │ │ │ │ │ │ │ └── unescaped: "baz"
- │ │ │ │ │ │ ├── opening_loc: (109,15)-(109,17) = "do"
- │ │ │ │ │ │ └── closing_loc: (109,24)-(109,27) = "end"
- │ │ │ │ │ └── flags: ∅
- │ │ │ │ └── closing_loc: (109,27)-(109,28) = "}"
- │ │ │ └── closing_loc: (109,28)-(109,29) = "\""
- │ │ └── flags: ∅
+ │ │ ├── flags: ∅
+ │ │ └── arguments: (length: 1)
+ │ │ └── @ InterpolatedStringNode (location: (109,4)-(109,29))
+ │ │ ├── opening_loc: (109,4)-(109,5) = "\""
+ │ │ ├── parts: (length: 1)
+ │ │ │ └── @ EmbeddedStatementsNode (location: (109,5)-(109,28))
+ │ │ │ ├── opening_loc: (109,5)-(109,7) = "\#{"
+ │ │ │ ├── statements:
+ │ │ │ │ @ StatementsNode (location: (109,7)-(109,27))
+ │ │ │ │ └── body: (length: 1)
+ │ │ │ │ └── @ CallNode (location: (109,7)-(109,27))
+ │ │ │ │ ├── flags: ∅
+ │ │ │ │ ├── receiver:
+ │ │ │ │ │ @ CallNode (location: (109,7)-(109,10))
+ │ │ │ │ │ ├── flags: variable_call
+ │ │ │ │ │ ├── receiver: ∅
+ │ │ │ │ │ ├── call_operator_loc: ∅
+ │ │ │ │ │ ├── name: :bar
+ │ │ │ │ │ ├── message_loc: (109,7)-(109,10) = "bar"
+ │ │ │ │ │ ├── opening_loc: ∅
+ │ │ │ │ │ ├── arguments: ∅
+ │ │ │ │ │ ├── closing_loc: ∅
+ │ │ │ │ │ └── block: ∅
+ │ │ │ │ ├── call_operator_loc: (109,10)-(109,11) = "."
+ │ │ │ │ ├── name: :map
+ │ │ │ │ ├── message_loc: (109,11)-(109,14) = "map"
+ │ │ │ │ ├── opening_loc: ∅
+ │ │ │ │ ├── arguments: ∅
+ │ │ │ │ ├── closing_loc: ∅
+ │ │ │ │ └── block:
+ │ │ │ │ @ BlockNode (location: (109,15)-(109,27))
+ │ │ │ │ ├── locals: []
+ │ │ │ │ ├── locals_body_index: 0
+ │ │ │ │ ├── parameters: ∅
+ │ │ │ │ ├── body:
+ │ │ │ │ │ @ StatementsNode (location: (109,18)-(109,23))
+ │ │ │ │ │ └── body: (length: 1)
+ │ │ │ │ │ └── @ StringNode (location: (109,18)-(109,23))
+ │ │ │ │ │ ├── flags: ∅
+ │ │ │ │ │ ├── opening_loc: (109,18)-(109,19) = "\""
+ │ │ │ │ │ ├── content_loc: (109,19)-(109,22) = "baz"
+ │ │ │ │ │ ├── closing_loc: (109,22)-(109,23) = "\""
+ │ │ │ │ │ └── unescaped: "baz"
+ │ │ │ │ ├── opening_loc: (109,15)-(109,17) = "do"
+ │ │ │ │ └── closing_loc: (109,24)-(109,27) = "end"
+ │ │ │ └── closing_loc: (109,27)-(109,28) = "}"
+ │ │ └── closing_loc: (109,28)-(109,29) = "\""
│ ├── closing_loc: ∅
- │ ├── block:
- │ │ @ BlockNode (location: (109,30)-(109,36))
- │ │ ├── locals: []
- │ │ ├── locals_body_index: 0
- │ │ ├── parameters: ∅
- │ │ ├── body: ∅
- │ │ ├── opening_loc: (109,30)-(109,32) = "do"
- │ │ └── closing_loc: (109,33)-(109,36) = "end"
- │ └── flags: ∅
+ │ └── block:
+ │ @ BlockNode (location: (109,30)-(109,36))
+ │ ├── locals: []
+ │ ├── locals_body_index: 0
+ │ ├── parameters: ∅
+ │ ├── body: ∅
+ │ ├── opening_loc: (109,30)-(109,32) = "do"
+ │ └── closing_loc: (109,33)-(109,36) = "end"
├── @ CallNode (location: (111,0)-(111,28))
+ │ ├── flags: ∅
│ ├── receiver: ∅
│ ├── call_operator_loc: ∅
│ ├── name: :foo
@@ -1669,42 +1670,42 @@
│ ├── opening_loc: ∅
│ ├── arguments:
│ │ @ ArgumentsNode (location: (111,4)-(111,28))
- │ │ ├── arguments: (length: 1)
- │ │ │ └── @ ClassNode (location: (111,4)-(111,28))
- │ │ │ ├── locals: []
- │ │ │ ├── class_keyword_loc: (111,4)-(111,9) = "class"
- │ │ │ ├── constant_path:
- │ │ │ │ @ ConstantReadNode (location: (111,10)-(111,13))
- │ │ │ │ └── name: :Bar
- │ │ │ ├── inheritance_operator_loc: ∅
- │ │ │ ├── superclass: ∅
- │ │ │ ├── body:
- │ │ │ │ @ StatementsNode (location: (111,14)-(111,24))
- │ │ │ │ └── body: (length: 1)
- │ │ │ │ └── @ CallNode (location: (111,14)-(111,24))
- │ │ │ │ ├── receiver: ∅
- │ │ │ │ ├── call_operator_loc: ∅
- │ │ │ │ ├── name: :baz
- │ │ │ │ ├── message_loc: (111,14)-(111,17) = "baz"
- │ │ │ │ ├── opening_loc: ∅
- │ │ │ │ ├── arguments: ∅
- │ │ │ │ ├── closing_loc: ∅
- │ │ │ │ ├── block:
- │ │ │ │ │ @ BlockNode (location: (111,18)-(111,24))
- │ │ │ │ │ ├── locals: []
- │ │ │ │ │ ├── locals_body_index: 0
- │ │ │ │ │ ├── parameters: ∅
- │ │ │ │ │ ├── body: ∅
- │ │ │ │ │ ├── opening_loc: (111,18)-(111,20) = "do"
- │ │ │ │ │ └── closing_loc: (111,21)-(111,24) = "end"
- │ │ │ │ └── flags: ∅
- │ │ │ ├── end_keyword_loc: (111,25)-(111,28) = "end"
- │ │ │ └── name: :Bar
- │ │ └── flags: ∅
+ │ │ ├── flags: ∅
+ │ │ └── arguments: (length: 1)
+ │ │ └── @ ClassNode (location: (111,4)-(111,28))
+ │ │ ├── locals: []
+ │ │ ├── class_keyword_loc: (111,4)-(111,9) = "class"
+ │ │ ├── constant_path:
+ │ │ │ @ ConstantReadNode (location: (111,10)-(111,13))
+ │ │ │ └── name: :Bar
+ │ │ ├── inheritance_operator_loc: ∅
+ │ │ ├── superclass: ∅
+ │ │ ├── body:
+ │ │ │ @ StatementsNode (location: (111,14)-(111,24))
+ │ │ │ └── body: (length: 1)
+ │ │ │ └── @ CallNode (location: (111,14)-(111,24))
+ │ │ │ ├── flags: ∅
+ │ │ │ ├── receiver: ∅
+ │ │ │ ├── call_operator_loc: ∅
+ │ │ │ ├── name: :baz
+ │ │ │ ├── message_loc: (111,14)-(111,17) = "baz"
+ │ │ │ ├── opening_loc: ∅
+ │ │ │ ├── arguments: ∅
+ │ │ │ ├── closing_loc: ∅
+ │ │ │ └── block:
+ │ │ │ @ BlockNode (location: (111,18)-(111,24))
+ │ │ │ ├── locals: []
+ │ │ │ ├── locals_body_index: 0
+ │ │ │ ├── parameters: ∅
+ │ │ │ ├── body: ∅
+ │ │ │ ├── opening_loc: (111,18)-(111,20) = "do"
+ │ │ │ └── closing_loc: (111,21)-(111,24) = "end"
+ │ │ ├── end_keyword_loc: (111,25)-(111,28) = "end"
+ │ │ └── name: :Bar
│ ├── closing_loc: ∅
- │ ├── block: ∅
- │ └── flags: ∅
+ │ └── block: ∅
├── @ CallNode (location: (113,0)-(113,29))
+ │ ├── flags: ∅
│ ├── receiver: ∅
│ ├── call_operator_loc: ∅
│ ├── name: :foo
@@ -1712,40 +1713,40 @@
│ ├── opening_loc: ∅
│ ├── arguments:
│ │ @ ArgumentsNode (location: (113,4)-(113,29))
- │ │ ├── arguments: (length: 1)
- │ │ │ └── @ ModuleNode (location: (113,4)-(113,29))
- │ │ │ ├── locals: []
- │ │ │ ├── module_keyword_loc: (113,4)-(113,10) = "module"
- │ │ │ ├── constant_path:
- │ │ │ │ @ ConstantReadNode (location: (113,11)-(113,14))
- │ │ │ │ └── name: :Bar
- │ │ │ ├── body:
- │ │ │ │ @ StatementsNode (location: (113,15)-(113,25))
- │ │ │ │ └── body: (length: 1)
- │ │ │ │ └── @ CallNode (location: (113,15)-(113,25))
- │ │ │ │ ├── receiver: ∅
- │ │ │ │ ├── call_operator_loc: ∅
- │ │ │ │ ├── name: :baz
- │ │ │ │ ├── message_loc: (113,15)-(113,18) = "baz"
- │ │ │ │ ├── opening_loc: ∅
- │ │ │ │ ├── arguments: ∅
- │ │ │ │ ├── closing_loc: ∅
- │ │ │ │ ├── block:
- │ │ │ │ │ @ BlockNode (location: (113,19)-(113,25))
- │ │ │ │ │ ├── locals: []
- │ │ │ │ │ ├── locals_body_index: 0
- │ │ │ │ │ ├── parameters: ∅
- │ │ │ │ │ ├── body: ∅
- │ │ │ │ │ ├── opening_loc: (113,19)-(113,21) = "do"
- │ │ │ │ │ └── closing_loc: (113,22)-(113,25) = "end"
- │ │ │ │ └── flags: ∅
- │ │ │ ├── end_keyword_loc: (113,26)-(113,29) = "end"
- │ │ │ └── name: :Bar
- │ │ └── flags: ∅
+ │ │ ├── flags: ∅
+ │ │ └── arguments: (length: 1)
+ │ │ └── @ ModuleNode (location: (113,4)-(113,29))
+ │ │ ├── locals: []
+ │ │ ├── module_keyword_loc: (113,4)-(113,10) = "module"
+ │ │ ├── constant_path:
+ │ │ │ @ ConstantReadNode (location: (113,11)-(113,14))
+ │ │ │ └── name: :Bar
+ │ │ ├── body:
+ │ │ │ @ StatementsNode (location: (113,15)-(113,25))
+ │ │ │ └── body: (length: 1)
+ │ │ │ └── @ CallNode (location: (113,15)-(113,25))
+ │ │ │ ├── flags: ∅
+ │ │ │ ├── receiver: ∅
+ │ │ │ ├── call_operator_loc: ∅
+ │ │ │ ├── name: :baz
+ │ │ │ ├── message_loc: (113,15)-(113,18) = "baz"
+ │ │ │ ├── opening_loc: ∅
+ │ │ │ ├── arguments: ∅
+ │ │ │ ├── closing_loc: ∅
+ │ │ │ └── block:
+ │ │ │ @ BlockNode (location: (113,19)-(113,25))
+ │ │ │ ├── locals: []
+ │ │ │ ├── locals_body_index: 0
+ │ │ │ ├── parameters: ∅
+ │ │ │ ├── body: ∅
+ │ │ │ ├── opening_loc: (113,19)-(113,21) = "do"
+ │ │ │ └── closing_loc: (113,22)-(113,25) = "end"
+ │ │ ├── end_keyword_loc: (113,26)-(113,29) = "end"
+ │ │ └── name: :Bar
│ ├── closing_loc: ∅
- │ ├── block: ∅
- │ └── flags: ∅
+ │ └── block: ∅
├── @ CallNode (location: (115,0)-(115,16))
+ │ ├── flags: ∅
│ ├── receiver: ∅
│ ├── call_operator_loc: ∅
│ ├── name: :foo
@@ -1753,34 +1754,34 @@
│ ├── opening_loc: ∅
│ ├── arguments:
│ │ @ ArgumentsNode (location: (115,4)-(115,16))
- │ │ ├── arguments: (length: 1)
- │ │ │ └── @ ArrayNode (location: (115,4)-(115,16))
- │ │ │ ├── elements: (length: 1)
- │ │ │ │ └── @ CallNode (location: (115,5)-(115,15))
- │ │ │ │ ├── receiver: ∅
- │ │ │ │ ├── call_operator_loc: ∅
- │ │ │ │ ├── name: :baz
- │ │ │ │ ├── message_loc: (115,5)-(115,8) = "baz"
- │ │ │ │ ├── opening_loc: ∅
- │ │ │ │ ├── arguments: ∅
- │ │ │ │ ├── closing_loc: ∅
- │ │ │ │ ├── block:
- │ │ │ │ │ @ BlockNode (location: (115,9)-(115,15))
- │ │ │ │ │ ├── locals: []
- │ │ │ │ │ ├── locals_body_index: 0
- │ │ │ │ │ ├── parameters: ∅
- │ │ │ │ │ ├── body: ∅
- │ │ │ │ │ ├── opening_loc: (115,9)-(115,11) = "do"
- │ │ │ │ │ └── closing_loc: (115,12)-(115,15) = "end"
- │ │ │ │ └── flags: ∅
- │ │ │ ├── opening_loc: (115,4)-(115,5) = "["
- │ │ │ ├── closing_loc: (115,15)-(115,16) = "]"
- │ │ │ └── flags: ∅
- │ │ └── flags: ∅
+ │ │ ├── flags: ∅
+ │ │ └── arguments: (length: 1)
+ │ │ └── @ ArrayNode (location: (115,4)-(115,16))
+ │ │ ├── flags: ∅
+ │ │ ├── elements: (length: 1)
+ │ │ │ └── @ CallNode (location: (115,5)-(115,15))
+ │ │ │ ├── flags: ∅
+ │ │ │ ├── receiver: ∅
+ │ │ │ ├── call_operator_loc: ∅
+ │ │ │ ├── name: :baz
+ │ │ │ ├── message_loc: (115,5)-(115,8) = "baz"
+ │ │ │ ├── opening_loc: ∅
+ │ │ │ ├── arguments: ∅
+ │ │ │ ├── closing_loc: ∅
+ │ │ │ └── block:
+ │ │ │ @ BlockNode (location: (115,9)-(115,15))
+ │ │ │ ├── locals: []
+ │ │ │ ├── locals_body_index: 0
+ │ │ │ ├── parameters: ∅
+ │ │ │ ├── body: ∅
+ │ │ │ ├── opening_loc: (115,9)-(115,11) = "do"
+ │ │ │ └── closing_loc: (115,12)-(115,15) = "end"
+ │ │ ├── opening_loc: (115,4)-(115,5) = "["
+ │ │ └── closing_loc: (115,15)-(115,16) = "]"
│ ├── closing_loc: ∅
- │ ├── block: ∅
- │ └── flags: ∅
+ │ └── block: ∅
├── @ CallNode (location: (117,0)-(117,28))
+ │ ├── flags: ∅
│ ├── receiver: ∅
│ ├── call_operator_loc: ∅
│ ├── name: :p
@@ -1788,44 +1789,44 @@
│ ├── opening_loc: ∅
│ ├── arguments:
│ │ @ ArgumentsNode (location: (117,2)-(117,28))
- │ │ ├── arguments: (length: 1)
- │ │ │ └── @ BeginNode (location: (117,2)-(117,28))
- │ │ │ ├── begin_keyword_loc: (117,2)-(117,7) = "begin"
- │ │ │ ├── statements:
- │ │ │ │ @ StatementsNode (location: (117,8)-(117,24))
- │ │ │ │ └── body: (length: 1)
- │ │ │ │ └── @ CallNode (location: (117,8)-(117,24))
- │ │ │ │ ├── receiver:
- │ │ │ │ │ @ IntegerNode (location: (117,8)-(117,9))
- │ │ │ │ │ └── flags: decimal
- │ │ │ │ ├── call_operator_loc: (117,9)-(117,10) = "."
- │ │ │ │ ├── name: :times
- │ │ │ │ ├── message_loc: (117,10)-(117,15) = "times"
- │ │ │ │ ├── opening_loc: ∅
- │ │ │ │ ├── arguments: ∅
- │ │ │ │ ├── closing_loc: ∅
- │ │ │ │ ├── block:
- │ │ │ │ │ @ BlockNode (location: (117,16)-(117,24))
- │ │ │ │ │ ├── locals: []
- │ │ │ │ │ ├── locals_body_index: 0
- │ │ │ │ │ ├── parameters: ∅
- │ │ │ │ │ ├── body:
- │ │ │ │ │ │ @ StatementsNode (location: (117,19)-(117,20))
- │ │ │ │ │ │ └── body: (length: 1)
- │ │ │ │ │ │ └── @ IntegerNode (location: (117,19)-(117,20))
- │ │ │ │ │ │ └── flags: decimal
- │ │ │ │ │ ├── opening_loc: (117,16)-(117,18) = "do"
- │ │ │ │ │ └── closing_loc: (117,21)-(117,24) = "end"
- │ │ │ │ └── flags: ∅
- │ │ │ ├── rescue_clause: ∅
- │ │ │ ├── else_clause: ∅
- │ │ │ ├── ensure_clause: ∅
- │ │ │ └── end_keyword_loc: (117,25)-(117,28) = "end"
- │ │ └── flags: ∅
+ │ │ ├── flags: ∅
+ │ │ └── arguments: (length: 1)
+ │ │ └── @ BeginNode (location: (117,2)-(117,28))
+ │ │ ├── begin_keyword_loc: (117,2)-(117,7) = "begin"
+ │ │ ├── statements:
+ │ │ │ @ StatementsNode (location: (117,8)-(117,24))
+ │ │ │ └── body: (length: 1)
+ │ │ │ └── @ CallNode (location: (117,8)-(117,24))
+ │ │ │ ├── flags: ∅
+ │ │ │ ├── receiver:
+ │ │ │ │ @ IntegerNode (location: (117,8)-(117,9))
+ │ │ │ │ └── flags: decimal
+ │ │ │ ├── call_operator_loc: (117,9)-(117,10) = "."
+ │ │ │ ├── name: :times
+ │ │ │ ├── message_loc: (117,10)-(117,15) = "times"
+ │ │ │ ├── opening_loc: ∅
+ │ │ │ ├── arguments: ∅
+ │ │ │ ├── closing_loc: ∅
+ │ │ │ └── block:
+ │ │ │ @ BlockNode (location: (117,16)-(117,24))
+ │ │ │ ├── locals: []
+ │ │ │ ├── locals_body_index: 0
+ │ │ │ ├── parameters: ∅
+ │ │ │ ├── body:
+ │ │ │ │ @ StatementsNode (location: (117,19)-(117,20))
+ │ │ │ │ └── body: (length: 1)
+ │ │ │ │ └── @ IntegerNode (location: (117,19)-(117,20))
+ │ │ │ │ └── flags: decimal
+ │ │ │ ├── opening_loc: (117,16)-(117,18) = "do"
+ │ │ │ └── closing_loc: (117,21)-(117,24) = "end"
+ │ │ ├── rescue_clause: ∅
+ │ │ ├── else_clause: ∅
+ │ │ ├── ensure_clause: ∅
+ │ │ └── end_keyword_loc: (117,25)-(117,28) = "end"
│ ├── closing_loc: ∅
- │ ├── block: ∅
- │ └── flags: ∅
+ │ └── block: ∅
├── @ CallNode (location: (119,0)-(124,5))
+ │ ├── flags: ∅
│ ├── receiver: ∅
│ ├── call_operator_loc: ∅
│ ├── name: :foo
@@ -1833,73 +1834,73 @@
│ ├── opening_loc: ∅
│ ├── arguments:
│ │ @ ArgumentsNode (location: (119,4)-(124,5))
- │ │ ├── arguments: (length: 2)
- │ │ │ ├── @ SymbolNode (location: (119,4)-(119,6))
- │ │ │ │ ├── opening_loc: (119,4)-(119,5) = ":"
- │ │ │ │ ├── value_loc: (119,5)-(119,6) = "a"
- │ │ │ │ ├── closing_loc: ∅
- │ │ │ │ └── unescaped: "a"
- │ │ │ └── @ IfNode (location: (120,2)-(124,5))
- │ │ │ ├── if_keyword_loc: (120,2)-(120,4) = "if"
- │ │ │ ├── predicate:
- │ │ │ │ @ CallNode (location: (120,5)-(120,6))
- │ │ │ │ ├── receiver: ∅
- │ │ │ │ ├── call_operator_loc: ∅
- │ │ │ │ ├── name: :x
- │ │ │ │ ├── message_loc: (120,5)-(120,6) = "x"
- │ │ │ │ ├── opening_loc: ∅
- │ │ │ │ ├── arguments: ∅
- │ │ │ │ ├── closing_loc: ∅
- │ │ │ │ ├── block: ∅
- │ │ │ │ └── flags: variable_call
- │ │ │ ├── then_keyword_loc: ∅
- │ │ │ ├── statements:
- │ │ │ │ @ StatementsNode (location: (121,4)-(123,7))
- │ │ │ │ └── body: (length: 1)
- │ │ │ │ └── @ CallNode (location: (121,4)-(123,7))
- │ │ │ │ ├── receiver: ∅
- │ │ │ │ ├── call_operator_loc: ∅
- │ │ │ │ ├── name: :bar
- │ │ │ │ ├── message_loc: (121,4)-(121,7) = "bar"
- │ │ │ │ ├── opening_loc: ∅
- │ │ │ │ ├── arguments: ∅
- │ │ │ │ ├── closing_loc: ∅
- │ │ │ │ ├── block:
- │ │ │ │ │ @ BlockNode (location: (121,8)-(123,7))
- │ │ │ │ │ ├── locals: [:a]
- │ │ │ │ │ ├── locals_body_index: 1
- │ │ │ │ │ ├── parameters:
- │ │ │ │ │ │ @ BlockParametersNode (location: (121,11)-(121,14))
- │ │ │ │ │ │ ├── parameters:
- │ │ │ │ │ │ │ @ ParametersNode (location: (121,12)-(121,13))
- │ │ │ │ │ │ │ ├── requireds: (length: 1)
- │ │ │ │ │ │ │ │ └── @ RequiredParameterNode (location: (121,12)-(121,13))
- │ │ │ │ │ │ │ │ └── name: :a
- │ │ │ │ │ │ │ ├── optionals: (length: 0)
- │ │ │ │ │ │ │ ├── rest: ∅
- │ │ │ │ │ │ │ ├── posts: (length: 0)
- │ │ │ │ │ │ │ ├── keywords: (length: 0)
- │ │ │ │ │ │ │ ├── keyword_rest: ∅
- │ │ │ │ │ │ │ └── block: ∅
- │ │ │ │ │ │ ├── locals: (length: 0)
- │ │ │ │ │ │ ├── opening_loc: (121,11)-(121,12) = "|"
- │ │ │ │ │ │ └── closing_loc: (121,13)-(121,14) = "|"
- │ │ │ │ │ ├── body:
- │ │ │ │ │ │ @ StatementsNode (location: (122,6)-(122,7))
- │ │ │ │ │ │ └── body: (length: 1)
- │ │ │ │ │ │ └── @ LocalVariableReadNode (location: (122,6)-(122,7))
- │ │ │ │ │ │ ├── name: :a
- │ │ │ │ │ │ └── depth: 0
- │ │ │ │ │ ├── opening_loc: (121,8)-(121,10) = "do"
- │ │ │ │ │ └── closing_loc: (123,4)-(123,7) = "end"
- │ │ │ │ └── flags: ∅
- │ │ │ ├── consequent: ∅
- │ │ │ └── end_keyword_loc: (124,2)-(124,5) = "end"
- │ │ └── flags: ∅
+ │ │ ├── flags: ∅
+ │ │ └── arguments: (length: 2)
+ │ │ ├── @ SymbolNode (location: (119,4)-(119,6))
+ │ │ │ ├── opening_loc: (119,4)-(119,5) = ":"
+ │ │ │ ├── value_loc: (119,5)-(119,6) = "a"
+ │ │ │ ├── closing_loc: ∅
+ │ │ │ └── unescaped: "a"
+ │ │ └── @ IfNode (location: (120,2)-(124,5))
+ │ │ ├── if_keyword_loc: (120,2)-(120,4) = "if"
+ │ │ ├── predicate:
+ │ │ │ @ CallNode (location: (120,5)-(120,6))
+ │ │ │ ├── flags: variable_call
+ │ │ │ ├── receiver: ∅
+ │ │ │ ├── call_operator_loc: ∅
+ │ │ │ ├── name: :x
+ │ │ │ ├── message_loc: (120,5)-(120,6) = "x"
+ │ │ │ ├── opening_loc: ∅
+ │ │ │ ├── arguments: ∅
+ │ │ │ ├── closing_loc: ∅
+ │ │ │ └── block: ∅
+ │ │ ├── then_keyword_loc: ∅
+ │ │ ├── statements:
+ │ │ │ @ StatementsNode (location: (121,4)-(123,7))
+ │ │ │ └── body: (length: 1)
+ │ │ │ └── @ CallNode (location: (121,4)-(123,7))
+ │ │ │ ├── flags: ∅
+ │ │ │ ├── receiver: ∅
+ │ │ │ ├── call_operator_loc: ∅
+ │ │ │ ├── name: :bar
+ │ │ │ ├── message_loc: (121,4)-(121,7) = "bar"
+ │ │ │ ├── opening_loc: ∅
+ │ │ │ ├── arguments: ∅
+ │ │ │ ├── closing_loc: ∅
+ │ │ │ └── block:
+ │ │ │ @ BlockNode (location: (121,8)-(123,7))
+ │ │ │ ├── locals: [:a]
+ │ │ │ ├── locals_body_index: 1
+ │ │ │ ├── parameters:
+ │ │ │ │ @ BlockParametersNode (location: (121,11)-(121,14))
+ │ │ │ │ ├── parameters:
+ │ │ │ │ │ @ ParametersNode (location: (121,12)-(121,13))
+ │ │ │ │ │ ├── requireds: (length: 1)
+ │ │ │ │ │ │ └── @ RequiredParameterNode (location: (121,12)-(121,13))
+ │ │ │ │ │ │ └── name: :a
+ │ │ │ │ │ ├── optionals: (length: 0)
+ │ │ │ │ │ ├── rest: ∅
+ │ │ │ │ │ ├── posts: (length: 0)
+ │ │ │ │ │ ├── keywords: (length: 0)
+ │ │ │ │ │ ├── keyword_rest: ∅
+ │ │ │ │ │ └── block: ∅
+ │ │ │ │ ├── locals: (length: 0)
+ │ │ │ │ ├── opening_loc: (121,11)-(121,12) = "|"
+ │ │ │ │ └── closing_loc: (121,13)-(121,14) = "|"
+ │ │ │ ├── body:
+ │ │ │ │ @ StatementsNode (location: (122,6)-(122,7))
+ │ │ │ │ └── body: (length: 1)
+ │ │ │ │ └── @ LocalVariableReadNode (location: (122,6)-(122,7))
+ │ │ │ │ ├── name: :a
+ │ │ │ │ └── depth: 0
+ │ │ │ ├── opening_loc: (121,8)-(121,10) = "do"
+ │ │ │ └── closing_loc: (123,4)-(123,7) = "end"
+ │ │ ├── consequent: ∅
+ │ │ └── end_keyword_loc: (124,2)-(124,5) = "end"
│ ├── closing_loc: ∅
- │ ├── block: ∅
- │ └── flags: ∅
+ │ └── block: ∅
├── @ CallNode (location: (126,0)-(135,5))
+ │ ├── flags: ∅
│ ├── receiver: ∅
│ ├── call_operator_loc: ∅
│ ├── name: :foo
@@ -1907,107 +1908,107 @@
│ ├── opening_loc: ∅
│ ├── arguments:
│ │ @ ArgumentsNode (location: (126,4)-(135,5))
- │ │ ├── arguments: (length: 3)
- │ │ │ ├── @ SymbolNode (location: (126,4)-(126,6))
- │ │ │ │ ├── opening_loc: (126,4)-(126,5) = ":"
- │ │ │ │ ├── value_loc: (126,5)-(126,6) = "a"
- │ │ │ │ ├── closing_loc: ∅
- │ │ │ │ └── unescaped: "a"
- │ │ │ ├── @ WhileNode (location: (127,2)-(131,5))
- │ │ │ │ ├── keyword_loc: (127,2)-(127,7) = "while"
- │ │ │ │ ├── closing_loc: (131,2)-(131,5) = "end"
- │ │ │ │ ├── predicate:
- │ │ │ │ │ @ CallNode (location: (127,8)-(127,9))
- │ │ │ │ │ ├── receiver: ∅
- │ │ │ │ │ ├── call_operator_loc: ∅
- │ │ │ │ │ ├── name: :x
- │ │ │ │ │ ├── message_loc: (127,8)-(127,9) = "x"
- │ │ │ │ │ ├── opening_loc: ∅
- │ │ │ │ │ ├── arguments: ∅
- │ │ │ │ │ ├── closing_loc: ∅
- │ │ │ │ │ ├── block: ∅
- │ │ │ │ │ └── flags: variable_call
- │ │ │ │ ├── statements:
- │ │ │ │ │ @ StatementsNode (location: (128,4)-(130,7))
- │ │ │ │ │ └── body: (length: 1)
- │ │ │ │ │ └── @ CallNode (location: (128,4)-(130,7))
- │ │ │ │ │ ├── receiver: ∅
- │ │ │ │ │ ├── call_operator_loc: ∅
- │ │ │ │ │ ├── name: :bar
- │ │ │ │ │ ├── message_loc: (128,4)-(128,7) = "bar"
- │ │ │ │ │ ├── opening_loc: ∅
- │ │ │ │ │ ├── arguments: ∅
- │ │ │ │ │ ├── closing_loc: ∅
- │ │ │ │ │ ├── block:
- │ │ │ │ │ │ @ BlockNode (location: (128,8)-(130,7))
- │ │ │ │ │ │ ├── locals: [:a]
- │ │ │ │ │ │ ├── locals_body_index: 1
- │ │ │ │ │ │ ├── parameters:
- │ │ │ │ │ │ │ @ BlockParametersNode (location: (128,11)-(128,14))
- │ │ │ │ │ │ │ ├── parameters:
- │ │ │ │ │ │ │ │ @ ParametersNode (location: (128,12)-(128,13))
- │ │ │ │ │ │ │ │ ├── requireds: (length: 1)
- │ │ │ │ │ │ │ │ │ └── @ RequiredParameterNode (location: (128,12)-(128,13))
- │ │ │ │ │ │ │ │ │ └── name: :a
- │ │ │ │ │ │ │ │ ├── optionals: (length: 0)
- │ │ │ │ │ │ │ │ ├── rest: ∅
- │ │ │ │ │ │ │ │ ├── posts: (length: 0)
- │ │ │ │ │ │ │ │ ├── keywords: (length: 0)
- │ │ │ │ │ │ │ │ ├── keyword_rest: ∅
- │ │ │ │ │ │ │ │ └── block: ∅
- │ │ │ │ │ │ │ ├── locals: (length: 0)
- │ │ │ │ │ │ │ ├── opening_loc: (128,11)-(128,12) = "|"
- │ │ │ │ │ │ │ └── closing_loc: (128,13)-(128,14) = "|"
- │ │ │ │ │ │ ├── body:
- │ │ │ │ │ │ │ @ StatementsNode (location: (129,6)-(129,7))
- │ │ │ │ │ │ │ └── body: (length: 1)
- │ │ │ │ │ │ │ └── @ LocalVariableReadNode (location: (129,6)-(129,7))
- │ │ │ │ │ │ │ ├── name: :a
- │ │ │ │ │ │ │ └── depth: 0
- │ │ │ │ │ │ ├── opening_loc: (128,8)-(128,10) = "do"
- │ │ │ │ │ │ └── closing_loc: (130,4)-(130,7) = "end"
- │ │ │ │ │ └── flags: ∅
- │ │ │ │ └── flags: ∅
- │ │ │ └── @ UntilNode (location: (132,2)-(135,5))
- │ │ │ ├── keyword_loc: (132,2)-(132,7) = "until"
- │ │ │ ├── closing_loc: (135,2)-(135,5) = "end"
- │ │ │ ├── predicate:
- │ │ │ │ @ CallNode (location: (132,8)-(132,9))
- │ │ │ │ ├── receiver: ∅
- │ │ │ │ ├── call_operator_loc: ∅
- │ │ │ │ ├── name: :x
- │ │ │ │ ├── message_loc: (132,8)-(132,9) = "x"
- │ │ │ │ ├── opening_loc: ∅
- │ │ │ │ ├── arguments: ∅
- │ │ │ │ ├── closing_loc: ∅
- │ │ │ │ ├── block: ∅
- │ │ │ │ └── flags: variable_call
- │ │ │ ├── statements:
- │ │ │ │ @ StatementsNode (location: (133,4)-(134,7))
- │ │ │ │ └── body: (length: 1)
- │ │ │ │ └── @ CallNode (location: (133,4)-(134,7))
- │ │ │ │ ├── receiver: ∅
- │ │ │ │ ├── call_operator_loc: ∅
- │ │ │ │ ├── name: :baz
- │ │ │ │ ├── message_loc: (133,4)-(133,7) = "baz"
- │ │ │ │ ├── opening_loc: ∅
- │ │ │ │ ├── arguments: ∅
- │ │ │ │ ├── closing_loc: ∅
- │ │ │ │ ├── block:
- │ │ │ │ │ @ BlockNode (location: (133,8)-(134,7))
- │ │ │ │ │ ├── locals: []
- │ │ │ │ │ ├── locals_body_index: 0
- │ │ │ │ │ ├── parameters: ∅
- │ │ │ │ │ ├── body: ∅
- │ │ │ │ │ ├── opening_loc: (133,8)-(133,10) = "do"
- │ │ │ │ │ └── closing_loc: (134,4)-(134,7) = "end"
- │ │ │ │ └── flags: ∅
- │ │ │ └── flags: ∅
- │ │ └── flags: ∅
+ │ │ ├── flags: ∅
+ │ │ └── arguments: (length: 3)
+ │ │ ├── @ SymbolNode (location: (126,4)-(126,6))
+ │ │ │ ├── opening_loc: (126,4)-(126,5) = ":"
+ │ │ │ ├── value_loc: (126,5)-(126,6) = "a"
+ │ │ │ ├── closing_loc: ∅
+ │ │ │ └── unescaped: "a"
+ │ │ ├── @ WhileNode (location: (127,2)-(131,5))
+ │ │ │ ├── flags: ∅
+ │ │ │ ├── keyword_loc: (127,2)-(127,7) = "while"
+ │ │ │ ├── closing_loc: (131,2)-(131,5) = "end"
+ │ │ │ ├── predicate:
+ │ │ │ │ @ CallNode (location: (127,8)-(127,9))
+ │ │ │ │ ├── flags: variable_call
+ │ │ │ │ ├── receiver: ∅
+ │ │ │ │ ├── call_operator_loc: ∅
+ │ │ │ │ ├── name: :x
+ │ │ │ │ ├── message_loc: (127,8)-(127,9) = "x"
+ │ │ │ │ ├── opening_loc: ∅
+ │ │ │ │ ├── arguments: ∅
+ │ │ │ │ ├── closing_loc: ∅
+ │ │ │ │ └── block: ∅
+ │ │ │ └── statements:
+ │ │ │ @ StatementsNode (location: (128,4)-(130,7))
+ │ │ │ └── body: (length: 1)
+ │ │ │ └── @ CallNode (location: (128,4)-(130,7))
+ │ │ │ ├── flags: ∅
+ │ │ │ ├── receiver: ∅
+ │ │ │ ├── call_operator_loc: ∅
+ │ │ │ ├── name: :bar
+ │ │ │ ├── message_loc: (128,4)-(128,7) = "bar"
+ │ │ │ ├── opening_loc: ∅
+ │ │ │ ├── arguments: ∅
+ │ │ │ ├── closing_loc: ∅
+ │ │ │ └── block:
+ │ │ │ @ BlockNode (location: (128,8)-(130,7))
+ │ │ │ ├── locals: [:a]
+ │ │ │ ├── locals_body_index: 1
+ │ │ │ ├── parameters:
+ │ │ │ │ @ BlockParametersNode (location: (128,11)-(128,14))
+ │ │ │ │ ├── parameters:
+ │ │ │ │ │ @ ParametersNode (location: (128,12)-(128,13))
+ │ │ │ │ │ ├── requireds: (length: 1)
+ │ │ │ │ │ │ └── @ RequiredParameterNode (location: (128,12)-(128,13))
+ │ │ │ │ │ │ └── name: :a
+ │ │ │ │ │ ├── optionals: (length: 0)
+ │ │ │ │ │ ├── rest: ∅
+ │ │ │ │ │ ├── posts: (length: 0)
+ │ │ │ │ │ ├── keywords: (length: 0)
+ │ │ │ │ │ ├── keyword_rest: ∅
+ │ │ │ │ │ └── block: ∅
+ │ │ │ │ ├── locals: (length: 0)
+ │ │ │ │ ├── opening_loc: (128,11)-(128,12) = "|"
+ │ │ │ │ └── closing_loc: (128,13)-(128,14) = "|"
+ │ │ │ ├── body:
+ │ │ │ │ @ StatementsNode (location: (129,6)-(129,7))
+ │ │ │ │ └── body: (length: 1)
+ │ │ │ │ └── @ LocalVariableReadNode (location: (129,6)-(129,7))
+ │ │ │ │ ├── name: :a
+ │ │ │ │ └── depth: 0
+ │ │ │ ├── opening_loc: (128,8)-(128,10) = "do"
+ │ │ │ └── closing_loc: (130,4)-(130,7) = "end"
+ │ │ └── @ UntilNode (location: (132,2)-(135,5))
+ │ │ ├── flags: ∅
+ │ │ ├── keyword_loc: (132,2)-(132,7) = "until"
+ │ │ ├── closing_loc: (135,2)-(135,5) = "end"
+ │ │ ├── predicate:
+ │ │ │ @ CallNode (location: (132,8)-(132,9))
+ │ │ │ ├── flags: variable_call
+ │ │ │ ├── receiver: ∅
+ │ │ │ ├── call_operator_loc: ∅
+ │ │ │ ├── name: :x
+ │ │ │ ├── message_loc: (132,8)-(132,9) = "x"
+ │ │ │ ├── opening_loc: ∅
+ │ │ │ ├── arguments: ∅
+ │ │ │ ├── closing_loc: ∅
+ │ │ │ └── block: ∅
+ │ │ └── statements:
+ │ │ @ StatementsNode (location: (133,4)-(134,7))
+ │ │ └── body: (length: 1)
+ │ │ └── @ CallNode (location: (133,4)-(134,7))
+ │ │ ├── flags: ∅
+ │ │ ├── receiver: ∅
+ │ │ ├── call_operator_loc: ∅
+ │ │ ├── name: :baz
+ │ │ ├── message_loc: (133,4)-(133,7) = "baz"
+ │ │ ├── opening_loc: ∅
+ │ │ ├── arguments: ∅
+ │ │ ├── closing_loc: ∅
+ │ │ └── block:
+ │ │ @ BlockNode (location: (133,8)-(134,7))
+ │ │ ├── locals: []
+ │ │ ├── locals_body_index: 0
+ │ │ ├── parameters: ∅
+ │ │ ├── body: ∅
+ │ │ ├── opening_loc: (133,8)-(133,10) = "do"
+ │ │ └── closing_loc: (134,4)-(134,7) = "end"
│ ├── closing_loc: ∅
- │ ├── block: ∅
- │ └── flags: ∅
+ │ └── block: ∅
├── @ CallNode (location: (137,0)-(137,9))
+ │ ├── flags: ∅
│ ├── receiver:
│ │ @ HashNode (location: (137,0)-(137,2))
│ │ ├── opening_loc: (137,0)-(137,1) = "{"
@@ -2019,29 +2020,29 @@
│ ├── opening_loc: ∅
│ ├── arguments:
│ │ @ ArgumentsNode (location: (137,5)-(137,9))
- │ │ ├── arguments: (length: 1)
- │ │ │ └── @ CallNode (location: (137,5)-(137,9))
- │ │ │ ├── receiver: ∅
- │ │ │ ├── call_operator_loc: ∅
- │ │ │ ├── name: :A
- │ │ │ ├── message_loc: (137,5)-(137,6) = "A"
- │ │ │ ├── opening_loc: ∅
- │ │ │ ├── arguments: ∅
- │ │ │ ├── closing_loc: ∅
- │ │ │ ├── block:
- │ │ │ │ @ BlockNode (location: (137,7)-(137,9))
- │ │ │ │ ├── locals: []
- │ │ │ │ ├── locals_body_index: 0
- │ │ │ │ ├── parameters: ∅
- │ │ │ │ ├── body: ∅
- │ │ │ │ ├── opening_loc: (137,7)-(137,8) = "{"
- │ │ │ │ └── closing_loc: (137,8)-(137,9) = "}"
- │ │ │ └── flags: ∅
- │ │ └── flags: ∅
+ │ │ ├── flags: ∅
+ │ │ └── arguments: (length: 1)
+ │ │ └── @ CallNode (location: (137,5)-(137,9))
+ │ │ ├── flags: ∅
+ │ │ ├── receiver: ∅
+ │ │ ├── call_operator_loc: ∅
+ │ │ ├── name: :A
+ │ │ ├── message_loc: (137,5)-(137,6) = "A"
+ │ │ ├── opening_loc: ∅
+ │ │ ├── arguments: ∅
+ │ │ ├── closing_loc: ∅
+ │ │ └── block:
+ │ │ @ BlockNode (location: (137,7)-(137,9))
+ │ │ ├── locals: []
+ │ │ ├── locals_body_index: 0
+ │ │ ├── parameters: ∅
+ │ │ ├── body: ∅
+ │ │ ├── opening_loc: (137,7)-(137,8) = "{"
+ │ │ └── closing_loc: (137,8)-(137,9) = "}"
│ ├── closing_loc: ∅
- │ ├── block: ∅
- │ └── flags: ∅
+ │ └── block: ∅
├── @ CallNode (location: (139,0)-(139,16))
+ │ ├── flags: ∅
│ ├── receiver:
│ │ @ HashNode (location: (139,0)-(139,2))
│ │ ├── opening_loc: (139,0)-(139,1) = "{"
@@ -2053,51 +2054,52 @@
│ ├── opening_loc: ∅
│ ├── arguments:
│ │ @ ArgumentsNode (location: (139,5)-(139,16))
- │ │ ├── arguments: (length: 1)
- │ │ │ └── @ CallNode (location: (139,5)-(139,16))
- │ │ │ ├── receiver: ∅
- │ │ │ ├── call_operator_loc: ∅
- │ │ │ ├── name: :A
- │ │ │ ├── message_loc: (139,5)-(139,6) = "A"
- │ │ │ ├── opening_loc: ∅
- │ │ │ ├── arguments: ∅
- │ │ │ ├── closing_loc: ∅
- │ │ │ ├── block:
- │ │ │ │ @ BlockNode (location: (139,7)-(139,16))
- │ │ │ │ ├── locals: [:a]
- │ │ │ │ ├── locals_body_index: 1
- │ │ │ │ ├── parameters:
- │ │ │ │ │ @ BlockParametersNode (location: (139,9)-(139,12))
- │ │ │ │ │ ├── parameters:
- │ │ │ │ │ │ @ ParametersNode (location: (139,10)-(139,11))
- │ │ │ │ │ │ ├── requireds: (length: 1)
- │ │ │ │ │ │ │ └── @ RequiredParameterNode (location: (139,10)-(139,11))
- │ │ │ │ │ │ │ └── name: :a
- │ │ │ │ │ │ ├── optionals: (length: 0)
- │ │ │ │ │ │ ├── rest: ∅
- │ │ │ │ │ │ ├── posts: (length: 0)
- │ │ │ │ │ │ ├── keywords: (length: 0)
- │ │ │ │ │ │ ├── keyword_rest: ∅
- │ │ │ │ │ │ └── block: ∅
- │ │ │ │ │ ├── locals: (length: 0)
- │ │ │ │ │ ├── opening_loc: (139,9)-(139,10) = "|"
- │ │ │ │ │ └── closing_loc: (139,11)-(139,12) = "|"
- │ │ │ │ ├── body:
- │ │ │ │ │ @ StatementsNode (location: (139,13)-(139,14))
- │ │ │ │ │ └── body: (length: 1)
- │ │ │ │ │ └── @ LocalVariableReadNode (location: (139,13)-(139,14))
- │ │ │ │ │ ├── name: :a
- │ │ │ │ │ └── depth: 0
- │ │ │ │ ├── opening_loc: (139,7)-(139,8) = "{"
- │ │ │ │ └── closing_loc: (139,15)-(139,16) = "}"
- │ │ │ └── flags: ∅
- │ │ └── flags: ∅
+ │ │ ├── flags: ∅
+ │ │ └── arguments: (length: 1)
+ │ │ └── @ CallNode (location: (139,5)-(139,16))
+ │ │ ├── flags: ∅
+ │ │ ├── receiver: ∅
+ │ │ ├── call_operator_loc: ∅
+ │ │ ├── name: :A
+ │ │ ├── message_loc: (139,5)-(139,6) = "A"
+ │ │ ├── opening_loc: ∅
+ │ │ ├── arguments: ∅
+ │ │ ├── closing_loc: ∅
+ │ │ └── block:
+ │ │ @ BlockNode (location: (139,7)-(139,16))
+ │ │ ├── locals: [:a]
+ │ │ ├── locals_body_index: 1
+ │ │ ├── parameters:
+ │ │ │ @ BlockParametersNode (location: (139,9)-(139,12))
+ │ │ │ ├── parameters:
+ │ │ │ │ @ ParametersNode (location: (139,10)-(139,11))
+ │ │ │ │ ├── requireds: (length: 1)
+ │ │ │ │ │ └── @ RequiredParameterNode (location: (139,10)-(139,11))
+ │ │ │ │ │ └── name: :a
+ │ │ │ │ ├── optionals: (length: 0)
+ │ │ │ │ ├── rest: ∅
+ │ │ │ │ ├── posts: (length: 0)
+ │ │ │ │ ├── keywords: (length: 0)
+ │ │ │ │ ├── keyword_rest: ∅
+ │ │ │ │ └── block: ∅
+ │ │ │ ├── locals: (length: 0)
+ │ │ │ ├── opening_loc: (139,9)-(139,10) = "|"
+ │ │ │ └── closing_loc: (139,11)-(139,12) = "|"
+ │ │ ├── body:
+ │ │ │ @ StatementsNode (location: (139,13)-(139,14))
+ │ │ │ └── body: (length: 1)
+ │ │ │ └── @ LocalVariableReadNode (location: (139,13)-(139,14))
+ │ │ │ ├── name: :a
+ │ │ │ └── depth: 0
+ │ │ ├── opening_loc: (139,7)-(139,8) = "{"
+ │ │ └── closing_loc: (139,15)-(139,16) = "}"
│ ├── closing_loc: ∅
- │ ├── block: ∅
- │ └── flags: ∅
+ │ └── block: ∅
├── @ CallNode (location: (141,0)-(141,11))
+ │ ├── flags: ∅
│ ├── receiver:
│ │ @ CallNode (location: (141,0)-(141,4))
+ │ │ ├── flags: ∅
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
│ │ ├── name: :A
@@ -2105,46 +2107,46 @@
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
- │ │ ├── block:
- │ │ │ @ BlockNode (location: (141,2)-(141,4))
- │ │ │ ├── locals: []
- │ │ │ ├── locals_body_index: 0
- │ │ │ ├── parameters: ∅
- │ │ │ ├── body: ∅
- │ │ │ ├── opening_loc: (141,2)-(141,3) = "{"
- │ │ │ └── closing_loc: (141,3)-(141,4) = "}"
- │ │ └── flags: ∅
+ │ │ └── block:
+ │ │ @ BlockNode (location: (141,2)-(141,4))
+ │ │ ├── locals: []
+ │ │ ├── locals_body_index: 0
+ │ │ ├── parameters: ∅
+ │ │ ├── body: ∅
+ │ │ ├── opening_loc: (141,2)-(141,3) = "{"
+ │ │ └── closing_loc: (141,3)-(141,4) = "}"
│ ├── call_operator_loc: ∅
│ ├── name: :+
│ ├── message_loc: (141,5)-(141,6) = "+"
│ ├── opening_loc: ∅
│ ├── arguments:
│ │ @ ArgumentsNode (location: (141,7)-(141,11))
- │ │ ├── arguments: (length: 1)
- │ │ │ └── @ CallNode (location: (141,7)-(141,11))
- │ │ │ ├── receiver: ∅
- │ │ │ ├── call_operator_loc: ∅
- │ │ │ ├── name: :A
- │ │ │ ├── message_loc: (141,7)-(141,8) = "A"
- │ │ │ ├── opening_loc: ∅
- │ │ │ ├── arguments: ∅
- │ │ │ ├── closing_loc: ∅
- │ │ │ ├── block:
- │ │ │ │ @ BlockNode (location: (141,9)-(141,11))
- │ │ │ │ ├── locals: []
- │ │ │ │ ├── locals_body_index: 0
- │ │ │ │ ├── parameters: ∅
- │ │ │ │ ├── body: ∅
- │ │ │ │ ├── opening_loc: (141,9)-(141,10) = "{"
- │ │ │ │ └── closing_loc: (141,10)-(141,11) = "}"
- │ │ │ └── flags: ∅
- │ │ └── flags: ∅
+ │ │ ├── flags: ∅
+ │ │ └── arguments: (length: 1)
+ │ │ └── @ CallNode (location: (141,7)-(141,11))
+ │ │ ├── flags: ∅
+ │ │ ├── receiver: ∅
+ │ │ ├── call_operator_loc: ∅
+ │ │ ├── name: :A
+ │ │ ├── message_loc: (141,7)-(141,8) = "A"
+ │ │ ├── opening_loc: ∅
+ │ │ ├── arguments: ∅
+ │ │ ├── closing_loc: ∅
+ │ │ └── block:
+ │ │ @ BlockNode (location: (141,9)-(141,11))
+ │ │ ├── locals: []
+ │ │ ├── locals_body_index: 0
+ │ │ ├── parameters: ∅
+ │ │ ├── body: ∅
+ │ │ ├── opening_loc: (141,9)-(141,10) = "{"
+ │ │ └── closing_loc: (141,10)-(141,11) = "}"
│ ├── closing_loc: ∅
- │ ├── block: ∅
- │ └── flags: ∅
+ │ └── block: ∅
├── @ CallNode (location: (143,0)-(143,11))
+ │ ├── flags: ∅
│ ├── receiver:
│ │ @ CallNode (location: (143,0)-(143,3))
+ │ │ ├── flags: variable_call
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
│ │ ├── name: :lst
@@ -2152,36 +2154,34 @@
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
- │ │ ├── block: ∅
- │ │ └── flags: variable_call
+ │ │ └── block: ∅
│ ├── call_operator_loc: ∅
│ ├── name: :<<
│ ├── message_loc: (143,4)-(143,6) = "<<"
│ ├── opening_loc: ∅
│ ├── arguments:
│ │ @ ArgumentsNode (location: (143,7)-(143,11))
- │ │ ├── arguments: (length: 1)
- │ │ │ └── @ CallNode (location: (143,7)-(143,11))
- │ │ │ ├── receiver: ∅
- │ │ │ ├── call_operator_loc: ∅
- │ │ │ ├── name: :A
- │ │ │ ├── message_loc: (143,7)-(143,8) = "A"
- │ │ │ ├── opening_loc: ∅
- │ │ │ ├── arguments: ∅
- │ │ │ ├── closing_loc: ∅
- │ │ │ ├── block:
- │ │ │ │ @ BlockNode (location: (143,9)-(143,11))
- │ │ │ │ ├── locals: []
- │ │ │ │ ├── locals_body_index: 0
- │ │ │ │ ├── parameters: ∅
- │ │ │ │ ├── body: ∅
- │ │ │ │ ├── opening_loc: (143,9)-(143,10) = "{"
- │ │ │ │ └── closing_loc: (143,10)-(143,11) = "}"
- │ │ │ └── flags: ∅
- │ │ └── flags: ∅
+ │ │ ├── flags: ∅
+ │ │ └── arguments: (length: 1)
+ │ │ └── @ CallNode (location: (143,7)-(143,11))
+ │ │ ├── flags: ∅
+ │ │ ├── receiver: ∅
+ │ │ ├── call_operator_loc: ∅
+ │ │ ├── name: :A
+ │ │ ├── message_loc: (143,7)-(143,8) = "A"
+ │ │ ├── opening_loc: ∅
+ │ │ ├── arguments: ∅
+ │ │ ├── closing_loc: ∅
+ │ │ └── block:
+ │ │ @ BlockNode (location: (143,9)-(143,11))
+ │ │ ├── locals: []
+ │ │ ├── locals_body_index: 0
+ │ │ ├── parameters: ∅
+ │ │ ├── body: ∅
+ │ │ ├── opening_loc: (143,9)-(143,10) = "{"
+ │ │ └── closing_loc: (143,10)-(143,11) = "}"
│ ├── closing_loc: ∅
- │ ├── block: ∅
- │ └── flags: ∅
+ │ └── block: ∅
├── @ InterpolatedStringNode (location: (145,0)-(145,17))
│ ├── opening_loc: (145,0)-(145,1) = "\""
│ ├── parts: (length: 1)
@@ -2191,6 +2191,7 @@
│ │ │ @ StatementsNode (location: (145,4)-(145,14))
│ │ │ └── body: (length: 1)
│ │ │ └── @ CallNode (location: (145,4)-(145,14))
+ │ │ │ ├── flags: ∅
│ │ │ ├── receiver: ∅
│ │ │ ├── call_operator_loc: ∅
│ │ │ ├── name: :join
@@ -2198,23 +2199,22 @@
│ │ │ ├── opening_loc: ∅
│ │ │ ├── arguments:
│ │ │ │ @ ArgumentsNode (location: (145,9)-(145,14))
- │ │ │ │ ├── arguments: (length: 1)
- │ │ │ │ │ └── @ ParenthesesNode (location: (145,9)-(145,14))
- │ │ │ │ │ ├── body:
- │ │ │ │ │ │ @ StatementsNode (location: (145,10)-(145,13))
- │ │ │ │ │ │ └── body: (length: 1)
- │ │ │ │ │ │ └── @ StringNode (location: (145,10)-(145,13))
- │ │ │ │ │ │ ├── flags: ∅
- │ │ │ │ │ │ ├── opening_loc: (145,10)-(145,11) = "\""
- │ │ │ │ │ │ ├── content_loc: (145,11)-(145,12) = " "
- │ │ │ │ │ │ ├── closing_loc: (145,12)-(145,13) = "\""
- │ │ │ │ │ │ └── unescaped: " "
- │ │ │ │ │ ├── opening_loc: (145,9)-(145,10) = "("
- │ │ │ │ │ └── closing_loc: (145,13)-(145,14) = ")"
- │ │ │ │ └── flags: ∅
+ │ │ │ │ ├── flags: ∅
+ │ │ │ │ └── arguments: (length: 1)
+ │ │ │ │ └── @ ParenthesesNode (location: (145,9)-(145,14))
+ │ │ │ │ ├── body:
+ │ │ │ │ │ @ StatementsNode (location: (145,10)-(145,13))
+ │ │ │ │ │ └── body: (length: 1)
+ │ │ │ │ │ └── @ StringNode (location: (145,10)-(145,13))
+ │ │ │ │ │ ├── flags: ∅
+ │ │ │ │ │ ├── opening_loc: (145,10)-(145,11) = "\""
+ │ │ │ │ │ ├── content_loc: (145,11)-(145,12) = " "
+ │ │ │ │ │ ├── closing_loc: (145,12)-(145,13) = "\""
+ │ │ │ │ │ └── unescaped: " "
+ │ │ │ │ ├── opening_loc: (145,9)-(145,10) = "("
+ │ │ │ │ └── closing_loc: (145,13)-(145,14) = ")"
│ │ │ ├── closing_loc: ∅
- │ │ │ ├── block: ∅
- │ │ │ └── flags: ∅
+ │ │ │ └── block: ∅
│ │ └── closing_loc: (145,15)-(145,16) = "}"
│ └── closing_loc: (145,16)-(145,17) = "\""
├── @ InterpolatedStringNode (location: (147,0)-(147,8))
@@ -2230,6 +2230,7 @@
│ │ │ │ @ StatementsNode (location: (147,4)-(147,5))
│ │ │ │ └── body: (length: 1)
│ │ │ │ └── @ CallNode (location: (147,4)-(147,5))
+ │ │ │ │ ├── flags: variable_call
│ │ │ │ ├── receiver: ∅
│ │ │ │ ├── call_operator_loc: ∅
│ │ │ │ ├── name: :v
@@ -2237,8 +2238,7 @@
│ │ │ │ ├── opening_loc: ∅
│ │ │ │ ├── arguments: ∅
│ │ │ │ ├── closing_loc: ∅
- │ │ │ │ ├── block: ∅
- │ │ │ │ └── flags: variable_call
+ │ │ │ │ └── block: ∅
│ │ │ ├── opening_loc: (147,3)-(147,4) = "("
│ │ │ └── closing_loc: (147,5)-(147,6) = ")"
│ │ └── closing_loc: (147,6)-(147,7) = "}"
@@ -2264,6 +2264,7 @@
│ @ StatementsNode (location: (149,10)-(149,13))
│ └── body: (length: 1)
│ └── @ CallNode (location: (149,10)-(149,13))
+ │ ├── flags: ∅
│ ├── receiver: ∅
│ ├── call_operator_loc: ∅
│ ├── name: :p
@@ -2271,14 +2272,13 @@
│ ├── opening_loc: ∅
│ ├── arguments:
│ │ @ ArgumentsNode (location: (149,12)-(149,13))
- │ │ ├── arguments: (length: 1)
- │ │ │ └── @ SplatNode (location: (149,12)-(149,13))
- │ │ │ ├── operator_loc: (149,12)-(149,13) = "*"
- │ │ │ └── expression: ∅
- │ │ └── flags: ∅
+ │ │ ├── flags: ∅
+ │ │ └── arguments: (length: 1)
+ │ │ └── @ SplatNode (location: (149,12)-(149,13))
+ │ │ ├── operator_loc: (149,12)-(149,13) = "*"
+ │ │ └── expression: ∅
│ ├── closing_loc: ∅
- │ ├── block: ∅
- │ └── flags: ∅
+ │ └── block: ∅
├── locals: [:*]
├── locals_body_index: 1
├── def_keyword_loc: (149,0)-(149,3) = "def"
diff --git a/test/prism/snapshots/methods.txt b/test/prism/snapshots/methods.txt
index 8076c0f305..4d36cae2ac 100644
--- a/test/prism/snapshots/methods.txt
+++ b/test/prism/snapshots/methods.txt
@@ -116,6 +116,7 @@
│ │ @ ParenthesesNode (location: (10,4)-(10,7))
│ │ ├── body:
│ │ │ @ CallNode (location: (10,5)-(10,6))
+ │ │ │ ├── flags: variable_call
│ │ │ ├── receiver: ∅
│ │ │ ├── call_operator_loc: ∅
│ │ │ ├── name: :b
@@ -123,8 +124,7 @@
│ │ │ ├── opening_loc: ∅
│ │ │ ├── arguments: ∅
│ │ │ ├── closing_loc: ∅
- │ │ │ ├── block: ∅
- │ │ │ └── flags: variable_call
+ │ │ │ └── block: ∅
│ │ ├── opening_loc: (10,4)-(10,5) = "("
│ │ └── closing_loc: (10,6)-(10,7) = ")"
│ ├── parameters: ∅
@@ -144,6 +144,7 @@
│ │ @ ParenthesesNode (location: (13,4)-(13,7))
│ │ ├── body:
│ │ │ @ CallNode (location: (13,5)-(13,6))
+ │ │ │ ├── flags: variable_call
│ │ │ ├── receiver: ∅
│ │ │ ├── call_operator_loc: ∅
│ │ │ ├── name: :a
@@ -151,8 +152,7 @@
│ │ │ ├── opening_loc: ∅
│ │ │ ├── arguments: ∅
│ │ │ ├── closing_loc: ∅
- │ │ │ ├── block: ∅
- │ │ │ └── flags: variable_call
+ │ │ │ └── block: ∅
│ │ ├── opening_loc: (13,4)-(13,5) = "("
│ │ └── closing_loc: (13,6)-(13,7) = ")"
│ ├── parameters: ∅
@@ -224,6 +224,7 @@
│ ├── name_loc: (25,6)-(25,7) = "b"
│ ├── receiver:
│ │ @ CallNode (location: (25,4)-(25,5))
+ │ │ ├── flags: variable_call
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
│ │ ├── name: :a
@@ -231,8 +232,7 @@
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
- │ │ ├── block: ∅
- │ │ └── flags: variable_call
+ │ │ └── block: ∅
│ ├── parameters: ∅
│ ├── body: ∅
│ ├── locals: []
@@ -812,13 +812,13 @@
│ │ │ │ ├── keyword_loc: (99,0)-(99,6) = "return"
│ │ │ │ └── arguments:
│ │ │ │ @ ArgumentsNode (location: (99,7)-(99,10))
- │ │ │ │ ├── arguments: (length: 1)
- │ │ │ │ │ └── @ SymbolNode (location: (99,7)-(99,10))
- │ │ │ │ │ ├── opening_loc: (99,7)-(99,8) = ":"
- │ │ │ │ │ ├── value_loc: (99,8)-(99,10) = "hi"
- │ │ │ │ │ ├── closing_loc: ∅
- │ │ │ │ │ └── unescaped: "hi"
- │ │ │ │ └── flags: ∅
+ │ │ │ │ ├── flags: ∅
+ │ │ │ │ └── arguments: (length: 1)
+ │ │ │ │ └── @ SymbolNode (location: (99,7)-(99,10))
+ │ │ │ │ ├── opening_loc: (99,7)-(99,8) = ":"
+ │ │ │ │ ├── value_loc: (99,8)-(99,10) = "hi"
+ │ │ │ │ ├── closing_loc: ∅
+ │ │ │ │ └── unescaped: "hi"
│ │ │ ├── consequent: ∅
│ │ │ └── end_keyword_loc: ∅
│ │ └── @ SymbolNode (location: (100,0)-(100,4))
@@ -937,6 +937,7 @@
│ │ @ StatementsNode (location: (110,10)-(110,14))
│ │ └── body: (length: 1)
│ │ └── @ CallNode (location: (110,10)-(110,14))
+ │ │ ├── flags: ∅
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
│ │ ├── name: :b
@@ -944,14 +945,13 @@
│ │ ├── opening_loc: (110,11)-(110,12) = "("
│ │ ├── arguments:
│ │ │ @ ArgumentsNode (location: (110,12)-(110,13))
- │ │ │ ├── arguments: (length: 1)
- │ │ │ │ └── @ SplatNode (location: (110,12)-(110,13))
- │ │ │ │ ├── operator_loc: (110,12)-(110,13) = "*"
- │ │ │ │ └── expression: ∅
- │ │ │ └── flags: ∅
+ │ │ │ ├── flags: ∅
+ │ │ │ └── arguments: (length: 1)
+ │ │ │ └── @ SplatNode (location: (110,12)-(110,13))
+ │ │ │ ├── operator_loc: (110,12)-(110,13) = "*"
+ │ │ │ └── expression: ∅
│ │ ├── closing_loc: (110,13)-(110,14) = ")"
- │ │ ├── block: ∅
- │ │ └── flags: ∅
+ │ │ └── block: ∅
│ ├── locals: [:*]
│ ├── locals_body_index: 1
│ ├── def_keyword_loc: (110,0)-(110,3) = "def"
@@ -978,6 +978,7 @@
│ │ @ StatementsNode (location: (112,12)-(112,18))
│ │ └── body: (length: 1)
│ │ └── @ CallNode (location: (112,12)-(112,18))
+ │ │ ├── flags: ∅
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
│ │ ├── name: :b
@@ -985,12 +986,11 @@
│ │ ├── opening_loc: (112,13)-(112,14) = "("
│ │ ├── arguments:
│ │ │ @ ArgumentsNode (location: (112,14)-(112,17))
- │ │ │ ├── arguments: (length: 1)
- │ │ │ │ └── @ ForwardingArgumentsNode (location: (112,14)-(112,17))
- │ │ │ └── flags: ∅
+ │ │ │ ├── flags: ∅
+ │ │ │ └── arguments: (length: 1)
+ │ │ │ └── @ ForwardingArgumentsNode (location: (112,14)-(112,17))
│ │ ├── closing_loc: (112,17)-(112,18) = ")"
- │ │ ├── block: ∅
- │ │ └── flags: ∅
+ │ │ └── block: ∅
│ ├── locals: [:"..."]
│ ├── locals_body_index: 1
│ ├── def_keyword_loc: (112,0)-(112,3) = "def"
@@ -1017,6 +1017,7 @@
│ │ @ StatementsNode (location: (114,12)-(114,24))
│ │ └── body: (length: 1)
│ │ └── @ CallNode (location: (114,12)-(114,24))
+ │ │ ├── flags: ∅
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
│ │ ├── name: :b
@@ -1024,16 +1025,15 @@
│ │ ├── opening_loc: (114,13)-(114,14) = "("
│ │ ├── arguments:
│ │ │ @ ArgumentsNode (location: (114,14)-(114,23))
- │ │ │ ├── arguments: (length: 3)
- │ │ │ │ ├── @ IntegerNode (location: (114,14)-(114,15))
- │ │ │ │ │ └── flags: decimal
- │ │ │ │ ├── @ IntegerNode (location: (114,17)-(114,18))
- │ │ │ │ │ └── flags: decimal
- │ │ │ │ └── @ ForwardingArgumentsNode (location: (114,20)-(114,23))
- │ │ │ └── flags: ∅
+ │ │ │ ├── flags: ∅
+ │ │ │ └── arguments: (length: 3)
+ │ │ │ ├── @ IntegerNode (location: (114,14)-(114,15))
+ │ │ │ │ └── flags: decimal
+ │ │ │ ├── @ IntegerNode (location: (114,17)-(114,18))
+ │ │ │ │ └── flags: decimal
+ │ │ │ └── @ ForwardingArgumentsNode (location: (114,20)-(114,23))
│ │ ├── closing_loc: (114,23)-(114,24) = ")"
- │ │ ├── block: ∅
- │ │ └── flags: ∅
+ │ │ └── block: ∅
│ ├── locals: [:"..."]
│ ├── locals_body_index: 1
│ ├── def_keyword_loc: (114,0)-(114,3) = "def"
@@ -1054,6 +1054,7 @@
│ │ │ ├── name_loc: (116,5)-(116,6) = "c"
│ │ │ ├── value:
│ │ │ │ @ CallNode (location: (116,9)-(116,10))
+ │ │ │ │ ├── flags: variable_call
│ │ │ │ ├── receiver: ∅
│ │ │ │ ├── call_operator_loc: ∅
│ │ │ │ ├── name: :b
@@ -1061,8 +1062,7 @@
│ │ │ │ ├── opening_loc: ∅
│ │ │ │ ├── arguments: ∅
│ │ │ │ ├── closing_loc: ∅
- │ │ │ │ ├── block: ∅
- │ │ │ │ └── flags: variable_call
+ │ │ │ │ └── block: ∅
│ │ │ └── operator_loc: (116,7)-(116,8) = "="
│ │ ├── opening_loc: (116,4)-(116,5) = "("
│ │ └── closing_loc: (116,10)-(116,11) = ")"
@@ -1156,6 +1156,7 @@
│ │ │ ├── name_loc: (128,5)-(128,6) = "a"
│ │ │ ├── value:
│ │ │ │ @ CallNode (location: (128,9)-(128,10))
+ │ │ │ │ ├── flags: variable_call
│ │ │ │ ├── receiver: ∅
│ │ │ │ ├── call_operator_loc: ∅
│ │ │ │ ├── name: :b
@@ -1163,8 +1164,7 @@
│ │ │ │ ├── opening_loc: ∅
│ │ │ │ ├── arguments: ∅
│ │ │ │ ├── closing_loc: ∅
- │ │ │ │ ├── block: ∅
- │ │ │ │ └── flags: variable_call
+ │ │ │ │ └── block: ∅
│ │ │ └── operator_loc: (128,7)-(128,8) = "="
│ │ ├── opening_loc: (128,4)-(128,5) = "("
│ │ └── closing_loc: (128,10)-(128,11) = ")"
@@ -1248,6 +1248,7 @@
│ │ │ │ @ StatementsNode (location: (136,18)-(136,24))
│ │ │ │ └── body: (length: 1)
│ │ │ │ └── @ CallNode (location: (136,18)-(136,24))
+ │ │ │ │ ├── flags: ∅
│ │ │ │ ├── receiver: ∅
│ │ │ │ ├── call_operator_loc: ∅
│ │ │ │ ├── name: :b
@@ -1255,12 +1256,11 @@
│ │ │ │ ├── opening_loc: (136,19)-(136,20) = "("
│ │ │ │ ├── arguments:
│ │ │ │ │ @ ArgumentsNode (location: (136,20)-(136,23))
- │ │ │ │ │ ├── arguments: (length: 1)
- │ │ │ │ │ │ └── @ ForwardingArgumentsNode (location: (136,20)-(136,23))
- │ │ │ │ │ └── flags: ∅
+ │ │ │ │ │ ├── flags: ∅
+ │ │ │ │ │ └── arguments: (length: 1)
+ │ │ │ │ │ └── @ ForwardingArgumentsNode (location: (136,20)-(136,23))
│ │ │ │ ├── closing_loc: (136,23)-(136,24) = ")"
- │ │ │ │ ├── block: ∅
- │ │ │ │ └── flags: ∅
+ │ │ │ │ └── block: ∅
│ │ │ └── closing_loc: (136,24)-(136,25) = "}"
│ │ └── closing_loc: (136,25)-(136,26) = "\""
│ ├── locals: [:"..."]
@@ -1280,6 +1280,7 @@
│ │ @ StatementsNode (location: (139,2)-(139,30))
│ │ └── body: (length: 1)
│ │ └── @ CallNode (location: (139,2)-(139,30))
+ │ │ ├── flags: ∅
│ │ ├── receiver:
│ │ │ @ HashNode (location: (139,2)-(139,4))
│ │ │ ├── opening_loc: (139,2)-(139,3) = "{"
@@ -1291,52 +1292,51 @@
│ │ ├── opening_loc: ∅
│ │ ├── arguments:
│ │ │ @ ArgumentsNode (location: (139,11)-(139,30))
- │ │ │ ├── arguments: (length: 1)
- │ │ │ │ └── @ KeywordHashNode (location: (139,11)-(139,30))
- │ │ │ │ └── elements: (length: 3)
- │ │ │ │ ├── @ AssocSplatNode (location: (139,11)-(139,16))
- │ │ │ │ │ ├── value:
- │ │ │ │ │ │ @ CallNode (location: (139,13)-(139,16))
- │ │ │ │ │ │ ├── receiver: ∅
- │ │ │ │ │ │ ├── call_operator_loc: ∅
- │ │ │ │ │ │ ├── name: :bar
- │ │ │ │ │ │ ├── message_loc: (139,13)-(139,16) = "bar"
- │ │ │ │ │ │ ├── opening_loc: ∅
- │ │ │ │ │ │ ├── arguments: ∅
- │ │ │ │ │ │ ├── closing_loc: ∅
- │ │ │ │ │ │ ├── block: ∅
- │ │ │ │ │ │ └── flags: variable_call
- │ │ │ │ │ └── operator_loc: (139,11)-(139,13) = "**"
- │ │ │ │ ├── @ AssocSplatNode (location: (139,18)-(139,23))
- │ │ │ │ │ ├── value:
- │ │ │ │ │ │ @ CallNode (location: (139,20)-(139,23))
- │ │ │ │ │ │ ├── receiver: ∅
- │ │ │ │ │ │ ├── call_operator_loc: ∅
- │ │ │ │ │ │ ├── name: :baz
- │ │ │ │ │ │ ├── message_loc: (139,20)-(139,23) = "baz"
- │ │ │ │ │ │ ├── opening_loc: ∅
- │ │ │ │ │ │ ├── arguments: ∅
- │ │ │ │ │ │ ├── closing_loc: ∅
- │ │ │ │ │ │ ├── block: ∅
- │ │ │ │ │ │ └── flags: variable_call
- │ │ │ │ │ └── operator_loc: (139,18)-(139,20) = "**"
- │ │ │ │ └── @ AssocSplatNode (location: (139,25)-(139,30))
- │ │ │ │ ├── value:
- │ │ │ │ │ @ CallNode (location: (139,27)-(139,30))
- │ │ │ │ │ ├── receiver: ∅
- │ │ │ │ │ ├── call_operator_loc: ∅
- │ │ │ │ │ ├── name: :qux
- │ │ │ │ │ ├── message_loc: (139,27)-(139,30) = "qux"
- │ │ │ │ │ ├── opening_loc: ∅
- │ │ │ │ │ ├── arguments: ∅
- │ │ │ │ │ ├── closing_loc: ∅
- │ │ │ │ │ ├── block: ∅
- │ │ │ │ │ └── flags: variable_call
- │ │ │ │ └── operator_loc: (139,25)-(139,27) = "**"
- │ │ │ └── flags: contains_keyword_splat
+ │ │ │ ├── flags: contains_keyword_splat
+ │ │ │ └── arguments: (length: 1)
+ │ │ │ └── @ KeywordHashNode (location: (139,11)-(139,30))
+ │ │ │ └── elements: (length: 3)
+ │ │ │ ├── @ AssocSplatNode (location: (139,11)-(139,16))
+ │ │ │ │ ├── value:
+ │ │ │ │ │ @ CallNode (location: (139,13)-(139,16))
+ │ │ │ │ │ ├── flags: variable_call
+ │ │ │ │ │ ├── receiver: ∅
+ │ │ │ │ │ ├── call_operator_loc: ∅
+ │ │ │ │ │ ├── name: :bar
+ │ │ │ │ │ ├── message_loc: (139,13)-(139,16) = "bar"
+ │ │ │ │ │ ├── opening_loc: ∅
+ │ │ │ │ │ ├── arguments: ∅
+ │ │ │ │ │ ├── closing_loc: ∅
+ │ │ │ │ │ └── block: ∅
+ │ │ │ │ └── operator_loc: (139,11)-(139,13) = "**"
+ │ │ │ ├── @ AssocSplatNode (location: (139,18)-(139,23))
+ │ │ │ │ ├── value:
+ │ │ │ │ │ @ CallNode (location: (139,20)-(139,23))
+ │ │ │ │ │ ├── flags: variable_call
+ │ │ │ │ │ ├── receiver: ∅
+ │ │ │ │ │ ├── call_operator_loc: ∅
+ │ │ │ │ │ ├── name: :baz
+ │ │ │ │ │ ├── message_loc: (139,20)-(139,23) = "baz"
+ │ │ │ │ │ ├── opening_loc: ∅
+ │ │ │ │ │ ├── arguments: ∅
+ │ │ │ │ │ ├── closing_loc: ∅
+ │ │ │ │ │ └── block: ∅
+ │ │ │ │ └── operator_loc: (139,18)-(139,20) = "**"
+ │ │ │ └── @ AssocSplatNode (location: (139,25)-(139,30))
+ │ │ │ ├── value:
+ │ │ │ │ @ CallNode (location: (139,27)-(139,30))
+ │ │ │ │ ├── flags: variable_call
+ │ │ │ │ ├── receiver: ∅
+ │ │ │ │ ├── call_operator_loc: ∅
+ │ │ │ │ ├── name: :qux
+ │ │ │ │ ├── message_loc: (139,27)-(139,30) = "qux"
+ │ │ │ │ ├── opening_loc: ∅
+ │ │ │ │ ├── arguments: ∅
+ │ │ │ │ ├── closing_loc: ∅
+ │ │ │ │ └── block: ∅
+ │ │ │ └── operator_loc: (139,25)-(139,27) = "**"
│ │ ├── closing_loc: ∅
- │ │ ├── block: ∅
- │ │ └── flags: ∅
+ │ │ └── block: ∅
│ ├── locals: []
│ ├── locals_body_index: 0
│ ├── def_keyword_loc: (138,0)-(138,3) = "def"
@@ -1365,14 +1365,14 @@
│ │ │ │ @ StatementsNode (location: (142,12)-(142,18))
│ │ │ │ └── body: (length: 1)
│ │ │ │ └── @ RangeNode (location: (142,12)-(142,18))
+ │ │ │ │ ├── flags: exclude_end
│ │ │ │ ├── left:
│ │ │ │ │ @ IntegerNode (location: (142,12)-(142,13))
│ │ │ │ │ └── flags: decimal
│ │ │ │ ├── right:
│ │ │ │ │ @ IntegerNode (location: (142,16)-(142,18))
│ │ │ │ │ └── flags: decimal
- │ │ │ │ ├── operator_loc: (142,13)-(142,16) = "..."
- │ │ │ │ └── flags: exclude_end
+ │ │ │ │ └── operator_loc: (142,13)-(142,16) = "..."
│ │ │ ├── opening_loc: (142,11)-(142,12) = "("
│ │ │ └── closing_loc: (142,18)-(142,19) = ")"
│ │ ├── keyword_rest: ∅
@@ -1406,12 +1406,12 @@
│ │ │ │ @ StatementsNode (location: (145,12)-(145,17))
│ │ │ │ └── body: (length: 1)
│ │ │ │ └── @ RangeNode (location: (145,12)-(145,17))
+ │ │ │ │ ├── flags: exclude_end
│ │ │ │ ├── left: ∅
│ │ │ │ ├── right:
│ │ │ │ │ @ IntegerNode (location: (145,15)-(145,17))
│ │ │ │ │ └── flags: decimal
- │ │ │ │ ├── operator_loc: (145,12)-(145,15) = "..."
- │ │ │ │ └── flags: exclude_end
+ │ │ │ │ └── operator_loc: (145,12)-(145,15) = "..."
│ │ │ ├── opening_loc: (145,11)-(145,12) = "("
│ │ │ └── closing_loc: (145,17)-(145,18) = ")"
│ │ ├── keyword_rest: ∅
@@ -1445,12 +1445,12 @@
│ │ │ │ @ StatementsNode (location: (148,12)-(148,16))
│ │ │ │ └── body: (length: 1)
│ │ │ │ └── @ RangeNode (location: (148,12)-(148,16))
+ │ │ │ │ ├── flags: exclude_end
│ │ │ │ ├── left:
│ │ │ │ │ @ IntegerNode (location: (148,12)-(148,13))
│ │ │ │ │ └── flags: decimal
│ │ │ │ ├── right: ∅
- │ │ │ │ ├── operator_loc: (148,13)-(148,16) = "..."
- │ │ │ │ └── flags: exclude_end
+ │ │ │ │ └── operator_loc: (148,13)-(148,16) = "..."
│ │ │ ├── opening_loc: (148,11)-(148,12) = "("
│ │ │ └── closing_loc: (148,16)-(148,17) = ")"
│ │ ├── keyword_rest: ∅
@@ -1482,14 +1482,14 @@
│ │ │ │ @ StatementsNode (location: (151,13)-(151,19))
│ │ │ │ └── body: (length: 1)
│ │ │ │ └── @ RangeNode (location: (151,13)-(151,19))
+ │ │ │ │ ├── flags: exclude_end
│ │ │ │ ├── left:
│ │ │ │ │ @ IntegerNode (location: (151,13)-(151,14))
│ │ │ │ │ └── flags: decimal
│ │ │ │ ├── right:
│ │ │ │ │ @ IntegerNode (location: (151,17)-(151,19))
│ │ │ │ │ └── flags: decimal
- │ │ │ │ ├── operator_loc: (151,14)-(151,17) = "..."
- │ │ │ │ └── flags: exclude_end
+ │ │ │ │ └── operator_loc: (151,14)-(151,17) = "..."
│ │ │ ├── opening_loc: (151,12)-(151,13) = "("
│ │ │ └── closing_loc: (151,19)-(151,20) = ")"
│ │ ├── rest: ∅
@@ -1524,12 +1524,12 @@
│ │ │ │ @ StatementsNode (location: (154,13)-(154,18))
│ │ │ │ └── body: (length: 1)
│ │ │ │ └── @ RangeNode (location: (154,13)-(154,18))
+ │ │ │ │ ├── flags: exclude_end
│ │ │ │ ├── left: ∅
│ │ │ │ ├── right:
│ │ │ │ │ @ IntegerNode (location: (154,16)-(154,18))
│ │ │ │ │ └── flags: decimal
- │ │ │ │ ├── operator_loc: (154,13)-(154,16) = "..."
- │ │ │ │ └── flags: exclude_end
+ │ │ │ │ └── operator_loc: (154,13)-(154,16) = "..."
│ │ │ ├── opening_loc: (154,12)-(154,13) = "("
│ │ │ └── closing_loc: (154,18)-(154,19) = ")"
│ │ ├── rest: ∅
@@ -1564,12 +1564,12 @@
│ │ │ │ @ StatementsNode (location: (157,13)-(157,17))
│ │ │ │ └── body: (length: 1)
│ │ │ │ └── @ RangeNode (location: (157,13)-(157,17))
+ │ │ │ │ ├── flags: exclude_end
│ │ │ │ ├── left:
│ │ │ │ │ @ IntegerNode (location: (157,13)-(157,14))
│ │ │ │ │ └── flags: decimal
│ │ │ │ ├── right: ∅
- │ │ │ │ ├── operator_loc: (157,14)-(157,17) = "..."
- │ │ │ │ └── flags: exclude_end
+ │ │ │ │ └── operator_loc: (157,14)-(157,17) = "..."
│ │ │ ├── opening_loc: (157,12)-(157,13) = "("
│ │ │ └── closing_loc: (157,17)-(157,18) = ")"
│ │ ├── rest: ∅
@@ -1605,8 +1605,10 @@
│ │ @ StatementsNode (location: (161,2)-(161,14))
│ │ └── body: (length: 1)
│ │ └── @ CallNode (location: (161,2)-(161,14))
+ │ │ ├── flags: ∅
│ │ ├── receiver:
│ │ │ @ CallNode (location: (161,2)-(161,6))
+ │ │ │ ├── flags: variable_call
│ │ │ ├── receiver: ∅
│ │ │ ├── call_operator_loc: ∅
│ │ │ ├── name: :item
@@ -1614,36 +1616,34 @@
│ │ │ ├── opening_loc: ∅
│ │ │ ├── arguments: ∅
│ │ │ ├── closing_loc: ∅
- │ │ │ ├── block: ∅
- │ │ │ └── flags: variable_call
+ │ │ │ └── block: ∅
│ │ ├── call_operator_loc: ∅
│ │ ├── name: :>>
│ │ ├── message_loc: (161,7)-(161,9) = ">>"
│ │ ├── opening_loc: ∅
│ │ ├── arguments:
│ │ │ @ ArgumentsNode (location: (161,10)-(161,14))
- │ │ │ ├── arguments: (length: 1)
- │ │ │ │ └── @ CallNode (location: (161,10)-(161,14))
- │ │ │ │ ├── receiver: ∅
- │ │ │ │ ├── call_operator_loc: ∅
- │ │ │ │ ├── name: :a
- │ │ │ │ ├── message_loc: (161,10)-(161,11) = "a"
- │ │ │ │ ├── opening_loc: ∅
- │ │ │ │ ├── arguments: ∅
- │ │ │ │ ├── closing_loc: ∅
- │ │ │ │ ├── block:
- │ │ │ │ │ @ BlockNode (location: (161,12)-(161,14))
- │ │ │ │ │ ├── locals: []
- │ │ │ │ │ ├── locals_body_index: 0
- │ │ │ │ │ ├── parameters: ∅
- │ │ │ │ │ ├── body: ∅
- │ │ │ │ │ ├── opening_loc: (161,12)-(161,13) = "{"
- │ │ │ │ │ └── closing_loc: (161,13)-(161,14) = "}"
- │ │ │ │ └── flags: ∅
- │ │ │ └── flags: ∅
+ │ │ │ ├── flags: ∅
+ │ │ │ └── arguments: (length: 1)
+ │ │ │ └── @ CallNode (location: (161,10)-(161,14))
+ │ │ │ ├── flags: ∅
+ │ │ │ ├── receiver: ∅
+ │ │ │ ├── call_operator_loc: ∅
+ │ │ │ ├── name: :a
+ │ │ │ ├── message_loc: (161,10)-(161,11) = "a"
+ │ │ │ ├── opening_loc: ∅
+ │ │ │ ├── arguments: ∅
+ │ │ │ ├── closing_loc: ∅
+ │ │ │ └── block:
+ │ │ │ @ BlockNode (location: (161,12)-(161,14))
+ │ │ │ ├── locals: []
+ │ │ │ ├── locals_body_index: 0
+ │ │ │ ├── parameters: ∅
+ │ │ │ ├── body: ∅
+ │ │ │ ├── opening_loc: (161,12)-(161,13) = "{"
+ │ │ │ └── closing_loc: (161,13)-(161,14) = "}"
│ │ ├── closing_loc: ∅
- │ │ ├── block: ∅
- │ │ └── flags: ∅
+ │ │ └── block: ∅
│ ├── locals: [:a]
│ ├── locals_body_index: 1
│ ├── def_keyword_loc: (160,0)-(160,3) = "def"
@@ -1728,13 +1728,13 @@
│ │ @ StatementsNode (location: (170,10)-(170,13))
│ │ └── body: (length: 1)
│ │ └── @ ArrayNode (location: (170,10)-(170,13))
+ │ │ ├── flags: contains_splat
│ │ ├── elements: (length: 1)
│ │ │ └── @ SplatNode (location: (170,11)-(170,12))
│ │ │ ├── operator_loc: (170,11)-(170,12) = "*"
│ │ │ └── expression: ∅
│ │ ├── opening_loc: (170,10)-(170,11) = "["
- │ │ ├── closing_loc: (170,12)-(170,13) = "]"
- │ │ └── flags: contains_splat
+ │ │ └── closing_loc: (170,12)-(170,13) = "]"
│ ├── locals: [:*]
│ ├── locals_body_index: 1
│ ├── def_keyword_loc: (170,0)-(170,3) = "def"
@@ -1759,8 +1759,10 @@
│ │ │ ├── name_loc: (172,6)-(172,8) = "x:"
│ │ │ └── value:
│ │ │ @ CallNode (location: (172,8)-(172,10))
+ │ │ │ ├── flags: ∅
│ │ │ ├── receiver:
│ │ │ │ @ CallNode (location: (172,9)-(172,10))
+ │ │ │ │ ├── flags: variable_call
│ │ │ │ ├── receiver: ∅
│ │ │ │ ├── call_operator_loc: ∅
│ │ │ │ ├── name: :a
@@ -1768,16 +1770,14 @@
│ │ │ │ ├── opening_loc: ∅
│ │ │ │ ├── arguments: ∅
│ │ │ │ ├── closing_loc: ∅
- │ │ │ │ ├── block: ∅
- │ │ │ │ └── flags: variable_call
+ │ │ │ │ └── block: ∅
│ │ │ ├── call_operator_loc: ∅
│ │ │ ├── name: :-@
│ │ │ ├── message_loc: (172,8)-(172,9) = "-"
│ │ │ ├── opening_loc: ∅
│ │ │ ├── arguments: ∅
│ │ │ ├── closing_loc: ∅
- │ │ │ ├── block: ∅
- │ │ │ └── flags: ∅
+ │ │ │ └── block: ∅
│ │ ├── keyword_rest: ∅
│ │ └── block: ∅
│ ├── body: ∅
@@ -1805,8 +1805,10 @@
│ │ │ ├── name_loc: (174,6)-(174,8) = "x:"
│ │ │ └── value:
│ │ │ @ CallNode (location: (174,8)-(174,10))
+ │ │ │ ├── flags: ∅
│ │ │ ├── receiver:
│ │ │ │ @ CallNode (location: (174,9)-(174,10))
+ │ │ │ │ ├── flags: variable_call
│ │ │ │ ├── receiver: ∅
│ │ │ │ ├── call_operator_loc: ∅
│ │ │ │ ├── name: :a
@@ -1814,16 +1816,14 @@
│ │ │ │ ├── opening_loc: ∅
│ │ │ │ ├── arguments: ∅
│ │ │ │ ├── closing_loc: ∅
- │ │ │ │ ├── block: ∅
- │ │ │ │ └── flags: variable_call
+ │ │ │ │ └── block: ∅
│ │ │ ├── call_operator_loc: ∅
│ │ │ ├── name: :+@
│ │ │ ├── message_loc: (174,8)-(174,9) = "+"
│ │ │ ├── opening_loc: ∅
│ │ │ ├── arguments: ∅
│ │ │ ├── closing_loc: ∅
- │ │ │ ├── block: ∅
- │ │ │ └── flags: ∅
+ │ │ │ └── block: ∅
│ │ ├── keyword_rest: ∅
│ │ └── block: ∅
│ ├── body: ∅
@@ -1851,8 +1851,10 @@
│ │ │ ├── name_loc: (176,6)-(176,8) = "x:"
│ │ │ └── value:
│ │ │ @ CallNode (location: (176,8)-(176,10))
+ │ │ │ ├── flags: ∅
│ │ │ ├── receiver:
│ │ │ │ @ CallNode (location: (176,9)-(176,10))
+ │ │ │ │ ├── flags: variable_call
│ │ │ │ ├── receiver: ∅
│ │ │ │ ├── call_operator_loc: ∅
│ │ │ │ ├── name: :a
@@ -1860,16 +1862,14 @@
│ │ │ │ ├── opening_loc: ∅
│ │ │ │ ├── arguments: ∅
│ │ │ │ ├── closing_loc: ∅
- │ │ │ │ ├── block: ∅
- │ │ │ │ └── flags: variable_call
+ │ │ │ │ └── block: ∅
│ │ │ ├── call_operator_loc: ∅
│ │ │ ├── name: :!
│ │ │ ├── message_loc: (176,8)-(176,9) = "!"
│ │ │ ├── opening_loc: ∅
│ │ │ ├── arguments: ∅
│ │ │ ├── closing_loc: ∅
- │ │ │ ├── block: ∅
- │ │ │ └── flags: ∅
+ │ │ │ └── block: ∅
│ │ ├── keyword_rest: ∅
│ │ └── block: ∅
│ ├── body: ∅
@@ -1931,6 +1931,7 @@
│ │ @ StatementsNode (location: (181,2)-(181,7))
│ │ └── body: (length: 1)
│ │ └── @ CallNode (location: (181,2)-(181,7))
+ │ │ ├── flags: ∅
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
│ │ ├── name: :bar
@@ -1938,11 +1939,10 @@
│ │ ├── opening_loc: (181,5)-(181,6) = "("
│ │ ├── arguments: ∅
│ │ ├── closing_loc: (181,7)-(181,8) = ")"
- │ │ ├── block:
- │ │ │ @ BlockArgumentNode (location: (181,6)-(181,7))
- │ │ │ ├── expression: ∅
- │ │ │ └── operator_loc: (181,6)-(181,7) = "&"
- │ │ └── flags: ∅
+ │ │ └── block:
+ │ │ @ BlockArgumentNode (location: (181,6)-(181,7))
+ │ │ ├── expression: ∅
+ │ │ └── operator_loc: (181,6)-(181,7) = "&"
│ ├── locals: [:"..."]
│ ├── locals_body_index: 1
│ ├── def_keyword_loc: (180,0)-(180,3) = "def"
diff --git a/test/prism/snapshots/modules.txt b/test/prism/snapshots/modules.txt
index b781a586d1..cab1bef992 100644
--- a/test/prism/snapshots/modules.txt
+++ b/test/prism/snapshots/modules.txt
@@ -37,6 +37,7 @@
│ │ │ │ @ StatementsNode (location: (3,9)-(3,12))
│ │ │ │ └── body: (length: 1)
│ │ │ │ └── @ CallNode (location: (3,9)-(3,12))
+ │ │ │ │ ├── flags: variable_call
│ │ │ │ ├── receiver: ∅
│ │ │ │ ├── call_operator_loc: ∅
│ │ │ │ ├── name: :bbb
@@ -44,8 +45,7 @@
│ │ │ │ ├── opening_loc: ∅
│ │ │ │ ├── arguments: ∅
│ │ │ │ ├── closing_loc: ∅
- │ │ │ │ ├── block: ∅
- │ │ │ │ └── flags: variable_call
+ │ │ │ │ └── block: ∅
│ │ │ └── closing_loc: (3,12)-(3,13) = "}"
│ │ └── @ StringNode (location: (3,13)-(3,17))
│ │ ├── flags: ∅
@@ -61,6 +61,7 @@
│ │ @ ConstantPathNode (location: (5,7)-(5,11))
│ │ ├── parent:
│ │ │ @ CallNode (location: (5,7)-(5,8))
+ │ │ │ ├── flags: variable_call
│ │ │ ├── receiver: ∅
│ │ │ ├── call_operator_loc: ∅
│ │ │ ├── name: :m
@@ -68,8 +69,7 @@
│ │ │ ├── opening_loc: ∅
│ │ │ ├── arguments: ∅
│ │ │ ├── closing_loc: ∅
- │ │ │ ├── block: ∅
- │ │ │ └── flags: variable_call
+ │ │ │ └── block: ∅
│ │ ├── child:
│ │ │ @ ConstantReadNode (location: (5,10)-(5,11))
│ │ │ └── name: :M
@@ -130,6 +130,7 @@
│ │ @ ConstantPathNode (location: (14,7)-(14,13))
│ │ ├── parent:
│ │ │ @ CallNode (location: (14,7)-(14,10))
+ │ │ │ ├── flags: ∅
│ │ │ ├── receiver:
│ │ │ │ @ ConstantReadNode (location: (14,7)-(14,8))
│ │ │ │ └── name: :A
@@ -139,8 +140,7 @@
│ │ │ ├── opening_loc: (14,8)-(14,9) = "["
│ │ │ ├── arguments: ∅
│ │ │ ├── closing_loc: (14,9)-(14,10) = "]"
- │ │ │ ├── block: ∅
- │ │ │ └── flags: ∅
+ │ │ │ └── block: ∅
│ │ ├── child:
│ │ │ @ ConstantReadNode (location: (14,12)-(14,13))
│ │ │ └── name: :B
@@ -155,6 +155,7 @@
│ @ ConstantPathNode (location: (17,7)-(17,14))
│ ├── parent:
│ │ @ CallNode (location: (17,7)-(17,11))
+ │ │ ├── flags: ∅
│ │ ├── receiver:
│ │ │ @ ConstantReadNode (location: (17,7)-(17,8))
│ │ │ └── name: :A
@@ -164,13 +165,12 @@
│ │ ├── opening_loc: (17,8)-(17,9) = "["
│ │ ├── arguments:
│ │ │ @ ArgumentsNode (location: (17,9)-(17,10))
- │ │ │ ├── arguments: (length: 1)
- │ │ │ │ └── @ IntegerNode (location: (17,9)-(17,10))
- │ │ │ │ └── flags: decimal
- │ │ │ └── flags: ∅
+ │ │ │ ├── flags: ∅
+ │ │ │ └── arguments: (length: 1)
+ │ │ │ └── @ IntegerNode (location: (17,9)-(17,10))
+ │ │ │ └── flags: decimal
│ │ ├── closing_loc: (17,10)-(17,11) = "]"
- │ │ ├── block: ∅
- │ │ └── flags: ∅
+ │ │ └── block: ∅
│ ├── child:
│ │ @ ConstantReadNode (location: (17,13)-(17,14))
│ │ └── name: :B
diff --git a/test/prism/snapshots/newline_terminated.txt b/test/prism/snapshots/newline_terminated.txt
index f112593d61..496e86fbe4 100644
--- a/test/prism/snapshots/newline_terminated.txt
+++ b/test/prism/snapshots/newline_terminated.txt
@@ -100,8 +100,8 @@
│ ├── closing_loc: (37,3)-(38,0) = "\n"
│ └── unescaped: "foo"
└── @ RegularExpressionNode (location: (39,0)-(41,0))
+ ├── flags: ∅
├── opening_loc: (39,0)-(40,0) = "%r\n"
├── content_loc: (40,0)-(40,3) = "foo"
├── closing_loc: (40,3)-(41,0) = "\n"
- ├── unescaped: "foo"
- └── flags: ∅
+ └── unescaped: "foo"
diff --git a/test/prism/snapshots/next.txt b/test/prism/snapshots/next.txt
index 8c8757f144..aa11809246 100644
--- a/test/prism/snapshots/next.txt
+++ b/test/prism/snapshots/next.txt
@@ -9,97 +9,97 @@
├── @ NextNode (location: (3,0)-(3,18))
│ ├── arguments:
│ │ @ ArgumentsNode (location: (3,5)-(3,18))
- │ │ ├── arguments: (length: 3)
- │ │ │ ├── @ ParenthesesNode (location: (3,5)-(3,8))
- │ │ │ │ ├── body:
- │ │ │ │ │ @ StatementsNode (location: (3,6)-(3,7))
- │ │ │ │ │ └── body: (length: 1)
- │ │ │ │ │ └── @ IntegerNode (location: (3,6)-(3,7))
- │ │ │ │ │ └── flags: decimal
- │ │ │ │ ├── opening_loc: (3,5)-(3,6) = "("
- │ │ │ │ └── closing_loc: (3,7)-(3,8) = ")"
- │ │ │ ├── @ ParenthesesNode (location: (3,10)-(3,13))
- │ │ │ │ ├── body:
- │ │ │ │ │ @ StatementsNode (location: (3,11)-(3,12))
- │ │ │ │ │ └── body: (length: 1)
- │ │ │ │ │ └── @ IntegerNode (location: (3,11)-(3,12))
- │ │ │ │ │ └── flags: decimal
- │ │ │ │ ├── opening_loc: (3,10)-(3,11) = "("
- │ │ │ │ └── closing_loc: (3,12)-(3,13) = ")"
- │ │ │ └── @ ParenthesesNode (location: (3,15)-(3,18))
- │ │ │ ├── body:
- │ │ │ │ @ StatementsNode (location: (3,16)-(3,17))
- │ │ │ │ └── body: (length: 1)
- │ │ │ │ └── @ IntegerNode (location: (3,16)-(3,17))
- │ │ │ │ └── flags: decimal
- │ │ │ ├── opening_loc: (3,15)-(3,16) = "("
- │ │ │ └── closing_loc: (3,17)-(3,18) = ")"
- │ │ └── flags: ∅
+ │ │ ├── flags: ∅
+ │ │ └── arguments: (length: 3)
+ │ │ ├── @ ParenthesesNode (location: (3,5)-(3,8))
+ │ │ │ ├── body:
+ │ │ │ │ @ StatementsNode (location: (3,6)-(3,7))
+ │ │ │ │ └── body: (length: 1)
+ │ │ │ │ └── @ IntegerNode (location: (3,6)-(3,7))
+ │ │ │ │ └── flags: decimal
+ │ │ │ ├── opening_loc: (3,5)-(3,6) = "("
+ │ │ │ └── closing_loc: (3,7)-(3,8) = ")"
+ │ │ ├── @ ParenthesesNode (location: (3,10)-(3,13))
+ │ │ │ ├── body:
+ │ │ │ │ @ StatementsNode (location: (3,11)-(3,12))
+ │ │ │ │ └── body: (length: 1)
+ │ │ │ │ └── @ IntegerNode (location: (3,11)-(3,12))
+ │ │ │ │ └── flags: decimal
+ │ │ │ ├── opening_loc: (3,10)-(3,11) = "("
+ │ │ │ └── closing_loc: (3,12)-(3,13) = ")"
+ │ │ └── @ ParenthesesNode (location: (3,15)-(3,18))
+ │ │ ├── body:
+ │ │ │ @ StatementsNode (location: (3,16)-(3,17))
+ │ │ │ └── body: (length: 1)
+ │ │ │ └── @ IntegerNode (location: (3,16)-(3,17))
+ │ │ │ └── flags: decimal
+ │ │ ├── opening_loc: (3,15)-(3,16) = "("
+ │ │ └── closing_loc: (3,17)-(3,18) = ")"
│ └── keyword_loc: (3,0)-(3,4) = "next"
├── @ NextNode (location: (5,0)-(5,6))
│ ├── arguments:
│ │ @ ArgumentsNode (location: (5,5)-(5,6))
- │ │ ├── arguments: (length: 1)
- │ │ │ └── @ IntegerNode (location: (5,5)-(5,6))
- │ │ │ └── flags: decimal
- │ │ └── flags: ∅
+ │ │ ├── flags: ∅
+ │ │ └── arguments: (length: 1)
+ │ │ └── @ IntegerNode (location: (5,5)-(5,6))
+ │ │ └── flags: decimal
│ └── keyword_loc: (5,0)-(5,4) = "next"
├── @ NextNode (location: (7,0)-(8,1))
│ ├── arguments:
│ │ @ ArgumentsNode (location: (7,5)-(8,1))
- │ │ ├── arguments: (length: 3)
- │ │ │ ├── @ IntegerNode (location: (7,5)-(7,6))
- │ │ │ │ └── flags: decimal
- │ │ │ ├── @ IntegerNode (location: (7,8)-(7,9))
- │ │ │ │ └── flags: decimal
- │ │ │ └── @ IntegerNode (location: (8,0)-(8,1))
- │ │ │ └── flags: decimal
- │ │ └── flags: ∅
+ │ │ ├── flags: ∅
+ │ │ └── arguments: (length: 3)
+ │ │ ├── @ IntegerNode (location: (7,5)-(7,6))
+ │ │ │ └── flags: decimal
+ │ │ ├── @ IntegerNode (location: (7,8)-(7,9))
+ │ │ │ └── flags: decimal
+ │ │ └── @ IntegerNode (location: (8,0)-(8,1))
+ │ │ └── flags: decimal
│ └── keyword_loc: (7,0)-(7,4) = "next"
├── @ NextNode (location: (10,0)-(10,12))
│ ├── arguments:
│ │ @ ArgumentsNode (location: (10,5)-(10,12))
- │ │ ├── arguments: (length: 3)
- │ │ │ ├── @ IntegerNode (location: (10,5)-(10,6))
- │ │ │ │ └── flags: decimal
- │ │ │ ├── @ IntegerNode (location: (10,8)-(10,9))
- │ │ │ │ └── flags: decimal
- │ │ │ └── @ IntegerNode (location: (10,11)-(10,12))
- │ │ │ └── flags: decimal
- │ │ └── flags: ∅
+ │ │ ├── flags: ∅
+ │ │ └── arguments: (length: 3)
+ │ │ ├── @ IntegerNode (location: (10,5)-(10,6))
+ │ │ │ └── flags: decimal
+ │ │ ├── @ IntegerNode (location: (10,8)-(10,9))
+ │ │ │ └── flags: decimal
+ │ │ └── @ IntegerNode (location: (10,11)-(10,12))
+ │ │ └── flags: decimal
│ └── keyword_loc: (10,0)-(10,4) = "next"
├── @ NextNode (location: (12,0)-(12,14))
│ ├── arguments:
│ │ @ ArgumentsNode (location: (12,5)-(12,14))
- │ │ ├── arguments: (length: 1)
- │ │ │ └── @ ArrayNode (location: (12,5)-(12,14))
- │ │ │ ├── elements: (length: 3)
- │ │ │ │ ├── @ IntegerNode (location: (12,6)-(12,7))
- │ │ │ │ │ └── flags: decimal
- │ │ │ │ ├── @ IntegerNode (location: (12,9)-(12,10))
- │ │ │ │ │ └── flags: decimal
- │ │ │ │ └── @ IntegerNode (location: (12,12)-(12,13))
- │ │ │ │ └── flags: decimal
- │ │ │ ├── opening_loc: (12,5)-(12,6) = "["
- │ │ │ ├── closing_loc: (12,13)-(12,14) = "]"
- │ │ │ └── flags: ∅
- │ │ └── flags: ∅
+ │ │ ├── flags: ∅
+ │ │ └── arguments: (length: 1)
+ │ │ └── @ ArrayNode (location: (12,5)-(12,14))
+ │ │ ├── flags: ∅
+ │ │ ├── elements: (length: 3)
+ │ │ │ ├── @ IntegerNode (location: (12,6)-(12,7))
+ │ │ │ │ └── flags: decimal
+ │ │ │ ├── @ IntegerNode (location: (12,9)-(12,10))
+ │ │ │ │ └── flags: decimal
+ │ │ │ └── @ IntegerNode (location: (12,12)-(12,13))
+ │ │ │ └── flags: decimal
+ │ │ ├── opening_loc: (12,5)-(12,6) = "["
+ │ │ └── closing_loc: (12,13)-(12,14) = "]"
│ └── keyword_loc: (12,0)-(12,4) = "next"
├── @ NextNode (location: (14,0)-(17,1))
│ ├── arguments:
│ │ @ ArgumentsNode (location: (14,4)-(17,1))
- │ │ ├── arguments: (length: 1)
- │ │ │ └── @ ParenthesesNode (location: (14,4)-(17,1))
- │ │ │ ├── body:
- │ │ │ │ @ StatementsNode (location: (15,2)-(16,3))
- │ │ │ │ └── body: (length: 2)
- │ │ │ │ ├── @ IntegerNode (location: (15,2)-(15,3))
- │ │ │ │ │ └── flags: decimal
- │ │ │ │ └── @ IntegerNode (location: (16,2)-(16,3))
- │ │ │ │ └── flags: decimal
- │ │ │ ├── opening_loc: (14,4)-(14,5) = "("
- │ │ │ └── closing_loc: (17,0)-(17,1) = ")"
- │ │ └── flags: ∅
+ │ │ ├── flags: ∅
+ │ │ └── arguments: (length: 1)
+ │ │ └── @ ParenthesesNode (location: (14,4)-(17,1))
+ │ │ ├── body:
+ │ │ │ @ StatementsNode (location: (15,2)-(16,3))
+ │ │ │ └── body: (length: 2)
+ │ │ │ ├── @ IntegerNode (location: (15,2)-(15,3))
+ │ │ │ │ └── flags: decimal
+ │ │ │ └── @ IntegerNode (location: (16,2)-(16,3))
+ │ │ │ └── flags: decimal
+ │ │ ├── opening_loc: (14,4)-(14,5) = "("
+ │ │ └── closing_loc: (17,0)-(17,1) = ")"
│ └── keyword_loc: (14,0)-(14,4) = "next"
├── @ NextNode (location: (19,0)-(19,4))
│ ├── arguments: ∅
@@ -109,24 +109,24 @@
├── @ NextNode (location: (22,0)-(22,6))
│ ├── arguments:
│ │ @ ArgumentsNode (location: (22,4)-(22,6))
- │ │ ├── arguments: (length: 1)
- │ │ │ └── @ ParenthesesNode (location: (22,4)-(22,6))
- │ │ │ ├── body: ∅
- │ │ │ ├── opening_loc: (22,4)-(22,5) = "("
- │ │ │ └── closing_loc: (22,5)-(22,6) = ")"
- │ │ └── flags: ∅
+ │ │ ├── flags: ∅
+ │ │ └── arguments: (length: 1)
+ │ │ └── @ ParenthesesNode (location: (22,4)-(22,6))
+ │ │ ├── body: ∅
+ │ │ ├── opening_loc: (22,4)-(22,5) = "("
+ │ │ └── closing_loc: (22,5)-(22,6) = ")"
│ └── keyword_loc: (22,0)-(22,4) = "next"
└── @ NextNode (location: (24,0)-(24,7))
├── arguments:
│ @ ArgumentsNode (location: (24,4)-(24,7))
- │ ├── arguments: (length: 1)
- │ │ └── @ ParenthesesNode (location: (24,4)-(24,7))
- │ │ ├── body:
- │ │ │ @ StatementsNode (location: (24,5)-(24,6))
- │ │ │ └── body: (length: 1)
- │ │ │ └── @ IntegerNode (location: (24,5)-(24,6))
- │ │ │ └── flags: decimal
- │ │ ├── opening_loc: (24,4)-(24,5) = "("
- │ │ └── closing_loc: (24,6)-(24,7) = ")"
- │ └── flags: ∅
+ │ ├── flags: ∅
+ │ └── arguments: (length: 1)
+ │ └── @ ParenthesesNode (location: (24,4)-(24,7))
+ │ ├── body:
+ │ │ @ StatementsNode (location: (24,5)-(24,6))
+ │ │ └── body: (length: 1)
+ │ │ └── @ IntegerNode (location: (24,5)-(24,6))
+ │ │ └── flags: decimal
+ │ ├── opening_loc: (24,4)-(24,5) = "("
+ │ └── closing_loc: (24,6)-(24,7) = ")"
└── keyword_loc: (24,0)-(24,4) = "next"
diff --git a/test/prism/snapshots/non_alphanumeric_methods.txt b/test/prism/snapshots/non_alphanumeric_methods.txt
index 408d909c8a..f7b210fdda 100644
--- a/test/prism/snapshots/non_alphanumeric_methods.txt
+++ b/test/prism/snapshots/non_alphanumeric_methods.txt
@@ -248,6 +248,7 @@
│ ├── name_loc: (48,6)-(48,7) = "-"
│ ├── receiver:
│ │ @ CallNode (location: (48,4)-(48,5))
+ │ │ ├── flags: variable_call
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
│ │ ├── name: :a
@@ -255,8 +256,7 @@
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
- │ │ ├── block: ∅
- │ │ └── flags: variable_call
+ │ │ └── block: ∅
│ ├── parameters: ∅
│ ├── body: ∅
│ ├── locals: []
diff --git a/test/prism/snapshots/not.txt b/test/prism/snapshots/not.txt
index eee55fc1fc..572e7b13ca 100644
--- a/test/prism/snapshots/not.txt
+++ b/test/prism/snapshots/not.txt
@@ -6,8 +6,10 @@
├── @ AndNode (location: (1,0)-(1,19))
│ ├── left:
│ │ @ CallNode (location: (1,0)-(1,7))
+ │ │ ├── flags: ∅
│ │ ├── receiver:
│ │ │ @ CallNode (location: (1,4)-(1,7))
+ │ │ │ ├── flags: variable_call
│ │ │ ├── receiver: ∅
│ │ │ ├── call_operator_loc: ∅
│ │ │ ├── name: :foo
@@ -15,20 +17,20 @@
│ │ │ ├── opening_loc: ∅
│ │ │ ├── arguments: ∅
│ │ │ ├── closing_loc: ∅
- │ │ │ ├── block: ∅
- │ │ │ └── flags: variable_call
+ │ │ │ └── block: ∅
│ │ ├── call_operator_loc: ∅
│ │ ├── name: :!
│ │ ├── message_loc: (1,0)-(1,3) = "not"
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
- │ │ ├── block: ∅
- │ │ └── flags: ∅
+ │ │ └── block: ∅
│ ├── right:
│ │ @ CallNode (location: (1,12)-(1,19))
+ │ │ ├── flags: ∅
│ │ ├── receiver:
│ │ │ @ CallNode (location: (1,16)-(1,19))
+ │ │ │ ├── flags: variable_call
│ │ │ ├── receiver: ∅
│ │ │ ├── call_operator_loc: ∅
│ │ │ ├── name: :bar
@@ -36,22 +38,22 @@
│ │ │ ├── opening_loc: ∅
│ │ │ ├── arguments: ∅
│ │ │ ├── closing_loc: ∅
- │ │ │ ├── block: ∅
- │ │ │ └── flags: variable_call
+ │ │ │ └── block: ∅
│ │ ├── call_operator_loc: ∅
│ │ ├── name: :!
│ │ ├── message_loc: (1,12)-(1,15) = "not"
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
- │ │ ├── block: ∅
- │ │ └── flags: ∅
+ │ │ └── block: ∅
│ └── operator_loc: (1,8)-(1,11) = "and"
├── @ CallNode (location: (3,0)-(3,16))
+ │ ├── flags: ∅
│ ├── receiver:
│ │ @ AndNode (location: (3,4)-(3,15))
│ │ ├── left:
│ │ │ @ CallNode (location: (3,4)-(3,7))
+ │ │ │ ├── flags: variable_call
│ │ │ ├── receiver: ∅
│ │ │ ├── call_operator_loc: ∅
│ │ │ ├── name: :foo
@@ -59,10 +61,10 @@
│ │ │ ├── opening_loc: ∅
│ │ │ ├── arguments: ∅
│ │ │ ├── closing_loc: ∅
- │ │ │ ├── block: ∅
- │ │ │ └── flags: variable_call
+ │ │ │ └── block: ∅
│ │ ├── right:
│ │ │ @ CallNode (location: (3,12)-(3,15))
+ │ │ │ ├── flags: variable_call
│ │ │ ├── receiver: ∅
│ │ │ ├── call_operator_loc: ∅
│ │ │ ├── name: :bar
@@ -70,8 +72,7 @@
│ │ │ ├── opening_loc: ∅
│ │ │ ├── arguments: ∅
│ │ │ ├── closing_loc: ∅
- │ │ │ ├── block: ∅
- │ │ │ └── flags: variable_call
+ │ │ │ └── block: ∅
│ │ └── operator_loc: (3,8)-(3,11) = "and"
│ ├── call_operator_loc: ∅
│ ├── name: :!
@@ -79,11 +80,12 @@
│ ├── opening_loc: (3,3)-(3,4) = "("
│ ├── arguments: ∅
│ ├── closing_loc: (3,15)-(3,16) = ")"
- │ ├── block: ∅
- │ └── flags: ∅
+ │ └── block: ∅
├── @ CallNode (location: (5,0)-(5,7))
+ │ ├── flags: ∅
│ ├── receiver:
│ │ @ CallNode (location: (5,4)-(5,7))
+ │ │ ├── flags: variable_call
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
│ │ ├── name: :foo
@@ -91,21 +93,21 @@
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
- │ │ ├── block: ∅
- │ │ └── flags: variable_call
+ │ │ └── block: ∅
│ ├── call_operator_loc: ∅
│ ├── name: :!
│ ├── message_loc: (5,0)-(5,3) = "not"
│ ├── opening_loc: ∅
│ ├── arguments: ∅
│ ├── closing_loc: ∅
- │ ├── block: ∅
- │ └── flags: ∅
+ │ └── block: ∅
├── @ AndNode (location: (7,0)-(8,5))
│ ├── left:
│ │ @ CallNode (location: (7,0)-(7,7))
+ │ │ ├── flags: ∅
│ │ ├── receiver:
│ │ │ @ CallNode (location: (7,4)-(7,7))
+ │ │ │ ├── flags: variable_call
│ │ │ ├── receiver: ∅
│ │ │ ├── call_operator_loc: ∅
│ │ │ ├── name: :foo
@@ -113,20 +115,20 @@
│ │ │ ├── opening_loc: ∅
│ │ │ ├── arguments: ∅
│ │ │ ├── closing_loc: ∅
- │ │ │ ├── block: ∅
- │ │ │ └── flags: variable_call
+ │ │ │ └── block: ∅
│ │ ├── call_operator_loc: ∅
│ │ ├── name: :!
│ │ ├── message_loc: (7,0)-(7,3) = "not"
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
- │ │ ├── block: ∅
- │ │ └── flags: ∅
+ │ │ └── block: ∅
│ ├── right:
│ │ @ CallNode (location: (7,12)-(8,5))
+ │ │ ├── flags: ∅
│ │ ├── receiver:
│ │ │ @ CallNode (location: (8,2)-(8,5))
+ │ │ │ ├── flags: variable_call
│ │ │ ├── receiver: ∅
│ │ │ ├── call_operator_loc: ∅
│ │ │ ├── name: :bar
@@ -134,22 +136,22 @@
│ │ │ ├── opening_loc: ∅
│ │ │ ├── arguments: ∅
│ │ │ ├── closing_loc: ∅
- │ │ │ ├── block: ∅
- │ │ │ └── flags: variable_call
+ │ │ │ └── block: ∅
│ │ ├── call_operator_loc: ∅
│ │ ├── name: :!
│ │ ├── message_loc: (7,12)-(7,15) = "not"
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
- │ │ ├── block: ∅
- │ │ └── flags: ∅
+ │ │ └── block: ∅
│ └── operator_loc: (7,8)-(7,11) = "and"
├── @ AndNode (location: (11,0)-(13,5))
│ ├── left:
│ │ @ CallNode (location: (11,0)-(11,7))
+ │ │ ├── flags: ∅
│ │ ├── receiver:
│ │ │ @ CallNode (location: (11,4)-(11,7))
+ │ │ │ ├── flags: variable_call
│ │ │ ├── receiver: ∅
│ │ │ ├── call_operator_loc: ∅
│ │ │ ├── name: :foo
@@ -157,20 +159,20 @@
│ │ │ ├── opening_loc: ∅
│ │ │ ├── arguments: ∅
│ │ │ ├── closing_loc: ∅
- │ │ │ ├── block: ∅
- │ │ │ └── flags: variable_call
+ │ │ │ └── block: ∅
│ │ ├── call_operator_loc: ∅
│ │ ├── name: :!
│ │ ├── message_loc: (11,0)-(11,3) = "not"
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
- │ │ ├── block: ∅
- │ │ └── flags: ∅
+ │ │ └── block: ∅
│ ├── right:
│ │ @ CallNode (location: (12,4)-(13,5))
+ │ │ ├── flags: ∅
│ │ ├── receiver:
│ │ │ @ CallNode (location: (13,2)-(13,5))
+ │ │ │ ├── flags: variable_call
│ │ │ ├── receiver: ∅
│ │ │ ├── call_operator_loc: ∅
│ │ │ ├── name: :bar
@@ -178,22 +180,22 @@
│ │ │ ├── opening_loc: ∅
│ │ │ ├── arguments: ∅
│ │ │ ├── closing_loc: ∅
- │ │ │ ├── block: ∅
- │ │ │ └── flags: variable_call
+ │ │ │ └── block: ∅
│ │ ├── call_operator_loc: ∅
│ │ ├── name: :!
│ │ ├── message_loc: (12,4)-(12,7) = "not"
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
- │ │ ├── block: ∅
- │ │ └── flags: ∅
+ │ │ └── block: ∅
│ └── operator_loc: (11,8)-(11,11) = "and"
├── @ AndNode (location: (16,0)-(20,5))
│ ├── left:
│ │ @ CallNode (location: (16,0)-(16,7))
+ │ │ ├── flags: ∅
│ │ ├── receiver:
│ │ │ @ CallNode (location: (16,4)-(16,7))
+ │ │ │ ├── flags: variable_call
│ │ │ ├── receiver: ∅
│ │ │ ├── call_operator_loc: ∅
│ │ │ ├── name: :foo
@@ -201,20 +203,20 @@
│ │ │ ├── opening_loc: ∅
│ │ │ ├── arguments: ∅
│ │ │ ├── closing_loc: ∅
- │ │ │ ├── block: ∅
- │ │ │ └── flags: variable_call
+ │ │ │ └── block: ∅
│ │ ├── call_operator_loc: ∅
│ │ ├── name: :!
│ │ ├── message_loc: (16,0)-(16,3) = "not"
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
- │ │ ├── block: ∅
- │ │ └── flags: ∅
+ │ │ └── block: ∅
│ ├── right:
│ │ @ CallNode (location: (17,2)-(20,5))
+ │ │ ├── flags: ∅
│ │ ├── receiver:
│ │ │ @ CallNode (location: (20,2)-(20,5))
+ │ │ │ ├── flags: variable_call
│ │ │ ├── receiver: ∅
│ │ │ ├── call_operator_loc: ∅
│ │ │ ├── name: :bar
@@ -222,20 +224,20 @@
│ │ │ ├── opening_loc: ∅
│ │ │ ├── arguments: ∅
│ │ │ ├── closing_loc: ∅
- │ │ │ ├── block: ∅
- │ │ │ └── flags: variable_call
+ │ │ │ └── block: ∅
│ │ ├── call_operator_loc: ∅
│ │ ├── name: :!
│ │ ├── message_loc: (17,2)-(17,5) = "not"
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
- │ │ ├── block: ∅
- │ │ └── flags: ∅
+ │ │ └── block: ∅
│ └── operator_loc: (16,8)-(16,11) = "and"
├── @ CallNode (location: (22,0)-(25,1))
+ │ ├── flags: ∅
│ ├── receiver:
│ │ @ CallNode (location: (22,4)-(22,7))
+ │ │ ├── flags: variable_call
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
│ │ ├── name: :foo
@@ -243,19 +245,19 @@
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
- │ │ ├── block: ∅
- │ │ └── flags: variable_call
+ │ │ └── block: ∅
│ ├── call_operator_loc: ∅
│ ├── name: :!
│ ├── message_loc: (22,0)-(22,3) = "not"
│ ├── opening_loc: (22,3)-(22,4) = "("
│ ├── arguments: ∅
│ ├── closing_loc: (25,0)-(25,1) = ")"
- │ ├── block: ∅
- │ └── flags: ∅
+ │ └── block: ∅
├── @ CallNode (location: (27,0)-(33,3))
+ │ ├── flags: ∅
│ ├── receiver:
│ │ @ CallNode (location: (30,0)-(30,3))
+ │ │ ├── flags: variable_call
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
│ │ ├── name: :foo
@@ -263,21 +265,22 @@
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
- │ │ ├── block: ∅
- │ │ └── flags: variable_call
+ │ │ └── block: ∅
│ ├── call_operator_loc: ∅
│ ├── name: :!
│ ├── message_loc: (27,0)-(27,3) = "not"
│ ├── opening_loc: (27,3)-(27,4) = "("
│ ├── arguments: ∅
│ ├── closing_loc: (33,2)-(33,3) = ")"
- │ ├── block: ∅
- │ └── flags: ∅
+ │ └── block: ∅
├── @ CallNode (location: (35,0)-(35,14))
+ │ ├── flags: ∅
│ ├── receiver:
│ │ @ FlipFlopNode (location: (35,4)-(35,14))
+ │ │ ├── flags: ∅
│ │ ├── left:
│ │ │ @ CallNode (location: (35,4)-(35,7))
+ │ │ │ ├── flags: variable_call
│ │ │ ├── receiver: ∅
│ │ │ ├── call_operator_loc: ∅
│ │ │ ├── name: :foo
@@ -285,10 +288,10 @@
│ │ │ ├── opening_loc: ∅
│ │ │ ├── arguments: ∅
│ │ │ ├── closing_loc: ∅
- │ │ │ ├── block: ∅
- │ │ │ └── flags: variable_call
+ │ │ │ └── block: ∅
│ │ ├── right:
│ │ │ @ CallNode (location: (35,11)-(35,14))
+ │ │ │ ├── flags: variable_call
│ │ │ ├── receiver: ∅
│ │ │ ├── call_operator_loc: ∅
│ │ │ ├── name: :bar
@@ -296,27 +299,27 @@
│ │ │ ├── opening_loc: ∅
│ │ │ ├── arguments: ∅
│ │ │ ├── closing_loc: ∅
- │ │ │ ├── block: ∅
- │ │ │ └── flags: variable_call
- │ │ ├── operator_loc: (35,8)-(35,10) = ".."
- │ │ └── flags: ∅
+ │ │ │ └── block: ∅
+ │ │ └── operator_loc: (35,8)-(35,10) = ".."
│ ├── call_operator_loc: ∅
│ ├── name: :!
│ ├── message_loc: (35,0)-(35,3) = "not"
│ ├── opening_loc: ∅
│ ├── arguments: ∅
│ ├── closing_loc: ∅
- │ ├── block: ∅
- │ └── flags: ∅
+ │ └── block: ∅
└── @ CallNode (location: (37,0)-(37,16))
+ ├── flags: ∅
├── receiver:
│ @ ParenthesesNode (location: (37,4)-(37,16))
│ ├── body:
│ │ @ StatementsNode (location: (37,5)-(37,15))
│ │ └── body: (length: 1)
│ │ └── @ FlipFlopNode (location: (37,5)-(37,15))
+ │ │ ├── flags: ∅
│ │ ├── left:
│ │ │ @ CallNode (location: (37,5)-(37,8))
+ │ │ │ ├── flags: variable_call
│ │ │ ├── receiver: ∅
│ │ │ ├── call_operator_loc: ∅
│ │ │ ├── name: :foo
@@ -324,10 +327,10 @@
│ │ │ ├── opening_loc: ∅
│ │ │ ├── arguments: ∅
│ │ │ ├── closing_loc: ∅
- │ │ │ ├── block: ∅
- │ │ │ └── flags: variable_call
+ │ │ │ └── block: ∅
│ │ ├── right:
│ │ │ @ CallNode (location: (37,12)-(37,15))
+ │ │ │ ├── flags: variable_call
│ │ │ ├── receiver: ∅
│ │ │ ├── call_operator_loc: ∅
│ │ │ ├── name: :bar
@@ -335,10 +338,8 @@
│ │ │ ├── opening_loc: ∅
│ │ │ ├── arguments: ∅
│ │ │ ├── closing_loc: ∅
- │ │ │ ├── block: ∅
- │ │ │ └── flags: variable_call
- │ │ ├── operator_loc: (37,9)-(37,11) = ".."
- │ │ └── flags: ∅
+ │ │ │ └── block: ∅
+ │ │ └── operator_loc: (37,9)-(37,11) = ".."
│ ├── opening_loc: (37,4)-(37,5) = "("
│ └── closing_loc: (37,15)-(37,16) = ")"
├── call_operator_loc: ∅
@@ -347,5 +348,4 @@
├── opening_loc: ∅
├── arguments: ∅
├── closing_loc: ∅
- ├── block: ∅
- └── flags: ∅
+ └── block: ∅
diff --git a/test/prism/snapshots/patterns.txt b/test/prism/snapshots/patterns.txt
index 05f558d7cb..14c0c958f1 100644
--- a/test/prism/snapshots/patterns.txt
+++ b/test/prism/snapshots/patterns.txt
@@ -6,6 +6,7 @@
├── @ MatchRequiredNode (location: (1,0)-(1,10))
│ ├── value:
│ │ @ CallNode (location: (1,0)-(1,3))
+ │ │ ├── flags: variable_call
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
│ │ ├── name: :foo
@@ -13,8 +14,7 @@
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
- │ │ ├── block: ∅
- │ │ └── flags: variable_call
+ │ │ └── block: ∅
│ ├── pattern:
│ │ @ LocalVariableTargetNode (location: (1,7)-(1,10))
│ │ ├── name: :bar
@@ -23,6 +23,7 @@
├── @ MatchRequiredNode (location: (2,0)-(2,8))
│ ├── value:
│ │ @ CallNode (location: (2,0)-(2,3))
+ │ │ ├── flags: variable_call
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
│ │ ├── name: :foo
@@ -30,8 +31,7 @@
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
- │ │ ├── block: ∅
- │ │ └── flags: variable_call
+ │ │ └── block: ∅
│ ├── pattern:
│ │ @ IntegerNode (location: (2,7)-(2,8))
│ │ └── flags: decimal
@@ -39,6 +39,7 @@
├── @ MatchRequiredNode (location: (3,0)-(3,10))
│ ├── value:
│ │ @ CallNode (location: (3,0)-(3,3))
+ │ │ ├── flags: variable_call
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
│ │ ├── name: :foo
@@ -46,14 +47,14 @@
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
- │ │ ├── block: ∅
- │ │ └── flags: variable_call
+ │ │ └── block: ∅
│ ├── pattern:
│ │ @ FloatNode (location: (3,7)-(3,10))
│ └── operator_loc: (3,4)-(3,6) = "=>"
├── @ MatchRequiredNode (location: (4,0)-(4,9))
│ ├── value:
│ │ @ CallNode (location: (4,0)-(4,3))
+ │ │ ├── flags: variable_call
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
│ │ ├── name: :foo
@@ -61,8 +62,7 @@
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
- │ │ ├── block: ∅
- │ │ └── flags: variable_call
+ │ │ └── block: ∅
│ ├── pattern:
│ │ @ ImaginaryNode (location: (4,7)-(4,9))
│ │ └── numeric:
@@ -72,6 +72,7 @@
├── @ MatchRequiredNode (location: (5,0)-(5,9))
│ ├── value:
│ │ @ CallNode (location: (5,0)-(5,3))
+ │ │ ├── flags: variable_call
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
│ │ ├── name: :foo
@@ -79,8 +80,7 @@
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
- │ │ ├── block: ∅
- │ │ └── flags: variable_call
+ │ │ └── block: ∅
│ ├── pattern:
│ │ @ RationalNode (location: (5,7)-(5,9))
│ │ └── numeric:
@@ -90,6 +90,7 @@
├── @ MatchRequiredNode (location: (6,0)-(6,11))
│ ├── value:
│ │ @ CallNode (location: (6,0)-(6,3))
+ │ │ ├── flags: variable_call
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
│ │ ├── name: :foo
@@ -97,8 +98,7 @@
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
- │ │ ├── block: ∅
- │ │ └── flags: variable_call
+ │ │ └── block: ∅
│ ├── pattern:
│ │ @ SymbolNode (location: (6,7)-(6,11))
│ │ ├── opening_loc: (6,7)-(6,8) = ":"
@@ -109,6 +109,7 @@
├── @ MatchRequiredNode (location: (7,0)-(7,14))
│ ├── value:
│ │ @ CallNode (location: (7,0)-(7,3))
+ │ │ ├── flags: variable_call
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
│ │ ├── name: :foo
@@ -116,8 +117,7 @@
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
- │ │ ├── block: ∅
- │ │ └── flags: variable_call
+ │ │ └── block: ∅
│ ├── pattern:
│ │ @ SymbolNode (location: (7,7)-(7,14))
│ │ ├── opening_loc: (7,7)-(7,10) = "%s["
@@ -128,6 +128,7 @@
├── @ MatchRequiredNode (location: (8,0)-(8,13))
│ ├── value:
│ │ @ CallNode (location: (8,0)-(8,3))
+ │ │ ├── flags: variable_call
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
│ │ ├── name: :foo
@@ -135,8 +136,7 @@
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
- │ │ ├── block: ∅
- │ │ └── flags: variable_call
+ │ │ └── block: ∅
│ ├── pattern:
│ │ @ SymbolNode (location: (8,7)-(8,13))
│ │ ├── opening_loc: (8,7)-(8,9) = ":\""
@@ -147,6 +147,7 @@
├── @ MatchRequiredNode (location: (9,0)-(9,12))
│ ├── value:
│ │ @ CallNode (location: (9,0)-(9,3))
+ │ │ ├── flags: variable_call
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
│ │ ├── name: :foo
@@ -154,19 +155,19 @@
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
- │ │ ├── block: ∅
- │ │ └── flags: variable_call
+ │ │ └── block: ∅
│ ├── pattern:
│ │ @ RegularExpressionNode (location: (9,7)-(9,12))
+ │ │ ├── flags: ∅
│ │ ├── opening_loc: (9,7)-(9,8) = "/"
│ │ ├── content_loc: (9,8)-(9,11) = "foo"
│ │ ├── closing_loc: (9,11)-(9,12) = "/"
- │ │ ├── unescaped: "foo"
- │ │ └── flags: ∅
+ │ │ └── unescaped: "foo"
│ └── operator_loc: (9,4)-(9,6) = "=>"
├── @ MatchRequiredNode (location: (10,0)-(10,12))
│ ├── value:
│ │ @ CallNode (location: (10,0)-(10,3))
+ │ │ ├── flags: variable_call
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
│ │ ├── name: :foo
@@ -174,8 +175,7 @@
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
- │ │ ├── block: ∅
- │ │ └── flags: variable_call
+ │ │ └── block: ∅
│ ├── pattern:
│ │ @ XStringNode (location: (10,7)-(10,12))
│ │ ├── flags: ∅
@@ -187,6 +187,7 @@
├── @ MatchRequiredNode (location: (11,0)-(11,14))
│ ├── value:
│ │ @ CallNode (location: (11,0)-(11,3))
+ │ │ ├── flags: variable_call
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
│ │ ├── name: :foo
@@ -194,8 +195,7 @@
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
- │ │ ├── block: ∅
- │ │ └── flags: variable_call
+ │ │ └── block: ∅
│ ├── pattern:
│ │ @ XStringNode (location: (11,7)-(11,14))
│ │ ├── flags: ∅
@@ -207,6 +207,7 @@
├── @ MatchRequiredNode (location: (12,0)-(12,14))
│ ├── value:
│ │ @ CallNode (location: (12,0)-(12,3))
+ │ │ ├── flags: variable_call
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
│ │ ├── name: :foo
@@ -214,10 +215,10 @@
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
- │ │ ├── block: ∅
- │ │ └── flags: variable_call
+ │ │ └── block: ∅
│ ├── pattern:
│ │ @ ArrayNode (location: (12,7)-(12,14))
+ │ │ ├── flags: ∅
│ │ ├── elements: (length: 1)
│ │ │ └── @ SymbolNode (location: (12,10)-(12,13))
│ │ │ ├── opening_loc: ∅
@@ -225,12 +226,12 @@
│ │ │ ├── closing_loc: ∅
│ │ │ └── unescaped: "foo"
│ │ ├── opening_loc: (12,7)-(12,10) = "%i["
- │ │ ├── closing_loc: (12,13)-(12,14) = "]"
- │ │ └── flags: ∅
+ │ │ └── closing_loc: (12,13)-(12,14) = "]"
│ └── operator_loc: (12,4)-(12,6) = "=>"
├── @ MatchRequiredNode (location: (13,0)-(13,14))
│ ├── value:
│ │ @ CallNode (location: (13,0)-(13,3))
+ │ │ ├── flags: variable_call
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
│ │ ├── name: :foo
@@ -238,10 +239,10 @@
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
- │ │ ├── block: ∅
- │ │ └── flags: variable_call
+ │ │ └── block: ∅
│ ├── pattern:
│ │ @ ArrayNode (location: (13,7)-(13,14))
+ │ │ ├── flags: ∅
│ │ ├── elements: (length: 1)
│ │ │ └── @ SymbolNode (location: (13,10)-(13,13))
│ │ │ ├── opening_loc: ∅
@@ -249,12 +250,12 @@
│ │ │ ├── closing_loc: ∅
│ │ │ └── unescaped: "foo"
│ │ ├── opening_loc: (13,7)-(13,10) = "%I["
- │ │ ├── closing_loc: (13,13)-(13,14) = "]"
- │ │ └── flags: ∅
+ │ │ └── closing_loc: (13,13)-(13,14) = "]"
│ └── operator_loc: (13,4)-(13,6) = "=>"
├── @ MatchRequiredNode (location: (14,0)-(14,14))
│ ├── value:
│ │ @ CallNode (location: (14,0)-(14,3))
+ │ │ ├── flags: variable_call
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
│ │ ├── name: :foo
@@ -262,10 +263,10 @@
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
- │ │ ├── block: ∅
- │ │ └── flags: variable_call
+ │ │ └── block: ∅
│ ├── pattern:
│ │ @ ArrayNode (location: (14,7)-(14,14))
+ │ │ ├── flags: ∅
│ │ ├── elements: (length: 1)
│ │ │ └── @ StringNode (location: (14,10)-(14,13))
│ │ │ ├── flags: ∅
@@ -274,12 +275,12 @@
│ │ │ ├── closing_loc: ∅
│ │ │ └── unescaped: "foo"
│ │ ├── opening_loc: (14,7)-(14,10) = "%w["
- │ │ ├── closing_loc: (14,13)-(14,14) = "]"
- │ │ └── flags: ∅
+ │ │ └── closing_loc: (14,13)-(14,14) = "]"
│ └── operator_loc: (14,4)-(14,6) = "=>"
├── @ MatchRequiredNode (location: (15,0)-(15,14))
│ ├── value:
│ │ @ CallNode (location: (15,0)-(15,3))
+ │ │ ├── flags: variable_call
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
│ │ ├── name: :foo
@@ -287,10 +288,10 @@
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
- │ │ ├── block: ∅
- │ │ └── flags: variable_call
+ │ │ └── block: ∅
│ ├── pattern:
│ │ @ ArrayNode (location: (15,7)-(15,14))
+ │ │ ├── flags: ∅
│ │ ├── elements: (length: 1)
│ │ │ └── @ StringNode (location: (15,10)-(15,13))
│ │ │ ├── flags: ∅
@@ -299,12 +300,12 @@
│ │ │ ├── closing_loc: ∅
│ │ │ └── unescaped: "foo"
│ │ ├── opening_loc: (15,7)-(15,10) = "%W["
- │ │ ├── closing_loc: (15,13)-(15,14) = "]"
- │ │ └── flags: ∅
+ │ │ └── closing_loc: (15,13)-(15,14) = "]"
│ └── operator_loc: (15,4)-(15,6) = "=>"
├── @ MatchRequiredNode (location: (16,0)-(16,14))
│ ├── value:
│ │ @ CallNode (location: (16,0)-(16,3))
+ │ │ ├── flags: variable_call
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
│ │ ├── name: :foo
@@ -312,8 +313,7 @@
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
- │ │ ├── block: ∅
- │ │ └── flags: variable_call
+ │ │ └── block: ∅
│ ├── pattern:
│ │ @ StringNode (location: (16,7)-(16,14))
│ │ ├── flags: ∅
@@ -325,6 +325,7 @@
├── @ MatchRequiredNode (location: (17,0)-(17,14))
│ ├── value:
│ │ @ CallNode (location: (17,0)-(17,3))
+ │ │ ├── flags: variable_call
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
│ │ ├── name: :foo
@@ -332,8 +333,7 @@
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
- │ │ ├── block: ∅
- │ │ └── flags: variable_call
+ │ │ └── block: ∅
│ ├── pattern:
│ │ @ StringNode (location: (17,7)-(17,14))
│ │ ├── flags: ∅
@@ -345,6 +345,7 @@
├── @ MatchRequiredNode (location: (18,0)-(18,12))
│ ├── value:
│ │ @ CallNode (location: (18,0)-(18,3))
+ │ │ ├── flags: variable_call
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
│ │ ├── name: :foo
@@ -352,8 +353,7 @@
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
- │ │ ├── block: ∅
- │ │ └── flags: variable_call
+ │ │ └── block: ∅
│ ├── pattern:
│ │ @ StringNode (location: (18,7)-(18,12))
│ │ ├── flags: ∅
@@ -365,6 +365,7 @@
├── @ MatchRequiredNode (location: (19,0)-(19,10))
│ ├── value:
│ │ @ CallNode (location: (19,0)-(19,3))
+ │ │ ├── flags: variable_call
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
│ │ ├── name: :foo
@@ -372,14 +373,14 @@
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
- │ │ ├── block: ∅
- │ │ └── flags: variable_call
+ │ │ └── block: ∅
│ ├── pattern:
│ │ @ NilNode (location: (19,7)-(19,10))
│ └── operator_loc: (19,4)-(19,6) = "=>"
├── @ MatchRequiredNode (location: (20,0)-(20,11))
│ ├── value:
│ │ @ CallNode (location: (20,0)-(20,3))
+ │ │ ├── flags: variable_call
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
│ │ ├── name: :foo
@@ -387,14 +388,14 @@
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
- │ │ ├── block: ∅
- │ │ └── flags: variable_call
+ │ │ └── block: ∅
│ ├── pattern:
│ │ @ SelfNode (location: (20,7)-(20,11))
│ └── operator_loc: (20,4)-(20,6) = "=>"
├── @ MatchRequiredNode (location: (21,0)-(21,11))
│ ├── value:
│ │ @ CallNode (location: (21,0)-(21,3))
+ │ │ ├── flags: variable_call
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
│ │ ├── name: :foo
@@ -402,14 +403,14 @@
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
- │ │ ├── block: ∅
- │ │ └── flags: variable_call
+ │ │ └── block: ∅
│ ├── pattern:
│ │ @ TrueNode (location: (21,7)-(21,11))
│ └── operator_loc: (21,4)-(21,6) = "=>"
├── @ MatchRequiredNode (location: (22,0)-(22,12))
│ ├── value:
│ │ @ CallNode (location: (22,0)-(22,3))
+ │ │ ├── flags: variable_call
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
│ │ ├── name: :foo
@@ -417,14 +418,14 @@
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
- │ │ ├── block: ∅
- │ │ └── flags: variable_call
+ │ │ └── block: ∅
│ ├── pattern:
│ │ @ FalseNode (location: (22,7)-(22,12))
│ └── operator_loc: (22,4)-(22,6) = "=>"
├── @ MatchRequiredNode (location: (23,0)-(23,15))
│ ├── value:
│ │ @ CallNode (location: (23,0)-(23,3))
+ │ │ ├── flags: variable_call
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
│ │ ├── name: :foo
@@ -432,8 +433,7 @@
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
- │ │ ├── block: ∅
- │ │ └── flags: variable_call
+ │ │ └── block: ∅
│ ├── pattern:
│ │ @ SourceFileNode (location: (23,7)-(23,15))
│ │ └── filepath: "patterns.txt"
@@ -441,6 +441,7 @@
├── @ MatchRequiredNode (location: (24,0)-(24,15))
│ ├── value:
│ │ @ CallNode (location: (24,0)-(24,3))
+ │ │ ├── flags: variable_call
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
│ │ ├── name: :foo
@@ -448,14 +449,14 @@
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
- │ │ ├── block: ∅
- │ │ └── flags: variable_call
+ │ │ └── block: ∅
│ ├── pattern:
│ │ @ SourceLineNode (location: (24,7)-(24,15))
│ └── operator_loc: (24,4)-(24,6) = "=>"
├── @ MatchRequiredNode (location: (25,0)-(25,19))
│ ├── value:
│ │ @ CallNode (location: (25,0)-(25,3))
+ │ │ ├── flags: variable_call
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
│ │ ├── name: :foo
@@ -463,14 +464,14 @@
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
- │ │ ├── block: ∅
- │ │ └── flags: variable_call
+ │ │ └── block: ∅
│ ├── pattern:
│ │ @ SourceEncodingNode (location: (25,7)-(25,19))
│ └── operator_loc: (25,4)-(25,6) = "=>"
├── @ MatchRequiredNode (location: (26,0)-(26,17))
│ ├── value:
│ │ @ CallNode (location: (26,0)-(26,3))
+ │ │ ├── flags: variable_call
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
│ │ ├── name: :foo
@@ -478,8 +479,7 @@
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
- │ │ ├── block: ∅
- │ │ └── flags: variable_call
+ │ │ └── block: ∅
│ ├── pattern:
│ │ @ LambdaNode (location: (26,7)-(26,17))
│ │ ├── locals: []
@@ -498,6 +498,7 @@
├── @ MatchRequiredNode (location: (28,0)-(28,13))
│ ├── value:
│ │ @ CallNode (location: (28,0)-(28,3))
+ │ │ ├── flags: variable_call
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
│ │ ├── name: :foo
@@ -505,22 +506,22 @@
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
- │ │ ├── block: ∅
- │ │ └── flags: variable_call
+ │ │ └── block: ∅
│ ├── pattern:
│ │ @ RangeNode (location: (28,7)-(28,13))
+ │ │ ├── flags: ∅
│ │ ├── left:
│ │ │ @ IntegerNode (location: (28,7)-(28,8))
│ │ │ └── flags: decimal
│ │ ├── right:
│ │ │ @ IntegerNode (location: (28,12)-(28,13))
│ │ │ └── flags: decimal
- │ │ ├── operator_loc: (28,9)-(28,11) = ".."
- │ │ └── flags: ∅
+ │ │ └── operator_loc: (28,9)-(28,11) = ".."
│ └── operator_loc: (28,4)-(28,6) = "=>"
├── @ MatchRequiredNode (location: (29,0)-(29,17))
│ ├── value:
│ │ @ CallNode (location: (29,0)-(29,3))
+ │ │ ├── flags: variable_call
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
│ │ ├── name: :foo
@@ -528,20 +529,20 @@
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
- │ │ ├── block: ∅
- │ │ └── flags: variable_call
+ │ │ └── block: ∅
│ ├── pattern:
│ │ @ RangeNode (location: (29,7)-(29,17))
+ │ │ ├── flags: ∅
│ │ ├── left:
│ │ │ @ FloatNode (location: (29,7)-(29,10))
│ │ ├── right:
│ │ │ @ FloatNode (location: (29,14)-(29,17))
- │ │ ├── operator_loc: (29,11)-(29,13) = ".."
- │ │ └── flags: ∅
+ │ │ └── operator_loc: (29,11)-(29,13) = ".."
│ └── operator_loc: (29,4)-(29,6) = "=>"
├── @ MatchRequiredNode (location: (30,0)-(30,15))
│ ├── value:
│ │ @ CallNode (location: (30,0)-(30,3))
+ │ │ ├── flags: variable_call
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
│ │ ├── name: :foo
@@ -549,10 +550,10 @@
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
- │ │ ├── block: ∅
- │ │ └── flags: variable_call
+ │ │ └── block: ∅
│ ├── pattern:
│ │ @ RangeNode (location: (30,7)-(30,15))
+ │ │ ├── flags: ∅
│ │ ├── left:
│ │ │ @ ImaginaryNode (location: (30,7)-(30,9))
│ │ │ └── numeric:
@@ -563,12 +564,12 @@
│ │ │ └── numeric:
│ │ │ @ IntegerNode (location: (30,13)-(30,14))
│ │ │ └── flags: decimal
- │ │ ├── operator_loc: (30,10)-(30,12) = ".."
- │ │ └── flags: ∅
+ │ │ └── operator_loc: (30,10)-(30,12) = ".."
│ └── operator_loc: (30,4)-(30,6) = "=>"
├── @ MatchRequiredNode (location: (31,0)-(31,15))
│ ├── value:
│ │ @ CallNode (location: (31,0)-(31,3))
+ │ │ ├── flags: variable_call
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
│ │ ├── name: :foo
@@ -576,10 +577,10 @@
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
- │ │ ├── block: ∅
- │ │ └── flags: variable_call
+ │ │ └── block: ∅
│ ├── pattern:
│ │ @ RangeNode (location: (31,7)-(31,15))
+ │ │ ├── flags: ∅
│ │ ├── left:
│ │ │ @ RationalNode (location: (31,7)-(31,9))
│ │ │ └── numeric:
@@ -590,12 +591,12 @@
│ │ │ └── numeric:
│ │ │ @ IntegerNode (location: (31,13)-(31,14))
│ │ │ └── flags: decimal
- │ │ ├── operator_loc: (31,10)-(31,12) = ".."
- │ │ └── flags: ∅
+ │ │ └── operator_loc: (31,10)-(31,12) = ".."
│ └── operator_loc: (31,4)-(31,6) = "=>"
├── @ MatchRequiredNode (location: (32,0)-(32,19))
│ ├── value:
│ │ @ CallNode (location: (32,0)-(32,3))
+ │ │ ├── flags: variable_call
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
│ │ ├── name: :foo
@@ -603,10 +604,10 @@
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
- │ │ ├── block: ∅
- │ │ └── flags: variable_call
+ │ │ └── block: ∅
│ ├── pattern:
│ │ @ RangeNode (location: (32,7)-(32,19))
+ │ │ ├── flags: ∅
│ │ ├── left:
│ │ │ @ SymbolNode (location: (32,7)-(32,11))
│ │ │ ├── opening_loc: (32,7)-(32,8) = ":"
@@ -619,12 +620,12 @@
│ │ │ ├── value_loc: (32,16)-(32,19) = "foo"
│ │ │ ├── closing_loc: ∅
│ │ │ └── unescaped: "foo"
- │ │ ├── operator_loc: (32,12)-(32,14) = ".."
- │ │ └── flags: ∅
+ │ │ └── operator_loc: (32,12)-(32,14) = ".."
│ └── operator_loc: (32,4)-(32,6) = "=>"
├── @ MatchRequiredNode (location: (33,0)-(33,25))
│ ├── value:
│ │ @ CallNode (location: (33,0)-(33,3))
+ │ │ ├── flags: variable_call
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
│ │ ├── name: :foo
@@ -632,10 +633,10 @@
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
- │ │ ├── block: ∅
- │ │ └── flags: variable_call
+ │ │ └── block: ∅
│ ├── pattern:
│ │ @ RangeNode (location: (33,7)-(33,25))
+ │ │ ├── flags: ∅
│ │ ├── left:
│ │ │ @ SymbolNode (location: (33,7)-(33,14))
│ │ │ ├── opening_loc: (33,7)-(33,10) = "%s["
@@ -648,12 +649,12 @@
│ │ │ ├── value_loc: (33,21)-(33,24) = "foo"
│ │ │ ├── closing_loc: (33,24)-(33,25) = "]"
│ │ │ └── unescaped: "foo"
- │ │ ├── operator_loc: (33,15)-(33,17) = ".."
- │ │ └── flags: ∅
+ │ │ └── operator_loc: (33,15)-(33,17) = ".."
│ └── operator_loc: (33,4)-(33,6) = "=>"
├── @ MatchRequiredNode (location: (34,0)-(34,23))
│ ├── value:
│ │ @ CallNode (location: (34,0)-(34,3))
+ │ │ ├── flags: variable_call
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
│ │ ├── name: :foo
@@ -661,10 +662,10 @@
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
- │ │ ├── block: ∅
- │ │ └── flags: variable_call
+ │ │ └── block: ∅
│ ├── pattern:
│ │ @ RangeNode (location: (34,7)-(34,23))
+ │ │ ├── flags: ∅
│ │ ├── left:
│ │ │ @ SymbolNode (location: (34,7)-(34,13))
│ │ │ ├── opening_loc: (34,7)-(34,9) = ":\""
@@ -677,12 +678,12 @@
│ │ │ ├── value_loc: (34,19)-(34,22) = "foo"
│ │ │ ├── closing_loc: (34,22)-(34,23) = "\""
│ │ │ └── unescaped: "foo"
- │ │ ├── operator_loc: (34,14)-(34,16) = ".."
- │ │ └── flags: ∅
+ │ │ └── operator_loc: (34,14)-(34,16) = ".."
│ └── operator_loc: (34,4)-(34,6) = "=>"
├── @ MatchRequiredNode (location: (35,0)-(35,21))
│ ├── value:
│ │ @ CallNode (location: (35,0)-(35,3))
+ │ │ ├── flags: variable_call
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
│ │ ├── name: :foo
@@ -690,30 +691,30 @@
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
- │ │ ├── block: ∅
- │ │ └── flags: variable_call
+ │ │ └── block: ∅
│ ├── pattern:
│ │ @ RangeNode (location: (35,7)-(35,21))
+ │ │ ├── flags: ∅
│ │ ├── left:
│ │ │ @ RegularExpressionNode (location: (35,7)-(35,12))
+ │ │ │ ├── flags: ∅
│ │ │ ├── opening_loc: (35,7)-(35,8) = "/"
│ │ │ ├── content_loc: (35,8)-(35,11) = "foo"
│ │ │ ├── closing_loc: (35,11)-(35,12) = "/"
- │ │ │ ├── unescaped: "foo"
- │ │ │ └── flags: ∅
+ │ │ │ └── unescaped: "foo"
│ │ ├── right:
│ │ │ @ RegularExpressionNode (location: (35,16)-(35,21))
+ │ │ │ ├── flags: ∅
│ │ │ ├── opening_loc: (35,16)-(35,17) = "/"
│ │ │ ├── content_loc: (35,17)-(35,20) = "foo"
│ │ │ ├── closing_loc: (35,20)-(35,21) = "/"
- │ │ │ ├── unescaped: "foo"
- │ │ │ └── flags: ∅
- │ │ ├── operator_loc: (35,13)-(35,15) = ".."
- │ │ └── flags: ∅
+ │ │ │ └── unescaped: "foo"
+ │ │ └── operator_loc: (35,13)-(35,15) = ".."
│ └── operator_loc: (35,4)-(35,6) = "=>"
├── @ MatchRequiredNode (location: (36,0)-(36,21))
│ ├── value:
│ │ @ CallNode (location: (36,0)-(36,3))
+ │ │ ├── flags: variable_call
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
│ │ ├── name: :foo
@@ -721,10 +722,10 @@
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
- │ │ ├── block: ∅
- │ │ └── flags: variable_call
+ │ │ └── block: ∅
│ ├── pattern:
│ │ @ RangeNode (location: (36,7)-(36,21))
+ │ │ ├── flags: ∅
│ │ ├── left:
│ │ │ @ XStringNode (location: (36,7)-(36,12))
│ │ │ ├── flags: ∅
@@ -739,12 +740,12 @@
│ │ │ ├── content_loc: (36,17)-(36,20) = "foo"
│ │ │ ├── closing_loc: (36,20)-(36,21) = "`"
│ │ │ └── unescaped: "foo"
- │ │ ├── operator_loc: (36,13)-(36,15) = ".."
- │ │ └── flags: ∅
+ │ │ └── operator_loc: (36,13)-(36,15) = ".."
│ └── operator_loc: (36,4)-(36,6) = "=>"
├── @ MatchRequiredNode (location: (37,0)-(37,25))
│ ├── value:
│ │ @ CallNode (location: (37,0)-(37,3))
+ │ │ ├── flags: variable_call
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
│ │ ├── name: :foo
@@ -752,10 +753,10 @@
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
- │ │ ├── block: ∅
- │ │ └── flags: variable_call
+ │ │ └── block: ∅
│ ├── pattern:
│ │ @ RangeNode (location: (37,7)-(37,25))
+ │ │ ├── flags: ∅
│ │ ├── left:
│ │ │ @ XStringNode (location: (37,7)-(37,14))
│ │ │ ├── flags: ∅
@@ -770,12 +771,12 @@
│ │ │ ├── content_loc: (37,21)-(37,24) = "foo"
│ │ │ ├── closing_loc: (37,24)-(37,25) = "]"
│ │ │ └── unescaped: "foo"
- │ │ ├── operator_loc: (37,15)-(37,17) = ".."
- │ │ └── flags: ∅
+ │ │ └── operator_loc: (37,15)-(37,17) = ".."
│ └── operator_loc: (37,4)-(37,6) = "=>"
├── @ MatchRequiredNode (location: (38,0)-(38,25))
│ ├── value:
│ │ @ CallNode (location: (38,0)-(38,3))
+ │ │ ├── flags: variable_call
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
│ │ ├── name: :foo
@@ -783,12 +784,13 @@
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
- │ │ ├── block: ∅
- │ │ └── flags: variable_call
+ │ │ └── block: ∅
│ ├── pattern:
│ │ @ RangeNode (location: (38,7)-(38,25))
+ │ │ ├── flags: ∅
│ │ ├── left:
│ │ │ @ ArrayNode (location: (38,7)-(38,14))
+ │ │ │ ├── flags: ∅
│ │ │ ├── elements: (length: 1)
│ │ │ │ └── @ SymbolNode (location: (38,10)-(38,13))
│ │ │ │ ├── opening_loc: ∅
@@ -796,10 +798,10 @@
│ │ │ │ ├── closing_loc: ∅
│ │ │ │ └── unescaped: "foo"
│ │ │ ├── opening_loc: (38,7)-(38,10) = "%i["
- │ │ │ ├── closing_loc: (38,13)-(38,14) = "]"
- │ │ │ └── flags: ∅
+ │ │ │ └── closing_loc: (38,13)-(38,14) = "]"
│ │ ├── right:
│ │ │ @ ArrayNode (location: (38,18)-(38,25))
+ │ │ │ ├── flags: ∅
│ │ │ ├── elements: (length: 1)
│ │ │ │ └── @ SymbolNode (location: (38,21)-(38,24))
│ │ │ │ ├── opening_loc: ∅
@@ -807,14 +809,13 @@
│ │ │ │ ├── closing_loc: ∅
│ │ │ │ └── unescaped: "foo"
│ │ │ ├── opening_loc: (38,18)-(38,21) = "%i["
- │ │ │ ├── closing_loc: (38,24)-(38,25) = "]"
- │ │ │ └── flags: ∅
- │ │ ├── operator_loc: (38,15)-(38,17) = ".."
- │ │ └── flags: ∅
+ │ │ │ └── closing_loc: (38,24)-(38,25) = "]"
+ │ │ └── operator_loc: (38,15)-(38,17) = ".."
│ └── operator_loc: (38,4)-(38,6) = "=>"
├── @ MatchRequiredNode (location: (39,0)-(39,25))
│ ├── value:
│ │ @ CallNode (location: (39,0)-(39,3))
+ │ │ ├── flags: variable_call
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
│ │ ├── name: :foo
@@ -822,12 +823,13 @@
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
- │ │ ├── block: ∅
- │ │ └── flags: variable_call
+ │ │ └── block: ∅
│ ├── pattern:
│ │ @ RangeNode (location: (39,7)-(39,25))
+ │ │ ├── flags: ∅
│ │ ├── left:
│ │ │ @ ArrayNode (location: (39,7)-(39,14))
+ │ │ │ ├── flags: ∅
│ │ │ ├── elements: (length: 1)
│ │ │ │ └── @ SymbolNode (location: (39,10)-(39,13))
│ │ │ │ ├── opening_loc: ∅
@@ -835,10 +837,10 @@
│ │ │ │ ├── closing_loc: ∅
│ │ │ │ └── unescaped: "foo"
│ │ │ ├── opening_loc: (39,7)-(39,10) = "%I["
- │ │ │ ├── closing_loc: (39,13)-(39,14) = "]"
- │ │ │ └── flags: ∅
+ │ │ │ └── closing_loc: (39,13)-(39,14) = "]"
│ │ ├── right:
│ │ │ @ ArrayNode (location: (39,18)-(39,25))
+ │ │ │ ├── flags: ∅
│ │ │ ├── elements: (length: 1)
│ │ │ │ └── @ SymbolNode (location: (39,21)-(39,24))
│ │ │ │ ├── opening_loc: ∅
@@ -846,14 +848,13 @@
│ │ │ │ ├── closing_loc: ∅
│ │ │ │ └── unescaped: "foo"
│ │ │ ├── opening_loc: (39,18)-(39,21) = "%I["
- │ │ │ ├── closing_loc: (39,24)-(39,25) = "]"
- │ │ │ └── flags: ∅
- │ │ ├── operator_loc: (39,15)-(39,17) = ".."
- │ │ └── flags: ∅
+ │ │ │ └── closing_loc: (39,24)-(39,25) = "]"
+ │ │ └── operator_loc: (39,15)-(39,17) = ".."
│ └── operator_loc: (39,4)-(39,6) = "=>"
├── @ MatchRequiredNode (location: (40,0)-(40,25))
│ ├── value:
│ │ @ CallNode (location: (40,0)-(40,3))
+ │ │ ├── flags: variable_call
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
│ │ ├── name: :foo
@@ -861,12 +862,13 @@
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
- │ │ ├── block: ∅
- │ │ └── flags: variable_call
+ │ │ └── block: ∅
│ ├── pattern:
│ │ @ RangeNode (location: (40,7)-(40,25))
+ │ │ ├── flags: ∅
│ │ ├── left:
│ │ │ @ ArrayNode (location: (40,7)-(40,14))
+ │ │ │ ├── flags: ∅
│ │ │ ├── elements: (length: 1)
│ │ │ │ └── @ StringNode (location: (40,10)-(40,13))
│ │ │ │ ├── flags: ∅
@@ -875,10 +877,10 @@
│ │ │ │ ├── closing_loc: ∅
│ │ │ │ └── unescaped: "foo"
│ │ │ ├── opening_loc: (40,7)-(40,10) = "%w["
- │ │ │ ├── closing_loc: (40,13)-(40,14) = "]"
- │ │ │ └── flags: ∅
+ │ │ │ └── closing_loc: (40,13)-(40,14) = "]"
│ │ ├── right:
│ │ │ @ ArrayNode (location: (40,18)-(40,25))
+ │ │ │ ├── flags: ∅
│ │ │ ├── elements: (length: 1)
│ │ │ │ └── @ StringNode (location: (40,21)-(40,24))
│ │ │ │ ├── flags: ∅
@@ -887,14 +889,13 @@
│ │ │ │ ├── closing_loc: ∅
│ │ │ │ └── unescaped: "foo"
│ │ │ ├── opening_loc: (40,18)-(40,21) = "%w["
- │ │ │ ├── closing_loc: (40,24)-(40,25) = "]"
- │ │ │ └── flags: ∅
- │ │ ├── operator_loc: (40,15)-(40,17) = ".."
- │ │ └── flags: ∅
+ │ │ │ └── closing_loc: (40,24)-(40,25) = "]"
+ │ │ └── operator_loc: (40,15)-(40,17) = ".."
│ └── operator_loc: (40,4)-(40,6) = "=>"
├── @ MatchRequiredNode (location: (41,0)-(41,25))
│ ├── value:
│ │ @ CallNode (location: (41,0)-(41,3))
+ │ │ ├── flags: variable_call
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
│ │ ├── name: :foo
@@ -902,12 +903,13 @@
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
- │ │ ├── block: ∅
- │ │ └── flags: variable_call
+ │ │ └── block: ∅
│ ├── pattern:
│ │ @ RangeNode (location: (41,7)-(41,25))
+ │ │ ├── flags: ∅
│ │ ├── left:
│ │ │ @ ArrayNode (location: (41,7)-(41,14))
+ │ │ │ ├── flags: ∅
│ │ │ ├── elements: (length: 1)
│ │ │ │ └── @ StringNode (location: (41,10)-(41,13))
│ │ │ │ ├── flags: ∅
@@ -916,10 +918,10 @@
│ │ │ │ ├── closing_loc: ∅
│ │ │ │ └── unescaped: "foo"
│ │ │ ├── opening_loc: (41,7)-(41,10) = "%W["
- │ │ │ ├── closing_loc: (41,13)-(41,14) = "]"
- │ │ │ └── flags: ∅
+ │ │ │ └── closing_loc: (41,13)-(41,14) = "]"
│ │ ├── right:
│ │ │ @ ArrayNode (location: (41,18)-(41,25))
+ │ │ │ ├── flags: ∅
│ │ │ ├── elements: (length: 1)
│ │ │ │ └── @ StringNode (location: (41,21)-(41,24))
│ │ │ │ ├── flags: ∅
@@ -928,14 +930,13 @@
│ │ │ │ ├── closing_loc: ∅
│ │ │ │ └── unescaped: "foo"
│ │ │ ├── opening_loc: (41,18)-(41,21) = "%W["
- │ │ │ ├── closing_loc: (41,24)-(41,25) = "]"
- │ │ │ └── flags: ∅
- │ │ ├── operator_loc: (41,15)-(41,17) = ".."
- │ │ └── flags: ∅
+ │ │ │ └── closing_loc: (41,24)-(41,25) = "]"
+ │ │ └── operator_loc: (41,15)-(41,17) = ".."
│ └── operator_loc: (41,4)-(41,6) = "=>"
├── @ MatchRequiredNode (location: (42,0)-(42,25))
│ ├── value:
│ │ @ CallNode (location: (42,0)-(42,3))
+ │ │ ├── flags: variable_call
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
│ │ ├── name: :foo
@@ -943,10 +944,10 @@
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
- │ │ ├── block: ∅
- │ │ └── flags: variable_call
+ │ │ └── block: ∅
│ ├── pattern:
│ │ @ RangeNode (location: (42,7)-(42,25))
+ │ │ ├── flags: ∅
│ │ ├── left:
│ │ │ @ StringNode (location: (42,7)-(42,14))
│ │ │ ├── flags: ∅
@@ -961,12 +962,12 @@
│ │ │ ├── content_loc: (42,21)-(42,24) = "foo"
│ │ │ ├── closing_loc: (42,24)-(42,25) = "]"
│ │ │ └── unescaped: "foo"
- │ │ ├── operator_loc: (42,15)-(42,17) = ".."
- │ │ └── flags: ∅
+ │ │ └── operator_loc: (42,15)-(42,17) = ".."
│ └── operator_loc: (42,4)-(42,6) = "=>"
├── @ MatchRequiredNode (location: (43,0)-(43,25))
│ ├── value:
│ │ @ CallNode (location: (43,0)-(43,3))
+ │ │ ├── flags: variable_call
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
│ │ ├── name: :foo
@@ -974,10 +975,10 @@
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
- │ │ ├── block: ∅
- │ │ └── flags: variable_call
+ │ │ └── block: ∅
│ ├── pattern:
│ │ @ RangeNode (location: (43,7)-(43,25))
+ │ │ ├── flags: ∅
│ │ ├── left:
│ │ │ @ StringNode (location: (43,7)-(43,14))
│ │ │ ├── flags: ∅
@@ -992,12 +993,12 @@
│ │ │ ├── content_loc: (43,21)-(43,24) = "foo"
│ │ │ ├── closing_loc: (43,24)-(43,25) = "]"
│ │ │ └── unescaped: "foo"
- │ │ ├── operator_loc: (43,15)-(43,17) = ".."
- │ │ └── flags: ∅
+ │ │ └── operator_loc: (43,15)-(43,17) = ".."
│ └── operator_loc: (43,4)-(43,6) = "=>"
├── @ MatchRequiredNode (location: (44,0)-(44,21))
│ ├── value:
│ │ @ CallNode (location: (44,0)-(44,3))
+ │ │ ├── flags: variable_call
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
│ │ ├── name: :foo
@@ -1005,10 +1006,10 @@
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
- │ │ ├── block: ∅
- │ │ └── flags: variable_call
+ │ │ └── block: ∅
│ ├── pattern:
│ │ @ RangeNode (location: (44,7)-(44,21))
+ │ │ ├── flags: ∅
│ │ ├── left:
│ │ │ @ StringNode (location: (44,7)-(44,12))
│ │ │ ├── flags: ∅
@@ -1023,12 +1024,12 @@
│ │ │ ├── content_loc: (44,17)-(44,20) = "foo"
│ │ │ ├── closing_loc: (44,20)-(44,21) = "\""
│ │ │ └── unescaped: "foo"
- │ │ ├── operator_loc: (44,13)-(44,15) = ".."
- │ │ └── flags: ∅
+ │ │ └── operator_loc: (44,13)-(44,15) = ".."
│ └── operator_loc: (44,4)-(44,6) = "=>"
├── @ MatchRequiredNode (location: (45,0)-(45,17))
│ ├── value:
│ │ @ CallNode (location: (45,0)-(45,3))
+ │ │ ├── flags: variable_call
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
│ │ ├── name: :foo
@@ -1036,20 +1037,20 @@
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
- │ │ ├── block: ∅
- │ │ └── flags: variable_call
+ │ │ └── block: ∅
│ ├── pattern:
│ │ @ RangeNode (location: (45,7)-(45,17))
+ │ │ ├── flags: ∅
│ │ ├── left:
│ │ │ @ NilNode (location: (45,7)-(45,10))
│ │ ├── right:
│ │ │ @ NilNode (location: (45,14)-(45,17))
- │ │ ├── operator_loc: (45,11)-(45,13) = ".."
- │ │ └── flags: ∅
+ │ │ └── operator_loc: (45,11)-(45,13) = ".."
│ └── operator_loc: (45,4)-(45,6) = "=>"
├── @ MatchRequiredNode (location: (46,0)-(46,19))
│ ├── value:
│ │ @ CallNode (location: (46,0)-(46,3))
+ │ │ ├── flags: variable_call
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
│ │ ├── name: :foo
@@ -1057,20 +1058,20 @@
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
- │ │ ├── block: ∅
- │ │ └── flags: variable_call
+ │ │ └── block: ∅
│ ├── pattern:
│ │ @ RangeNode (location: (46,7)-(46,19))
+ │ │ ├── flags: ∅
│ │ ├── left:
│ │ │ @ SelfNode (location: (46,7)-(46,11))
│ │ ├── right:
│ │ │ @ SelfNode (location: (46,15)-(46,19))
- │ │ ├── operator_loc: (46,12)-(46,14) = ".."
- │ │ └── flags: ∅
+ │ │ └── operator_loc: (46,12)-(46,14) = ".."
│ └── operator_loc: (46,4)-(46,6) = "=>"
├── @ MatchRequiredNode (location: (47,0)-(47,19))
│ ├── value:
│ │ @ CallNode (location: (47,0)-(47,3))
+ │ │ ├── flags: variable_call
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
│ │ ├── name: :foo
@@ -1078,20 +1079,20 @@
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
- │ │ ├── block: ∅
- │ │ └── flags: variable_call
+ │ │ └── block: ∅
│ ├── pattern:
│ │ @ RangeNode (location: (47,7)-(47,19))
+ │ │ ├── flags: ∅
│ │ ├── left:
│ │ │ @ TrueNode (location: (47,7)-(47,11))
│ │ ├── right:
│ │ │ @ TrueNode (location: (47,15)-(47,19))
- │ │ ├── operator_loc: (47,12)-(47,14) = ".."
- │ │ └── flags: ∅
+ │ │ └── operator_loc: (47,12)-(47,14) = ".."
│ └── operator_loc: (47,4)-(47,6) = "=>"
├── @ MatchRequiredNode (location: (48,0)-(48,21))
│ ├── value:
│ │ @ CallNode (location: (48,0)-(48,3))
+ │ │ ├── flags: variable_call
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
│ │ ├── name: :foo
@@ -1099,20 +1100,20 @@
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
- │ │ ├── block: ∅
- │ │ └── flags: variable_call
+ │ │ └── block: ∅
│ ├── pattern:
│ │ @ RangeNode (location: (48,7)-(48,21))
+ │ │ ├── flags: ∅
│ │ ├── left:
│ │ │ @ FalseNode (location: (48,7)-(48,12))
│ │ ├── right:
│ │ │ @ FalseNode (location: (48,16)-(48,21))
- │ │ ├── operator_loc: (48,13)-(48,15) = ".."
- │ │ └── flags: ∅
+ │ │ └── operator_loc: (48,13)-(48,15) = ".."
│ └── operator_loc: (48,4)-(48,6) = "=>"
├── @ MatchRequiredNode (location: (49,0)-(49,27))
│ ├── value:
│ │ @ CallNode (location: (49,0)-(49,3))
+ │ │ ├── flags: variable_call
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
│ │ ├── name: :foo
@@ -1120,22 +1121,22 @@
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
- │ │ ├── block: ∅
- │ │ └── flags: variable_call
+ │ │ └── block: ∅
│ ├── pattern:
│ │ @ RangeNode (location: (49,7)-(49,27))
+ │ │ ├── flags: ∅
│ │ ├── left:
│ │ │ @ SourceFileNode (location: (49,7)-(49,15))
│ │ │ └── filepath: "patterns.txt"
│ │ ├── right:
│ │ │ @ SourceFileNode (location: (49,19)-(49,27))
│ │ │ └── filepath: "patterns.txt"
- │ │ ├── operator_loc: (49,16)-(49,18) = ".."
- │ │ └── flags: ∅
+ │ │ └── operator_loc: (49,16)-(49,18) = ".."
│ └── operator_loc: (49,4)-(49,6) = "=>"
├── @ MatchRequiredNode (location: (50,0)-(50,27))
│ ├── value:
│ │ @ CallNode (location: (50,0)-(50,3))
+ │ │ ├── flags: variable_call
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
│ │ ├── name: :foo
@@ -1143,20 +1144,20 @@
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
- │ │ ├── block: ∅
- │ │ └── flags: variable_call
+ │ │ └── block: ∅
│ ├── pattern:
│ │ @ RangeNode (location: (50,7)-(50,27))
+ │ │ ├── flags: ∅
│ │ ├── left:
│ │ │ @ SourceLineNode (location: (50,7)-(50,15))
│ │ ├── right:
│ │ │ @ SourceLineNode (location: (50,19)-(50,27))
- │ │ ├── operator_loc: (50,16)-(50,18) = ".."
- │ │ └── flags: ∅
+ │ │ └── operator_loc: (50,16)-(50,18) = ".."
│ └── operator_loc: (50,4)-(50,6) = "=>"
├── @ MatchRequiredNode (location: (51,0)-(51,35))
│ ├── value:
│ │ @ CallNode (location: (51,0)-(51,3))
+ │ │ ├── flags: variable_call
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
│ │ ├── name: :foo
@@ -1164,20 +1165,20 @@
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
- │ │ ├── block: ∅
- │ │ └── flags: variable_call
+ │ │ └── block: ∅
│ ├── pattern:
│ │ @ RangeNode (location: (51,7)-(51,35))
+ │ │ ├── flags: ∅
│ │ ├── left:
│ │ │ @ SourceEncodingNode (location: (51,7)-(51,19))
│ │ ├── right:
│ │ │ @ SourceEncodingNode (location: (51,23)-(51,35))
- │ │ ├── operator_loc: (51,20)-(51,22) = ".."
- │ │ └── flags: ∅
+ │ │ └── operator_loc: (51,20)-(51,22) = ".."
│ └── operator_loc: (51,4)-(51,6) = "=>"
├── @ MatchRequiredNode (location: (52,0)-(52,31))
│ ├── value:
│ │ @ CallNode (location: (52,0)-(52,3))
+ │ │ ├── flags: variable_call
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
│ │ ├── name: :foo
@@ -1185,10 +1186,10 @@
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
- │ │ ├── block: ∅
- │ │ └── flags: variable_call
+ │ │ └── block: ∅
│ ├── pattern:
│ │ @ RangeNode (location: (52,7)-(52,31))
+ │ │ ├── flags: ∅
│ │ ├── left:
│ │ │ @ LambdaNode (location: (52,7)-(52,17))
│ │ │ ├── locals: []
@@ -1217,12 +1218,12 @@
│ │ │ └── @ LocalVariableReadNode (location: (52,26)-(52,29))
│ │ │ ├── name: :bar
│ │ │ └── depth: 1
- │ │ ├── operator_loc: (52,18)-(52,20) = ".."
- │ │ └── flags: ∅
+ │ │ └── operator_loc: (52,18)-(52,20) = ".."
│ └── operator_loc: (52,4)-(52,6) = "=>"
├── @ MatchRequiredNode (location: (54,0)-(54,11))
│ ├── value:
│ │ @ CallNode (location: (54,0)-(54,3))
+ │ │ ├── flags: variable_call
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
│ │ ├── name: :foo
@@ -1230,8 +1231,7 @@
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
- │ │ ├── block: ∅
- │ │ └── flags: variable_call
+ │ │ └── block: ∅
│ ├── pattern:
│ │ @ PinnedVariableNode (location: (54,7)-(54,11))
│ │ ├── variable:
@@ -1243,6 +1243,7 @@
├── @ MatchRequiredNode (location: (55,0)-(55,12))
│ ├── value:
│ │ @ CallNode (location: (55,0)-(55,3))
+ │ │ ├── flags: variable_call
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
│ │ ├── name: :foo
@@ -1250,8 +1251,7 @@
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
- │ │ ├── block: ∅
- │ │ └── flags: variable_call
+ │ │ └── block: ∅
│ ├── pattern:
│ │ @ PinnedVariableNode (location: (55,7)-(55,12))
│ │ ├── variable:
@@ -1262,6 +1262,7 @@
├── @ MatchRequiredNode (location: (56,0)-(56,13))
│ ├── value:
│ │ @ CallNode (location: (56,0)-(56,3))
+ │ │ ├── flags: variable_call
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
│ │ ├── name: :foo
@@ -1269,8 +1270,7 @@
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
- │ │ ├── block: ∅
- │ │ └── flags: variable_call
+ │ │ └── block: ∅
│ ├── pattern:
│ │ @ PinnedVariableNode (location: (56,7)-(56,13))
│ │ ├── variable:
@@ -1281,6 +1281,7 @@
├── @ MatchRequiredNode (location: (57,0)-(57,12))
│ ├── value:
│ │ @ CallNode (location: (57,0)-(57,3))
+ │ │ ├── flags: variable_call
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
│ │ ├── name: :foo
@@ -1288,8 +1289,7 @@
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
- │ │ ├── block: ∅
- │ │ └── flags: variable_call
+ │ │ └── block: ∅
│ ├── pattern:
│ │ @ PinnedVariableNode (location: (57,7)-(57,12))
│ │ ├── variable:
@@ -1300,6 +1300,7 @@
├── @ MatchRequiredNode (location: (59,0)-(59,11))
│ ├── value:
│ │ @ CallNode (location: (59,0)-(59,3))
+ │ │ ├── flags: variable_call
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
│ │ ├── name: :foo
@@ -1307,8 +1308,7 @@
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
- │ │ ├── block: ∅
- │ │ └── flags: variable_call
+ │ │ └── block: ∅
│ ├── pattern:
│ │ @ PinnedExpressionNode (location: (59,7)-(59,11))
│ │ ├── expression:
@@ -1321,6 +1321,7 @@
├── @ MatchRequiredNode (location: (60,0)-(60,13))
│ ├── value:
│ │ @ CallNode (location: (60,0)-(60,3))
+ │ │ ├── flags: variable_call
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
│ │ ├── name: :foo
@@ -1328,8 +1329,7 @@
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
- │ │ ├── block: ∅
- │ │ └── flags: variable_call
+ │ │ └── block: ∅
│ ├── pattern:
│ │ @ PinnedExpressionNode (location: (60,7)-(60,13))
│ │ ├── expression:
@@ -1341,6 +1341,7 @@
├── @ MatchRequiredNode (location: (61,0)-(61,23))
│ ├── value:
│ │ @ CallNode (location: (61,0)-(61,3))
+ │ │ ├── flags: variable_call
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
│ │ ├── name: :foo
@@ -1348,12 +1349,12 @@
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
- │ │ ├── block: ∅
- │ │ └── flags: variable_call
+ │ │ └── block: ∅
│ ├── pattern:
│ │ @ PinnedExpressionNode (location: (61,7)-(61,23))
│ │ ├── expression:
│ │ │ @ CallNode (location: (61,9)-(61,22))
+ │ │ │ ├── flags: ∅
│ │ │ ├── receiver:
│ │ │ │ @ StringNode (location: (61,9)-(61,14))
│ │ │ │ ├── flags: ∅
@@ -1367,17 +1368,16 @@
│ │ │ ├── opening_loc: ∅
│ │ │ ├── arguments:
│ │ │ │ @ ArgumentsNode (location: (61,17)-(61,22))
- │ │ │ │ ├── arguments: (length: 1)
- │ │ │ │ │ └── @ StringNode (location: (61,17)-(61,22))
- │ │ │ │ │ ├── flags: ∅
- │ │ │ │ │ ├── opening_loc: (61,17)-(61,18) = "\""
- │ │ │ │ │ ├── content_loc: (61,18)-(61,21) = "baz"
- │ │ │ │ │ ├── closing_loc: (61,21)-(61,22) = "\""
- │ │ │ │ │ └── unescaped: "baz"
- │ │ │ │ └── flags: ∅
+ │ │ │ │ ├── flags: ∅
+ │ │ │ │ └── arguments: (length: 1)
+ │ │ │ │ └── @ StringNode (location: (61,17)-(61,22))
+ │ │ │ │ ├── flags: ∅
+ │ │ │ │ ├── opening_loc: (61,17)-(61,18) = "\""
+ │ │ │ │ ├── content_loc: (61,18)-(61,21) = "baz"
+ │ │ │ │ ├── closing_loc: (61,21)-(61,22) = "\""
+ │ │ │ │ └── unescaped: "baz"
│ │ │ ├── closing_loc: ∅
- │ │ │ ├── block: ∅
- │ │ │ └── flags: ∅
+ │ │ │ └── block: ∅
│ │ ├── operator_loc: (61,7)-(61,8) = "^"
│ │ ├── lparen_loc: (61,8)-(61,9) = "("
│ │ └── rparen_loc: (61,22)-(61,23) = ")"
@@ -1385,6 +1385,7 @@
├── @ MatchRequiredNode (location: (63,0)-(63,10))
│ ├── value:
│ │ @ CallNode (location: (63,0)-(63,3))
+ │ │ ├── flags: variable_call
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
│ │ ├── name: :foo
@@ -1392,8 +1393,7 @@
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
- │ │ ├── block: ∅
- │ │ └── flags: variable_call
+ │ │ └── block: ∅
│ ├── pattern:
│ │ @ ConstantReadNode (location: (63,7)-(63,10))
│ │ └── name: :Foo
@@ -1401,6 +1401,7 @@
├── @ MatchRequiredNode (location: (64,0)-(64,20))
│ ├── value:
│ │ @ CallNode (location: (64,0)-(64,3))
+ │ │ ├── flags: variable_call
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
│ │ ├── name: :foo
@@ -1408,8 +1409,7 @@
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
- │ │ ├── block: ∅
- │ │ └── flags: variable_call
+ │ │ └── block: ∅
│ ├── pattern:
│ │ @ ConstantPathNode (location: (64,7)-(64,20))
│ │ ├── parent:
@@ -1429,6 +1429,7 @@
├── @ MatchRequiredNode (location: (65,0)-(65,12))
│ ├── value:
│ │ @ CallNode (location: (65,0)-(65,3))
+ │ │ ├── flags: variable_call
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
│ │ ├── name: :foo
@@ -1436,8 +1437,7 @@
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
- │ │ ├── block: ∅
- │ │ └── flags: variable_call
+ │ │ └── block: ∅
│ ├── pattern:
│ │ @ ConstantPathNode (location: (65,7)-(65,12))
│ │ ├── parent: ∅
@@ -1449,6 +1449,7 @@
├── @ MatchRequiredNode (location: (66,0)-(66,22))
│ ├── value:
│ │ @ CallNode (location: (66,0)-(66,3))
+ │ │ ├── flags: variable_call
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
│ │ ├── name: :foo
@@ -1456,8 +1457,7 @@
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
- │ │ ├── block: ∅
- │ │ └── flags: variable_call
+ │ │ └── block: ∅
│ ├── pattern:
│ │ @ ConstantPathNode (location: (66,7)-(66,22))
│ │ ├── parent:
@@ -1481,6 +1481,7 @@
├── @ MatchRequiredNode (location: (68,0)-(68,12))
│ ├── value:
│ │ @ CallNode (location: (68,0)-(68,3))
+ │ │ ├── flags: variable_call
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
│ │ ├── name: :foo
@@ -1488,8 +1489,7 @@
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
- │ │ ├── block: ∅
- │ │ └── flags: variable_call
+ │ │ └── block: ∅
│ ├── pattern:
│ │ @ ArrayPatternNode (location: (68,7)-(68,12))
│ │ ├── constant:
@@ -1504,6 +1504,7 @@
├── @ MatchRequiredNode (location: (69,0)-(69,13))
│ ├── value:
│ │ @ CallNode (location: (69,0)-(69,3))
+ │ │ ├── flags: variable_call
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
│ │ ├── name: :foo
@@ -1511,8 +1512,7 @@
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
- │ │ ├── block: ∅
- │ │ └── flags: variable_call
+ │ │ └── block: ∅
│ ├── pattern:
│ │ @ ArrayPatternNode (location: (69,7)-(69,13))
│ │ ├── constant:
@@ -1529,6 +1529,7 @@
├── @ MatchRequiredNode (location: (70,0)-(70,19))
│ ├── value:
│ │ @ CallNode (location: (70,0)-(70,3))
+ │ │ ├── flags: variable_call
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
│ │ ├── name: :foo
@@ -1536,8 +1537,7 @@
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
- │ │ ├── block: ∅
- │ │ └── flags: variable_call
+ │ │ └── block: ∅
│ ├── pattern:
│ │ @ ArrayPatternNode (location: (70,7)-(70,19))
│ │ ├── constant:
@@ -1558,6 +1558,7 @@
├── @ MatchRequiredNode (location: (71,0)-(71,15))
│ ├── value:
│ │ @ CallNode (location: (71,0)-(71,3))
+ │ │ ├── flags: variable_call
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
│ │ ├── name: :foo
@@ -1565,8 +1566,7 @@
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
- │ │ ├── block: ∅
- │ │ └── flags: variable_call
+ │ │ └── block: ∅
│ ├── pattern:
│ │ @ ArrayPatternNode (location: (71,7)-(71,15))
│ │ ├── constant:
@@ -1584,6 +1584,7 @@
├── @ MatchRequiredNode (location: (72,0)-(72,21))
│ ├── value:
│ │ @ CallNode (location: (72,0)-(72,3))
+ │ │ ├── flags: variable_call
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
│ │ ├── name: :foo
@@ -1591,8 +1592,7 @@
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
- │ │ ├── block: ∅
- │ │ └── flags: variable_call
+ │ │ └── block: ∅
│ ├── pattern:
│ │ @ ArrayPatternNode (location: (72,7)-(72,21))
│ │ ├── constant:
@@ -1616,6 +1616,7 @@
├── @ MatchRequiredNode (location: (73,0)-(73,21))
│ ├── value:
│ │ @ CallNode (location: (73,0)-(73,3))
+ │ │ ├── flags: variable_call
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
│ │ ├── name: :foo
@@ -1623,8 +1624,7 @@
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
- │ │ ├── block: ∅
- │ │ └── flags: variable_call
+ │ │ └── block: ∅
│ ├── pattern:
│ │ @ ArrayPatternNode (location: (73,7)-(73,21))
│ │ ├── constant:
@@ -1648,6 +1648,7 @@
├── @ MatchRequiredNode (location: (74,0)-(74,27))
│ ├── value:
│ │ @ CallNode (location: (74,0)-(74,3))
+ │ │ ├── flags: variable_call
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
│ │ ├── name: :foo
@@ -1655,8 +1656,7 @@
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
- │ │ ├── block: ∅
- │ │ └── flags: variable_call
+ │ │ └── block: ∅
│ ├── pattern:
│ │ @ FindPatternNode (location: (74,7)-(74,27))
│ │ ├── constant:
@@ -1686,6 +1686,7 @@
├── @ MatchRequiredNode (location: (76,0)-(76,12))
│ ├── value:
│ │ @ CallNode (location: (76,0)-(76,3))
+ │ │ ├── flags: variable_call
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
│ │ ├── name: :foo
@@ -1693,8 +1694,7 @@
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
- │ │ ├── block: ∅
- │ │ └── flags: variable_call
+ │ │ └── block: ∅
│ ├── pattern:
│ │ @ ArrayPatternNode (location: (76,7)-(76,12))
│ │ ├── constant:
@@ -1709,6 +1709,7 @@
├── @ MatchRequiredNode (location: (77,0)-(77,13))
│ ├── value:
│ │ @ CallNode (location: (77,0)-(77,3))
+ │ │ ├── flags: variable_call
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
│ │ ├── name: :foo
@@ -1716,8 +1717,7 @@
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
- │ │ ├── block: ∅
- │ │ └── flags: variable_call
+ │ │ └── block: ∅
│ ├── pattern:
│ │ @ ArrayPatternNode (location: (77,7)-(77,13))
│ │ ├── constant:
@@ -1734,6 +1734,7 @@
├── @ MatchRequiredNode (location: (78,0)-(78,19))
│ ├── value:
│ │ @ CallNode (location: (78,0)-(78,3))
+ │ │ ├── flags: variable_call
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
│ │ ├── name: :foo
@@ -1741,8 +1742,7 @@
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
- │ │ ├── block: ∅
- │ │ └── flags: variable_call
+ │ │ └── block: ∅
│ ├── pattern:
│ │ @ ArrayPatternNode (location: (78,7)-(78,19))
│ │ ├── constant:
@@ -1763,6 +1763,7 @@
├── @ MatchRequiredNode (location: (79,0)-(79,17))
│ ├── value:
│ │ @ CallNode (location: (79,0)-(79,3))
+ │ │ ├── flags: variable_call
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
│ │ ├── name: :foo
@@ -1770,8 +1771,7 @@
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
- │ │ ├── block: ∅
- │ │ └── flags: variable_call
+ │ │ └── block: ∅
│ ├── pattern:
│ │ @ ArrayPatternNode (location: (79,7)-(79,17))
│ │ ├── constant:
@@ -1795,6 +1795,7 @@
├── @ MatchRequiredNode (location: (80,0)-(80,15))
│ ├── value:
│ │ @ CallNode (location: (80,0)-(80,3))
+ │ │ ├── flags: variable_call
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
│ │ ├── name: :foo
@@ -1802,8 +1803,7 @@
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
- │ │ ├── block: ∅
- │ │ └── flags: variable_call
+ │ │ └── block: ∅
│ ├── pattern:
│ │ @ ArrayPatternNode (location: (80,7)-(80,15))
│ │ ├── constant:
@@ -1821,6 +1821,7 @@
├── @ MatchRequiredNode (location: (81,0)-(81,21))
│ ├── value:
│ │ @ CallNode (location: (81,0)-(81,3))
+ │ │ ├── flags: variable_call
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
│ │ ├── name: :foo
@@ -1828,8 +1829,7 @@
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
- │ │ ├── block: ∅
- │ │ └── flags: variable_call
+ │ │ └── block: ∅
│ ├── pattern:
│ │ @ ArrayPatternNode (location: (81,7)-(81,21))
│ │ ├── constant:
@@ -1853,6 +1853,7 @@
├── @ MatchRequiredNode (location: (82,0)-(82,21))
│ ├── value:
│ │ @ CallNode (location: (82,0)-(82,3))
+ │ │ ├── flags: variable_call
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
│ │ ├── name: :foo
@@ -1860,8 +1861,7 @@
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
- │ │ ├── block: ∅
- │ │ └── flags: variable_call
+ │ │ └── block: ∅
│ ├── pattern:
│ │ @ ArrayPatternNode (location: (82,7)-(82,21))
│ │ ├── constant:
@@ -1885,6 +1885,7 @@
├── @ MatchRequiredNode (location: (83,0)-(83,27))
│ ├── value:
│ │ @ CallNode (location: (83,0)-(83,3))
+ │ │ ├── flags: variable_call
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
│ │ ├── name: :foo
@@ -1892,8 +1893,7 @@
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
- │ │ ├── block: ∅
- │ │ └── flags: variable_call
+ │ │ └── block: ∅
│ ├── pattern:
│ │ @ FindPatternNode (location: (83,7)-(83,27))
│ │ ├── constant:
@@ -1923,6 +1923,7 @@
├── @ MatchRequiredNode (location: (85,0)-(85,11))
│ ├── value:
│ │ @ CallNode (location: (85,0)-(85,3))
+ │ │ ├── flags: variable_call
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
│ │ ├── name: :foo
@@ -1930,8 +1931,7 @@
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
- │ │ ├── block: ∅
- │ │ └── flags: variable_call
+ │ │ └── block: ∅
│ ├── pattern:
│ │ @ ArrayPatternNode (location: (85,7)-(85,11))
│ │ ├── constant: ∅
@@ -1950,6 +1950,7 @@
├── @ MatchRequiredNode (location: (86,0)-(86,21))
│ ├── value:
│ │ @ CallNode (location: (86,0)-(86,3))
+ │ │ ├── flags: variable_call
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
│ │ ├── name: :foo
@@ -1957,8 +1958,7 @@
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
- │ │ ├── block: ∅
- │ │ └── flags: variable_call
+ │ │ └── block: ∅
│ ├── pattern:
│ │ @ ArrayPatternNode (location: (86,7)-(86,21))
│ │ ├── constant: ∅
@@ -1983,6 +1983,7 @@
├── @ MatchRequiredNode (location: (87,0)-(87,21))
│ ├── value:
│ │ @ CallNode (location: (87,0)-(87,3))
+ │ │ ├── flags: variable_call
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
│ │ ├── name: :foo
@@ -1990,8 +1991,7 @@
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
- │ │ ├── block: ∅
- │ │ └── flags: variable_call
+ │ │ └── block: ∅
│ ├── pattern:
│ │ @ ArrayPatternNode (location: (87,7)-(87,21))
│ │ ├── constant: ∅
@@ -2016,6 +2016,7 @@
├── @ MatchRequiredNode (location: (88,0)-(88,21))
│ ├── value:
│ │ @ CallNode (location: (88,0)-(88,3))
+ │ │ ├── flags: variable_call
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
│ │ ├── name: :foo
@@ -2023,8 +2024,7 @@
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
- │ │ ├── block: ∅
- │ │ └── flags: variable_call
+ │ │ └── block: ∅
│ ├── pattern:
│ │ @ ArrayPatternNode (location: (88,7)-(88,21))
│ │ ├── constant: ∅
@@ -2049,6 +2049,7 @@
├── @ MatchRequiredNode (location: (89,0)-(89,22))
│ ├── value:
│ │ @ CallNode (location: (89,0)-(89,3))
+ │ │ ├── flags: variable_call
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
│ │ ├── name: :foo
@@ -2056,8 +2057,7 @@
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
- │ │ ├── block: ∅
- │ │ └── flags: variable_call
+ │ │ └── block: ∅
│ ├── pattern:
│ │ @ FindPatternNode (location: (89,7)-(89,22))
│ │ ├── constant: ∅
@@ -2085,6 +2085,7 @@
├── @ MatchRequiredNode (location: (91,0)-(91,9))
│ ├── value:
│ │ @ CallNode (location: (91,0)-(91,3))
+ │ │ ├── flags: variable_call
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
│ │ ├── name: :foo
@@ -2092,8 +2093,7 @@
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
- │ │ ├── block: ∅
- │ │ └── flags: variable_call
+ │ │ └── block: ∅
│ ├── pattern:
│ │ @ ArrayPatternNode (location: (91,7)-(91,9))
│ │ ├── constant: ∅
@@ -2106,6 +2106,7 @@
├── @ MatchRequiredNode (location: (92,0)-(92,17))
│ ├── value:
│ │ @ CallNode (location: (92,0)-(92,3))
+ │ │ ├── flags: variable_call
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
│ │ ├── name: :foo
@@ -2113,8 +2114,7 @@
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
- │ │ ├── block: ∅
- │ │ └── flags: variable_call
+ │ │ └── block: ∅
│ ├── pattern:
│ │ @ ArrayPatternNode (location: (92,7)-(92,17))
│ │ ├── constant: ∅
@@ -2155,6 +2155,7 @@
├── @ MatchRequiredNode (location: (94,0)-(94,13))
│ ├── value:
│ │ @ CallNode (location: (94,0)-(94,3))
+ │ │ ├── flags: variable_call
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
│ │ ├── name: :foo
@@ -2162,8 +2163,7 @@
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
- │ │ ├── block: ∅
- │ │ └── flags: variable_call
+ │ │ └── block: ∅
│ ├── pattern:
│ │ @ ArrayPatternNode (location: (94,7)-(94,13))
│ │ ├── constant: ∅
@@ -2182,6 +2182,7 @@
├── @ MatchRequiredNode (location: (95,0)-(95,23))
│ ├── value:
│ │ @ CallNode (location: (95,0)-(95,3))
+ │ │ ├── flags: variable_call
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
│ │ ├── name: :foo
@@ -2189,8 +2190,7 @@
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
- │ │ ├── block: ∅
- │ │ └── flags: variable_call
+ │ │ └── block: ∅
│ ├── pattern:
│ │ @ ArrayPatternNode (location: (95,7)-(95,23))
│ │ ├── constant: ∅
@@ -2215,6 +2215,7 @@
├── @ MatchRequiredNode (location: (96,0)-(96,23))
│ ├── value:
│ │ @ CallNode (location: (96,0)-(96,3))
+ │ │ ├── flags: variable_call
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
│ │ ├── name: :foo
@@ -2222,8 +2223,7 @@
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
- │ │ ├── block: ∅
- │ │ └── flags: variable_call
+ │ │ └── block: ∅
│ ├── pattern:
│ │ @ ArrayPatternNode (location: (96,7)-(96,23))
│ │ ├── constant: ∅
@@ -2248,6 +2248,7 @@
├── @ MatchRequiredNode (location: (97,0)-(97,23))
│ ├── value:
│ │ @ CallNode (location: (97,0)-(97,3))
+ │ │ ├── flags: variable_call
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
│ │ ├── name: :foo
@@ -2255,8 +2256,7 @@
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
- │ │ ├── block: ∅
- │ │ └── flags: variable_call
+ │ │ └── block: ∅
│ ├── pattern:
│ │ @ ArrayPatternNode (location: (97,7)-(97,23))
│ │ ├── constant: ∅
@@ -2281,6 +2281,7 @@
├── @ MatchRequiredNode (location: (98,0)-(98,24))
│ ├── value:
│ │ @ CallNode (location: (98,0)-(98,3))
+ │ │ ├── flags: variable_call
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
│ │ ├── name: :foo
@@ -2288,8 +2289,7 @@
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
- │ │ ├── block: ∅
- │ │ └── flags: variable_call
+ │ │ └── block: ∅
│ ├── pattern:
│ │ @ FindPatternNode (location: (98,7)-(98,24))
│ │ ├── constant: ∅
@@ -2317,6 +2317,7 @@
├── @ MatchPredicateNode (location: (100,0)-(100,10))
│ ├── value:
│ │ @ CallNode (location: (100,0)-(100,3))
+ │ │ ├── flags: variable_call
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
│ │ ├── name: :foo
@@ -2324,8 +2325,7 @@
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
- │ │ ├── block: ∅
- │ │ └── flags: variable_call
+ │ │ └── block: ∅
│ ├── pattern:
│ │ @ LocalVariableTargetNode (location: (100,7)-(100,10))
│ │ ├── name: :bar
@@ -2334,6 +2334,7 @@
├── @ MatchPredicateNode (location: (101,0)-(101,8))
│ ├── value:
│ │ @ CallNode (location: (101,0)-(101,3))
+ │ │ ├── flags: variable_call
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
│ │ ├── name: :foo
@@ -2341,8 +2342,7 @@
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
- │ │ ├── block: ∅
- │ │ └── flags: variable_call
+ │ │ └── block: ∅
│ ├── pattern:
│ │ @ IntegerNode (location: (101,7)-(101,8))
│ │ └── flags: decimal
@@ -2350,6 +2350,7 @@
├── @ MatchPredicateNode (location: (102,0)-(102,10))
│ ├── value:
│ │ @ CallNode (location: (102,0)-(102,3))
+ │ │ ├── flags: variable_call
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
│ │ ├── name: :foo
@@ -2357,14 +2358,14 @@
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
- │ │ ├── block: ∅
- │ │ └── flags: variable_call
+ │ │ └── block: ∅
│ ├── pattern:
│ │ @ FloatNode (location: (102,7)-(102,10))
│ └── operator_loc: (102,4)-(102,6) = "in"
├── @ MatchPredicateNode (location: (103,0)-(103,9))
│ ├── value:
│ │ @ CallNode (location: (103,0)-(103,3))
+ │ │ ├── flags: variable_call
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
│ │ ├── name: :foo
@@ -2372,8 +2373,7 @@
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
- │ │ ├── block: ∅
- │ │ └── flags: variable_call
+ │ │ └── block: ∅
│ ├── pattern:
│ │ @ ImaginaryNode (location: (103,7)-(103,9))
│ │ └── numeric:
@@ -2383,6 +2383,7 @@
├── @ MatchPredicateNode (location: (104,0)-(104,9))
│ ├── value:
│ │ @ CallNode (location: (104,0)-(104,3))
+ │ │ ├── flags: variable_call
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
│ │ ├── name: :foo
@@ -2390,8 +2391,7 @@
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
- │ │ ├── block: ∅
- │ │ └── flags: variable_call
+ │ │ └── block: ∅
│ ├── pattern:
│ │ @ RationalNode (location: (104,7)-(104,9))
│ │ └── numeric:
@@ -2401,6 +2401,7 @@
├── @ MatchPredicateNode (location: (105,0)-(105,11))
│ ├── value:
│ │ @ CallNode (location: (105,0)-(105,3))
+ │ │ ├── flags: variable_call
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
│ │ ├── name: :foo
@@ -2408,8 +2409,7 @@
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
- │ │ ├── block: ∅
- │ │ └── flags: variable_call
+ │ │ └── block: ∅
│ ├── pattern:
│ │ @ SymbolNode (location: (105,7)-(105,11))
│ │ ├── opening_loc: (105,7)-(105,8) = ":"
@@ -2420,6 +2420,7 @@
├── @ MatchPredicateNode (location: (106,0)-(106,14))
│ ├── value:
│ │ @ CallNode (location: (106,0)-(106,3))
+ │ │ ├── flags: variable_call
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
│ │ ├── name: :foo
@@ -2427,8 +2428,7 @@
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
- │ │ ├── block: ∅
- │ │ └── flags: variable_call
+ │ │ └── block: ∅
│ ├── pattern:
│ │ @ SymbolNode (location: (106,7)-(106,14))
│ │ ├── opening_loc: (106,7)-(106,10) = "%s["
@@ -2439,6 +2439,7 @@
├── @ MatchPredicateNode (location: (107,0)-(107,13))
│ ├── value:
│ │ @ CallNode (location: (107,0)-(107,3))
+ │ │ ├── flags: variable_call
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
│ │ ├── name: :foo
@@ -2446,8 +2447,7 @@
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
- │ │ ├── block: ∅
- │ │ └── flags: variable_call
+ │ │ └── block: ∅
│ ├── pattern:
│ │ @ SymbolNode (location: (107,7)-(107,13))
│ │ ├── opening_loc: (107,7)-(107,9) = ":\""
@@ -2458,6 +2458,7 @@
├── @ MatchPredicateNode (location: (108,0)-(108,12))
│ ├── value:
│ │ @ CallNode (location: (108,0)-(108,3))
+ │ │ ├── flags: variable_call
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
│ │ ├── name: :foo
@@ -2465,19 +2466,19 @@
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
- │ │ ├── block: ∅
- │ │ └── flags: variable_call
+ │ │ └── block: ∅
│ ├── pattern:
│ │ @ RegularExpressionNode (location: (108,7)-(108,12))
+ │ │ ├── flags: ∅
│ │ ├── opening_loc: (108,7)-(108,8) = "/"
│ │ ├── content_loc: (108,8)-(108,11) = "foo"
│ │ ├── closing_loc: (108,11)-(108,12) = "/"
- │ │ ├── unescaped: "foo"
- │ │ └── flags: ∅
+ │ │ └── unescaped: "foo"
│ └── operator_loc: (108,4)-(108,6) = "in"
├── @ MatchPredicateNode (location: (109,0)-(109,12))
│ ├── value:
│ │ @ CallNode (location: (109,0)-(109,3))
+ │ │ ├── flags: variable_call
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
│ │ ├── name: :foo
@@ -2485,8 +2486,7 @@
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
- │ │ ├── block: ∅
- │ │ └── flags: variable_call
+ │ │ └── block: ∅
│ ├── pattern:
│ │ @ XStringNode (location: (109,7)-(109,12))
│ │ ├── flags: ∅
@@ -2498,6 +2498,7 @@
├── @ MatchPredicateNode (location: (110,0)-(110,14))
│ ├── value:
│ │ @ CallNode (location: (110,0)-(110,3))
+ │ │ ├── flags: variable_call
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
│ │ ├── name: :foo
@@ -2505,8 +2506,7 @@
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
- │ │ ├── block: ∅
- │ │ └── flags: variable_call
+ │ │ └── block: ∅
│ ├── pattern:
│ │ @ XStringNode (location: (110,7)-(110,14))
│ │ ├── flags: ∅
@@ -2518,6 +2518,7 @@
├── @ MatchPredicateNode (location: (111,0)-(111,14))
│ ├── value:
│ │ @ CallNode (location: (111,0)-(111,3))
+ │ │ ├── flags: variable_call
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
│ │ ├── name: :foo
@@ -2525,10 +2526,10 @@
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
- │ │ ├── block: ∅
- │ │ └── flags: variable_call
+ │ │ └── block: ∅
│ ├── pattern:
│ │ @ ArrayNode (location: (111,7)-(111,14))
+ │ │ ├── flags: ∅
│ │ ├── elements: (length: 1)
│ │ │ └── @ SymbolNode (location: (111,10)-(111,13))
│ │ │ ├── opening_loc: ∅
@@ -2536,12 +2537,12 @@
│ │ │ ├── closing_loc: ∅
│ │ │ └── unescaped: "foo"
│ │ ├── opening_loc: (111,7)-(111,10) = "%i["
- │ │ ├── closing_loc: (111,13)-(111,14) = "]"
- │ │ └── flags: ∅
+ │ │ └── closing_loc: (111,13)-(111,14) = "]"
│ └── operator_loc: (111,4)-(111,6) = "in"
├── @ MatchPredicateNode (location: (112,0)-(112,14))
│ ├── value:
│ │ @ CallNode (location: (112,0)-(112,3))
+ │ │ ├── flags: variable_call
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
│ │ ├── name: :foo
@@ -2549,10 +2550,10 @@
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
- │ │ ├── block: ∅
- │ │ └── flags: variable_call
+ │ │ └── block: ∅
│ ├── pattern:
│ │ @ ArrayNode (location: (112,7)-(112,14))
+ │ │ ├── flags: ∅
│ │ ├── elements: (length: 1)
│ │ │ └── @ SymbolNode (location: (112,10)-(112,13))
│ │ │ ├── opening_loc: ∅
@@ -2560,12 +2561,12 @@
│ │ │ ├── closing_loc: ∅
│ │ │ └── unescaped: "foo"
│ │ ├── opening_loc: (112,7)-(112,10) = "%I["
- │ │ ├── closing_loc: (112,13)-(112,14) = "]"
- │ │ └── flags: ∅
+ │ │ └── closing_loc: (112,13)-(112,14) = "]"
│ └── operator_loc: (112,4)-(112,6) = "in"
├── @ MatchPredicateNode (location: (113,0)-(113,14))
│ ├── value:
│ │ @ CallNode (location: (113,0)-(113,3))
+ │ │ ├── flags: variable_call
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
│ │ ├── name: :foo
@@ -2573,10 +2574,10 @@
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
- │ │ ├── block: ∅
- │ │ └── flags: variable_call
+ │ │ └── block: ∅
│ ├── pattern:
│ │ @ ArrayNode (location: (113,7)-(113,14))
+ │ │ ├── flags: ∅
│ │ ├── elements: (length: 1)
│ │ │ └── @ StringNode (location: (113,10)-(113,13))
│ │ │ ├── flags: ∅
@@ -2585,12 +2586,12 @@
│ │ │ ├── closing_loc: ∅
│ │ │ └── unescaped: "foo"
│ │ ├── opening_loc: (113,7)-(113,10) = "%w["
- │ │ ├── closing_loc: (113,13)-(113,14) = "]"
- │ │ └── flags: ∅
+ │ │ └── closing_loc: (113,13)-(113,14) = "]"
│ └── operator_loc: (113,4)-(113,6) = "in"
├── @ MatchPredicateNode (location: (114,0)-(114,14))
│ ├── value:
│ │ @ CallNode (location: (114,0)-(114,3))
+ │ │ ├── flags: variable_call
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
│ │ ├── name: :foo
@@ -2598,10 +2599,10 @@
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
- │ │ ├── block: ∅
- │ │ └── flags: variable_call
+ │ │ └── block: ∅
│ ├── pattern:
│ │ @ ArrayNode (location: (114,7)-(114,14))
+ │ │ ├── flags: ∅
│ │ ├── elements: (length: 1)
│ │ │ └── @ StringNode (location: (114,10)-(114,13))
│ │ │ ├── flags: ∅
@@ -2610,12 +2611,12 @@
│ │ │ ├── closing_loc: ∅
│ │ │ └── unescaped: "foo"
│ │ ├── opening_loc: (114,7)-(114,10) = "%W["
- │ │ ├── closing_loc: (114,13)-(114,14) = "]"
- │ │ └── flags: ∅
+ │ │ └── closing_loc: (114,13)-(114,14) = "]"
│ └── operator_loc: (114,4)-(114,6) = "in"
├── @ MatchPredicateNode (location: (115,0)-(115,14))
│ ├── value:
│ │ @ CallNode (location: (115,0)-(115,3))
+ │ │ ├── flags: variable_call
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
│ │ ├── name: :foo
@@ -2623,8 +2624,7 @@
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
- │ │ ├── block: ∅
- │ │ └── flags: variable_call
+ │ │ └── block: ∅
│ ├── pattern:
│ │ @ StringNode (location: (115,7)-(115,14))
│ │ ├── flags: ∅
@@ -2636,6 +2636,7 @@
├── @ MatchPredicateNode (location: (116,0)-(116,14))
│ ├── value:
│ │ @ CallNode (location: (116,0)-(116,3))
+ │ │ ├── flags: variable_call
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
│ │ ├── name: :foo
@@ -2643,8 +2644,7 @@
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
- │ │ ├── block: ∅
- │ │ └── flags: variable_call
+ │ │ └── block: ∅
│ ├── pattern:
│ │ @ StringNode (location: (116,7)-(116,14))
│ │ ├── flags: ∅
@@ -2656,6 +2656,7 @@
├── @ MatchPredicateNode (location: (117,0)-(117,12))
│ ├── value:
│ │ @ CallNode (location: (117,0)-(117,3))
+ │ │ ├── flags: variable_call
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
│ │ ├── name: :foo
@@ -2663,8 +2664,7 @@
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
- │ │ ├── block: ∅
- │ │ └── flags: variable_call
+ │ │ └── block: ∅
│ ├── pattern:
│ │ @ StringNode (location: (117,7)-(117,12))
│ │ ├── flags: ∅
@@ -2676,6 +2676,7 @@
├── @ MatchPredicateNode (location: (118,0)-(118,10))
│ ├── value:
│ │ @ CallNode (location: (118,0)-(118,3))
+ │ │ ├── flags: variable_call
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
│ │ ├── name: :foo
@@ -2683,14 +2684,14 @@
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
- │ │ ├── block: ∅
- │ │ └── flags: variable_call
+ │ │ └── block: ∅
│ ├── pattern:
│ │ @ NilNode (location: (118,7)-(118,10))
│ └── operator_loc: (118,4)-(118,6) = "in"
├── @ MatchPredicateNode (location: (119,0)-(119,11))
│ ├── value:
│ │ @ CallNode (location: (119,0)-(119,3))
+ │ │ ├── flags: variable_call
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
│ │ ├── name: :foo
@@ -2698,14 +2699,14 @@
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
- │ │ ├── block: ∅
- │ │ └── flags: variable_call
+ │ │ └── block: ∅
│ ├── pattern:
│ │ @ SelfNode (location: (119,7)-(119,11))
│ └── operator_loc: (119,4)-(119,6) = "in"
├── @ MatchPredicateNode (location: (120,0)-(120,11))
│ ├── value:
│ │ @ CallNode (location: (120,0)-(120,3))
+ │ │ ├── flags: variable_call
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
│ │ ├── name: :foo
@@ -2713,14 +2714,14 @@
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
- │ │ ├── block: ∅
- │ │ └── flags: variable_call
+ │ │ └── block: ∅
│ ├── pattern:
│ │ @ TrueNode (location: (120,7)-(120,11))
│ └── operator_loc: (120,4)-(120,6) = "in"
├── @ MatchPredicateNode (location: (121,0)-(121,12))
│ ├── value:
│ │ @ CallNode (location: (121,0)-(121,3))
+ │ │ ├── flags: variable_call
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
│ │ ├── name: :foo
@@ -2728,14 +2729,14 @@
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
- │ │ ├── block: ∅
- │ │ └── flags: variable_call
+ │ │ └── block: ∅
│ ├── pattern:
│ │ @ FalseNode (location: (121,7)-(121,12))
│ └── operator_loc: (121,4)-(121,6) = "in"
├── @ MatchPredicateNode (location: (122,0)-(122,15))
│ ├── value:
│ │ @ CallNode (location: (122,0)-(122,3))
+ │ │ ├── flags: variable_call
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
│ │ ├── name: :foo
@@ -2743,8 +2744,7 @@
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
- │ │ ├── block: ∅
- │ │ └── flags: variable_call
+ │ │ └── block: ∅
│ ├── pattern:
│ │ @ SourceFileNode (location: (122,7)-(122,15))
│ │ └── filepath: "patterns.txt"
@@ -2752,6 +2752,7 @@
├── @ MatchPredicateNode (location: (123,0)-(123,15))
│ ├── value:
│ │ @ CallNode (location: (123,0)-(123,3))
+ │ │ ├── flags: variable_call
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
│ │ ├── name: :foo
@@ -2759,14 +2760,14 @@
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
- │ │ ├── block: ∅
- │ │ └── flags: variable_call
+ │ │ └── block: ∅
│ ├── pattern:
│ │ @ SourceLineNode (location: (123,7)-(123,15))
│ └── operator_loc: (123,4)-(123,6) = "in"
├── @ MatchPredicateNode (location: (124,0)-(124,19))
│ ├── value:
│ │ @ CallNode (location: (124,0)-(124,3))
+ │ │ ├── flags: variable_call
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
│ │ ├── name: :foo
@@ -2774,14 +2775,14 @@
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
- │ │ ├── block: ∅
- │ │ └── flags: variable_call
+ │ │ └── block: ∅
│ ├── pattern:
│ │ @ SourceEncodingNode (location: (124,7)-(124,19))
│ └── operator_loc: (124,4)-(124,6) = "in"
├── @ MatchPredicateNode (location: (125,0)-(125,17))
│ ├── value:
│ │ @ CallNode (location: (125,0)-(125,3))
+ │ │ ├── flags: variable_call
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
│ │ ├── name: :foo
@@ -2789,8 +2790,7 @@
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
- │ │ ├── block: ∅
- │ │ └── flags: variable_call
+ │ │ └── block: ∅
│ ├── pattern:
│ │ @ LambdaNode (location: (125,7)-(125,17))
│ │ ├── locals: []
@@ -2809,6 +2809,7 @@
├── @ CaseMatchNode (location: (127,0)-(127,25))
│ ├── predicate:
│ │ @ CallNode (location: (127,5)-(127,8))
+ │ │ ├── flags: variable_call
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
│ │ ├── name: :foo
@@ -2816,8 +2817,7 @@
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
- │ │ ├── block: ∅
- │ │ └── flags: variable_call
+ │ │ └── block: ∅
│ ├── conditions: (length: 1)
│ │ └── @ InNode (location: (127,10)-(127,21))
│ │ ├── pattern:
@@ -2833,6 +2833,7 @@
├── @ CaseMatchNode (location: (128,0)-(128,23))
│ ├── predicate:
│ │ @ CallNode (location: (128,5)-(128,8))
+ │ │ ├── flags: variable_call
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
│ │ ├── name: :foo
@@ -2840,8 +2841,7 @@
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
- │ │ ├── block: ∅
- │ │ └── flags: variable_call
+ │ │ └── block: ∅
│ ├── conditions: (length: 1)
│ │ └── @ InNode (location: (128,10)-(128,19))
│ │ ├── pattern:
@@ -2856,6 +2856,7 @@
├── @ CaseMatchNode (location: (129,0)-(129,25))
│ ├── predicate:
│ │ @ CallNode (location: (129,5)-(129,8))
+ │ │ ├── flags: variable_call
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
│ │ ├── name: :foo
@@ -2863,8 +2864,7 @@
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
- │ │ ├── block: ∅
- │ │ └── flags: variable_call
+ │ │ └── block: ∅
│ ├── conditions: (length: 1)
│ │ └── @ InNode (location: (129,10)-(129,21))
│ │ ├── pattern:
@@ -2878,6 +2878,7 @@
├── @ CaseMatchNode (location: (130,0)-(130,24))
│ ├── predicate:
│ │ @ CallNode (location: (130,5)-(130,8))
+ │ │ ├── flags: variable_call
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
│ │ ├── name: :foo
@@ -2885,8 +2886,7 @@
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
- │ │ ├── block: ∅
- │ │ └── flags: variable_call
+ │ │ └── block: ∅
│ ├── conditions: (length: 1)
│ │ └── @ InNode (location: (130,10)-(130,20))
│ │ ├── pattern:
@@ -2903,6 +2903,7 @@
├── @ CaseMatchNode (location: (131,0)-(131,24))
│ ├── predicate:
│ │ @ CallNode (location: (131,5)-(131,8))
+ │ │ ├── flags: variable_call
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
│ │ ├── name: :foo
@@ -2910,8 +2911,7 @@
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
- │ │ ├── block: ∅
- │ │ └── flags: variable_call
+ │ │ └── block: ∅
│ ├── conditions: (length: 1)
│ │ └── @ InNode (location: (131,10)-(131,20))
│ │ ├── pattern:
@@ -2928,6 +2928,7 @@
├── @ CaseMatchNode (location: (132,0)-(132,26))
│ ├── predicate:
│ │ @ CallNode (location: (132,5)-(132,8))
+ │ │ ├── flags: variable_call
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
│ │ ├── name: :foo
@@ -2935,8 +2936,7 @@
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
- │ │ ├── block: ∅
- │ │ └── flags: variable_call
+ │ │ └── block: ∅
│ ├── conditions: (length: 1)
│ │ └── @ InNode (location: (132,10)-(132,22))
│ │ ├── pattern:
@@ -2954,6 +2954,7 @@
├── @ CaseMatchNode (location: (133,0)-(133,29))
│ ├── predicate:
│ │ @ CallNode (location: (133,5)-(133,8))
+ │ │ ├── flags: variable_call
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
│ │ ├── name: :foo
@@ -2961,8 +2962,7 @@
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
- │ │ ├── block: ∅
- │ │ └── flags: variable_call
+ │ │ └── block: ∅
│ ├── conditions: (length: 1)
│ │ └── @ InNode (location: (133,10)-(133,25))
│ │ ├── pattern:
@@ -2980,6 +2980,7 @@
├── @ CaseMatchNode (location: (134,0)-(134,28))
│ ├── predicate:
│ │ @ CallNode (location: (134,5)-(134,8))
+ │ │ ├── flags: variable_call
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
│ │ ├── name: :foo
@@ -2987,8 +2988,7 @@
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
- │ │ ├── block: ∅
- │ │ └── flags: variable_call
+ │ │ └── block: ∅
│ ├── conditions: (length: 1)
│ │ └── @ InNode (location: (134,10)-(134,24))
│ │ ├── pattern:
@@ -3006,6 +3006,7 @@
├── @ CaseMatchNode (location: (135,0)-(135,27))
│ ├── predicate:
│ │ @ CallNode (location: (135,5)-(135,8))
+ │ │ ├── flags: variable_call
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
│ │ ├── name: :foo
@@ -3013,17 +3014,16 @@
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
- │ │ ├── block: ∅
- │ │ └── flags: variable_call
+ │ │ └── block: ∅
│ ├── conditions: (length: 1)
│ │ └── @ InNode (location: (135,10)-(135,23))
│ │ ├── pattern:
│ │ │ @ RegularExpressionNode (location: (135,13)-(135,18))
+ │ │ │ ├── flags: ∅
│ │ │ ├── opening_loc: (135,13)-(135,14) = "/"
│ │ │ ├── content_loc: (135,14)-(135,17) = "foo"
│ │ │ ├── closing_loc: (135,17)-(135,18) = "/"
- │ │ │ ├── unescaped: "foo"
- │ │ │ └── flags: ∅
+ │ │ │ └── unescaped: "foo"
│ │ ├── statements: ∅
│ │ ├── in_loc: (135,10)-(135,12) = "in"
│ │ └── then_loc: (135,19)-(135,23) = "then"
@@ -3033,6 +3033,7 @@
├── @ CaseMatchNode (location: (136,0)-(136,27))
│ ├── predicate:
│ │ @ CallNode (location: (136,5)-(136,8))
+ │ │ ├── flags: variable_call
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
│ │ ├── name: :foo
@@ -3040,8 +3041,7 @@
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
- │ │ ├── block: ∅
- │ │ └── flags: variable_call
+ │ │ └── block: ∅
│ ├── conditions: (length: 1)
│ │ └── @ InNode (location: (136,10)-(136,23))
│ │ ├── pattern:
@@ -3060,6 +3060,7 @@
├── @ CaseMatchNode (location: (137,0)-(137,29))
│ ├── predicate:
│ │ @ CallNode (location: (137,5)-(137,8))
+ │ │ ├── flags: variable_call
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
│ │ ├── name: :foo
@@ -3067,8 +3068,7 @@
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
- │ │ ├── block: ∅
- │ │ └── flags: variable_call
+ │ │ └── block: ∅
│ ├── conditions: (length: 1)
│ │ └── @ InNode (location: (137,10)-(137,25))
│ │ ├── pattern:
@@ -3087,6 +3087,7 @@
├── @ CaseMatchNode (location: (138,0)-(138,29))
│ ├── predicate:
│ │ @ CallNode (location: (138,5)-(138,8))
+ │ │ ├── flags: variable_call
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
│ │ ├── name: :foo
@@ -3094,12 +3095,12 @@
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
- │ │ ├── block: ∅
- │ │ └── flags: variable_call
+ │ │ └── block: ∅
│ ├── conditions: (length: 1)
│ │ └── @ InNode (location: (138,10)-(138,25))
│ │ ├── pattern:
│ │ │ @ ArrayNode (location: (138,13)-(138,20))
+ │ │ │ ├── flags: ∅
│ │ │ ├── elements: (length: 1)
│ │ │ │ └── @ SymbolNode (location: (138,16)-(138,19))
│ │ │ │ ├── opening_loc: ∅
@@ -3107,8 +3108,7 @@
│ │ │ │ ├── closing_loc: ∅
│ │ │ │ └── unescaped: "foo"
│ │ │ ├── opening_loc: (138,13)-(138,16) = "%i["
- │ │ │ ├── closing_loc: (138,19)-(138,20) = "]"
- │ │ │ └── flags: ∅
+ │ │ │ └── closing_loc: (138,19)-(138,20) = "]"
│ │ ├── statements: ∅
│ │ ├── in_loc: (138,10)-(138,12) = "in"
│ │ └── then_loc: (138,21)-(138,25) = "then"
@@ -3118,6 +3118,7 @@
├── @ CaseMatchNode (location: (139,0)-(139,29))
│ ├── predicate:
│ │ @ CallNode (location: (139,5)-(139,8))
+ │ │ ├── flags: variable_call
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
│ │ ├── name: :foo
@@ -3125,12 +3126,12 @@
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
- │ │ ├── block: ∅
- │ │ └── flags: variable_call
+ │ │ └── block: ∅
│ ├── conditions: (length: 1)
│ │ └── @ InNode (location: (139,10)-(139,25))
│ │ ├── pattern:
│ │ │ @ ArrayNode (location: (139,13)-(139,20))
+ │ │ │ ├── flags: ∅
│ │ │ ├── elements: (length: 1)
│ │ │ │ └── @ SymbolNode (location: (139,16)-(139,19))
│ │ │ │ ├── opening_loc: ∅
@@ -3138,8 +3139,7 @@
│ │ │ │ ├── closing_loc: ∅
│ │ │ │ └── unescaped: "foo"
│ │ │ ├── opening_loc: (139,13)-(139,16) = "%I["
- │ │ │ ├── closing_loc: (139,19)-(139,20) = "]"
- │ │ │ └── flags: ∅
+ │ │ │ └── closing_loc: (139,19)-(139,20) = "]"
│ │ ├── statements: ∅
│ │ ├── in_loc: (139,10)-(139,12) = "in"
│ │ └── then_loc: (139,21)-(139,25) = "then"
@@ -3149,6 +3149,7 @@
├── @ CaseMatchNode (location: (140,0)-(140,29))
│ ├── predicate:
│ │ @ CallNode (location: (140,5)-(140,8))
+ │ │ ├── flags: variable_call
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
│ │ ├── name: :foo
@@ -3156,12 +3157,12 @@
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
- │ │ ├── block: ∅
- │ │ └── flags: variable_call
+ │ │ └── block: ∅
│ ├── conditions: (length: 1)
│ │ └── @ InNode (location: (140,10)-(140,25))
│ │ ├── pattern:
│ │ │ @ ArrayNode (location: (140,13)-(140,20))
+ │ │ │ ├── flags: ∅
│ │ │ ├── elements: (length: 1)
│ │ │ │ └── @ StringNode (location: (140,16)-(140,19))
│ │ │ │ ├── flags: ∅
@@ -3170,8 +3171,7 @@
│ │ │ │ ├── closing_loc: ∅
│ │ │ │ └── unescaped: "foo"
│ │ │ ├── opening_loc: (140,13)-(140,16) = "%w["
- │ │ │ ├── closing_loc: (140,19)-(140,20) = "]"
- │ │ │ └── flags: ∅
+ │ │ │ └── closing_loc: (140,19)-(140,20) = "]"
│ │ ├── statements: ∅
│ │ ├── in_loc: (140,10)-(140,12) = "in"
│ │ └── then_loc: (140,21)-(140,25) = "then"
@@ -3181,6 +3181,7 @@
├── @ CaseMatchNode (location: (141,0)-(141,29))
│ ├── predicate:
│ │ @ CallNode (location: (141,5)-(141,8))
+ │ │ ├── flags: variable_call
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
│ │ ├── name: :foo
@@ -3188,12 +3189,12 @@
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
- │ │ ├── block: ∅
- │ │ └── flags: variable_call
+ │ │ └── block: ∅
│ ├── conditions: (length: 1)
│ │ └── @ InNode (location: (141,10)-(141,25))
│ │ ├── pattern:
│ │ │ @ ArrayNode (location: (141,13)-(141,20))
+ │ │ │ ├── flags: ∅
│ │ │ ├── elements: (length: 1)
│ │ │ │ └── @ StringNode (location: (141,16)-(141,19))
│ │ │ │ ├── flags: ∅
@@ -3202,8 +3203,7 @@
│ │ │ │ ├── closing_loc: ∅
│ │ │ │ └── unescaped: "foo"
│ │ │ ├── opening_loc: (141,13)-(141,16) = "%W["
- │ │ │ ├── closing_loc: (141,19)-(141,20) = "]"
- │ │ │ └── flags: ∅
+ │ │ │ └── closing_loc: (141,19)-(141,20) = "]"
│ │ ├── statements: ∅
│ │ ├── in_loc: (141,10)-(141,12) = "in"
│ │ └── then_loc: (141,21)-(141,25) = "then"
@@ -3213,6 +3213,7 @@
├── @ CaseMatchNode (location: (142,0)-(142,29))
│ ├── predicate:
│ │ @ CallNode (location: (142,5)-(142,8))
+ │ │ ├── flags: variable_call
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
│ │ ├── name: :foo
@@ -3220,8 +3221,7 @@
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
- │ │ ├── block: ∅
- │ │ └── flags: variable_call
+ │ │ └── block: ∅
│ ├── conditions: (length: 1)
│ │ └── @ InNode (location: (142,10)-(142,25))
│ │ ├── pattern:
@@ -3240,6 +3240,7 @@
├── @ CaseMatchNode (location: (143,0)-(143,29))
│ ├── predicate:
│ │ @ CallNode (location: (143,5)-(143,8))
+ │ │ ├── flags: variable_call
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
│ │ ├── name: :foo
@@ -3247,8 +3248,7 @@
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
- │ │ ├── block: ∅
- │ │ └── flags: variable_call
+ │ │ └── block: ∅
│ ├── conditions: (length: 1)
│ │ └── @ InNode (location: (143,10)-(143,25))
│ │ ├── pattern:
@@ -3267,6 +3267,7 @@
├── @ CaseMatchNode (location: (144,0)-(144,27))
│ ├── predicate:
│ │ @ CallNode (location: (144,5)-(144,8))
+ │ │ ├── flags: variable_call
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
│ │ ├── name: :foo
@@ -3274,8 +3275,7 @@
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
- │ │ ├── block: ∅
- │ │ └── flags: variable_call
+ │ │ └── block: ∅
│ ├── conditions: (length: 1)
│ │ └── @ InNode (location: (144,10)-(144,23))
│ │ ├── pattern:
@@ -3294,6 +3294,7 @@
├── @ CaseMatchNode (location: (145,0)-(145,25))
│ ├── predicate:
│ │ @ CallNode (location: (145,5)-(145,8))
+ │ │ ├── flags: variable_call
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
│ │ ├── name: :foo
@@ -3301,8 +3302,7 @@
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
- │ │ ├── block: ∅
- │ │ └── flags: variable_call
+ │ │ └── block: ∅
│ ├── conditions: (length: 1)
│ │ └── @ InNode (location: (145,10)-(145,21))
│ │ ├── pattern:
@@ -3316,6 +3316,7 @@
├── @ CaseMatchNode (location: (146,0)-(146,26))
│ ├── predicate:
│ │ @ CallNode (location: (146,5)-(146,8))
+ │ │ ├── flags: variable_call
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
│ │ ├── name: :foo
@@ -3323,8 +3324,7 @@
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
- │ │ ├── block: ∅
- │ │ └── flags: variable_call
+ │ │ └── block: ∅
│ ├── conditions: (length: 1)
│ │ └── @ InNode (location: (146,10)-(146,22))
│ │ ├── pattern:
@@ -3338,6 +3338,7 @@
├── @ CaseMatchNode (location: (147,0)-(147,26))
│ ├── predicate:
│ │ @ CallNode (location: (147,5)-(147,8))
+ │ │ ├── flags: variable_call
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
│ │ ├── name: :foo
@@ -3345,8 +3346,7 @@
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
- │ │ ├── block: ∅
- │ │ └── flags: variable_call
+ │ │ └── block: ∅
│ ├── conditions: (length: 1)
│ │ └── @ InNode (location: (147,10)-(147,22))
│ │ ├── pattern:
@@ -3360,6 +3360,7 @@
├── @ CaseMatchNode (location: (148,0)-(148,27))
│ ├── predicate:
│ │ @ CallNode (location: (148,5)-(148,8))
+ │ │ ├── flags: variable_call
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
│ │ ├── name: :foo
@@ -3367,8 +3368,7 @@
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
- │ │ ├── block: ∅
- │ │ └── flags: variable_call
+ │ │ └── block: ∅
│ ├── conditions: (length: 1)
│ │ └── @ InNode (location: (148,10)-(148,23))
│ │ ├── pattern:
@@ -3382,6 +3382,7 @@
├── @ CaseMatchNode (location: (149,0)-(149,30))
│ ├── predicate:
│ │ @ CallNode (location: (149,5)-(149,8))
+ │ │ ├── flags: variable_call
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
│ │ ├── name: :foo
@@ -3389,8 +3390,7 @@
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
- │ │ ├── block: ∅
- │ │ └── flags: variable_call
+ │ │ └── block: ∅
│ ├── conditions: (length: 1)
│ │ └── @ InNode (location: (149,10)-(149,26))
│ │ ├── pattern:
@@ -3405,6 +3405,7 @@
├── @ CaseMatchNode (location: (150,0)-(150,30))
│ ├── predicate:
│ │ @ CallNode (location: (150,5)-(150,8))
+ │ │ ├── flags: variable_call
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
│ │ ├── name: :foo
@@ -3412,8 +3413,7 @@
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
- │ │ ├── block: ∅
- │ │ └── flags: variable_call
+ │ │ └── block: ∅
│ ├── conditions: (length: 1)
│ │ └── @ InNode (location: (150,10)-(150,26))
│ │ ├── pattern:
@@ -3427,6 +3427,7 @@
├── @ CaseMatchNode (location: (151,0)-(151,34))
│ ├── predicate:
│ │ @ CallNode (location: (151,5)-(151,8))
+ │ │ ├── flags: variable_call
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
│ │ ├── name: :foo
@@ -3434,8 +3435,7 @@
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
- │ │ ├── block: ∅
- │ │ └── flags: variable_call
+ │ │ └── block: ∅
│ ├── conditions: (length: 1)
│ │ └── @ InNode (location: (151,10)-(151,30))
│ │ ├── pattern:
@@ -3449,6 +3449,7 @@
├── @ CaseMatchNode (location: (152,0)-(152,32))
│ ├── predicate:
│ │ @ CallNode (location: (152,5)-(152,8))
+ │ │ ├── flags: variable_call
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
│ │ ├── name: :foo
@@ -3456,8 +3457,7 @@
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
- │ │ ├── block: ∅
- │ │ └── flags: variable_call
+ │ │ └── block: ∅
│ ├── conditions: (length: 1)
│ │ └── @ InNode (location: (152,10)-(152,28))
│ │ ├── pattern:
@@ -3483,6 +3483,7 @@
├── @ CaseMatchNode (location: (154,0)-(154,32))
│ ├── predicate:
│ │ @ CallNode (location: (154,5)-(154,8))
+ │ │ ├── flags: variable_call
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
│ │ ├── name: :foo
@@ -3490,8 +3491,7 @@
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
- │ │ ├── block: ∅
- │ │ └── flags: variable_call
+ │ │ └── block: ∅
│ ├── conditions: (length: 1)
│ │ └── @ InNode (location: (154,10)-(154,28))
│ │ ├── pattern:
@@ -3519,6 +3519,7 @@
├── @ CaseMatchNode (location: (155,0)-(155,30))
│ ├── predicate:
│ │ @ CallNode (location: (155,5)-(155,8))
+ │ │ ├── flags: variable_call
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
│ │ ├── name: :foo
@@ -3526,8 +3527,7 @@
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
- │ │ ├── block: ∅
- │ │ └── flags: variable_call
+ │ │ └── block: ∅
│ ├── conditions: (length: 1)
│ │ └── @ InNode (location: (155,10)-(155,26))
│ │ ├── pattern:
@@ -3554,6 +3554,7 @@
├── @ CaseMatchNode (location: (156,0)-(156,32))
│ ├── predicate:
│ │ @ CallNode (location: (156,5)-(156,8))
+ │ │ ├── flags: variable_call
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
│ │ ├── name: :foo
@@ -3561,8 +3562,7 @@
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
- │ │ ├── block: ∅
- │ │ └── flags: variable_call
+ │ │ └── block: ∅
│ ├── conditions: (length: 1)
│ │ └── @ InNode (location: (156,10)-(156,28))
│ │ ├── pattern:
@@ -3588,6 +3588,7 @@
├── @ CaseMatchNode (location: (157,0)-(157,31))
│ ├── predicate:
│ │ @ CallNode (location: (157,5)-(157,8))
+ │ │ ├── flags: variable_call
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
│ │ ├── name: :foo
@@ -3595,8 +3596,7 @@
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
- │ │ ├── block: ∅
- │ │ └── flags: variable_call
+ │ │ └── block: ∅
│ ├── conditions: (length: 1)
│ │ └── @ InNode (location: (157,10)-(157,27))
│ │ ├── pattern:
@@ -3625,6 +3625,7 @@
├── @ CaseMatchNode (location: (158,0)-(158,31))
│ ├── predicate:
│ │ @ CallNode (location: (158,5)-(158,8))
+ │ │ ├── flags: variable_call
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
│ │ ├── name: :foo
@@ -3632,8 +3633,7 @@
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
- │ │ ├── block: ∅
- │ │ └── flags: variable_call
+ │ │ └── block: ∅
│ ├── conditions: (length: 1)
│ │ └── @ InNode (location: (158,10)-(158,27))
│ │ ├── pattern:
@@ -3662,6 +3662,7 @@
├── @ CaseMatchNode (location: (159,0)-(159,33))
│ ├── predicate:
│ │ @ CallNode (location: (159,5)-(159,8))
+ │ │ ├── flags: variable_call
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
│ │ ├── name: :foo
@@ -3669,8 +3670,7 @@
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
- │ │ ├── block: ∅
- │ │ └── flags: variable_call
+ │ │ └── block: ∅
│ ├── conditions: (length: 1)
│ │ └── @ InNode (location: (159,10)-(159,29))
│ │ ├── pattern:
@@ -3700,6 +3700,7 @@
├── @ CaseMatchNode (location: (160,0)-(160,36))
│ ├── predicate:
│ │ @ CallNode (location: (160,5)-(160,8))
+ │ │ ├── flags: variable_call
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
│ │ ├── name: :foo
@@ -3707,8 +3708,7 @@
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
- │ │ ├── block: ∅
- │ │ └── flags: variable_call
+ │ │ └── block: ∅
│ ├── conditions: (length: 1)
│ │ └── @ InNode (location: (160,10)-(160,32))
│ │ ├── pattern:
@@ -3738,6 +3738,7 @@
├── @ CaseMatchNode (location: (161,0)-(161,35))
│ ├── predicate:
│ │ @ CallNode (location: (161,5)-(161,8))
+ │ │ ├── flags: variable_call
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
│ │ ├── name: :foo
@@ -3745,8 +3746,7 @@
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
- │ │ ├── block: ∅
- │ │ └── flags: variable_call
+ │ │ └── block: ∅
│ ├── conditions: (length: 1)
│ │ └── @ InNode (location: (161,10)-(161,31))
│ │ ├── pattern:
@@ -3776,6 +3776,7 @@
├── @ CaseMatchNode (location: (162,0)-(162,34))
│ ├── predicate:
│ │ @ CallNode (location: (162,5)-(162,8))
+ │ │ ├── flags: variable_call
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
│ │ ├── name: :foo
@@ -3783,8 +3784,7 @@
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
- │ │ ├── block: ∅
- │ │ └── flags: variable_call
+ │ │ └── block: ∅
│ ├── conditions: (length: 1)
│ │ └── @ InNode (location: (162,10)-(162,30))
│ │ ├── pattern:
@@ -3799,11 +3799,11 @@
│ │ │ │ @ StatementsNode (location: (162,13)-(162,18))
│ │ │ │ └── body: (length: 1)
│ │ │ │ └── @ RegularExpressionNode (location: (162,13)-(162,18))
+ │ │ │ │ ├── flags: ∅
│ │ │ │ ├── opening_loc: (162,13)-(162,14) = "/"
│ │ │ │ ├── content_loc: (162,14)-(162,17) = "foo"
│ │ │ │ ├── closing_loc: (162,17)-(162,18) = "/"
- │ │ │ │ ├── unescaped: "foo"
- │ │ │ │ └── flags: ∅
+ │ │ │ │ └── unescaped: "foo"
│ │ │ ├── consequent: ∅
│ │ │ └── end_keyword_loc: ∅
│ │ ├── statements: ∅
@@ -3815,6 +3815,7 @@
├── @ CaseMatchNode (location: (163,0)-(163,34))
│ ├── predicate:
│ │ @ CallNode (location: (163,5)-(163,8))
+ │ │ ├── flags: variable_call
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
│ │ ├── name: :foo
@@ -3822,8 +3823,7 @@
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
- │ │ ├── block: ∅
- │ │ └── flags: variable_call
+ │ │ └── block: ∅
│ ├── conditions: (length: 1)
│ │ └── @ InNode (location: (163,10)-(163,30))
│ │ ├── pattern:
@@ -3854,6 +3854,7 @@
├── @ CaseMatchNode (location: (164,0)-(164,36))
│ ├── predicate:
│ │ @ CallNode (location: (164,5)-(164,8))
+ │ │ ├── flags: variable_call
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
│ │ ├── name: :foo
@@ -3861,8 +3862,7 @@
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
- │ │ ├── block: ∅
- │ │ └── flags: variable_call
+ │ │ └── block: ∅
│ ├── conditions: (length: 1)
│ │ └── @ InNode (location: (164,10)-(164,32))
│ │ ├── pattern:
@@ -3893,6 +3893,7 @@
├── @ CaseMatchNode (location: (165,0)-(165,36))
│ ├── predicate:
│ │ @ CallNode (location: (165,5)-(165,8))
+ │ │ ├── flags: variable_call
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
│ │ ├── name: :foo
@@ -3900,8 +3901,7 @@
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
- │ │ ├── block: ∅
- │ │ └── flags: variable_call
+ │ │ └── block: ∅
│ ├── conditions: (length: 1)
│ │ └── @ InNode (location: (165,10)-(165,32))
│ │ ├── pattern:
@@ -3916,6 +3916,7 @@
│ │ │ │ @ StatementsNode (location: (165,13)-(165,20))
│ │ │ │ └── body: (length: 1)
│ │ │ │ └── @ ArrayNode (location: (165,13)-(165,20))
+ │ │ │ │ ├── flags: ∅
│ │ │ │ ├── elements: (length: 1)
│ │ │ │ │ └── @ SymbolNode (location: (165,16)-(165,19))
│ │ │ │ │ ├── opening_loc: ∅
@@ -3923,8 +3924,7 @@
│ │ │ │ │ ├── closing_loc: ∅
│ │ │ │ │ └── unescaped: "foo"
│ │ │ │ ├── opening_loc: (165,13)-(165,16) = "%i["
- │ │ │ │ ├── closing_loc: (165,19)-(165,20) = "]"
- │ │ │ │ └── flags: ∅
+ │ │ │ │ └── closing_loc: (165,19)-(165,20) = "]"
│ │ │ ├── consequent: ∅
│ │ │ └── end_keyword_loc: ∅
│ │ ├── statements: ∅
@@ -3936,6 +3936,7 @@
├── @ CaseMatchNode (location: (166,0)-(166,36))
│ ├── predicate:
│ │ @ CallNode (location: (166,5)-(166,8))
+ │ │ ├── flags: variable_call
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
│ │ ├── name: :foo
@@ -3943,8 +3944,7 @@
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
- │ │ ├── block: ∅
- │ │ └── flags: variable_call
+ │ │ └── block: ∅
│ ├── conditions: (length: 1)
│ │ └── @ InNode (location: (166,10)-(166,32))
│ │ ├── pattern:
@@ -3959,6 +3959,7 @@
│ │ │ │ @ StatementsNode (location: (166,13)-(166,20))
│ │ │ │ └── body: (length: 1)
│ │ │ │ └── @ ArrayNode (location: (166,13)-(166,20))
+ │ │ │ │ ├── flags: ∅
│ │ │ │ ├── elements: (length: 1)
│ │ │ │ │ └── @ SymbolNode (location: (166,16)-(166,19))
│ │ │ │ │ ├── opening_loc: ∅
@@ -3966,8 +3967,7 @@
│ │ │ │ │ ├── closing_loc: ∅
│ │ │ │ │ └── unescaped: "foo"
│ │ │ │ ├── opening_loc: (166,13)-(166,16) = "%I["
- │ │ │ │ ├── closing_loc: (166,19)-(166,20) = "]"
- │ │ │ │ └── flags: ∅
+ │ │ │ │ └── closing_loc: (166,19)-(166,20) = "]"
│ │ │ ├── consequent: ∅
│ │ │ └── end_keyword_loc: ∅
│ │ ├── statements: ∅
@@ -3979,6 +3979,7 @@
├── @ CaseMatchNode (location: (167,0)-(167,36))
│ ├── predicate:
│ │ @ CallNode (location: (167,5)-(167,8))
+ │ │ ├── flags: variable_call
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
│ │ ├── name: :foo
@@ -3986,8 +3987,7 @@
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
- │ │ ├── block: ∅
- │ │ └── flags: variable_call
+ │ │ └── block: ∅
│ ├── conditions: (length: 1)
│ │ └── @ InNode (location: (167,10)-(167,32))
│ │ ├── pattern:
@@ -4002,6 +4002,7 @@
│ │ │ │ @ StatementsNode (location: (167,13)-(167,20))
│ │ │ │ └── body: (length: 1)
│ │ │ │ └── @ ArrayNode (location: (167,13)-(167,20))
+ │ │ │ │ ├── flags: ∅
│ │ │ │ ├── elements: (length: 1)
│ │ │ │ │ └── @ StringNode (location: (167,16)-(167,19))
│ │ │ │ │ ├── flags: ∅
@@ -4010,8 +4011,7 @@
│ │ │ │ │ ├── closing_loc: ∅
│ │ │ │ │ └── unescaped: "foo"
│ │ │ │ ├── opening_loc: (167,13)-(167,16) = "%w["
- │ │ │ │ ├── closing_loc: (167,19)-(167,20) = "]"
- │ │ │ │ └── flags: ∅
+ │ │ │ │ └── closing_loc: (167,19)-(167,20) = "]"
│ │ │ ├── consequent: ∅
│ │ │ └── end_keyword_loc: ∅
│ │ ├── statements: ∅
@@ -4023,6 +4023,7 @@
├── @ CaseMatchNode (location: (168,0)-(168,36))
│ ├── predicate:
│ │ @ CallNode (location: (168,5)-(168,8))
+ │ │ ├── flags: variable_call
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
│ │ ├── name: :foo
@@ -4030,8 +4031,7 @@
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
- │ │ ├── block: ∅
- │ │ └── flags: variable_call
+ │ │ └── block: ∅
│ ├── conditions: (length: 1)
│ │ └── @ InNode (location: (168,10)-(168,32))
│ │ ├── pattern:
@@ -4046,6 +4046,7 @@
│ │ │ │ @ StatementsNode (location: (168,13)-(168,20))
│ │ │ │ └── body: (length: 1)
│ │ │ │ └── @ ArrayNode (location: (168,13)-(168,20))
+ │ │ │ │ ├── flags: ∅
│ │ │ │ ├── elements: (length: 1)
│ │ │ │ │ └── @ StringNode (location: (168,16)-(168,19))
│ │ │ │ │ ├── flags: ∅
@@ -4054,8 +4055,7 @@
│ │ │ │ │ ├── closing_loc: ∅
│ │ │ │ │ └── unescaped: "foo"
│ │ │ │ ├── opening_loc: (168,13)-(168,16) = "%W["
- │ │ │ │ ├── closing_loc: (168,19)-(168,20) = "]"
- │ │ │ │ └── flags: ∅
+ │ │ │ │ └── closing_loc: (168,19)-(168,20) = "]"
│ │ │ ├── consequent: ∅
│ │ │ └── end_keyword_loc: ∅
│ │ ├── statements: ∅
@@ -4067,6 +4067,7 @@
├── @ CaseMatchNode (location: (169,0)-(169,36))
│ ├── predicate:
│ │ @ CallNode (location: (169,5)-(169,8))
+ │ │ ├── flags: variable_call
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
│ │ ├── name: :foo
@@ -4074,8 +4075,7 @@
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
- │ │ ├── block: ∅
- │ │ └── flags: variable_call
+ │ │ └── block: ∅
│ ├── conditions: (length: 1)
│ │ └── @ InNode (location: (169,10)-(169,32))
│ │ ├── pattern:
@@ -4106,6 +4106,7 @@
├── @ CaseMatchNode (location: (170,0)-(170,36))
│ ├── predicate:
│ │ @ CallNode (location: (170,5)-(170,8))
+ │ │ ├── flags: variable_call
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
│ │ ├── name: :foo
@@ -4113,8 +4114,7 @@
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
- │ │ ├── block: ∅
- │ │ └── flags: variable_call
+ │ │ └── block: ∅
│ ├── conditions: (length: 1)
│ │ └── @ InNode (location: (170,10)-(170,32))
│ │ ├── pattern:
@@ -4145,6 +4145,7 @@
├── @ CaseMatchNode (location: (171,0)-(171,34))
│ ├── predicate:
│ │ @ CallNode (location: (171,5)-(171,8))
+ │ │ ├── flags: variable_call
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
│ │ ├── name: :foo
@@ -4152,8 +4153,7 @@
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
- │ │ ├── block: ∅
- │ │ └── flags: variable_call
+ │ │ └── block: ∅
│ ├── conditions: (length: 1)
│ │ └── @ InNode (location: (171,10)-(171,30))
│ │ ├── pattern:
@@ -4184,6 +4184,7 @@
├── @ CaseMatchNode (location: (172,0)-(172,32))
│ ├── predicate:
│ │ @ CallNode (location: (172,5)-(172,8))
+ │ │ ├── flags: variable_call
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
│ │ ├── name: :foo
@@ -4191,8 +4192,7 @@
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
- │ │ ├── block: ∅
- │ │ └── flags: variable_call
+ │ │ └── block: ∅
│ ├── conditions: (length: 1)
│ │ └── @ InNode (location: (172,10)-(172,28))
│ │ ├── pattern:
@@ -4218,6 +4218,7 @@
├── @ CaseMatchNode (location: (173,0)-(173,33))
│ ├── predicate:
│ │ @ CallNode (location: (173,5)-(173,8))
+ │ │ ├── flags: variable_call
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
│ │ ├── name: :foo
@@ -4225,8 +4226,7 @@
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
- │ │ ├── block: ∅
- │ │ └── flags: variable_call
+ │ │ └── block: ∅
│ ├── conditions: (length: 1)
│ │ └── @ InNode (location: (173,10)-(173,29))
│ │ ├── pattern:
@@ -4252,6 +4252,7 @@
├── @ CaseMatchNode (location: (174,0)-(174,33))
│ ├── predicate:
│ │ @ CallNode (location: (174,5)-(174,8))
+ │ │ ├── flags: variable_call
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
│ │ ├── name: :foo
@@ -4259,8 +4260,7 @@
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
- │ │ ├── block: ∅
- │ │ └── flags: variable_call
+ │ │ └── block: ∅
│ ├── conditions: (length: 1)
│ │ └── @ InNode (location: (174,10)-(174,29))
│ │ ├── pattern:
@@ -4286,6 +4286,7 @@
├── @ CaseMatchNode (location: (175,0)-(175,34))
│ ├── predicate:
│ │ @ CallNode (location: (175,5)-(175,8))
+ │ │ ├── flags: variable_call
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
│ │ ├── name: :foo
@@ -4293,8 +4294,7 @@
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
- │ │ ├── block: ∅
- │ │ └── flags: variable_call
+ │ │ └── block: ∅
│ ├── conditions: (length: 1)
│ │ └── @ InNode (location: (175,10)-(175,30))
│ │ ├── pattern:
@@ -4320,6 +4320,7 @@
├── @ CaseMatchNode (location: (176,0)-(176,37))
│ ├── predicate:
│ │ @ CallNode (location: (176,5)-(176,8))
+ │ │ ├── flags: variable_call
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
│ │ ├── name: :foo
@@ -4327,8 +4328,7 @@
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
- │ │ ├── block: ∅
- │ │ └── flags: variable_call
+ │ │ └── block: ∅
│ ├── conditions: (length: 1)
│ │ └── @ InNode (location: (176,10)-(176,33))
│ │ ├── pattern:
@@ -4355,6 +4355,7 @@
├── @ CaseMatchNode (location: (177,0)-(177,37))
│ ├── predicate:
│ │ @ CallNode (location: (177,5)-(177,8))
+ │ │ ├── flags: variable_call
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
│ │ ├── name: :foo
@@ -4362,8 +4363,7 @@
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
- │ │ ├── block: ∅
- │ │ └── flags: variable_call
+ │ │ └── block: ∅
│ ├── conditions: (length: 1)
│ │ └── @ InNode (location: (177,10)-(177,33))
│ │ ├── pattern:
@@ -4389,6 +4389,7 @@
├── @ CaseMatchNode (location: (178,0)-(178,41))
│ ├── predicate:
│ │ @ CallNode (location: (178,5)-(178,8))
+ │ │ ├── flags: variable_call
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
│ │ ├── name: :foo
@@ -4396,8 +4397,7 @@
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
- │ │ ├── block: ∅
- │ │ └── flags: variable_call
+ │ │ └── block: ∅
│ ├── conditions: (length: 1)
│ │ └── @ InNode (location: (178,10)-(178,37))
│ │ ├── pattern:
@@ -4423,6 +4423,7 @@
├── @ CaseMatchNode (location: (179,0)-(179,39))
│ ├── predicate:
│ │ @ CallNode (location: (179,5)-(179,8))
+ │ │ ├── flags: variable_call
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
│ │ ├── name: :foo
@@ -4430,8 +4431,7 @@
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
- │ │ ├── block: ∅
- │ │ └── flags: variable_call
+ │ │ └── block: ∅
│ ├── conditions: (length: 1)
│ │ └── @ InNode (location: (179,10)-(179,35))
│ │ ├── pattern:
@@ -4472,6 +4472,7 @@
│ │ @ MatchPredicateNode (location: (181,3)-(181,10))
│ │ ├── value:
│ │ │ @ CallNode (location: (181,3)-(181,4))
+ │ │ │ ├── flags: variable_call
│ │ │ ├── receiver: ∅
│ │ │ ├── call_operator_loc: ∅
│ │ │ ├── name: :a
@@ -4479,8 +4480,7 @@
│ │ │ ├── opening_loc: ∅
│ │ │ ├── arguments: ∅
│ │ │ ├── closing_loc: ∅
- │ │ │ ├── block: ∅
- │ │ │ └── flags: variable_call
+ │ │ │ └── block: ∅
│ │ ├── pattern:
│ │ │ @ ArrayPatternNode (location: (181,8)-(181,10))
│ │ │ ├── constant: ∅
@@ -4497,6 +4497,7 @@
├── @ MatchRequiredNode (location: (184,0)-(186,1))
│ ├── value:
│ │ @ CallNode (location: (184,0)-(184,1))
+ │ │ ├── flags: variable_call
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
│ │ ├── name: :a
@@ -4504,8 +4505,7 @@
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
- │ │ ├── block: ∅
- │ │ └── flags: variable_call
+ │ │ └── block: ∅
│ ├── pattern:
│ │ @ ArrayPatternNode (location: (184,5)-(186,1))
│ │ ├── constant: ∅
@@ -4521,6 +4521,7 @@
├── @ MatchPredicateNode (location: (188,0)-(192,1))
│ ├── value:
│ │ @ CallNode (location: (188,0)-(188,3))
+ │ │ ├── flags: variable_call
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
│ │ ├── name: :foo
@@ -4528,8 +4529,7 @@
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
- │ │ ├── block: ∅
- │ │ └── flags: variable_call
+ │ │ └── block: ∅
│ ├── pattern:
│ │ @ HashPatternNode (location: (188,7)-(192,1))
│ │ ├── constant:
@@ -4572,6 +4572,7 @@
├── @ MatchPredicateNode (location: (194,0)-(194,17))
│ ├── value:
│ │ @ CallNode (location: (194,0)-(194,3))
+ │ │ ├── flags: variable_call
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
│ │ ├── name: :foo
@@ -4579,8 +4580,7 @@
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
- │ │ ├── block: ∅
- │ │ └── flags: variable_call
+ │ │ └── block: ∅
│ ├── pattern:
│ │ @ CapturePatternNode (location: (194,7)-(194,17))
│ │ ├── value:
@@ -4596,6 +4596,7 @@
├── @ MatchRequiredNode (location: (195,0)-(195,17))
│ ├── value:
│ │ @ CallNode (location: (195,0)-(195,3))
+ │ │ ├── flags: variable_call
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
│ │ ├── name: :foo
@@ -4603,8 +4604,7 @@
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
- │ │ ├── block: ∅
- │ │ └── flags: variable_call
+ │ │ └── block: ∅
│ ├── pattern:
│ │ @ CapturePatternNode (location: (195,7)-(195,17))
│ │ ├── value:
@@ -4635,15 +4635,16 @@
│ ├── operator_loc: (197,14)-(197,15) = "="
│ └── value:
│ @ ArrayNode (location: (197,16)-(197,20))
+ │ ├── flags: ∅
│ ├── elements: (length: 2)
│ │ ├── @ IntegerNode (location: (197,16)-(197,17))
│ │ │ └── flags: decimal
│ │ └── @ IntegerNode (location: (197,19)-(197,20))
│ │ └── flags: decimal
│ ├── opening_loc: ∅
- │ ├── closing_loc: ∅
- │ └── flags: ∅
+ │ └── closing_loc: ∅
└── @ CallNode (location: (198,0)-(200,3))
+ ├── flags: ∅
├── receiver: ∅
├── call_operator_loc: ∅
├── name: :foo
@@ -4651,47 +4652,46 @@
├── opening_loc: ∅
├── arguments: ∅
├── closing_loc: ∅
- ├── block:
- │ @ BlockNode (location: (198,4)-(200,3))
- │ ├── locals: []
- │ ├── locals_body_index: 0
- │ ├── parameters: ∅
- │ ├── body:
- │ │ @ StatementsNode (location: (199,2)-(199,29))
- │ │ └── body: (length: 1)
- │ │ └── @ MatchRequiredNode (location: (199,2)-(199,29))
- │ │ ├── value:
- │ │ │ @ ArrayNode (location: (199,2)-(199,8))
- │ │ │ ├── elements: (length: 2)
- │ │ │ │ ├── @ IntegerNode (location: (199,3)-(199,4))
- │ │ │ │ │ └── flags: decimal
- │ │ │ │ └── @ IntegerNode (location: (199,6)-(199,7))
- │ │ │ │ └── flags: decimal
- │ │ │ ├── opening_loc: (199,2)-(199,3) = "["
- │ │ │ ├── closing_loc: (199,7)-(199,8) = "]"
- │ │ │ └── flags: ∅
- │ │ ├── pattern:
- │ │ │ @ CapturePatternNode (location: (199,12)-(199,29))
- │ │ │ ├── value:
- │ │ │ │ @ ArrayPatternNode (location: (199,12)-(199,22))
- │ │ │ │ ├── constant: ∅
- │ │ │ │ ├── requireds: (length: 2)
- │ │ │ │ │ ├── @ LocalVariableTargetNode (location: (199,13)-(199,16))
- │ │ │ │ │ │ ├── name: :foo
- │ │ │ │ │ │ └── depth: 1
- │ │ │ │ │ └── @ LocalVariableTargetNode (location: (199,18)-(199,21))
- │ │ │ │ │ ├── name: :bar
- │ │ │ │ │ └── depth: 1
- │ │ │ │ ├── rest: ∅
- │ │ │ │ ├── posts: (length: 0)
- │ │ │ │ ├── opening_loc: (199,12)-(199,13) = "["
- │ │ │ │ └── closing_loc: (199,21)-(199,22) = "]"
- │ │ │ ├── target:
- │ │ │ │ @ LocalVariableTargetNode (location: (199,26)-(199,29))
- │ │ │ │ ├── name: :baz
- │ │ │ │ └── depth: 1
- │ │ │ └── operator_loc: (199,23)-(199,25) = "=>"
- │ │ └── operator_loc: (199,9)-(199,11) = "=>"
- │ ├── opening_loc: (198,4)-(198,6) = "do"
- │ └── closing_loc: (200,0)-(200,3) = "end"
- └── flags: ∅
+ └── block:
+ @ BlockNode (location: (198,4)-(200,3))
+ ├── locals: []
+ ├── locals_body_index: 0
+ ├── parameters: ∅
+ ├── body:
+ │ @ StatementsNode (location: (199,2)-(199,29))
+ │ └── body: (length: 1)
+ │ └── @ MatchRequiredNode (location: (199,2)-(199,29))
+ │ ├── value:
+ │ │ @ ArrayNode (location: (199,2)-(199,8))
+ │ │ ├── flags: ∅
+ │ │ ├── elements: (length: 2)
+ │ │ │ ├── @ IntegerNode (location: (199,3)-(199,4))
+ │ │ │ │ └── flags: decimal
+ │ │ │ └── @ IntegerNode (location: (199,6)-(199,7))
+ │ │ │ └── flags: decimal
+ │ │ ├── opening_loc: (199,2)-(199,3) = "["
+ │ │ └── closing_loc: (199,7)-(199,8) = "]"
+ │ ├── pattern:
+ │ │ @ CapturePatternNode (location: (199,12)-(199,29))
+ │ │ ├── value:
+ │ │ │ @ ArrayPatternNode (location: (199,12)-(199,22))
+ │ │ │ ├── constant: ∅
+ │ │ │ ├── requireds: (length: 2)
+ │ │ │ │ ├── @ LocalVariableTargetNode (location: (199,13)-(199,16))
+ │ │ │ │ │ ├── name: :foo
+ │ │ │ │ │ └── depth: 1
+ │ │ │ │ └── @ LocalVariableTargetNode (location: (199,18)-(199,21))
+ │ │ │ │ ├── name: :bar
+ │ │ │ │ └── depth: 1
+ │ │ │ ├── rest: ∅
+ │ │ │ ├── posts: (length: 0)
+ │ │ │ ├── opening_loc: (199,12)-(199,13) = "["
+ │ │ │ └── closing_loc: (199,21)-(199,22) = "]"
+ │ │ ├── target:
+ │ │ │ @ LocalVariableTargetNode (location: (199,26)-(199,29))
+ │ │ │ ├── name: :baz
+ │ │ │ └── depth: 1
+ │ │ └── operator_loc: (199,23)-(199,25) = "=>"
+ │ └── operator_loc: (199,9)-(199,11) = "=>"
+ ├── opening_loc: (198,4)-(198,6) = "do"
+ └── closing_loc: (200,0)-(200,3) = "end"
diff --git a/test/prism/snapshots/procs.txt b/test/prism/snapshots/procs.txt
index 66b5cf3b1f..3080af8312 100644
--- a/test/prism/snapshots/procs.txt
+++ b/test/prism/snapshots/procs.txt
@@ -97,6 +97,7 @@
│ @ StatementsNode (location: (13,5)-(13,8))
│ └── body: (length: 1)
│ └── @ CallNode (location: (13,5)-(13,8))
+ │ ├── flags: variable_call
│ ├── receiver: ∅
│ ├── call_operator_loc: ∅
│ ├── name: :foo
@@ -104,8 +105,7 @@
│ ├── opening_loc: ∅
│ ├── arguments: ∅
│ ├── closing_loc: ∅
- │ ├── block: ∅
- │ └── flags: variable_call
+ │ └── block: ∅
├── @ LambdaNode (location: (15,0)-(15,15))
│ ├── locals: []
│ ├── locals_body_index: 0
@@ -117,6 +117,7 @@
│ @ StatementsNode (location: (15,7)-(15,10))
│ └── body: (length: 1)
│ └── @ CallNode (location: (15,7)-(15,10))
+ │ ├── flags: variable_call
│ ├── receiver: ∅
│ ├── call_operator_loc: ∅
│ ├── name: :foo
@@ -124,8 +125,7 @@
│ ├── opening_loc: ∅
│ ├── arguments: ∅
│ ├── closing_loc: ∅
- │ ├── block: ∅
- │ └── flags: variable_call
+ │ └── block: ∅
├── @ LambdaNode (location: (17,0)-(17,29))
│ ├── locals: [:a, :b, :c, :d, :e]
│ ├── locals_body_index: 5
@@ -328,6 +328,7 @@
│ @ StatementsNode (location: (25,16)-(25,21))
│ └── body: (length: 1)
│ └── @ CallNode (location: (25,16)-(25,21))
+ │ ├── flags: ∅
│ ├── receiver:
│ │ @ LocalVariableReadNode (location: (25,16)-(25,17))
│ │ ├── name: :a
@@ -338,14 +339,13 @@
│ ├── opening_loc: ∅
│ ├── arguments:
│ │ @ ArgumentsNode (location: (25,20)-(25,21))
- │ │ ├── arguments: (length: 1)
- │ │ │ └── @ LocalVariableReadNode (location: (25,20)-(25,21))
- │ │ │ ├── name: :b
- │ │ │ └── depth: 0
- │ │ └── flags: ∅
+ │ │ ├── flags: ∅
+ │ │ └── arguments: (length: 1)
+ │ │ └── @ LocalVariableReadNode (location: (25,20)-(25,21))
+ │ │ ├── name: :b
+ │ │ └── depth: 0
│ ├── closing_loc: ∅
- │ ├── block: ∅
- │ └── flags: ∅
+ │ └── block: ∅
└── @ LambdaNode (location: (27,0)-(27,19))
├── locals: [:a, :b, :c]
├── locals_body_index: 3
diff --git a/test/prism/snapshots/range_begin_open_exclusive.txt b/test/prism/snapshots/range_begin_open_exclusive.txt
index e4842729f1..0ac4d10bf7 100644
--- a/test/prism/snapshots/range_begin_open_exclusive.txt
+++ b/test/prism/snapshots/range_begin_open_exclusive.txt
@@ -4,9 +4,9 @@
@ StatementsNode (location: (1,0)-(1,4))
└── body: (length: 1)
└── @ RangeNode (location: (1,0)-(1,4))
+ ├── flags: exclude_end
├── left: ∅
├── right:
│ @ IntegerNode (location: (1,3)-(1,4))
│ └── flags: decimal
- ├── operator_loc: (1,0)-(1,3) = "..."
- └── flags: exclude_end
+ └── operator_loc: (1,0)-(1,3) = "..."
diff --git a/test/prism/snapshots/range_begin_open_inclusive.txt b/test/prism/snapshots/range_begin_open_inclusive.txt
index 1d9c64ec97..1cba894221 100644
--- a/test/prism/snapshots/range_begin_open_inclusive.txt
+++ b/test/prism/snapshots/range_begin_open_inclusive.txt
@@ -4,9 +4,9 @@
@ StatementsNode (location: (1,0)-(1,3))
└── body: (length: 1)
└── @ RangeNode (location: (1,0)-(1,3))
+ ├── flags: ∅
├── left: ∅
├── right:
│ @ IntegerNode (location: (1,2)-(1,3))
│ └── flags: decimal
- ├── operator_loc: (1,0)-(1,2) = ".."
- └── flags: ∅
+ └── operator_loc: (1,0)-(1,2) = ".."
diff --git a/test/prism/snapshots/range_end_open_exclusive.txt b/test/prism/snapshots/range_end_open_exclusive.txt
index defd76783e..76b8eb197e 100644
--- a/test/prism/snapshots/range_end_open_exclusive.txt
+++ b/test/prism/snapshots/range_end_open_exclusive.txt
@@ -4,9 +4,9 @@
@ StatementsNode (location: (1,0)-(1,4))
└── body: (length: 1)
└── @ RangeNode (location: (1,0)-(1,4))
+ ├── flags: exclude_end
├── left:
│ @ IntegerNode (location: (1,0)-(1,1))
│ └── flags: decimal
├── right: ∅
- ├── operator_loc: (1,1)-(1,4) = "..."
- └── flags: exclude_end
+ └── operator_loc: (1,1)-(1,4) = "..."
diff --git a/test/prism/snapshots/range_end_open_inclusive.txt b/test/prism/snapshots/range_end_open_inclusive.txt
index ee51b81e51..576ea40fa5 100644
--- a/test/prism/snapshots/range_end_open_inclusive.txt
+++ b/test/prism/snapshots/range_end_open_inclusive.txt
@@ -4,9 +4,9 @@
@ StatementsNode (location: (1,0)-(1,3))
└── body: (length: 1)
└── @ RangeNode (location: (1,0)-(1,3))
+ ├── flags: ∅
├── left:
│ @ IntegerNode (location: (1,0)-(1,1))
│ └── flags: decimal
├── right: ∅
- ├── operator_loc: (1,1)-(1,3) = ".."
- └── flags: ∅
+ └── operator_loc: (1,1)-(1,3) = ".."
diff --git a/test/prism/snapshots/ranges.txt b/test/prism/snapshots/ranges.txt
index f52f93633c..009738ad64 100644
--- a/test/prism/snapshots/ranges.txt
+++ b/test/prism/snapshots/ranges.txt
@@ -8,12 +8,12 @@
│ │ @ StatementsNode (location: (1,1)-(1,5))
│ │ └── body: (length: 1)
│ │ └── @ RangeNode (location: (1,1)-(1,5))
+ │ │ ├── flags: exclude_end
│ │ ├── left: ∅
│ │ ├── right:
│ │ │ @ IntegerNode (location: (1,4)-(1,5))
│ │ │ └── flags: decimal
- │ │ ├── operator_loc: (1,1)-(1,4) = "..."
- │ │ └── flags: exclude_end
+ │ │ └── operator_loc: (1,1)-(1,4) = "..."
│ ├── opening_loc: (1,0)-(1,1) = "("
│ └── closing_loc: (1,5)-(1,6) = ")"
├── @ ParenthesesNode (location: (3,0)-(3,5))
@@ -21,26 +21,28 @@
│ │ @ StatementsNode (location: (3,1)-(3,4))
│ │ └── body: (length: 1)
│ │ └── @ RangeNode (location: (3,1)-(3,4))
+ │ │ ├── flags: ∅
│ │ ├── left: ∅
│ │ ├── right:
│ │ │ @ IntegerNode (location: (3,3)-(3,4))
│ │ │ └── flags: decimal
- │ │ ├── operator_loc: (3,1)-(3,3) = ".."
- │ │ └── flags: ∅
+ │ │ └── operator_loc: (3,1)-(3,3) = ".."
│ ├── opening_loc: (3,0)-(3,1) = "("
│ └── closing_loc: (3,4)-(3,5) = ")"
├── @ RangeNode (location: (5,0)-(5,5))
+ │ ├── flags: exclude_end
│ ├── left:
│ │ @ IntegerNode (location: (5,0)-(5,1))
│ │ └── flags: decimal
│ ├── right:
│ │ @ IntegerNode (location: (5,4)-(5,5))
│ │ └── flags: decimal
- │ ├── operator_loc: (5,1)-(5,4) = "..."
- │ └── flags: exclude_end
+ │ └── operator_loc: (5,1)-(5,4) = "..."
├── @ CallNode (location: (7,0)-(7,9))
+ │ ├── flags: ∅
│ ├── receiver:
│ │ @ CallNode (location: (7,0)-(7,3))
+ │ │ ├── flags: variable_call
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
│ │ ├── name: :foo
@@ -48,26 +50,24 @@
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
- │ │ ├── block: ∅
- │ │ └── flags: variable_call
+ │ │ └── block: ∅
│ ├── call_operator_loc: ∅
│ ├── name: :[]
│ ├── message_loc: (7,3)-(7,9) = "[...2]"
│ ├── opening_loc: (7,3)-(7,4) = "["
│ ├── arguments:
│ │ @ ArgumentsNode (location: (7,4)-(7,8))
- │ │ ├── arguments: (length: 1)
- │ │ │ └── @ RangeNode (location: (7,4)-(7,8))
- │ │ │ ├── left: ∅
- │ │ │ ├── right:
- │ │ │ │ @ IntegerNode (location: (7,7)-(7,8))
- │ │ │ │ └── flags: decimal
- │ │ │ ├── operator_loc: (7,4)-(7,7) = "..."
- │ │ │ └── flags: exclude_end
- │ │ └── flags: ∅
+ │ │ ├── flags: ∅
+ │ │ └── arguments: (length: 1)
+ │ │ └── @ RangeNode (location: (7,4)-(7,8))
+ │ │ ├── flags: exclude_end
+ │ │ ├── left: ∅
+ │ │ ├── right:
+ │ │ │ @ IntegerNode (location: (7,7)-(7,8))
+ │ │ │ └── flags: decimal
+ │ │ └── operator_loc: (7,4)-(7,7) = "..."
│ ├── closing_loc: (7,8)-(7,9) = "]"
- │ ├── block: ∅
- │ └── flags: ∅
+ │ └── block: ∅
├── @ HashNode (location: (9,0)-(9,15))
│ ├── opening_loc: (9,0)-(9,1) = "{"
│ ├── elements: (length: 1)
@@ -80,9 +80,11 @@
│ │ │ └── unescaped: "foo"
│ │ ├── value:
│ │ │ @ RangeNode (location: (9,7)-(9,13))
+ │ │ │ ├── flags: exclude_end
│ │ │ ├── left: ∅
│ │ │ ├── right:
│ │ │ │ @ CallNode (location: (9,10)-(9,13))
+ │ │ │ │ ├── flags: variable_call
│ │ │ │ ├── receiver: ∅
│ │ │ │ ├── call_operator_loc: ∅
│ │ │ │ ├── name: :bar
@@ -90,10 +92,8 @@
│ │ │ │ ├── opening_loc: ∅
│ │ │ │ ├── arguments: ∅
│ │ │ │ ├── closing_loc: ∅
- │ │ │ │ ├── block: ∅
- │ │ │ │ └── flags: variable_call
- │ │ │ ├── operator_loc: (9,7)-(9,10) = "..."
- │ │ │ └── flags: exclude_end
+ │ │ │ │ └── block: ∅
+ │ │ │ └── operator_loc: (9,7)-(9,10) = "..."
│ │ └── operator_loc: ∅
│ └── closing_loc: (9,14)-(9,15) = "}"
├── @ ParenthesesNode (location: (11,0)-(11,6))
@@ -101,23 +101,23 @@
│ │ @ StatementsNode (location: (11,1)-(11,5))
│ │ └── body: (length: 1)
│ │ └── @ RangeNode (location: (11,1)-(11,5))
+ │ │ ├── flags: exclude_end
│ │ ├── left:
│ │ │ @ IntegerNode (location: (11,1)-(11,2))
│ │ │ └── flags: decimal
│ │ ├── right: ∅
- │ │ ├── operator_loc: (11,2)-(11,5) = "..."
- │ │ └── flags: exclude_end
+ │ │ └── operator_loc: (11,2)-(11,5) = "..."
│ ├── opening_loc: (11,0)-(11,1) = "("
│ └── closing_loc: (11,5)-(11,6) = ")"
├── @ RangeNode (location: (13,0)-(13,4))
+ │ ├── flags: ∅
│ ├── left:
│ │ @ IntegerNode (location: (13,0)-(13,1))
│ │ └── flags: decimal
│ ├── right:
│ │ @ IntegerNode (location: (13,3)-(13,4))
│ │ └── flags: decimal
- │ ├── operator_loc: (13,1)-(13,3) = ".."
- │ └── flags: ∅
+ │ └── operator_loc: (13,1)-(13,3) = ".."
├── @ HashNode (location: (15,0)-(15,14))
│ ├── opening_loc: (15,0)-(15,1) = "{"
│ ├── elements: (length: 1)
@@ -130,9 +130,11 @@
│ │ │ └── unescaped: "foo"
│ │ ├── value:
│ │ │ @ RangeNode (location: (15,7)-(15,12))
+ │ │ │ ├── flags: ∅
│ │ │ ├── left: ∅
│ │ │ ├── right:
│ │ │ │ @ CallNode (location: (15,9)-(15,12))
+ │ │ │ │ ├── flags: variable_call
│ │ │ │ ├── receiver: ∅
│ │ │ │ ├── call_operator_loc: ∅
│ │ │ │ ├── name: :bar
@@ -140,10 +142,8 @@
│ │ │ │ ├── opening_loc: ∅
│ │ │ │ ├── arguments: ∅
│ │ │ │ ├── closing_loc: ∅
- │ │ │ │ ├── block: ∅
- │ │ │ │ └── flags: variable_call
- │ │ │ ├── operator_loc: (15,7)-(15,9) = ".."
- │ │ │ └── flags: ∅
+ │ │ │ │ └── block: ∅
+ │ │ │ └── operator_loc: (15,7)-(15,9) = ".."
│ │ └── operator_loc: ∅
│ └── closing_loc: (15,13)-(15,14) = "}"
├── @ ParenthesesNode (location: (17,0)-(17,5))
@@ -151,25 +151,25 @@
│ │ @ StatementsNode (location: (17,1)-(17,4))
│ │ └── body: (length: 1)
│ │ └── @ RangeNode (location: (17,1)-(17,4))
+ │ │ ├── flags: ∅
│ │ ├── left:
│ │ │ @ IntegerNode (location: (17,1)-(17,2))
│ │ │ └── flags: decimal
│ │ ├── right: ∅
- │ │ ├── operator_loc: (17,2)-(17,4) = ".."
- │ │ └── flags: ∅
+ │ │ └── operator_loc: (17,2)-(17,4) = ".."
│ ├── opening_loc: (17,0)-(17,1) = "("
│ └── closing_loc: (17,4)-(17,5) = ")"
└── @ RangeNode (location: (19,0)-(19,8))
+ ├── flags: ∅
├── left:
│ @ IntegerNode (location: (19,0)-(19,1))
│ └── flags: decimal
├── right:
│ @ RangeNode (location: (19,5)-(19,8))
+ │ ├── flags: ∅
│ ├── left: ∅
│ ├── right:
│ │ @ IntegerNode (location: (19,7)-(19,8))
│ │ └── flags: decimal
- │ ├── operator_loc: (19,5)-(19,7) = ".."
- │ └── flags: ∅
- ├── operator_loc: (19,2)-(19,4) = ".."
- └── flags: ∅
+ │ └── operator_loc: (19,5)-(19,7) = ".."
+ └── operator_loc: (19,2)-(19,4) = ".."
diff --git a/test/prism/snapshots/regex.txt b/test/prism/snapshots/regex.txt
index e25e4dd262..318c1a832a 100644
--- a/test/prism/snapshots/regex.txt
+++ b/test/prism/snapshots/regex.txt
@@ -4,6 +4,7 @@
@ StatementsNode (location: (1,0)-(40,24))
└── body: (length: 21)
├── @ CallNode (location: (1,0)-(1,9))
+ │ ├── flags: ∅
│ ├── receiver: ∅
│ ├── call_operator_loc: ∅
│ ├── name: :foo
@@ -11,30 +12,30 @@
│ ├── opening_loc: ∅
│ ├── arguments:
│ │ @ ArgumentsNode (location: (1,4)-(1,9))
- │ │ ├── arguments: (length: 1)
- │ │ │ └── @ RegularExpressionNode (location: (1,4)-(1,9))
- │ │ │ ├── opening_loc: (1,4)-(1,5) = "/"
- │ │ │ ├── content_loc: (1,5)-(1,8) = "bar"
- │ │ │ ├── closing_loc: (1,8)-(1,9) = "/"
- │ │ │ ├── unescaped: "bar"
- │ │ │ └── flags: ∅
- │ │ └── flags: ∅
+ │ │ ├── flags: ∅
+ │ │ └── arguments: (length: 1)
+ │ │ └── @ RegularExpressionNode (location: (1,4)-(1,9))
+ │ │ ├── flags: ∅
+ │ │ ├── opening_loc: (1,4)-(1,5) = "/"
+ │ │ ├── content_loc: (1,5)-(1,8) = "bar"
+ │ │ ├── closing_loc: (1,8)-(1,9) = "/"
+ │ │ └── unescaped: "bar"
│ ├── closing_loc: ∅
- │ ├── block: ∅
- │ └── flags: ∅
+ │ └── block: ∅
├── @ RegularExpressionNode (location: (3,0)-(3,8))
+ │ ├── flags: ignore_case
│ ├── opening_loc: (3,0)-(3,3) = "%r{"
│ ├── content_loc: (3,3)-(3,6) = "abc"
│ ├── closing_loc: (3,6)-(3,8) = "}i"
- │ ├── unescaped: "abc"
- │ └── flags: ignore_case
+ │ └── unescaped: "abc"
├── @ RegularExpressionNode (location: (5,0)-(5,5))
+ │ ├── flags: ∅
│ ├── opening_loc: (5,0)-(5,1) = "/"
│ ├── content_loc: (5,1)-(5,4) = "a\\b"
│ ├── closing_loc: (5,4)-(5,5) = "/"
- │ ├── unescaped: "a\\b"
- │ └── flags: ∅
+ │ └── unescaped: "a\\b"
├── @ InterpolatedRegularExpressionNode (location: (7,0)-(7,11))
+ │ ├── flags: ∅
│ ├── opening_loc: (7,0)-(7,1) = "/"
│ ├── parts: (length: 2)
│ │ ├── @ StringNode (location: (7,1)-(7,5))
@@ -48,9 +49,9 @@
│ │ └── variable:
│ │ @ GlobalVariableReadNode (location: (7,6)-(7,10))
│ │ └── name: :$bbb
- │ ├── closing_loc: (7,10)-(7,11) = "/"
- │ └── flags: ∅
+ │ └── closing_loc: (7,10)-(7,11) = "/"
├── @ InterpolatedRegularExpressionNode (location: (9,0)-(9,16))
+ │ ├── flags: ∅
│ ├── opening_loc: (9,0)-(9,1) = "/"
│ ├── parts: (length: 3)
│ │ ├── @ StringNode (location: (9,1)-(9,5))
@@ -65,6 +66,7 @@
│ │ │ │ @ StatementsNode (location: (9,7)-(9,10))
│ │ │ │ └── body: (length: 1)
│ │ │ │ └── @ CallNode (location: (9,7)-(9,10))
+ │ │ │ │ ├── flags: variable_call
│ │ │ │ ├── receiver: ∅
│ │ │ │ ├── call_operator_loc: ∅
│ │ │ │ ├── name: :bbb
@@ -72,8 +74,7 @@
│ │ │ │ ├── opening_loc: ∅
│ │ │ │ ├── arguments: ∅
│ │ │ │ ├── closing_loc: ∅
- │ │ │ │ ├── block: ∅
- │ │ │ │ └── flags: variable_call
+ │ │ │ │ └── block: ∅
│ │ │ └── closing_loc: (9,10)-(9,11) = "}"
│ │ └── @ StringNode (location: (9,11)-(9,15))
│ │ ├── flags: ∅
@@ -81,41 +82,41 @@
│ │ ├── content_loc: (9,11)-(9,15) = " ccc"
│ │ ├── closing_loc: ∅
│ │ └── unescaped: " ccc"
- │ ├── closing_loc: (9,15)-(9,16) = "/"
- │ └── flags: ∅
+ │ └── closing_loc: (9,15)-(9,16) = "/"
├── @ ArrayNode (location: (11,0)-(11,27))
+ │ ├── flags: ∅
│ ├── elements: (length: 2)
│ │ ├── @ MatchWriteNode (location: (11,1)-(11,21))
│ │ │ ├── call:
│ │ │ │ @ CallNode (location: (11,1)-(11,21))
+ │ │ │ │ ├── flags: ∅
│ │ │ │ ├── receiver:
│ │ │ │ │ @ RegularExpressionNode (location: (11,1)-(11,14))
+ │ │ │ │ │ ├── flags: ∅
│ │ │ │ │ ├── opening_loc: (11,1)-(11,2) = "/"
│ │ │ │ │ ├── content_loc: (11,2)-(11,13) = "(?<foo>bar)"
│ │ │ │ │ ├── closing_loc: (11,13)-(11,14) = "/"
- │ │ │ │ │ ├── unescaped: "(?<foo>bar)"
- │ │ │ │ │ └── flags: ∅
+ │ │ │ │ │ └── unescaped: "(?<foo>bar)"
│ │ │ │ ├── call_operator_loc: ∅
│ │ │ │ ├── name: :=~
│ │ │ │ ├── message_loc: (11,15)-(11,17) = "=~"
│ │ │ │ ├── opening_loc: ∅
│ │ │ │ ├── arguments:
│ │ │ │ │ @ ArgumentsNode (location: (11,18)-(11,21))
- │ │ │ │ │ ├── arguments: (length: 1)
- │ │ │ │ │ │ └── @ CallNode (location: (11,18)-(11,21))
- │ │ │ │ │ │ ├── receiver: ∅
- │ │ │ │ │ │ ├── call_operator_loc: ∅
- │ │ │ │ │ │ ├── name: :baz
- │ │ │ │ │ │ ├── message_loc: (11,18)-(11,21) = "baz"
- │ │ │ │ │ │ ├── opening_loc: ∅
- │ │ │ │ │ │ ├── arguments: ∅
- │ │ │ │ │ │ ├── closing_loc: ∅
- │ │ │ │ │ │ ├── block: ∅
- │ │ │ │ │ │ └── flags: variable_call
- │ │ │ │ │ └── flags: ∅
+ │ │ │ │ │ ├── flags: ∅
+ │ │ │ │ │ └── arguments: (length: 1)
+ │ │ │ │ │ └── @ CallNode (location: (11,18)-(11,21))
+ │ │ │ │ │ ├── flags: variable_call
+ │ │ │ │ │ ├── receiver: ∅
+ │ │ │ │ │ ├── call_operator_loc: ∅
+ │ │ │ │ │ ├── name: :baz
+ │ │ │ │ │ ├── message_loc: (11,18)-(11,21) = "baz"
+ │ │ │ │ │ ├── opening_loc: ∅
+ │ │ │ │ │ ├── arguments: ∅
+ │ │ │ │ │ ├── closing_loc: ∅
+ │ │ │ │ │ └── block: ∅
│ │ │ │ ├── closing_loc: ∅
- │ │ │ │ ├── block: ∅
- │ │ │ │ └── flags: ∅
+ │ │ │ │ └── block: ∅
│ │ │ └── targets: (length: 1)
│ │ │ └── @ LocalVariableTargetNode (location: (11,5)-(11,8))
│ │ │ ├── name: :foo
@@ -124,70 +125,70 @@
│ │ ├── name: :foo
│ │ └── depth: 0
│ ├── opening_loc: (11,0)-(11,1) = "["
- │ ├── closing_loc: (11,26)-(11,27) = "]"
- │ └── flags: ∅
+ │ └── closing_loc: (11,26)-(11,27) = "]"
├── @ RegularExpressionNode (location: (13,0)-(13,6))
+ │ ├── flags: ignore_case
│ ├── opening_loc: (13,0)-(13,1) = "/"
│ ├── content_loc: (13,1)-(13,4) = "abc"
│ ├── closing_loc: (13,4)-(13,6) = "/i"
- │ ├── unescaped: "abc"
- │ └── flags: ignore_case
+ │ └── unescaped: "abc"
├── @ RegularExpressionNode (location: (15,0)-(15,26))
+ │ ├── flags: ignore_case
│ ├── opening_loc: (15,0)-(15,3) = "%r/"
│ ├── content_loc: (15,3)-(15,24) = "[a-z$._?][\\w$.?\#@~]*:"
│ ├── closing_loc: (15,24)-(15,26) = "/i"
- │ ├── unescaped: "[a-z$._?][\\w$.?\#@~]*:"
- │ └── flags: ignore_case
+ │ └── unescaped: "[a-z$._?][\\w$.?\#@~]*:"
├── @ RegularExpressionNode (location: (17,0)-(17,37))
+ │ ├── flags: ignore_case
│ ├── opening_loc: (17,0)-(17,3) = "%r/"
│ ├── content_loc: (17,3)-(17,35) = "([a-z$._?][\\w$.?\#@~]*)(\\s+)(equ)"
│ ├── closing_loc: (17,35)-(17,37) = "/i"
- │ ├── unescaped: "([a-z$._?][\\w$.?\#@~]*)(\\s+)(equ)"
- │ └── flags: ignore_case
+ │ └── unescaped: "([a-z$._?][\\w$.?\#@~]*)(\\s+)(equ)"
├── @ RegularExpressionNode (location: (19,0)-(19,25))
+ │ ├── flags: ignore_case
│ ├── opening_loc: (19,0)-(19,3) = "%r/"
│ ├── content_loc: (19,3)-(19,23) = "[a-z$._?][\\w$.?\#@~]*"
│ ├── closing_loc: (19,23)-(19,25) = "/i"
- │ ├── unescaped: "[a-z$._?][\\w$.?\#@~]*"
- │ └── flags: ignore_case
+ │ └── unescaped: "[a-z$._?][\\w$.?\#@~]*"
├── @ RegularExpressionNode (location: (21,0)-(24,1))
+ │ ├── flags: ∅
│ ├── opening_loc: (21,0)-(21,3) = "%r("
│ ├── content_loc: (21,3)-(24,0) = "\n(?:[\\w\#$%_']|\\(\\)|\\(,\\)|\\[\\]|[0-9])*\n (?:[\\w\#$%_']+)\n"
│ ├── closing_loc: (24,0)-(24,1) = ")"
- │ ├── unescaped: "\n(?:[\\w\#$%_']|\\(\\)|\\(,\\)|\\[\\]|[0-9])*\n (?:[\\w\#$%_']+)\n"
- │ └── flags: ∅
+ │ └── unescaped: "\n(?:[\\w\#$%_']|\\(\\)|\\(,\\)|\\[\\]|[0-9])*\n (?:[\\w\#$%_']+)\n"
├── @ CallNode (location: (26,0)-(26,16))
+ │ ├── flags: ∅
│ ├── receiver:
│ │ @ RegularExpressionNode (location: (26,0)-(26,8))
+ │ │ ├── flags: ∅
│ │ ├── opening_loc: (26,0)-(26,1) = "/"
│ │ ├── content_loc: (26,1)-(26,7) = "(?#\\))"
│ │ ├── closing_loc: (26,7)-(26,8) = "/"
- │ │ ├── unescaped: "(?#\\))"
- │ │ └── flags: ∅
+ │ │ └── unescaped: "(?#\\))"
│ ├── call_operator_loc: ∅
│ ├── name: :=~
│ ├── message_loc: (26,9)-(26,11) = "=~"
│ ├── opening_loc: ∅
│ ├── arguments:
│ │ @ ArgumentsNode (location: (26,12)-(26,16))
- │ │ ├── arguments: (length: 1)
- │ │ │ └── @ StringNode (location: (26,12)-(26,16))
- │ │ │ ├── flags: ∅
- │ │ │ ├── opening_loc: (26,12)-(26,13) = "\""
- │ │ │ ├── content_loc: (26,13)-(26,15) = "hi"
- │ │ │ ├── closing_loc: (26,15)-(26,16) = "\""
- │ │ │ └── unescaped: "hi"
- │ │ └── flags: ∅
+ │ │ ├── flags: ∅
+ │ │ └── arguments: (length: 1)
+ │ │ └── @ StringNode (location: (26,12)-(26,16))
+ │ │ ├── flags: ∅
+ │ │ ├── opening_loc: (26,12)-(26,13) = "\""
+ │ │ ├── content_loc: (26,13)-(26,15) = "hi"
+ │ │ ├── closing_loc: (26,15)-(26,16) = "\""
+ │ │ └── unescaped: "hi"
│ ├── closing_loc: ∅
- │ ├── block: ∅
- │ └── flags: ∅
+ │ └── block: ∅
├── @ RegularExpressionNode (location: (28,0)-(28,9))
+ │ ├── flags: ∅
│ ├── opening_loc: (28,0)-(28,3) = "%r#"
│ ├── content_loc: (28,3)-(28,8) = "pound"
│ ├── closing_loc: (28,8)-(28,9) = "#"
- │ ├── unescaped: "pound"
- │ └── flags: ∅
+ │ └── unescaped: "pound"
├── @ InterpolatedRegularExpressionNode (location: (30,0)-(30,13))
+ │ ├── flags: once
│ ├── opening_loc: (30,0)-(30,1) = "/"
│ ├── parts: (length: 2)
│ │ ├── @ StringNode (location: (30,1)-(30,5))
@@ -202,6 +203,7 @@
│ │ │ @ StatementsNode (location: (30,7)-(30,10))
│ │ │ └── body: (length: 1)
│ │ │ └── @ CallNode (location: (30,7)-(30,10))
+ │ │ │ ├── flags: variable_call
│ │ │ ├── receiver: ∅
│ │ │ ├── call_operator_loc: ∅
│ │ │ ├── name: :bbb
@@ -209,38 +211,36 @@
│ │ │ ├── opening_loc: ∅
│ │ │ ├── arguments: ∅
│ │ │ ├── closing_loc: ∅
- │ │ │ ├── block: ∅
- │ │ │ └── flags: variable_call
+ │ │ │ └── block: ∅
│ │ └── closing_loc: (30,10)-(30,11) = "}"
- │ ├── closing_loc: (30,11)-(30,13) = "/o"
- │ └── flags: once
+ │ └── closing_loc: (30,11)-(30,13) = "/o"
├── @ MatchWriteNode (location: (32,0)-(33,10))
│ ├── call:
│ │ @ CallNode (location: (32,0)-(33,10))
+ │ │ ├── flags: ∅
│ │ ├── receiver:
│ │ │ @ RegularExpressionNode (location: (32,0)-(33,4))
+ │ │ │ ├── flags: ∅
│ │ │ ├── opening_loc: (32,0)-(32,1) = "/"
│ │ │ ├── content_loc: (32,1)-(33,3) = "(?<a\\\nb>)"
│ │ │ ├── closing_loc: (33,3)-(33,4) = "/"
- │ │ │ ├── unescaped: "(?<ab>)"
- │ │ │ └── flags: ∅
+ │ │ │ └── unescaped: "(?<ab>)"
│ │ ├── call_operator_loc: ∅
│ │ ├── name: :=~
│ │ ├── message_loc: (33,5)-(33,7) = "=~"
│ │ ├── opening_loc: ∅
│ │ ├── arguments:
│ │ │ @ ArgumentsNode (location: (33,8)-(33,10))
- │ │ │ ├── arguments: (length: 1)
- │ │ │ │ └── @ StringNode (location: (33,8)-(33,10))
- │ │ │ │ ├── flags: ∅
- │ │ │ │ ├── opening_loc: (33,8)-(33,9) = "\""
- │ │ │ │ ├── content_loc: (33,9)-(33,9) = ""
- │ │ │ │ ├── closing_loc: (33,9)-(33,10) = "\""
- │ │ │ │ └── unescaped: ""
- │ │ │ └── flags: ∅
+ │ │ │ ├── flags: ∅
+ │ │ │ └── arguments: (length: 1)
+ │ │ │ └── @ StringNode (location: (33,8)-(33,10))
+ │ │ │ ├── flags: ∅
+ │ │ │ ├── opening_loc: (33,8)-(33,9) = "\""
+ │ │ │ ├── content_loc: (33,9)-(33,9) = ""
+ │ │ │ ├── closing_loc: (33,9)-(33,10) = "\""
+ │ │ │ └── unescaped: ""
│ │ ├── closing_loc: ∅
- │ │ ├── block: ∅
- │ │ └── flags: ∅
+ │ │ └── block: ∅
│ └── targets: (length: 1)
│ └── @ LocalVariableTargetNode (location: (32,0)-(33,4))
│ ├── name: :ab
@@ -251,30 +251,30 @@
├── @ MatchWriteNode (location: (35,0)-(35,24))
│ ├── call:
│ │ @ CallNode (location: (35,0)-(35,24))
+ │ │ ├── flags: ∅
│ │ ├── receiver:
│ │ │ @ RegularExpressionNode (location: (35,0)-(35,18))
+ │ │ │ ├── flags: ∅
│ │ │ ├── opening_loc: (35,0)-(35,1) = "/"
│ │ │ ├── content_loc: (35,1)-(35,17) = "(?<abc>)(?<abc>)"
│ │ │ ├── closing_loc: (35,17)-(35,18) = "/"
- │ │ │ ├── unescaped: "(?<abc>)(?<abc>)"
- │ │ │ └── flags: ∅
+ │ │ │ └── unescaped: "(?<abc>)(?<abc>)"
│ │ ├── call_operator_loc: ∅
│ │ ├── name: :=~
│ │ ├── message_loc: (35,19)-(35,21) = "=~"
│ │ ├── opening_loc: ∅
│ │ ├── arguments:
│ │ │ @ ArgumentsNode (location: (35,22)-(35,24))
- │ │ │ ├── arguments: (length: 1)
- │ │ │ │ └── @ StringNode (location: (35,22)-(35,24))
- │ │ │ │ ├── flags: ∅
- │ │ │ │ ├── opening_loc: (35,22)-(35,23) = "\""
- │ │ │ │ ├── content_loc: (35,23)-(35,23) = ""
- │ │ │ │ ├── closing_loc: (35,23)-(35,24) = "\""
- │ │ │ │ └── unescaped: ""
- │ │ │ └── flags: ∅
+ │ │ │ ├── flags: ∅
+ │ │ │ └── arguments: (length: 1)
+ │ │ │ └── @ StringNode (location: (35,22)-(35,24))
+ │ │ │ ├── flags: ∅
+ │ │ │ ├── opening_loc: (35,22)-(35,23) = "\""
+ │ │ │ ├── content_loc: (35,23)-(35,23) = ""
+ │ │ │ ├── closing_loc: (35,23)-(35,24) = "\""
+ │ │ │ └── unescaped: ""
│ │ ├── closing_loc: ∅
- │ │ ├── block: ∅
- │ │ └── flags: ∅
+ │ │ └── block: ∅
│ └── targets: (length: 1)
│ └── @ LocalVariableTargetNode (location: (35,4)-(35,7))
│ ├── name: :abc
@@ -283,30 +283,30 @@
│ ├── name: :abc
│ └── depth: 0
├── @ CallNode (location: (37,0)-(37,16))
+ │ ├── flags: ∅
│ ├── receiver:
│ │ @ RegularExpressionNode (location: (37,0)-(37,10))
+ │ │ ├── flags: ∅
│ │ ├── opening_loc: (37,0)-(37,1) = "/"
│ │ ├── content_loc: (37,1)-(37,9) = "(?<a b>)"
│ │ ├── closing_loc: (37,9)-(37,10) = "/"
- │ │ ├── unescaped: "(?<a b>)"
- │ │ └── flags: ∅
+ │ │ └── unescaped: "(?<a b>)"
│ ├── call_operator_loc: ∅
│ ├── name: :=~
│ ├── message_loc: (37,11)-(37,13) = "=~"
│ ├── opening_loc: ∅
│ ├── arguments:
│ │ @ ArgumentsNode (location: (37,14)-(37,16))
- │ │ ├── arguments: (length: 1)
- │ │ │ └── @ StringNode (location: (37,14)-(37,16))
- │ │ │ ├── flags: ∅
- │ │ │ ├── opening_loc: (37,14)-(37,15) = "\""
- │ │ │ ├── content_loc: (37,15)-(37,15) = ""
- │ │ │ ├── closing_loc: (37,15)-(37,16) = "\""
- │ │ │ └── unescaped: ""
- │ │ └── flags: ∅
+ │ │ ├── flags: ∅
+ │ │ └── arguments: (length: 1)
+ │ │ └── @ StringNode (location: (37,14)-(37,16))
+ │ │ ├── flags: ∅
+ │ │ ├── opening_loc: (37,14)-(37,15) = "\""
+ │ │ ├── content_loc: (37,15)-(37,15) = ""
+ │ │ ├── closing_loc: (37,15)-(37,16) = "\""
+ │ │ └── unescaped: ""
│ ├── closing_loc: ∅
- │ ├── block: ∅
- │ └── flags: ∅
+ │ └── block: ∅
├── @ LocalVariableWriteNode (location: (39,0)-(39,5))
│ ├── name: :a
│ ├── depth: 0
@@ -316,6 +316,7 @@
│ │ └── flags: decimal
│ └── operator_loc: (39,2)-(39,3) = "="
└── @ CallNode (location: (40,0)-(40,24))
+ ├── flags: ∅
├── receiver: ∅
├── call_operator_loc: ∅
├── name: :tap
@@ -323,49 +324,48 @@
├── opening_loc: ∅
├── arguments: ∅
├── closing_loc: ∅
- ├── block:
- │ @ BlockNode (location: (40,4)-(40,24))
- │ ├── locals: []
- │ ├── locals_body_index: 0
- │ ├── parameters: ∅
- │ ├── body:
- │ │ @ StatementsNode (location: (40,6)-(40,22))
- │ │ └── body: (length: 1)
- │ │ └── @ MatchWriteNode (location: (40,6)-(40,22))
- │ │ ├── call:
- │ │ │ @ CallNode (location: (40,6)-(40,22))
- │ │ │ ├── receiver:
- │ │ │ │ @ RegularExpressionNode (location: (40,6)-(40,14))
- │ │ │ │ ├── opening_loc: (40,6)-(40,7) = "/"
- │ │ │ │ ├── content_loc: (40,7)-(40,13) = "(?<a>)"
- │ │ │ │ ├── closing_loc: (40,13)-(40,14) = "/"
- │ │ │ │ ├── unescaped: "(?<a>)"
- │ │ │ │ └── flags: ∅
- │ │ │ ├── call_operator_loc: ∅
- │ │ │ ├── name: :=~
- │ │ │ ├── message_loc: (40,15)-(40,17) = "=~"
- │ │ │ ├── opening_loc: ∅
- │ │ │ ├── arguments:
- │ │ │ │ @ ArgumentsNode (location: (40,18)-(40,22))
- │ │ │ │ ├── arguments: (length: 1)
- │ │ │ │ │ └── @ CallNode (location: (40,18)-(40,22))
- │ │ │ │ │ ├── receiver: ∅
- │ │ │ │ │ ├── call_operator_loc: ∅
- │ │ │ │ │ ├── name: :to_s
- │ │ │ │ │ ├── message_loc: (40,18)-(40,22) = "to_s"
- │ │ │ │ │ ├── opening_loc: ∅
- │ │ │ │ │ ├── arguments: ∅
- │ │ │ │ │ ├── closing_loc: ∅
- │ │ │ │ │ ├── block: ∅
- │ │ │ │ │ └── flags: variable_call
- │ │ │ │ └── flags: ∅
- │ │ │ ├── closing_loc: ∅
- │ │ │ ├── block: ∅
- │ │ │ └── flags: ∅
- │ │ └── targets: (length: 1)
- │ │ └── @ LocalVariableTargetNode (location: (40,10)-(40,11))
- │ │ ├── name: :a
- │ │ └── depth: 1
- │ ├── opening_loc: (40,4)-(40,5) = "{"
- │ └── closing_loc: (40,23)-(40,24) = "}"
- └── flags: ∅
+ └── block:
+ @ BlockNode (location: (40,4)-(40,24))
+ ├── locals: []
+ ├── locals_body_index: 0
+ ├── parameters: ∅
+ ├── body:
+ │ @ StatementsNode (location: (40,6)-(40,22))
+ │ └── body: (length: 1)
+ │ └── @ MatchWriteNode (location: (40,6)-(40,22))
+ │ ├── call:
+ │ │ @ CallNode (location: (40,6)-(40,22))
+ │ │ ├── flags: ∅
+ │ │ ├── receiver:
+ │ │ │ @ RegularExpressionNode (location: (40,6)-(40,14))
+ │ │ │ ├── flags: ∅
+ │ │ │ ├── opening_loc: (40,6)-(40,7) = "/"
+ │ │ │ ├── content_loc: (40,7)-(40,13) = "(?<a>)"
+ │ │ │ ├── closing_loc: (40,13)-(40,14) = "/"
+ │ │ │ └── unescaped: "(?<a>)"
+ │ │ ├── call_operator_loc: ∅
+ │ │ ├── name: :=~
+ │ │ ├── message_loc: (40,15)-(40,17) = "=~"
+ │ │ ├── opening_loc: ∅
+ │ │ ├── arguments:
+ │ │ │ @ ArgumentsNode (location: (40,18)-(40,22))
+ │ │ │ ├── flags: ∅
+ │ │ │ └── arguments: (length: 1)
+ │ │ │ └── @ CallNode (location: (40,18)-(40,22))
+ │ │ │ ├── flags: variable_call
+ │ │ │ ├── receiver: ∅
+ │ │ │ ├── call_operator_loc: ∅
+ │ │ │ ├── name: :to_s
+ │ │ │ ├── message_loc: (40,18)-(40,22) = "to_s"
+ │ │ │ ├── opening_loc: ∅
+ │ │ │ ├── arguments: ∅
+ │ │ │ ├── closing_loc: ∅
+ │ │ │ └── block: ∅
+ │ │ ├── closing_loc: ∅
+ │ │ └── block: ∅
+ │ └── targets: (length: 1)
+ │ └── @ LocalVariableTargetNode (location: (40,10)-(40,11))
+ │ ├── name: :a
+ │ └── depth: 1
+ ├── opening_loc: (40,4)-(40,5) = "{"
+ └── closing_loc: (40,23)-(40,24) = "}"
diff --git a/test/prism/snapshots/rescue.txt b/test/prism/snapshots/rescue.txt
index 5a79cd7aa4..d8dc8d217f 100644
--- a/test/prism/snapshots/rescue.txt
+++ b/test/prism/snapshots/rescue.txt
@@ -6,6 +6,7 @@
├── @ RescueModifierNode (location: (1,0)-(1,14))
│ ├── expression:
│ │ @ CallNode (location: (1,0)-(1,3))
+ │ │ ├── flags: variable_call
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
│ │ ├── name: :foo
@@ -13,14 +14,14 @@
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
- │ │ ├── block: ∅
- │ │ └── flags: variable_call
+ │ │ └── block: ∅
│ ├── keyword_loc: (1,4)-(1,10) = "rescue"
│ └── rescue_expression:
│ @ NilNode (location: (1,11)-(1,14))
├── @ RescueModifierNode (location: (3,0)-(4,3))
│ ├── expression:
│ │ @ CallNode (location: (3,0)-(3,3))
+ │ │ ├── flags: variable_call
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
│ │ ├── name: :foo
@@ -28,8 +29,7 @@
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
- │ │ ├── block: ∅
- │ │ └── flags: variable_call
+ │ │ └── block: ∅
│ ├── keyword_loc: (3,4)-(3,10) = "rescue"
│ └── rescue_expression:
│ @ NilNode (location: (4,0)-(4,3))
@@ -60,6 +60,7 @@
├── @ RescueModifierNode (location: (12,0)-(12,19))
│ ├── expression:
│ │ @ CallNode (location: (12,0)-(12,3))
+ │ │ ├── flags: variable_call
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
│ │ ├── name: :foo
@@ -67,8 +68,7 @@
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
- │ │ ├── block: ∅
- │ │ └── flags: variable_call
+ │ │ └── block: ∅
│ ├── keyword_loc: (12,4)-(12,10) = "rescue"
│ └── rescue_expression:
│ @ OrNode (location: (12,11)-(12,19))
@@ -81,6 +81,7 @@
├── @ RescueModifierNode (location: (14,0)-(14,22))
│ ├── expression:
│ │ @ CallNode (location: (14,0)-(14,3))
+ │ │ ├── flags: variable_call
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
│ │ ├── name: :foo
@@ -88,8 +89,7 @@
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
- │ │ ├── block: ∅
- │ │ └── flags: variable_call
+ │ │ └── block: ∅
│ ├── keyword_loc: (14,4)-(14,10) = "rescue"
│ └── rescue_expression:
│ @ IfNode (location: (14,11)-(14,22))
@@ -118,6 +118,7 @@
│ │ @ StatementsNode (location: (16,7)-(16,8))
│ │ └── body: (length: 1)
│ │ └── @ CallNode (location: (16,7)-(16,8))
+ │ │ ├── flags: variable_call
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
│ │ ├── name: :a
@@ -125,8 +126,7 @@
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
- │ │ ├── block: ∅
- │ │ └── flags: variable_call
+ │ │ └── block: ∅
│ ├── rescue_clause:
│ │ @ RescueNode (location: (16,10)-(16,19))
│ │ ├── keyword_loc: (16,10)-(16,16) = "rescue"
@@ -135,6 +135,7 @@
│ │ │ ├── operator_loc: (16,17)-(16,18) = "*"
│ │ │ └── expression:
│ │ │ @ CallNode (location: (16,18)-(16,19))
+ │ │ │ ├── flags: variable_call
│ │ │ ├── receiver: ∅
│ │ │ ├── call_operator_loc: ∅
│ │ │ ├── name: :b
@@ -142,8 +143,7 @@
│ │ │ ├── opening_loc: ∅
│ │ │ ├── arguments: ∅
│ │ │ ├── closing_loc: ∅
- │ │ │ ├── block: ∅
- │ │ │ └── flags: variable_call
+ │ │ │ └── block: ∅
│ │ ├── operator_loc: ∅
│ │ ├── reference: ∅
│ │ ├── statements: ∅
@@ -152,6 +152,7 @@
│ ├── ensure_clause: ∅
│ └── end_keyword_loc: (16,21)-(16,24) = "end"
├── @ CallNode (location: (18,0)-(20,3))
+ │ ├── flags: ∅
│ ├── receiver: ∅
│ ├── call_operator_loc: ∅
│ ├── name: :foo
@@ -159,91 +160,90 @@
│ ├── opening_loc: ∅
│ ├── arguments: ∅
│ ├── closing_loc: ∅
- │ ├── block:
- │ │ @ BlockNode (location: (18,4)-(20,3))
- │ │ ├── locals: [:x]
- │ │ ├── locals_body_index: 1
- │ │ ├── parameters:
- │ │ │ @ BlockParametersNode (location: (18,7)-(18,10))
- │ │ │ ├── parameters:
- │ │ │ │ @ ParametersNode (location: (18,8)-(18,9))
- │ │ │ │ ├── requireds: (length: 1)
- │ │ │ │ │ └── @ RequiredParameterNode (location: (18,8)-(18,9))
- │ │ │ │ │ └── name: :x
- │ │ │ │ ├── optionals: (length: 0)
- │ │ │ │ ├── rest: ∅
- │ │ │ │ ├── posts: (length: 0)
- │ │ │ │ ├── keywords: (length: 0)
- │ │ │ │ ├── keyword_rest: ∅
- │ │ │ │ └── block: ∅
- │ │ │ ├── locals: (length: 0)
- │ │ │ ├── opening_loc: (18,7)-(18,8) = "|"
- │ │ │ └── closing_loc: (18,9)-(18,10) = "|"
- │ │ ├── body:
- │ │ │ @ StatementsNode (location: (19,2)-(19,40))
- │ │ │ └── body: (length: 1)
- │ │ │ └── @ RescueModifierNode (location: (19,2)-(19,40))
- │ │ │ ├── expression:
- │ │ │ │ @ CallNode (location: (19,2)-(19,8))
- │ │ │ │ ├── receiver: ∅
- │ │ │ │ ├── call_operator_loc: ∅
- │ │ │ │ ├── name: :bar
- │ │ │ │ ├── message_loc: (19,2)-(19,5) = "bar"
- │ │ │ │ ├── opening_loc: (19,5)-(19,6) = "("
- │ │ │ │ ├── arguments:
- │ │ │ │ │ @ ArgumentsNode (location: (19,6)-(19,7))
- │ │ │ │ │ ├── arguments: (length: 1)
- │ │ │ │ │ │ └── @ CallNode (location: (19,6)-(19,7))
- │ │ │ │ │ │ ├── receiver: ∅
- │ │ │ │ │ │ ├── call_operator_loc: ∅
- │ │ │ │ │ │ ├── name: :y
- │ │ │ │ │ │ ├── message_loc: (19,6)-(19,7) = "y"
- │ │ │ │ │ │ ├── opening_loc: ∅
- │ │ │ │ │ │ ├── arguments: ∅
- │ │ │ │ │ │ ├── closing_loc: ∅
- │ │ │ │ │ │ ├── block: ∅
- │ │ │ │ │ │ └── flags: variable_call
- │ │ │ │ │ └── flags: ∅
- │ │ │ │ ├── closing_loc: (19,7)-(19,8) = ")"
- │ │ │ │ ├── block: ∅
- │ │ │ │ └── flags: ∅
- │ │ │ ├── keyword_loc: (19,9)-(19,15) = "rescue"
- │ │ │ └── rescue_expression:
- │ │ │ @ CallNode (location: (19,16)-(19,40))
- │ │ │ ├── receiver: ∅
- │ │ │ ├── call_operator_loc: ∅
- │ │ │ ├── name: :ArgumentError
- │ │ │ ├── message_loc: (19,16)-(19,29) = "ArgumentError"
- │ │ │ ├── opening_loc: ∅
- │ │ │ ├── arguments:
- │ │ │ │ @ ArgumentsNode (location: (19,30)-(19,40))
- │ │ │ │ ├── arguments: (length: 1)
- │ │ │ │ │ └── @ CallNode (location: (19,30)-(19,40))
- │ │ │ │ │ ├── receiver: ∅
- │ │ │ │ │ ├── call_operator_loc: ∅
- │ │ │ │ │ ├── name: :fail
- │ │ │ │ │ ├── message_loc: (19,30)-(19,34) = "fail"
- │ │ │ │ │ ├── opening_loc: ∅
- │ │ │ │ │ ├── arguments:
- │ │ │ │ │ │ @ ArgumentsNode (location: (19,35)-(19,40))
- │ │ │ │ │ │ ├── arguments: (length: 1)
- │ │ │ │ │ │ │ └── @ StringNode (location: (19,35)-(19,40))
- │ │ │ │ │ │ │ ├── flags: ∅
- │ │ │ │ │ │ │ ├── opening_loc: (19,35)-(19,36) = "\""
- │ │ │ │ │ │ │ ├── content_loc: (19,36)-(19,39) = "baz"
- │ │ │ │ │ │ │ ├── closing_loc: (19,39)-(19,40) = "\""
- │ │ │ │ │ │ │ └── unescaped: "baz"
- │ │ │ │ │ │ └── flags: ∅
- │ │ │ │ │ ├── closing_loc: ∅
- │ │ │ │ │ ├── block: ∅
- │ │ │ │ │ └── flags: ∅
- │ │ │ │ └── flags: ∅
- │ │ │ ├── closing_loc: ∅
- │ │ │ ├── block: ∅
- │ │ │ └── flags: ∅
- │ │ ├── opening_loc: (18,4)-(18,6) = "do"
- │ │ └── closing_loc: (20,0)-(20,3) = "end"
- │ └── flags: ∅
+ │ └── block:
+ │ @ BlockNode (location: (18,4)-(20,3))
+ │ ├── locals: [:x]
+ │ ├── locals_body_index: 1
+ │ ├── parameters:
+ │ │ @ BlockParametersNode (location: (18,7)-(18,10))
+ │ │ ├── parameters:
+ │ │ │ @ ParametersNode (location: (18,8)-(18,9))
+ │ │ │ ├── requireds: (length: 1)
+ │ │ │ │ └── @ RequiredParameterNode (location: (18,8)-(18,9))
+ │ │ │ │ └── name: :x
+ │ │ │ ├── optionals: (length: 0)
+ │ │ │ ├── rest: ∅
+ │ │ │ ├── posts: (length: 0)
+ │ │ │ ├── keywords: (length: 0)
+ │ │ │ ├── keyword_rest: ∅
+ │ │ │ └── block: ∅
+ │ │ ├── locals: (length: 0)
+ │ │ ├── opening_loc: (18,7)-(18,8) = "|"
+ │ │ └── closing_loc: (18,9)-(18,10) = "|"
+ │ ├── body:
+ │ │ @ StatementsNode (location: (19,2)-(19,40))
+ │ │ └── body: (length: 1)
+ │ │ └── @ RescueModifierNode (location: (19,2)-(19,40))
+ │ │ ├── expression:
+ │ │ │ @ CallNode (location: (19,2)-(19,8))
+ │ │ │ ├── flags: ∅
+ │ │ │ ├── receiver: ∅
+ │ │ │ ├── call_operator_loc: ∅
+ │ │ │ ├── name: :bar
+ │ │ │ ├── message_loc: (19,2)-(19,5) = "bar"
+ │ │ │ ├── opening_loc: (19,5)-(19,6) = "("
+ │ │ │ ├── arguments:
+ │ │ │ │ @ ArgumentsNode (location: (19,6)-(19,7))
+ │ │ │ │ ├── flags: ∅
+ │ │ │ │ └── arguments: (length: 1)
+ │ │ │ │ └── @ CallNode (location: (19,6)-(19,7))
+ │ │ │ │ ├── flags: variable_call
+ │ │ │ │ ├── receiver: ∅
+ │ │ │ │ ├── call_operator_loc: ∅
+ │ │ │ │ ├── name: :y
+ │ │ │ │ ├── message_loc: (19,6)-(19,7) = "y"
+ │ │ │ │ ├── opening_loc: ∅
+ │ │ │ │ ├── arguments: ∅
+ │ │ │ │ ├── closing_loc: ∅
+ │ │ │ │ └── block: ∅
+ │ │ │ ├── closing_loc: (19,7)-(19,8) = ")"
+ │ │ │ └── block: ∅
+ │ │ ├── keyword_loc: (19,9)-(19,15) = "rescue"
+ │ │ └── rescue_expression:
+ │ │ @ CallNode (location: (19,16)-(19,40))
+ │ │ ├── flags: ∅
+ │ │ ├── receiver: ∅
+ │ │ ├── call_operator_loc: ∅
+ │ │ ├── name: :ArgumentError
+ │ │ ├── message_loc: (19,16)-(19,29) = "ArgumentError"
+ │ │ ├── opening_loc: ∅
+ │ │ ├── arguments:
+ │ │ │ @ ArgumentsNode (location: (19,30)-(19,40))
+ │ │ │ ├── flags: ∅
+ │ │ │ └── arguments: (length: 1)
+ │ │ │ └── @ CallNode (location: (19,30)-(19,40))
+ │ │ │ ├── flags: ∅
+ │ │ │ ├── receiver: ∅
+ │ │ │ ├── call_operator_loc: ∅
+ │ │ │ ├── name: :fail
+ │ │ │ ├── message_loc: (19,30)-(19,34) = "fail"
+ │ │ │ ├── opening_loc: ∅
+ │ │ │ ├── arguments:
+ │ │ │ │ @ ArgumentsNode (location: (19,35)-(19,40))
+ │ │ │ │ ├── flags: ∅
+ │ │ │ │ └── arguments: (length: 1)
+ │ │ │ │ └── @ StringNode (location: (19,35)-(19,40))
+ │ │ │ │ ├── flags: ∅
+ │ │ │ │ ├── opening_loc: (19,35)-(19,36) = "\""
+ │ │ │ │ ├── content_loc: (19,36)-(19,39) = "baz"
+ │ │ │ │ ├── closing_loc: (19,39)-(19,40) = "\""
+ │ │ │ │ └── unescaped: "baz"
+ │ │ │ ├── closing_loc: ∅
+ │ │ │ └── block: ∅
+ │ │ ├── closing_loc: ∅
+ │ │ └── block: ∅
+ │ ├── opening_loc: (18,4)-(18,6) = "do"
+ │ └── closing_loc: (20,0)-(20,3) = "end"
├── @ IfNode (location: (22,0)-(24,3))
│ ├── if_keyword_loc: (22,0)-(22,2) = "if"
│ ├── predicate:
@@ -255,6 +255,7 @@
│ │ │ @ RescueModifierNode (location: (22,7)-(22,21))
│ │ │ ├── expression:
│ │ │ │ @ CallNode (location: (22,7)-(22,10))
+ │ │ │ │ ├── flags: variable_call
│ │ │ │ ├── receiver: ∅
│ │ │ │ ├── call_operator_loc: ∅
│ │ │ │ ├── name: :foo
@@ -262,8 +263,7 @@
│ │ │ │ ├── opening_loc: ∅
│ │ │ │ ├── arguments: ∅
│ │ │ │ ├── closing_loc: ∅
- │ │ │ │ ├── block: ∅
- │ │ │ │ └── flags: variable_call
+ │ │ │ │ └── block: ∅
│ │ │ ├── keyword_loc: (22,11)-(22,17) = "rescue"
│ │ │ └── rescue_expression:
│ │ │ @ NilNode (location: (22,18)-(22,21))
@@ -273,6 +273,7 @@
│ │ @ StatementsNode (location: (23,2)-(23,5))
│ │ └── body: (length: 1)
│ │ └── @ CallNode (location: (23,2)-(23,5))
+ │ │ ├── flags: variable_call
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
│ │ ├── name: :bar
@@ -280,8 +281,7 @@
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
- │ │ ├── block: ∅
- │ │ └── flags: variable_call
+ │ │ └── block: ∅
│ ├── consequent: ∅
│ └── end_keyword_loc: (24,0)-(24,3) = "end"
├── @ DefNode (location: (26,0)-(26,44))
@@ -295,6 +295,7 @@
│ │ └── @ RescueModifierNode (location: (26,18)-(26,44))
│ │ ├── expression:
│ │ │ @ CallNode (location: (26,18)-(26,33))
+ │ │ │ ├── flags: ∅
│ │ │ ├── receiver: ∅
│ │ │ ├── call_operator_loc: ∅
│ │ │ ├── name: :other_method
@@ -302,13 +303,12 @@
│ │ │ ├── opening_loc: ∅
│ │ │ ├── arguments:
│ │ │ │ @ ArgumentsNode (location: (26,31)-(26,33))
- │ │ │ │ ├── arguments: (length: 1)
- │ │ │ │ │ └── @ IntegerNode (location: (26,31)-(26,33))
- │ │ │ │ │ └── flags: decimal
- │ │ │ │ └── flags: ∅
+ │ │ │ │ ├── flags: ∅
+ │ │ │ │ └── arguments: (length: 1)
+ │ │ │ │ └── @ IntegerNode (location: (26,31)-(26,33))
+ │ │ │ │ └── flags: decimal
│ │ │ ├── closing_loc: ∅
- │ │ │ ├── block: ∅
- │ │ │ └── flags: ∅
+ │ │ │ └── block: ∅
│ │ ├── keyword_loc: (26,34)-(26,40) = "rescue"
│ │ └── rescue_expression:
│ │ @ NilNode (location: (26,41)-(26,44))
@@ -332,6 +332,7 @@
│ │ @ StatementsNode (location: (29,2)-(29,6))
│ │ └── body: (length: 1)
│ │ └── @ CallNode (location: (29,2)-(29,6))
+ │ │ ├── flags: ∅
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
│ │ ├── name: :a
@@ -339,34 +340,33 @@
│ │ ├── opening_loc: ∅
│ │ ├── arguments:
│ │ │ @ ArgumentsNode (location: (29,4)-(29,6))
- │ │ │ ├── arguments: (length: 1)
- │ │ │ │ └── @ KeywordHashNode (location: (29,4)-(29,6))
- │ │ │ │ └── elements: (length: 1)
- │ │ │ │ └── @ AssocNode (location: (29,4)-(29,6))
- │ │ │ │ ├── key:
- │ │ │ │ │ @ SymbolNode (location: (29,4)-(29,6))
- │ │ │ │ │ ├── opening_loc: ∅
- │ │ │ │ │ ├── value_loc: (29,4)-(29,5) = "b"
- │ │ │ │ │ ├── closing_loc: (29,5)-(29,6) = ":"
- │ │ │ │ │ └── unescaped: "b"
- │ │ │ │ ├── value:
- │ │ │ │ │ @ ImplicitNode (location: (29,4)-(29,6))
- │ │ │ │ │ └── value:
- │ │ │ │ │ @ CallNode (location: (29,4)-(29,6))
- │ │ │ │ │ ├── receiver: ∅
- │ │ │ │ │ ├── call_operator_loc: ∅
- │ │ │ │ │ ├── name: :b
- │ │ │ │ │ ├── message_loc: (29,4)-(29,5) = "b"
- │ │ │ │ │ ├── opening_loc: ∅
- │ │ │ │ │ ├── arguments: ∅
- │ │ │ │ │ ├── closing_loc: ∅
- │ │ │ │ │ ├── block: ∅
- │ │ │ │ │ └── flags: ∅
- │ │ │ │ └── operator_loc: ∅
- │ │ │ └── flags: ∅
+ │ │ │ ├── flags: ∅
+ │ │ │ └── arguments: (length: 1)
+ │ │ │ └── @ KeywordHashNode (location: (29,4)-(29,6))
+ │ │ │ └── elements: (length: 1)
+ │ │ │ └── @ AssocNode (location: (29,4)-(29,6))
+ │ │ │ ├── key:
+ │ │ │ │ @ SymbolNode (location: (29,4)-(29,6))
+ │ │ │ │ ├── opening_loc: ∅
+ │ │ │ │ ├── value_loc: (29,4)-(29,5) = "b"
+ │ │ │ │ ├── closing_loc: (29,5)-(29,6) = ":"
+ │ │ │ │ └── unescaped: "b"
+ │ │ │ ├── value:
+ │ │ │ │ @ ImplicitNode (location: (29,4)-(29,6))
+ │ │ │ │ └── value:
+ │ │ │ │ @ CallNode (location: (29,4)-(29,6))
+ │ │ │ │ ├── flags: ∅
+ │ │ │ │ ├── receiver: ∅
+ │ │ │ │ ├── call_operator_loc: ∅
+ │ │ │ │ ├── name: :b
+ │ │ │ │ ├── message_loc: (29,4)-(29,5) = "b"
+ │ │ │ │ ├── opening_loc: ∅
+ │ │ │ │ ├── arguments: ∅
+ │ │ │ │ ├── closing_loc: ∅
+ │ │ │ │ └── block: ∅
+ │ │ │ └── operator_loc: ∅
│ │ ├── closing_loc: ∅
- │ │ ├── block: ∅
- │ │ └── flags: ∅
+ │ │ └── block: ∅
│ ├── rescue_clause:
│ │ @ RescueNode (location: (30,0)-(30,6))
│ │ ├── keyword_loc: (30,0)-(30,6) = "rescue"
diff --git a/test/prism/snapshots/return.txt b/test/prism/snapshots/return.txt
index 455494323e..647ae1af9d 100644
--- a/test/prism/snapshots/return.txt
+++ b/test/prism/snapshots/return.txt
@@ -10,129 +10,129 @@
│ ├── keyword_loc: (3,0)-(3,6) = "return"
│ └── arguments:
│ @ ArgumentsNode (location: (3,7)-(3,20))
- │ ├── arguments: (length: 3)
- │ │ ├── @ ParenthesesNode (location: (3,7)-(3,10))
- │ │ │ ├── body:
- │ │ │ │ @ StatementsNode (location: (3,8)-(3,9))
- │ │ │ │ └── body: (length: 1)
- │ │ │ │ └── @ IntegerNode (location: (3,8)-(3,9))
- │ │ │ │ └── flags: decimal
- │ │ │ ├── opening_loc: (3,7)-(3,8) = "("
- │ │ │ └── closing_loc: (3,9)-(3,10) = ")"
- │ │ ├── @ ParenthesesNode (location: (3,12)-(3,15))
- │ │ │ ├── body:
- │ │ │ │ @ StatementsNode (location: (3,13)-(3,14))
- │ │ │ │ └── body: (length: 1)
- │ │ │ │ └── @ IntegerNode (location: (3,13)-(3,14))
- │ │ │ │ └── flags: decimal
- │ │ │ ├── opening_loc: (3,12)-(3,13) = "("
- │ │ │ └── closing_loc: (3,14)-(3,15) = ")"
- │ │ └── @ ParenthesesNode (location: (3,17)-(3,20))
- │ │ ├── body:
- │ │ │ @ StatementsNode (location: (3,18)-(3,19))
- │ │ │ └── body: (length: 1)
- │ │ │ └── @ IntegerNode (location: (3,18)-(3,19))
- │ │ │ └── flags: decimal
- │ │ ├── opening_loc: (3,17)-(3,18) = "("
- │ │ └── closing_loc: (3,19)-(3,20) = ")"
- │ └── flags: ∅
+ │ ├── flags: ∅
+ │ └── arguments: (length: 3)
+ │ ├── @ ParenthesesNode (location: (3,7)-(3,10))
+ │ │ ├── body:
+ │ │ │ @ StatementsNode (location: (3,8)-(3,9))
+ │ │ │ └── body: (length: 1)
+ │ │ │ └── @ IntegerNode (location: (3,8)-(3,9))
+ │ │ │ └── flags: decimal
+ │ │ ├── opening_loc: (3,7)-(3,8) = "("
+ │ │ └── closing_loc: (3,9)-(3,10) = ")"
+ │ ├── @ ParenthesesNode (location: (3,12)-(3,15))
+ │ │ ├── body:
+ │ │ │ @ StatementsNode (location: (3,13)-(3,14))
+ │ │ │ └── body: (length: 1)
+ │ │ │ └── @ IntegerNode (location: (3,13)-(3,14))
+ │ │ │ └── flags: decimal
+ │ │ ├── opening_loc: (3,12)-(3,13) = "("
+ │ │ └── closing_loc: (3,14)-(3,15) = ")"
+ │ └── @ ParenthesesNode (location: (3,17)-(3,20))
+ │ ├── body:
+ │ │ @ StatementsNode (location: (3,18)-(3,19))
+ │ │ └── body: (length: 1)
+ │ │ └── @ IntegerNode (location: (3,18)-(3,19))
+ │ │ └── flags: decimal
+ │ ├── opening_loc: (3,17)-(3,18) = "("
+ │ └── closing_loc: (3,19)-(3,20) = ")"
├── @ ReturnNode (location: (5,0)-(5,9))
│ ├── keyword_loc: (5,0)-(5,6) = "return"
│ └── arguments:
│ @ ArgumentsNode (location: (5,7)-(5,9))
- │ ├── arguments: (length: 1)
- │ │ └── @ SplatNode (location: (5,7)-(5,9))
- │ │ ├── operator_loc: (5,7)-(5,8) = "*"
- │ │ └── expression:
- │ │ @ IntegerNode (location: (5,8)-(5,9))
- │ │ └── flags: decimal
- │ └── flags: ∅
+ │ ├── flags: ∅
+ │ └── arguments: (length: 1)
+ │ └── @ SplatNode (location: (5,7)-(5,9))
+ │ ├── operator_loc: (5,7)-(5,8) = "*"
+ │ └── expression:
+ │ @ IntegerNode (location: (5,8)-(5,9))
+ │ └── flags: decimal
├── @ ReturnNode (location: (7,0)-(7,8))
│ ├── keyword_loc: (7,0)-(7,6) = "return"
│ └── arguments:
│ @ ArgumentsNode (location: (7,7)-(7,8))
- │ ├── arguments: (length: 1)
- │ │ └── @ IntegerNode (location: (7,7)-(7,8))
- │ │ └── flags: decimal
- │ └── flags: ∅
+ │ ├── flags: ∅
+ │ └── arguments: (length: 1)
+ │ └── @ IntegerNode (location: (7,7)-(7,8))
+ │ └── flags: decimal
├── @ ReturnNode (location: (9,0)-(10,1))
│ ├── keyword_loc: (9,0)-(9,6) = "return"
│ └── arguments:
│ @ ArgumentsNode (location: (9,7)-(10,1))
- │ ├── arguments: (length: 3)
- │ │ ├── @ IntegerNode (location: (9,7)-(9,8))
- │ │ │ └── flags: decimal
- │ │ ├── @ IntegerNode (location: (9,10)-(9,11))
- │ │ │ └── flags: decimal
- │ │ └── @ IntegerNode (location: (10,0)-(10,1))
- │ │ └── flags: decimal
- │ └── flags: ∅
+ │ ├── flags: ∅
+ │ └── arguments: (length: 3)
+ │ ├── @ IntegerNode (location: (9,7)-(9,8))
+ │ │ └── flags: decimal
+ │ ├── @ IntegerNode (location: (9,10)-(9,11))
+ │ │ └── flags: decimal
+ │ └── @ IntegerNode (location: (10,0)-(10,1))
+ │ └── flags: decimal
├── @ ReturnNode (location: (12,0)-(12,14))
│ ├── keyword_loc: (12,0)-(12,6) = "return"
│ └── arguments:
│ @ ArgumentsNode (location: (12,7)-(12,14))
- │ ├── arguments: (length: 3)
- │ │ ├── @ IntegerNode (location: (12,7)-(12,8))
- │ │ │ └── flags: decimal
- │ │ ├── @ IntegerNode (location: (12,10)-(12,11))
- │ │ │ └── flags: decimal
- │ │ └── @ IntegerNode (location: (12,13)-(12,14))
- │ │ └── flags: decimal
- │ └── flags: ∅
+ │ ├── flags: ∅
+ │ └── arguments: (length: 3)
+ │ ├── @ IntegerNode (location: (12,7)-(12,8))
+ │ │ └── flags: decimal
+ │ ├── @ IntegerNode (location: (12,10)-(12,11))
+ │ │ └── flags: decimal
+ │ └── @ IntegerNode (location: (12,13)-(12,14))
+ │ └── flags: decimal
├── @ ReturnNode (location: (14,0)-(14,16))
│ ├── keyword_loc: (14,0)-(14,6) = "return"
│ └── arguments:
│ @ ArgumentsNode (location: (14,7)-(14,16))
- │ ├── arguments: (length: 1)
- │ │ └── @ ArrayNode (location: (14,7)-(14,16))
- │ │ ├── elements: (length: 3)
- │ │ │ ├── @ IntegerNode (location: (14,8)-(14,9))
- │ │ │ │ └── flags: decimal
- │ │ │ ├── @ IntegerNode (location: (14,11)-(14,12))
- │ │ │ │ └── flags: decimal
- │ │ │ └── @ IntegerNode (location: (14,14)-(14,15))
- │ │ │ └── flags: decimal
- │ │ ├── opening_loc: (14,7)-(14,8) = "["
- │ │ ├── closing_loc: (14,15)-(14,16) = "]"
- │ │ └── flags: ∅
- │ └── flags: ∅
+ │ ├── flags: ∅
+ │ └── arguments: (length: 1)
+ │ └── @ ArrayNode (location: (14,7)-(14,16))
+ │ ├── flags: ∅
+ │ ├── elements: (length: 3)
+ │ │ ├── @ IntegerNode (location: (14,8)-(14,9))
+ │ │ │ └── flags: decimal
+ │ │ ├── @ IntegerNode (location: (14,11)-(14,12))
+ │ │ │ └── flags: decimal
+ │ │ └── @ IntegerNode (location: (14,14)-(14,15))
+ │ │ └── flags: decimal
+ │ ├── opening_loc: (14,7)-(14,8) = "["
+ │ └── closing_loc: (14,15)-(14,16) = "]"
├── @ ReturnNode (location: (16,0)-(19,1))
│ ├── keyword_loc: (16,0)-(16,6) = "return"
│ └── arguments:
│ @ ArgumentsNode (location: (16,6)-(19,1))
- │ ├── arguments: (length: 1)
- │ │ └── @ ParenthesesNode (location: (16,6)-(19,1))
- │ │ ├── body:
- │ │ │ @ StatementsNode (location: (17,2)-(18,3))
- │ │ │ └── body: (length: 2)
- │ │ │ ├── @ IntegerNode (location: (17,2)-(17,3))
- │ │ │ │ └── flags: decimal
- │ │ │ └── @ IntegerNode (location: (18,2)-(18,3))
- │ │ │ └── flags: decimal
- │ │ ├── opening_loc: (16,6)-(16,7) = "("
- │ │ └── closing_loc: (19,0)-(19,1) = ")"
- │ └── flags: ∅
+ │ ├── flags: ∅
+ │ └── arguments: (length: 1)
+ │ └── @ ParenthesesNode (location: (16,6)-(19,1))
+ │ ├── body:
+ │ │ @ StatementsNode (location: (17,2)-(18,3))
+ │ │ └── body: (length: 2)
+ │ │ ├── @ IntegerNode (location: (17,2)-(17,3))
+ │ │ │ └── flags: decimal
+ │ │ └── @ IntegerNode (location: (18,2)-(18,3))
+ │ │ └── flags: decimal
+ │ ├── opening_loc: (16,6)-(16,7) = "("
+ │ └── closing_loc: (19,0)-(19,1) = ")"
├── @ ReturnNode (location: (21,0)-(21,8))
│ ├── keyword_loc: (21,0)-(21,6) = "return"
│ └── arguments:
│ @ ArgumentsNode (location: (21,6)-(21,8))
- │ ├── arguments: (length: 1)
- │ │ └── @ ParenthesesNode (location: (21,6)-(21,8))
- │ │ ├── body: ∅
- │ │ ├── opening_loc: (21,6)-(21,7) = "("
- │ │ └── closing_loc: (21,7)-(21,8) = ")"
- │ └── flags: ∅
+ │ ├── flags: ∅
+ │ └── arguments: (length: 1)
+ │ └── @ ParenthesesNode (location: (21,6)-(21,8))
+ │ ├── body: ∅
+ │ ├── opening_loc: (21,6)-(21,7) = "("
+ │ └── closing_loc: (21,7)-(21,8) = ")"
└── @ ReturnNode (location: (23,0)-(23,9))
├── keyword_loc: (23,0)-(23,6) = "return"
└── arguments:
@ ArgumentsNode (location: (23,6)-(23,9))
- ├── arguments: (length: 1)
- │ └── @ ParenthesesNode (location: (23,6)-(23,9))
- │ ├── body:
- │ │ @ StatementsNode (location: (23,7)-(23,8))
- │ │ └── body: (length: 1)
- │ │ └── @ IntegerNode (location: (23,7)-(23,8))
- │ │ └── flags: decimal
- │ ├── opening_loc: (23,6)-(23,7) = "("
- │ └── closing_loc: (23,8)-(23,9) = ")"
- └── flags: ∅
+ ├── flags: ∅
+ └── arguments: (length: 1)
+ └── @ ParenthesesNode (location: (23,6)-(23,9))
+ ├── body:
+ │ @ StatementsNode (location: (23,7)-(23,8))
+ │ └── body: (length: 1)
+ │ └── @ IntegerNode (location: (23,7)-(23,8))
+ │ └── flags: decimal
+ ├── opening_loc: (23,6)-(23,7) = "("
+ └── closing_loc: (23,8)-(23,9) = ")"
diff --git a/test/prism/snapshots/seattlerb/TestRubyParserShared.txt b/test/prism/snapshots/seattlerb/TestRubyParserShared.txt
index 56e892bc89..5b8731c191 100644
--- a/test/prism/snapshots/seattlerb/TestRubyParserShared.txt
+++ b/test/prism/snapshots/seattlerb/TestRubyParserShared.txt
@@ -4,11 +4,12 @@
@ StatementsNode (location: (1,0)-(92,1))
└── body: (length: 16)
├── @ ArrayNode (location: (1,0)-(4,1))
+ │ ├── flags: ∅
│ ├── elements: (length: 0)
│ ├── opening_loc: (1,0)-(1,3) = "%I["
- │ ├── closing_loc: (4,0)-(4,1) = "]"
- │ └── flags: ∅
+ │ └── closing_loc: (4,0)-(4,1) = "]"
├── @ ArrayNode (location: (6,0)-(9,1))
+ │ ├── flags: ∅
│ ├── elements: (length: 2)
│ │ ├── @ SymbolNode (location: (7,0)-(7,5))
│ │ │ ├── opening_loc: ∅
@@ -21,14 +22,14 @@
│ │ ├── closing_loc: ∅
│ │ └── unescaped: "line3"
│ ├── opening_loc: (6,0)-(6,3) = "%I["
- │ ├── closing_loc: (9,0)-(9,1) = "]"
- │ └── flags: ∅
+ │ └── closing_loc: (9,0)-(9,1) = "]"
├── @ ArrayNode (location: (11,0)-(14,1))
+ │ ├── flags: ∅
│ ├── elements: (length: 0)
│ ├── opening_loc: (11,0)-(11,3) = "%W["
- │ ├── closing_loc: (14,0)-(14,1) = "]"
- │ └── flags: ∅
+ │ └── closing_loc: (14,0)-(14,1) = "]"
├── @ ArrayNode (location: (16,0)-(19,1))
+ │ ├── flags: ∅
│ ├── elements: (length: 2)
│ │ ├── @ StringNode (location: (17,0)-(17,5))
│ │ │ ├── flags: ∅
@@ -43,14 +44,14 @@
│ │ ├── closing_loc: ∅
│ │ └── unescaped: "line3"
│ ├── opening_loc: (16,0)-(16,3) = "%W["
- │ ├── closing_loc: (19,0)-(19,1) = "]"
- │ └── flags: ∅
+ │ └── closing_loc: (19,0)-(19,1) = "]"
├── @ ArrayNode (location: (21,0)-(24,1))
+ │ ├── flags: ∅
│ ├── elements: (length: 0)
│ ├── opening_loc: (21,0)-(21,3) = "%i["
- │ ├── closing_loc: (24,0)-(24,1) = "]"
- │ └── flags: ∅
+ │ └── closing_loc: (24,0)-(24,1) = "]"
├── @ ArrayNode (location: (26,0)-(29,1))
+ │ ├── flags: ∅
│ ├── elements: (length: 2)
│ │ ├── @ SymbolNode (location: (27,0)-(27,5))
│ │ │ ├── opening_loc: ∅
@@ -63,20 +64,20 @@
│ │ ├── closing_loc: ∅
│ │ └── unescaped: "line3"
│ ├── opening_loc: (26,0)-(26,3) = "%i["
- │ ├── closing_loc: (29,0)-(29,1) = "]"
- │ └── flags: ∅
+ │ └── closing_loc: (29,0)-(29,1) = "]"
├── @ RegularExpressionNode (location: (31,0)-(34,1))
+ │ ├── flags: ∅
│ ├── opening_loc: (31,0)-(31,3) = "%r["
│ ├── content_loc: (31,3)-(34,0) = "\n\n\n"
│ ├── closing_loc: (34,0)-(34,1) = "]"
- │ ├── unescaped: "\n\n\n"
- │ └── flags: ∅
+ │ └── unescaped: "\n\n\n"
├── @ ArrayNode (location: (36,0)-(39,1))
+ │ ├── flags: ∅
│ ├── elements: (length: 0)
│ ├── opening_loc: (36,0)-(36,3) = "%w["
- │ ├── closing_loc: (39,0)-(39,1) = "]"
- │ └── flags: ∅
+ │ └── closing_loc: (39,0)-(39,1) = "]"
├── @ ArrayNode (location: (41,0)-(44,1))
+ │ ├── flags: ∅
│ ├── elements: (length: 2)
│ │ ├── @ StringNode (location: (42,0)-(42,5))
│ │ │ ├── flags: ∅
@@ -91,9 +92,9 @@
│ │ ├── closing_loc: ∅
│ │ └── unescaped: "line3"
│ ├── opening_loc: (41,0)-(41,3) = "%w["
- │ ├── closing_loc: (44,0)-(44,1) = "]"
- │ └── flags: ∅
+ │ └── closing_loc: (44,0)-(44,1) = "]"
├── @ ArrayNode (location: (46,0)-(49,1))
+ │ ├── flags: ∅
│ ├── elements: (length: 2)
│ │ ├── @ SymbolNode (location: (47,0)-(47,6))
│ │ │ ├── opening_loc: (47,0)-(47,1) = ":"
@@ -106,8 +107,7 @@
│ │ ├── closing_loc: ∅
│ │ └── unescaped: "line3"
│ ├── opening_loc: (46,0)-(46,1) = "["
- │ ├── closing_loc: (49,0)-(49,1) = "]"
- │ └── flags: ∅
+ │ └── closing_loc: (49,0)-(49,1) = "]"
├── @ ClassNode (location: (51,0)-(56,3))
│ ├── locals: []
│ ├── class_keyword_loc: (51,0)-(51,5) = "class"
@@ -141,6 +141,7 @@
│ │ │ @ StatementsNode (location: (54,4)-(54,9))
│ │ │ └── body: (length: 1)
│ │ │ └── @ CallNode (location: (54,4)-(54,9))
+ │ │ │ ├── flags: ∅
│ │ │ ├── receiver:
│ │ │ │ @ LocalVariableReadNode (location: (54,4)-(54,5))
│ │ │ │ ├── name: :a
@@ -151,14 +152,13 @@
│ │ │ ├── opening_loc: ∅
│ │ │ ├── arguments:
│ │ │ │ @ ArgumentsNode (location: (54,8)-(54,9))
- │ │ │ │ ├── arguments: (length: 1)
- │ │ │ │ │ └── @ LocalVariableReadNode (location: (54,8)-(54,9))
- │ │ │ │ │ ├── name: :b
- │ │ │ │ │ └── depth: 0
- │ │ │ │ └── flags: ∅
+ │ │ │ │ ├── flags: ∅
+ │ │ │ │ └── arguments: (length: 1)
+ │ │ │ │ └── @ LocalVariableReadNode (location: (54,8)-(54,9))
+ │ │ │ │ ├── name: :b
+ │ │ │ │ └── depth: 0
│ │ │ ├── closing_loc: ∅
- │ │ │ ├── block: ∅
- │ │ │ └── flags: ∅
+ │ │ │ └── block: ∅
│ │ ├── locals: [:a, :b]
│ │ ├── locals_body_index: 2
│ │ ├── def_keyword_loc: (52,2)-(52,5) = "def"
@@ -234,6 +234,7 @@
│ │ │ @ StatementsNode (location: (69,4)-(69,9))
│ │ │ └── body: (length: 1)
│ │ │ └── @ CallNode (location: (69,4)-(69,9))
+ │ │ │ ├── flags: ∅
│ │ │ ├── receiver:
│ │ │ │ @ LocalVariableReadNode (location: (69,4)-(69,5))
│ │ │ │ ├── name: :a
@@ -244,14 +245,13 @@
│ │ │ ├── opening_loc: ∅
│ │ │ ├── arguments:
│ │ │ │ @ ArgumentsNode (location: (69,8)-(69,9))
- │ │ │ │ ├── arguments: (length: 1)
- │ │ │ │ │ └── @ LocalVariableReadNode (location: (69,8)-(69,9))
- │ │ │ │ │ ├── name: :b
- │ │ │ │ │ └── depth: 0
- │ │ │ │ └── flags: ∅
+ │ │ │ │ ├── flags: ∅
+ │ │ │ │ └── arguments: (length: 1)
+ │ │ │ │ └── @ LocalVariableReadNode (location: (69,8)-(69,9))
+ │ │ │ │ ├── name: :b
+ │ │ │ │ └── depth: 0
│ │ │ ├── closing_loc: ∅
- │ │ │ ├── block: ∅
- │ │ │ └── flags: ∅
+ │ │ │ └── block: ∅
│ │ ├── locals: [:a, :b]
│ │ ├── locals_body_index: 2
│ │ ├── def_keyword_loc: (67,2)-(67,5) = "def"
@@ -276,6 +276,7 @@
│ │ ├── name_loc: (75,2)-(75,3) = "X"
│ │ ├── value:
│ │ │ @ ArrayNode (location: (75,6)-(78,3))
+ │ │ │ ├── flags: ∅
│ │ │ ├── elements: (length: 2)
│ │ │ │ ├── @ SymbolNode (location: (76,4)-(76,10))
│ │ │ │ │ ├── opening_loc: (76,4)-(76,5) = ":"
@@ -288,8 +289,7 @@
│ │ │ │ ├── closing_loc: ∅
│ │ │ │ └── unescaped: "line4"
│ │ │ ├── opening_loc: (75,6)-(75,7) = "["
- │ │ │ ├── closing_loc: (78,2)-(78,3) = "]"
- │ │ │ └── flags: ∅
+ │ │ │ └── closing_loc: (78,2)-(78,3) = "]"
│ │ └── operator_loc: (75,4)-(75,5) = "="
│ ├── end_keyword_loc: (79,0)-(79,3) = "end"
│ └── name: :X
@@ -323,6 +323,7 @@
│ ├── end_keyword_loc: (86,0)-(86,3) = "end"
│ └── name: :X
└── @ CallNode (location: (89,0)-(92,1))
+ ├── flags: ∅
├── receiver: ∅
├── call_operator_loc: ∅
├── name: :x
@@ -330,18 +331,17 @@
├── opening_loc: (89,1)-(89,2) = "("
├── arguments:
│ @ ArgumentsNode (location: (90,0)-(91,6))
- │ ├── arguments: (length: 2)
- │ │ ├── @ SymbolNode (location: (90,0)-(90,6))
- │ │ │ ├── opening_loc: (90,0)-(90,1) = ":"
- │ │ │ ├── value_loc: (90,1)-(90,6) = "line2"
- │ │ │ ├── closing_loc: ∅
- │ │ │ └── unescaped: "line2"
- │ │ └── @ SymbolNode (location: (91,0)-(91,6))
- │ │ ├── opening_loc: (91,0)-(91,1) = ":"
- │ │ ├── value_loc: (91,1)-(91,6) = "line3"
- │ │ ├── closing_loc: ∅
- │ │ └── unescaped: "line3"
- │ └── flags: ∅
+ │ ├── flags: ∅
+ │ └── arguments: (length: 2)
+ │ ├── @ SymbolNode (location: (90,0)-(90,6))
+ │ │ ├── opening_loc: (90,0)-(90,1) = ":"
+ │ │ ├── value_loc: (90,1)-(90,6) = "line2"
+ │ │ ├── closing_loc: ∅
+ │ │ └── unescaped: "line2"
+ │ └── @ SymbolNode (location: (91,0)-(91,6))
+ │ ├── opening_loc: (91,0)-(91,1) = ":"
+ │ ├── value_loc: (91,1)-(91,6) = "line3"
+ │ ├── closing_loc: ∅
+ │ └── unescaped: "line3"
├── closing_loc: (92,0)-(92,1) = ")"
- ├── block: ∅
- └── flags: ∅
+ └── block: ∅
diff --git a/test/prism/snapshots/seattlerb/and_multi.txt b/test/prism/snapshots/seattlerb/and_multi.txt
index ab73ffd076..b60b131fd2 100644
--- a/test/prism/snapshots/seattlerb/and_multi.txt
+++ b/test/prism/snapshots/seattlerb/and_multi.txt
@@ -10,6 +10,7 @@
│ │ @ TrueNode (location: (1,0)-(1,4))
│ ├── right:
│ │ @ CallNode (location: (2,0)-(2,9))
+ │ │ ├── flags: ∅
│ │ ├── receiver:
│ │ │ @ FalseNode (location: (2,4)-(2,9))
│ │ ├── call_operator_loc: ∅
@@ -18,8 +19,7 @@
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
- │ │ ├── block: ∅
- │ │ └── flags: ∅
+ │ │ └── block: ∅
│ └── operator_loc: (1,5)-(1,8) = "and"
├── right:
│ @ TrueNode (location: (3,0)-(3,4))
diff --git a/test/prism/snapshots/seattlerb/aref_args_assocs.txt b/test/prism/snapshots/seattlerb/aref_args_assocs.txt
index 79381cd827..b7f0446980 100644
--- a/test/prism/snapshots/seattlerb/aref_args_assocs.txt
+++ b/test/prism/snapshots/seattlerb/aref_args_assocs.txt
@@ -4,6 +4,7 @@
@ StatementsNode (location: (1,0)-(1,8))
└── body: (length: 1)
└── @ ArrayNode (location: (1,0)-(1,8))
+ ├── flags: ∅
├── elements: (length: 1)
│ └── @ KeywordHashNode (location: (1,1)-(1,7))
│ └── elements: (length: 1)
@@ -16,5 +17,4 @@
│ │ └── flags: decimal
│ └── operator_loc: (1,3)-(1,5) = "=>"
├── opening_loc: (1,0)-(1,1) = "["
- ├── closing_loc: (1,7)-(1,8) = "]"
- └── flags: ∅
+ └── closing_loc: (1,7)-(1,8) = "]"
diff --git a/test/prism/snapshots/seattlerb/aref_args_lit_assocs.txt b/test/prism/snapshots/seattlerb/aref_args_lit_assocs.txt
index c2dd80997f..8573d1d7b7 100644
--- a/test/prism/snapshots/seattlerb/aref_args_lit_assocs.txt
+++ b/test/prism/snapshots/seattlerb/aref_args_lit_assocs.txt
@@ -4,6 +4,7 @@
@ StatementsNode (location: (1,0)-(1,11))
└── body: (length: 1)
└── @ ArrayNode (location: (1,0)-(1,11))
+ ├── flags: ∅
├── elements: (length: 2)
│ ├── @ IntegerNode (location: (1,1)-(1,2))
│ │ └── flags: decimal
@@ -18,5 +19,4 @@
│ │ └── flags: decimal
│ └── operator_loc: (1,6)-(1,8) = "=>"
├── opening_loc: (1,0)-(1,1) = "["
- ├── closing_loc: (1,10)-(1,11) = "]"
- └── flags: ∅
+ └── closing_loc: (1,10)-(1,11) = "]"
diff --git a/test/prism/snapshots/seattlerb/array_line_breaks.txt b/test/prism/snapshots/seattlerb/array_line_breaks.txt
index 9008feb483..a08ee03052 100644
--- a/test/prism/snapshots/seattlerb/array_line_breaks.txt
+++ b/test/prism/snapshots/seattlerb/array_line_breaks.txt
@@ -4,6 +4,7 @@
@ StatementsNode (location: (1,0)-(4,1))
└── body: (length: 2)
├── @ ArrayNode (location: (1,0)-(3,4))
+ │ ├── flags: ∅
│ ├── elements: (length: 2)
│ │ ├── @ StringNode (location: (2,0)-(2,3))
│ │ │ ├── flags: ∅
@@ -18,7 +19,6 @@
│ │ ├── closing_loc: (3,2)-(3,3) = "'"
│ │ └── unescaped: "b"
│ ├── opening_loc: (1,0)-(1,1) = "["
- │ ├── closing_loc: (3,3)-(3,4) = "]"
- │ └── flags: ∅
+ │ └── closing_loc: (3,3)-(3,4) = "]"
└── @ IntegerNode (location: (4,0)-(4,1))
└── flags: decimal
diff --git a/test/prism/snapshots/seattlerb/array_lits_trailing_calls.txt b/test/prism/snapshots/seattlerb/array_lits_trailing_calls.txt
index f67eb1fc16..d46a181fc7 100644
--- a/test/prism/snapshots/seattlerb/array_lits_trailing_calls.txt
+++ b/test/prism/snapshots/seattlerb/array_lits_trailing_calls.txt
@@ -4,32 +4,32 @@
@ StatementsNode (location: (1,0)-(3,4))
└── body: (length: 2)
├── @ CallNode (location: (1,0)-(1,6))
+ │ ├── flags: ∅
│ ├── receiver:
│ │ @ ArrayNode (location: (1,0)-(1,4))
+ │ │ ├── flags: ∅
│ │ ├── elements: (length: 0)
│ │ ├── opening_loc: (1,0)-(1,3) = "%w["
- │ │ ├── closing_loc: (1,3)-(1,4) = "]"
- │ │ └── flags: ∅
+ │ │ └── closing_loc: (1,3)-(1,4) = "]"
│ ├── call_operator_loc: (1,4)-(1,5) = "."
│ ├── name: :b
│ ├── message_loc: (1,5)-(1,6) = "b"
│ ├── opening_loc: ∅
│ ├── arguments: ∅
│ ├── closing_loc: ∅
- │ ├── block: ∅
- │ └── flags: ∅
+ │ └── block: ∅
└── @ CallNode (location: (3,0)-(3,4))
+ ├── flags: ∅
├── receiver:
│ @ ArrayNode (location: (3,0)-(3,2))
+ │ ├── flags: ∅
│ ├── elements: (length: 0)
│ ├── opening_loc: (3,0)-(3,1) = "["
- │ ├── closing_loc: (3,1)-(3,2) = "]"
- │ └── flags: ∅
+ │ └── closing_loc: (3,1)-(3,2) = "]"
├── call_operator_loc: (3,2)-(3,3) = "."
├── name: :b
├── message_loc: (3,3)-(3,4) = "b"
├── opening_loc: ∅
├── arguments: ∅
├── closing_loc: ∅
- ├── block: ∅
- └── flags: ∅
+ └── block: ∅
diff --git a/test/prism/snapshots/seattlerb/assoc__bare.txt b/test/prism/snapshots/seattlerb/assoc__bare.txt
index b5b3bc5f25..a6c77ca3bf 100644
--- a/test/prism/snapshots/seattlerb/assoc__bare.txt
+++ b/test/prism/snapshots/seattlerb/assoc__bare.txt
@@ -17,6 +17,7 @@
│ │ @ ImplicitNode (location: (1,2)-(1,4))
│ │ └── value:
│ │ @ CallNode (location: (1,2)-(1,4))
+ │ │ ├── flags: ∅
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
│ │ ├── name: :y
@@ -24,7 +25,6 @@
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
- │ │ ├── block: ∅
- │ │ └── flags: ∅
+ │ │ └── block: ∅
│ └── operator_loc: ∅
└── closing_loc: (1,5)-(1,6) = "}"
diff --git a/test/prism/snapshots/seattlerb/assoc_label.txt b/test/prism/snapshots/seattlerb/assoc_label.txt
index 6f79b2ca25..116635beb4 100644
--- a/test/prism/snapshots/seattlerb/assoc_label.txt
+++ b/test/prism/snapshots/seattlerb/assoc_label.txt
@@ -4,6 +4,7 @@
@ StatementsNode (location: (1,0)-(1,6))
└── body: (length: 1)
└── @ CallNode (location: (1,0)-(1,6))
+ ├── flags: ∅
├── receiver: ∅
├── call_operator_loc: ∅
├── name: :a
@@ -11,21 +12,20 @@
├── opening_loc: (1,1)-(1,2) = "("
├── arguments:
│ @ ArgumentsNode (location: (1,2)-(1,5))
- │ ├── arguments: (length: 1)
- │ │ └── @ KeywordHashNode (location: (1,2)-(1,5))
- │ │ └── elements: (length: 1)
- │ │ └── @ AssocNode (location: (1,2)-(1,5))
- │ │ ├── key:
- │ │ │ @ SymbolNode (location: (1,2)-(1,4))
- │ │ │ ├── opening_loc: ∅
- │ │ │ ├── value_loc: (1,2)-(1,3) = "b"
- │ │ │ ├── closing_loc: (1,3)-(1,4) = ":"
- │ │ │ └── unescaped: "b"
- │ │ ├── value:
- │ │ │ @ IntegerNode (location: (1,4)-(1,5))
- │ │ │ └── flags: decimal
- │ │ └── operator_loc: ∅
- │ └── flags: ∅
+ │ ├── flags: ∅
+ │ └── arguments: (length: 1)
+ │ └── @ KeywordHashNode (location: (1,2)-(1,5))
+ │ └── elements: (length: 1)
+ │ └── @ AssocNode (location: (1,2)-(1,5))
+ │ ├── key:
+ │ │ @ SymbolNode (location: (1,2)-(1,4))
+ │ │ ├── opening_loc: ∅
+ │ │ ├── value_loc: (1,2)-(1,3) = "b"
+ │ │ ├── closing_loc: (1,3)-(1,4) = ":"
+ │ │ └── unescaped: "b"
+ │ ├── value:
+ │ │ @ IntegerNode (location: (1,4)-(1,5))
+ │ │ └── flags: decimal
+ │ └── operator_loc: ∅
├── closing_loc: (1,5)-(1,6) = ")"
- ├── block: ∅
- └── flags: ∅
+ └── block: ∅
diff --git a/test/prism/snapshots/seattlerb/attr_asgn_colon_id.txt b/test/prism/snapshots/seattlerb/attr_asgn_colon_id.txt
index 43e32673c2..c8478c368b 100644
--- a/test/prism/snapshots/seattlerb/attr_asgn_colon_id.txt
+++ b/test/prism/snapshots/seattlerb/attr_asgn_colon_id.txt
@@ -4,6 +4,7 @@
@ StatementsNode (location: (1,0)-(1,8))
└── body: (length: 1)
└── @ CallNode (location: (1,0)-(1,8))
+ ├── flags: ∅
├── receiver:
│ @ ConstantReadNode (location: (1,0)-(1,1))
│ └── name: :A
@@ -13,10 +14,9 @@
├── opening_loc: ∅
├── arguments:
│ @ ArgumentsNode (location: (1,7)-(1,8))
- │ ├── arguments: (length: 1)
- │ │ └── @ IntegerNode (location: (1,7)-(1,8))
- │ │ └── flags: decimal
- │ └── flags: ∅
+ │ ├── flags: ∅
+ │ └── arguments: (length: 1)
+ │ └── @ IntegerNode (location: (1,7)-(1,8))
+ │ └── flags: decimal
├── closing_loc: ∅
- ├── block: ∅
- └── flags: ∅
+ └── block: ∅
diff --git a/test/prism/snapshots/seattlerb/attrasgn_array_arg.txt b/test/prism/snapshots/seattlerb/attrasgn_array_arg.txt
index 89650b8d09..3b09e172e7 100644
--- a/test/prism/snapshots/seattlerb/attrasgn_array_arg.txt
+++ b/test/prism/snapshots/seattlerb/attrasgn_array_arg.txt
@@ -4,8 +4,10 @@
@ StatementsNode (location: (1,0)-(1,13))
└── body: (length: 1)
└── @ CallNode (location: (1,0)-(1,13))
+ ├── flags: ∅
├── receiver:
│ @ CallNode (location: (1,0)-(1,1))
+ │ ├── flags: variable_call
│ ├── receiver: ∅
│ ├── call_operator_loc: ∅
│ ├── name: :a
@@ -13,27 +15,25 @@
│ ├── opening_loc: ∅
│ ├── arguments: ∅
│ ├── closing_loc: ∅
- │ ├── block: ∅
- │ └── flags: variable_call
+ │ └── block: ∅
├── call_operator_loc: ∅
├── name: :[]=
├── message_loc: (1,1)-(1,9) = "[[1, 2]]"
├── opening_loc: (1,1)-(1,2) = "["
├── arguments:
│ @ ArgumentsNode (location: (1,2)-(1,13))
- │ ├── arguments: (length: 2)
- │ │ ├── @ ArrayNode (location: (1,2)-(1,8))
- │ │ │ ├── elements: (length: 2)
- │ │ │ │ ├── @ IntegerNode (location: (1,3)-(1,4))
- │ │ │ │ │ └── flags: decimal
- │ │ │ │ └── @ IntegerNode (location: (1,6)-(1,7))
- │ │ │ │ └── flags: decimal
- │ │ │ ├── opening_loc: (1,2)-(1,3) = "["
- │ │ │ ├── closing_loc: (1,7)-(1,8) = "]"
- │ │ │ └── flags: ∅
- │ │ └── @ IntegerNode (location: (1,12)-(1,13))
- │ │ └── flags: decimal
- │ └── flags: ∅
+ │ ├── flags: ∅
+ │ └── arguments: (length: 2)
+ │ ├── @ ArrayNode (location: (1,2)-(1,8))
+ │ │ ├── flags: ∅
+ │ │ ├── elements: (length: 2)
+ │ │ │ ├── @ IntegerNode (location: (1,3)-(1,4))
+ │ │ │ │ └── flags: decimal
+ │ │ │ └── @ IntegerNode (location: (1,6)-(1,7))
+ │ │ │ └── flags: decimal
+ │ │ ├── opening_loc: (1,2)-(1,3) = "["
+ │ │ └── closing_loc: (1,7)-(1,8) = "]"
+ │ └── @ IntegerNode (location: (1,12)-(1,13))
+ │ └── flags: decimal
├── closing_loc: (1,8)-(1,9) = "]"
- ├── block: ∅
- └── flags: ∅
+ └── block: ∅
diff --git a/test/prism/snapshots/seattlerb/attrasgn_array_lhs.txt b/test/prism/snapshots/seattlerb/attrasgn_array_lhs.txt
index 995f191a37..13615477df 100644
--- a/test/prism/snapshots/seattlerb/attrasgn_array_lhs.txt
+++ b/test/prism/snapshots/seattlerb/attrasgn_array_lhs.txt
@@ -4,8 +4,10 @@
@ StatementsNode (location: (1,0)-(1,42))
└── body: (length: 1)
└── @ CallNode (location: (1,0)-(1,42))
+ ├── flags: ∅
├── receiver:
│ @ ArrayNode (location: (1,0)-(1,12))
+ │ ├── flags: ∅
│ ├── elements: (length: 4)
│ │ ├── @ IntegerNode (location: (1,1)-(1,2))
│ │ │ └── flags: decimal
@@ -16,64 +18,62 @@
│ │ └── @ IntegerNode (location: (1,10)-(1,11))
│ │ └── flags: decimal
│ ├── opening_loc: (1,0)-(1,1) = "["
- │ ├── closing_loc: (1,11)-(1,12) = "]"
- │ └── flags: ∅
+ │ └── closing_loc: (1,11)-(1,12) = "]"
├── call_operator_loc: ∅
├── name: :[]=
├── message_loc: (1,12)-(1,24) = "[from .. to]"
├── opening_loc: (1,12)-(1,13) = "["
├── arguments:
│ @ ArgumentsNode (location: (1,13)-(1,42))
- │ ├── arguments: (length: 2)
- │ │ ├── @ RangeNode (location: (1,13)-(1,23))
- │ │ │ ├── left:
- │ │ │ │ @ CallNode (location: (1,13)-(1,17))
- │ │ │ │ ├── receiver: ∅
- │ │ │ │ ├── call_operator_loc: ∅
- │ │ │ │ ├── name: :from
- │ │ │ │ ├── message_loc: (1,13)-(1,17) = "from"
- │ │ │ │ ├── opening_loc: ∅
- │ │ │ │ ├── arguments: ∅
- │ │ │ │ ├── closing_loc: ∅
- │ │ │ │ ├── block: ∅
- │ │ │ │ └── flags: variable_call
- │ │ │ ├── right:
- │ │ │ │ @ CallNode (location: (1,21)-(1,23))
- │ │ │ │ ├── receiver: ∅
- │ │ │ │ ├── call_operator_loc: ∅
- │ │ │ │ ├── name: :to
- │ │ │ │ ├── message_loc: (1,21)-(1,23) = "to"
- │ │ │ │ ├── opening_loc: ∅
- │ │ │ │ ├── arguments: ∅
- │ │ │ │ ├── closing_loc: ∅
- │ │ │ │ ├── block: ∅
- │ │ │ │ └── flags: variable_call
- │ │ │ ├── operator_loc: (1,18)-(1,20) = ".."
- │ │ │ └── flags: ∅
- │ │ └── @ ArrayNode (location: (1,27)-(1,42))
- │ │ ├── elements: (length: 3)
- │ │ │ ├── @ StringNode (location: (1,28)-(1,31))
- │ │ │ │ ├── flags: ∅
- │ │ │ │ ├── opening_loc: (1,28)-(1,29) = "\""
- │ │ │ │ ├── content_loc: (1,29)-(1,30) = "a"
- │ │ │ │ ├── closing_loc: (1,30)-(1,31) = "\""
- │ │ │ │ └── unescaped: "a"
- │ │ │ ├── @ StringNode (location: (1,33)-(1,36))
- │ │ │ │ ├── flags: ∅
- │ │ │ │ ├── opening_loc: (1,33)-(1,34) = "\""
- │ │ │ │ ├── content_loc: (1,34)-(1,35) = "b"
- │ │ │ │ ├── closing_loc: (1,35)-(1,36) = "\""
- │ │ │ │ └── unescaped: "b"
- │ │ │ └── @ StringNode (location: (1,38)-(1,41))
- │ │ │ ├── flags: ∅
- │ │ │ ├── opening_loc: (1,38)-(1,39) = "\""
- │ │ │ ├── content_loc: (1,39)-(1,40) = "c"
- │ │ │ ├── closing_loc: (1,40)-(1,41) = "\""
- │ │ │ └── unescaped: "c"
- │ │ ├── opening_loc: (1,27)-(1,28) = "["
- │ │ ├── closing_loc: (1,41)-(1,42) = "]"
- │ │ └── flags: ∅
- │ └── flags: ∅
+ │ ├── flags: ∅
+ │ └── arguments: (length: 2)
+ │ ├── @ RangeNode (location: (1,13)-(1,23))
+ │ │ ├── flags: ∅
+ │ │ ├── left:
+ │ │ │ @ CallNode (location: (1,13)-(1,17))
+ │ │ │ ├── flags: variable_call
+ │ │ │ ├── receiver: ∅
+ │ │ │ ├── call_operator_loc: ∅
+ │ │ │ ├── name: :from
+ │ │ │ ├── message_loc: (1,13)-(1,17) = "from"
+ │ │ │ ├── opening_loc: ∅
+ │ │ │ ├── arguments: ∅
+ │ │ │ ├── closing_loc: ∅
+ │ │ │ └── block: ∅
+ │ │ ├── right:
+ │ │ │ @ CallNode (location: (1,21)-(1,23))
+ │ │ │ ├── flags: variable_call
+ │ │ │ ├── receiver: ∅
+ │ │ │ ├── call_operator_loc: ∅
+ │ │ │ ├── name: :to
+ │ │ │ ├── message_loc: (1,21)-(1,23) = "to"
+ │ │ │ ├── opening_loc: ∅
+ │ │ │ ├── arguments: ∅
+ │ │ │ ├── closing_loc: ∅
+ │ │ │ └── block: ∅
+ │ │ └── operator_loc: (1,18)-(1,20) = ".."
+ │ └── @ ArrayNode (location: (1,27)-(1,42))
+ │ ├── flags: ∅
+ │ ├── elements: (length: 3)
+ │ │ ├── @ StringNode (location: (1,28)-(1,31))
+ │ │ │ ├── flags: ∅
+ │ │ │ ├── opening_loc: (1,28)-(1,29) = "\""
+ │ │ │ ├── content_loc: (1,29)-(1,30) = "a"
+ │ │ │ ├── closing_loc: (1,30)-(1,31) = "\""
+ │ │ │ └── unescaped: "a"
+ │ │ ├── @ StringNode (location: (1,33)-(1,36))
+ │ │ │ ├── flags: ∅
+ │ │ │ ├── opening_loc: (1,33)-(1,34) = "\""
+ │ │ │ ├── content_loc: (1,34)-(1,35) = "b"
+ │ │ │ ├── closing_loc: (1,35)-(1,36) = "\""
+ │ │ │ └── unescaped: "b"
+ │ │ └── @ StringNode (location: (1,38)-(1,41))
+ │ │ ├── flags: ∅
+ │ │ ├── opening_loc: (1,38)-(1,39) = "\""
+ │ │ ├── content_loc: (1,39)-(1,40) = "c"
+ │ │ ├── closing_loc: (1,40)-(1,41) = "\""
+ │ │ └── unescaped: "c"
+ │ ├── opening_loc: (1,27)-(1,28) = "["
+ │ └── closing_loc: (1,41)-(1,42) = "]"
├── closing_loc: (1,23)-(1,24) = "]"
- ├── block: ∅
- └── flags: ∅
+ └── block: ∅
diff --git a/test/prism/snapshots/seattlerb/attrasgn_primary_dot_constant.txt b/test/prism/snapshots/seattlerb/attrasgn_primary_dot_constant.txt
index 00777ecff4..4f22f3380a 100644
--- a/test/prism/snapshots/seattlerb/attrasgn_primary_dot_constant.txt
+++ b/test/prism/snapshots/seattlerb/attrasgn_primary_dot_constant.txt
@@ -4,8 +4,10 @@
@ StatementsNode (location: (1,0)-(1,7))
└── body: (length: 1)
└── @ CallNode (location: (1,0)-(1,7))
+ ├── flags: ∅
├── receiver:
│ @ CallNode (location: (1,0)-(1,1))
+ │ ├── flags: variable_call
│ ├── receiver: ∅
│ ├── call_operator_loc: ∅
│ ├── name: :a
@@ -13,18 +15,16 @@
│ ├── opening_loc: ∅
│ ├── arguments: ∅
│ ├── closing_loc: ∅
- │ ├── block: ∅
- │ └── flags: variable_call
+ │ └── block: ∅
├── call_operator_loc: (1,1)-(1,2) = "."
├── name: :B=
├── message_loc: (1,2)-(1,3) = "B"
├── opening_loc: ∅
├── arguments:
│ @ ArgumentsNode (location: (1,6)-(1,7))
- │ ├── arguments: (length: 1)
- │ │ └── @ IntegerNode (location: (1,6)-(1,7))
- │ │ └── flags: decimal
- │ └── flags: ∅
+ │ ├── flags: ∅
+ │ └── arguments: (length: 1)
+ │ └── @ IntegerNode (location: (1,6)-(1,7))
+ │ └── flags: decimal
├── closing_loc: ∅
- ├── block: ∅
- └── flags: ∅
+ └── block: ∅
diff --git a/test/prism/snapshots/seattlerb/backticks_interpolation_line.txt b/test/prism/snapshots/seattlerb/backticks_interpolation_line.txt
index dd6dac632d..abb7e680d7 100644
--- a/test/prism/snapshots/seattlerb/backticks_interpolation_line.txt
+++ b/test/prism/snapshots/seattlerb/backticks_interpolation_line.txt
@@ -4,6 +4,7 @@
@ StatementsNode (location: (1,0)-(1,8))
└── body: (length: 1)
└── @ CallNode (location: (1,0)-(1,8))
+ ├── flags: ∅
├── receiver: ∅
├── call_operator_loc: ∅
├── name: :x
@@ -11,28 +12,27 @@
├── opening_loc: ∅
├── arguments:
│ @ ArgumentsNode (location: (1,2)-(1,8))
- │ ├── arguments: (length: 1)
- │ │ └── @ InterpolatedXStringNode (location: (1,2)-(1,8))
- │ │ ├── opening_loc: (1,2)-(1,3) = "`"
- │ │ ├── parts: (length: 1)
- │ │ │ └── @ EmbeddedStatementsNode (location: (1,3)-(1,7))
- │ │ │ ├── opening_loc: (1,3)-(1,5) = "\#{"
- │ │ │ ├── statements:
- │ │ │ │ @ StatementsNode (location: (1,5)-(1,6))
- │ │ │ │ └── body: (length: 1)
- │ │ │ │ └── @ CallNode (location: (1,5)-(1,6))
- │ │ │ │ ├── receiver: ∅
- │ │ │ │ ├── call_operator_loc: ∅
- │ │ │ │ ├── name: :y
- │ │ │ │ ├── message_loc: (1,5)-(1,6) = "y"
- │ │ │ │ ├── opening_loc: ∅
- │ │ │ │ ├── arguments: ∅
- │ │ │ │ ├── closing_loc: ∅
- │ │ │ │ ├── block: ∅
- │ │ │ │ └── flags: variable_call
- │ │ │ └── closing_loc: (1,6)-(1,7) = "}"
- │ │ └── closing_loc: (1,7)-(1,8) = "`"
- │ └── flags: ∅
+ │ ├── flags: ∅
+ │ └── arguments: (length: 1)
+ │ └── @ InterpolatedXStringNode (location: (1,2)-(1,8))
+ │ ├── opening_loc: (1,2)-(1,3) = "`"
+ │ ├── parts: (length: 1)
+ │ │ └── @ EmbeddedStatementsNode (location: (1,3)-(1,7))
+ │ │ ├── opening_loc: (1,3)-(1,5) = "\#{"
+ │ │ ├── statements:
+ │ │ │ @ StatementsNode (location: (1,5)-(1,6))
+ │ │ │ └── body: (length: 1)
+ │ │ │ └── @ CallNode (location: (1,5)-(1,6))
+ │ │ │ ├── flags: variable_call
+ │ │ │ ├── receiver: ∅
+ │ │ │ ├── call_operator_loc: ∅
+ │ │ │ ├── name: :y
+ │ │ │ ├── message_loc: (1,5)-(1,6) = "y"
+ │ │ │ ├── opening_loc: ∅
+ │ │ │ ├── arguments: ∅
+ │ │ │ ├── closing_loc: ∅
+ │ │ │ └── block: ∅
+ │ │ └── closing_loc: (1,6)-(1,7) = "}"
+ │ └── closing_loc: (1,7)-(1,8) = "`"
├── closing_loc: ∅
- ├── block: ∅
- └── flags: ∅
+ └── block: ∅
diff --git a/test/prism/snapshots/seattlerb/bang_eq.txt b/test/prism/snapshots/seattlerb/bang_eq.txt
index cdf6b0407f..553362030e 100644
--- a/test/prism/snapshots/seattlerb/bang_eq.txt
+++ b/test/prism/snapshots/seattlerb/bang_eq.txt
@@ -4,6 +4,7 @@
@ StatementsNode (location: (1,0)-(1,6))
└── body: (length: 1)
└── @ CallNode (location: (1,0)-(1,6))
+ ├── flags: ∅
├── receiver:
│ @ IntegerNode (location: (1,0)-(1,1))
│ └── flags: decimal
@@ -13,10 +14,9 @@
├── opening_loc: ∅
├── arguments:
│ @ ArgumentsNode (location: (1,5)-(1,6))
- │ ├── arguments: (length: 1)
- │ │ └── @ IntegerNode (location: (1,5)-(1,6))
- │ │ └── flags: decimal
- │ └── flags: ∅
+ │ ├── flags: ∅
+ │ └── arguments: (length: 1)
+ │ └── @ IntegerNode (location: (1,5)-(1,6))
+ │ └── flags: decimal
├── closing_loc: ∅
- ├── block: ∅
- └── flags: ∅
+ └── block: ∅
diff --git a/test/prism/snapshots/seattlerb/bdot2.txt b/test/prism/snapshots/seattlerb/bdot2.txt
index d4563230d7..ad710a4212 100644
--- a/test/prism/snapshots/seattlerb/bdot2.txt
+++ b/test/prism/snapshots/seattlerb/bdot2.txt
@@ -4,16 +4,18 @@
@ StatementsNode (location: (1,0)-(3,3))
└── body: (length: 3)
├── @ RangeNode (location: (1,0)-(1,4))
+ │ ├── flags: ∅
│ ├── left: ∅
│ ├── right:
│ │ @ IntegerNode (location: (1,2)-(1,4))
│ │ └── flags: decimal
- │ ├── operator_loc: (1,0)-(1,2) = ".."
- │ └── flags: ∅
+ │ └── operator_loc: (1,0)-(1,2) = ".."
├── @ RangeNode (location: (2,2)-(2,5))
+ │ ├── flags: ∅
│ ├── left: ∅
│ ├── right:
│ │ @ CallNode (location: (2,4)-(2,5))
+ │ │ ├── flags: variable_call
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
│ │ ├── name: :a
@@ -21,11 +23,10 @@
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
- │ │ ├── block: ∅
- │ │ └── flags: variable_call
- │ ├── operator_loc: (2,2)-(2,4) = ".."
- │ └── flags: ∅
+ │ │ └── block: ∅
+ │ └── operator_loc: (2,2)-(2,4) = ".."
└── @ CallNode (location: (3,2)-(3,3))
+ ├── flags: variable_call
├── receiver: ∅
├── call_operator_loc: ∅
├── name: :c
@@ -33,5 +34,4 @@
├── opening_loc: ∅
├── arguments: ∅
├── closing_loc: ∅
- ├── block: ∅
- └── flags: variable_call
+ └── block: ∅
diff --git a/test/prism/snapshots/seattlerb/bdot3.txt b/test/prism/snapshots/seattlerb/bdot3.txt
index efbea91913..c9a1097099 100644
--- a/test/prism/snapshots/seattlerb/bdot3.txt
+++ b/test/prism/snapshots/seattlerb/bdot3.txt
@@ -4,16 +4,18 @@
@ StatementsNode (location: (1,0)-(3,3))
└── body: (length: 3)
├── @ RangeNode (location: (1,0)-(1,5))
+ │ ├── flags: exclude_end
│ ├── left: ∅
│ ├── right:
│ │ @ IntegerNode (location: (1,3)-(1,5))
│ │ └── flags: decimal
- │ ├── operator_loc: (1,0)-(1,3) = "..."
- │ └── flags: exclude_end
+ │ └── operator_loc: (1,0)-(1,3) = "..."
├── @ RangeNode (location: (2,2)-(2,6))
+ │ ├── flags: exclude_end
│ ├── left: ∅
│ ├── right:
│ │ @ CallNode (location: (2,5)-(2,6))
+ │ │ ├── flags: variable_call
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
│ │ ├── name: :a
@@ -21,11 +23,10 @@
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
- │ │ ├── block: ∅
- │ │ └── flags: variable_call
- │ ├── operator_loc: (2,2)-(2,5) = "..."
- │ └── flags: exclude_end
+ │ │ └── block: ∅
+ │ └── operator_loc: (2,2)-(2,5) = "..."
└── @ CallNode (location: (3,2)-(3,3))
+ ├── flags: variable_call
├── receiver: ∅
├── call_operator_loc: ∅
├── name: :c
@@ -33,5 +34,4 @@
├── opening_loc: ∅
├── arguments: ∅
├── closing_loc: ∅
- ├── block: ∅
- └── flags: variable_call
+ └── block: ∅
diff --git a/test/prism/snapshots/seattlerb/block_arg_kwsplat.txt b/test/prism/snapshots/seattlerb/block_arg_kwsplat.txt
index 1837a569c8..d503dc7443 100644
--- a/test/prism/snapshots/seattlerb/block_arg_kwsplat.txt
+++ b/test/prism/snapshots/seattlerb/block_arg_kwsplat.txt
@@ -4,6 +4,7 @@
@ StatementsNode (location: (1,0)-(1,11))
└── body: (length: 1)
└── @ CallNode (location: (1,0)-(1,11))
+ ├── flags: ∅
├── receiver: ∅
├── call_operator_loc: ∅
├── name: :a
@@ -11,29 +12,28 @@
├── opening_loc: ∅
├── arguments: ∅
├── closing_loc: ∅
- ├── block:
- │ @ BlockNode (location: (1,2)-(1,11))
- │ ├── locals: [:b]
- │ ├── locals_body_index: 1
- │ ├── parameters:
- │ │ @ BlockParametersNode (location: (1,4)-(1,9))
- │ │ ├── parameters:
- │ │ │ @ ParametersNode (location: (1,5)-(1,8))
- │ │ │ ├── requireds: (length: 0)
- │ │ │ ├── optionals: (length: 0)
- │ │ │ ├── rest: ∅
- │ │ │ ├── posts: (length: 0)
- │ │ │ ├── keywords: (length: 0)
- │ │ │ ├── keyword_rest:
- │ │ │ │ @ KeywordRestParameterNode (location: (1,5)-(1,8))
- │ │ │ │ ├── name: :b
- │ │ │ │ ├── name_loc: (1,7)-(1,8) = "b"
- │ │ │ │ └── operator_loc: (1,5)-(1,7) = "**"
- │ │ │ └── block: ∅
- │ │ ├── locals: (length: 0)
- │ │ ├── opening_loc: (1,4)-(1,5) = "|"
- │ │ └── closing_loc: (1,8)-(1,9) = "|"
- │ ├── body: ∅
- │ ├── opening_loc: (1,2)-(1,3) = "{"
- │ └── closing_loc: (1,10)-(1,11) = "}"
- └── flags: ∅
+ └── block:
+ @ BlockNode (location: (1,2)-(1,11))
+ ├── locals: [:b]
+ ├── locals_body_index: 1
+ ├── parameters:
+ │ @ BlockParametersNode (location: (1,4)-(1,9))
+ │ ├── parameters:
+ │ │ @ ParametersNode (location: (1,5)-(1,8))
+ │ │ ├── requireds: (length: 0)
+ │ │ ├── optionals: (length: 0)
+ │ │ ├── rest: ∅
+ │ │ ├── posts: (length: 0)
+ │ │ ├── keywords: (length: 0)
+ │ │ ├── keyword_rest:
+ │ │ │ @ KeywordRestParameterNode (location: (1,5)-(1,8))
+ │ │ │ ├── name: :b
+ │ │ │ ├── name_loc: (1,7)-(1,8) = "b"
+ │ │ │ └── operator_loc: (1,5)-(1,7) = "**"
+ │ │ └── block: ∅
+ │ ├── locals: (length: 0)
+ │ ├── opening_loc: (1,4)-(1,5) = "|"
+ │ └── closing_loc: (1,8)-(1,9) = "|"
+ ├── body: ∅
+ ├── opening_loc: (1,2)-(1,3) = "{"
+ └── closing_loc: (1,10)-(1,11) = "}"
diff --git a/test/prism/snapshots/seattlerb/block_arg_opt_arg_block.txt b/test/prism/snapshots/seattlerb/block_arg_opt_arg_block.txt
index 575790b9b6..fd0b46ed83 100644
--- a/test/prism/snapshots/seattlerb/block_arg_opt_arg_block.txt
+++ b/test/prism/snapshots/seattlerb/block_arg_opt_arg_block.txt
@@ -4,6 +4,7 @@
@ StatementsNode (location: (1,0)-(1,21))
└── body: (length: 1)
└── @ CallNode (location: (1,0)-(1,21))
+ ├── flags: ∅
├── receiver: ∅
├── call_operator_loc: ∅
├── name: :a
@@ -11,40 +12,39 @@
├── opening_loc: ∅
├── arguments: ∅
├── closing_loc: ∅
- ├── block:
- │ @ BlockNode (location: (1,2)-(1,21))
- │ ├── locals: [:b, :c, :d, :e]
- │ ├── locals_body_index: 4
- │ ├── parameters:
- │ │ @ BlockParametersNode (location: (1,4)-(1,19))
- │ │ ├── parameters:
- │ │ │ @ ParametersNode (location: (1,5)-(1,18))
- │ │ │ ├── requireds: (length: 1)
- │ │ │ │ └── @ RequiredParameterNode (location: (1,5)-(1,6))
- │ │ │ │ └── name: :b
- │ │ │ ├── optionals: (length: 1)
- │ │ │ │ └── @ OptionalParameterNode (location: (1,8)-(1,11))
- │ │ │ │ ├── name: :c
- │ │ │ │ ├── name_loc: (1,8)-(1,9) = "c"
- │ │ │ │ ├── operator_loc: (1,9)-(1,10) = "="
- │ │ │ │ └── value:
- │ │ │ │ @ IntegerNode (location: (1,10)-(1,11))
- │ │ │ │ └── flags: decimal
- │ │ │ ├── rest: ∅
- │ │ │ ├── posts: (length: 1)
- │ │ │ │ └── @ RequiredParameterNode (location: (1,13)-(1,14))
- │ │ │ │ └── name: :d
- │ │ │ ├── keywords: (length: 0)
- │ │ │ ├── keyword_rest: ∅
- │ │ │ └── block:
- │ │ │ @ BlockParameterNode (location: (1,16)-(1,18))
- │ │ │ ├── name: :e
- │ │ │ ├── name_loc: (1,17)-(1,18) = "e"
- │ │ │ └── operator_loc: (1,16)-(1,17) = "&"
- │ │ ├── locals: (length: 0)
- │ │ ├── opening_loc: (1,4)-(1,5) = "|"
- │ │ └── closing_loc: (1,18)-(1,19) = "|"
- │ ├── body: ∅
- │ ├── opening_loc: (1,2)-(1,3) = "{"
- │ └── closing_loc: (1,20)-(1,21) = "}"
- └── flags: ∅
+ └── block:
+ @ BlockNode (location: (1,2)-(1,21))
+ ├── locals: [:b, :c, :d, :e]
+ ├── locals_body_index: 4
+ ├── parameters:
+ │ @ BlockParametersNode (location: (1,4)-(1,19))
+ │ ├── parameters:
+ │ │ @ ParametersNode (location: (1,5)-(1,18))
+ │ │ ├── requireds: (length: 1)
+ │ │ │ └── @ RequiredParameterNode (location: (1,5)-(1,6))
+ │ │ │ └── name: :b
+ │ │ ├── optionals: (length: 1)
+ │ │ │ └── @ OptionalParameterNode (location: (1,8)-(1,11))
+ │ │ │ ├── name: :c
+ │ │ │ ├── name_loc: (1,8)-(1,9) = "c"
+ │ │ │ ├── operator_loc: (1,9)-(1,10) = "="
+ │ │ │ └── value:
+ │ │ │ @ IntegerNode (location: (1,10)-(1,11))
+ │ │ │ └── flags: decimal
+ │ │ ├── rest: ∅
+ │ │ ├── posts: (length: 1)
+ │ │ │ └── @ RequiredParameterNode (location: (1,13)-(1,14))
+ │ │ │ └── name: :d
+ │ │ ├── keywords: (length: 0)
+ │ │ ├── keyword_rest: ∅
+ │ │ └── block:
+ │ │ @ BlockParameterNode (location: (1,16)-(1,18))
+ │ │ ├── name: :e
+ │ │ ├── name_loc: (1,17)-(1,18) = "e"
+ │ │ └── operator_loc: (1,16)-(1,17) = "&"
+ │ ├── locals: (length: 0)
+ │ ├── opening_loc: (1,4)-(1,5) = "|"
+ │ └── closing_loc: (1,18)-(1,19) = "|"
+ ├── body: ∅
+ ├── opening_loc: (1,2)-(1,3) = "{"
+ └── closing_loc: (1,20)-(1,21) = "}"
diff --git a/test/prism/snapshots/seattlerb/block_arg_opt_splat.txt b/test/prism/snapshots/seattlerb/block_arg_opt_splat.txt
index 6167754363..736fec6ec1 100644
--- a/test/prism/snapshots/seattlerb/block_arg_opt_splat.txt
+++ b/test/prism/snapshots/seattlerb/block_arg_opt_splat.txt
@@ -4,6 +4,7 @@
@ StatementsNode (location: (1,0)-(1,20))
└── body: (length: 1)
└── @ CallNode (location: (1,0)-(1,20))
+ ├── flags: ∅
├── receiver: ∅
├── call_operator_loc: ∅
├── name: :a
@@ -11,38 +12,37 @@
├── opening_loc: ∅
├── arguments: ∅
├── closing_loc: ∅
- ├── block:
- │ @ BlockNode (location: (1,2)-(1,20))
- │ ├── locals: [:b, :c, :d]
- │ ├── locals_body_index: 3
- │ ├── parameters:
- │ │ @ BlockParametersNode (location: (1,4)-(1,18))
- │ │ ├── parameters:
- │ │ │ @ ParametersNode (location: (1,5)-(1,17))
- │ │ │ ├── requireds: (length: 1)
- │ │ │ │ └── @ RequiredParameterNode (location: (1,5)-(1,6))
- │ │ │ │ └── name: :b
- │ │ │ ├── optionals: (length: 1)
- │ │ │ │ └── @ OptionalParameterNode (location: (1,8)-(1,13))
- │ │ │ │ ├── name: :c
- │ │ │ │ ├── name_loc: (1,8)-(1,9) = "c"
- │ │ │ │ ├── operator_loc: (1,10)-(1,11) = "="
- │ │ │ │ └── value:
- │ │ │ │ @ IntegerNode (location: (1,12)-(1,13))
- │ │ │ │ └── flags: decimal
- │ │ │ ├── rest:
- │ │ │ │ @ RestParameterNode (location: (1,15)-(1,17))
- │ │ │ │ ├── name: :d
- │ │ │ │ ├── name_loc: (1,16)-(1,17) = "d"
- │ │ │ │ └── operator_loc: (1,15)-(1,16) = "*"
- │ │ │ ├── posts: (length: 0)
- │ │ │ ├── keywords: (length: 0)
- │ │ │ ├── keyword_rest: ∅
- │ │ │ └── block: ∅
- │ │ ├── locals: (length: 0)
- │ │ ├── opening_loc: (1,4)-(1,5) = "|"
- │ │ └── closing_loc: (1,17)-(1,18) = "|"
- │ ├── body: ∅
- │ ├── opening_loc: (1,2)-(1,3) = "{"
- │ └── closing_loc: (1,19)-(1,20) = "}"
- └── flags: ∅
+ └── block:
+ @ BlockNode (location: (1,2)-(1,20))
+ ├── locals: [:b, :c, :d]
+ ├── locals_body_index: 3
+ ├── parameters:
+ │ @ BlockParametersNode (location: (1,4)-(1,18))
+ │ ├── parameters:
+ │ │ @ ParametersNode (location: (1,5)-(1,17))
+ │ │ ├── requireds: (length: 1)
+ │ │ │ └── @ RequiredParameterNode (location: (1,5)-(1,6))
+ │ │ │ └── name: :b
+ │ │ ├── optionals: (length: 1)
+ │ │ │ └── @ OptionalParameterNode (location: (1,8)-(1,13))
+ │ │ │ ├── name: :c
+ │ │ │ ├── name_loc: (1,8)-(1,9) = "c"
+ │ │ │ ├── operator_loc: (1,10)-(1,11) = "="
+ │ │ │ └── value:
+ │ │ │ @ IntegerNode (location: (1,12)-(1,13))
+ │ │ │ └── flags: decimal
+ │ │ ├── rest:
+ │ │ │ @ RestParameterNode (location: (1,15)-(1,17))
+ │ │ │ ├── name: :d
+ │ │ │ ├── name_loc: (1,16)-(1,17) = "d"
+ │ │ │ └── operator_loc: (1,15)-(1,16) = "*"
+ │ │ ├── posts: (length: 0)
+ │ │ ├── keywords: (length: 0)
+ │ │ ├── keyword_rest: ∅
+ │ │ └── block: ∅
+ │ ├── locals: (length: 0)
+ │ ├── opening_loc: (1,4)-(1,5) = "|"
+ │ └── closing_loc: (1,17)-(1,18) = "|"
+ ├── body: ∅
+ ├── opening_loc: (1,2)-(1,3) = "{"
+ └── closing_loc: (1,19)-(1,20) = "}"
diff --git a/test/prism/snapshots/seattlerb/block_arg_opt_splat_arg_block_omfg.txt b/test/prism/snapshots/seattlerb/block_arg_opt_splat_arg_block_omfg.txt
index 33b7b53197..2b57a0c090 100644
--- a/test/prism/snapshots/seattlerb/block_arg_opt_splat_arg_block_omfg.txt
+++ b/test/prism/snapshots/seattlerb/block_arg_opt_splat_arg_block_omfg.txt
@@ -4,6 +4,7 @@
@ StatementsNode (location: (1,0)-(1,25))
└── body: (length: 1)
└── @ CallNode (location: (1,0)-(1,25))
+ ├── flags: ∅
├── receiver: ∅
├── call_operator_loc: ∅
├── name: :a
@@ -11,44 +12,43 @@
├── opening_loc: ∅
├── arguments: ∅
├── closing_loc: ∅
- ├── block:
- │ @ BlockNode (location: (1,2)-(1,25))
- │ ├── locals: [:b, :c, :d, :e, :f]
- │ ├── locals_body_index: 5
- │ ├── parameters:
- │ │ @ BlockParametersNode (location: (1,4)-(1,23))
- │ │ ├── parameters:
- │ │ │ @ ParametersNode (location: (1,5)-(1,22))
- │ │ │ ├── requireds: (length: 1)
- │ │ │ │ └── @ RequiredParameterNode (location: (1,5)-(1,6))
- │ │ │ │ └── name: :b
- │ │ │ ├── optionals: (length: 1)
- │ │ │ │ └── @ OptionalParameterNode (location: (1,8)-(1,11))
- │ │ │ │ ├── name: :c
- │ │ │ │ ├── name_loc: (1,8)-(1,9) = "c"
- │ │ │ │ ├── operator_loc: (1,9)-(1,10) = "="
- │ │ │ │ └── value:
- │ │ │ │ @ IntegerNode (location: (1,10)-(1,11))
- │ │ │ │ └── flags: decimal
- │ │ │ ├── rest:
- │ │ │ │ @ RestParameterNode (location: (1,13)-(1,15))
- │ │ │ │ ├── name: :d
- │ │ │ │ ├── name_loc: (1,14)-(1,15) = "d"
- │ │ │ │ └── operator_loc: (1,13)-(1,14) = "*"
- │ │ │ ├── posts: (length: 1)
- │ │ │ │ └── @ RequiredParameterNode (location: (1,17)-(1,18))
- │ │ │ │ └── name: :e
- │ │ │ ├── keywords: (length: 0)
- │ │ │ ├── keyword_rest: ∅
- │ │ │ └── block:
- │ │ │ @ BlockParameterNode (location: (1,20)-(1,22))
- │ │ │ ├── name: :f
- │ │ │ ├── name_loc: (1,21)-(1,22) = "f"
- │ │ │ └── operator_loc: (1,20)-(1,21) = "&"
- │ │ ├── locals: (length: 0)
- │ │ ├── opening_loc: (1,4)-(1,5) = "|"
- │ │ └── closing_loc: (1,22)-(1,23) = "|"
- │ ├── body: ∅
- │ ├── opening_loc: (1,2)-(1,3) = "{"
- │ └── closing_loc: (1,24)-(1,25) = "}"
- └── flags: ∅
+ └── block:
+ @ BlockNode (location: (1,2)-(1,25))
+ ├── locals: [:b, :c, :d, :e, :f]
+ ├── locals_body_index: 5
+ ├── parameters:
+ │ @ BlockParametersNode (location: (1,4)-(1,23))
+ │ ├── parameters:
+ │ │ @ ParametersNode (location: (1,5)-(1,22))
+ │ │ ├── requireds: (length: 1)
+ │ │ │ └── @ RequiredParameterNode (location: (1,5)-(1,6))
+ │ │ │ └── name: :b
+ │ │ ├── optionals: (length: 1)
+ │ │ │ └── @ OptionalParameterNode (location: (1,8)-(1,11))
+ │ │ │ ├── name: :c
+ │ │ │ ├── name_loc: (1,8)-(1,9) = "c"
+ │ │ │ ├── operator_loc: (1,9)-(1,10) = "="
+ │ │ │ └── value:
+ │ │ │ @ IntegerNode (location: (1,10)-(1,11))
+ │ │ │ └── flags: decimal
+ │ │ ├── rest:
+ │ │ │ @ RestParameterNode (location: (1,13)-(1,15))
+ │ │ │ ├── name: :d
+ │ │ │ ├── name_loc: (1,14)-(1,15) = "d"
+ │ │ │ └── operator_loc: (1,13)-(1,14) = "*"
+ │ │ ├── posts: (length: 1)
+ │ │ │ └── @ RequiredParameterNode (location: (1,17)-(1,18))
+ │ │ │ └── name: :e
+ │ │ ├── keywords: (length: 0)
+ │ │ ├── keyword_rest: ∅
+ │ │ └── block:
+ │ │ @ BlockParameterNode (location: (1,20)-(1,22))
+ │ │ ├── name: :f
+ │ │ ├── name_loc: (1,21)-(1,22) = "f"
+ │ │ └── operator_loc: (1,20)-(1,21) = "&"
+ │ ├── locals: (length: 0)
+ │ ├── opening_loc: (1,4)-(1,5) = "|"
+ │ └── closing_loc: (1,22)-(1,23) = "|"
+ ├── body: ∅
+ ├── opening_loc: (1,2)-(1,3) = "{"
+ └── closing_loc: (1,24)-(1,25) = "}"
diff --git a/test/prism/snapshots/seattlerb/block_arg_optional.txt b/test/prism/snapshots/seattlerb/block_arg_optional.txt
index 90fad77d2e..5e28906256 100644
--- a/test/prism/snapshots/seattlerb/block_arg_optional.txt
+++ b/test/prism/snapshots/seattlerb/block_arg_optional.txt
@@ -4,6 +4,7 @@
@ StatementsNode (location: (1,0)-(1,13))
└── body: (length: 1)
└── @ CallNode (location: (1,0)-(1,13))
+ ├── flags: ∅
├── receiver: ∅
├── call_operator_loc: ∅
├── name: :a
@@ -11,32 +12,31 @@
├── opening_loc: ∅
├── arguments: ∅
├── closing_loc: ∅
- ├── block:
- │ @ BlockNode (location: (1,2)-(1,13))
- │ ├── locals: [:b]
- │ ├── locals_body_index: 1
- │ ├── parameters:
- │ │ @ BlockParametersNode (location: (1,4)-(1,11))
- │ │ ├── parameters:
- │ │ │ @ ParametersNode (location: (1,5)-(1,10))
- │ │ │ ├── requireds: (length: 0)
- │ │ │ ├── optionals: (length: 1)
- │ │ │ │ └── @ OptionalParameterNode (location: (1,5)-(1,10))
- │ │ │ │ ├── name: :b
- │ │ │ │ ├── name_loc: (1,5)-(1,6) = "b"
- │ │ │ │ ├── operator_loc: (1,7)-(1,8) = "="
- │ │ │ │ └── value:
- │ │ │ │ @ IntegerNode (location: (1,9)-(1,10))
- │ │ │ │ └── flags: decimal
- │ │ │ ├── rest: ∅
- │ │ │ ├── posts: (length: 0)
- │ │ │ ├── keywords: (length: 0)
- │ │ │ ├── keyword_rest: ∅
- │ │ │ └── block: ∅
- │ │ ├── locals: (length: 0)
- │ │ ├── opening_loc: (1,4)-(1,5) = "|"
- │ │ └── closing_loc: (1,10)-(1,11) = "|"
- │ ├── body: ∅
- │ ├── opening_loc: (1,2)-(1,3) = "{"
- │ └── closing_loc: (1,12)-(1,13) = "}"
- └── flags: ∅
+ └── block:
+ @ BlockNode (location: (1,2)-(1,13))
+ ├── locals: [:b]
+ ├── locals_body_index: 1
+ ├── parameters:
+ │ @ BlockParametersNode (location: (1,4)-(1,11))
+ │ ├── parameters:
+ │ │ @ ParametersNode (location: (1,5)-(1,10))
+ │ │ ├── requireds: (length: 0)
+ │ │ ├── optionals: (length: 1)
+ │ │ │ └── @ OptionalParameterNode (location: (1,5)-(1,10))
+ │ │ │ ├── name: :b
+ │ │ │ ├── name_loc: (1,5)-(1,6) = "b"
+ │ │ │ ├── operator_loc: (1,7)-(1,8) = "="
+ │ │ │ └── value:
+ │ │ │ @ IntegerNode (location: (1,9)-(1,10))
+ │ │ │ └── flags: decimal
+ │ │ ├── rest: ∅
+ │ │ ├── posts: (length: 0)
+ │ │ ├── keywords: (length: 0)
+ │ │ ├── keyword_rest: ∅
+ │ │ └── block: ∅
+ │ ├── locals: (length: 0)
+ │ ├── opening_loc: (1,4)-(1,5) = "|"
+ │ └── closing_loc: (1,10)-(1,11) = "|"
+ ├── body: ∅
+ ├── opening_loc: (1,2)-(1,3) = "{"
+ └── closing_loc: (1,12)-(1,13) = "}"
diff --git a/test/prism/snapshots/seattlerb/block_arg_scope.txt b/test/prism/snapshots/seattlerb/block_arg_scope.txt
index 1e356ea375..51de82e90a 100644
--- a/test/prism/snapshots/seattlerb/block_arg_scope.txt
+++ b/test/prism/snapshots/seattlerb/block_arg_scope.txt
@@ -4,6 +4,7 @@
@ StatementsNode (location: (1,0)-(1,12))
└── body: (length: 1)
└── @ CallNode (location: (1,0)-(1,12))
+ ├── flags: ∅
├── receiver: ∅
├── call_operator_loc: ∅
├── name: :a
@@ -11,29 +12,28 @@
├── opening_loc: ∅
├── arguments: ∅
├── closing_loc: ∅
- ├── block:
- │ @ BlockNode (location: (1,2)-(1,12))
- │ ├── locals: [:b, :c]
- │ ├── locals_body_index: 2
- │ ├── parameters:
- │ │ @ BlockParametersNode (location: (1,4)-(1,10))
- │ │ ├── parameters:
- │ │ │ @ ParametersNode (location: (1,5)-(1,6))
- │ │ │ ├── requireds: (length: 1)
- │ │ │ │ └── @ RequiredParameterNode (location: (1,5)-(1,6))
- │ │ │ │ └── name: :b
- │ │ │ ├── optionals: (length: 0)
- │ │ │ ├── rest: ∅
- │ │ │ ├── posts: (length: 0)
- │ │ │ ├── keywords: (length: 0)
- │ │ │ ├── keyword_rest: ∅
- │ │ │ └── block: ∅
- │ │ ├── locals: (length: 1)
- │ │ │ └── @ BlockLocalVariableNode (location: (1,8)-(1,9))
- │ │ │ └── name: :c
- │ │ ├── opening_loc: (1,4)-(1,5) = "|"
- │ │ └── closing_loc: (1,9)-(1,10) = "|"
- │ ├── body: ∅
- │ ├── opening_loc: (1,2)-(1,3) = "{"
- │ └── closing_loc: (1,11)-(1,12) = "}"
- └── flags: ∅
+ └── block:
+ @ BlockNode (location: (1,2)-(1,12))
+ ├── locals: [:b, :c]
+ ├── locals_body_index: 2
+ ├── parameters:
+ │ @ BlockParametersNode (location: (1,4)-(1,10))
+ │ ├── parameters:
+ │ │ @ ParametersNode (location: (1,5)-(1,6))
+ │ │ ├── requireds: (length: 1)
+ │ │ │ └── @ RequiredParameterNode (location: (1,5)-(1,6))
+ │ │ │ └── name: :b
+ │ │ ├── optionals: (length: 0)
+ │ │ ├── rest: ∅
+ │ │ ├── posts: (length: 0)
+ │ │ ├── keywords: (length: 0)
+ │ │ ├── keyword_rest: ∅
+ │ │ └── block: ∅
+ │ ├── locals: (length: 1)
+ │ │ └── @ BlockLocalVariableNode (location: (1,8)-(1,9))
+ │ │ └── name: :c
+ │ ├── opening_loc: (1,4)-(1,5) = "|"
+ │ └── closing_loc: (1,9)-(1,10) = "|"
+ ├── body: ∅
+ ├── opening_loc: (1,2)-(1,3) = "{"
+ └── closing_loc: (1,11)-(1,12) = "}"
diff --git a/test/prism/snapshots/seattlerb/block_arg_scope2.txt b/test/prism/snapshots/seattlerb/block_arg_scope2.txt
index 6afa7586de..3b4b198d1f 100644
--- a/test/prism/snapshots/seattlerb/block_arg_scope2.txt
+++ b/test/prism/snapshots/seattlerb/block_arg_scope2.txt
@@ -4,6 +4,7 @@
@ StatementsNode (location: (1,0)-(1,14))
└── body: (length: 1)
└── @ CallNode (location: (1,0)-(1,14))
+ ├── flags: ∅
├── receiver: ∅
├── call_operator_loc: ∅
├── name: :a
@@ -11,31 +12,30 @@
├── opening_loc: ∅
├── arguments: ∅
├── closing_loc: ∅
- ├── block:
- │ @ BlockNode (location: (1,2)-(1,14))
- │ ├── locals: [:b, :c, :d]
- │ ├── locals_body_index: 3
- │ ├── parameters:
- │ │ @ BlockParametersNode (location: (1,3)-(1,12))
- │ │ ├── parameters:
- │ │ │ @ ParametersNode (location: (1,4)-(1,5))
- │ │ │ ├── requireds: (length: 1)
- │ │ │ │ └── @ RequiredParameterNode (location: (1,4)-(1,5))
- │ │ │ │ └── name: :b
- │ │ │ ├── optionals: (length: 0)
- │ │ │ ├── rest: ∅
- │ │ │ ├── posts: (length: 0)
- │ │ │ ├── keywords: (length: 0)
- │ │ │ ├── keyword_rest: ∅
- │ │ │ └── block: ∅
- │ │ ├── locals: (length: 2)
- │ │ │ ├── @ BlockLocalVariableNode (location: (1,7)-(1,8))
- │ │ │ │ └── name: :c
- │ │ │ └── @ BlockLocalVariableNode (location: (1,10)-(1,11))
- │ │ │ └── name: :d
- │ │ ├── opening_loc: (1,3)-(1,4) = "|"
- │ │ └── closing_loc: (1,11)-(1,12) = "|"
- │ ├── body: ∅
- │ ├── opening_loc: (1,2)-(1,3) = "{"
- │ └── closing_loc: (1,13)-(1,14) = "}"
- └── flags: ∅
+ └── block:
+ @ BlockNode (location: (1,2)-(1,14))
+ ├── locals: [:b, :c, :d]
+ ├── locals_body_index: 3
+ ├── parameters:
+ │ @ BlockParametersNode (location: (1,3)-(1,12))
+ │ ├── parameters:
+ │ │ @ ParametersNode (location: (1,4)-(1,5))
+ │ │ ├── requireds: (length: 1)
+ │ │ │ └── @ RequiredParameterNode (location: (1,4)-(1,5))
+ │ │ │ └── name: :b
+ │ │ ├── optionals: (length: 0)
+ │ │ ├── rest: ∅
+ │ │ ├── posts: (length: 0)
+ │ │ ├── keywords: (length: 0)
+ │ │ ├── keyword_rest: ∅
+ │ │ └── block: ∅
+ │ ├── locals: (length: 2)
+ │ │ ├── @ BlockLocalVariableNode (location: (1,7)-(1,8))
+ │ │ │ └── name: :c
+ │ │ └── @ BlockLocalVariableNode (location: (1,10)-(1,11))
+ │ │ └── name: :d
+ │ ├── opening_loc: (1,3)-(1,4) = "|"
+ │ └── closing_loc: (1,11)-(1,12) = "|"
+ ├── body: ∅
+ ├── opening_loc: (1,2)-(1,3) = "{"
+ └── closing_loc: (1,13)-(1,14) = "}"
diff --git a/test/prism/snapshots/seattlerb/block_arg_splat_arg.txt b/test/prism/snapshots/seattlerb/block_arg_splat_arg.txt
index d51953269b..c8aae59285 100644
--- a/test/prism/snapshots/seattlerb/block_arg_splat_arg.txt
+++ b/test/prism/snapshots/seattlerb/block_arg_splat_arg.txt
@@ -4,6 +4,7 @@
@ StatementsNode (location: (1,0)-(1,16))
└── body: (length: 1)
└── @ CallNode (location: (1,0)-(1,16))
+ ├── flags: ∅
├── receiver: ∅
├── call_operator_loc: ∅
├── name: :a
@@ -11,33 +12,32 @@
├── opening_loc: ∅
├── arguments: ∅
├── closing_loc: ∅
- ├── block:
- │ @ BlockNode (location: (1,2)-(1,16))
- │ ├── locals: [:b, :c, :d]
- │ ├── locals_body_index: 3
- │ ├── parameters:
- │ │ @ BlockParametersNode (location: (1,4)-(1,14))
- │ │ ├── parameters:
- │ │ │ @ ParametersNode (location: (1,5)-(1,13))
- │ │ │ ├── requireds: (length: 1)
- │ │ │ │ └── @ RequiredParameterNode (location: (1,5)-(1,6))
- │ │ │ │ └── name: :b
- │ │ │ ├── optionals: (length: 0)
- │ │ │ ├── rest:
- │ │ │ │ @ RestParameterNode (location: (1,8)-(1,10))
- │ │ │ │ ├── name: :c
- │ │ │ │ ├── name_loc: (1,9)-(1,10) = "c"
- │ │ │ │ └── operator_loc: (1,8)-(1,9) = "*"
- │ │ │ ├── posts: (length: 1)
- │ │ │ │ └── @ RequiredParameterNode (location: (1,12)-(1,13))
- │ │ │ │ └── name: :d
- │ │ │ ├── keywords: (length: 0)
- │ │ │ ├── keyword_rest: ∅
- │ │ │ └── block: ∅
- │ │ ├── locals: (length: 0)
- │ │ ├── opening_loc: (1,4)-(1,5) = "|"
- │ │ └── closing_loc: (1,13)-(1,14) = "|"
- │ ├── body: ∅
- │ ├── opening_loc: (1,2)-(1,3) = "{"
- │ └── closing_loc: (1,15)-(1,16) = "}"
- └── flags: ∅
+ └── block:
+ @ BlockNode (location: (1,2)-(1,16))
+ ├── locals: [:b, :c, :d]
+ ├── locals_body_index: 3
+ ├── parameters:
+ │ @ BlockParametersNode (location: (1,4)-(1,14))
+ │ ├── parameters:
+ │ │ @ ParametersNode (location: (1,5)-(1,13))
+ │ │ ├── requireds: (length: 1)
+ │ │ │ └── @ RequiredParameterNode (location: (1,5)-(1,6))
+ │ │ │ └── name: :b
+ │ │ ├── optionals: (length: 0)
+ │ │ ├── rest:
+ │ │ │ @ RestParameterNode (location: (1,8)-(1,10))
+ │ │ │ ├── name: :c
+ │ │ │ ├── name_loc: (1,9)-(1,10) = "c"
+ │ │ │ └── operator_loc: (1,8)-(1,9) = "*"
+ │ │ ├── posts: (length: 1)
+ │ │ │ └── @ RequiredParameterNode (location: (1,12)-(1,13))
+ │ │ │ └── name: :d
+ │ │ ├── keywords: (length: 0)
+ │ │ ├── keyword_rest: ∅
+ │ │ └── block: ∅
+ │ ├── locals: (length: 0)
+ │ ├── opening_loc: (1,4)-(1,5) = "|"
+ │ └── closing_loc: (1,13)-(1,14) = "|"
+ ├── body: ∅
+ ├── opening_loc: (1,2)-(1,3) = "{"
+ └── closing_loc: (1,15)-(1,16) = "}"
diff --git a/test/prism/snapshots/seattlerb/block_args_kwargs.txt b/test/prism/snapshots/seattlerb/block_args_kwargs.txt
index dc2ce516e0..e4d311085d 100644
--- a/test/prism/snapshots/seattlerb/block_args_kwargs.txt
+++ b/test/prism/snapshots/seattlerb/block_args_kwargs.txt
@@ -4,6 +4,7 @@
@ StatementsNode (location: (1,0)-(1,23))
└── body: (length: 1)
└── @ CallNode (location: (1,0)-(1,23))
+ ├── flags: ∅
├── receiver: ∅
├── call_operator_loc: ∅
├── name: :f
@@ -11,34 +12,33 @@
├── opening_loc: ∅
├── arguments: ∅
├── closing_loc: ∅
- ├── block:
- │ @ BlockNode (location: (1,2)-(1,23))
- │ ├── locals: [:kwargs]
- │ ├── locals_body_index: 1
- │ ├── parameters:
- │ │ @ BlockParametersNode (location: (1,4)-(1,14))
- │ │ ├── parameters:
- │ │ │ @ ParametersNode (location: (1,5)-(1,13))
- │ │ │ ├── requireds: (length: 0)
- │ │ │ ├── optionals: (length: 0)
- │ │ │ ├── rest: ∅
- │ │ │ ├── posts: (length: 0)
- │ │ │ ├── keywords: (length: 0)
- │ │ │ ├── keyword_rest:
- │ │ │ │ @ KeywordRestParameterNode (location: (1,5)-(1,13))
- │ │ │ │ ├── name: :kwargs
- │ │ │ │ ├── name_loc: (1,7)-(1,13) = "kwargs"
- │ │ │ │ └── operator_loc: (1,5)-(1,7) = "**"
- │ │ │ └── block: ∅
- │ │ ├── locals: (length: 0)
- │ │ ├── opening_loc: (1,4)-(1,5) = "|"
- │ │ └── closing_loc: (1,13)-(1,14) = "|"
- │ ├── body:
- │ │ @ StatementsNode (location: (1,15)-(1,21))
- │ │ └── body: (length: 1)
- │ │ └── @ LocalVariableReadNode (location: (1,15)-(1,21))
- │ │ ├── name: :kwargs
- │ │ └── depth: 0
- │ ├── opening_loc: (1,2)-(1,3) = "{"
- │ └── closing_loc: (1,22)-(1,23) = "}"
- └── flags: ∅
+ └── block:
+ @ BlockNode (location: (1,2)-(1,23))
+ ├── locals: [:kwargs]
+ ├── locals_body_index: 1
+ ├── parameters:
+ │ @ BlockParametersNode (location: (1,4)-(1,14))
+ │ ├── parameters:
+ │ │ @ ParametersNode (location: (1,5)-(1,13))
+ │ │ ├── requireds: (length: 0)
+ │ │ ├── optionals: (length: 0)
+ │ │ ├── rest: ∅
+ │ │ ├── posts: (length: 0)
+ │ │ ├── keywords: (length: 0)
+ │ │ ├── keyword_rest:
+ │ │ │ @ KeywordRestParameterNode (location: (1,5)-(1,13))
+ │ │ │ ├── name: :kwargs
+ │ │ │ ├── name_loc: (1,7)-(1,13) = "kwargs"
+ │ │ │ └── operator_loc: (1,5)-(1,7) = "**"
+ │ │ └── block: ∅
+ │ ├── locals: (length: 0)
+ │ ├── opening_loc: (1,4)-(1,5) = "|"
+ │ └── closing_loc: (1,13)-(1,14) = "|"
+ ├── body:
+ │ @ StatementsNode (location: (1,15)-(1,21))
+ │ └── body: (length: 1)
+ │ └── @ LocalVariableReadNode (location: (1,15)-(1,21))
+ │ ├── name: :kwargs
+ │ └── depth: 0
+ ├── opening_loc: (1,2)-(1,3) = "{"
+ └── closing_loc: (1,22)-(1,23) = "}"
diff --git a/test/prism/snapshots/seattlerb/block_args_no_kwargs.txt b/test/prism/snapshots/seattlerb/block_args_no_kwargs.txt
index 6ad45cf5e6..70e4084395 100644
--- a/test/prism/snapshots/seattlerb/block_args_no_kwargs.txt
+++ b/test/prism/snapshots/seattlerb/block_args_no_kwargs.txt
@@ -4,6 +4,7 @@
@ StatementsNode (location: (1,0)-(1,13))
└── body: (length: 1)
└── @ CallNode (location: (1,0)-(1,13))
+ ├── flags: ∅
├── receiver: ∅
├── call_operator_loc: ∅
├── name: :f
@@ -11,28 +12,27 @@
├── opening_loc: ∅
├── arguments: ∅
├── closing_loc: ∅
- ├── block:
- │ @ BlockNode (location: (1,2)-(1,13))
- │ ├── locals: []
- │ ├── locals_body_index: 0
- │ ├── parameters:
- │ │ @ BlockParametersNode (location: (1,4)-(1,11))
- │ │ ├── parameters:
- │ │ │ @ ParametersNode (location: (1,5)-(1,10))
- │ │ │ ├── requireds: (length: 0)
- │ │ │ ├── optionals: (length: 0)
- │ │ │ ├── rest: ∅
- │ │ │ ├── posts: (length: 0)
- │ │ │ ├── keywords: (length: 0)
- │ │ │ ├── keyword_rest:
- │ │ │ │ @ NoKeywordsParameterNode (location: (1,5)-(1,10))
- │ │ │ │ ├── operator_loc: (1,5)-(1,7) = "**"
- │ │ │ │ └── keyword_loc: (1,7)-(1,10) = "nil"
- │ │ │ └── block: ∅
- │ │ ├── locals: (length: 0)
- │ │ ├── opening_loc: (1,4)-(1,5) = "|"
- │ │ └── closing_loc: (1,10)-(1,11) = "|"
- │ ├── body: ∅
- │ ├── opening_loc: (1,2)-(1,3) = "{"
- │ └── closing_loc: (1,12)-(1,13) = "}"
- └── flags: ∅
+ └── block:
+ @ BlockNode (location: (1,2)-(1,13))
+ ├── locals: []
+ ├── locals_body_index: 0
+ ├── parameters:
+ │ @ BlockParametersNode (location: (1,4)-(1,11))
+ │ ├── parameters:
+ │ │ @ ParametersNode (location: (1,5)-(1,10))
+ │ │ ├── requireds: (length: 0)
+ │ │ ├── optionals: (length: 0)
+ │ │ ├── rest: ∅
+ │ │ ├── posts: (length: 0)
+ │ │ ├── keywords: (length: 0)
+ │ │ ├── keyword_rest:
+ │ │ │ @ NoKeywordsParameterNode (location: (1,5)-(1,10))
+ │ │ │ ├── operator_loc: (1,5)-(1,7) = "**"
+ │ │ │ └── keyword_loc: (1,7)-(1,10) = "nil"
+ │ │ └── block: ∅
+ │ ├── locals: (length: 0)
+ │ ├── opening_loc: (1,4)-(1,5) = "|"
+ │ └── closing_loc: (1,10)-(1,11) = "|"
+ ├── body: ∅
+ ├── opening_loc: (1,2)-(1,3) = "{"
+ └── closing_loc: (1,12)-(1,13) = "}"
diff --git a/test/prism/snapshots/seattlerb/block_args_opt1.txt b/test/prism/snapshots/seattlerb/block_args_opt1.txt
index 0318342b83..4a5dc9b59b 100644
--- a/test/prism/snapshots/seattlerb/block_args_opt1.txt
+++ b/test/prism/snapshots/seattlerb/block_args_opt1.txt
@@ -4,6 +4,7 @@
@ StatementsNode (location: (1,0)-(1,24))
└── body: (length: 1)
└── @ CallNode (location: (1,0)-(1,24))
+ ├── flags: ∅
├── receiver: ∅
├── call_operator_loc: ∅
├── name: :f
@@ -11,47 +12,46 @@
├── opening_loc: ∅
├── arguments: ∅
├── closing_loc: ∅
- ├── block:
- │ @ BlockNode (location: (1,2)-(1,24))
- │ ├── locals: [:a, :b]
- │ ├── locals_body_index: 2
- │ ├── parameters:
- │ │ @ BlockParametersNode (location: (1,4)-(1,15))
- │ │ ├── parameters:
- │ │ │ @ ParametersNode (location: (1,5)-(1,14))
- │ │ │ ├── requireds: (length: 1)
- │ │ │ │ └── @ RequiredParameterNode (location: (1,5)-(1,6))
- │ │ │ │ └── name: :a
- │ │ │ ├── optionals: (length: 1)
- │ │ │ │ └── @ OptionalParameterNode (location: (1,8)-(1,14))
- │ │ │ │ ├── name: :b
- │ │ │ │ ├── name_loc: (1,8)-(1,9) = "b"
- │ │ │ │ ├── operator_loc: (1,10)-(1,11) = "="
- │ │ │ │ └── value:
- │ │ │ │ @ IntegerNode (location: (1,12)-(1,14))
- │ │ │ │ └── flags: decimal
- │ │ │ ├── rest: ∅
- │ │ │ ├── posts: (length: 0)
- │ │ │ ├── keywords: (length: 0)
- │ │ │ ├── keyword_rest: ∅
- │ │ │ └── block: ∅
- │ │ ├── locals: (length: 0)
- │ │ ├── opening_loc: (1,4)-(1,5) = "|"
- │ │ └── closing_loc: (1,14)-(1,15) = "|"
- │ ├── body:
- │ │ @ StatementsNode (location: (1,16)-(1,22))
- │ │ └── body: (length: 1)
- │ │ └── @ ArrayNode (location: (1,16)-(1,22))
- │ │ ├── elements: (length: 2)
- │ │ │ ├── @ LocalVariableReadNode (location: (1,17)-(1,18))
- │ │ │ │ ├── name: :a
- │ │ │ │ └── depth: 0
- │ │ │ └── @ LocalVariableReadNode (location: (1,20)-(1,21))
- │ │ │ ├── name: :b
- │ │ │ └── depth: 0
- │ │ ├── opening_loc: (1,16)-(1,17) = "["
- │ │ ├── closing_loc: (1,21)-(1,22) = "]"
- │ │ └── flags: ∅
- │ ├── opening_loc: (1,2)-(1,3) = "{"
- │ └── closing_loc: (1,23)-(1,24) = "}"
- └── flags: ∅
+ └── block:
+ @ BlockNode (location: (1,2)-(1,24))
+ ├── locals: [:a, :b]
+ ├── locals_body_index: 2
+ ├── parameters:
+ │ @ BlockParametersNode (location: (1,4)-(1,15))
+ │ ├── parameters:
+ │ │ @ ParametersNode (location: (1,5)-(1,14))
+ │ │ ├── requireds: (length: 1)
+ │ │ │ └── @ RequiredParameterNode (location: (1,5)-(1,6))
+ │ │ │ └── name: :a
+ │ │ ├── optionals: (length: 1)
+ │ │ │ └── @ OptionalParameterNode (location: (1,8)-(1,14))
+ │ │ │ ├── name: :b
+ │ │ │ ├── name_loc: (1,8)-(1,9) = "b"
+ │ │ │ ├── operator_loc: (1,10)-(1,11) = "="
+ │ │ │ └── value:
+ │ │ │ @ IntegerNode (location: (1,12)-(1,14))
+ │ │ │ └── flags: decimal
+ │ │ ├── rest: ∅
+ │ │ ├── posts: (length: 0)
+ │ │ ├── keywords: (length: 0)
+ │ │ ├── keyword_rest: ∅
+ │ │ └── block: ∅
+ │ ├── locals: (length: 0)
+ │ ├── opening_loc: (1,4)-(1,5) = "|"
+ │ └── closing_loc: (1,14)-(1,15) = "|"
+ ├── body:
+ │ @ StatementsNode (location: (1,16)-(1,22))
+ │ └── body: (length: 1)
+ │ └── @ ArrayNode (location: (1,16)-(1,22))
+ │ ├── flags: ∅
+ │ ├── elements: (length: 2)
+ │ │ ├── @ LocalVariableReadNode (location: (1,17)-(1,18))
+ │ │ │ ├── name: :a
+ │ │ │ └── depth: 0
+ │ │ └── @ LocalVariableReadNode (location: (1,20)-(1,21))
+ │ │ ├── name: :b
+ │ │ └── depth: 0
+ │ ├── opening_loc: (1,16)-(1,17) = "["
+ │ └── closing_loc: (1,21)-(1,22) = "]"
+ ├── opening_loc: (1,2)-(1,3) = "{"
+ └── closing_loc: (1,23)-(1,24) = "}"
diff --git a/test/prism/snapshots/seattlerb/block_args_opt2.txt b/test/prism/snapshots/seattlerb/block_args_opt2.txt
index a207cf244d..af334a87f7 100644
--- a/test/prism/snapshots/seattlerb/block_args_opt2.txt
+++ b/test/prism/snapshots/seattlerb/block_args_opt2.txt
@@ -4,6 +4,7 @@
@ StatementsNode (location: (1,0)-(1,18))
└── body: (length: 1)
└── @ CallNode (location: (1,0)-(1,18))
+ ├── flags: ∅
├── receiver: ∅
├── call_operator_loc: ∅
├── name: :a
@@ -11,39 +12,38 @@
├── opening_loc: ∅
├── arguments: ∅
├── closing_loc: ∅
- ├── block:
- │ @ BlockNode (location: (1,2)-(1,18))
- │ ├── locals: [:b, :c]
- │ ├── locals_body_index: 2
- │ ├── parameters:
- │ │ @ BlockParametersNode (location: (1,4)-(1,16))
- │ │ ├── parameters:
- │ │ │ @ ParametersNode (location: (1,6)-(1,14))
- │ │ │ ├── requireds: (length: 0)
- │ │ │ ├── optionals: (length: 2)
- │ │ │ │ ├── @ OptionalParameterNode (location: (1,6)-(1,9))
- │ │ │ │ │ ├── name: :b
- │ │ │ │ │ ├── name_loc: (1,6)-(1,7) = "b"
- │ │ │ │ │ ├── operator_loc: (1,7)-(1,8) = "="
- │ │ │ │ │ └── value:
- │ │ │ │ │ @ IntegerNode (location: (1,8)-(1,9))
- │ │ │ │ │ └── flags: decimal
- │ │ │ │ └── @ OptionalParameterNode (location: (1,11)-(1,14))
- │ │ │ │ ├── name: :c
- │ │ │ │ ├── name_loc: (1,11)-(1,12) = "c"
- │ │ │ │ ├── operator_loc: (1,12)-(1,13) = "="
- │ │ │ │ └── value:
- │ │ │ │ @ IntegerNode (location: (1,13)-(1,14))
- │ │ │ │ └── flags: decimal
- │ │ │ ├── rest: ∅
- │ │ │ ├── posts: (length: 0)
- │ │ │ ├── keywords: (length: 0)
- │ │ │ ├── keyword_rest: ∅
- │ │ │ └── block: ∅
- │ │ ├── locals: (length: 0)
- │ │ ├── opening_loc: (1,4)-(1,5) = "|"
- │ │ └── closing_loc: (1,15)-(1,16) = "|"
- │ ├── body: ∅
- │ ├── opening_loc: (1,2)-(1,3) = "{"
- │ └── closing_loc: (1,17)-(1,18) = "}"
- └── flags: ∅
+ └── block:
+ @ BlockNode (location: (1,2)-(1,18))
+ ├── locals: [:b, :c]
+ ├── locals_body_index: 2
+ ├── parameters:
+ │ @ BlockParametersNode (location: (1,4)-(1,16))
+ │ ├── parameters:
+ │ │ @ ParametersNode (location: (1,6)-(1,14))
+ │ │ ├── requireds: (length: 0)
+ │ │ ├── optionals: (length: 2)
+ │ │ │ ├── @ OptionalParameterNode (location: (1,6)-(1,9))
+ │ │ │ │ ├── name: :b
+ │ │ │ │ ├── name_loc: (1,6)-(1,7) = "b"
+ │ │ │ │ ├── operator_loc: (1,7)-(1,8) = "="
+ │ │ │ │ └── value:
+ │ │ │ │ @ IntegerNode (location: (1,8)-(1,9))
+ │ │ │ │ └── flags: decimal
+ │ │ │ └── @ OptionalParameterNode (location: (1,11)-(1,14))
+ │ │ │ ├── name: :c
+ │ │ │ ├── name_loc: (1,11)-(1,12) = "c"
+ │ │ │ ├── operator_loc: (1,12)-(1,13) = "="
+ │ │ │ └── value:
+ │ │ │ @ IntegerNode (location: (1,13)-(1,14))
+ │ │ │ └── flags: decimal
+ │ │ ├── rest: ∅
+ │ │ ├── posts: (length: 0)
+ │ │ ├── keywords: (length: 0)
+ │ │ ├── keyword_rest: ∅
+ │ │ └── block: ∅
+ │ ├── locals: (length: 0)
+ │ ├── opening_loc: (1,4)-(1,5) = "|"
+ │ └── closing_loc: (1,15)-(1,16) = "|"
+ ├── body: ∅
+ ├── opening_loc: (1,2)-(1,3) = "{"
+ └── closing_loc: (1,17)-(1,18) = "}"
diff --git a/test/prism/snapshots/seattlerb/block_args_opt2_2.txt b/test/prism/snapshots/seattlerb/block_args_opt2_2.txt
index a79041020d..ee99843c6f 100644
--- a/test/prism/snapshots/seattlerb/block_args_opt2_2.txt
+++ b/test/prism/snapshots/seattlerb/block_args_opt2_2.txt
@@ -4,6 +4,7 @@
@ StatementsNode (location: (1,0)-(1,35))
└── body: (length: 1)
└── @ CallNode (location: (1,0)-(1,35))
+ ├── flags: ∅
├── receiver: ∅
├── call_operator_loc: ∅
├── name: :f
@@ -11,57 +12,56 @@
├── opening_loc: ∅
├── arguments: ∅
├── closing_loc: ∅
- ├── block:
- │ @ BlockNode (location: (1,2)-(1,35))
- │ ├── locals: [:a, :b, :c]
- │ ├── locals_body_index: 3
- │ ├── parameters:
- │ │ @ BlockParametersNode (location: (1,4)-(1,23))
- │ │ ├── parameters:
- │ │ │ @ ParametersNode (location: (1,5)-(1,22))
- │ │ │ ├── requireds: (length: 1)
- │ │ │ │ └── @ RequiredParameterNode (location: (1,5)-(1,6))
- │ │ │ │ └── name: :a
- │ │ │ ├── optionals: (length: 2)
- │ │ │ │ ├── @ OptionalParameterNode (location: (1,8)-(1,14))
- │ │ │ │ │ ├── name: :b
- │ │ │ │ │ ├── name_loc: (1,8)-(1,9) = "b"
- │ │ │ │ │ ├── operator_loc: (1,10)-(1,11) = "="
- │ │ │ │ │ └── value:
- │ │ │ │ │ @ IntegerNode (location: (1,12)-(1,14))
- │ │ │ │ │ └── flags: decimal
- │ │ │ │ └── @ OptionalParameterNode (location: (1,16)-(1,22))
- │ │ │ │ ├── name: :c
- │ │ │ │ ├── name_loc: (1,16)-(1,17) = "c"
- │ │ │ │ ├── operator_loc: (1,18)-(1,19) = "="
- │ │ │ │ └── value:
- │ │ │ │ @ IntegerNode (location: (1,20)-(1,22))
- │ │ │ │ └── flags: decimal
- │ │ │ ├── rest: ∅
- │ │ │ ├── posts: (length: 0)
- │ │ │ ├── keywords: (length: 0)
- │ │ │ ├── keyword_rest: ∅
- │ │ │ └── block: ∅
- │ │ ├── locals: (length: 0)
- │ │ ├── opening_loc: (1,4)-(1,5) = "|"
- │ │ └── closing_loc: (1,22)-(1,23) = "|"
- │ ├── body:
- │ │ @ StatementsNode (location: (1,24)-(1,33))
- │ │ └── body: (length: 1)
- │ │ └── @ ArrayNode (location: (1,24)-(1,33))
- │ │ ├── elements: (length: 3)
- │ │ │ ├── @ LocalVariableReadNode (location: (1,25)-(1,26))
- │ │ │ │ ├── name: :a
- │ │ │ │ └── depth: 0
- │ │ │ ├── @ LocalVariableReadNode (location: (1,28)-(1,29))
- │ │ │ │ ├── name: :b
- │ │ │ │ └── depth: 0
- │ │ │ └── @ LocalVariableReadNode (location: (1,31)-(1,32))
- │ │ │ ├── name: :c
- │ │ │ └── depth: 0
- │ │ ├── opening_loc: (1,24)-(1,25) = "["
- │ │ ├── closing_loc: (1,32)-(1,33) = "]"
- │ │ └── flags: ∅
- │ ├── opening_loc: (1,2)-(1,3) = "{"
- │ └── closing_loc: (1,34)-(1,35) = "}"
- └── flags: ∅
+ └── block:
+ @ BlockNode (location: (1,2)-(1,35))
+ ├── locals: [:a, :b, :c]
+ ├── locals_body_index: 3
+ ├── parameters:
+ │ @ BlockParametersNode (location: (1,4)-(1,23))
+ │ ├── parameters:
+ │ │ @ ParametersNode (location: (1,5)-(1,22))
+ │ │ ├── requireds: (length: 1)
+ │ │ │ └── @ RequiredParameterNode (location: (1,5)-(1,6))
+ │ │ │ └── name: :a
+ │ │ ├── optionals: (length: 2)
+ │ │ │ ├── @ OptionalParameterNode (location: (1,8)-(1,14))
+ │ │ │ │ ├── name: :b
+ │ │ │ │ ├── name_loc: (1,8)-(1,9) = "b"
+ │ │ │ │ ├── operator_loc: (1,10)-(1,11) = "="
+ │ │ │ │ └── value:
+ │ │ │ │ @ IntegerNode (location: (1,12)-(1,14))
+ │ │ │ │ └── flags: decimal
+ │ │ │ └── @ OptionalParameterNode (location: (1,16)-(1,22))
+ │ │ │ ├── name: :c
+ │ │ │ ├── name_loc: (1,16)-(1,17) = "c"
+ │ │ │ ├── operator_loc: (1,18)-(1,19) = "="
+ │ │ │ └── value:
+ │ │ │ @ IntegerNode (location: (1,20)-(1,22))
+ │ │ │ └── flags: decimal
+ │ │ ├── rest: ∅
+ │ │ ├── posts: (length: 0)
+ │ │ ├── keywords: (length: 0)
+ │ │ ├── keyword_rest: ∅
+ │ │ └── block: ∅
+ │ ├── locals: (length: 0)
+ │ ├── opening_loc: (1,4)-(1,5) = "|"
+ │ └── closing_loc: (1,22)-(1,23) = "|"
+ ├── body:
+ │ @ StatementsNode (location: (1,24)-(1,33))
+ │ └── body: (length: 1)
+ │ └── @ ArrayNode (location: (1,24)-(1,33))
+ │ ├── flags: ∅
+ │ ├── elements: (length: 3)
+ │ │ ├── @ LocalVariableReadNode (location: (1,25)-(1,26))
+ │ │ │ ├── name: :a
+ │ │ │ └── depth: 0
+ │ │ ├── @ LocalVariableReadNode (location: (1,28)-(1,29))
+ │ │ │ ├── name: :b
+ │ │ │ └── depth: 0
+ │ │ └── @ LocalVariableReadNode (location: (1,31)-(1,32))
+ │ │ ├── name: :c
+ │ │ └── depth: 0
+ │ ├── opening_loc: (1,24)-(1,25) = "["
+ │ └── closing_loc: (1,32)-(1,33) = "]"
+ ├── opening_loc: (1,2)-(1,3) = "{"
+ └── closing_loc: (1,34)-(1,35) = "}"
diff --git a/test/prism/snapshots/seattlerb/block_args_opt3.txt b/test/prism/snapshots/seattlerb/block_args_opt3.txt
index 0c1f87b36a..016fdc6358 100644
--- a/test/prism/snapshots/seattlerb/block_args_opt3.txt
+++ b/test/prism/snapshots/seattlerb/block_args_opt3.txt
@@ -4,6 +4,7 @@
@ StatementsNode (location: (1,0)-(1,42))
└── body: (length: 1)
└── @ CallNode (location: (1,0)-(1,42))
+ ├── flags: ∅
├── receiver: ∅
├── call_operator_loc: ∅
├── name: :f
@@ -11,64 +12,63 @@
├── opening_loc: ∅
├── arguments: ∅
├── closing_loc: ∅
- ├── block:
- │ @ BlockNode (location: (1,2)-(1,42))
- │ ├── locals: [:a, :b, :c, :d]
- │ ├── locals_body_index: 4
- │ ├── parameters:
- │ │ @ BlockParametersNode (location: (1,4)-(1,27))
- │ │ ├── parameters:
- │ │ │ @ ParametersNode (location: (1,5)-(1,26))
- │ │ │ ├── requireds: (length: 1)
- │ │ │ │ └── @ RequiredParameterNode (location: (1,5)-(1,6))
- │ │ │ │ └── name: :a
- │ │ │ ├── optionals: (length: 2)
- │ │ │ │ ├── @ OptionalParameterNode (location: (1,8)-(1,14))
- │ │ │ │ │ ├── name: :b
- │ │ │ │ │ ├── name_loc: (1,8)-(1,9) = "b"
- │ │ │ │ │ ├── operator_loc: (1,10)-(1,11) = "="
- │ │ │ │ │ └── value:
- │ │ │ │ │ @ IntegerNode (location: (1,12)-(1,14))
- │ │ │ │ │ └── flags: decimal
- │ │ │ │ └── @ OptionalParameterNode (location: (1,16)-(1,22))
- │ │ │ │ ├── name: :c
- │ │ │ │ ├── name_loc: (1,16)-(1,17) = "c"
- │ │ │ │ ├── operator_loc: (1,18)-(1,19) = "="
- │ │ │ │ └── value:
- │ │ │ │ @ IntegerNode (location: (1,20)-(1,22))
- │ │ │ │ └── flags: decimal
- │ │ │ ├── rest: ∅
- │ │ │ ├── posts: (length: 0)
- │ │ │ ├── keywords: (length: 0)
- │ │ │ ├── keyword_rest: ∅
- │ │ │ └── block:
- │ │ │ @ BlockParameterNode (location: (1,24)-(1,26))
- │ │ │ ├── name: :d
- │ │ │ ├── name_loc: (1,25)-(1,26) = "d"
- │ │ │ └── operator_loc: (1,24)-(1,25) = "&"
- │ │ ├── locals: (length: 0)
- │ │ ├── opening_loc: (1,4)-(1,5) = "|"
- │ │ └── closing_loc: (1,26)-(1,27) = "|"
- │ ├── body:
- │ │ @ StatementsNode (location: (1,28)-(1,40))
- │ │ └── body: (length: 1)
- │ │ └── @ ArrayNode (location: (1,28)-(1,40))
- │ │ ├── elements: (length: 4)
- │ │ │ ├── @ LocalVariableReadNode (location: (1,29)-(1,30))
- │ │ │ │ ├── name: :a
- │ │ │ │ └── depth: 0
- │ │ │ ├── @ LocalVariableReadNode (location: (1,32)-(1,33))
- │ │ │ │ ├── name: :b
- │ │ │ │ └── depth: 0
- │ │ │ ├── @ LocalVariableReadNode (location: (1,35)-(1,36))
- │ │ │ │ ├── name: :c
- │ │ │ │ └── depth: 0
- │ │ │ └── @ LocalVariableReadNode (location: (1,38)-(1,39))
- │ │ │ ├── name: :d
- │ │ │ └── depth: 0
- │ │ ├── opening_loc: (1,28)-(1,29) = "["
- │ │ ├── closing_loc: (1,39)-(1,40) = "]"
- │ │ └── flags: ∅
- │ ├── opening_loc: (1,2)-(1,3) = "{"
- │ └── closing_loc: (1,41)-(1,42) = "}"
- └── flags: ∅
+ └── block:
+ @ BlockNode (location: (1,2)-(1,42))
+ ├── locals: [:a, :b, :c, :d]
+ ├── locals_body_index: 4
+ ├── parameters:
+ │ @ BlockParametersNode (location: (1,4)-(1,27))
+ │ ├── parameters:
+ │ │ @ ParametersNode (location: (1,5)-(1,26))
+ │ │ ├── requireds: (length: 1)
+ │ │ │ └── @ RequiredParameterNode (location: (1,5)-(1,6))
+ │ │ │ └── name: :a
+ │ │ ├── optionals: (length: 2)
+ │ │ │ ├── @ OptionalParameterNode (location: (1,8)-(1,14))
+ │ │ │ │ ├── name: :b
+ │ │ │ │ ├── name_loc: (1,8)-(1,9) = "b"
+ │ │ │ │ ├── operator_loc: (1,10)-(1,11) = "="
+ │ │ │ │ └── value:
+ │ │ │ │ @ IntegerNode (location: (1,12)-(1,14))
+ │ │ │ │ └── flags: decimal
+ │ │ │ └── @ OptionalParameterNode (location: (1,16)-(1,22))
+ │ │ │ ├── name: :c
+ │ │ │ ├── name_loc: (1,16)-(1,17) = "c"
+ │ │ │ ├── operator_loc: (1,18)-(1,19) = "="
+ │ │ │ └── value:
+ │ │ │ @ IntegerNode (location: (1,20)-(1,22))
+ │ │ │ └── flags: decimal
+ │ │ ├── rest: ∅
+ │ │ ├── posts: (length: 0)
+ │ │ ├── keywords: (length: 0)
+ │ │ ├── keyword_rest: ∅
+ │ │ └── block:
+ │ │ @ BlockParameterNode (location: (1,24)-(1,26))
+ │ │ ├── name: :d
+ │ │ ├── name_loc: (1,25)-(1,26) = "d"
+ │ │ └── operator_loc: (1,24)-(1,25) = "&"
+ │ ├── locals: (length: 0)
+ │ ├── opening_loc: (1,4)-(1,5) = "|"
+ │ └── closing_loc: (1,26)-(1,27) = "|"
+ ├── body:
+ │ @ StatementsNode (location: (1,28)-(1,40))
+ │ └── body: (length: 1)
+ │ └── @ ArrayNode (location: (1,28)-(1,40))
+ │ ├── flags: ∅
+ │ ├── elements: (length: 4)
+ │ │ ├── @ LocalVariableReadNode (location: (1,29)-(1,30))
+ │ │ │ ├── name: :a
+ │ │ │ └── depth: 0
+ │ │ ├── @ LocalVariableReadNode (location: (1,32)-(1,33))
+ │ │ │ ├── name: :b
+ │ │ │ └── depth: 0
+ │ │ ├── @ LocalVariableReadNode (location: (1,35)-(1,36))
+ │ │ │ ├── name: :c
+ │ │ │ └── depth: 0
+ │ │ └── @ LocalVariableReadNode (location: (1,38)-(1,39))
+ │ │ ├── name: :d
+ │ │ └── depth: 0
+ │ ├── opening_loc: (1,28)-(1,29) = "["
+ │ └── closing_loc: (1,39)-(1,40) = "]"
+ ├── opening_loc: (1,2)-(1,3) = "{"
+ └── closing_loc: (1,41)-(1,42) = "}"
diff --git a/test/prism/snapshots/seattlerb/block_break.txt b/test/prism/snapshots/seattlerb/block_break.txt
index 557ac8a744..502d60ed40 100644
--- a/test/prism/snapshots/seattlerb/block_break.txt
+++ b/test/prism/snapshots/seattlerb/block_break.txt
@@ -6,51 +6,51 @@
└── @ BreakNode (location: (1,0)-(1,26))
├── arguments:
│ @ ArgumentsNode (location: (1,6)-(1,26))
- │ ├── arguments: (length: 1)
- │ │ └── @ CallNode (location: (1,6)-(1,26))
- │ │ ├── receiver: ∅
- │ │ ├── call_operator_loc: ∅
- │ │ ├── name: :foo
- │ │ ├── message_loc: (1,6)-(1,9) = "foo"
- │ │ ├── opening_loc: ∅
- │ │ ├── arguments:
- │ │ │ @ ArgumentsNode (location: (1,10)-(1,13))
- │ │ │ ├── arguments: (length: 1)
- │ │ │ │ └── @ CallNode (location: (1,10)-(1,13))
- │ │ │ │ ├── receiver: ∅
- │ │ │ │ ├── call_operator_loc: ∅
- │ │ │ │ ├── name: :arg
- │ │ │ │ ├── message_loc: (1,10)-(1,13) = "arg"
- │ │ │ │ ├── opening_loc: ∅
- │ │ │ │ ├── arguments: ∅
- │ │ │ │ ├── closing_loc: ∅
- │ │ │ │ ├── block: ∅
- │ │ │ │ └── flags: variable_call
- │ │ │ └── flags: ∅
- │ │ ├── closing_loc: ∅
- │ │ ├── block:
- │ │ │ @ BlockNode (location: (1,14)-(1,26))
- │ │ │ ├── locals: [:bar]
- │ │ │ ├── locals_body_index: 1
- │ │ │ ├── parameters:
- │ │ │ │ @ BlockParametersNode (location: (1,17)-(1,22))
- │ │ │ │ ├── parameters:
- │ │ │ │ │ @ ParametersNode (location: (1,18)-(1,21))
- │ │ │ │ │ ├── requireds: (length: 1)
- │ │ │ │ │ │ └── @ RequiredParameterNode (location: (1,18)-(1,21))
- │ │ │ │ │ │ └── name: :bar
- │ │ │ │ │ ├── optionals: (length: 0)
- │ │ │ │ │ ├── rest: ∅
- │ │ │ │ │ ├── posts: (length: 0)
- │ │ │ │ │ ├── keywords: (length: 0)
- │ │ │ │ │ ├── keyword_rest: ∅
- │ │ │ │ │ └── block: ∅
- │ │ │ │ ├── locals: (length: 0)
- │ │ │ │ ├── opening_loc: (1,17)-(1,18) = "|"
- │ │ │ │ └── closing_loc: (1,21)-(1,22) = "|"
- │ │ │ ├── body: ∅
- │ │ │ ├── opening_loc: (1,14)-(1,16) = "do"
- │ │ │ └── closing_loc: (1,23)-(1,26) = "end"
- │ │ └── flags: ∅
- │ └── flags: ∅
+ │ ├── flags: ∅
+ │ └── arguments: (length: 1)
+ │ └── @ CallNode (location: (1,6)-(1,26))
+ │ ├── flags: ∅
+ │ ├── receiver: ∅
+ │ ├── call_operator_loc: ∅
+ │ ├── name: :foo
+ │ ├── message_loc: (1,6)-(1,9) = "foo"
+ │ ├── opening_loc: ∅
+ │ ├── arguments:
+ │ │ @ ArgumentsNode (location: (1,10)-(1,13))
+ │ │ ├── flags: ∅
+ │ │ └── arguments: (length: 1)
+ │ │ └── @ CallNode (location: (1,10)-(1,13))
+ │ │ ├── flags: variable_call
+ │ │ ├── receiver: ∅
+ │ │ ├── call_operator_loc: ∅
+ │ │ ├── name: :arg
+ │ │ ├── message_loc: (1,10)-(1,13) = "arg"
+ │ │ ├── opening_loc: ∅
+ │ │ ├── arguments: ∅
+ │ │ ├── closing_loc: ∅
+ │ │ └── block: ∅
+ │ ├── closing_loc: ∅
+ │ └── block:
+ │ @ BlockNode (location: (1,14)-(1,26))
+ │ ├── locals: [:bar]
+ │ ├── locals_body_index: 1
+ │ ├── parameters:
+ │ │ @ BlockParametersNode (location: (1,17)-(1,22))
+ │ │ ├── parameters:
+ │ │ │ @ ParametersNode (location: (1,18)-(1,21))
+ │ │ │ ├── requireds: (length: 1)
+ │ │ │ │ └── @ RequiredParameterNode (location: (1,18)-(1,21))
+ │ │ │ │ └── name: :bar
+ │ │ │ ├── optionals: (length: 0)
+ │ │ │ ├── rest: ∅
+ │ │ │ ├── posts: (length: 0)
+ │ │ │ ├── keywords: (length: 0)
+ │ │ │ ├── keyword_rest: ∅
+ │ │ │ └── block: ∅
+ │ │ ├── locals: (length: 0)
+ │ │ ├── opening_loc: (1,17)-(1,18) = "|"
+ │ │ └── closing_loc: (1,21)-(1,22) = "|"
+ │ ├── body: ∅
+ │ ├── opening_loc: (1,14)-(1,16) = "do"
+ │ └── closing_loc: (1,23)-(1,26) = "end"
└── keyword_loc: (1,0)-(1,5) = "break"
diff --git a/test/prism/snapshots/seattlerb/block_call_defn_call_block_call.txt b/test/prism/snapshots/seattlerb/block_call_defn_call_block_call.txt
index e9e37fc104..363ee275fa 100644
--- a/test/prism/snapshots/seattlerb/block_call_defn_call_block_call.txt
+++ b/test/prism/snapshots/seattlerb/block_call_defn_call_block_call.txt
@@ -4,6 +4,7 @@
@ StatementsNode (location: (1,0)-(4,11))
└── body: (length: 2)
├── @ CallNode (location: (1,0)-(3,4))
+ │ ├── flags: ∅
│ ├── receiver: ∅
│ ├── call_operator_loc: ∅
│ ├── name: :a
@@ -11,50 +12,51 @@
│ ├── opening_loc: ∅
│ ├── arguments:
│ │ @ ArgumentsNode (location: (1,2)-(3,4))
- │ │ ├── arguments: (length: 1)
- │ │ │ └── @ DefNode (location: (1,2)-(3,4))
- │ │ │ ├── name: :b
- │ │ │ ├── name_loc: (1,6)-(1,7) = "b"
- │ │ │ ├── receiver: ∅
- │ │ │ ├── parameters:
- │ │ │ │ @ ParametersNode (location: (1,8)-(1,9))
- │ │ │ │ ├── requireds: (length: 1)
- │ │ │ │ │ └── @ RequiredParameterNode (location: (1,8)-(1,9))
- │ │ │ │ │ └── name: :c
- │ │ │ │ ├── optionals: (length: 0)
- │ │ │ │ ├── rest: ∅
- │ │ │ │ ├── posts: (length: 0)
- │ │ │ │ ├── keywords: (length: 0)
- │ │ │ │ ├── keyword_rest: ∅
- │ │ │ │ └── block: ∅
- │ │ │ ├── body:
- │ │ │ │ @ StatementsNode (location: (2,1)-(2,2))
- │ │ │ │ └── body: (length: 1)
- │ │ │ │ └── @ CallNode (location: (2,1)-(2,2))
- │ │ │ │ ├── receiver: ∅
- │ │ │ │ ├── call_operator_loc: ∅
- │ │ │ │ ├── name: :d
- │ │ │ │ ├── message_loc: (2,1)-(2,2) = "d"
- │ │ │ │ ├── opening_loc: ∅
- │ │ │ │ ├── arguments: ∅
- │ │ │ │ ├── closing_loc: ∅
- │ │ │ │ ├── block: ∅
- │ │ │ │ └── flags: variable_call
- │ │ │ ├── locals: [:c]
- │ │ │ ├── locals_body_index: 1
- │ │ │ ├── def_keyword_loc: (1,2)-(1,5) = "def"
- │ │ │ ├── operator_loc: ∅
- │ │ │ ├── lparen_loc: (1,7)-(1,8) = "("
- │ │ │ ├── rparen_loc: (1,9)-(1,10) = ")"
- │ │ │ ├── equal_loc: ∅
- │ │ │ └── end_keyword_loc: (3,1)-(3,4) = "end"
- │ │ └── flags: ∅
+ │ │ ├── flags: ∅
+ │ │ └── arguments: (length: 1)
+ │ │ └── @ DefNode (location: (1,2)-(3,4))
+ │ │ ├── name: :b
+ │ │ ├── name_loc: (1,6)-(1,7) = "b"
+ │ │ ├── receiver: ∅
+ │ │ ├── parameters:
+ │ │ │ @ ParametersNode (location: (1,8)-(1,9))
+ │ │ │ ├── requireds: (length: 1)
+ │ │ │ │ └── @ RequiredParameterNode (location: (1,8)-(1,9))
+ │ │ │ │ └── name: :c
+ │ │ │ ├── optionals: (length: 0)
+ │ │ │ ├── rest: ∅
+ │ │ │ ├── posts: (length: 0)
+ │ │ │ ├── keywords: (length: 0)
+ │ │ │ ├── keyword_rest: ∅
+ │ │ │ └── block: ∅
+ │ │ ├── body:
+ │ │ │ @ StatementsNode (location: (2,1)-(2,2))
+ │ │ │ └── body: (length: 1)
+ │ │ │ └── @ CallNode (location: (2,1)-(2,2))
+ │ │ │ ├── flags: variable_call
+ │ │ │ ├── receiver: ∅
+ │ │ │ ├── call_operator_loc: ∅
+ │ │ │ ├── name: :d
+ │ │ │ ├── message_loc: (2,1)-(2,2) = "d"
+ │ │ │ ├── opening_loc: ∅
+ │ │ │ ├── arguments: ∅
+ │ │ │ ├── closing_loc: ∅
+ │ │ │ └── block: ∅
+ │ │ ├── locals: [:c]
+ │ │ ├── locals_body_index: 1
+ │ │ ├── def_keyword_loc: (1,2)-(1,5) = "def"
+ │ │ ├── operator_loc: ∅
+ │ │ ├── lparen_loc: (1,7)-(1,8) = "("
+ │ │ ├── rparen_loc: (1,9)-(1,10) = ")"
+ │ │ ├── equal_loc: ∅
+ │ │ └── end_keyword_loc: (3,1)-(3,4) = "end"
│ ├── closing_loc: ∅
- │ ├── block: ∅
- │ └── flags: ∅
+ │ └── block: ∅
└── @ CallNode (location: (4,1)-(4,11))
+ ├── flags: ∅
├── receiver:
│ @ CallNode (location: (4,1)-(4,2))
+ │ ├── flags: variable_call
│ ├── receiver: ∅
│ ├── call_operator_loc: ∅
│ ├── name: :e
@@ -62,20 +64,18 @@
│ ├── opening_loc: ∅
│ ├── arguments: ∅
│ ├── closing_loc: ∅
- │ ├── block: ∅
- │ └── flags: variable_call
+ │ └── block: ∅
├── call_operator_loc: (4,2)-(4,3) = "."
├── name: :f
├── message_loc: (4,3)-(4,4) = "f"
├── opening_loc: ∅
├── arguments: ∅
├── closing_loc: ∅
- ├── block:
- │ @ BlockNode (location: (4,5)-(4,11))
- │ ├── locals: []
- │ ├── locals_body_index: 0
- │ ├── parameters: ∅
- │ ├── body: ∅
- │ ├── opening_loc: (4,5)-(4,7) = "do"
- │ └── closing_loc: (4,8)-(4,11) = "end"
- └── flags: ∅
+ └── block:
+ @ BlockNode (location: (4,5)-(4,11))
+ ├── locals: []
+ ├── locals_body_index: 0
+ ├── parameters: ∅
+ ├── body: ∅
+ ├── opening_loc: (4,5)-(4,7) = "do"
+ └── closing_loc: (4,8)-(4,11) = "end"
diff --git a/test/prism/snapshots/seattlerb/block_call_dot_op2_brace_block.txt b/test/prism/snapshots/seattlerb/block_call_dot_op2_brace_block.txt
index 434c01c6bd..e49d2b8d01 100644
--- a/test/prism/snapshots/seattlerb/block_call_dot_op2_brace_block.txt
+++ b/test/prism/snapshots/seattlerb/block_call_dot_op2_brace_block.txt
@@ -4,10 +4,13 @@
@ StatementsNode (location: (1,0)-(1,31))
└── body: (length: 1)
└── @ CallNode (location: (1,0)-(1,31))
+ ├── flags: ∅
├── receiver:
│ @ CallNode (location: (1,0)-(1,16))
+ │ ├── flags: ∅
│ ├── receiver:
│ │ @ CallNode (location: (1,0)-(1,1))
+ │ │ ├── flags: variable_call
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
│ │ ├── name: :a
@@ -15,87 +18,84 @@
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
- │ │ ├── block: ∅
- │ │ └── flags: variable_call
+ │ │ └── block: ∅
│ ├── call_operator_loc: (1,1)-(1,2) = "."
│ ├── name: :b
│ ├── message_loc: (1,2)-(1,3) = "b"
│ ├── opening_loc: ∅
│ ├── arguments:
│ │ @ ArgumentsNode (location: (1,4)-(1,7))
- │ │ ├── arguments: (length: 1)
- │ │ │ └── @ CallNode (location: (1,4)-(1,7))
- │ │ │ ├── receiver: ∅
- │ │ │ ├── call_operator_loc: ∅
- │ │ │ ├── name: :c
- │ │ │ ├── message_loc: (1,4)-(1,5) = "c"
- │ │ │ ├── opening_loc: (1,5)-(1,6) = "("
- │ │ │ ├── arguments: ∅
- │ │ │ ├── closing_loc: (1,6)-(1,7) = ")"
- │ │ │ ├── block: ∅
- │ │ │ └── flags: ∅
- │ │ └── flags: ∅
+ │ │ ├── flags: ∅
+ │ │ └── arguments: (length: 1)
+ │ │ └── @ CallNode (location: (1,4)-(1,7))
+ │ │ ├── flags: ∅
+ │ │ ├── receiver: ∅
+ │ │ ├── call_operator_loc: ∅
+ │ │ ├── name: :c
+ │ │ ├── message_loc: (1,4)-(1,5) = "c"
+ │ │ ├── opening_loc: (1,5)-(1,6) = "("
+ │ │ ├── arguments: ∅
+ │ │ ├── closing_loc: (1,6)-(1,7) = ")"
+ │ │ └── block: ∅
│ ├── closing_loc: ∅
- │ ├── block:
- │ │ @ BlockNode (location: (1,8)-(1,16))
- │ │ ├── locals: []
- │ │ ├── locals_body_index: 0
- │ │ ├── parameters: ∅
- │ │ ├── body:
- │ │ │ @ StatementsNode (location: (1,11)-(1,12))
- │ │ │ └── body: (length: 1)
- │ │ │ └── @ CallNode (location: (1,11)-(1,12))
- │ │ │ ├── receiver: ∅
- │ │ │ ├── call_operator_loc: ∅
- │ │ │ ├── name: :d
- │ │ │ ├── message_loc: (1,11)-(1,12) = "d"
- │ │ │ ├── opening_loc: ∅
- │ │ │ ├── arguments: ∅
- │ │ │ ├── closing_loc: ∅
- │ │ │ ├── block: ∅
- │ │ │ └── flags: variable_call
- │ │ ├── opening_loc: (1,8)-(1,10) = "do"
- │ │ └── closing_loc: (1,13)-(1,16) = "end"
- │ └── flags: ∅
+ │ └── block:
+ │ @ BlockNode (location: (1,8)-(1,16))
+ │ ├── locals: []
+ │ ├── locals_body_index: 0
+ │ ├── parameters: ∅
+ │ ├── body:
+ │ │ @ StatementsNode (location: (1,11)-(1,12))
+ │ │ └── body: (length: 1)
+ │ │ └── @ CallNode (location: (1,11)-(1,12))
+ │ │ ├── flags: variable_call
+ │ │ ├── receiver: ∅
+ │ │ ├── call_operator_loc: ∅
+ │ │ ├── name: :d
+ │ │ ├── message_loc: (1,11)-(1,12) = "d"
+ │ │ ├── opening_loc: ∅
+ │ │ ├── arguments: ∅
+ │ │ ├── closing_loc: ∅
+ │ │ └── block: ∅
+ │ ├── opening_loc: (1,8)-(1,10) = "do"
+ │ └── closing_loc: (1,13)-(1,16) = "end"
├── call_operator_loc: (1,16)-(1,17) = "."
├── name: :e
├── message_loc: (1,17)-(1,18) = "e"
├── opening_loc: ∅
├── arguments: ∅
├── closing_loc: ∅
- ├── block:
- │ @ BlockNode (location: (1,19)-(1,31))
- │ ├── locals: [:f]
- │ ├── locals_body_index: 1
- │ ├── parameters:
- │ │ @ BlockParametersNode (location: (1,22)-(1,25))
- │ │ ├── parameters:
- │ │ │ @ ParametersNode (location: (1,23)-(1,24))
- │ │ │ ├── requireds: (length: 1)
- │ │ │ │ └── @ RequiredParameterNode (location: (1,23)-(1,24))
- │ │ │ │ └── name: :f
- │ │ │ ├── optionals: (length: 0)
- │ │ │ ├── rest: ∅
- │ │ │ ├── posts: (length: 0)
- │ │ │ ├── keywords: (length: 0)
- │ │ │ ├── keyword_rest: ∅
- │ │ │ └── block: ∅
- │ │ ├── locals: (length: 0)
- │ │ ├── opening_loc: (1,22)-(1,23) = "|"
- │ │ └── closing_loc: (1,24)-(1,25) = "|"
- │ ├── body:
- │ │ @ StatementsNode (location: (1,26)-(1,27))
- │ │ └── body: (length: 1)
- │ │ └── @ CallNode (location: (1,26)-(1,27))
- │ │ ├── receiver: ∅
- │ │ ├── call_operator_loc: ∅
- │ │ ├── name: :g
- │ │ ├── message_loc: (1,26)-(1,27) = "g"
- │ │ ├── opening_loc: ∅
- │ │ ├── arguments: ∅
- │ │ ├── closing_loc: ∅
- │ │ ├── block: ∅
- │ │ └── flags: variable_call
- │ ├── opening_loc: (1,19)-(1,21) = "do"
- │ └── closing_loc: (1,28)-(1,31) = "end"
- └── flags: ∅
+ └── block:
+ @ BlockNode (location: (1,19)-(1,31))
+ ├── locals: [:f]
+ ├── locals_body_index: 1
+ ├── parameters:
+ │ @ BlockParametersNode (location: (1,22)-(1,25))
+ │ ├── parameters:
+ │ │ @ ParametersNode (location: (1,23)-(1,24))
+ │ │ ├── requireds: (length: 1)
+ │ │ │ └── @ RequiredParameterNode (location: (1,23)-(1,24))
+ │ │ │ └── name: :f
+ │ │ ├── optionals: (length: 0)
+ │ │ ├── rest: ∅
+ │ │ ├── posts: (length: 0)
+ │ │ ├── keywords: (length: 0)
+ │ │ ├── keyword_rest: ∅
+ │ │ └── block: ∅
+ │ ├── locals: (length: 0)
+ │ ├── opening_loc: (1,22)-(1,23) = "|"
+ │ └── closing_loc: (1,24)-(1,25) = "|"
+ ├── body:
+ │ @ StatementsNode (location: (1,26)-(1,27))
+ │ └── body: (length: 1)
+ │ └── @ CallNode (location: (1,26)-(1,27))
+ │ ├── flags: variable_call
+ │ ├── receiver: ∅
+ │ ├── call_operator_loc: ∅
+ │ ├── name: :g
+ │ ├── message_loc: (1,26)-(1,27) = "g"
+ │ ├── opening_loc: ∅
+ │ ├── arguments: ∅
+ │ ├── closing_loc: ∅
+ │ └── block: ∅
+ ├── opening_loc: (1,19)-(1,21) = "do"
+ └── closing_loc: (1,28)-(1,31) = "end"
diff --git a/test/prism/snapshots/seattlerb/block_call_dot_op2_cmd_args_do_block.txt b/test/prism/snapshots/seattlerb/block_call_dot_op2_cmd_args_do_block.txt
index c79d1cc775..0656b2e53e 100644
--- a/test/prism/snapshots/seattlerb/block_call_dot_op2_cmd_args_do_block.txt
+++ b/test/prism/snapshots/seattlerb/block_call_dot_op2_cmd_args_do_block.txt
@@ -4,10 +4,13 @@
@ StatementsNode (location: (1,0)-(1,33))
└── body: (length: 1)
└── @ CallNode (location: (1,0)-(1,33))
+ ├── flags: ∅
├── receiver:
│ @ CallNode (location: (1,0)-(1,16))
+ │ ├── flags: ∅
│ ├── receiver:
│ │ @ CallNode (location: (1,0)-(1,1))
+ │ │ ├── flags: variable_call
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
│ │ ├── name: :a
@@ -15,100 +18,97 @@
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
- │ │ ├── block: ∅
- │ │ └── flags: variable_call
+ │ │ └── block: ∅
│ ├── call_operator_loc: (1,1)-(1,2) = "."
│ ├── name: :b
│ ├── message_loc: (1,2)-(1,3) = "b"
│ ├── opening_loc: ∅
│ ├── arguments:
│ │ @ ArgumentsNode (location: (1,4)-(1,7))
- │ │ ├── arguments: (length: 1)
- │ │ │ └── @ CallNode (location: (1,4)-(1,7))
- │ │ │ ├── receiver: ∅
- │ │ │ ├── call_operator_loc: ∅
- │ │ │ ├── name: :c
- │ │ │ ├── message_loc: (1,4)-(1,5) = "c"
- │ │ │ ├── opening_loc: (1,5)-(1,6) = "("
- │ │ │ ├── arguments: ∅
- │ │ │ ├── closing_loc: (1,6)-(1,7) = ")"
- │ │ │ ├── block: ∅
- │ │ │ └── flags: ∅
- │ │ └── flags: ∅
+ │ │ ├── flags: ∅
+ │ │ └── arguments: (length: 1)
+ │ │ └── @ CallNode (location: (1,4)-(1,7))
+ │ │ ├── flags: ∅
+ │ │ ├── receiver: ∅
+ │ │ ├── call_operator_loc: ∅
+ │ │ ├── name: :c
+ │ │ ├── message_loc: (1,4)-(1,5) = "c"
+ │ │ ├── opening_loc: (1,5)-(1,6) = "("
+ │ │ ├── arguments: ∅
+ │ │ ├── closing_loc: (1,6)-(1,7) = ")"
+ │ │ └── block: ∅
│ ├── closing_loc: ∅
- │ ├── block:
- │ │ @ BlockNode (location: (1,8)-(1,16))
- │ │ ├── locals: []
- │ │ ├── locals_body_index: 0
- │ │ ├── parameters: ∅
- │ │ ├── body:
- │ │ │ @ StatementsNode (location: (1,11)-(1,12))
- │ │ │ └── body: (length: 1)
- │ │ │ └── @ CallNode (location: (1,11)-(1,12))
- │ │ │ ├── receiver: ∅
- │ │ │ ├── call_operator_loc: ∅
- │ │ │ ├── name: :d
- │ │ │ ├── message_loc: (1,11)-(1,12) = "d"
- │ │ │ ├── opening_loc: ∅
- │ │ │ ├── arguments: ∅
- │ │ │ ├── closing_loc: ∅
- │ │ │ ├── block: ∅
- │ │ │ └── flags: variable_call
- │ │ ├── opening_loc: (1,8)-(1,10) = "do"
- │ │ └── closing_loc: (1,13)-(1,16) = "end"
- │ └── flags: ∅
+ │ └── block:
+ │ @ BlockNode (location: (1,8)-(1,16))
+ │ ├── locals: []
+ │ ├── locals_body_index: 0
+ │ ├── parameters: ∅
+ │ ├── body:
+ │ │ @ StatementsNode (location: (1,11)-(1,12))
+ │ │ └── body: (length: 1)
+ │ │ └── @ CallNode (location: (1,11)-(1,12))
+ │ │ ├── flags: variable_call
+ │ │ ├── receiver: ∅
+ │ │ ├── call_operator_loc: ∅
+ │ │ ├── name: :d
+ │ │ ├── message_loc: (1,11)-(1,12) = "d"
+ │ │ ├── opening_loc: ∅
+ │ │ ├── arguments: ∅
+ │ │ ├── closing_loc: ∅
+ │ │ └── block: ∅
+ │ ├── opening_loc: (1,8)-(1,10) = "do"
+ │ └── closing_loc: (1,13)-(1,16) = "end"
├── call_operator_loc: (1,16)-(1,17) = "."
├── name: :e
├── message_loc: (1,17)-(1,18) = "e"
├── opening_loc: ∅
├── arguments:
│ @ ArgumentsNode (location: (1,19)-(1,20))
- │ ├── arguments: (length: 1)
- │ │ └── @ CallNode (location: (1,19)-(1,20))
- │ │ ├── receiver: ∅
- │ │ ├── call_operator_loc: ∅
- │ │ ├── name: :f
- │ │ ├── message_loc: (1,19)-(1,20) = "f"
- │ │ ├── opening_loc: ∅
- │ │ ├── arguments: ∅
- │ │ ├── closing_loc: ∅
- │ │ ├── block: ∅
- │ │ └── flags: variable_call
- │ └── flags: ∅
+ │ ├── flags: ∅
+ │ └── arguments: (length: 1)
+ │ └── @ CallNode (location: (1,19)-(1,20))
+ │ ├── flags: variable_call
+ │ ├── receiver: ∅
+ │ ├── call_operator_loc: ∅
+ │ ├── name: :f
+ │ ├── message_loc: (1,19)-(1,20) = "f"
+ │ ├── opening_loc: ∅
+ │ ├── arguments: ∅
+ │ ├── closing_loc: ∅
+ │ └── block: ∅
├── closing_loc: ∅
- ├── block:
- │ @ BlockNode (location: (1,21)-(1,33))
- │ ├── locals: [:g]
- │ ├── locals_body_index: 1
- │ ├── parameters:
- │ │ @ BlockParametersNode (location: (1,24)-(1,27))
- │ │ ├── parameters:
- │ │ │ @ ParametersNode (location: (1,25)-(1,26))
- │ │ │ ├── requireds: (length: 1)
- │ │ │ │ └── @ RequiredParameterNode (location: (1,25)-(1,26))
- │ │ │ │ └── name: :g
- │ │ │ ├── optionals: (length: 0)
- │ │ │ ├── rest: ∅
- │ │ │ ├── posts: (length: 0)
- │ │ │ ├── keywords: (length: 0)
- │ │ │ ├── keyword_rest: ∅
- │ │ │ └── block: ∅
- │ │ ├── locals: (length: 0)
- │ │ ├── opening_loc: (1,24)-(1,25) = "|"
- │ │ └── closing_loc: (1,26)-(1,27) = "|"
- │ ├── body:
- │ │ @ StatementsNode (location: (1,28)-(1,29))
- │ │ └── body: (length: 1)
- │ │ └── @ CallNode (location: (1,28)-(1,29))
- │ │ ├── receiver: ∅
- │ │ ├── call_operator_loc: ∅
- │ │ ├── name: :h
- │ │ ├── message_loc: (1,28)-(1,29) = "h"
- │ │ ├── opening_loc: ∅
- │ │ ├── arguments: ∅
- │ │ ├── closing_loc: ∅
- │ │ ├── block: ∅
- │ │ └── flags: variable_call
- │ ├── opening_loc: (1,21)-(1,23) = "do"
- │ └── closing_loc: (1,30)-(1,33) = "end"
- └── flags: ∅
+ └── block:
+ @ BlockNode (location: (1,21)-(1,33))
+ ├── locals: [:g]
+ ├── locals_body_index: 1
+ ├── parameters:
+ │ @ BlockParametersNode (location: (1,24)-(1,27))
+ │ ├── parameters:
+ │ │ @ ParametersNode (location: (1,25)-(1,26))
+ │ │ ├── requireds: (length: 1)
+ │ │ │ └── @ RequiredParameterNode (location: (1,25)-(1,26))
+ │ │ │ └── name: :g
+ │ │ ├── optionals: (length: 0)
+ │ │ ├── rest: ∅
+ │ │ ├── posts: (length: 0)
+ │ │ ├── keywords: (length: 0)
+ │ │ ├── keyword_rest: ∅
+ │ │ └── block: ∅
+ │ ├── locals: (length: 0)
+ │ ├── opening_loc: (1,24)-(1,25) = "|"
+ │ └── closing_loc: (1,26)-(1,27) = "|"
+ ├── body:
+ │ @ StatementsNode (location: (1,28)-(1,29))
+ │ └── body: (length: 1)
+ │ └── @ CallNode (location: (1,28)-(1,29))
+ │ ├── flags: variable_call
+ │ ├── receiver: ∅
+ │ ├── call_operator_loc: ∅
+ │ ├── name: :h
+ │ ├── message_loc: (1,28)-(1,29) = "h"
+ │ ├── opening_loc: ∅
+ │ ├── arguments: ∅
+ │ ├── closing_loc: ∅
+ │ └── block: ∅
+ ├── opening_loc: (1,21)-(1,23) = "do"
+ └── closing_loc: (1,30)-(1,33) = "end"
diff --git a/test/prism/snapshots/seattlerb/block_call_operation_colon.txt b/test/prism/snapshots/seattlerb/block_call_operation_colon.txt
index 61ea4563e8..ebe805b932 100644
--- a/test/prism/snapshots/seattlerb/block_call_operation_colon.txt
+++ b/test/prism/snapshots/seattlerb/block_call_operation_colon.txt
@@ -4,10 +4,13 @@
@ StatementsNode (location: (1,0)-(1,15))
└── body: (length: 1)
└── @ CallNode (location: (1,0)-(1,15))
+ ├── flags: ∅
├── receiver:
│ @ CallNode (location: (1,0)-(1,12))
+ │ ├── flags: ∅
│ ├── receiver:
│ │ @ CallNode (location: (1,0)-(1,1))
+ │ │ ├── flags: variable_call
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
│ │ ├── name: :a
@@ -15,41 +18,38 @@
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
- │ │ ├── block: ∅
- │ │ └── flags: variable_call
+ │ │ └── block: ∅
│ ├── call_operator_loc: (1,1)-(1,2) = "."
│ ├── name: :b
│ ├── message_loc: (1,2)-(1,3) = "b"
│ ├── opening_loc: ∅
│ ├── arguments:
│ │ @ ArgumentsNode (location: (1,4)-(1,5))
- │ │ ├── arguments: (length: 1)
- │ │ │ └── @ CallNode (location: (1,4)-(1,5))
- │ │ │ ├── receiver: ∅
- │ │ │ ├── call_operator_loc: ∅
- │ │ │ ├── name: :c
- │ │ │ ├── message_loc: (1,4)-(1,5) = "c"
- │ │ │ ├── opening_loc: ∅
- │ │ │ ├── arguments: ∅
- │ │ │ ├── closing_loc: ∅
- │ │ │ ├── block: ∅
- │ │ │ └── flags: variable_call
- │ │ └── flags: ∅
+ │ │ ├── flags: ∅
+ │ │ └── arguments: (length: 1)
+ │ │ └── @ CallNode (location: (1,4)-(1,5))
+ │ │ ├── flags: variable_call
+ │ │ ├── receiver: ∅
+ │ │ ├── call_operator_loc: ∅
+ │ │ ├── name: :c
+ │ │ ├── message_loc: (1,4)-(1,5) = "c"
+ │ │ ├── opening_loc: ∅
+ │ │ ├── arguments: ∅
+ │ │ ├── closing_loc: ∅
+ │ │ └── block: ∅
│ ├── closing_loc: ∅
- │ ├── block:
- │ │ @ BlockNode (location: (1,6)-(1,12))
- │ │ ├── locals: []
- │ │ ├── locals_body_index: 0
- │ │ ├── parameters: ∅
- │ │ ├── body: ∅
- │ │ ├── opening_loc: (1,6)-(1,8) = "do"
- │ │ └── closing_loc: (1,9)-(1,12) = "end"
- │ └── flags: ∅
+ │ └── block:
+ │ @ BlockNode (location: (1,6)-(1,12))
+ │ ├── locals: []
+ │ ├── locals_body_index: 0
+ │ ├── parameters: ∅
+ │ ├── body: ∅
+ │ ├── opening_loc: (1,6)-(1,8) = "do"
+ │ └── closing_loc: (1,9)-(1,12) = "end"
├── call_operator_loc: (1,12)-(1,14) = "::"
├── name: :d
├── message_loc: (1,14)-(1,15) = "d"
├── opening_loc: ∅
├── arguments: ∅
├── closing_loc: ∅
- ├── block: ∅
- └── flags: ∅
+ └── block: ∅
diff --git a/test/prism/snapshots/seattlerb/block_call_operation_dot.txt b/test/prism/snapshots/seattlerb/block_call_operation_dot.txt
index 053c2bfae2..1824f897f6 100644
--- a/test/prism/snapshots/seattlerb/block_call_operation_dot.txt
+++ b/test/prism/snapshots/seattlerb/block_call_operation_dot.txt
@@ -4,10 +4,13 @@
@ StatementsNode (location: (1,0)-(1,14))
└── body: (length: 1)
└── @ CallNode (location: (1,0)-(1,14))
+ ├── flags: ∅
├── receiver:
│ @ CallNode (location: (1,0)-(1,12))
+ │ ├── flags: ∅
│ ├── receiver:
│ │ @ CallNode (location: (1,0)-(1,1))
+ │ │ ├── flags: variable_call
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
│ │ ├── name: :a
@@ -15,41 +18,38 @@
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
- │ │ ├── block: ∅
- │ │ └── flags: variable_call
+ │ │ └── block: ∅
│ ├── call_operator_loc: (1,1)-(1,2) = "."
│ ├── name: :b
│ ├── message_loc: (1,2)-(1,3) = "b"
│ ├── opening_loc: ∅
│ ├── arguments:
│ │ @ ArgumentsNode (location: (1,4)-(1,5))
- │ │ ├── arguments: (length: 1)
- │ │ │ └── @ CallNode (location: (1,4)-(1,5))
- │ │ │ ├── receiver: ∅
- │ │ │ ├── call_operator_loc: ∅
- │ │ │ ├── name: :c
- │ │ │ ├── message_loc: (1,4)-(1,5) = "c"
- │ │ │ ├── opening_loc: ∅
- │ │ │ ├── arguments: ∅
- │ │ │ ├── closing_loc: ∅
- │ │ │ ├── block: ∅
- │ │ │ └── flags: variable_call
- │ │ └── flags: ∅
+ │ │ ├── flags: ∅
+ │ │ └── arguments: (length: 1)
+ │ │ └── @ CallNode (location: (1,4)-(1,5))
+ │ │ ├── flags: variable_call
+ │ │ ├── receiver: ∅
+ │ │ ├── call_operator_loc: ∅
+ │ │ ├── name: :c
+ │ │ ├── message_loc: (1,4)-(1,5) = "c"
+ │ │ ├── opening_loc: ∅
+ │ │ ├── arguments: ∅
+ │ │ ├── closing_loc: ∅
+ │ │ └── block: ∅
│ ├── closing_loc: ∅
- │ ├── block:
- │ │ @ BlockNode (location: (1,6)-(1,12))
- │ │ ├── locals: []
- │ │ ├── locals_body_index: 0
- │ │ ├── parameters: ∅
- │ │ ├── body: ∅
- │ │ ├── opening_loc: (1,6)-(1,8) = "do"
- │ │ └── closing_loc: (1,9)-(1,12) = "end"
- │ └── flags: ∅
+ │ └── block:
+ │ @ BlockNode (location: (1,6)-(1,12))
+ │ ├── locals: []
+ │ ├── locals_body_index: 0
+ │ ├── parameters: ∅
+ │ ├── body: ∅
+ │ ├── opening_loc: (1,6)-(1,8) = "do"
+ │ └── closing_loc: (1,9)-(1,12) = "end"
├── call_operator_loc: (1,12)-(1,13) = "."
├── name: :d
├── message_loc: (1,13)-(1,14) = "d"
├── opening_loc: ∅
├── arguments: ∅
├── closing_loc: ∅
- ├── block: ∅
- └── flags: ∅
+ └── block: ∅
diff --git a/test/prism/snapshots/seattlerb/block_call_paren_call_block_call.txt b/test/prism/snapshots/seattlerb/block_call_paren_call_block_call.txt
index 8067e7ef96..69e5ddf6fc 100644
--- a/test/prism/snapshots/seattlerb/block_call_paren_call_block_call.txt
+++ b/test/prism/snapshots/seattlerb/block_call_paren_call_block_call.txt
@@ -4,6 +4,7 @@
@ StatementsNode (location: (1,0)-(2,10))
└── body: (length: 2)
├── @ CallNode (location: (1,0)-(1,5))
+ │ ├── flags: ∅
│ ├── receiver: ∅
│ ├── call_operator_loc: ∅
│ ├── name: :a
@@ -11,30 +12,31 @@
│ ├── opening_loc: ∅
│ ├── arguments:
│ │ @ ArgumentsNode (location: (1,2)-(1,5))
- │ │ ├── arguments: (length: 1)
- │ │ │ └── @ ParenthesesNode (location: (1,2)-(1,5))
- │ │ │ ├── body:
- │ │ │ │ @ StatementsNode (location: (1,3)-(1,4))
- │ │ │ │ └── body: (length: 1)
- │ │ │ │ └── @ CallNode (location: (1,3)-(1,4))
- │ │ │ │ ├── receiver: ∅
- │ │ │ │ ├── call_operator_loc: ∅
- │ │ │ │ ├── name: :b
- │ │ │ │ ├── message_loc: (1,3)-(1,4) = "b"
- │ │ │ │ ├── opening_loc: ∅
- │ │ │ │ ├── arguments: ∅
- │ │ │ │ ├── closing_loc: ∅
- │ │ │ │ ├── block: ∅
- │ │ │ │ └── flags: variable_call
- │ │ │ ├── opening_loc: (1,2)-(1,3) = "("
- │ │ │ └── closing_loc: (1,4)-(1,5) = ")"
- │ │ └── flags: ∅
+ │ │ ├── flags: ∅
+ │ │ └── arguments: (length: 1)
+ │ │ └── @ ParenthesesNode (location: (1,2)-(1,5))
+ │ │ ├── body:
+ │ │ │ @ StatementsNode (location: (1,3)-(1,4))
+ │ │ │ └── body: (length: 1)
+ │ │ │ └── @ CallNode (location: (1,3)-(1,4))
+ │ │ │ ├── flags: variable_call
+ │ │ │ ├── receiver: ∅
+ │ │ │ ├── call_operator_loc: ∅
+ │ │ │ ├── name: :b
+ │ │ │ ├── message_loc: (1,3)-(1,4) = "b"
+ │ │ │ ├── opening_loc: ∅
+ │ │ │ ├── arguments: ∅
+ │ │ │ ├── closing_loc: ∅
+ │ │ │ └── block: ∅
+ │ │ ├── opening_loc: (1,2)-(1,3) = "("
+ │ │ └── closing_loc: (1,4)-(1,5) = ")"
│ ├── closing_loc: ∅
- │ ├── block: ∅
- │ └── flags: ∅
+ │ └── block: ∅
└── @ CallNode (location: (2,0)-(2,10))
+ ├── flags: ∅
├── receiver:
│ @ CallNode (location: (2,0)-(2,1))
+ │ ├── flags: variable_call
│ ├── receiver: ∅
│ ├── call_operator_loc: ∅
│ ├── name: :c
@@ -42,20 +44,18 @@
│ ├── opening_loc: ∅
│ ├── arguments: ∅
│ ├── closing_loc: ∅
- │ ├── block: ∅
- │ └── flags: variable_call
+ │ └── block: ∅
├── call_operator_loc: (2,1)-(2,2) = "."
├── name: :d
├── message_loc: (2,2)-(2,3) = "d"
├── opening_loc: ∅
├── arguments: ∅
├── closing_loc: ∅
- ├── block:
- │ @ BlockNode (location: (2,4)-(2,10))
- │ ├── locals: []
- │ ├── locals_body_index: 0
- │ ├── parameters: ∅
- │ ├── body: ∅
- │ ├── opening_loc: (2,4)-(2,6) = "do"
- │ └── closing_loc: (2,7)-(2,10) = "end"
- └── flags: ∅
+ └── block:
+ @ BlockNode (location: (2,4)-(2,10))
+ ├── locals: []
+ ├── locals_body_index: 0
+ ├── parameters: ∅
+ ├── body: ∅
+ ├── opening_loc: (2,4)-(2,6) = "do"
+ └── closing_loc: (2,7)-(2,10) = "end"
diff --git a/test/prism/snapshots/seattlerb/block_command_operation_colon.txt b/test/prism/snapshots/seattlerb/block_command_operation_colon.txt
index 00982fc3c6..8f4439223f 100644
--- a/test/prism/snapshots/seattlerb/block_command_operation_colon.txt
+++ b/test/prism/snapshots/seattlerb/block_command_operation_colon.txt
@@ -4,8 +4,10 @@
@ StatementsNode (location: (1,0)-(1,17))
└── body: (length: 1)
└── @ CallNode (location: (1,0)-(1,17))
+ ├── flags: ∅
├── receiver:
│ @ CallNode (location: (1,0)-(1,11))
+ │ ├── flags: ∅
│ ├── receiver: ∅
│ ├── call_operator_loc: ∅
│ ├── name: :a
@@ -13,36 +15,34 @@
│ ├── opening_loc: ∅
│ ├── arguments:
│ │ @ ArgumentsNode (location: (1,2)-(1,4))
- │ │ ├── arguments: (length: 1)
- │ │ │ └── @ SymbolNode (location: (1,2)-(1,4))
- │ │ │ ├── opening_loc: (1,2)-(1,3) = ":"
- │ │ │ ├── value_loc: (1,3)-(1,4) = "b"
- │ │ │ ├── closing_loc: ∅
- │ │ │ └── unescaped: "b"
- │ │ └── flags: ∅
+ │ │ ├── flags: ∅
+ │ │ └── arguments: (length: 1)
+ │ │ └── @ SymbolNode (location: (1,2)-(1,4))
+ │ │ ├── opening_loc: (1,2)-(1,3) = ":"
+ │ │ ├── value_loc: (1,3)-(1,4) = "b"
+ │ │ ├── closing_loc: ∅
+ │ │ └── unescaped: "b"
│ ├── closing_loc: ∅
- │ ├── block:
- │ │ @ BlockNode (location: (1,5)-(1,11))
- │ │ ├── locals: []
- │ │ ├── locals_body_index: 0
- │ │ ├── parameters: ∅
- │ │ ├── body: ∅
- │ │ ├── opening_loc: (1,5)-(1,7) = "do"
- │ │ └── closing_loc: (1,8)-(1,11) = "end"
- │ └── flags: ∅
+ │ └── block:
+ │ @ BlockNode (location: (1,5)-(1,11))
+ │ ├── locals: []
+ │ ├── locals_body_index: 0
+ │ ├── parameters: ∅
+ │ ├── body: ∅
+ │ ├── opening_loc: (1,5)-(1,7) = "do"
+ │ └── closing_loc: (1,8)-(1,11) = "end"
├── call_operator_loc: (1,11)-(1,13) = "::"
├── name: :c
├── message_loc: (1,13)-(1,14) = "c"
├── opening_loc: ∅
├── arguments:
│ @ ArgumentsNode (location: (1,15)-(1,17))
- │ ├── arguments: (length: 1)
- │ │ └── @ SymbolNode (location: (1,15)-(1,17))
- │ │ ├── opening_loc: (1,15)-(1,16) = ":"
- │ │ ├── value_loc: (1,16)-(1,17) = "d"
- │ │ ├── closing_loc: ∅
- │ │ └── unescaped: "d"
- │ └── flags: ∅
+ │ ├── flags: ∅
+ │ └── arguments: (length: 1)
+ │ └── @ SymbolNode (location: (1,15)-(1,17))
+ │ ├── opening_loc: (1,15)-(1,16) = ":"
+ │ ├── value_loc: (1,16)-(1,17) = "d"
+ │ ├── closing_loc: ∅
+ │ └── unescaped: "d"
├── closing_loc: ∅
- ├── block: ∅
- └── flags: ∅
+ └── block: ∅
diff --git a/test/prism/snapshots/seattlerb/block_command_operation_dot.txt b/test/prism/snapshots/seattlerb/block_command_operation_dot.txt
index c0fc8e9c2b..ce44f8b75c 100644
--- a/test/prism/snapshots/seattlerb/block_command_operation_dot.txt
+++ b/test/prism/snapshots/seattlerb/block_command_operation_dot.txt
@@ -4,8 +4,10 @@
@ StatementsNode (location: (1,0)-(1,16))
└── body: (length: 1)
└── @ CallNode (location: (1,0)-(1,16))
+ ├── flags: ∅
├── receiver:
│ @ CallNode (location: (1,0)-(1,11))
+ │ ├── flags: ∅
│ ├── receiver: ∅
│ ├── call_operator_loc: ∅
│ ├── name: :a
@@ -13,36 +15,34 @@
│ ├── opening_loc: ∅
│ ├── arguments:
│ │ @ ArgumentsNode (location: (1,2)-(1,4))
- │ │ ├── arguments: (length: 1)
- │ │ │ └── @ SymbolNode (location: (1,2)-(1,4))
- │ │ │ ├── opening_loc: (1,2)-(1,3) = ":"
- │ │ │ ├── value_loc: (1,3)-(1,4) = "b"
- │ │ │ ├── closing_loc: ∅
- │ │ │ └── unescaped: "b"
- │ │ └── flags: ∅
+ │ │ ├── flags: ∅
+ │ │ └── arguments: (length: 1)
+ │ │ └── @ SymbolNode (location: (1,2)-(1,4))
+ │ │ ├── opening_loc: (1,2)-(1,3) = ":"
+ │ │ ├── value_loc: (1,3)-(1,4) = "b"
+ │ │ ├── closing_loc: ∅
+ │ │ └── unescaped: "b"
│ ├── closing_loc: ∅
- │ ├── block:
- │ │ @ BlockNode (location: (1,5)-(1,11))
- │ │ ├── locals: []
- │ │ ├── locals_body_index: 0
- │ │ ├── parameters: ∅
- │ │ ├── body: ∅
- │ │ ├── opening_loc: (1,5)-(1,7) = "do"
- │ │ └── closing_loc: (1,8)-(1,11) = "end"
- │ └── flags: ∅
+ │ └── block:
+ │ @ BlockNode (location: (1,5)-(1,11))
+ │ ├── locals: []
+ │ ├── locals_body_index: 0
+ │ ├── parameters: ∅
+ │ ├── body: ∅
+ │ ├── opening_loc: (1,5)-(1,7) = "do"
+ │ └── closing_loc: (1,8)-(1,11) = "end"
├── call_operator_loc: (1,11)-(1,12) = "."
├── name: :c
├── message_loc: (1,12)-(1,13) = "c"
├── opening_loc: ∅
├── arguments:
│ @ ArgumentsNode (location: (1,14)-(1,16))
- │ ├── arguments: (length: 1)
- │ │ └── @ SymbolNode (location: (1,14)-(1,16))
- │ │ ├── opening_loc: (1,14)-(1,15) = ":"
- │ │ ├── value_loc: (1,15)-(1,16) = "d"
- │ │ ├── closing_loc: ∅
- │ │ └── unescaped: "d"
- │ └── flags: ∅
+ │ ├── flags: ∅
+ │ └── arguments: (length: 1)
+ │ └── @ SymbolNode (location: (1,14)-(1,16))
+ │ ├── opening_loc: (1,14)-(1,15) = ":"
+ │ ├── value_loc: (1,15)-(1,16) = "d"
+ │ ├── closing_loc: ∅
+ │ └── unescaped: "d"
├── closing_loc: ∅
- ├── block: ∅
- └── flags: ∅
+ └── block: ∅
diff --git a/test/prism/snapshots/seattlerb/block_decomp_anon_splat_arg.txt b/test/prism/snapshots/seattlerb/block_decomp_anon_splat_arg.txt
index 8c903f2b93..d3de3562a6 100644
--- a/test/prism/snapshots/seattlerb/block_decomp_anon_splat_arg.txt
+++ b/test/prism/snapshots/seattlerb/block_decomp_anon_splat_arg.txt
@@ -4,6 +4,7 @@
@ StatementsNode (location: (1,0)-(1,14))
└── body: (length: 1)
└── @ CallNode (location: (1,0)-(1,14))
+ ├── flags: ∅
├── receiver: ∅
├── call_operator_loc: ∅
├── name: :f
@@ -11,36 +12,35 @@
├── opening_loc: ∅
├── arguments: ∅
├── closing_loc: ∅
- ├── block:
- │ @ BlockNode (location: (1,2)-(1,14))
- │ ├── locals: [:a]
- │ ├── locals_body_index: 1
- │ ├── parameters:
- │ │ @ BlockParametersNode (location: (1,4)-(1,12))
- │ │ ├── parameters:
- │ │ │ @ ParametersNode (location: (1,5)-(1,11))
- │ │ │ ├── requireds: (length: 1)
- │ │ │ │ └── @ MultiTargetNode (location: (1,5)-(1,11))
- │ │ │ │ ├── lefts: (length: 0)
- │ │ │ │ ├── rest:
- │ │ │ │ │ @ SplatNode (location: (1,6)-(1,7))
- │ │ │ │ │ ├── operator_loc: (1,6)-(1,7) = "*"
- │ │ │ │ │ └── expression: ∅
- │ │ │ │ ├── rights: (length: 1)
- │ │ │ │ │ └── @ RequiredParameterNode (location: (1,9)-(1,10))
- │ │ │ │ │ └── name: :a
- │ │ │ │ ├── lparen_loc: (1,5)-(1,6) = "("
- │ │ │ │ └── rparen_loc: (1,10)-(1,11) = ")"
- │ │ │ ├── optionals: (length: 0)
- │ │ │ ├── rest: ∅
- │ │ │ ├── posts: (length: 0)
- │ │ │ ├── keywords: (length: 0)
- │ │ │ ├── keyword_rest: ∅
- │ │ │ └── block: ∅
- │ │ ├── locals: (length: 0)
- │ │ ├── opening_loc: (1,4)-(1,5) = "|"
- │ │ └── closing_loc: (1,11)-(1,12) = "|"
- │ ├── body: ∅
- │ ├── opening_loc: (1,2)-(1,3) = "{"
- │ └── closing_loc: (1,13)-(1,14) = "}"
- └── flags: ∅
+ └── block:
+ @ BlockNode (location: (1,2)-(1,14))
+ ├── locals: [:a]
+ ├── locals_body_index: 1
+ ├── parameters:
+ │ @ BlockParametersNode (location: (1,4)-(1,12))
+ │ ├── parameters:
+ │ │ @ ParametersNode (location: (1,5)-(1,11))
+ │ │ ├── requireds: (length: 1)
+ │ │ │ └── @ MultiTargetNode (location: (1,5)-(1,11))
+ │ │ │ ├── lefts: (length: 0)
+ │ │ │ ├── rest:
+ │ │ │ │ @ SplatNode (location: (1,6)-(1,7))
+ │ │ │ │ ├── operator_loc: (1,6)-(1,7) = "*"
+ │ │ │ │ └── expression: ∅
+ │ │ │ ├── rights: (length: 1)
+ │ │ │ │ └── @ RequiredParameterNode (location: (1,9)-(1,10))
+ │ │ │ │ └── name: :a
+ │ │ │ ├── lparen_loc: (1,5)-(1,6) = "("
+ │ │ │ └── rparen_loc: (1,10)-(1,11) = ")"
+ │ │ ├── optionals: (length: 0)
+ │ │ ├── rest: ∅
+ │ │ ├── posts: (length: 0)
+ │ │ ├── keywords: (length: 0)
+ │ │ ├── keyword_rest: ∅
+ │ │ └── block: ∅
+ │ ├── locals: (length: 0)
+ │ ├── opening_loc: (1,4)-(1,5) = "|"
+ │ └── closing_loc: (1,11)-(1,12) = "|"
+ ├── body: ∅
+ ├── opening_loc: (1,2)-(1,3) = "{"
+ └── closing_loc: (1,13)-(1,14) = "}"
diff --git a/test/prism/snapshots/seattlerb/block_decomp_arg_splat.txt b/test/prism/snapshots/seattlerb/block_decomp_arg_splat.txt
index cb182552e6..dcb4415a70 100644
--- a/test/prism/snapshots/seattlerb/block_decomp_arg_splat.txt
+++ b/test/prism/snapshots/seattlerb/block_decomp_arg_splat.txt
@@ -4,6 +4,7 @@
@ StatementsNode (location: (1,0)-(1,14))
└── body: (length: 1)
└── @ CallNode (location: (1,0)-(1,14))
+ ├── flags: ∅
├── receiver: ∅
├── call_operator_loc: ∅
├── name: :a
@@ -11,36 +12,35 @@
├── opening_loc: ∅
├── arguments: ∅
├── closing_loc: ∅
- ├── block:
- │ @ BlockNode (location: (1,2)-(1,14))
- │ ├── locals: [:b]
- │ ├── locals_body_index: 1
- │ ├── parameters:
- │ │ @ BlockParametersNode (location: (1,4)-(1,12))
- │ │ ├── parameters:
- │ │ │ @ ParametersNode (location: (1,5)-(1,11))
- │ │ │ ├── requireds: (length: 1)
- │ │ │ │ └── @ MultiTargetNode (location: (1,5)-(1,11))
- │ │ │ │ ├── lefts: (length: 1)
- │ │ │ │ │ └── @ RequiredParameterNode (location: (1,6)-(1,7))
- │ │ │ │ │ └── name: :b
- │ │ │ │ ├── rest:
- │ │ │ │ │ @ SplatNode (location: (1,9)-(1,10))
- │ │ │ │ │ ├── operator_loc: (1,9)-(1,10) = "*"
- │ │ │ │ │ └── expression: ∅
- │ │ │ │ ├── rights: (length: 0)
- │ │ │ │ ├── lparen_loc: (1,5)-(1,6) = "("
- │ │ │ │ └── rparen_loc: (1,10)-(1,11) = ")"
- │ │ │ ├── optionals: (length: 0)
- │ │ │ ├── rest: ∅
- │ │ │ ├── posts: (length: 0)
- │ │ │ ├── keywords: (length: 0)
- │ │ │ ├── keyword_rest: ∅
- │ │ │ └── block: ∅
- │ │ ├── locals: (length: 0)
- │ │ ├── opening_loc: (1,4)-(1,5) = "|"
- │ │ └── closing_loc: (1,11)-(1,12) = "|"
- │ ├── body: ∅
- │ ├── opening_loc: (1,2)-(1,3) = "{"
- │ └── closing_loc: (1,13)-(1,14) = "}"
- └── flags: ∅
+ └── block:
+ @ BlockNode (location: (1,2)-(1,14))
+ ├── locals: [:b]
+ ├── locals_body_index: 1
+ ├── parameters:
+ │ @ BlockParametersNode (location: (1,4)-(1,12))
+ │ ├── parameters:
+ │ │ @ ParametersNode (location: (1,5)-(1,11))
+ │ │ ├── requireds: (length: 1)
+ │ │ │ └── @ MultiTargetNode (location: (1,5)-(1,11))
+ │ │ │ ├── lefts: (length: 1)
+ │ │ │ │ └── @ RequiredParameterNode (location: (1,6)-(1,7))
+ │ │ │ │ └── name: :b
+ │ │ │ ├── rest:
+ │ │ │ │ @ SplatNode (location: (1,9)-(1,10))
+ │ │ │ │ ├── operator_loc: (1,9)-(1,10) = "*"
+ │ │ │ │ └── expression: ∅
+ │ │ │ ├── rights: (length: 0)
+ │ │ │ ├── lparen_loc: (1,5)-(1,6) = "("
+ │ │ │ └── rparen_loc: (1,10)-(1,11) = ")"
+ │ │ ├── optionals: (length: 0)
+ │ │ ├── rest: ∅
+ │ │ ├── posts: (length: 0)
+ │ │ ├── keywords: (length: 0)
+ │ │ ├── keyword_rest: ∅
+ │ │ └── block: ∅
+ │ ├── locals: (length: 0)
+ │ ├── opening_loc: (1,4)-(1,5) = "|"
+ │ └── closing_loc: (1,11)-(1,12) = "|"
+ ├── body: ∅
+ ├── opening_loc: (1,2)-(1,3) = "{"
+ └── closing_loc: (1,13)-(1,14) = "}"
diff --git a/test/prism/snapshots/seattlerb/block_decomp_arg_splat_arg.txt b/test/prism/snapshots/seattlerb/block_decomp_arg_splat_arg.txt
index f3a6ce858d..52a7a6b7f8 100644
--- a/test/prism/snapshots/seattlerb/block_decomp_arg_splat_arg.txt
+++ b/test/prism/snapshots/seattlerb/block_decomp_arg_splat_arg.txt
@@ -4,6 +4,7 @@
@ StatementsNode (location: (1,0)-(1,18))
└── body: (length: 1)
└── @ CallNode (location: (1,0)-(1,18))
+ ├── flags: ∅
├── receiver: ∅
├── call_operator_loc: ∅
├── name: :f
@@ -11,40 +12,39 @@
├── opening_loc: ∅
├── arguments: ∅
├── closing_loc: ∅
- ├── block:
- │ @ BlockNode (location: (1,2)-(1,18))
- │ ├── locals: [:a, :b, :c]
- │ ├── locals_body_index: 3
- │ ├── parameters:
- │ │ @ BlockParametersNode (location: (1,4)-(1,16))
- │ │ ├── parameters:
- │ │ │ @ ParametersNode (location: (1,5)-(1,15))
- │ │ │ ├── requireds: (length: 1)
- │ │ │ │ └── @ MultiTargetNode (location: (1,5)-(1,15))
- │ │ │ │ ├── lefts: (length: 1)
- │ │ │ │ │ └── @ RequiredParameterNode (location: (1,6)-(1,7))
- │ │ │ │ │ └── name: :a
- │ │ │ │ ├── rest:
- │ │ │ │ │ @ SplatNode (location: (1,9)-(1,11))
- │ │ │ │ │ ├── operator_loc: (1,9)-(1,10) = "*"
- │ │ │ │ │ └── expression:
- │ │ │ │ │ @ RequiredParameterNode (location: (1,10)-(1,11))
- │ │ │ │ │ └── name: :b
- │ │ │ │ ├── rights: (length: 1)
- │ │ │ │ │ └── @ RequiredParameterNode (location: (1,13)-(1,14))
- │ │ │ │ │ └── name: :c
- │ │ │ │ ├── lparen_loc: (1,5)-(1,6) = "("
- │ │ │ │ └── rparen_loc: (1,14)-(1,15) = ")"
- │ │ │ ├── optionals: (length: 0)
- │ │ │ ├── rest: ∅
- │ │ │ ├── posts: (length: 0)
- │ │ │ ├── keywords: (length: 0)
- │ │ │ ├── keyword_rest: ∅
- │ │ │ └── block: ∅
- │ │ ├── locals: (length: 0)
- │ │ ├── opening_loc: (1,4)-(1,5) = "|"
- │ │ └── closing_loc: (1,15)-(1,16) = "|"
- │ ├── body: ∅
- │ ├── opening_loc: (1,2)-(1,3) = "{"
- │ └── closing_loc: (1,17)-(1,18) = "}"
- └── flags: ∅
+ └── block:
+ @ BlockNode (location: (1,2)-(1,18))
+ ├── locals: [:a, :b, :c]
+ ├── locals_body_index: 3
+ ├── parameters:
+ │ @ BlockParametersNode (location: (1,4)-(1,16))
+ │ ├── parameters:
+ │ │ @ ParametersNode (location: (1,5)-(1,15))
+ │ │ ├── requireds: (length: 1)
+ │ │ │ └── @ MultiTargetNode (location: (1,5)-(1,15))
+ │ │ │ ├── lefts: (length: 1)
+ │ │ │ │ └── @ RequiredParameterNode (location: (1,6)-(1,7))
+ │ │ │ │ └── name: :a
+ │ │ │ ├── rest:
+ │ │ │ │ @ SplatNode (location: (1,9)-(1,11))
+ │ │ │ │ ├── operator_loc: (1,9)-(1,10) = "*"
+ │ │ │ │ └── expression:
+ │ │ │ │ @ RequiredParameterNode (location: (1,10)-(1,11))
+ │ │ │ │ └── name: :b
+ │ │ │ ├── rights: (length: 1)
+ │ │ │ │ └── @ RequiredParameterNode (location: (1,13)-(1,14))
+ │ │ │ │ └── name: :c
+ │ │ │ ├── lparen_loc: (1,5)-(1,6) = "("
+ │ │ │ └── rparen_loc: (1,14)-(1,15) = ")"
+ │ │ ├── optionals: (length: 0)
+ │ │ ├── rest: ∅
+ │ │ ├── posts: (length: 0)
+ │ │ ├── keywords: (length: 0)
+ │ │ ├── keyword_rest: ∅
+ │ │ └── block: ∅
+ │ ├── locals: (length: 0)
+ │ ├── opening_loc: (1,4)-(1,5) = "|"
+ │ └── closing_loc: (1,15)-(1,16) = "|"
+ ├── body: ∅
+ ├── opening_loc: (1,2)-(1,3) = "{"
+ └── closing_loc: (1,17)-(1,18) = "}"
diff --git a/test/prism/snapshots/seattlerb/block_decomp_splat.txt b/test/prism/snapshots/seattlerb/block_decomp_splat.txt
index 49e31bdd13..4be5573522 100644
--- a/test/prism/snapshots/seattlerb/block_decomp_splat.txt
+++ b/test/prism/snapshots/seattlerb/block_decomp_splat.txt
@@ -4,6 +4,7 @@
@ StatementsNode (location: (1,0)-(1,12))
└── body: (length: 1)
└── @ CallNode (location: (1,0)-(1,12))
+ ├── flags: ∅
├── receiver: ∅
├── call_operator_loc: ∅
├── name: :f
@@ -11,36 +12,35 @@
├── opening_loc: ∅
├── arguments: ∅
├── closing_loc: ∅
- ├── block:
- │ @ BlockNode (location: (1,2)-(1,12))
- │ ├── locals: [:a]
- │ ├── locals_body_index: 1
- │ ├── parameters:
- │ │ @ BlockParametersNode (location: (1,4)-(1,10))
- │ │ ├── parameters:
- │ │ │ @ ParametersNode (location: (1,5)-(1,9))
- │ │ │ ├── requireds: (length: 1)
- │ │ │ │ └── @ MultiTargetNode (location: (1,5)-(1,9))
- │ │ │ │ ├── lefts: (length: 0)
- │ │ │ │ ├── rest:
- │ │ │ │ │ @ SplatNode (location: (1,6)-(1,8))
- │ │ │ │ │ ├── operator_loc: (1,6)-(1,7) = "*"
- │ │ │ │ │ └── expression:
- │ │ │ │ │ @ RequiredParameterNode (location: (1,7)-(1,8))
- │ │ │ │ │ └── name: :a
- │ │ │ │ ├── rights: (length: 0)
- │ │ │ │ ├── lparen_loc: (1,5)-(1,6) = "("
- │ │ │ │ └── rparen_loc: (1,8)-(1,9) = ")"
- │ │ │ ├── optionals: (length: 0)
- │ │ │ ├── rest: ∅
- │ │ │ ├── posts: (length: 0)
- │ │ │ ├── keywords: (length: 0)
- │ │ │ ├── keyword_rest: ∅
- │ │ │ └── block: ∅
- │ │ ├── locals: (length: 0)
- │ │ ├── opening_loc: (1,4)-(1,5) = "|"
- │ │ └── closing_loc: (1,9)-(1,10) = "|"
- │ ├── body: ∅
- │ ├── opening_loc: (1,2)-(1,3) = "{"
- │ └── closing_loc: (1,11)-(1,12) = "}"
- └── flags: ∅
+ └── block:
+ @ BlockNode (location: (1,2)-(1,12))
+ ├── locals: [:a]
+ ├── locals_body_index: 1
+ ├── parameters:
+ │ @ BlockParametersNode (location: (1,4)-(1,10))
+ │ ├── parameters:
+ │ │ @ ParametersNode (location: (1,5)-(1,9))
+ │ │ ├── requireds: (length: 1)
+ │ │ │ └── @ MultiTargetNode (location: (1,5)-(1,9))
+ │ │ │ ├── lefts: (length: 0)
+ │ │ │ ├── rest:
+ │ │ │ │ @ SplatNode (location: (1,6)-(1,8))
+ │ │ │ │ ├── operator_loc: (1,6)-(1,7) = "*"
+ │ │ │ │ └── expression:
+ │ │ │ │ @ RequiredParameterNode (location: (1,7)-(1,8))
+ │ │ │ │ └── name: :a
+ │ │ │ ├── rights: (length: 0)
+ │ │ │ ├── lparen_loc: (1,5)-(1,6) = "("
+ │ │ │ └── rparen_loc: (1,8)-(1,9) = ")"
+ │ │ ├── optionals: (length: 0)
+ │ │ ├── rest: ∅
+ │ │ ├── posts: (length: 0)
+ │ │ ├── keywords: (length: 0)
+ │ │ ├── keyword_rest: ∅
+ │ │ └── block: ∅
+ │ ├── locals: (length: 0)
+ │ ├── opening_loc: (1,4)-(1,5) = "|"
+ │ └── closing_loc: (1,9)-(1,10) = "|"
+ ├── body: ∅
+ ├── opening_loc: (1,2)-(1,3) = "{"
+ └── closing_loc: (1,11)-(1,12) = "}"
diff --git a/test/prism/snapshots/seattlerb/block_kw.txt b/test/prism/snapshots/seattlerb/block_kw.txt
index 5b2598035f..fa7cce4870 100644
--- a/test/prism/snapshots/seattlerb/block_kw.txt
+++ b/test/prism/snapshots/seattlerb/block_kw.txt
@@ -4,6 +4,7 @@
@ StatementsNode (location: (1,0)-(1,15))
└── body: (length: 1)
└── @ CallNode (location: (1,0)-(1,15))
+ ├── flags: ∅
├── receiver: ∅
├── call_operator_loc: ∅
├── name: :blah
@@ -11,31 +12,30 @@
├── opening_loc: ∅
├── arguments: ∅
├── closing_loc: ∅
- ├── block:
- │ @ BlockNode (location: (1,5)-(1,15))
- │ ├── locals: [:k]
- │ ├── locals_body_index: 1
- │ ├── parameters:
- │ │ @ BlockParametersNode (location: (1,7)-(1,13))
- │ │ ├── parameters:
- │ │ │ @ ParametersNode (location: (1,8)-(1,12))
- │ │ │ ├── requireds: (length: 0)
- │ │ │ ├── optionals: (length: 0)
- │ │ │ ├── rest: ∅
- │ │ │ ├── posts: (length: 0)
- │ │ │ ├── keywords: (length: 1)
- │ │ │ │ └── @ OptionalKeywordParameterNode (location: (1,8)-(1,12))
- │ │ │ │ ├── name: :k
- │ │ │ │ ├── name_loc: (1,8)-(1,10) = "k:"
- │ │ │ │ └── value:
- │ │ │ │ @ IntegerNode (location: (1,10)-(1,12))
- │ │ │ │ └── flags: decimal
- │ │ │ ├── keyword_rest: ∅
- │ │ │ └── block: ∅
- │ │ ├── locals: (length: 0)
- │ │ ├── opening_loc: (1,7)-(1,8) = "|"
- │ │ └── closing_loc: (1,12)-(1,13) = "|"
- │ ├── body: ∅
- │ ├── opening_loc: (1,5)-(1,6) = "{"
- │ └── closing_loc: (1,14)-(1,15) = "}"
- └── flags: ∅
+ └── block:
+ @ BlockNode (location: (1,5)-(1,15))
+ ├── locals: [:k]
+ ├── locals_body_index: 1
+ ├── parameters:
+ │ @ BlockParametersNode (location: (1,7)-(1,13))
+ │ ├── parameters:
+ │ │ @ ParametersNode (location: (1,8)-(1,12))
+ │ │ ├── requireds: (length: 0)
+ │ │ ├── optionals: (length: 0)
+ │ │ ├── rest: ∅
+ │ │ ├── posts: (length: 0)
+ │ │ ├── keywords: (length: 1)
+ │ │ │ └── @ OptionalKeywordParameterNode (location: (1,8)-(1,12))
+ │ │ │ ├── name: :k
+ │ │ │ ├── name_loc: (1,8)-(1,10) = "k:"
+ │ │ │ └── value:
+ │ │ │ @ IntegerNode (location: (1,10)-(1,12))
+ │ │ │ └── flags: decimal
+ │ │ ├── keyword_rest: ∅
+ │ │ └── block: ∅
+ │ ├── locals: (length: 0)
+ │ ├── opening_loc: (1,7)-(1,8) = "|"
+ │ └── closing_loc: (1,12)-(1,13) = "|"
+ ├── body: ∅
+ ├── opening_loc: (1,5)-(1,6) = "{"
+ └── closing_loc: (1,14)-(1,15) = "}"
diff --git a/test/prism/snapshots/seattlerb/block_kw__required.txt b/test/prism/snapshots/seattlerb/block_kw__required.txt
index aef63cce1e..6636ce987a 100644
--- a/test/prism/snapshots/seattlerb/block_kw__required.txt
+++ b/test/prism/snapshots/seattlerb/block_kw__required.txt
@@ -4,6 +4,7 @@
@ StatementsNode (location: (1,0)-(1,16))
└── body: (length: 1)
└── @ CallNode (location: (1,0)-(1,16))
+ ├── flags: ∅
├── receiver: ∅
├── call_operator_loc: ∅
├── name: :blah
@@ -11,28 +12,27 @@
├── opening_loc: ∅
├── arguments: ∅
├── closing_loc: ∅
- ├── block:
- │ @ BlockNode (location: (1,5)-(1,16))
- │ ├── locals: [:k]
- │ ├── locals_body_index: 1
- │ ├── parameters:
- │ │ @ BlockParametersNode (location: (1,8)-(1,12))
- │ │ ├── parameters:
- │ │ │ @ ParametersNode (location: (1,9)-(1,11))
- │ │ │ ├── requireds: (length: 0)
- │ │ │ ├── optionals: (length: 0)
- │ │ │ ├── rest: ∅
- │ │ │ ├── posts: (length: 0)
- │ │ │ ├── keywords: (length: 1)
- │ │ │ │ └── @ RequiredKeywordParameterNode (location: (1,9)-(1,11))
- │ │ │ │ ├── name: :k
- │ │ │ │ └── name_loc: (1,9)-(1,11) = "k:"
- │ │ │ ├── keyword_rest: ∅
- │ │ │ └── block: ∅
- │ │ ├── locals: (length: 0)
- │ │ ├── opening_loc: (1,8)-(1,9) = "|"
- │ │ └── closing_loc: (1,11)-(1,12) = "|"
- │ ├── body: ∅
- │ ├── opening_loc: (1,5)-(1,7) = "do"
- │ └── closing_loc: (1,13)-(1,16) = "end"
- └── flags: ∅
+ └── block:
+ @ BlockNode (location: (1,5)-(1,16))
+ ├── locals: [:k]
+ ├── locals_body_index: 1
+ ├── parameters:
+ │ @ BlockParametersNode (location: (1,8)-(1,12))
+ │ ├── parameters:
+ │ │ @ ParametersNode (location: (1,9)-(1,11))
+ │ │ ├── requireds: (length: 0)
+ │ │ ├── optionals: (length: 0)
+ │ │ ├── rest: ∅
+ │ │ ├── posts: (length: 0)
+ │ │ ├── keywords: (length: 1)
+ │ │ │ └── @ RequiredKeywordParameterNode (location: (1,9)-(1,11))
+ │ │ │ ├── name: :k
+ │ │ │ └── name_loc: (1,9)-(1,11) = "k:"
+ │ │ ├── keyword_rest: ∅
+ │ │ └── block: ∅
+ │ ├── locals: (length: 0)
+ │ ├── opening_loc: (1,8)-(1,9) = "|"
+ │ └── closing_loc: (1,11)-(1,12) = "|"
+ ├── body: ∅
+ ├── opening_loc: (1,5)-(1,7) = "do"
+ └── closing_loc: (1,13)-(1,16) = "end"
diff --git a/test/prism/snapshots/seattlerb/block_kwarg_lvar.txt b/test/prism/snapshots/seattlerb/block_kwarg_lvar.txt
index f7e4743588..7469bdc5db 100644
--- a/test/prism/snapshots/seattlerb/block_kwarg_lvar.txt
+++ b/test/prism/snapshots/seattlerb/block_kwarg_lvar.txt
@@ -4,6 +4,7 @@
@ StatementsNode (location: (1,0)-(1,20))
└── body: (length: 1)
└── @ CallNode (location: (1,0)-(1,20))
+ ├── flags: ∅
├── receiver: ∅
├── call_operator_loc: ∅
├── name: :bl
@@ -11,39 +12,38 @@
├── opening_loc: ∅
├── arguments: ∅
├── closing_loc: ∅
- ├── block:
- │ @ BlockNode (location: (1,3)-(1,20))
- │ ├── locals: [:kw]
- │ ├── locals_body_index: 1
- │ ├── parameters:
- │ │ @ BlockParametersNode (location: (1,5)-(1,15))
- │ │ ├── parameters:
- │ │ │ @ ParametersNode (location: (1,6)-(1,14))
- │ │ │ ├── requireds: (length: 0)
- │ │ │ ├── optionals: (length: 0)
- │ │ │ ├── rest: ∅
- │ │ │ ├── posts: (length: 0)
- │ │ │ ├── keywords: (length: 1)
- │ │ │ │ └── @ OptionalKeywordParameterNode (location: (1,6)-(1,14))
- │ │ │ │ ├── name: :kw
- │ │ │ │ ├── name_loc: (1,6)-(1,9) = "kw:"
- │ │ │ │ └── value:
- │ │ │ │ @ SymbolNode (location: (1,10)-(1,14))
- │ │ │ │ ├── opening_loc: (1,10)-(1,11) = ":"
- │ │ │ │ ├── value_loc: (1,11)-(1,14) = "val"
- │ │ │ │ ├── closing_loc: ∅
- │ │ │ │ └── unescaped: "val"
- │ │ │ ├── keyword_rest: ∅
- │ │ │ └── block: ∅
- │ │ ├── locals: (length: 0)
- │ │ ├── opening_loc: (1,5)-(1,6) = "|"
- │ │ └── closing_loc: (1,14)-(1,15) = "|"
- │ ├── body:
- │ │ @ StatementsNode (location: (1,16)-(1,18))
- │ │ └── body: (length: 1)
- │ │ └── @ LocalVariableReadNode (location: (1,16)-(1,18))
- │ │ ├── name: :kw
- │ │ └── depth: 0
- │ ├── opening_loc: (1,3)-(1,4) = "{"
- │ └── closing_loc: (1,19)-(1,20) = "}"
- └── flags: ∅
+ └── block:
+ @ BlockNode (location: (1,3)-(1,20))
+ ├── locals: [:kw]
+ ├── locals_body_index: 1
+ ├── parameters:
+ │ @ BlockParametersNode (location: (1,5)-(1,15))
+ │ ├── parameters:
+ │ │ @ ParametersNode (location: (1,6)-(1,14))
+ │ │ ├── requireds: (length: 0)
+ │ │ ├── optionals: (length: 0)
+ │ │ ├── rest: ∅
+ │ │ ├── posts: (length: 0)
+ │ │ ├── keywords: (length: 1)
+ │ │ │ └── @ OptionalKeywordParameterNode (location: (1,6)-(1,14))
+ │ │ │ ├── name: :kw
+ │ │ │ ├── name_loc: (1,6)-(1,9) = "kw:"
+ │ │ │ └── value:
+ │ │ │ @ SymbolNode (location: (1,10)-(1,14))
+ │ │ │ ├── opening_loc: (1,10)-(1,11) = ":"
+ │ │ │ ├── value_loc: (1,11)-(1,14) = "val"
+ │ │ │ ├── closing_loc: ∅
+ │ │ │ └── unescaped: "val"
+ │ │ ├── keyword_rest: ∅
+ │ │ └── block: ∅
+ │ ├── locals: (length: 0)
+ │ ├── opening_loc: (1,5)-(1,6) = "|"
+ │ └── closing_loc: (1,14)-(1,15) = "|"
+ ├── body:
+ │ @ StatementsNode (location: (1,16)-(1,18))
+ │ └── body: (length: 1)
+ │ └── @ LocalVariableReadNode (location: (1,16)-(1,18))
+ │ ├── name: :kw
+ │ └── depth: 0
+ ├── opening_loc: (1,3)-(1,4) = "{"
+ └── closing_loc: (1,19)-(1,20) = "}"
diff --git a/test/prism/snapshots/seattlerb/block_kwarg_lvar_multiple.txt b/test/prism/snapshots/seattlerb/block_kwarg_lvar_multiple.txt
index 17a7e4bdca..23e807ba79 100644
--- a/test/prism/snapshots/seattlerb/block_kwarg_lvar_multiple.txt
+++ b/test/prism/snapshots/seattlerb/block_kwarg_lvar_multiple.txt
@@ -4,6 +4,7 @@
@ StatementsNode (location: (1,0)-(1,33))
└── body: (length: 1)
└── @ CallNode (location: (1,0)-(1,33))
+ ├── flags: ∅
├── receiver: ∅
├── call_operator_loc: ∅
├── name: :bl
@@ -11,48 +12,47 @@
├── opening_loc: ∅
├── arguments: ∅
├── closing_loc: ∅
- ├── block:
- │ @ BlockNode (location: (1,3)-(1,33))
- │ ├── locals: [:kw, :kw2]
- │ ├── locals_body_index: 2
- │ ├── parameters:
- │ │ @ BlockParametersNode (location: (1,5)-(1,28))
- │ │ ├── parameters:
- │ │ │ @ ParametersNode (location: (1,6)-(1,26))
- │ │ │ ├── requireds: (length: 0)
- │ │ │ ├── optionals: (length: 0)
- │ │ │ ├── rest: ∅
- │ │ │ ├── posts: (length: 0)
- │ │ │ ├── keywords: (length: 2)
- │ │ │ │ ├── @ OptionalKeywordParameterNode (location: (1,6)-(1,14))
- │ │ │ │ │ ├── name: :kw
- │ │ │ │ │ ├── name_loc: (1,6)-(1,9) = "kw:"
- │ │ │ │ │ └── value:
- │ │ │ │ │ @ SymbolNode (location: (1,10)-(1,14))
- │ │ │ │ │ ├── opening_loc: (1,10)-(1,11) = ":"
- │ │ │ │ │ ├── value_loc: (1,11)-(1,14) = "val"
- │ │ │ │ │ ├── closing_loc: ∅
- │ │ │ │ │ └── unescaped: "val"
- │ │ │ │ └── @ OptionalKeywordParameterNode (location: (1,16)-(1,26))
- │ │ │ │ ├── name: :kw2
- │ │ │ │ ├── name_loc: (1,16)-(1,20) = "kw2:"
- │ │ │ │ └── value:
- │ │ │ │ @ SymbolNode (location: (1,21)-(1,26))
- │ │ │ │ ├── opening_loc: (1,21)-(1,22) = ":"
- │ │ │ │ ├── value_loc: (1,22)-(1,26) = "val2"
- │ │ │ │ ├── closing_loc: ∅
- │ │ │ │ └── unescaped: "val2"
- │ │ │ ├── keyword_rest: ∅
- │ │ │ └── block: ∅
- │ │ ├── locals: (length: 0)
- │ │ ├── opening_loc: (1,5)-(1,6) = "|"
- │ │ └── closing_loc: (1,27)-(1,28) = "|"
- │ ├── body:
- │ │ @ StatementsNode (location: (1,29)-(1,31))
- │ │ └── body: (length: 1)
- │ │ └── @ LocalVariableReadNode (location: (1,29)-(1,31))
- │ │ ├── name: :kw
- │ │ └── depth: 0
- │ ├── opening_loc: (1,3)-(1,4) = "{"
- │ └── closing_loc: (1,32)-(1,33) = "}"
- └── flags: ∅
+ └── block:
+ @ BlockNode (location: (1,3)-(1,33))
+ ├── locals: [:kw, :kw2]
+ ├── locals_body_index: 2
+ ├── parameters:
+ │ @ BlockParametersNode (location: (1,5)-(1,28))
+ │ ├── parameters:
+ │ │ @ ParametersNode (location: (1,6)-(1,26))
+ │ │ ├── requireds: (length: 0)
+ │ │ ├── optionals: (length: 0)
+ │ │ ├── rest: ∅
+ │ │ ├── posts: (length: 0)
+ │ │ ├── keywords: (length: 2)
+ │ │ │ ├── @ OptionalKeywordParameterNode (location: (1,6)-(1,14))
+ │ │ │ │ ├── name: :kw
+ │ │ │ │ ├── name_loc: (1,6)-(1,9) = "kw:"
+ │ │ │ │ └── value:
+ │ │ │ │ @ SymbolNode (location: (1,10)-(1,14))
+ │ │ │ │ ├── opening_loc: (1,10)-(1,11) = ":"
+ │ │ │ │ ├── value_loc: (1,11)-(1,14) = "val"
+ │ │ │ │ ├── closing_loc: ∅
+ │ │ │ │ └── unescaped: "val"
+ │ │ │ └── @ OptionalKeywordParameterNode (location: (1,16)-(1,26))
+ │ │ │ ├── name: :kw2
+ │ │ │ ├── name_loc: (1,16)-(1,20) = "kw2:"
+ │ │ │ └── value:
+ │ │ │ @ SymbolNode (location: (1,21)-(1,26))
+ │ │ │ ├── opening_loc: (1,21)-(1,22) = ":"
+ │ │ │ ├── value_loc: (1,22)-(1,26) = "val2"
+ │ │ │ ├── closing_loc: ∅
+ │ │ │ └── unescaped: "val2"
+ │ │ ├── keyword_rest: ∅
+ │ │ └── block: ∅
+ │ ├── locals: (length: 0)
+ │ ├── opening_loc: (1,5)-(1,6) = "|"
+ │ └── closing_loc: (1,27)-(1,28) = "|"
+ ├── body:
+ │ @ StatementsNode (location: (1,29)-(1,31))
+ │ └── body: (length: 1)
+ │ └── @ LocalVariableReadNode (location: (1,29)-(1,31))
+ │ ├── name: :kw
+ │ └── depth: 0
+ ├── opening_loc: (1,3)-(1,4) = "{"
+ └── closing_loc: (1,32)-(1,33) = "}"
diff --git a/test/prism/snapshots/seattlerb/block_next.txt b/test/prism/snapshots/seattlerb/block_next.txt
index ff5cc42dcd..a72f57490e 100644
--- a/test/prism/snapshots/seattlerb/block_next.txt
+++ b/test/prism/snapshots/seattlerb/block_next.txt
@@ -6,51 +6,51 @@
└── @ NextNode (location: (1,0)-(1,25))
├── arguments:
│ @ ArgumentsNode (location: (1,5)-(1,25))
- │ ├── arguments: (length: 1)
- │ │ └── @ CallNode (location: (1,5)-(1,25))
- │ │ ├── receiver: ∅
- │ │ ├── call_operator_loc: ∅
- │ │ ├── name: :foo
- │ │ ├── message_loc: (1,5)-(1,8) = "foo"
- │ │ ├── opening_loc: ∅
- │ │ ├── arguments:
- │ │ │ @ ArgumentsNode (location: (1,9)-(1,12))
- │ │ │ ├── arguments: (length: 1)
- │ │ │ │ └── @ CallNode (location: (1,9)-(1,12))
- │ │ │ │ ├── receiver: ∅
- │ │ │ │ ├── call_operator_loc: ∅
- │ │ │ │ ├── name: :arg
- │ │ │ │ ├── message_loc: (1,9)-(1,12) = "arg"
- │ │ │ │ ├── opening_loc: ∅
- │ │ │ │ ├── arguments: ∅
- │ │ │ │ ├── closing_loc: ∅
- │ │ │ │ ├── block: ∅
- │ │ │ │ └── flags: variable_call
- │ │ │ └── flags: ∅
- │ │ ├── closing_loc: ∅
- │ │ ├── block:
- │ │ │ @ BlockNode (location: (1,13)-(1,25))
- │ │ │ ├── locals: [:bar]
- │ │ │ ├── locals_body_index: 1
- │ │ │ ├── parameters:
- │ │ │ │ @ BlockParametersNode (location: (1,16)-(1,21))
- │ │ │ │ ├── parameters:
- │ │ │ │ │ @ ParametersNode (location: (1,17)-(1,20))
- │ │ │ │ │ ├── requireds: (length: 1)
- │ │ │ │ │ │ └── @ RequiredParameterNode (location: (1,17)-(1,20))
- │ │ │ │ │ │ └── name: :bar
- │ │ │ │ │ ├── optionals: (length: 0)
- │ │ │ │ │ ├── rest: ∅
- │ │ │ │ │ ├── posts: (length: 0)
- │ │ │ │ │ ├── keywords: (length: 0)
- │ │ │ │ │ ├── keyword_rest: ∅
- │ │ │ │ │ └── block: ∅
- │ │ │ │ ├── locals: (length: 0)
- │ │ │ │ ├── opening_loc: (1,16)-(1,17) = "|"
- │ │ │ │ └── closing_loc: (1,20)-(1,21) = "|"
- │ │ │ ├── body: ∅
- │ │ │ ├── opening_loc: (1,13)-(1,15) = "do"
- │ │ │ └── closing_loc: (1,22)-(1,25) = "end"
- │ │ └── flags: ∅
- │ └── flags: ∅
+ │ ├── flags: ∅
+ │ └── arguments: (length: 1)
+ │ └── @ CallNode (location: (1,5)-(1,25))
+ │ ├── flags: ∅
+ │ ├── receiver: ∅
+ │ ├── call_operator_loc: ∅
+ │ ├── name: :foo
+ │ ├── message_loc: (1,5)-(1,8) = "foo"
+ │ ├── opening_loc: ∅
+ │ ├── arguments:
+ │ │ @ ArgumentsNode (location: (1,9)-(1,12))
+ │ │ ├── flags: ∅
+ │ │ └── arguments: (length: 1)
+ │ │ └── @ CallNode (location: (1,9)-(1,12))
+ │ │ ├── flags: variable_call
+ │ │ ├── receiver: ∅
+ │ │ ├── call_operator_loc: ∅
+ │ │ ├── name: :arg
+ │ │ ├── message_loc: (1,9)-(1,12) = "arg"
+ │ │ ├── opening_loc: ∅
+ │ │ ├── arguments: ∅
+ │ │ ├── closing_loc: ∅
+ │ │ └── block: ∅
+ │ ├── closing_loc: ∅
+ │ └── block:
+ │ @ BlockNode (location: (1,13)-(1,25))
+ │ ├── locals: [:bar]
+ │ ├── locals_body_index: 1
+ │ ├── parameters:
+ │ │ @ BlockParametersNode (location: (1,16)-(1,21))
+ │ │ ├── parameters:
+ │ │ │ @ ParametersNode (location: (1,17)-(1,20))
+ │ │ │ ├── requireds: (length: 1)
+ │ │ │ │ └── @ RequiredParameterNode (location: (1,17)-(1,20))
+ │ │ │ │ └── name: :bar
+ │ │ │ ├── optionals: (length: 0)
+ │ │ │ ├── rest: ∅
+ │ │ │ ├── posts: (length: 0)
+ │ │ │ ├── keywords: (length: 0)
+ │ │ │ ├── keyword_rest: ∅
+ │ │ │ └── block: ∅
+ │ │ ├── locals: (length: 0)
+ │ │ ├── opening_loc: (1,16)-(1,17) = "|"
+ │ │ └── closing_loc: (1,20)-(1,21) = "|"
+ │ ├── body: ∅
+ │ ├── opening_loc: (1,13)-(1,15) = "do"
+ │ └── closing_loc: (1,22)-(1,25) = "end"
└── keyword_loc: (1,0)-(1,4) = "next"
diff --git a/test/prism/snapshots/seattlerb/block_opt_arg.txt b/test/prism/snapshots/seattlerb/block_opt_arg.txt
index 340047a301..c0e90ed132 100644
--- a/test/prism/snapshots/seattlerb/block_opt_arg.txt
+++ b/test/prism/snapshots/seattlerb/block_opt_arg.txt
@@ -4,6 +4,7 @@
@ StatementsNode (location: (1,0)-(1,14))
└── body: (length: 1)
└── @ CallNode (location: (1,0)-(1,14))
+ ├── flags: ∅
├── receiver: ∅
├── call_operator_loc: ∅
├── name: :a
@@ -11,34 +12,33 @@
├── opening_loc: ∅
├── arguments: ∅
├── closing_loc: ∅
- ├── block:
- │ @ BlockNode (location: (1,2)-(1,14))
- │ ├── locals: [:b, :c]
- │ ├── locals_body_index: 2
- │ ├── parameters:
- │ │ @ BlockParametersNode (location: (1,4)-(1,12))
- │ │ ├── parameters:
- │ │ │ @ ParametersNode (location: (1,5)-(1,11))
- │ │ │ ├── requireds: (length: 0)
- │ │ │ ├── optionals: (length: 1)
- │ │ │ │ └── @ OptionalParameterNode (location: (1,5)-(1,8))
- │ │ │ │ ├── name: :b
- │ │ │ │ ├── name_loc: (1,5)-(1,6) = "b"
- │ │ │ │ ├── operator_loc: (1,6)-(1,7) = "="
- │ │ │ │ └── value:
- │ │ │ │ @ IntegerNode (location: (1,7)-(1,8))
- │ │ │ │ └── flags: decimal
- │ │ │ ├── rest: ∅
- │ │ │ ├── posts: (length: 1)
- │ │ │ │ └── @ RequiredParameterNode (location: (1,10)-(1,11))
- │ │ │ │ └── name: :c
- │ │ │ ├── keywords: (length: 0)
- │ │ │ ├── keyword_rest: ∅
- │ │ │ └── block: ∅
- │ │ ├── locals: (length: 0)
- │ │ ├── opening_loc: (1,4)-(1,5) = "|"
- │ │ └── closing_loc: (1,11)-(1,12) = "|"
- │ ├── body: ∅
- │ ├── opening_loc: (1,2)-(1,3) = "{"
- │ └── closing_loc: (1,13)-(1,14) = "}"
- └── flags: ∅
+ └── block:
+ @ BlockNode (location: (1,2)-(1,14))
+ ├── locals: [:b, :c]
+ ├── locals_body_index: 2
+ ├── parameters:
+ │ @ BlockParametersNode (location: (1,4)-(1,12))
+ │ ├── parameters:
+ │ │ @ ParametersNode (location: (1,5)-(1,11))
+ │ │ ├── requireds: (length: 0)
+ │ │ ├── optionals: (length: 1)
+ │ │ │ └── @ OptionalParameterNode (location: (1,5)-(1,8))
+ │ │ │ ├── name: :b
+ │ │ │ ├── name_loc: (1,5)-(1,6) = "b"
+ │ │ │ ├── operator_loc: (1,6)-(1,7) = "="
+ │ │ │ └── value:
+ │ │ │ @ IntegerNode (location: (1,7)-(1,8))
+ │ │ │ └── flags: decimal
+ │ │ ├── rest: ∅
+ │ │ ├── posts: (length: 1)
+ │ │ │ └── @ RequiredParameterNode (location: (1,10)-(1,11))
+ │ │ │ └── name: :c
+ │ │ ├── keywords: (length: 0)
+ │ │ ├── keyword_rest: ∅
+ │ │ └── block: ∅
+ │ ├── locals: (length: 0)
+ │ ├── opening_loc: (1,4)-(1,5) = "|"
+ │ └── closing_loc: (1,11)-(1,12) = "|"
+ ├── body: ∅
+ ├── opening_loc: (1,2)-(1,3) = "{"
+ └── closing_loc: (1,13)-(1,14) = "}"
diff --git a/test/prism/snapshots/seattlerb/block_opt_splat.txt b/test/prism/snapshots/seattlerb/block_opt_splat.txt
index 23aad10246..dfdd8926cd 100644
--- a/test/prism/snapshots/seattlerb/block_opt_splat.txt
+++ b/test/prism/snapshots/seattlerb/block_opt_splat.txt
@@ -4,6 +4,7 @@
@ StatementsNode (location: (1,0)-(1,17))
└── body: (length: 1)
└── @ CallNode (location: (1,0)-(1,17))
+ ├── flags: ∅
├── receiver: ∅
├── call_operator_loc: ∅
├── name: :a
@@ -11,36 +12,35 @@
├── opening_loc: ∅
├── arguments: ∅
├── closing_loc: ∅
- ├── block:
- │ @ BlockNode (location: (1,2)-(1,17))
- │ ├── locals: [:b, :c]
- │ ├── locals_body_index: 2
- │ ├── parameters:
- │ │ @ BlockParametersNode (location: (1,4)-(1,15))
- │ │ ├── parameters:
- │ │ │ @ ParametersNode (location: (1,5)-(1,14))
- │ │ │ ├── requireds: (length: 0)
- │ │ │ ├── optionals: (length: 1)
- │ │ │ │ └── @ OptionalParameterNode (location: (1,5)-(1,10))
- │ │ │ │ ├── name: :b
- │ │ │ │ ├── name_loc: (1,5)-(1,6) = "b"
- │ │ │ │ ├── operator_loc: (1,7)-(1,8) = "="
- │ │ │ │ └── value:
- │ │ │ │ @ IntegerNode (location: (1,9)-(1,10))
- │ │ │ │ └── flags: decimal
- │ │ │ ├── rest:
- │ │ │ │ @ RestParameterNode (location: (1,12)-(1,14))
- │ │ │ │ ├── name: :c
- │ │ │ │ ├── name_loc: (1,13)-(1,14) = "c"
- │ │ │ │ └── operator_loc: (1,12)-(1,13) = "*"
- │ │ │ ├── posts: (length: 0)
- │ │ │ ├── keywords: (length: 0)
- │ │ │ ├── keyword_rest: ∅
- │ │ │ └── block: ∅
- │ │ ├── locals: (length: 0)
- │ │ ├── opening_loc: (1,4)-(1,5) = "|"
- │ │ └── closing_loc: (1,14)-(1,15) = "|"
- │ ├── body: ∅
- │ ├── opening_loc: (1,2)-(1,3) = "{"
- │ └── closing_loc: (1,16)-(1,17) = "}"
- └── flags: ∅
+ └── block:
+ @ BlockNode (location: (1,2)-(1,17))
+ ├── locals: [:b, :c]
+ ├── locals_body_index: 2
+ ├── parameters:
+ │ @ BlockParametersNode (location: (1,4)-(1,15))
+ │ ├── parameters:
+ │ │ @ ParametersNode (location: (1,5)-(1,14))
+ │ │ ├── requireds: (length: 0)
+ │ │ ├── optionals: (length: 1)
+ │ │ │ └── @ OptionalParameterNode (location: (1,5)-(1,10))
+ │ │ │ ├── name: :b
+ │ │ │ ├── name_loc: (1,5)-(1,6) = "b"
+ │ │ │ ├── operator_loc: (1,7)-(1,8) = "="
+ │ │ │ └── value:
+ │ │ │ @ IntegerNode (location: (1,9)-(1,10))
+ │ │ │ └── flags: decimal
+ │ │ ├── rest:
+ │ │ │ @ RestParameterNode (location: (1,12)-(1,14))
+ │ │ │ ├── name: :c
+ │ │ │ ├── name_loc: (1,13)-(1,14) = "c"
+ │ │ │ └── operator_loc: (1,12)-(1,13) = "*"
+ │ │ ├── posts: (length: 0)
+ │ │ ├── keywords: (length: 0)
+ │ │ ├── keyword_rest: ∅
+ │ │ └── block: ∅
+ │ ├── locals: (length: 0)
+ │ ├── opening_loc: (1,4)-(1,5) = "|"
+ │ └── closing_loc: (1,14)-(1,15) = "|"
+ ├── body: ∅
+ ├── opening_loc: (1,2)-(1,3) = "{"
+ └── closing_loc: (1,16)-(1,17) = "}"
diff --git a/test/prism/snapshots/seattlerb/block_opt_splat_arg_block_omfg.txt b/test/prism/snapshots/seattlerb/block_opt_splat_arg_block_omfg.txt
index 3994cef507..444baeb8d0 100644
--- a/test/prism/snapshots/seattlerb/block_opt_splat_arg_block_omfg.txt
+++ b/test/prism/snapshots/seattlerb/block_opt_splat_arg_block_omfg.txt
@@ -4,6 +4,7 @@
@ StatementsNode (location: (1,0)-(1,22))
└── body: (length: 1)
└── @ CallNode (location: (1,0)-(1,22))
+ ├── flags: ∅
├── receiver: ∅
├── call_operator_loc: ∅
├── name: :a
@@ -11,42 +12,41 @@
├── opening_loc: ∅
├── arguments: ∅
├── closing_loc: ∅
- ├── block:
- │ @ BlockNode (location: (1,2)-(1,22))
- │ ├── locals: [:b, :c, :d, :e]
- │ ├── locals_body_index: 4
- │ ├── parameters:
- │ │ @ BlockParametersNode (location: (1,4)-(1,20))
- │ │ ├── parameters:
- │ │ │ @ ParametersNode (location: (1,5)-(1,19))
- │ │ │ ├── requireds: (length: 0)
- │ │ │ ├── optionals: (length: 1)
- │ │ │ │ └── @ OptionalParameterNode (location: (1,5)-(1,8))
- │ │ │ │ ├── name: :b
- │ │ │ │ ├── name_loc: (1,5)-(1,6) = "b"
- │ │ │ │ ├── operator_loc: (1,6)-(1,7) = "="
- │ │ │ │ └── value:
- │ │ │ │ @ IntegerNode (location: (1,7)-(1,8))
- │ │ │ │ └── flags: decimal
- │ │ │ ├── rest:
- │ │ │ │ @ RestParameterNode (location: (1,10)-(1,12))
- │ │ │ │ ├── name: :c
- │ │ │ │ ├── name_loc: (1,11)-(1,12) = "c"
- │ │ │ │ └── operator_loc: (1,10)-(1,11) = "*"
- │ │ │ ├── posts: (length: 1)
- │ │ │ │ └── @ RequiredParameterNode (location: (1,14)-(1,15))
- │ │ │ │ └── name: :d
- │ │ │ ├── keywords: (length: 0)
- │ │ │ ├── keyword_rest: ∅
- │ │ │ └── block:
- │ │ │ @ BlockParameterNode (location: (1,17)-(1,19))
- │ │ │ ├── name: :e
- │ │ │ ├── name_loc: (1,18)-(1,19) = "e"
- │ │ │ └── operator_loc: (1,17)-(1,18) = "&"
- │ │ ├── locals: (length: 0)
- │ │ ├── opening_loc: (1,4)-(1,5) = "|"
- │ │ └── closing_loc: (1,19)-(1,20) = "|"
- │ ├── body: ∅
- │ ├── opening_loc: (1,2)-(1,3) = "{"
- │ └── closing_loc: (1,21)-(1,22) = "}"
- └── flags: ∅
+ └── block:
+ @ BlockNode (location: (1,2)-(1,22))
+ ├── locals: [:b, :c, :d, :e]
+ ├── locals_body_index: 4
+ ├── parameters:
+ │ @ BlockParametersNode (location: (1,4)-(1,20))
+ │ ├── parameters:
+ │ │ @ ParametersNode (location: (1,5)-(1,19))
+ │ │ ├── requireds: (length: 0)
+ │ │ ├── optionals: (length: 1)
+ │ │ │ └── @ OptionalParameterNode (location: (1,5)-(1,8))
+ │ │ │ ├── name: :b
+ │ │ │ ├── name_loc: (1,5)-(1,6) = "b"
+ │ │ │ ├── operator_loc: (1,6)-(1,7) = "="
+ │ │ │ └── value:
+ │ │ │ @ IntegerNode (location: (1,7)-(1,8))
+ │ │ │ └── flags: decimal
+ │ │ ├── rest:
+ │ │ │ @ RestParameterNode (location: (1,10)-(1,12))
+ │ │ │ ├── name: :c
+ │ │ │ ├── name_loc: (1,11)-(1,12) = "c"
+ │ │ │ └── operator_loc: (1,10)-(1,11) = "*"
+ │ │ ├── posts: (length: 1)
+ │ │ │ └── @ RequiredParameterNode (location: (1,14)-(1,15))
+ │ │ │ └── name: :d
+ │ │ ├── keywords: (length: 0)
+ │ │ ├── keyword_rest: ∅
+ │ │ └── block:
+ │ │ @ BlockParameterNode (location: (1,17)-(1,19))
+ │ │ ├── name: :e
+ │ │ ├── name_loc: (1,18)-(1,19) = "e"
+ │ │ └── operator_loc: (1,17)-(1,18) = "&"
+ │ ├── locals: (length: 0)
+ │ ├── opening_loc: (1,4)-(1,5) = "|"
+ │ └── closing_loc: (1,19)-(1,20) = "|"
+ ├── body: ∅
+ ├── opening_loc: (1,2)-(1,3) = "{"
+ └── closing_loc: (1,21)-(1,22) = "}"
diff --git a/test/prism/snapshots/seattlerb/block_optarg.txt b/test/prism/snapshots/seattlerb/block_optarg.txt
index 998be35976..52f8731a7b 100644
--- a/test/prism/snapshots/seattlerb/block_optarg.txt
+++ b/test/prism/snapshots/seattlerb/block_optarg.txt
@@ -4,6 +4,7 @@
@ StatementsNode (location: (1,0)-(1,14))
└── body: (length: 1)
└── @ CallNode (location: (1,0)-(1,14))
+ ├── flags: ∅
├── receiver: ∅
├── call_operator_loc: ∅
├── name: :a
@@ -11,35 +12,34 @@
├── opening_loc: ∅
├── arguments: ∅
├── closing_loc: ∅
- ├── block:
- │ @ BlockNode (location: (1,2)-(1,14))
- │ ├── locals: [:b]
- │ ├── locals_body_index: 1
- │ ├── parameters:
- │ │ @ BlockParametersNode (location: (1,4)-(1,12))
- │ │ ├── parameters:
- │ │ │ @ ParametersNode (location: (1,5)-(1,11))
- │ │ │ ├── requireds: (length: 0)
- │ │ │ ├── optionals: (length: 1)
- │ │ │ │ └── @ OptionalParameterNode (location: (1,5)-(1,11))
- │ │ │ │ ├── name: :b
- │ │ │ │ ├── name_loc: (1,5)-(1,6) = "b"
- │ │ │ │ ├── operator_loc: (1,7)-(1,8) = "="
- │ │ │ │ └── value:
- │ │ │ │ @ SymbolNode (location: (1,9)-(1,11))
- │ │ │ │ ├── opening_loc: (1,9)-(1,10) = ":"
- │ │ │ │ ├── value_loc: (1,10)-(1,11) = "c"
- │ │ │ │ ├── closing_loc: ∅
- │ │ │ │ └── unescaped: "c"
- │ │ │ ├── rest: ∅
- │ │ │ ├── posts: (length: 0)
- │ │ │ ├── keywords: (length: 0)
- │ │ │ ├── keyword_rest: ∅
- │ │ │ └── block: ∅
- │ │ ├── locals: (length: 0)
- │ │ ├── opening_loc: (1,4)-(1,5) = "|"
- │ │ └── closing_loc: (1,11)-(1,12) = "|"
- │ ├── body: ∅
- │ ├── opening_loc: (1,2)-(1,3) = "{"
- │ └── closing_loc: (1,13)-(1,14) = "}"
- └── flags: ∅
+ └── block:
+ @ BlockNode (location: (1,2)-(1,14))
+ ├── locals: [:b]
+ ├── locals_body_index: 1
+ ├── parameters:
+ │ @ BlockParametersNode (location: (1,4)-(1,12))
+ │ ├── parameters:
+ │ │ @ ParametersNode (location: (1,5)-(1,11))
+ │ │ ├── requireds: (length: 0)
+ │ │ ├── optionals: (length: 1)
+ │ │ │ └── @ OptionalParameterNode (location: (1,5)-(1,11))
+ │ │ │ ├── name: :b
+ │ │ │ ├── name_loc: (1,5)-(1,6) = "b"
+ │ │ │ ├── operator_loc: (1,7)-(1,8) = "="
+ │ │ │ └── value:
+ │ │ │ @ SymbolNode (location: (1,9)-(1,11))
+ │ │ │ ├── opening_loc: (1,9)-(1,10) = ":"
+ │ │ │ ├── value_loc: (1,10)-(1,11) = "c"
+ │ │ │ ├── closing_loc: ∅
+ │ │ │ └── unescaped: "c"
+ │ │ ├── rest: ∅
+ │ │ ├── posts: (length: 0)
+ │ │ ├── keywords: (length: 0)
+ │ │ ├── keyword_rest: ∅
+ │ │ └── block: ∅
+ │ ├── locals: (length: 0)
+ │ ├── opening_loc: (1,4)-(1,5) = "|"
+ │ └── closing_loc: (1,11)-(1,12) = "|"
+ ├── body: ∅
+ ├── opening_loc: (1,2)-(1,3) = "{"
+ └── closing_loc: (1,13)-(1,14) = "}"
diff --git a/test/prism/snapshots/seattlerb/block_paren_splat.txt b/test/prism/snapshots/seattlerb/block_paren_splat.txt
index f6b32c8f94..a34e0bca37 100644
--- a/test/prism/snapshots/seattlerb/block_paren_splat.txt
+++ b/test/prism/snapshots/seattlerb/block_paren_splat.txt
@@ -4,6 +4,7 @@
@ StatementsNode (location: (1,0)-(1,15))
└── body: (length: 1)
└── @ CallNode (location: (1,0)-(1,15))
+ ├── flags: ∅
├── receiver: ∅
├── call_operator_loc: ∅
├── name: :a
@@ -11,38 +12,37 @@
├── opening_loc: ∅
├── arguments: ∅
├── closing_loc: ∅
- ├── block:
- │ @ BlockNode (location: (1,2)-(1,15))
- │ ├── locals: [:b, :c]
- │ ├── locals_body_index: 2
- │ ├── parameters:
- │ │ @ BlockParametersNode (location: (1,4)-(1,13))
- │ │ ├── parameters:
- │ │ │ @ ParametersNode (location: (1,5)-(1,12))
- │ │ │ ├── requireds: (length: 1)
- │ │ │ │ └── @ MultiTargetNode (location: (1,5)-(1,12))
- │ │ │ │ ├── lefts: (length: 1)
- │ │ │ │ │ └── @ RequiredParameterNode (location: (1,6)-(1,7))
- │ │ │ │ │ └── name: :b
- │ │ │ │ ├── rest:
- │ │ │ │ │ @ SplatNode (location: (1,9)-(1,11))
- │ │ │ │ │ ├── operator_loc: (1,9)-(1,10) = "*"
- │ │ │ │ │ └── expression:
- │ │ │ │ │ @ RequiredParameterNode (location: (1,10)-(1,11))
- │ │ │ │ │ └── name: :c
- │ │ │ │ ├── rights: (length: 0)
- │ │ │ │ ├── lparen_loc: (1,5)-(1,6) = "("
- │ │ │ │ └── rparen_loc: (1,11)-(1,12) = ")"
- │ │ │ ├── optionals: (length: 0)
- │ │ │ ├── rest: ∅
- │ │ │ ├── posts: (length: 0)
- │ │ │ ├── keywords: (length: 0)
- │ │ │ ├── keyword_rest: ∅
- │ │ │ └── block: ∅
- │ │ ├── locals: (length: 0)
- │ │ ├── opening_loc: (1,4)-(1,5) = "|"
- │ │ └── closing_loc: (1,12)-(1,13) = "|"
- │ ├── body: ∅
- │ ├── opening_loc: (1,2)-(1,3) = "{"
- │ └── closing_loc: (1,14)-(1,15) = "}"
- └── flags: ∅
+ └── block:
+ @ BlockNode (location: (1,2)-(1,15))
+ ├── locals: [:b, :c]
+ ├── locals_body_index: 2
+ ├── parameters:
+ │ @ BlockParametersNode (location: (1,4)-(1,13))
+ │ ├── parameters:
+ │ │ @ ParametersNode (location: (1,5)-(1,12))
+ │ │ ├── requireds: (length: 1)
+ │ │ │ └── @ MultiTargetNode (location: (1,5)-(1,12))
+ │ │ │ ├── lefts: (length: 1)
+ │ │ │ │ └── @ RequiredParameterNode (location: (1,6)-(1,7))
+ │ │ │ │ └── name: :b
+ │ │ │ ├── rest:
+ │ │ │ │ @ SplatNode (location: (1,9)-(1,11))
+ │ │ │ │ ├── operator_loc: (1,9)-(1,10) = "*"
+ │ │ │ │ └── expression:
+ │ │ │ │ @ RequiredParameterNode (location: (1,10)-(1,11))
+ │ │ │ │ └── name: :c
+ │ │ │ ├── rights: (length: 0)
+ │ │ │ ├── lparen_loc: (1,5)-(1,6) = "("
+ │ │ │ └── rparen_loc: (1,11)-(1,12) = ")"
+ │ │ ├── optionals: (length: 0)
+ │ │ ├── rest: ∅
+ │ │ ├── posts: (length: 0)
+ │ │ ├── keywords: (length: 0)
+ │ │ ├── keyword_rest: ∅
+ │ │ └── block: ∅
+ │ ├── locals: (length: 0)
+ │ ├── opening_loc: (1,4)-(1,5) = "|"
+ │ └── closing_loc: (1,12)-(1,13) = "|"
+ ├── body: ∅
+ ├── opening_loc: (1,2)-(1,3) = "{"
+ └── closing_loc: (1,14)-(1,15) = "}"
diff --git a/test/prism/snapshots/seattlerb/block_reg_optarg.txt b/test/prism/snapshots/seattlerb/block_reg_optarg.txt
index 8e01cd401c..389e560964 100644
--- a/test/prism/snapshots/seattlerb/block_reg_optarg.txt
+++ b/test/prism/snapshots/seattlerb/block_reg_optarg.txt
@@ -4,6 +4,7 @@
@ StatementsNode (location: (1,0)-(1,17))
└── body: (length: 1)
└── @ CallNode (location: (1,0)-(1,17))
+ ├── flags: ∅
├── receiver: ∅
├── call_operator_loc: ∅
├── name: :a
@@ -11,37 +12,36 @@
├── opening_loc: ∅
├── arguments: ∅
├── closing_loc: ∅
- ├── block:
- │ @ BlockNode (location: (1,2)-(1,17))
- │ ├── locals: [:b, :c]
- │ ├── locals_body_index: 2
- │ ├── parameters:
- │ │ @ BlockParametersNode (location: (1,4)-(1,15))
- │ │ ├── parameters:
- │ │ │ @ ParametersNode (location: (1,5)-(1,14))
- │ │ │ ├── requireds: (length: 1)
- │ │ │ │ └── @ RequiredParameterNode (location: (1,5)-(1,6))
- │ │ │ │ └── name: :b
- │ │ │ ├── optionals: (length: 1)
- │ │ │ │ └── @ OptionalParameterNode (location: (1,8)-(1,14))
- │ │ │ │ ├── name: :c
- │ │ │ │ ├── name_loc: (1,8)-(1,9) = "c"
- │ │ │ │ ├── operator_loc: (1,10)-(1,11) = "="
- │ │ │ │ └── value:
- │ │ │ │ @ SymbolNode (location: (1,12)-(1,14))
- │ │ │ │ ├── opening_loc: (1,12)-(1,13) = ":"
- │ │ │ │ ├── value_loc: (1,13)-(1,14) = "d"
- │ │ │ │ ├── closing_loc: ∅
- │ │ │ │ └── unescaped: "d"
- │ │ │ ├── rest: ∅
- │ │ │ ├── posts: (length: 0)
- │ │ │ ├── keywords: (length: 0)
- │ │ │ ├── keyword_rest: ∅
- │ │ │ └── block: ∅
- │ │ ├── locals: (length: 0)
- │ │ ├── opening_loc: (1,4)-(1,5) = "|"
- │ │ └── closing_loc: (1,14)-(1,15) = "|"
- │ ├── body: ∅
- │ ├── opening_loc: (1,2)-(1,3) = "{"
- │ └── closing_loc: (1,16)-(1,17) = "}"
- └── flags: ∅
+ └── block:
+ @ BlockNode (location: (1,2)-(1,17))
+ ├── locals: [:b, :c]
+ ├── locals_body_index: 2
+ ├── parameters:
+ │ @ BlockParametersNode (location: (1,4)-(1,15))
+ │ ├── parameters:
+ │ │ @ ParametersNode (location: (1,5)-(1,14))
+ │ │ ├── requireds: (length: 1)
+ │ │ │ └── @ RequiredParameterNode (location: (1,5)-(1,6))
+ │ │ │ └── name: :b
+ │ │ ├── optionals: (length: 1)
+ │ │ │ └── @ OptionalParameterNode (location: (1,8)-(1,14))
+ │ │ │ ├── name: :c
+ │ │ │ ├── name_loc: (1,8)-(1,9) = "c"
+ │ │ │ ├── operator_loc: (1,10)-(1,11) = "="
+ │ │ │ └── value:
+ │ │ │ @ SymbolNode (location: (1,12)-(1,14))
+ │ │ │ ├── opening_loc: (1,12)-(1,13) = ":"
+ │ │ │ ├── value_loc: (1,13)-(1,14) = "d"
+ │ │ │ ├── closing_loc: ∅
+ │ │ │ └── unescaped: "d"
+ │ │ ├── rest: ∅
+ │ │ ├── posts: (length: 0)
+ │ │ ├── keywords: (length: 0)
+ │ │ ├── keyword_rest: ∅
+ │ │ └── block: ∅
+ │ ├── locals: (length: 0)
+ │ ├── opening_loc: (1,4)-(1,5) = "|"
+ │ └── closing_loc: (1,14)-(1,15) = "|"
+ ├── body: ∅
+ ├── opening_loc: (1,2)-(1,3) = "{"
+ └── closing_loc: (1,16)-(1,17) = "}"
diff --git a/test/prism/snapshots/seattlerb/block_return.txt b/test/prism/snapshots/seattlerb/block_return.txt
index f361704d01..3764cac9c8 100644
--- a/test/prism/snapshots/seattlerb/block_return.txt
+++ b/test/prism/snapshots/seattlerb/block_return.txt
@@ -7,50 +7,50 @@
├── keyword_loc: (1,0)-(1,6) = "return"
└── arguments:
@ ArgumentsNode (location: (1,7)-(1,27))
- ├── arguments: (length: 1)
- │ └── @ CallNode (location: (1,7)-(1,27))
- │ ├── receiver: ∅
- │ ├── call_operator_loc: ∅
- │ ├── name: :foo
- │ ├── message_loc: (1,7)-(1,10) = "foo"
- │ ├── opening_loc: ∅
- │ ├── arguments:
- │ │ @ ArgumentsNode (location: (1,11)-(1,14))
- │ │ ├── arguments: (length: 1)
- │ │ │ └── @ CallNode (location: (1,11)-(1,14))
- │ │ │ ├── receiver: ∅
- │ │ │ ├── call_operator_loc: ∅
- │ │ │ ├── name: :arg
- │ │ │ ├── message_loc: (1,11)-(1,14) = "arg"
- │ │ │ ├── opening_loc: ∅
- │ │ │ ├── arguments: ∅
- │ │ │ ├── closing_loc: ∅
- │ │ │ ├── block: ∅
- │ │ │ └── flags: variable_call
- │ │ └── flags: ∅
- │ ├── closing_loc: ∅
- │ ├── block:
- │ │ @ BlockNode (location: (1,15)-(1,27))
- │ │ ├── locals: [:bar]
- │ │ ├── locals_body_index: 1
- │ │ ├── parameters:
- │ │ │ @ BlockParametersNode (location: (1,18)-(1,23))
- │ │ │ ├── parameters:
- │ │ │ │ @ ParametersNode (location: (1,19)-(1,22))
- │ │ │ │ ├── requireds: (length: 1)
- │ │ │ │ │ └── @ RequiredParameterNode (location: (1,19)-(1,22))
- │ │ │ │ │ └── name: :bar
- │ │ │ │ ├── optionals: (length: 0)
- │ │ │ │ ├── rest: ∅
- │ │ │ │ ├── posts: (length: 0)
- │ │ │ │ ├── keywords: (length: 0)
- │ │ │ │ ├── keyword_rest: ∅
- │ │ │ │ └── block: ∅
- │ │ │ ├── locals: (length: 0)
- │ │ │ ├── opening_loc: (1,18)-(1,19) = "|"
- │ │ │ └── closing_loc: (1,22)-(1,23) = "|"
- │ │ ├── body: ∅
- │ │ ├── opening_loc: (1,15)-(1,17) = "do"
- │ │ └── closing_loc: (1,24)-(1,27) = "end"
- │ └── flags: ∅
- └── flags: ∅
+ ├── flags: ∅
+ └── arguments: (length: 1)
+ └── @ CallNode (location: (1,7)-(1,27))
+ ├── flags: ∅
+ ├── receiver: ∅
+ ├── call_operator_loc: ∅
+ ├── name: :foo
+ ├── message_loc: (1,7)-(1,10) = "foo"
+ ├── opening_loc: ∅
+ ├── arguments:
+ │ @ ArgumentsNode (location: (1,11)-(1,14))
+ │ ├── flags: ∅
+ │ └── arguments: (length: 1)
+ │ └── @ CallNode (location: (1,11)-(1,14))
+ │ ├── flags: variable_call
+ │ ├── receiver: ∅
+ │ ├── call_operator_loc: ∅
+ │ ├── name: :arg
+ │ ├── message_loc: (1,11)-(1,14) = "arg"
+ │ ├── opening_loc: ∅
+ │ ├── arguments: ∅
+ │ ├── closing_loc: ∅
+ │ └── block: ∅
+ ├── closing_loc: ∅
+ └── block:
+ @ BlockNode (location: (1,15)-(1,27))
+ ├── locals: [:bar]
+ ├── locals_body_index: 1
+ ├── parameters:
+ │ @ BlockParametersNode (location: (1,18)-(1,23))
+ │ ├── parameters:
+ │ │ @ ParametersNode (location: (1,19)-(1,22))
+ │ │ ├── requireds: (length: 1)
+ │ │ │ └── @ RequiredParameterNode (location: (1,19)-(1,22))
+ │ │ │ └── name: :bar
+ │ │ ├── optionals: (length: 0)
+ │ │ ├── rest: ∅
+ │ │ ├── posts: (length: 0)
+ │ │ ├── keywords: (length: 0)
+ │ │ ├── keyword_rest: ∅
+ │ │ └── block: ∅
+ │ ├── locals: (length: 0)
+ │ ├── opening_loc: (1,18)-(1,19) = "|"
+ │ └── closing_loc: (1,22)-(1,23) = "|"
+ ├── body: ∅
+ ├── opening_loc: (1,15)-(1,17) = "do"
+ └── closing_loc: (1,24)-(1,27) = "end"
diff --git a/test/prism/snapshots/seattlerb/block_scope.txt b/test/prism/snapshots/seattlerb/block_scope.txt
index 409c544f39..cccf6b79a2 100644
--- a/test/prism/snapshots/seattlerb/block_scope.txt
+++ b/test/prism/snapshots/seattlerb/block_scope.txt
@@ -4,6 +4,7 @@
@ StatementsNode (location: (1,0)-(1,10))
└── body: (length: 1)
└── @ CallNode (location: (1,0)-(1,10))
+ ├── flags: ∅
├── receiver: ∅
├── call_operator_loc: ∅
├── name: :a
@@ -11,19 +12,18 @@
├── opening_loc: ∅
├── arguments: ∅
├── closing_loc: ∅
- ├── block:
- │ @ BlockNode (location: (1,2)-(1,10))
- │ ├── locals: [:b]
- │ ├── locals_body_index: 1
- │ ├── parameters:
- │ │ @ BlockParametersNode (location: (1,4)-(1,8))
- │ │ ├── parameters: ∅
- │ │ ├── locals: (length: 1)
- │ │ │ └── @ BlockLocalVariableNode (location: (1,6)-(1,7))
- │ │ │ └── name: :b
- │ │ ├── opening_loc: (1,4)-(1,5) = "|"
- │ │ └── closing_loc: (1,7)-(1,8) = "|"
- │ ├── body: ∅
- │ ├── opening_loc: (1,2)-(1,3) = "{"
- │ └── closing_loc: (1,9)-(1,10) = "}"
- └── flags: ∅
+ └── block:
+ @ BlockNode (location: (1,2)-(1,10))
+ ├── locals: [:b]
+ ├── locals_body_index: 1
+ ├── parameters:
+ │ @ BlockParametersNode (location: (1,4)-(1,8))
+ │ ├── parameters: ∅
+ │ ├── locals: (length: 1)
+ │ │ └── @ BlockLocalVariableNode (location: (1,6)-(1,7))
+ │ │ └── name: :b
+ │ ├── opening_loc: (1,4)-(1,5) = "|"
+ │ └── closing_loc: (1,7)-(1,8) = "|"
+ ├── body: ∅
+ ├── opening_loc: (1,2)-(1,3) = "{"
+ └── closing_loc: (1,9)-(1,10) = "}"
diff --git a/test/prism/snapshots/seattlerb/block_splat_reg.txt b/test/prism/snapshots/seattlerb/block_splat_reg.txt
index 93b5dd5ea6..0cf4b62f7d 100644
--- a/test/prism/snapshots/seattlerb/block_splat_reg.txt
+++ b/test/prism/snapshots/seattlerb/block_splat_reg.txt
@@ -4,6 +4,7 @@
@ StatementsNode (location: (1,0)-(1,13))
└── body: (length: 1)
└── @ CallNode (location: (1,0)-(1,13))
+ ├── flags: ∅
├── receiver: ∅
├── call_operator_loc: ∅
├── name: :a
@@ -11,31 +12,30 @@
├── opening_loc: ∅
├── arguments: ∅
├── closing_loc: ∅
- ├── block:
- │ @ BlockNode (location: (1,2)-(1,13))
- │ ├── locals: [:b, :c]
- │ ├── locals_body_index: 2
- │ ├── parameters:
- │ │ @ BlockParametersNode (location: (1,4)-(1,11))
- │ │ ├── parameters:
- │ │ │ @ ParametersNode (location: (1,5)-(1,10))
- │ │ │ ├── requireds: (length: 0)
- │ │ │ ├── optionals: (length: 0)
- │ │ │ ├── rest:
- │ │ │ │ @ RestParameterNode (location: (1,5)-(1,7))
- │ │ │ │ ├── name: :b
- │ │ │ │ ├── name_loc: (1,6)-(1,7) = "b"
- │ │ │ │ └── operator_loc: (1,5)-(1,6) = "*"
- │ │ │ ├── posts: (length: 1)
- │ │ │ │ └── @ RequiredParameterNode (location: (1,9)-(1,10))
- │ │ │ │ └── name: :c
- │ │ │ ├── keywords: (length: 0)
- │ │ │ ├── keyword_rest: ∅
- │ │ │ └── block: ∅
- │ │ ├── locals: (length: 0)
- │ │ ├── opening_loc: (1,4)-(1,5) = "|"
- │ │ └── closing_loc: (1,10)-(1,11) = "|"
- │ ├── body: ∅
- │ ├── opening_loc: (1,2)-(1,3) = "{"
- │ └── closing_loc: (1,12)-(1,13) = "}"
- └── flags: ∅
+ └── block:
+ @ BlockNode (location: (1,2)-(1,13))
+ ├── locals: [:b, :c]
+ ├── locals_body_index: 2
+ ├── parameters:
+ │ @ BlockParametersNode (location: (1,4)-(1,11))
+ │ ├── parameters:
+ │ │ @ ParametersNode (location: (1,5)-(1,10))
+ │ │ ├── requireds: (length: 0)
+ │ │ ├── optionals: (length: 0)
+ │ │ ├── rest:
+ │ │ │ @ RestParameterNode (location: (1,5)-(1,7))
+ │ │ │ ├── name: :b
+ │ │ │ ├── name_loc: (1,6)-(1,7) = "b"
+ │ │ │ └── operator_loc: (1,5)-(1,6) = "*"
+ │ │ ├── posts: (length: 1)
+ │ │ │ └── @ RequiredParameterNode (location: (1,9)-(1,10))
+ │ │ │ └── name: :c
+ │ │ ├── keywords: (length: 0)
+ │ │ ├── keyword_rest: ∅
+ │ │ └── block: ∅
+ │ ├── locals: (length: 0)
+ │ ├── opening_loc: (1,4)-(1,5) = "|"
+ │ └── closing_loc: (1,10)-(1,11) = "|"
+ ├── body: ∅
+ ├── opening_loc: (1,2)-(1,3) = "{"
+ └── closing_loc: (1,12)-(1,13) = "}"
diff --git a/test/prism/snapshots/seattlerb/bug169.txt b/test/prism/snapshots/seattlerb/bug169.txt
index 22ef18c5c1..22d8e4c48f 100644
--- a/test/prism/snapshots/seattlerb/bug169.txt
+++ b/test/prism/snapshots/seattlerb/bug169.txt
@@ -4,6 +4,7 @@
@ StatementsNode (location: (1,0)-(1,7))
└── body: (length: 1)
└── @ CallNode (location: (1,0)-(1,7))
+ ├── flags: ∅
├── receiver: ∅
├── call_operator_loc: ∅
├── name: :m
@@ -11,19 +12,18 @@
├── opening_loc: ∅
├── arguments:
│ @ ArgumentsNode (location: (1,2)-(1,4))
- │ ├── arguments: (length: 1)
- │ │ └── @ ParenthesesNode (location: (1,2)-(1,4))
- │ │ ├── body: ∅
- │ │ ├── opening_loc: (1,2)-(1,3) = "("
- │ │ └── closing_loc: (1,3)-(1,4) = ")"
- │ └── flags: ∅
+ │ ├── flags: ∅
+ │ └── arguments: (length: 1)
+ │ └── @ ParenthesesNode (location: (1,2)-(1,4))
+ │ ├── body: ∅
+ │ ├── opening_loc: (1,2)-(1,3) = "("
+ │ └── closing_loc: (1,3)-(1,4) = ")"
├── closing_loc: ∅
- ├── block:
- │ @ BlockNode (location: (1,5)-(1,7))
- │ ├── locals: []
- │ ├── locals_body_index: 0
- │ ├── parameters: ∅
- │ ├── body: ∅
- │ ├── opening_loc: (1,5)-(1,6) = "{"
- │ └── closing_loc: (1,6)-(1,7) = "}"
- └── flags: ∅
+ └── block:
+ @ BlockNode (location: (1,5)-(1,7))
+ ├── locals: []
+ ├── locals_body_index: 0
+ ├── parameters: ∅
+ ├── body: ∅
+ ├── opening_loc: (1,5)-(1,6) = "{"
+ └── closing_loc: (1,6)-(1,7) = "}"
diff --git a/test/prism/snapshots/seattlerb/bug179.txt b/test/prism/snapshots/seattlerb/bug179.txt
index 0951879111..11620b2dea 100644
--- a/test/prism/snapshots/seattlerb/bug179.txt
+++ b/test/prism/snapshots/seattlerb/bug179.txt
@@ -4,6 +4,7 @@
@ StatementsNode (location: (1,0)-(1,9))
└── body: (length: 1)
└── @ CallNode (location: (1,0)-(1,9))
+ ├── flags: ∅
├── receiver: ∅
├── call_operator_loc: ∅
├── name: :p
@@ -11,18 +12,17 @@
├── opening_loc: ∅
├── arguments:
│ @ ArgumentsNode (location: (1,2)-(1,9))
- │ ├── arguments: (length: 1)
- │ │ └── @ RangeNode (location: (1,2)-(1,9))
- │ │ ├── left:
- │ │ │ @ ParenthesesNode (location: (1,2)-(1,4))
- │ │ │ ├── body: ∅
- │ │ │ ├── opening_loc: (1,2)-(1,3) = "("
- │ │ │ └── closing_loc: (1,3)-(1,4) = ")"
- │ │ ├── right:
- │ │ │ @ NilNode (location: (1,6)-(1,9))
- │ │ ├── operator_loc: (1,4)-(1,6) = ".."
- │ │ └── flags: ∅
- │ └── flags: ∅
+ │ ├── flags: ∅
+ │ └── arguments: (length: 1)
+ │ └── @ RangeNode (location: (1,2)-(1,9))
+ │ ├── flags: ∅
+ │ ├── left:
+ │ │ @ ParenthesesNode (location: (1,2)-(1,4))
+ │ │ ├── body: ∅
+ │ │ ├── opening_loc: (1,2)-(1,3) = "("
+ │ │ └── closing_loc: (1,3)-(1,4) = ")"
+ │ ├── right:
+ │ │ @ NilNode (location: (1,6)-(1,9))
+ │ └── operator_loc: (1,4)-(1,6) = ".."
├── closing_loc: ∅
- ├── block: ∅
- └── flags: ∅
+ └── block: ∅
diff --git a/test/prism/snapshots/seattlerb/bug190.txt b/test/prism/snapshots/seattlerb/bug190.txt
index fec48914c9..ef4411ddb7 100644
--- a/test/prism/snapshots/seattlerb/bug190.txt
+++ b/test/prism/snapshots/seattlerb/bug190.txt
@@ -4,8 +4,8 @@
@ StatementsNode (location: (1,0)-(1,6))
└── body: (length: 1)
└── @ RegularExpressionNode (location: (1,0)-(1,6))
+ ├── flags: ∅
├── opening_loc: (1,0)-(1,3) = "%r'"
├── content_loc: (1,3)-(1,5) = "\\'"
├── closing_loc: (1,5)-(1,6) = "'"
- ├── unescaped: "\\'"
- └── flags: ∅
+ └── unescaped: "\\'"
diff --git a/test/prism/snapshots/seattlerb/bug191.txt b/test/prism/snapshots/seattlerb/bug191.txt
index c617c4a79a..b9cbac0d1c 100644
--- a/test/prism/snapshots/seattlerb/bug191.txt
+++ b/test/prism/snapshots/seattlerb/bug191.txt
@@ -7,6 +7,7 @@
│ ├── if_keyword_loc: ∅
│ ├── predicate:
│ │ @ CallNode (location: (1,0)-(1,1))
+ │ │ ├── flags: variable_call
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
│ │ ├── name: :a
@@ -14,8 +15,7 @@
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
- │ │ ├── block: ∅
- │ │ └── flags: variable_call
+ │ │ └── block: ∅
│ ├── then_keyword_loc: (1,2)-(1,3) = "?"
│ ├── statements:
│ │ @ StatementsNode (location: (1,4)-(1,6))
@@ -33,6 +33,7 @@
│ │ │ @ StatementsNode (location: (1,8)-(1,9))
│ │ │ └── body: (length: 1)
│ │ │ └── @ CallNode (location: (1,8)-(1,9))
+ │ │ │ ├── flags: variable_call
│ │ │ ├── receiver: ∅
│ │ │ ├── call_operator_loc: ∅
│ │ │ ├── name: :b
@@ -40,14 +41,14 @@
│ │ │ ├── opening_loc: ∅
│ │ │ ├── arguments: ∅
│ │ │ ├── closing_loc: ∅
- │ │ │ ├── block: ∅
- │ │ │ └── flags: variable_call
+ │ │ │ └── block: ∅
│ │ └── end_keyword_loc: ∅
│ └── end_keyword_loc: ∅
└── @ IfNode (location: (3,0)-(3,9))
├── if_keyword_loc: ∅
├── predicate:
│ @ CallNode (location: (3,0)-(3,1))
+ │ ├── flags: variable_call
│ ├── receiver: ∅
│ ├── call_operator_loc: ∅
│ ├── name: :a
@@ -55,8 +56,7 @@
│ ├── opening_loc: ∅
│ ├── arguments: ∅
│ ├── closing_loc: ∅
- │ ├── block: ∅
- │ └── flags: variable_call
+ │ └── block: ∅
├── then_keyword_loc: (3,2)-(3,3) = "?"
├── statements:
│ @ StatementsNode (location: (3,4)-(3,6))
@@ -74,6 +74,7 @@
│ │ @ StatementsNode (location: (3,8)-(3,9))
│ │ └── body: (length: 1)
│ │ └── @ CallNode (location: (3,8)-(3,9))
+ │ │ ├── flags: variable_call
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
│ │ ├── name: :b
@@ -81,7 +82,6 @@
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
- │ │ ├── block: ∅
- │ │ └── flags: variable_call
+ │ │ └── block: ∅
│ └── end_keyword_loc: ∅
└── end_keyword_loc: ∅
diff --git a/test/prism/snapshots/seattlerb/bug236.txt b/test/prism/snapshots/seattlerb/bug236.txt
index 4aceae0e77..65339efa8b 100644
--- a/test/prism/snapshots/seattlerb/bug236.txt
+++ b/test/prism/snapshots/seattlerb/bug236.txt
@@ -4,6 +4,7 @@
@ StatementsNode (location: (1,0)-(3,6))
└── body: (length: 2)
├── @ CallNode (location: (1,0)-(1,7))
+ │ ├── flags: ∅
│ ├── receiver: ∅
│ ├── call_operator_loc: ∅
│ ├── name: :x
@@ -11,32 +12,32 @@
│ ├── opening_loc: ∅
│ ├── arguments: ∅
│ ├── closing_loc: ∅
- │ ├── block:
- │ │ @ BlockNode (location: (1,1)-(1,7))
- │ │ ├── locals: [:a]
- │ │ ├── locals_body_index: 1
- │ │ ├── parameters:
- │ │ │ @ BlockParametersNode (location: (1,2)-(1,6))
- │ │ │ ├── parameters:
- │ │ │ │ @ ParametersNode (location: (1,3)-(1,5))
- │ │ │ │ ├── requireds: (length: 1)
- │ │ │ │ │ └── @ RequiredParameterNode (location: (1,3)-(1,4))
- │ │ │ │ │ └── name: :a
- │ │ │ │ ├── optionals: (length: 0)
- │ │ │ │ ├── rest:
- │ │ │ │ │ @ ImplicitRestNode (location: (1,4)-(1,5))
- │ │ │ │ ├── posts: (length: 0)
- │ │ │ │ ├── keywords: (length: 0)
- │ │ │ │ ├── keyword_rest: ∅
- │ │ │ │ └── block: ∅
- │ │ │ ├── locals: (length: 0)
- │ │ │ ├── opening_loc: (1,2)-(1,3) = "|"
- │ │ │ └── closing_loc: (1,5)-(1,6) = "|"
- │ │ ├── body: ∅
- │ │ ├── opening_loc: (1,1)-(1,2) = "{"
- │ │ └── closing_loc: (1,6)-(1,7) = "}"
- │ └── flags: ∅
+ │ └── block:
+ │ @ BlockNode (location: (1,1)-(1,7))
+ │ ├── locals: [:a]
+ │ ├── locals_body_index: 1
+ │ ├── parameters:
+ │ │ @ BlockParametersNode (location: (1,2)-(1,6))
+ │ │ ├── parameters:
+ │ │ │ @ ParametersNode (location: (1,3)-(1,5))
+ │ │ │ ├── requireds: (length: 1)
+ │ │ │ │ └── @ RequiredParameterNode (location: (1,3)-(1,4))
+ │ │ │ │ └── name: :a
+ │ │ │ ├── optionals: (length: 0)
+ │ │ │ ├── rest:
+ │ │ │ │ @ ImplicitRestNode (location: (1,4)-(1,5))
+ │ │ │ ├── posts: (length: 0)
+ │ │ │ ├── keywords: (length: 0)
+ │ │ │ ├── keyword_rest: ∅
+ │ │ │ └── block: ∅
+ │ │ ├── locals: (length: 0)
+ │ │ ├── opening_loc: (1,2)-(1,3) = "|"
+ │ │ └── closing_loc: (1,5)-(1,6) = "|"
+ │ ├── body: ∅
+ │ ├── opening_loc: (1,1)-(1,2) = "{"
+ │ └── closing_loc: (1,6)-(1,7) = "}"
└── @ CallNode (location: (3,0)-(3,6))
+ ├── flags: ∅
├── receiver: ∅
├── call_operator_loc: ∅
├── name: :x
@@ -44,27 +45,26 @@
├── opening_loc: ∅
├── arguments: ∅
├── closing_loc: ∅
- ├── block:
- │ @ BlockNode (location: (3,1)-(3,6))
- │ ├── locals: [:a]
- │ ├── locals_body_index: 1
- │ ├── parameters:
- │ │ @ BlockParametersNode (location: (3,2)-(3,5))
- │ │ ├── parameters:
- │ │ │ @ ParametersNode (location: (3,3)-(3,4))
- │ │ │ ├── requireds: (length: 1)
- │ │ │ │ └── @ RequiredParameterNode (location: (3,3)-(3,4))
- │ │ │ │ └── name: :a
- │ │ │ ├── optionals: (length: 0)
- │ │ │ ├── rest: ∅
- │ │ │ ├── posts: (length: 0)
- │ │ │ ├── keywords: (length: 0)
- │ │ │ ├── keyword_rest: ∅
- │ │ │ └── block: ∅
- │ │ ├── locals: (length: 0)
- │ │ ├── opening_loc: (3,2)-(3,3) = "|"
- │ │ └── closing_loc: (3,4)-(3,5) = "|"
- │ ├── body: ∅
- │ ├── opening_loc: (3,1)-(3,2) = "{"
- │ └── closing_loc: (3,5)-(3,6) = "}"
- └── flags: ∅
+ └── block:
+ @ BlockNode (location: (3,1)-(3,6))
+ ├── locals: [:a]
+ ├── locals_body_index: 1
+ ├── parameters:
+ │ @ BlockParametersNode (location: (3,2)-(3,5))
+ │ ├── parameters:
+ │ │ @ ParametersNode (location: (3,3)-(3,4))
+ │ │ ├── requireds: (length: 1)
+ │ │ │ └── @ RequiredParameterNode (location: (3,3)-(3,4))
+ │ │ │ └── name: :a
+ │ │ ├── optionals: (length: 0)
+ │ │ ├── rest: ∅
+ │ │ ├── posts: (length: 0)
+ │ │ ├── keywords: (length: 0)
+ │ │ ├── keyword_rest: ∅
+ │ │ └── block: ∅
+ │ ├── locals: (length: 0)
+ │ ├── opening_loc: (3,2)-(3,3) = "|"
+ │ └── closing_loc: (3,4)-(3,5) = "|"
+ ├── body: ∅
+ ├── opening_loc: (3,1)-(3,2) = "{"
+ └── closing_loc: (3,5)-(3,6) = "}"
diff --git a/test/prism/snapshots/seattlerb/bug290.txt b/test/prism/snapshots/seattlerb/bug290.txt
index ae57cfed23..e0633eb815 100644
--- a/test/prism/snapshots/seattlerb/bug290.txt
+++ b/test/prism/snapshots/seattlerb/bug290.txt
@@ -9,6 +9,7 @@
│ @ StatementsNode (location: (2,2)-(2,5))
│ └── body: (length: 1)
│ └── @ CallNode (location: (2,2)-(2,5))
+ │ ├── flags: variable_call
│ ├── receiver: ∅
│ ├── call_operator_loc: ∅
│ ├── name: :foo
@@ -16,8 +17,7 @@
│ ├── opening_loc: ∅
│ ├── arguments: ∅
│ ├── closing_loc: ∅
- │ ├── block: ∅
- │ └── flags: variable_call
+ │ └── block: ∅
├── rescue_clause: ∅
├── else_clause: ∅
├── ensure_clause: ∅
diff --git a/test/prism/snapshots/seattlerb/bug_187.txt b/test/prism/snapshots/seattlerb/bug_187.txt
index 99feff8208..5630cbf9c9 100644
--- a/test/prism/snapshots/seattlerb/bug_187.txt
+++ b/test/prism/snapshots/seattlerb/bug_187.txt
@@ -4,6 +4,7 @@
@ StatementsNode (location: (1,0)-(3,3))
└── body: (length: 1)
└── @ CallNode (location: (1,0)-(3,3))
+ ├── flags: ∅
├── receiver: ∅
├── call_operator_loc: ∅
├── name: :private
@@ -11,51 +12,50 @@
├── opening_loc: ∅
├── arguments:
│ @ ArgumentsNode (location: (1,8)-(3,3))
- │ ├── arguments: (length: 1)
- │ │ └── @ DefNode (location: (1,8)-(3,3))
- │ │ ├── name: :f
- │ │ ├── name_loc: (1,12)-(1,13) = "f"
- │ │ ├── receiver: ∅
- │ │ ├── parameters: ∅
- │ │ ├── body:
- │ │ │ @ StatementsNode (location: (2,0)-(2,10))
- │ │ │ └── body: (length: 1)
- │ │ │ └── @ CallNode (location: (2,0)-(2,10))
- │ │ │ ├── receiver:
- │ │ │ │ @ CallNode (location: (2,0)-(2,1))
- │ │ │ │ ├── receiver: ∅
- │ │ │ │ ├── call_operator_loc: ∅
- │ │ │ │ ├── name: :a
- │ │ │ │ ├── message_loc: (2,0)-(2,1) = "a"
- │ │ │ │ ├── opening_loc: ∅
- │ │ │ │ ├── arguments: ∅
- │ │ │ │ ├── closing_loc: ∅
- │ │ │ │ ├── block: ∅
- │ │ │ │ └── flags: variable_call
- │ │ │ ├── call_operator_loc: (2,1)-(2,2) = "."
- │ │ │ ├── name: :b
- │ │ │ ├── message_loc: (2,2)-(2,3) = "b"
- │ │ │ ├── opening_loc: ∅
- │ │ │ ├── arguments: ∅
- │ │ │ ├── closing_loc: ∅
- │ │ │ ├── block:
- │ │ │ │ @ BlockNode (location: (2,4)-(2,10))
- │ │ │ │ ├── locals: []
- │ │ │ │ ├── locals_body_index: 0
- │ │ │ │ ├── parameters: ∅
- │ │ │ │ ├── body: ∅
- │ │ │ │ ├── opening_loc: (2,4)-(2,6) = "do"
- │ │ │ │ └── closing_loc: (2,7)-(2,10) = "end"
- │ │ │ └── flags: ∅
- │ │ ├── locals: []
- │ │ ├── locals_body_index: 0
- │ │ ├── def_keyword_loc: (1,8)-(1,11) = "def"
- │ │ ├── operator_loc: ∅
- │ │ ├── lparen_loc: ∅
- │ │ ├── rparen_loc: ∅
- │ │ ├── equal_loc: ∅
- │ │ └── end_keyword_loc: (3,0)-(3,3) = "end"
- │ └── flags: ∅
+ │ ├── flags: ∅
+ │ └── arguments: (length: 1)
+ │ └── @ DefNode (location: (1,8)-(3,3))
+ │ ├── name: :f
+ │ ├── name_loc: (1,12)-(1,13) = "f"
+ │ ├── receiver: ∅
+ │ ├── parameters: ∅
+ │ ├── body:
+ │ │ @ StatementsNode (location: (2,0)-(2,10))
+ │ │ └── body: (length: 1)
+ │ │ └── @ CallNode (location: (2,0)-(2,10))
+ │ │ ├── flags: ∅
+ │ │ ├── receiver:
+ │ │ │ @ CallNode (location: (2,0)-(2,1))
+ │ │ │ ├── flags: variable_call
+ │ │ │ ├── receiver: ∅
+ │ │ │ ├── call_operator_loc: ∅
+ │ │ │ ├── name: :a
+ │ │ │ ├── message_loc: (2,0)-(2,1) = "a"
+ │ │ │ ├── opening_loc: ∅
+ │ │ │ ├── arguments: ∅
+ │ │ │ ├── closing_loc: ∅
+ │ │ │ └── block: ∅
+ │ │ ├── call_operator_loc: (2,1)-(2,2) = "."
+ │ │ ├── name: :b
+ │ │ ├── message_loc: (2,2)-(2,3) = "b"
+ │ │ ├── opening_loc: ∅
+ │ │ ├── arguments: ∅
+ │ │ ├── closing_loc: ∅
+ │ │ └── block:
+ │ │ @ BlockNode (location: (2,4)-(2,10))
+ │ │ ├── locals: []
+ │ │ ├── locals_body_index: 0
+ │ │ ├── parameters: ∅
+ │ │ ├── body: ∅
+ │ │ ├── opening_loc: (2,4)-(2,6) = "do"
+ │ │ └── closing_loc: (2,7)-(2,10) = "end"
+ │ ├── locals: []
+ │ ├── locals_body_index: 0
+ │ ├── def_keyword_loc: (1,8)-(1,11) = "def"
+ │ ├── operator_loc: ∅
+ │ ├── lparen_loc: ∅
+ │ ├── rparen_loc: ∅
+ │ ├── equal_loc: ∅
+ │ └── end_keyword_loc: (3,0)-(3,3) = "end"
├── closing_loc: ∅
- ├── block: ∅
- └── flags: ∅
+ └── block: ∅
diff --git a/test/prism/snapshots/seattlerb/bug_249.txt b/test/prism/snapshots/seattlerb/bug_249.txt
index 8bf56e31c4..cff5210a30 100644
--- a/test/prism/snapshots/seattlerb/bug_249.txt
+++ b/test/prism/snapshots/seattlerb/bug_249.txt
@@ -4,6 +4,7 @@
@ StatementsNode (location: (1,0)-(4,28))
└── body: (length: 1)
└── @ CallNode (location: (1,0)-(4,28))
+ ├── flags: ∅
├── receiver: ∅
├── call_operator_loc: ∅
├── name: :mount
@@ -11,76 +12,75 @@
├── opening_loc: ∅
├── arguments:
│ @ ArgumentsNode (location: (1,6)-(4,28))
- │ ├── arguments: (length: 2)
- │ │ ├── @ CallNode (location: (1,6)-(4,9))
- │ │ │ ├── receiver:
- │ │ │ │ @ ParenthesesNode (location: (1,6)-(4,5))
- │ │ │ │ ├── body:
- │ │ │ │ │ @ StatementsNode (location: (1,7)-(4,4))
- │ │ │ │ │ └── body: (length: 1)
- │ │ │ │ │ └── @ CallNode (location: (1,7)-(4,4))
- │ │ │ │ │ ├── receiver:
- │ │ │ │ │ │ @ ConstantReadNode (location: (1,7)-(1,12))
- │ │ │ │ │ │ └── name: :Class
- │ │ │ │ │ ├── call_operator_loc: (1,12)-(1,13) = "."
- │ │ │ │ │ ├── name: :new
- │ │ │ │ │ ├── message_loc: (1,13)-(1,16) = "new"
- │ │ │ │ │ ├── opening_loc: ∅
- │ │ │ │ │ ├── arguments: ∅
- │ │ │ │ │ ├── closing_loc: ∅
- │ │ │ │ │ ├── block:
- │ │ │ │ │ │ @ BlockNode (location: (1,17)-(4,4))
- │ │ │ │ │ │ ├── locals: []
- │ │ │ │ │ │ ├── locals_body_index: 0
- │ │ │ │ │ │ ├── parameters: ∅
- │ │ │ │ │ │ ├── body:
- │ │ │ │ │ │ │ @ StatementsNode (location: (2,0)-(3,3))
- │ │ │ │ │ │ │ └── body: (length: 1)
- │ │ │ │ │ │ │ └── @ DefNode (location: (2,0)-(3,3))
- │ │ │ │ │ │ │ ├── name: :initialize
- │ │ │ │ │ │ │ ├── name_loc: (2,4)-(2,14) = "initialize"
- │ │ │ │ │ │ │ ├── receiver: ∅
- │ │ │ │ │ │ │ ├── parameters: ∅
- │ │ │ │ │ │ │ ├── body: ∅
- │ │ │ │ │ │ │ ├── locals: []
- │ │ │ │ │ │ │ ├── locals_body_index: 0
- │ │ │ │ │ │ │ ├── def_keyword_loc: (2,0)-(2,3) = "def"
- │ │ │ │ │ │ │ ├── operator_loc: ∅
- │ │ │ │ │ │ │ ├── lparen_loc: ∅
- │ │ │ │ │ │ │ ├── rparen_loc: ∅
- │ │ │ │ │ │ │ ├── equal_loc: ∅
- │ │ │ │ │ │ │ └── end_keyword_loc: (3,0)-(3,3) = "end"
- │ │ │ │ │ │ ├── opening_loc: (1,17)-(1,19) = "do"
- │ │ │ │ │ │ └── closing_loc: (4,1)-(4,4) = "end"
- │ │ │ │ │ └── flags: ∅
- │ │ │ │ ├── opening_loc: (1,6)-(1,7) = "("
- │ │ │ │ └── closing_loc: (4,4)-(4,5) = ")"
- │ │ │ ├── call_operator_loc: (4,5)-(4,6) = "."
- │ │ │ ├── name: :new
- │ │ │ ├── message_loc: (4,6)-(4,9) = "new"
- │ │ │ ├── opening_loc: ∅
- │ │ │ ├── arguments: ∅
- │ │ │ ├── closing_loc: ∅
- │ │ │ ├── block: ∅
- │ │ │ └── flags: ∅
- │ │ └── @ KeywordHashNode (location: (4,11)-(4,28))
- │ │ └── elements: (length: 1)
- │ │ └── @ AssocNode (location: (4,11)-(4,28))
- │ │ ├── key:
- │ │ │ @ SymbolNode (location: (4,11)-(4,14))
- │ │ │ ├── opening_loc: (4,11)-(4,12) = ":"
- │ │ │ ├── value_loc: (4,12)-(4,14) = "at"
- │ │ │ ├── closing_loc: ∅
- │ │ │ └── unescaped: "at"
- │ │ ├── value:
- │ │ │ @ StringNode (location: (4,18)-(4,28))
- │ │ │ ├── flags: ∅
- │ │ │ ├── opening_loc: (4,18)-(4,19) = "'"
- │ │ │ ├── content_loc: (4,19)-(4,27) = "endpoint"
- │ │ │ ├── closing_loc: (4,27)-(4,28) = "'"
- │ │ │ └── unescaped: "endpoint"
- │ │ └── operator_loc: (4,15)-(4,17) = "=>"
- │ └── flags: ∅
+ │ ├── flags: ∅
+ │ └── arguments: (length: 2)
+ │ ├── @ CallNode (location: (1,6)-(4,9))
+ │ │ ├── flags: ∅
+ │ │ ├── receiver:
+ │ │ │ @ ParenthesesNode (location: (1,6)-(4,5))
+ │ │ │ ├── body:
+ │ │ │ │ @ StatementsNode (location: (1,7)-(4,4))
+ │ │ │ │ └── body: (length: 1)
+ │ │ │ │ └── @ CallNode (location: (1,7)-(4,4))
+ │ │ │ │ ├── flags: ∅
+ │ │ │ │ ├── receiver:
+ │ │ │ │ │ @ ConstantReadNode (location: (1,7)-(1,12))
+ │ │ │ │ │ └── name: :Class
+ │ │ │ │ ├── call_operator_loc: (1,12)-(1,13) = "."
+ │ │ │ │ ├── name: :new
+ │ │ │ │ ├── message_loc: (1,13)-(1,16) = "new"
+ │ │ │ │ ├── opening_loc: ∅
+ │ │ │ │ ├── arguments: ∅
+ │ │ │ │ ├── closing_loc: ∅
+ │ │ │ │ └── block:
+ │ │ │ │ @ BlockNode (location: (1,17)-(4,4))
+ │ │ │ │ ├── locals: []
+ │ │ │ │ ├── locals_body_index: 0
+ │ │ │ │ ├── parameters: ∅
+ │ │ │ │ ├── body:
+ │ │ │ │ │ @ StatementsNode (location: (2,0)-(3,3))
+ │ │ │ │ │ └── body: (length: 1)
+ │ │ │ │ │ └── @ DefNode (location: (2,0)-(3,3))
+ │ │ │ │ │ ├── name: :initialize
+ │ │ │ │ │ ├── name_loc: (2,4)-(2,14) = "initialize"
+ │ │ │ │ │ ├── receiver: ∅
+ │ │ │ │ │ ├── parameters: ∅
+ │ │ │ │ │ ├── body: ∅
+ │ │ │ │ │ ├── locals: []
+ │ │ │ │ │ ├── locals_body_index: 0
+ │ │ │ │ │ ├── def_keyword_loc: (2,0)-(2,3) = "def"
+ │ │ │ │ │ ├── operator_loc: ∅
+ │ │ │ │ │ ├── lparen_loc: ∅
+ │ │ │ │ │ ├── rparen_loc: ∅
+ │ │ │ │ │ ├── equal_loc: ∅
+ │ │ │ │ │ └── end_keyword_loc: (3,0)-(3,3) = "end"
+ │ │ │ │ ├── opening_loc: (1,17)-(1,19) = "do"
+ │ │ │ │ └── closing_loc: (4,1)-(4,4) = "end"
+ │ │ │ ├── opening_loc: (1,6)-(1,7) = "("
+ │ │ │ └── closing_loc: (4,4)-(4,5) = ")"
+ │ │ ├── call_operator_loc: (4,5)-(4,6) = "."
+ │ │ ├── name: :new
+ │ │ ├── message_loc: (4,6)-(4,9) = "new"
+ │ │ ├── opening_loc: ∅
+ │ │ ├── arguments: ∅
+ │ │ ├── closing_loc: ∅
+ │ │ └── block: ∅
+ │ └── @ KeywordHashNode (location: (4,11)-(4,28))
+ │ └── elements: (length: 1)
+ │ └── @ AssocNode (location: (4,11)-(4,28))
+ │ ├── key:
+ │ │ @ SymbolNode (location: (4,11)-(4,14))
+ │ │ ├── opening_loc: (4,11)-(4,12) = ":"
+ │ │ ├── value_loc: (4,12)-(4,14) = "at"
+ │ │ ├── closing_loc: ∅
+ │ │ └── unescaped: "at"
+ │ ├── value:
+ │ │ @ StringNode (location: (4,18)-(4,28))
+ │ │ ├── flags: ∅
+ │ │ ├── opening_loc: (4,18)-(4,19) = "'"
+ │ │ ├── content_loc: (4,19)-(4,27) = "endpoint"
+ │ │ ├── closing_loc: (4,27)-(4,28) = "'"
+ │ │ └── unescaped: "endpoint"
+ │ └── operator_loc: (4,15)-(4,17) = "=>"
├── closing_loc: ∅
- ├── block: ∅
- └── flags: ∅
+ └── block: ∅
diff --git a/test/prism/snapshots/seattlerb/bug_and.txt b/test/prism/snapshots/seattlerb/bug_and.txt
index bc52f7bdc9..3daf505e5f 100644
--- a/test/prism/snapshots/seattlerb/bug_and.txt
+++ b/test/prism/snapshots/seattlerb/bug_and.txt
@@ -14,8 +14,8 @@
│ @ TrueNode (location: (4,0)-(4,4))
├── right:
│ @ ArrayNode (location: (4,9)-(4,11))
+ │ ├── flags: ∅
│ ├── elements: (length: 0)
│ ├── opening_loc: (4,9)-(4,10) = "["
- │ ├── closing_loc: (4,10)-(4,11) = "]"
- │ └── flags: ∅
+ │ └── closing_loc: (4,10)-(4,11) = "]"
└── operator_loc: (4,5)-(4,8) = "and"
diff --git a/test/prism/snapshots/seattlerb/bug_args__19.txt b/test/prism/snapshots/seattlerb/bug_args__19.txt
index 7b102791c3..e2617df20f 100644
--- a/test/prism/snapshots/seattlerb/bug_args__19.txt
+++ b/test/prism/snapshots/seattlerb/bug_args__19.txt
@@ -4,6 +4,7 @@
@ StatementsNode (location: (1,0)-(1,16))
└── body: (length: 1)
└── @ CallNode (location: (1,0)-(1,16))
+ ├── flags: ∅
├── receiver: ∅
├── call_operator_loc: ∅
├── name: :f
@@ -11,47 +12,46 @@
├── opening_loc: ∅
├── arguments: ∅
├── closing_loc: ∅
- ├── block:
- │ @ BlockNode (location: (1,2)-(1,16))
- │ ├── locals: [:a, :b]
- │ ├── locals_body_index: 2
- │ ├── parameters:
- │ │ @ BlockParametersNode (location: (1,4)-(1,12))
- │ │ ├── parameters:
- │ │ │ @ ParametersNode (location: (1,5)-(1,11))
- │ │ │ ├── requireds: (length: 1)
- │ │ │ │ └── @ MultiTargetNode (location: (1,5)-(1,11))
- │ │ │ │ ├── lefts: (length: 2)
- │ │ │ │ │ ├── @ RequiredParameterNode (location: (1,6)-(1,7))
- │ │ │ │ │ │ └── name: :a
- │ │ │ │ │ └── @ RequiredParameterNode (location: (1,9)-(1,10))
- │ │ │ │ │ └── name: :b
- │ │ │ │ ├── rest: ∅
- │ │ │ │ ├── rights: (length: 0)
- │ │ │ │ ├── lparen_loc: (1,5)-(1,6) = "("
- │ │ │ │ └── rparen_loc: (1,10)-(1,11) = ")"
- │ │ │ ├── optionals: (length: 0)
- │ │ │ ├── rest: ∅
- │ │ │ ├── posts: (length: 0)
- │ │ │ ├── keywords: (length: 0)
- │ │ │ ├── keyword_rest: ∅
- │ │ │ └── block: ∅
- │ │ ├── locals: (length: 0)
- │ │ ├── opening_loc: (1,4)-(1,5) = "|"
- │ │ └── closing_loc: (1,11)-(1,12) = "|"
- │ ├── body:
- │ │ @ StatementsNode (location: (1,13)-(1,14))
- │ │ └── body: (length: 1)
- │ │ └── @ CallNode (location: (1,13)-(1,14))
- │ │ ├── receiver: ∅
- │ │ ├── call_operator_loc: ∅
- │ │ ├── name: :d
- │ │ ├── message_loc: (1,13)-(1,14) = "d"
- │ │ ├── opening_loc: ∅
- │ │ ├── arguments: ∅
- │ │ ├── closing_loc: ∅
- │ │ ├── block: ∅
- │ │ └── flags: variable_call
- │ ├── opening_loc: (1,2)-(1,3) = "{"
- │ └── closing_loc: (1,15)-(1,16) = "}"
- └── flags: ∅
+ └── block:
+ @ BlockNode (location: (1,2)-(1,16))
+ ├── locals: [:a, :b]
+ ├── locals_body_index: 2
+ ├── parameters:
+ │ @ BlockParametersNode (location: (1,4)-(1,12))
+ │ ├── parameters:
+ │ │ @ ParametersNode (location: (1,5)-(1,11))
+ │ │ ├── requireds: (length: 1)
+ │ │ │ └── @ MultiTargetNode (location: (1,5)-(1,11))
+ │ │ │ ├── lefts: (length: 2)
+ │ │ │ │ ├── @ RequiredParameterNode (location: (1,6)-(1,7))
+ │ │ │ │ │ └── name: :a
+ │ │ │ │ └── @ RequiredParameterNode (location: (1,9)-(1,10))
+ │ │ │ │ └── name: :b
+ │ │ │ ├── rest: ∅
+ │ │ │ ├── rights: (length: 0)
+ │ │ │ ├── lparen_loc: (1,5)-(1,6) = "("
+ │ │ │ └── rparen_loc: (1,10)-(1,11) = ")"
+ │ │ ├── optionals: (length: 0)
+ │ │ ├── rest: ∅
+ │ │ ├── posts: (length: 0)
+ │ │ ├── keywords: (length: 0)
+ │ │ ├── keyword_rest: ∅
+ │ │ └── block: ∅
+ │ ├── locals: (length: 0)
+ │ ├── opening_loc: (1,4)-(1,5) = "|"
+ │ └── closing_loc: (1,11)-(1,12) = "|"
+ ├── body:
+ │ @ StatementsNode (location: (1,13)-(1,14))
+ │ └── body: (length: 1)
+ │ └── @ CallNode (location: (1,13)-(1,14))
+ │ ├── flags: variable_call
+ │ ├── receiver: ∅
+ │ ├── call_operator_loc: ∅
+ │ ├── name: :d
+ │ ├── message_loc: (1,13)-(1,14) = "d"
+ │ ├── opening_loc: ∅
+ │ ├── arguments: ∅
+ │ ├── closing_loc: ∅
+ │ └── block: ∅
+ ├── opening_loc: (1,2)-(1,3) = "{"
+ └── closing_loc: (1,15)-(1,16) = "}"
diff --git a/test/prism/snapshots/seattlerb/bug_args_masgn.txt b/test/prism/snapshots/seattlerb/bug_args_masgn.txt
index 7ebbef045c..3ee3dd05ec 100644
--- a/test/prism/snapshots/seattlerb/bug_args_masgn.txt
+++ b/test/prism/snapshots/seattlerb/bug_args_masgn.txt
@@ -4,6 +4,7 @@
@ StatementsNode (location: (1,0)-(1,17))
└── body: (length: 1)
└── @ CallNode (location: (1,0)-(1,17))
+ ├── flags: ∅
├── receiver: ∅
├── call_operator_loc: ∅
├── name: :f
@@ -11,37 +12,36 @@
├── opening_loc: ∅
├── arguments: ∅
├── closing_loc: ∅
- ├── block:
- │ @ BlockNode (location: (1,2)-(1,17))
- │ ├── locals: [:a, :b, :c]
- │ ├── locals_body_index: 3
- │ ├── parameters:
- │ │ @ BlockParametersNode (location: (1,4)-(1,15))
- │ │ ├── parameters:
- │ │ │ @ ParametersNode (location: (1,5)-(1,14))
- │ │ │ ├── requireds: (length: 2)
- │ │ │ │ ├── @ MultiTargetNode (location: (1,5)-(1,11))
- │ │ │ │ │ ├── lefts: (length: 2)
- │ │ │ │ │ │ ├── @ RequiredParameterNode (location: (1,6)-(1,7))
- │ │ │ │ │ │ │ └── name: :a
- │ │ │ │ │ │ └── @ RequiredParameterNode (location: (1,9)-(1,10))
- │ │ │ │ │ │ └── name: :b
- │ │ │ │ │ ├── rest: ∅
- │ │ │ │ │ ├── rights: (length: 0)
- │ │ │ │ │ ├── lparen_loc: (1,5)-(1,6) = "("
- │ │ │ │ │ └── rparen_loc: (1,10)-(1,11) = ")"
- │ │ │ │ └── @ RequiredParameterNode (location: (1,13)-(1,14))
- │ │ │ │ └── name: :c
- │ │ │ ├── optionals: (length: 0)
- │ │ │ ├── rest: ∅
- │ │ │ ├── posts: (length: 0)
- │ │ │ ├── keywords: (length: 0)
- │ │ │ ├── keyword_rest: ∅
- │ │ │ └── block: ∅
- │ │ ├── locals: (length: 0)
- │ │ ├── opening_loc: (1,4)-(1,5) = "|"
- │ │ └── closing_loc: (1,14)-(1,15) = "|"
- │ ├── body: ∅
- │ ├── opening_loc: (1,2)-(1,3) = "{"
- │ └── closing_loc: (1,16)-(1,17) = "}"
- └── flags: ∅
+ └── block:
+ @ BlockNode (location: (1,2)-(1,17))
+ ├── locals: [:a, :b, :c]
+ ├── locals_body_index: 3
+ ├── parameters:
+ │ @ BlockParametersNode (location: (1,4)-(1,15))
+ │ ├── parameters:
+ │ │ @ ParametersNode (location: (1,5)-(1,14))
+ │ │ ├── requireds: (length: 2)
+ │ │ │ ├── @ MultiTargetNode (location: (1,5)-(1,11))
+ │ │ │ │ ├── lefts: (length: 2)
+ │ │ │ │ │ ├── @ RequiredParameterNode (location: (1,6)-(1,7))
+ │ │ │ │ │ │ └── name: :a
+ │ │ │ │ │ └── @ RequiredParameterNode (location: (1,9)-(1,10))
+ │ │ │ │ │ └── name: :b
+ │ │ │ │ ├── rest: ∅
+ │ │ │ │ ├── rights: (length: 0)
+ │ │ │ │ ├── lparen_loc: (1,5)-(1,6) = "("
+ │ │ │ │ └── rparen_loc: (1,10)-(1,11) = ")"
+ │ │ │ └── @ RequiredParameterNode (location: (1,13)-(1,14))
+ │ │ │ └── name: :c
+ │ │ ├── optionals: (length: 0)
+ │ │ ├── rest: ∅
+ │ │ ├── posts: (length: 0)
+ │ │ ├── keywords: (length: 0)
+ │ │ ├── keyword_rest: ∅
+ │ │ └── block: ∅
+ │ ├── locals: (length: 0)
+ │ ├── opening_loc: (1,4)-(1,5) = "|"
+ │ └── closing_loc: (1,14)-(1,15) = "|"
+ ├── body: ∅
+ ├── opening_loc: (1,2)-(1,3) = "{"
+ └── closing_loc: (1,16)-(1,17) = "}"
diff --git a/test/prism/snapshots/seattlerb/bug_args_masgn2.txt b/test/prism/snapshots/seattlerb/bug_args_masgn2.txt
index 349f3694df..3de9e976d1 100644
--- a/test/prism/snapshots/seattlerb/bug_args_masgn2.txt
+++ b/test/prism/snapshots/seattlerb/bug_args_masgn2.txt
@@ -4,6 +4,7 @@
@ StatementsNode (location: (1,0)-(1,22))
└── body: (length: 1)
└── @ CallNode (location: (1,0)-(1,22))
+ ├── flags: ∅
├── receiver: ∅
├── call_operator_loc: ∅
├── name: :f
@@ -11,45 +12,44 @@
├── opening_loc: ∅
├── arguments: ∅
├── closing_loc: ∅
- ├── block:
- │ @ BlockNode (location: (1,2)-(1,22))
- │ ├── locals: [:a, :b, :c, :d]
- │ ├── locals_body_index: 4
- │ ├── parameters:
- │ │ @ BlockParametersNode (location: (1,4)-(1,20))
- │ │ ├── parameters:
- │ │ │ @ ParametersNode (location: (1,5)-(1,19))
- │ │ │ ├── requireds: (length: 2)
- │ │ │ │ ├── @ MultiTargetNode (location: (1,5)-(1,16))
- │ │ │ │ │ ├── lefts: (length: 2)
- │ │ │ │ │ │ ├── @ MultiTargetNode (location: (1,6)-(1,12))
- │ │ │ │ │ │ │ ├── lefts: (length: 2)
- │ │ │ │ │ │ │ │ ├── @ RequiredParameterNode (location: (1,7)-(1,8))
- │ │ │ │ │ │ │ │ │ └── name: :a
- │ │ │ │ │ │ │ │ └── @ RequiredParameterNode (location: (1,10)-(1,11))
- │ │ │ │ │ │ │ │ └── name: :b
- │ │ │ │ │ │ │ ├── rest: ∅
- │ │ │ │ │ │ │ ├── rights: (length: 0)
- │ │ │ │ │ │ │ ├── lparen_loc: (1,6)-(1,7) = "("
- │ │ │ │ │ │ │ └── rparen_loc: (1,11)-(1,12) = ")"
- │ │ │ │ │ │ └── @ RequiredParameterNode (location: (1,14)-(1,15))
- │ │ │ │ │ │ └── name: :c
- │ │ │ │ │ ├── rest: ∅
- │ │ │ │ │ ├── rights: (length: 0)
- │ │ │ │ │ ├── lparen_loc: (1,5)-(1,6) = "("
- │ │ │ │ │ └── rparen_loc: (1,15)-(1,16) = ")"
- │ │ │ │ └── @ RequiredParameterNode (location: (1,18)-(1,19))
- │ │ │ │ └── name: :d
- │ │ │ ├── optionals: (length: 0)
- │ │ │ ├── rest: ∅
- │ │ │ ├── posts: (length: 0)
- │ │ │ ├── keywords: (length: 0)
- │ │ │ ├── keyword_rest: ∅
- │ │ │ └── block: ∅
- │ │ ├── locals: (length: 0)
- │ │ ├── opening_loc: (1,4)-(1,5) = "|"
- │ │ └── closing_loc: (1,19)-(1,20) = "|"
- │ ├── body: ∅
- │ ├── opening_loc: (1,2)-(1,3) = "{"
- │ └── closing_loc: (1,21)-(1,22) = "}"
- └── flags: ∅
+ └── block:
+ @ BlockNode (location: (1,2)-(1,22))
+ ├── locals: [:a, :b, :c, :d]
+ ├── locals_body_index: 4
+ ├── parameters:
+ │ @ BlockParametersNode (location: (1,4)-(1,20))
+ │ ├── parameters:
+ │ │ @ ParametersNode (location: (1,5)-(1,19))
+ │ │ ├── requireds: (length: 2)
+ │ │ │ ├── @ MultiTargetNode (location: (1,5)-(1,16))
+ │ │ │ │ ├── lefts: (length: 2)
+ │ │ │ │ │ ├── @ MultiTargetNode (location: (1,6)-(1,12))
+ │ │ │ │ │ │ ├── lefts: (length: 2)
+ │ │ │ │ │ │ │ ├── @ RequiredParameterNode (location: (1,7)-(1,8))
+ │ │ │ │ │ │ │ │ └── name: :a
+ │ │ │ │ │ │ │ └── @ RequiredParameterNode (location: (1,10)-(1,11))
+ │ │ │ │ │ │ │ └── name: :b
+ │ │ │ │ │ │ ├── rest: ∅
+ │ │ │ │ │ │ ├── rights: (length: 0)
+ │ │ │ │ │ │ ├── lparen_loc: (1,6)-(1,7) = "("
+ │ │ │ │ │ │ └── rparen_loc: (1,11)-(1,12) = ")"
+ │ │ │ │ │ └── @ RequiredParameterNode (location: (1,14)-(1,15))
+ │ │ │ │ │ └── name: :c
+ │ │ │ │ ├── rest: ∅
+ │ │ │ │ ├── rights: (length: 0)
+ │ │ │ │ ├── lparen_loc: (1,5)-(1,6) = "("
+ │ │ │ │ └── rparen_loc: (1,15)-(1,16) = ")"
+ │ │ │ └── @ RequiredParameterNode (location: (1,18)-(1,19))
+ │ │ │ └── name: :d
+ │ │ ├── optionals: (length: 0)
+ │ │ ├── rest: ∅
+ │ │ ├── posts: (length: 0)
+ │ │ ├── keywords: (length: 0)
+ │ │ ├── keyword_rest: ∅
+ │ │ └── block: ∅
+ │ ├── locals: (length: 0)
+ │ ├── opening_loc: (1,4)-(1,5) = "|"
+ │ └── closing_loc: (1,19)-(1,20) = "|"
+ ├── body: ∅
+ ├── opening_loc: (1,2)-(1,3) = "{"
+ └── closing_loc: (1,21)-(1,22) = "}"
diff --git a/test/prism/snapshots/seattlerb/bug_args_masgn_outer_parens__19.txt b/test/prism/snapshots/seattlerb/bug_args_masgn_outer_parens__19.txt
index 4f88bea49b..4278d58a00 100644
--- a/test/prism/snapshots/seattlerb/bug_args_masgn_outer_parens__19.txt
+++ b/test/prism/snapshots/seattlerb/bug_args_masgn_outer_parens__19.txt
@@ -4,6 +4,7 @@
@ StatementsNode (location: (1,0)-(1,19))
└── body: (length: 1)
└── @ CallNode (location: (1,0)-(1,19))
+ ├── flags: ∅
├── receiver: ∅
├── call_operator_loc: ∅
├── name: :f
@@ -11,43 +12,42 @@
├── opening_loc: ∅
├── arguments: ∅
├── closing_loc: ∅
- ├── block:
- │ @ BlockNode (location: (1,2)-(1,19))
- │ ├── locals: [:k, :v, :i]
- │ ├── locals_body_index: 3
- │ ├── parameters:
- │ │ @ BlockParametersNode (location: (1,4)-(1,17))
- │ │ ├── parameters:
- │ │ │ @ ParametersNode (location: (1,5)-(1,16))
- │ │ │ ├── requireds: (length: 1)
- │ │ │ │ └── @ MultiTargetNode (location: (1,5)-(1,16))
- │ │ │ │ ├── lefts: (length: 2)
- │ │ │ │ │ ├── @ MultiTargetNode (location: (1,6)-(1,12))
- │ │ │ │ │ │ ├── lefts: (length: 2)
- │ │ │ │ │ │ │ ├── @ RequiredParameterNode (location: (1,7)-(1,8))
- │ │ │ │ │ │ │ │ └── name: :k
- │ │ │ │ │ │ │ └── @ RequiredParameterNode (location: (1,10)-(1,11))
- │ │ │ │ │ │ │ └── name: :v
- │ │ │ │ │ │ ├── rest: ∅
- │ │ │ │ │ │ ├── rights: (length: 0)
- │ │ │ │ │ │ ├── lparen_loc: (1,6)-(1,7) = "("
- │ │ │ │ │ │ └── rparen_loc: (1,11)-(1,12) = ")"
- │ │ │ │ │ └── @ RequiredParameterNode (location: (1,14)-(1,15))
- │ │ │ │ │ └── name: :i
- │ │ │ │ ├── rest: ∅
- │ │ │ │ ├── rights: (length: 0)
- │ │ │ │ ├── lparen_loc: (1,5)-(1,6) = "("
- │ │ │ │ └── rparen_loc: (1,15)-(1,16) = ")"
- │ │ │ ├── optionals: (length: 0)
- │ │ │ ├── rest: ∅
- │ │ │ ├── posts: (length: 0)
- │ │ │ ├── keywords: (length: 0)
- │ │ │ ├── keyword_rest: ∅
- │ │ │ └── block: ∅
- │ │ ├── locals: (length: 0)
- │ │ ├── opening_loc: (1,4)-(1,5) = "|"
- │ │ └── closing_loc: (1,16)-(1,17) = "|"
- │ ├── body: ∅
- │ ├── opening_loc: (1,2)-(1,3) = "{"
- │ └── closing_loc: (1,18)-(1,19) = "}"
- └── flags: ∅
+ └── block:
+ @ BlockNode (location: (1,2)-(1,19))
+ ├── locals: [:k, :v, :i]
+ ├── locals_body_index: 3
+ ├── parameters:
+ │ @ BlockParametersNode (location: (1,4)-(1,17))
+ │ ├── parameters:
+ │ │ @ ParametersNode (location: (1,5)-(1,16))
+ │ │ ├── requireds: (length: 1)
+ │ │ │ └── @ MultiTargetNode (location: (1,5)-(1,16))
+ │ │ │ ├── lefts: (length: 2)
+ │ │ │ │ ├── @ MultiTargetNode (location: (1,6)-(1,12))
+ │ │ │ │ │ ├── lefts: (length: 2)
+ │ │ │ │ │ │ ├── @ RequiredParameterNode (location: (1,7)-(1,8))
+ │ │ │ │ │ │ │ └── name: :k
+ │ │ │ │ │ │ └── @ RequiredParameterNode (location: (1,10)-(1,11))
+ │ │ │ │ │ │ └── name: :v
+ │ │ │ │ │ ├── rest: ∅
+ │ │ │ │ │ ├── rights: (length: 0)
+ │ │ │ │ │ ├── lparen_loc: (1,6)-(1,7) = "("
+ │ │ │ │ │ └── rparen_loc: (1,11)-(1,12) = ")"
+ │ │ │ │ └── @ RequiredParameterNode (location: (1,14)-(1,15))
+ │ │ │ │ └── name: :i
+ │ │ │ ├── rest: ∅
+ │ │ │ ├── rights: (length: 0)
+ │ │ │ ├── lparen_loc: (1,5)-(1,6) = "("
+ │ │ │ └── rparen_loc: (1,15)-(1,16) = ")"
+ │ │ ├── optionals: (length: 0)
+ │ │ ├── rest: ∅
+ │ │ ├── posts: (length: 0)
+ │ │ ├── keywords: (length: 0)
+ │ │ ├── keyword_rest: ∅
+ │ │ └── block: ∅
+ │ ├── locals: (length: 0)
+ │ ├── opening_loc: (1,4)-(1,5) = "|"
+ │ └── closing_loc: (1,16)-(1,17) = "|"
+ ├── body: ∅
+ ├── opening_loc: (1,2)-(1,3) = "{"
+ └── closing_loc: (1,18)-(1,19) = "}"
diff --git a/test/prism/snapshots/seattlerb/bug_call_arglist_parens.txt b/test/prism/snapshots/seattlerb/bug_call_arglist_parens.txt
index 4258931735..5056fe6d70 100644
--- a/test/prism/snapshots/seattlerb/bug_call_arglist_parens.txt
+++ b/test/prism/snapshots/seattlerb/bug_call_arglist_parens.txt
@@ -12,6 +12,7 @@
│ │ @ StatementsNode (location: (2,8)-(2,17))
│ │ └── body: (length: 1)
│ │ └── @ CallNode (location: (2,8)-(2,17))
+ │ │ ├── flags: ∅
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
│ │ ├── name: :g
@@ -19,21 +20,20 @@
│ │ ├── opening_loc: ∅
│ │ ├── arguments:
│ │ │ @ ArgumentsNode (location: (2,10)-(2,17))
- │ │ │ ├── arguments: (length: 2)
- │ │ │ │ ├── @ ParenthesesNode (location: (2,10)-(2,14))
- │ │ │ │ │ ├── body:
- │ │ │ │ │ │ @ StatementsNode (location: (2,12)-(2,13))
- │ │ │ │ │ │ └── body: (length: 1)
- │ │ │ │ │ │ └── @ IntegerNode (location: (2,12)-(2,13))
- │ │ │ │ │ │ └── flags: decimal
- │ │ │ │ │ ├── opening_loc: (2,10)-(2,11) = "("
- │ │ │ │ │ └── closing_loc: (2,13)-(2,14) = ")"
- │ │ │ │ └── @ IntegerNode (location: (2,16)-(2,17))
- │ │ │ │ └── flags: decimal
- │ │ │ └── flags: ∅
+ │ │ │ ├── flags: ∅
+ │ │ │ └── arguments: (length: 2)
+ │ │ │ ├── @ ParenthesesNode (location: (2,10)-(2,14))
+ │ │ │ │ ├── body:
+ │ │ │ │ │ @ StatementsNode (location: (2,12)-(2,13))
+ │ │ │ │ │ └── body: (length: 1)
+ │ │ │ │ │ └── @ IntegerNode (location: (2,12)-(2,13))
+ │ │ │ │ │ └── flags: decimal
+ │ │ │ │ ├── opening_loc: (2,10)-(2,11) = "("
+ │ │ │ │ └── closing_loc: (2,13)-(2,14) = ")"
+ │ │ │ └── @ IntegerNode (location: (2,16)-(2,17))
+ │ │ │ └── flags: decimal
│ │ ├── closing_loc: ∅
- │ │ ├── block: ∅
- │ │ └── flags: ∅
+ │ │ └── block: ∅
│ ├── locals: []
│ ├── locals_body_index: 0
│ ├── def_keyword_loc: (1,6)-(1,9) = "def"
@@ -51,6 +51,7 @@
│ │ @ StatementsNode (location: (7,8)-(7,16))
│ │ └── body: (length: 1)
│ │ └── @ CallNode (location: (7,8)-(7,16))
+ │ │ ├── flags: ∅
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
│ │ ├── name: :g
@@ -58,21 +59,20 @@
│ │ ├── opening_loc: ∅
│ │ ├── arguments:
│ │ │ @ ArgumentsNode (location: (7,10)-(7,16))
- │ │ │ ├── arguments: (length: 2)
- │ │ │ │ ├── @ ParenthesesNode (location: (7,10)-(7,13))
- │ │ │ │ │ ├── body:
- │ │ │ │ │ │ @ StatementsNode (location: (7,11)-(7,12))
- │ │ │ │ │ │ └── body: (length: 1)
- │ │ │ │ │ │ └── @ IntegerNode (location: (7,11)-(7,12))
- │ │ │ │ │ │ └── flags: decimal
- │ │ │ │ │ ├── opening_loc: (7,10)-(7,11) = "("
- │ │ │ │ │ └── closing_loc: (7,12)-(7,13) = ")"
- │ │ │ │ └── @ IntegerNode (location: (7,15)-(7,16))
- │ │ │ │ └── flags: decimal
- │ │ │ └── flags: ∅
+ │ │ │ ├── flags: ∅
+ │ │ │ └── arguments: (length: 2)
+ │ │ │ ├── @ ParenthesesNode (location: (7,10)-(7,13))
+ │ │ │ │ ├── body:
+ │ │ │ │ │ @ StatementsNode (location: (7,11)-(7,12))
+ │ │ │ │ │ └── body: (length: 1)
+ │ │ │ │ │ └── @ IntegerNode (location: (7,11)-(7,12))
+ │ │ │ │ │ └── flags: decimal
+ │ │ │ │ ├── opening_loc: (7,10)-(7,11) = "("
+ │ │ │ │ └── closing_loc: (7,12)-(7,13) = ")"
+ │ │ │ └── @ IntegerNode (location: (7,15)-(7,16))
+ │ │ │ └── flags: decimal
│ │ ├── closing_loc: ∅
- │ │ ├── block: ∅
- │ │ └── flags: ∅
+ │ │ └── block: ∅
│ ├── locals: []
│ ├── locals_body_index: 0
│ ├── def_keyword_loc: (6,6)-(6,9) = "def"
@@ -82,6 +82,7 @@
│ ├── equal_loc: ∅
│ └── end_keyword_loc: (8,6)-(8,9) = "end"
└── @ CallNode (location: (11,0)-(11,9))
+ ├── flags: ∅
├── receiver: ∅
├── call_operator_loc: ∅
├── name: :g
@@ -89,18 +90,17 @@
├── opening_loc: ∅
├── arguments:
│ @ ArgumentsNode (location: (11,2)-(11,9))
- │ ├── arguments: (length: 2)
- │ │ ├── @ ParenthesesNode (location: (11,2)-(11,6))
- │ │ │ ├── body:
- │ │ │ │ @ StatementsNode (location: (11,4)-(11,5))
- │ │ │ │ └── body: (length: 1)
- │ │ │ │ └── @ IntegerNode (location: (11,4)-(11,5))
- │ │ │ │ └── flags: decimal
- │ │ │ ├── opening_loc: (11,2)-(11,3) = "("
- │ │ │ └── closing_loc: (11,5)-(11,6) = ")"
- │ │ └── @ IntegerNode (location: (11,8)-(11,9))
- │ │ └── flags: decimal
- │ └── flags: ∅
+ │ ├── flags: ∅
+ │ └── arguments: (length: 2)
+ │ ├── @ ParenthesesNode (location: (11,2)-(11,6))
+ │ │ ├── body:
+ │ │ │ @ StatementsNode (location: (11,4)-(11,5))
+ │ │ │ └── body: (length: 1)
+ │ │ │ └── @ IntegerNode (location: (11,4)-(11,5))
+ │ │ │ └── flags: decimal
+ │ │ ├── opening_loc: (11,2)-(11,3) = "("
+ │ │ └── closing_loc: (11,5)-(11,6) = ")"
+ │ └── @ IntegerNode (location: (11,8)-(11,9))
+ │ └── flags: decimal
├── closing_loc: ∅
- ├── block: ∅
- └── flags: ∅
+ └── block: ∅
diff --git a/test/prism/snapshots/seattlerb/bug_case_when_regexp.txt b/test/prism/snapshots/seattlerb/bug_case_when_regexp.txt
index ac948bc6c9..6d3b11b9af 100644
--- a/test/prism/snapshots/seattlerb/bug_case_when_regexp.txt
+++ b/test/prism/snapshots/seattlerb/bug_case_when_regexp.txt
@@ -15,11 +15,11 @@
│ ├── keyword_loc: (1,9)-(1,13) = "when"
│ ├── conditions: (length: 1)
│ │ └── @ RegularExpressionNode (location: (1,14)-(1,17))
+ │ │ ├── flags: ∅
│ │ ├── opening_loc: (1,14)-(1,15) = "/"
│ │ ├── content_loc: (1,15)-(1,16) = "x"
│ │ ├── closing_loc: (1,16)-(1,17) = "/"
- │ │ ├── unescaped: "x"
- │ │ └── flags: ∅
+ │ │ └── unescaped: "x"
│ └── statements: ∅
├── consequent: ∅
├── case_keyword_loc: (1,0)-(1,4) = "case"
diff --git a/test/prism/snapshots/seattlerb/bug_comma.txt b/test/prism/snapshots/seattlerb/bug_comma.txt
index 3fca88d860..42815e0dfe 100644
--- a/test/prism/snapshots/seattlerb/bug_comma.txt
+++ b/test/prism/snapshots/seattlerb/bug_comma.txt
@@ -7,6 +7,7 @@
├── if_keyword_loc: (1,0)-(1,2) = "if"
├── predicate:
│ @ CallNode (location: (1,3)-(1,15))
+ │ ├── flags: ∅
│ ├── receiver: ∅
│ ├── call_operator_loc: ∅
│ ├── name: :test
@@ -14,27 +15,26 @@
│ ├── opening_loc: ∅
│ ├── arguments:
│ │ @ ArgumentsNode (location: (1,8)-(1,15))
- │ │ ├── arguments: (length: 2)
- │ │ │ ├── @ StringNode (location: (1,8)-(1,10))
- │ │ │ │ ├── flags: ∅
- │ │ │ │ ├── opening_loc: (1,8)-(1,9) = "?"
- │ │ │ │ ├── content_loc: (1,9)-(1,10) = "d"
- │ │ │ │ ├── closing_loc: ∅
- │ │ │ │ └── unescaped: "d"
- │ │ │ └── @ CallNode (location: (1,12)-(1,15))
- │ │ │ ├── receiver: ∅
- │ │ │ ├── call_operator_loc: ∅
- │ │ │ ├── name: :dir
- │ │ │ ├── message_loc: (1,12)-(1,15) = "dir"
- │ │ │ ├── opening_loc: ∅
- │ │ │ ├── arguments: ∅
- │ │ │ ├── closing_loc: ∅
- │ │ │ ├── block: ∅
- │ │ │ └── flags: variable_call
- │ │ └── flags: ∅
+ │ │ ├── flags: ∅
+ │ │ └── arguments: (length: 2)
+ │ │ ├── @ StringNode (location: (1,8)-(1,10))
+ │ │ │ ├── flags: ∅
+ │ │ │ ├── opening_loc: (1,8)-(1,9) = "?"
+ │ │ │ ├── content_loc: (1,9)-(1,10) = "d"
+ │ │ │ ├── closing_loc: ∅
+ │ │ │ └── unescaped: "d"
+ │ │ └── @ CallNode (location: (1,12)-(1,15))
+ │ │ ├── flags: variable_call
+ │ │ ├── receiver: ∅
+ │ │ ├── call_operator_loc: ∅
+ │ │ ├── name: :dir
+ │ │ ├── message_loc: (1,12)-(1,15) = "dir"
+ │ │ ├── opening_loc: ∅
+ │ │ ├── arguments: ∅
+ │ │ ├── closing_loc: ∅
+ │ │ └── block: ∅
│ ├── closing_loc: ∅
- │ ├── block: ∅
- │ └── flags: ∅
+ │ └── block: ∅
├── then_keyword_loc: (1,16)-(1,20) = "then"
├── statements: ∅
├── consequent: ∅
diff --git a/test/prism/snapshots/seattlerb/bug_cond_pct.txt b/test/prism/snapshots/seattlerb/bug_cond_pct.txt
index bb07f009aa..b5a397f4f5 100644
--- a/test/prism/snapshots/seattlerb/bug_cond_pct.txt
+++ b/test/prism/snapshots/seattlerb/bug_cond_pct.txt
@@ -10,11 +10,11 @@
│ ├── keyword_loc: (1,6)-(1,10) = "when"
│ ├── conditions: (length: 1)
│ │ └── @ RegularExpressionNode (location: (1,11)-(1,23))
+ │ │ ├── flags: ∅
│ │ ├── opening_loc: (1,11)-(1,14) = "%r%"
│ │ ├── content_loc: (1,14)-(1,22) = "blahblah"
│ │ ├── closing_loc: (1,22)-(1,23) = "%"
- │ │ ├── unescaped: "blahblah"
- │ │ └── flags: ∅
+ │ │ └── unescaped: "blahblah"
│ └── statements: ∅
├── consequent: ∅
├── case_keyword_loc: (1,0)-(1,4) = "case"
diff --git a/test/prism/snapshots/seattlerb/bug_hash_args.txt b/test/prism/snapshots/seattlerb/bug_hash_args.txt
index 32d9dc91a5..96d0adde24 100644
--- a/test/prism/snapshots/seattlerb/bug_hash_args.txt
+++ b/test/prism/snapshots/seattlerb/bug_hash_args.txt
@@ -4,6 +4,7 @@
@ StatementsNode (location: (1,0)-(1,19))
└── body: (length: 1)
└── @ CallNode (location: (1,0)-(1,19))
+ ├── flags: ∅
├── receiver: ∅
├── call_operator_loc: ∅
├── name: :foo
@@ -11,25 +12,24 @@
├── opening_loc: (1,3)-(1,4) = "("
├── arguments:
│ @ ArgumentsNode (location: (1,4)-(1,18))
- │ ├── arguments: (length: 2)
- │ │ ├── @ SymbolNode (location: (1,4)-(1,8))
- │ │ │ ├── opening_loc: (1,4)-(1,5) = ":"
- │ │ │ ├── value_loc: (1,5)-(1,8) = "bar"
- │ │ │ ├── closing_loc: ∅
- │ │ │ └── unescaped: "bar"
- │ │ └── @ KeywordHashNode (location: (1,10)-(1,18))
- │ │ └── elements: (length: 1)
- │ │ └── @ AssocNode (location: (1,10)-(1,18))
- │ │ ├── key:
- │ │ │ @ SymbolNode (location: (1,10)-(1,14))
- │ │ │ ├── opening_loc: ∅
- │ │ │ ├── value_loc: (1,10)-(1,13) = "baz"
- │ │ │ ├── closing_loc: (1,13)-(1,14) = ":"
- │ │ │ └── unescaped: "baz"
- │ │ ├── value:
- │ │ │ @ NilNode (location: (1,15)-(1,18))
- │ │ └── operator_loc: ∅
- │ └── flags: ∅
+ │ ├── flags: ∅
+ │ └── arguments: (length: 2)
+ │ ├── @ SymbolNode (location: (1,4)-(1,8))
+ │ │ ├── opening_loc: (1,4)-(1,5) = ":"
+ │ │ ├── value_loc: (1,5)-(1,8) = "bar"
+ │ │ ├── closing_loc: ∅
+ │ │ └── unescaped: "bar"
+ │ └── @ KeywordHashNode (location: (1,10)-(1,18))
+ │ └── elements: (length: 1)
+ │ └── @ AssocNode (location: (1,10)-(1,18))
+ │ ├── key:
+ │ │ @ SymbolNode (location: (1,10)-(1,14))
+ │ │ ├── opening_loc: ∅
+ │ │ ├── value_loc: (1,10)-(1,13) = "baz"
+ │ │ ├── closing_loc: (1,13)-(1,14) = ":"
+ │ │ └── unescaped: "baz"
+ │ ├── value:
+ │ │ @ NilNode (location: (1,15)-(1,18))
+ │ └── operator_loc: ∅
├── closing_loc: (1,18)-(1,19) = ")"
- ├── block: ∅
- └── flags: ∅
+ └── block: ∅
diff --git a/test/prism/snapshots/seattlerb/bug_hash_args_trailing_comma.txt b/test/prism/snapshots/seattlerb/bug_hash_args_trailing_comma.txt
index 1cea78d46f..b1404826ec 100644
--- a/test/prism/snapshots/seattlerb/bug_hash_args_trailing_comma.txt
+++ b/test/prism/snapshots/seattlerb/bug_hash_args_trailing_comma.txt
@@ -4,6 +4,7 @@
@ StatementsNode (location: (1,0)-(1,20))
└── body: (length: 1)
└── @ CallNode (location: (1,0)-(1,20))
+ ├── flags: ∅
├── receiver: ∅
├── call_operator_loc: ∅
├── name: :foo
@@ -11,25 +12,24 @@
├── opening_loc: (1,3)-(1,4) = "("
├── arguments:
│ @ ArgumentsNode (location: (1,4)-(1,18))
- │ ├── arguments: (length: 2)
- │ │ ├── @ SymbolNode (location: (1,4)-(1,8))
- │ │ │ ├── opening_loc: (1,4)-(1,5) = ":"
- │ │ │ ├── value_loc: (1,5)-(1,8) = "bar"
- │ │ │ ├── closing_loc: ∅
- │ │ │ └── unescaped: "bar"
- │ │ └── @ KeywordHashNode (location: (1,10)-(1,18))
- │ │ └── elements: (length: 1)
- │ │ └── @ AssocNode (location: (1,10)-(1,18))
- │ │ ├── key:
- │ │ │ @ SymbolNode (location: (1,10)-(1,14))
- │ │ │ ├── opening_loc: ∅
- │ │ │ ├── value_loc: (1,10)-(1,13) = "baz"
- │ │ │ ├── closing_loc: (1,13)-(1,14) = ":"
- │ │ │ └── unescaped: "baz"
- │ │ ├── value:
- │ │ │ @ NilNode (location: (1,15)-(1,18))
- │ │ └── operator_loc: ∅
- │ └── flags: ∅
+ │ ├── flags: ∅
+ │ └── arguments: (length: 2)
+ │ ├── @ SymbolNode (location: (1,4)-(1,8))
+ │ │ ├── opening_loc: (1,4)-(1,5) = ":"
+ │ │ ├── value_loc: (1,5)-(1,8) = "bar"
+ │ │ ├── closing_loc: ∅
+ │ │ └── unescaped: "bar"
+ │ └── @ KeywordHashNode (location: (1,10)-(1,18))
+ │ └── elements: (length: 1)
+ │ └── @ AssocNode (location: (1,10)-(1,18))
+ │ ├── key:
+ │ │ @ SymbolNode (location: (1,10)-(1,14))
+ │ │ ├── opening_loc: ∅
+ │ │ ├── value_loc: (1,10)-(1,13) = "baz"
+ │ │ ├── closing_loc: (1,13)-(1,14) = ":"
+ │ │ └── unescaped: "baz"
+ │ ├── value:
+ │ │ @ NilNode (location: (1,15)-(1,18))
+ │ └── operator_loc: ∅
├── closing_loc: (1,19)-(1,20) = ")"
- ├── block: ∅
- └── flags: ∅
+ └── block: ∅
diff --git a/test/prism/snapshots/seattlerb/bug_hash_interp_array.txt b/test/prism/snapshots/seattlerb/bug_hash_interp_array.txt
index 30c05e8960..433fb02411 100644
--- a/test/prism/snapshots/seattlerb/bug_hash_interp_array.txt
+++ b/test/prism/snapshots/seattlerb/bug_hash_interp_array.txt
@@ -18,9 +18,9 @@
│ │ └── closing_loc: (1,6)-(1,8) = "\":"
│ ├── value:
│ │ @ ArrayNode (location: (1,9)-(1,11))
+ │ │ ├── flags: ∅
│ │ ├── elements: (length: 0)
│ │ ├── opening_loc: (1,9)-(1,10) = "["
- │ │ ├── closing_loc: (1,10)-(1,11) = "]"
- │ │ └── flags: ∅
+ │ │ └── closing_loc: (1,10)-(1,11) = "]"
│ └── operator_loc: ∅
└── closing_loc: (1,12)-(1,13) = "}"
diff --git a/test/prism/snapshots/seattlerb/bug_masgn_right.txt b/test/prism/snapshots/seattlerb/bug_masgn_right.txt
index 5996d1996a..194b01f281 100644
--- a/test/prism/snapshots/seattlerb/bug_masgn_right.txt
+++ b/test/prism/snapshots/seattlerb/bug_masgn_right.txt
@@ -4,6 +4,7 @@
@ StatementsNode (location: (1,0)-(1,17))
└── body: (length: 1)
└── @ CallNode (location: (1,0)-(1,17))
+ ├── flags: ∅
├── receiver: ∅
├── call_operator_loc: ∅
├── name: :f
@@ -11,37 +12,36 @@
├── opening_loc: ∅
├── arguments: ∅
├── closing_loc: ∅
- ├── block:
- │ @ BlockNode (location: (1,2)-(1,17))
- │ ├── locals: [:a, :b, :c]
- │ ├── locals_body_index: 3
- │ ├── parameters:
- │ │ @ BlockParametersNode (location: (1,4)-(1,15))
- │ │ ├── parameters:
- │ │ │ @ ParametersNode (location: (1,5)-(1,14))
- │ │ │ ├── requireds: (length: 2)
- │ │ │ │ ├── @ RequiredParameterNode (location: (1,5)-(1,6))
- │ │ │ │ │ └── name: :a
- │ │ │ │ └── @ MultiTargetNode (location: (1,8)-(1,14))
- │ │ │ │ ├── lefts: (length: 2)
- │ │ │ │ │ ├── @ RequiredParameterNode (location: (1,9)-(1,10))
- │ │ │ │ │ │ └── name: :b
- │ │ │ │ │ └── @ RequiredParameterNode (location: (1,12)-(1,13))
- │ │ │ │ │ └── name: :c
- │ │ │ │ ├── rest: ∅
- │ │ │ │ ├── rights: (length: 0)
- │ │ │ │ ├── lparen_loc: (1,8)-(1,9) = "("
- │ │ │ │ └── rparen_loc: (1,13)-(1,14) = ")"
- │ │ │ ├── optionals: (length: 0)
- │ │ │ ├── rest: ∅
- │ │ │ ├── posts: (length: 0)
- │ │ │ ├── keywords: (length: 0)
- │ │ │ ├── keyword_rest: ∅
- │ │ │ └── block: ∅
- │ │ ├── locals: (length: 0)
- │ │ ├── opening_loc: (1,4)-(1,5) = "|"
- │ │ └── closing_loc: (1,14)-(1,15) = "|"
- │ ├── body: ∅
- │ ├── opening_loc: (1,2)-(1,3) = "{"
- │ └── closing_loc: (1,16)-(1,17) = "}"
- └── flags: ∅
+ └── block:
+ @ BlockNode (location: (1,2)-(1,17))
+ ├── locals: [:a, :b, :c]
+ ├── locals_body_index: 3
+ ├── parameters:
+ │ @ BlockParametersNode (location: (1,4)-(1,15))
+ │ ├── parameters:
+ │ │ @ ParametersNode (location: (1,5)-(1,14))
+ │ │ ├── requireds: (length: 2)
+ │ │ │ ├── @ RequiredParameterNode (location: (1,5)-(1,6))
+ │ │ │ │ └── name: :a
+ │ │ │ └── @ MultiTargetNode (location: (1,8)-(1,14))
+ │ │ │ ├── lefts: (length: 2)
+ │ │ │ │ ├── @ RequiredParameterNode (location: (1,9)-(1,10))
+ │ │ │ │ │ └── name: :b
+ │ │ │ │ └── @ RequiredParameterNode (location: (1,12)-(1,13))
+ │ │ │ │ └── name: :c
+ │ │ │ ├── rest: ∅
+ │ │ │ ├── rights: (length: 0)
+ │ │ │ ├── lparen_loc: (1,8)-(1,9) = "("
+ │ │ │ └── rparen_loc: (1,13)-(1,14) = ")"
+ │ │ ├── optionals: (length: 0)
+ │ │ ├── rest: ∅
+ │ │ ├── posts: (length: 0)
+ │ │ ├── keywords: (length: 0)
+ │ │ ├── keyword_rest: ∅
+ │ │ └── block: ∅
+ │ ├── locals: (length: 0)
+ │ ├── opening_loc: (1,4)-(1,5) = "|"
+ │ └── closing_loc: (1,14)-(1,15) = "|"
+ ├── body: ∅
+ ├── opening_loc: (1,2)-(1,3) = "{"
+ └── closing_loc: (1,16)-(1,17) = "}"
diff --git a/test/prism/snapshots/seattlerb/bug_not_parens.txt b/test/prism/snapshots/seattlerb/bug_not_parens.txt
index f5328a6eb1..c5157a0ed9 100644
--- a/test/prism/snapshots/seattlerb/bug_not_parens.txt
+++ b/test/prism/snapshots/seattlerb/bug_not_parens.txt
@@ -4,8 +4,10 @@
@ StatementsNode (location: (1,0)-(1,6))
└── body: (length: 1)
└── @ CallNode (location: (1,0)-(1,6))
+ ├── flags: ∅
├── receiver:
│ @ CallNode (location: (1,4)-(1,5))
+ │ ├── flags: variable_call
│ ├── receiver: ∅
│ ├── call_operator_loc: ∅
│ ├── name: :a
@@ -13,13 +15,11 @@
│ ├── opening_loc: ∅
│ ├── arguments: ∅
│ ├── closing_loc: ∅
- │ ├── block: ∅
- │ └── flags: variable_call
+ │ └── block: ∅
├── call_operator_loc: ∅
├── name: :!
├── message_loc: (1,0)-(1,3) = "not"
├── opening_loc: (1,3)-(1,4) = "("
├── arguments: ∅
├── closing_loc: (1,5)-(1,6) = ")"
- ├── block: ∅
- └── flags: ∅
+ └── block: ∅
diff --git a/test/prism/snapshots/seattlerb/bug_op_asgn_rescue.txt b/test/prism/snapshots/seattlerb/bug_op_asgn_rescue.txt
index e8504cc967..b31d4a19b6 100644
--- a/test/prism/snapshots/seattlerb/bug_op_asgn_rescue.txt
+++ b/test/prism/snapshots/seattlerb/bug_op_asgn_rescue.txt
@@ -10,6 +10,7 @@
│ @ RescueModifierNode (location: (1,6)-(1,18))
│ ├── expression:
│ │ @ CallNode (location: (1,6)-(1,7))
+ │ │ ├── flags: variable_call
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
│ │ ├── name: :b
@@ -17,8 +18,7 @@
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
- │ │ ├── block: ∅
- │ │ └── flags: variable_call
+ │ │ └── block: ∅
│ ├── keyword_loc: (1,8)-(1,14) = "rescue"
│ └── rescue_expression:
│ @ NilNode (location: (1,15)-(1,18))
diff --git a/test/prism/snapshots/seattlerb/call_and.txt b/test/prism/snapshots/seattlerb/call_and.txt
index 5ff2ef31f1..8c6bf2f2e3 100644
--- a/test/prism/snapshots/seattlerb/call_and.txt
+++ b/test/prism/snapshots/seattlerb/call_and.txt
@@ -4,6 +4,7 @@
@ StatementsNode (location: (1,0)-(1,5))
└── body: (length: 1)
└── @ CallNode (location: (1,0)-(1,5))
+ ├── flags: ∅
├── receiver:
│ @ IntegerNode (location: (1,0)-(1,1))
│ └── flags: decimal
@@ -13,10 +14,9 @@
├── opening_loc: ∅
├── arguments:
│ @ ArgumentsNode (location: (1,4)-(1,5))
- │ ├── arguments: (length: 1)
- │ │ └── @ IntegerNode (location: (1,4)-(1,5))
- │ │ └── flags: decimal
- │ └── flags: ∅
+ │ ├── flags: ∅
+ │ └── arguments: (length: 1)
+ │ └── @ IntegerNode (location: (1,4)-(1,5))
+ │ └── flags: decimal
├── closing_loc: ∅
- ├── block: ∅
- └── flags: ∅
+ └── block: ∅
diff --git a/test/prism/snapshots/seattlerb/call_arg_assoc.txt b/test/prism/snapshots/seattlerb/call_arg_assoc.txt
index 1eeb319630..4694b43045 100644
--- a/test/prism/snapshots/seattlerb/call_arg_assoc.txt
+++ b/test/prism/snapshots/seattlerb/call_arg_assoc.txt
@@ -4,6 +4,7 @@
@ StatementsNode (location: (1,0)-(1,10))
└── body: (length: 1)
└── @ CallNode (location: (1,0)-(1,10))
+ ├── flags: ∅
├── receiver: ∅
├── call_operator_loc: ∅
├── name: :f
@@ -11,20 +12,19 @@
├── opening_loc: (1,1)-(1,2) = "("
├── arguments:
│ @ ArgumentsNode (location: (1,2)-(1,9))
- │ ├── arguments: (length: 2)
- │ │ ├── @ IntegerNode (location: (1,2)-(1,3))
- │ │ │ └── flags: decimal
- │ │ └── @ KeywordHashNode (location: (1,5)-(1,9))
- │ │ └── elements: (length: 1)
- │ │ └── @ AssocNode (location: (1,5)-(1,9))
- │ │ ├── key:
- │ │ │ @ IntegerNode (location: (1,5)-(1,6))
- │ │ │ └── flags: decimal
- │ │ ├── value:
- │ │ │ @ IntegerNode (location: (1,8)-(1,9))
- │ │ │ └── flags: decimal
- │ │ └── operator_loc: (1,6)-(1,8) = "=>"
- │ └── flags: ∅
+ │ ├── flags: ∅
+ │ └── arguments: (length: 2)
+ │ ├── @ IntegerNode (location: (1,2)-(1,3))
+ │ │ └── flags: decimal
+ │ └── @ KeywordHashNode (location: (1,5)-(1,9))
+ │ └── elements: (length: 1)
+ │ └── @ AssocNode (location: (1,5)-(1,9))
+ │ ├── key:
+ │ │ @ IntegerNode (location: (1,5)-(1,6))
+ │ │ └── flags: decimal
+ │ ├── value:
+ │ │ @ IntegerNode (location: (1,8)-(1,9))
+ │ │ └── flags: decimal
+ │ └── operator_loc: (1,6)-(1,8) = "=>"
├── closing_loc: (1,9)-(1,10) = ")"
- ├── block: ∅
- └── flags: ∅
+ └── block: ∅
diff --git a/test/prism/snapshots/seattlerb/call_arg_assoc_kwsplat.txt b/test/prism/snapshots/seattlerb/call_arg_assoc_kwsplat.txt
index ca96559020..12a9bbfe38 100644
--- a/test/prism/snapshots/seattlerb/call_arg_assoc_kwsplat.txt
+++ b/test/prism/snapshots/seattlerb/call_arg_assoc_kwsplat.txt
@@ -4,6 +4,7 @@
@ StatementsNode (location: (1,0)-(1,16))
└── body: (length: 1)
└── @ CallNode (location: (1,0)-(1,16))
+ ├── flags: ∅
├── receiver: ∅
├── call_operator_loc: ∅
├── name: :f
@@ -11,28 +12,27 @@
├── opening_loc: (1,1)-(1,2) = "("
├── arguments:
│ @ ArgumentsNode (location: (1,2)-(1,15))
- │ ├── arguments: (length: 2)
- │ │ ├── @ IntegerNode (location: (1,2)-(1,3))
- │ │ │ └── flags: decimal
- │ │ └── @ KeywordHashNode (location: (1,5)-(1,15))
- │ │ └── elements: (length: 2)
- │ │ ├── @ AssocNode (location: (1,5)-(1,10))
- │ │ │ ├── key:
- │ │ │ │ @ SymbolNode (location: (1,5)-(1,8))
- │ │ │ │ ├── opening_loc: ∅
- │ │ │ │ ├── value_loc: (1,5)-(1,7) = "kw"
- │ │ │ │ ├── closing_loc: (1,7)-(1,8) = ":"
- │ │ │ │ └── unescaped: "kw"
- │ │ │ ├── value:
- │ │ │ │ @ IntegerNode (location: (1,9)-(1,10))
- │ │ │ │ └── flags: decimal
- │ │ │ └── operator_loc: ∅
- │ │ └── @ AssocSplatNode (location: (1,12)-(1,15))
- │ │ ├── value:
- │ │ │ @ IntegerNode (location: (1,14)-(1,15))
- │ │ │ └── flags: decimal
- │ │ └── operator_loc: (1,12)-(1,14) = "**"
- │ └── flags: contains_keyword_splat
+ │ ├── flags: contains_keyword_splat
+ │ └── arguments: (length: 2)
+ │ ├── @ IntegerNode (location: (1,2)-(1,3))
+ │ │ └── flags: decimal
+ │ └── @ KeywordHashNode (location: (1,5)-(1,15))
+ │ └── elements: (length: 2)
+ │ ├── @ AssocNode (location: (1,5)-(1,10))
+ │ │ ├── key:
+ │ │ │ @ SymbolNode (location: (1,5)-(1,8))
+ │ │ │ ├── opening_loc: ∅
+ │ │ │ ├── value_loc: (1,5)-(1,7) = "kw"
+ │ │ │ ├── closing_loc: (1,7)-(1,8) = ":"
+ │ │ │ └── unescaped: "kw"
+ │ │ ├── value:
+ │ │ │ @ IntegerNode (location: (1,9)-(1,10))
+ │ │ │ └── flags: decimal
+ │ │ └── operator_loc: ∅
+ │ └── @ AssocSplatNode (location: (1,12)-(1,15))
+ │ ├── value:
+ │ │ @ IntegerNode (location: (1,14)-(1,15))
+ │ │ └── flags: decimal
+ │ └── operator_loc: (1,12)-(1,14) = "**"
├── closing_loc: (1,15)-(1,16) = ")"
- ├── block: ∅
- └── flags: ∅
+ └── block: ∅
diff --git a/test/prism/snapshots/seattlerb/call_arg_kwsplat.txt b/test/prism/snapshots/seattlerb/call_arg_kwsplat.txt
index 1d3c7c5c5c..da8d8b709b 100644
--- a/test/prism/snapshots/seattlerb/call_arg_kwsplat.txt
+++ b/test/prism/snapshots/seattlerb/call_arg_kwsplat.txt
@@ -4,6 +4,7 @@
@ StatementsNode (location: (1,0)-(1,9))
└── body: (length: 1)
└── @ CallNode (location: (1,0)-(1,9))
+ ├── flags: ∅
├── receiver: ∅
├── call_operator_loc: ∅
├── name: :a
@@ -11,25 +12,24 @@
├── opening_loc: (1,1)-(1,2) = "("
├── arguments:
│ @ ArgumentsNode (location: (1,2)-(1,8))
- │ ├── arguments: (length: 2)
- │ │ ├── @ CallNode (location: (1,2)-(1,3))
- │ │ │ ├── receiver: ∅
- │ │ │ ├── call_operator_loc: ∅
- │ │ │ ├── name: :b
- │ │ │ ├── message_loc: (1,2)-(1,3) = "b"
- │ │ │ ├── opening_loc: ∅
- │ │ │ ├── arguments: ∅
- │ │ │ ├── closing_loc: ∅
- │ │ │ ├── block: ∅
- │ │ │ └── flags: variable_call
- │ │ └── @ KeywordHashNode (location: (1,5)-(1,8))
- │ │ └── elements: (length: 1)
- │ │ └── @ AssocSplatNode (location: (1,5)-(1,8))
- │ │ ├── value:
- │ │ │ @ IntegerNode (location: (1,7)-(1,8))
- │ │ │ └── flags: decimal
- │ │ └── operator_loc: (1,5)-(1,7) = "**"
- │ └── flags: contains_keyword_splat
+ │ ├── flags: contains_keyword_splat
+ │ └── arguments: (length: 2)
+ │ ├── @ CallNode (location: (1,2)-(1,3))
+ │ │ ├── flags: variable_call
+ │ │ ├── receiver: ∅
+ │ │ ├── call_operator_loc: ∅
+ │ │ ├── name: :b
+ │ │ ├── message_loc: (1,2)-(1,3) = "b"
+ │ │ ├── opening_loc: ∅
+ │ │ ├── arguments: ∅
+ │ │ ├── closing_loc: ∅
+ │ │ └── block: ∅
+ │ └── @ KeywordHashNode (location: (1,5)-(1,8))
+ │ └── elements: (length: 1)
+ │ └── @ AssocSplatNode (location: (1,5)-(1,8))
+ │ ├── value:
+ │ │ @ IntegerNode (location: (1,7)-(1,8))
+ │ │ └── flags: decimal
+ │ └── operator_loc: (1,5)-(1,7) = "**"
├── closing_loc: (1,8)-(1,9) = ")"
- ├── block: ∅
- └── flags: ∅
+ └── block: ∅
diff --git a/test/prism/snapshots/seattlerb/call_args_assoc_quoted.txt b/test/prism/snapshots/seattlerb/call_args_assoc_quoted.txt
index 7bbc67bb54..d20e11bf6b 100644
--- a/test/prism/snapshots/seattlerb/call_args_assoc_quoted.txt
+++ b/test/prism/snapshots/seattlerb/call_args_assoc_quoted.txt
@@ -4,6 +4,7 @@
@ StatementsNode (location: (1,0)-(5,8))
└── body: (length: 3)
├── @ CallNode (location: (1,0)-(1,11))
+ │ ├── flags: ∅
│ ├── receiver: ∅
│ ├── call_operator_loc: ∅
│ ├── name: :x
@@ -11,40 +12,40 @@
│ ├── opening_loc: ∅
│ ├── arguments:
│ │ @ ArgumentsNode (location: (1,2)-(1,11))
- │ │ ├── arguments: (length: 1)
- │ │ │ └── @ KeywordHashNode (location: (1,2)-(1,11))
- │ │ │ └── elements: (length: 1)
- │ │ │ └── @ AssocNode (location: (1,2)-(1,11))
- │ │ │ ├── key:
- │ │ │ │ @ InterpolatedSymbolNode (location: (1,2)-(1,9))
- │ │ │ │ ├── opening_loc: (1,2)-(1,3) = "\""
- │ │ │ │ ├── parts: (length: 1)
- │ │ │ │ │ └── @ EmbeddedStatementsNode (location: (1,3)-(1,7))
- │ │ │ │ │ ├── opening_loc: (1,3)-(1,5) = "\#{"
- │ │ │ │ │ ├── statements:
- │ │ │ │ │ │ @ StatementsNode (location: (1,5)-(1,6))
- │ │ │ │ │ │ └── body: (length: 1)
- │ │ │ │ │ │ └── @ CallNode (location: (1,5)-(1,6))
- │ │ │ │ │ │ ├── receiver: ∅
- │ │ │ │ │ │ ├── call_operator_loc: ∅
- │ │ │ │ │ │ ├── name: :k
- │ │ │ │ │ │ ├── message_loc: (1,5)-(1,6) = "k"
- │ │ │ │ │ │ ├── opening_loc: ∅
- │ │ │ │ │ │ ├── arguments: ∅
- │ │ │ │ │ │ ├── closing_loc: ∅
- │ │ │ │ │ │ ├── block: ∅
- │ │ │ │ │ │ └── flags: variable_call
- │ │ │ │ │ └── closing_loc: (1,6)-(1,7) = "}"
- │ │ │ │ └── closing_loc: (1,7)-(1,9) = "\":"
- │ │ │ ├── value:
- │ │ │ │ @ IntegerNode (location: (1,9)-(1,11))
- │ │ │ │ └── flags: decimal
- │ │ │ └── operator_loc: ∅
- │ │ └── flags: ∅
+ │ │ ├── flags: ∅
+ │ │ └── arguments: (length: 1)
+ │ │ └── @ KeywordHashNode (location: (1,2)-(1,11))
+ │ │ └── elements: (length: 1)
+ │ │ └── @ AssocNode (location: (1,2)-(1,11))
+ │ │ ├── key:
+ │ │ │ @ InterpolatedSymbolNode (location: (1,2)-(1,9))
+ │ │ │ ├── opening_loc: (1,2)-(1,3) = "\""
+ │ │ │ ├── parts: (length: 1)
+ │ │ │ │ └── @ EmbeddedStatementsNode (location: (1,3)-(1,7))
+ │ │ │ │ ├── opening_loc: (1,3)-(1,5) = "\#{"
+ │ │ │ │ ├── statements:
+ │ │ │ │ │ @ StatementsNode (location: (1,5)-(1,6))
+ │ │ │ │ │ └── body: (length: 1)
+ │ │ │ │ │ └── @ CallNode (location: (1,5)-(1,6))
+ │ │ │ │ │ ├── flags: variable_call
+ │ │ │ │ │ ├── receiver: ∅
+ │ │ │ │ │ ├── call_operator_loc: ∅
+ │ │ │ │ │ ├── name: :k
+ │ │ │ │ │ ├── message_loc: (1,5)-(1,6) = "k"
+ │ │ │ │ │ ├── opening_loc: ∅
+ │ │ │ │ │ ├── arguments: ∅
+ │ │ │ │ │ ├── closing_loc: ∅
+ │ │ │ │ │ └── block: ∅
+ │ │ │ │ └── closing_loc: (1,6)-(1,7) = "}"
+ │ │ │ └── closing_loc: (1,7)-(1,9) = "\":"
+ │ │ ├── value:
+ │ │ │ @ IntegerNode (location: (1,9)-(1,11))
+ │ │ │ └── flags: decimal
+ │ │ └── operator_loc: ∅
│ ├── closing_loc: ∅
- │ ├── block: ∅
- │ └── flags: ∅
+ │ └── block: ∅
├── @ CallNode (location: (3,0)-(3,8))
+ │ ├── flags: ∅
│ ├── receiver: ∅
│ ├── call_operator_loc: ∅
│ ├── name: :x
@@ -52,25 +53,25 @@
│ ├── opening_loc: ∅
│ ├── arguments:
│ │ @ ArgumentsNode (location: (3,2)-(3,8))
- │ │ ├── arguments: (length: 1)
- │ │ │ └── @ KeywordHashNode (location: (3,2)-(3,8))
- │ │ │ └── elements: (length: 1)
- │ │ │ └── @ AssocNode (location: (3,2)-(3,8))
- │ │ │ ├── key:
- │ │ │ │ @ SymbolNode (location: (3,2)-(3,6))
- │ │ │ │ ├── opening_loc: (3,2)-(3,3) = "\""
- │ │ │ │ ├── value_loc: (3,3)-(3,4) = "k"
- │ │ │ │ ├── closing_loc: (3,4)-(3,6) = "\":"
- │ │ │ │ └── unescaped: "k"
- │ │ │ ├── value:
- │ │ │ │ @ IntegerNode (location: (3,6)-(3,8))
- │ │ │ │ └── flags: decimal
- │ │ │ └── operator_loc: ∅
- │ │ └── flags: ∅
+ │ │ ├── flags: ∅
+ │ │ └── arguments: (length: 1)
+ │ │ └── @ KeywordHashNode (location: (3,2)-(3,8))
+ │ │ └── elements: (length: 1)
+ │ │ └── @ AssocNode (location: (3,2)-(3,8))
+ │ │ ├── key:
+ │ │ │ @ SymbolNode (location: (3,2)-(3,6))
+ │ │ │ ├── opening_loc: (3,2)-(3,3) = "\""
+ │ │ │ ├── value_loc: (3,3)-(3,4) = "k"
+ │ │ │ ├── closing_loc: (3,4)-(3,6) = "\":"
+ │ │ │ └── unescaped: "k"
+ │ │ ├── value:
+ │ │ │ @ IntegerNode (location: (3,6)-(3,8))
+ │ │ │ └── flags: decimal
+ │ │ └── operator_loc: ∅
│ ├── closing_loc: ∅
- │ ├── block: ∅
- │ └── flags: ∅
+ │ └── block: ∅
└── @ CallNode (location: (5,0)-(5,8))
+ ├── flags: ∅
├── receiver: ∅
├── call_operator_loc: ∅
├── name: :x
@@ -78,21 +79,20 @@
├── opening_loc: ∅
├── arguments:
│ @ ArgumentsNode (location: (5,2)-(5,8))
- │ ├── arguments: (length: 1)
- │ │ └── @ KeywordHashNode (location: (5,2)-(5,8))
- │ │ └── elements: (length: 1)
- │ │ └── @ AssocNode (location: (5,2)-(5,8))
- │ │ ├── key:
- │ │ │ @ SymbolNode (location: (5,2)-(5,6))
- │ │ │ ├── opening_loc: (5,2)-(5,3) = "'"
- │ │ │ ├── value_loc: (5,3)-(5,4) = "k"
- │ │ │ ├── closing_loc: (5,4)-(5,6) = "':"
- │ │ │ └── unescaped: "k"
- │ │ ├── value:
- │ │ │ @ IntegerNode (location: (5,6)-(5,8))
- │ │ │ └── flags: decimal
- │ │ └── operator_loc: ∅
- │ └── flags: ∅
+ │ ├── flags: ∅
+ │ └── arguments: (length: 1)
+ │ └── @ KeywordHashNode (location: (5,2)-(5,8))
+ │ └── elements: (length: 1)
+ │ └── @ AssocNode (location: (5,2)-(5,8))
+ │ ├── key:
+ │ │ @ SymbolNode (location: (5,2)-(5,6))
+ │ │ ├── opening_loc: (5,2)-(5,3) = "'"
+ │ │ ├── value_loc: (5,3)-(5,4) = "k"
+ │ │ ├── closing_loc: (5,4)-(5,6) = "':"
+ │ │ └── unescaped: "k"
+ │ ├── value:
+ │ │ @ IntegerNode (location: (5,6)-(5,8))
+ │ │ └── flags: decimal
+ │ └── operator_loc: ∅
├── closing_loc: ∅
- ├── block: ∅
- └── flags: ∅
+ └── block: ∅
diff --git a/test/prism/snapshots/seattlerb/call_args_assoc_trailing_comma.txt b/test/prism/snapshots/seattlerb/call_args_assoc_trailing_comma.txt
index a248805777..b27cd84ba0 100644
--- a/test/prism/snapshots/seattlerb/call_args_assoc_trailing_comma.txt
+++ b/test/prism/snapshots/seattlerb/call_args_assoc_trailing_comma.txt
@@ -4,6 +4,7 @@
@ StatementsNode (location: (1,0)-(1,11))
└── body: (length: 1)
└── @ CallNode (location: (1,0)-(1,11))
+ ├── flags: ∅
├── receiver: ∅
├── call_operator_loc: ∅
├── name: :f
@@ -11,20 +12,19 @@
├── opening_loc: (1,1)-(1,2) = "("
├── arguments:
│ @ ArgumentsNode (location: (1,2)-(1,9))
- │ ├── arguments: (length: 2)
- │ │ ├── @ IntegerNode (location: (1,2)-(1,3))
- │ │ │ └── flags: decimal
- │ │ └── @ KeywordHashNode (location: (1,5)-(1,9))
- │ │ └── elements: (length: 1)
- │ │ └── @ AssocNode (location: (1,5)-(1,9))
- │ │ ├── key:
- │ │ │ @ IntegerNode (location: (1,5)-(1,6))
- │ │ │ └── flags: decimal
- │ │ ├── value:
- │ │ │ @ IntegerNode (location: (1,8)-(1,9))
- │ │ │ └── flags: decimal
- │ │ └── operator_loc: (1,6)-(1,8) = "=>"
- │ └── flags: ∅
+ │ ├── flags: ∅
+ │ └── arguments: (length: 2)
+ │ ├── @ IntegerNode (location: (1,2)-(1,3))
+ │ │ └── flags: decimal
+ │ └── @ KeywordHashNode (location: (1,5)-(1,9))
+ │ └── elements: (length: 1)
+ │ └── @ AssocNode (location: (1,5)-(1,9))
+ │ ├── key:
+ │ │ @ IntegerNode (location: (1,5)-(1,6))
+ │ │ └── flags: decimal
+ │ ├── value:
+ │ │ @ IntegerNode (location: (1,8)-(1,9))
+ │ │ └── flags: decimal
+ │ └── operator_loc: (1,6)-(1,8) = "=>"
├── closing_loc: (1,10)-(1,11) = ")"
- ├── block: ∅
- └── flags: ∅
+ └── block: ∅
diff --git a/test/prism/snapshots/seattlerb/call_args_command.txt b/test/prism/snapshots/seattlerb/call_args_command.txt
index 2b9353e755..c371dda3f4 100644
--- a/test/prism/snapshots/seattlerb/call_args_command.txt
+++ b/test/prism/snapshots/seattlerb/call_args_command.txt
@@ -4,8 +4,10 @@
@ StatementsNode (location: (1,0)-(1,9))
└── body: (length: 1)
└── @ CallNode (location: (1,0)-(1,9))
+ ├── flags: ∅
├── receiver:
│ @ CallNode (location: (1,0)-(1,1))
+ │ ├── flags: variable_call
│ ├── receiver: ∅
│ ├── call_operator_loc: ∅
│ ├── name: :a
@@ -13,41 +15,39 @@
│ ├── opening_loc: ∅
│ ├── arguments: ∅
│ ├── closing_loc: ∅
- │ ├── block: ∅
- │ └── flags: variable_call
+ │ └── block: ∅
├── call_operator_loc: (1,1)-(1,2) = "."
├── name: :b
├── message_loc: (1,2)-(1,3) = "b"
├── opening_loc: ∅
├── arguments:
│ @ ArgumentsNode (location: (1,4)-(1,9))
- │ ├── arguments: (length: 1)
- │ │ └── @ CallNode (location: (1,4)-(1,9))
- │ │ ├── receiver:
- │ │ │ @ CallNode (location: (1,4)-(1,5))
- │ │ │ ├── receiver: ∅
- │ │ │ ├── call_operator_loc: ∅
- │ │ │ ├── name: :c
- │ │ │ ├── message_loc: (1,4)-(1,5) = "c"
- │ │ │ ├── opening_loc: ∅
- │ │ │ ├── arguments: ∅
- │ │ │ ├── closing_loc: ∅
- │ │ │ ├── block: ∅
- │ │ │ └── flags: variable_call
- │ │ ├── call_operator_loc: (1,5)-(1,6) = "."
- │ │ ├── name: :d
- │ │ ├── message_loc: (1,6)-(1,7) = "d"
- │ │ ├── opening_loc: ∅
- │ │ ├── arguments:
- │ │ │ @ ArgumentsNode (location: (1,8)-(1,9))
- │ │ │ ├── arguments: (length: 1)
- │ │ │ │ └── @ IntegerNode (location: (1,8)-(1,9))
- │ │ │ │ └── flags: decimal
- │ │ │ └── flags: ∅
- │ │ ├── closing_loc: ∅
- │ │ ├── block: ∅
- │ │ └── flags: ∅
- │ └── flags: ∅
+ │ ├── flags: ∅
+ │ └── arguments: (length: 1)
+ │ └── @ CallNode (location: (1,4)-(1,9))
+ │ ├── flags: ∅
+ │ ├── receiver:
+ │ │ @ CallNode (location: (1,4)-(1,5))
+ │ │ ├── flags: variable_call
+ │ │ ├── receiver: ∅
+ │ │ ├── call_operator_loc: ∅
+ │ │ ├── name: :c
+ │ │ ├── message_loc: (1,4)-(1,5) = "c"
+ │ │ ├── opening_loc: ∅
+ │ │ ├── arguments: ∅
+ │ │ ├── closing_loc: ∅
+ │ │ └── block: ∅
+ │ ├── call_operator_loc: (1,5)-(1,6) = "."
+ │ ├── name: :d
+ │ ├── message_loc: (1,6)-(1,7) = "d"
+ │ ├── opening_loc: ∅
+ │ ├── arguments:
+ │ │ @ ArgumentsNode (location: (1,8)-(1,9))
+ │ │ ├── flags: ∅
+ │ │ └── arguments: (length: 1)
+ │ │ └── @ IntegerNode (location: (1,8)-(1,9))
+ │ │ └── flags: decimal
+ │ ├── closing_loc: ∅
+ │ └── block: ∅
├── closing_loc: ∅
- ├── block: ∅
- └── flags: ∅
+ └── block: ∅
diff --git a/test/prism/snapshots/seattlerb/call_array_arg.txt b/test/prism/snapshots/seattlerb/call_array_arg.txt
index 01c16c0091..d0ccd3d7b0 100644
--- a/test/prism/snapshots/seattlerb/call_array_arg.txt
+++ b/test/prism/snapshots/seattlerb/call_array_arg.txt
@@ -4,6 +4,7 @@
@ StatementsNode (location: (1,0)-(1,13))
└── body: (length: 1)
└── @ CallNode (location: (1,0)-(1,13))
+ ├── flags: ∅
├── receiver:
│ @ IntegerNode (location: (1,0)-(1,1))
│ └── flags: decimal
@@ -13,23 +14,22 @@
├── opening_loc: ∅
├── arguments:
│ @ ArgumentsNode (location: (1,5)-(1,13))
- │ ├── arguments: (length: 1)
- │ │ └── @ ArrayNode (location: (1,5)-(1,13))
- │ │ ├── elements: (length: 2)
- │ │ │ ├── @ SymbolNode (location: (1,6)-(1,8))
- │ │ │ │ ├── opening_loc: (1,6)-(1,7) = ":"
- │ │ │ │ ├── value_loc: (1,7)-(1,8) = "b"
- │ │ │ │ ├── closing_loc: ∅
- │ │ │ │ └── unescaped: "b"
- │ │ │ └── @ SymbolNode (location: (1,10)-(1,12))
- │ │ │ ├── opening_loc: (1,10)-(1,11) = ":"
- │ │ │ ├── value_loc: (1,11)-(1,12) = "c"
- │ │ │ ├── closing_loc: ∅
- │ │ │ └── unescaped: "c"
- │ │ ├── opening_loc: (1,5)-(1,6) = "["
- │ │ ├── closing_loc: (1,12)-(1,13) = "]"
- │ │ └── flags: ∅
- │ └── flags: ∅
+ │ ├── flags: ∅
+ │ └── arguments: (length: 1)
+ │ └── @ ArrayNode (location: (1,5)-(1,13))
+ │ ├── flags: ∅
+ │ ├── elements: (length: 2)
+ │ │ ├── @ SymbolNode (location: (1,6)-(1,8))
+ │ │ │ ├── opening_loc: (1,6)-(1,7) = ":"
+ │ │ │ ├── value_loc: (1,7)-(1,8) = "b"
+ │ │ │ ├── closing_loc: ∅
+ │ │ │ └── unescaped: "b"
+ │ │ └── @ SymbolNode (location: (1,10)-(1,12))
+ │ │ ├── opening_loc: (1,10)-(1,11) = ":"
+ │ │ ├── value_loc: (1,11)-(1,12) = "c"
+ │ │ ├── closing_loc: ∅
+ │ │ └── unescaped: "c"
+ │ ├── opening_loc: (1,5)-(1,6) = "["
+ │ └── closing_loc: (1,12)-(1,13) = "]"
├── closing_loc: ∅
- ├── block: ∅
- └── flags: ∅
+ └── block: ∅
diff --git a/test/prism/snapshots/seattlerb/call_array_block_call.txt b/test/prism/snapshots/seattlerb/call_array_block_call.txt
index 65daaf7287..c75ddc8272 100644
--- a/test/prism/snapshots/seattlerb/call_array_block_call.txt
+++ b/test/prism/snapshots/seattlerb/call_array_block_call.txt
@@ -4,6 +4,7 @@
@ StatementsNode (location: (1,0)-(1,19))
└── body: (length: 1)
└── @ CallNode (location: (1,0)-(1,19))
+ ├── flags: ∅
├── receiver: ∅
├── call_operator_loc: ∅
├── name: :a
@@ -11,31 +12,30 @@
├── opening_loc: ∅
├── arguments:
│ @ ArgumentsNode (location: (1,2)-(1,19))
- │ ├── arguments: (length: 1)
- │ │ └── @ ArrayNode (location: (1,2)-(1,19))
- │ │ ├── elements: (length: 2)
- │ │ │ ├── @ NilNode (location: (1,4)-(1,7))
- │ │ │ └── @ CallNode (location: (1,9)-(1,17))
- │ │ │ ├── receiver: ∅
- │ │ │ ├── call_operator_loc: ∅
- │ │ │ ├── name: :b
- │ │ │ ├── message_loc: (1,9)-(1,10) = "b"
- │ │ │ ├── opening_loc: ∅
- │ │ │ ├── arguments: ∅
- │ │ │ ├── closing_loc: ∅
- │ │ │ ├── block:
- │ │ │ │ @ BlockNode (location: (1,11)-(1,17))
- │ │ │ │ ├── locals: []
- │ │ │ │ ├── locals_body_index: 0
- │ │ │ │ ├── parameters: ∅
- │ │ │ │ ├── body: ∅
- │ │ │ │ ├── opening_loc: (1,11)-(1,13) = "do"
- │ │ │ │ └── closing_loc: (1,14)-(1,17) = "end"
- │ │ │ └── flags: ∅
- │ │ ├── opening_loc: (1,2)-(1,3) = "["
- │ │ ├── closing_loc: (1,18)-(1,19) = "]"
- │ │ └── flags: ∅
- │ └── flags: ∅
+ │ ├── flags: ∅
+ │ └── arguments: (length: 1)
+ │ └── @ ArrayNode (location: (1,2)-(1,19))
+ │ ├── flags: ∅
+ │ ├── elements: (length: 2)
+ │ │ ├── @ NilNode (location: (1,4)-(1,7))
+ │ │ └── @ CallNode (location: (1,9)-(1,17))
+ │ │ ├── flags: ∅
+ │ │ ├── receiver: ∅
+ │ │ ├── call_operator_loc: ∅
+ │ │ ├── name: :b
+ │ │ ├── message_loc: (1,9)-(1,10) = "b"
+ │ │ ├── opening_loc: ∅
+ │ │ ├── arguments: ∅
+ │ │ ├── closing_loc: ∅
+ │ │ └── block:
+ │ │ @ BlockNode (location: (1,11)-(1,17))
+ │ │ ├── locals: []
+ │ │ ├── locals_body_index: 0
+ │ │ ├── parameters: ∅
+ │ │ ├── body: ∅
+ │ │ ├── opening_loc: (1,11)-(1,13) = "do"
+ │ │ └── closing_loc: (1,14)-(1,17) = "end"
+ │ ├── opening_loc: (1,2)-(1,3) = "["
+ │ └── closing_loc: (1,18)-(1,19) = "]"
├── closing_loc: ∅
- ├── block: ∅
- └── flags: ∅
+ └── block: ∅
diff --git a/test/prism/snapshots/seattlerb/call_array_lambda_block_call.txt b/test/prism/snapshots/seattlerb/call_array_lambda_block_call.txt
index 291cdc87ea..04900f9b39 100644
--- a/test/prism/snapshots/seattlerb/call_array_lambda_block_call.txt
+++ b/test/prism/snapshots/seattlerb/call_array_lambda_block_call.txt
@@ -4,6 +4,7 @@
@ StatementsNode (location: (1,0)-(2,3))
└── body: (length: 1)
└── @ CallNode (location: (1,0)-(2,3))
+ ├── flags: ∅
├── receiver: ∅
├── call_operator_loc: ∅
├── name: :a
@@ -11,33 +12,32 @@
├── opening_loc: ∅
├── arguments:
│ @ ArgumentsNode (location: (1,2)-(1,11))
- │ ├── arguments: (length: 1)
- │ │ └── @ ArrayNode (location: (1,2)-(1,11))
- │ │ ├── elements: (length: 1)
- │ │ │ └── @ LambdaNode (location: (1,3)-(1,10))
- │ │ │ ├── locals: []
- │ │ │ ├── locals_body_index: 0
- │ │ │ ├── operator_loc: (1,3)-(1,5) = "->"
- │ │ │ ├── opening_loc: (1,8)-(1,9) = "{"
- │ │ │ ├── closing_loc: (1,9)-(1,10) = "}"
- │ │ │ ├── parameters:
- │ │ │ │ @ BlockParametersNode (location: (1,5)-(1,7))
- │ │ │ │ ├── parameters: ∅
- │ │ │ │ ├── locals: (length: 0)
- │ │ │ │ ├── opening_loc: (1,5)-(1,6) = "("
- │ │ │ │ └── closing_loc: (1,6)-(1,7) = ")"
- │ │ │ └── body: ∅
- │ │ ├── opening_loc: (1,2)-(1,3) = "["
- │ │ ├── closing_loc: (1,10)-(1,11) = "]"
- │ │ └── flags: ∅
- │ └── flags: ∅
+ │ ├── flags: ∅
+ │ └── arguments: (length: 1)
+ │ └── @ ArrayNode (location: (1,2)-(1,11))
+ │ ├── flags: ∅
+ │ ├── elements: (length: 1)
+ │ │ └── @ LambdaNode (location: (1,3)-(1,10))
+ │ │ ├── locals: []
+ │ │ ├── locals_body_index: 0
+ │ │ ├── operator_loc: (1,3)-(1,5) = "->"
+ │ │ ├── opening_loc: (1,8)-(1,9) = "{"
+ │ │ ├── closing_loc: (1,9)-(1,10) = "}"
+ │ │ ├── parameters:
+ │ │ │ @ BlockParametersNode (location: (1,5)-(1,7))
+ │ │ │ ├── parameters: ∅
+ │ │ │ ├── locals: (length: 0)
+ │ │ │ ├── opening_loc: (1,5)-(1,6) = "("
+ │ │ │ └── closing_loc: (1,6)-(1,7) = ")"
+ │ │ └── body: ∅
+ │ ├── opening_loc: (1,2)-(1,3) = "["
+ │ └── closing_loc: (1,10)-(1,11) = "]"
├── closing_loc: ∅
- ├── block:
- │ @ BlockNode (location: (1,12)-(2,3))
- │ ├── locals: []
- │ ├── locals_body_index: 0
- │ ├── parameters: ∅
- │ ├── body: ∅
- │ ├── opening_loc: (1,12)-(1,14) = "do"
- │ └── closing_loc: (2,0)-(2,3) = "end"
- └── flags: ∅
+ └── block:
+ @ BlockNode (location: (1,12)-(2,3))
+ ├── locals: []
+ ├── locals_body_index: 0
+ ├── parameters: ∅
+ ├── body: ∅
+ ├── opening_loc: (1,12)-(1,14) = "do"
+ └── closing_loc: (2,0)-(2,3) = "end"
diff --git a/test/prism/snapshots/seattlerb/call_array_lit_inline_hash.txt b/test/prism/snapshots/seattlerb/call_array_lit_inline_hash.txt
index cecdfbeaec..f13625e87f 100644
--- a/test/prism/snapshots/seattlerb/call_array_lit_inline_hash.txt
+++ b/test/prism/snapshots/seattlerb/call_array_lit_inline_hash.txt
@@ -4,6 +4,7 @@
@ StatementsNode (location: (1,0)-(1,16))
└── body: (length: 1)
└── @ CallNode (location: (1,0)-(1,16))
+ ├── flags: ∅
├── receiver: ∅
├── call_operator_loc: ∅
├── name: :a
@@ -11,31 +12,30 @@
├── opening_loc: (1,1)-(1,2) = "("
├── arguments:
│ @ ArgumentsNode (location: (1,2)-(1,15))
- │ ├── arguments: (length: 1)
- │ │ └── @ ArrayNode (location: (1,2)-(1,15))
- │ │ ├── elements: (length: 2)
- │ │ │ ├── @ SymbolNode (location: (1,3)-(1,5))
- │ │ │ │ ├── opening_loc: (1,3)-(1,4) = ":"
- │ │ │ │ ├── value_loc: (1,4)-(1,5) = "b"
- │ │ │ │ ├── closing_loc: ∅
- │ │ │ │ └── unescaped: "b"
- │ │ │ └── @ KeywordHashNode (location: (1,7)-(1,14))
- │ │ │ └── elements: (length: 1)
- │ │ │ └── @ AssocNode (location: (1,7)-(1,14))
- │ │ │ ├── key:
- │ │ │ │ @ SymbolNode (location: (1,7)-(1,9))
- │ │ │ │ ├── opening_loc: (1,7)-(1,8) = ":"
- │ │ │ │ ├── value_loc: (1,8)-(1,9) = "c"
- │ │ │ │ ├── closing_loc: ∅
- │ │ │ │ └── unescaped: "c"
- │ │ │ ├── value:
- │ │ │ │ @ IntegerNode (location: (1,13)-(1,14))
- │ │ │ │ └── flags: decimal
- │ │ │ └── operator_loc: (1,10)-(1,12) = "=>"
- │ │ ├── opening_loc: (1,2)-(1,3) = "["
- │ │ ├── closing_loc: (1,14)-(1,15) = "]"
- │ │ └── flags: ∅
- │ └── flags: ∅
+ │ ├── flags: ∅
+ │ └── arguments: (length: 1)
+ │ └── @ ArrayNode (location: (1,2)-(1,15))
+ │ ├── flags: ∅
+ │ ├── elements: (length: 2)
+ │ │ ├── @ SymbolNode (location: (1,3)-(1,5))
+ │ │ │ ├── opening_loc: (1,3)-(1,4) = ":"
+ │ │ │ ├── value_loc: (1,4)-(1,5) = "b"
+ │ │ │ ├── closing_loc: ∅
+ │ │ │ └── unescaped: "b"
+ │ │ └── @ KeywordHashNode (location: (1,7)-(1,14))
+ │ │ └── elements: (length: 1)
+ │ │ └── @ AssocNode (location: (1,7)-(1,14))
+ │ │ ├── key:
+ │ │ │ @ SymbolNode (location: (1,7)-(1,9))
+ │ │ │ ├── opening_loc: (1,7)-(1,8) = ":"
+ │ │ │ ├── value_loc: (1,8)-(1,9) = "c"
+ │ │ │ ├── closing_loc: ∅
+ │ │ │ └── unescaped: "c"
+ │ │ ├── value:
+ │ │ │ @ IntegerNode (location: (1,13)-(1,14))
+ │ │ │ └── flags: decimal
+ │ │ └── operator_loc: (1,10)-(1,12) = "=>"
+ │ ├── opening_loc: (1,2)-(1,3) = "["
+ │ └── closing_loc: (1,14)-(1,15) = "]"
├── closing_loc: (1,15)-(1,16) = ")"
- ├── block: ∅
- └── flags: ∅
+ └── block: ∅
diff --git a/test/prism/snapshots/seattlerb/call_assoc.txt b/test/prism/snapshots/seattlerb/call_assoc.txt
index 5a81c89214..530b25e465 100644
--- a/test/prism/snapshots/seattlerb/call_assoc.txt
+++ b/test/prism/snapshots/seattlerb/call_assoc.txt
@@ -4,6 +4,7 @@
@ StatementsNode (location: (1,0)-(1,7))
└── body: (length: 1)
└── @ CallNode (location: (1,0)-(1,7))
+ ├── flags: ∅
├── receiver: ∅
├── call_operator_loc: ∅
├── name: :f
@@ -11,18 +12,17 @@
├── opening_loc: (1,1)-(1,2) = "("
├── arguments:
│ @ ArgumentsNode (location: (1,2)-(1,6))
- │ ├── arguments: (length: 1)
- │ │ └── @ KeywordHashNode (location: (1,2)-(1,6))
- │ │ └── elements: (length: 1)
- │ │ └── @ AssocNode (location: (1,2)-(1,6))
- │ │ ├── key:
- │ │ │ @ IntegerNode (location: (1,2)-(1,3))
- │ │ │ └── flags: decimal
- │ │ ├── value:
- │ │ │ @ IntegerNode (location: (1,5)-(1,6))
- │ │ │ └── flags: decimal
- │ │ └── operator_loc: (1,3)-(1,5) = "=>"
- │ └── flags: ∅
+ │ ├── flags: ∅
+ │ └── arguments: (length: 1)
+ │ └── @ KeywordHashNode (location: (1,2)-(1,6))
+ │ └── elements: (length: 1)
+ │ └── @ AssocNode (location: (1,2)-(1,6))
+ │ ├── key:
+ │ │ @ IntegerNode (location: (1,2)-(1,3))
+ │ │ └── flags: decimal
+ │ ├── value:
+ │ │ @ IntegerNode (location: (1,5)-(1,6))
+ │ │ └── flags: decimal
+ │ └── operator_loc: (1,3)-(1,5) = "=>"
├── closing_loc: (1,6)-(1,7) = ")"
- ├── block: ∅
- └── flags: ∅
+ └── block: ∅
diff --git a/test/prism/snapshots/seattlerb/call_assoc_new.txt b/test/prism/snapshots/seattlerb/call_assoc_new.txt
index e37e00e824..984aecf9b7 100644
--- a/test/prism/snapshots/seattlerb/call_assoc_new.txt
+++ b/test/prism/snapshots/seattlerb/call_assoc_new.txt
@@ -4,6 +4,7 @@
@ StatementsNode (location: (1,0)-(1,6))
└── body: (length: 1)
└── @ CallNode (location: (1,0)-(1,6))
+ ├── flags: ∅
├── receiver: ∅
├── call_operator_loc: ∅
├── name: :f
@@ -11,21 +12,20 @@
├── opening_loc: (1,1)-(1,2) = "("
├── arguments:
│ @ ArgumentsNode (location: (1,2)-(1,5))
- │ ├── arguments: (length: 1)
- │ │ └── @ KeywordHashNode (location: (1,2)-(1,5))
- │ │ └── elements: (length: 1)
- │ │ └── @ AssocNode (location: (1,2)-(1,5))
- │ │ ├── key:
- │ │ │ @ SymbolNode (location: (1,2)-(1,4))
- │ │ │ ├── opening_loc: ∅
- │ │ │ ├── value_loc: (1,2)-(1,3) = "a"
- │ │ │ ├── closing_loc: (1,3)-(1,4) = ":"
- │ │ │ └── unescaped: "a"
- │ │ ├── value:
- │ │ │ @ IntegerNode (location: (1,4)-(1,5))
- │ │ │ └── flags: decimal
- │ │ └── operator_loc: ∅
- │ └── flags: ∅
+ │ ├── flags: ∅
+ │ └── arguments: (length: 1)
+ │ └── @ KeywordHashNode (location: (1,2)-(1,5))
+ │ └── elements: (length: 1)
+ │ └── @ AssocNode (location: (1,2)-(1,5))
+ │ ├── key:
+ │ │ @ SymbolNode (location: (1,2)-(1,4))
+ │ │ ├── opening_loc: ∅
+ │ │ ├── value_loc: (1,2)-(1,3) = "a"
+ │ │ ├── closing_loc: (1,3)-(1,4) = ":"
+ │ │ └── unescaped: "a"
+ │ ├── value:
+ │ │ @ IntegerNode (location: (1,4)-(1,5))
+ │ │ └── flags: decimal
+ │ └── operator_loc: ∅
├── closing_loc: (1,5)-(1,6) = ")"
- ├── block: ∅
- └── flags: ∅
+ └── block: ∅
diff --git a/test/prism/snapshots/seattlerb/call_assoc_new_if_multiline.txt b/test/prism/snapshots/seattlerb/call_assoc_new_if_multiline.txt
index 1e6c1fae01..49d1ad17e4 100644
--- a/test/prism/snapshots/seattlerb/call_assoc_new_if_multiline.txt
+++ b/test/prism/snapshots/seattlerb/call_assoc_new_if_multiline.txt
@@ -4,6 +4,7 @@
@ StatementsNode (location: (1,0)-(5,4))
└── body: (length: 1)
└── @ CallNode (location: (1,0)-(5,4))
+ ├── flags: ∅
├── receiver: ∅
├── call_operator_loc: ∅
├── name: :a
@@ -11,43 +12,42 @@
├── opening_loc: (1,1)-(1,2) = "("
├── arguments:
│ @ ArgumentsNode (location: (1,2)-(5,3))
- │ ├── arguments: (length: 1)
- │ │ └── @ KeywordHashNode (location: (1,2)-(5,3))
- │ │ └── elements: (length: 1)
- │ │ └── @ AssocNode (location: (1,2)-(5,3))
- │ │ ├── key:
- │ │ │ @ SymbolNode (location: (1,2)-(1,4))
- │ │ │ ├── opening_loc: ∅
- │ │ │ ├── value_loc: (1,2)-(1,3) = "b"
- │ │ │ ├── closing_loc: (1,3)-(1,4) = ":"
- │ │ │ └── unescaped: "b"
- │ │ ├── value:
- │ │ │ @ IfNode (location: (1,5)-(5,3))
- │ │ │ ├── if_keyword_loc: (1,5)-(1,7) = "if"
- │ │ │ ├── predicate:
- │ │ │ │ @ SymbolNode (location: (1,8)-(1,10))
- │ │ │ │ ├── opening_loc: (1,8)-(1,9) = ":"
- │ │ │ │ ├── value_loc: (1,9)-(1,10) = "c"
- │ │ │ │ ├── closing_loc: ∅
- │ │ │ │ └── unescaped: "c"
- │ │ │ ├── then_keyword_loc: ∅
- │ │ │ ├── statements:
- │ │ │ │ @ StatementsNode (location: (2,0)-(2,1))
- │ │ │ │ └── body: (length: 1)
- │ │ │ │ └── @ IntegerNode (location: (2,0)-(2,1))
- │ │ │ │ └── flags: decimal
- │ │ │ ├── consequent:
- │ │ │ │ @ ElseNode (location: (3,0)-(5,3))
- │ │ │ │ ├── else_keyword_loc: (3,0)-(3,4) = "else"
- │ │ │ │ ├── statements:
- │ │ │ │ │ @ StatementsNode (location: (4,0)-(4,1))
- │ │ │ │ │ └── body: (length: 1)
- │ │ │ │ │ └── @ IntegerNode (location: (4,0)-(4,1))
- │ │ │ │ │ └── flags: decimal
- │ │ │ │ └── end_keyword_loc: (5,0)-(5,3) = "end"
- │ │ │ └── end_keyword_loc: (5,0)-(5,3) = "end"
- │ │ └── operator_loc: ∅
- │ └── flags: ∅
+ │ ├── flags: ∅
+ │ └── arguments: (length: 1)
+ │ └── @ KeywordHashNode (location: (1,2)-(5,3))
+ │ └── elements: (length: 1)
+ │ └── @ AssocNode (location: (1,2)-(5,3))
+ │ ├── key:
+ │ │ @ SymbolNode (location: (1,2)-(1,4))
+ │ │ ├── opening_loc: ∅
+ │ │ ├── value_loc: (1,2)-(1,3) = "b"
+ │ │ ├── closing_loc: (1,3)-(1,4) = ":"
+ │ │ └── unescaped: "b"
+ │ ├── value:
+ │ │ @ IfNode (location: (1,5)-(5,3))
+ │ │ ├── if_keyword_loc: (1,5)-(1,7) = "if"
+ │ │ ├── predicate:
+ │ │ │ @ SymbolNode (location: (1,8)-(1,10))
+ │ │ │ ├── opening_loc: (1,8)-(1,9) = ":"
+ │ │ │ ├── value_loc: (1,9)-(1,10) = "c"
+ │ │ │ ├── closing_loc: ∅
+ │ │ │ └── unescaped: "c"
+ │ │ ├── then_keyword_loc: ∅
+ │ │ ├── statements:
+ │ │ │ @ StatementsNode (location: (2,0)-(2,1))
+ │ │ │ └── body: (length: 1)
+ │ │ │ └── @ IntegerNode (location: (2,0)-(2,1))
+ │ │ │ └── flags: decimal
+ │ │ ├── consequent:
+ │ │ │ @ ElseNode (location: (3,0)-(5,3))
+ │ │ │ ├── else_keyword_loc: (3,0)-(3,4) = "else"
+ │ │ │ ├── statements:
+ │ │ │ │ @ StatementsNode (location: (4,0)-(4,1))
+ │ │ │ │ └── body: (length: 1)
+ │ │ │ │ └── @ IntegerNode (location: (4,0)-(4,1))
+ │ │ │ │ └── flags: decimal
+ │ │ │ └── end_keyword_loc: (5,0)-(5,3) = "end"
+ │ │ └── end_keyword_loc: (5,0)-(5,3) = "end"
+ │ └── operator_loc: ∅
├── closing_loc: (5,3)-(5,4) = ")"
- ├── block: ∅
- └── flags: ∅
+ └── block: ∅
diff --git a/test/prism/snapshots/seattlerb/call_assoc_trailing_comma.txt b/test/prism/snapshots/seattlerb/call_assoc_trailing_comma.txt
index 6c6cd49358..ae3b5882ad 100644
--- a/test/prism/snapshots/seattlerb/call_assoc_trailing_comma.txt
+++ b/test/prism/snapshots/seattlerb/call_assoc_trailing_comma.txt
@@ -4,6 +4,7 @@
@ StatementsNode (location: (1,0)-(1,8))
└── body: (length: 1)
└── @ CallNode (location: (1,0)-(1,8))
+ ├── flags: ∅
├── receiver: ∅
├── call_operator_loc: ∅
├── name: :f
@@ -11,18 +12,17 @@
├── opening_loc: (1,1)-(1,2) = "("
├── arguments:
│ @ ArgumentsNode (location: (1,2)-(1,6))
- │ ├── arguments: (length: 1)
- │ │ └── @ KeywordHashNode (location: (1,2)-(1,6))
- │ │ └── elements: (length: 1)
- │ │ └── @ AssocNode (location: (1,2)-(1,6))
- │ │ ├── key:
- │ │ │ @ IntegerNode (location: (1,2)-(1,3))
- │ │ │ └── flags: decimal
- │ │ ├── value:
- │ │ │ @ IntegerNode (location: (1,5)-(1,6))
- │ │ │ └── flags: decimal
- │ │ └── operator_loc: (1,3)-(1,5) = "=>"
- │ └── flags: ∅
+ │ ├── flags: ∅
+ │ └── arguments: (length: 1)
+ │ └── @ KeywordHashNode (location: (1,2)-(1,6))
+ │ └── elements: (length: 1)
+ │ └── @ AssocNode (location: (1,2)-(1,6))
+ │ ├── key:
+ │ │ @ IntegerNode (location: (1,2)-(1,3))
+ │ │ └── flags: decimal
+ │ ├── value:
+ │ │ @ IntegerNode (location: (1,5)-(1,6))
+ │ │ └── flags: decimal
+ │ └── operator_loc: (1,3)-(1,5) = "=>"
├── closing_loc: (1,7)-(1,8) = ")"
- ├── block: ∅
- └── flags: ∅
+ └── block: ∅
diff --git a/test/prism/snapshots/seattlerb/call_bang_command_call.txt b/test/prism/snapshots/seattlerb/call_bang_command_call.txt
index cfc96e3ef8..1631f7dd6e 100644
--- a/test/prism/snapshots/seattlerb/call_bang_command_call.txt
+++ b/test/prism/snapshots/seattlerb/call_bang_command_call.txt
@@ -4,10 +4,13 @@
@ StatementsNode (location: (1,0)-(1,7))
└── body: (length: 1)
└── @ CallNode (location: (1,0)-(1,7))
+ ├── flags: ∅
├── receiver:
│ @ CallNode (location: (1,2)-(1,7))
+ │ ├── flags: ∅
│ ├── receiver:
│ │ @ CallNode (location: (1,2)-(1,3))
+ │ │ ├── flags: variable_call
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
│ │ ├── name: :a
@@ -15,26 +18,23 @@
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
- │ │ ├── block: ∅
- │ │ └── flags: variable_call
+ │ │ └── block: ∅
│ ├── call_operator_loc: (1,3)-(1,4) = "."
│ ├── name: :b
│ ├── message_loc: (1,4)-(1,5) = "b"
│ ├── opening_loc: ∅
│ ├── arguments:
│ │ @ ArgumentsNode (location: (1,6)-(1,7))
- │ │ ├── arguments: (length: 1)
- │ │ │ └── @ IntegerNode (location: (1,6)-(1,7))
- │ │ │ └── flags: decimal
- │ │ └── flags: ∅
+ │ │ ├── flags: ∅
+ │ │ └── arguments: (length: 1)
+ │ │ └── @ IntegerNode (location: (1,6)-(1,7))
+ │ │ └── flags: decimal
│ ├── closing_loc: ∅
- │ ├── block: ∅
- │ └── flags: ∅
+ │ └── block: ∅
├── call_operator_loc: ∅
├── name: :!
├── message_loc: (1,0)-(1,1) = "!"
├── opening_loc: ∅
├── arguments: ∅
├── closing_loc: ∅
- ├── block: ∅
- └── flags: ∅
+ └── block: ∅
diff --git a/test/prism/snapshots/seattlerb/call_bang_squiggle.txt b/test/prism/snapshots/seattlerb/call_bang_squiggle.txt
index 40ebf4c394..ba7dcfa262 100644
--- a/test/prism/snapshots/seattlerb/call_bang_squiggle.txt
+++ b/test/prism/snapshots/seattlerb/call_bang_squiggle.txt
@@ -4,6 +4,7 @@
@ StatementsNode (location: (1,0)-(1,6))
└── body: (length: 1)
└── @ CallNode (location: (1,0)-(1,6))
+ ├── flags: ∅
├── receiver:
│ @ IntegerNode (location: (1,0)-(1,1))
│ └── flags: decimal
@@ -13,10 +14,9 @@
├── opening_loc: ∅
├── arguments:
│ @ ArgumentsNode (location: (1,5)-(1,6))
- │ ├── arguments: (length: 1)
- │ │ └── @ IntegerNode (location: (1,5)-(1,6))
- │ │ └── flags: decimal
- │ └── flags: ∅
+ │ ├── flags: ∅
+ │ └── arguments: (length: 1)
+ │ └── @ IntegerNode (location: (1,5)-(1,6))
+ │ └── flags: decimal
├── closing_loc: ∅
- ├── block: ∅
- └── flags: ∅
+ └── block: ∅
diff --git a/test/prism/snapshots/seattlerb/call_begin_call_block_call.txt b/test/prism/snapshots/seattlerb/call_begin_call_block_call.txt
index 2ac8fe131d..037ab33222 100644
--- a/test/prism/snapshots/seattlerb/call_begin_call_block_call.txt
+++ b/test/prism/snapshots/seattlerb/call_begin_call_block_call.txt
@@ -4,6 +4,7 @@
@ StatementsNode (location: (1,0)-(3,3))
└── body: (length: 1)
└── @ CallNode (location: (1,0)-(3,3))
+ ├── flags: ∅
├── receiver: ∅
├── call_operator_loc: ∅
├── name: :a
@@ -11,44 +12,43 @@
├── opening_loc: ∅
├── arguments:
│ @ ArgumentsNode (location: (1,2)-(3,3))
- │ ├── arguments: (length: 1)
- │ │ └── @ BeginNode (location: (1,2)-(3,3))
- │ │ ├── begin_keyword_loc: (1,2)-(1,7) = "begin"
- │ │ ├── statements:
- │ │ │ @ StatementsNode (location: (2,0)-(2,10))
- │ │ │ └── body: (length: 1)
- │ │ │ └── @ CallNode (location: (2,0)-(2,10))
- │ │ │ ├── receiver:
- │ │ │ │ @ CallNode (location: (2,0)-(2,1))
- │ │ │ │ ├── receiver: ∅
- │ │ │ │ ├── call_operator_loc: ∅
- │ │ │ │ ├── name: :b
- │ │ │ │ ├── message_loc: (2,0)-(2,1) = "b"
- │ │ │ │ ├── opening_loc: ∅
- │ │ │ │ ├── arguments: ∅
- │ │ │ │ ├── closing_loc: ∅
- │ │ │ │ ├── block: ∅
- │ │ │ │ └── flags: variable_call
- │ │ │ ├── call_operator_loc: (2,1)-(2,2) = "."
- │ │ │ ├── name: :c
- │ │ │ ├── message_loc: (2,2)-(2,3) = "c"
- │ │ │ ├── opening_loc: ∅
- │ │ │ ├── arguments: ∅
- │ │ │ ├── closing_loc: ∅
- │ │ │ ├── block:
- │ │ │ │ @ BlockNode (location: (2,4)-(2,10))
- │ │ │ │ ├── locals: []
- │ │ │ │ ├── locals_body_index: 0
- │ │ │ │ ├── parameters: ∅
- │ │ │ │ ├── body: ∅
- │ │ │ │ ├── opening_loc: (2,4)-(2,6) = "do"
- │ │ │ │ └── closing_loc: (2,7)-(2,10) = "end"
- │ │ │ └── flags: ∅
- │ │ ├── rescue_clause: ∅
- │ │ ├── else_clause: ∅
- │ │ ├── ensure_clause: ∅
- │ │ └── end_keyword_loc: (3,0)-(3,3) = "end"
- │ └── flags: ∅
+ │ ├── flags: ∅
+ │ └── arguments: (length: 1)
+ │ └── @ BeginNode (location: (1,2)-(3,3))
+ │ ├── begin_keyword_loc: (1,2)-(1,7) = "begin"
+ │ ├── statements:
+ │ │ @ StatementsNode (location: (2,0)-(2,10))
+ │ │ └── body: (length: 1)
+ │ │ └── @ CallNode (location: (2,0)-(2,10))
+ │ │ ├── flags: ∅
+ │ │ ├── receiver:
+ │ │ │ @ CallNode (location: (2,0)-(2,1))
+ │ │ │ ├── flags: variable_call
+ │ │ │ ├── receiver: ∅
+ │ │ │ ├── call_operator_loc: ∅
+ │ │ │ ├── name: :b
+ │ │ │ ├── message_loc: (2,0)-(2,1) = "b"
+ │ │ │ ├── opening_loc: ∅
+ │ │ │ ├── arguments: ∅
+ │ │ │ ├── closing_loc: ∅
+ │ │ │ └── block: ∅
+ │ │ ├── call_operator_loc: (2,1)-(2,2) = "."
+ │ │ ├── name: :c
+ │ │ ├── message_loc: (2,2)-(2,3) = "c"
+ │ │ ├── opening_loc: ∅
+ │ │ ├── arguments: ∅
+ │ │ ├── closing_loc: ∅
+ │ │ └── block:
+ │ │ @ BlockNode (location: (2,4)-(2,10))
+ │ │ ├── locals: []
+ │ │ ├── locals_body_index: 0
+ │ │ ├── parameters: ∅
+ │ │ ├── body: ∅
+ │ │ ├── opening_loc: (2,4)-(2,6) = "do"
+ │ │ └── closing_loc: (2,7)-(2,10) = "end"
+ │ ├── rescue_clause: ∅
+ │ ├── else_clause: ∅
+ │ ├── ensure_clause: ∅
+ │ └── end_keyword_loc: (3,0)-(3,3) = "end"
├── closing_loc: ∅
- ├── block: ∅
- └── flags: ∅
+ └── block: ∅
diff --git a/test/prism/snapshots/seattlerb/call_block_arg_named.txt b/test/prism/snapshots/seattlerb/call_block_arg_named.txt
index 9e5bacfe29..24e9dd6cc9 100644
--- a/test/prism/snapshots/seattlerb/call_block_arg_named.txt
+++ b/test/prism/snapshots/seattlerb/call_block_arg_named.txt
@@ -4,6 +4,7 @@
@ StatementsNode (location: (1,0)-(1,6))
└── body: (length: 1)
└── @ CallNode (location: (1,0)-(1,6))
+ ├── flags: ∅
├── receiver: ∅
├── call_operator_loc: ∅
├── name: :x
@@ -11,18 +12,17 @@
├── opening_loc: (1,1)-(1,2) = "("
├── arguments: ∅
├── closing_loc: (1,6)-(1,7) = ")"
- ├── block:
- │ @ BlockArgumentNode (location: (1,2)-(1,6))
- │ ├── expression:
- │ │ @ CallNode (location: (1,3)-(1,6))
- │ │ ├── receiver: ∅
- │ │ ├── call_operator_loc: ∅
- │ │ ├── name: :blk
- │ │ ├── message_loc: (1,3)-(1,6) = "blk"
- │ │ ├── opening_loc: ∅
- │ │ ├── arguments: ∅
- │ │ ├── closing_loc: ∅
- │ │ ├── block: ∅
- │ │ └── flags: variable_call
- │ └── operator_loc: (1,2)-(1,3) = "&"
- └── flags: ∅
+ └── block:
+ @ BlockArgumentNode (location: (1,2)-(1,6))
+ ├── expression:
+ │ @ CallNode (location: (1,3)-(1,6))
+ │ ├── flags: variable_call
+ │ ├── receiver: ∅
+ │ ├── call_operator_loc: ∅
+ │ ├── name: :blk
+ │ ├── message_loc: (1,3)-(1,6) = "blk"
+ │ ├── opening_loc: ∅
+ │ ├── arguments: ∅
+ │ ├── closing_loc: ∅
+ │ └── block: ∅
+ └── operator_loc: (1,2)-(1,3) = "&"
diff --git a/test/prism/snapshots/seattlerb/call_carat.txt b/test/prism/snapshots/seattlerb/call_carat.txt
index d62eb417c7..7c0fdbc7bc 100644
--- a/test/prism/snapshots/seattlerb/call_carat.txt
+++ b/test/prism/snapshots/seattlerb/call_carat.txt
@@ -4,6 +4,7 @@
@ StatementsNode (location: (1,0)-(1,5))
└── body: (length: 1)
└── @ CallNode (location: (1,0)-(1,5))
+ ├── flags: ∅
├── receiver:
│ @ IntegerNode (location: (1,0)-(1,1))
│ └── flags: decimal
@@ -13,10 +14,9 @@
├── opening_loc: ∅
├── arguments:
│ @ ArgumentsNode (location: (1,4)-(1,5))
- │ ├── arguments: (length: 1)
- │ │ └── @ IntegerNode (location: (1,4)-(1,5))
- │ │ └── flags: decimal
- │ └── flags: ∅
+ │ ├── flags: ∅
+ │ └── arguments: (length: 1)
+ │ └── @ IntegerNode (location: (1,4)-(1,5))
+ │ └── flags: decimal
├── closing_loc: ∅
- ├── block: ∅
- └── flags: ∅
+ └── block: ∅
diff --git a/test/prism/snapshots/seattlerb/call_colon2.txt b/test/prism/snapshots/seattlerb/call_colon2.txt
index 9581348c6f..98bfc63126 100644
--- a/test/prism/snapshots/seattlerb/call_colon2.txt
+++ b/test/prism/snapshots/seattlerb/call_colon2.txt
@@ -4,6 +4,7 @@
@ StatementsNode (location: (1,0)-(1,4))
└── body: (length: 1)
└── @ CallNode (location: (1,0)-(1,4))
+ ├── flags: ∅
├── receiver:
│ @ ConstantReadNode (location: (1,0)-(1,1))
│ └── name: :A
@@ -13,5 +14,4 @@
├── opening_loc: ∅
├── arguments: ∅
├── closing_loc: ∅
- ├── block: ∅
- └── flags: ∅
+ └── block: ∅
diff --git a/test/prism/snapshots/seattlerb/call_colon_parens.txt b/test/prism/snapshots/seattlerb/call_colon_parens.txt
index dcdbfb4ede..5522d7b39d 100644
--- a/test/prism/snapshots/seattlerb/call_colon_parens.txt
+++ b/test/prism/snapshots/seattlerb/call_colon_parens.txt
@@ -4,6 +4,7 @@
@ StatementsNode (location: (1,0)-(1,5))
└── body: (length: 1)
└── @ CallNode (location: (1,0)-(1,5))
+ ├── flags: ∅
├── receiver:
│ @ IntegerNode (location: (1,0)-(1,1))
│ └── flags: decimal
@@ -13,5 +14,4 @@
├── opening_loc: (1,3)-(1,4) = "("
├── arguments: ∅
├── closing_loc: (1,4)-(1,5) = ")"
- ├── block: ∅
- └── flags: ∅
+ └── block: ∅
diff --git a/test/prism/snapshots/seattlerb/call_div.txt b/test/prism/snapshots/seattlerb/call_div.txt
index 7b6fdcabef..bc4e4c94cf 100644
--- a/test/prism/snapshots/seattlerb/call_div.txt
+++ b/test/prism/snapshots/seattlerb/call_div.txt
@@ -4,6 +4,7 @@
@ StatementsNode (location: (1,0)-(1,5))
└── body: (length: 1)
└── @ CallNode (location: (1,0)-(1,5))
+ ├── flags: ∅
├── receiver:
│ @ IntegerNode (location: (1,0)-(1,1))
│ └── flags: decimal
@@ -13,10 +14,9 @@
├── opening_loc: ∅
├── arguments:
│ @ ArgumentsNode (location: (1,4)-(1,5))
- │ ├── arguments: (length: 1)
- │ │ └── @ IntegerNode (location: (1,4)-(1,5))
- │ │ └── flags: decimal
- │ └── flags: ∅
+ │ ├── flags: ∅
+ │ └── arguments: (length: 1)
+ │ └── @ IntegerNode (location: (1,4)-(1,5))
+ │ └── flags: decimal
├── closing_loc: ∅
- ├── block: ∅
- └── flags: ∅
+ └── block: ∅
diff --git a/test/prism/snapshots/seattlerb/call_dot_parens.txt b/test/prism/snapshots/seattlerb/call_dot_parens.txt
index 774c719d93..8c0989c7bc 100644
--- a/test/prism/snapshots/seattlerb/call_dot_parens.txt
+++ b/test/prism/snapshots/seattlerb/call_dot_parens.txt
@@ -4,6 +4,7 @@
@ StatementsNode (location: (1,0)-(1,4))
└── body: (length: 1)
└── @ CallNode (location: (1,0)-(1,4))
+ ├── flags: ∅
├── receiver:
│ @ IntegerNode (location: (1,0)-(1,1))
│ └── flags: decimal
@@ -13,5 +14,4 @@
├── opening_loc: (1,2)-(1,3) = "("
├── arguments: ∅
├── closing_loc: (1,3)-(1,4) = ")"
- ├── block: ∅
- └── flags: ∅
+ └── block: ∅
diff --git a/test/prism/snapshots/seattlerb/call_env.txt b/test/prism/snapshots/seattlerb/call_env.txt
index c2863bb069..7b502cf511 100644
--- a/test/prism/snapshots/seattlerb/call_env.txt
+++ b/test/prism/snapshots/seattlerb/call_env.txt
@@ -4,8 +4,10 @@
@ StatementsNode (location: (1,0)-(1,7))
└── body: (length: 1)
└── @ CallNode (location: (1,0)-(1,7))
+ ├── flags: ∅
├── receiver:
│ @ CallNode (location: (1,0)-(1,1))
+ │ ├── flags: variable_call
│ ├── receiver: ∅
│ ├── call_operator_loc: ∅
│ ├── name: :a
@@ -13,13 +15,11 @@
│ ├── opening_loc: ∅
│ ├── arguments: ∅
│ ├── closing_loc: ∅
- │ ├── block: ∅
- │ └── flags: variable_call
+ │ └── block: ∅
├── call_operator_loc: (1,1)-(1,2) = "."
├── name: :happy
├── message_loc: (1,2)-(1,7) = "happy"
├── opening_loc: ∅
├── arguments: ∅
├── closing_loc: ∅
- ├── block: ∅
- └── flags: ∅
+ └── block: ∅
diff --git a/test/prism/snapshots/seattlerb/call_eq3.txt b/test/prism/snapshots/seattlerb/call_eq3.txt
index 5d53180b41..4a31d62679 100644
--- a/test/prism/snapshots/seattlerb/call_eq3.txt
+++ b/test/prism/snapshots/seattlerb/call_eq3.txt
@@ -4,6 +4,7 @@
@ StatementsNode (location: (1,0)-(1,7))
└── body: (length: 1)
└── @ CallNode (location: (1,0)-(1,7))
+ ├── flags: ∅
├── receiver:
│ @ IntegerNode (location: (1,0)-(1,1))
│ └── flags: decimal
@@ -13,10 +14,9 @@
├── opening_loc: ∅
├── arguments:
│ @ ArgumentsNode (location: (1,6)-(1,7))
- │ ├── arguments: (length: 1)
- │ │ └── @ IntegerNode (location: (1,6)-(1,7))
- │ │ └── flags: decimal
- │ └── flags: ∅
+ │ ├── flags: ∅
+ │ └── arguments: (length: 1)
+ │ └── @ IntegerNode (location: (1,6)-(1,7))
+ │ └── flags: decimal
├── closing_loc: ∅
- ├── block: ∅
- └── flags: ∅
+ └── block: ∅
diff --git a/test/prism/snapshots/seattlerb/call_gt.txt b/test/prism/snapshots/seattlerb/call_gt.txt
index 33bc1de6cf..5d766435da 100644
--- a/test/prism/snapshots/seattlerb/call_gt.txt
+++ b/test/prism/snapshots/seattlerb/call_gt.txt
@@ -4,6 +4,7 @@
@ StatementsNode (location: (1,0)-(1,5))
└── body: (length: 1)
└── @ CallNode (location: (1,0)-(1,5))
+ ├── flags: ∅
├── receiver:
│ @ IntegerNode (location: (1,0)-(1,1))
│ └── flags: decimal
@@ -13,10 +14,9 @@
├── opening_loc: ∅
├── arguments:
│ @ ArgumentsNode (location: (1,4)-(1,5))
- │ ├── arguments: (length: 1)
- │ │ └── @ IntegerNode (location: (1,4)-(1,5))
- │ │ └── flags: decimal
- │ └── flags: ∅
+ │ ├── flags: ∅
+ │ └── arguments: (length: 1)
+ │ └── @ IntegerNode (location: (1,4)-(1,5))
+ │ └── flags: decimal
├── closing_loc: ∅
- ├── block: ∅
- └── flags: ∅
+ └── block: ∅
diff --git a/test/prism/snapshots/seattlerb/call_kwsplat.txt b/test/prism/snapshots/seattlerb/call_kwsplat.txt
index 7e341fcbec..f2effca19e 100644
--- a/test/prism/snapshots/seattlerb/call_kwsplat.txt
+++ b/test/prism/snapshots/seattlerb/call_kwsplat.txt
@@ -4,6 +4,7 @@
@ StatementsNode (location: (1,0)-(1,6))
└── body: (length: 1)
└── @ CallNode (location: (1,0)-(1,6))
+ ├── flags: ∅
├── receiver: ∅
├── call_operator_loc: ∅
├── name: :a
@@ -11,15 +12,14 @@
├── opening_loc: (1,1)-(1,2) = "("
├── arguments:
│ @ ArgumentsNode (location: (1,2)-(1,5))
- │ ├── arguments: (length: 1)
- │ │ └── @ KeywordHashNode (location: (1,2)-(1,5))
- │ │ └── elements: (length: 1)
- │ │ └── @ AssocSplatNode (location: (1,2)-(1,5))
- │ │ ├── value:
- │ │ │ @ IntegerNode (location: (1,4)-(1,5))
- │ │ │ └── flags: decimal
- │ │ └── operator_loc: (1,2)-(1,4) = "**"
- │ └── flags: contains_keyword_splat
+ │ ├── flags: contains_keyword_splat
+ │ └── arguments: (length: 1)
+ │ └── @ KeywordHashNode (location: (1,2)-(1,5))
+ │ └── elements: (length: 1)
+ │ └── @ AssocSplatNode (location: (1,2)-(1,5))
+ │ ├── value:
+ │ │ @ IntegerNode (location: (1,4)-(1,5))
+ │ │ └── flags: decimal
+ │ └── operator_loc: (1,2)-(1,4) = "**"
├── closing_loc: (1,5)-(1,6) = ")"
- ├── block: ∅
- └── flags: ∅
+ └── block: ∅
diff --git a/test/prism/snapshots/seattlerb/call_leading_dots.txt b/test/prism/snapshots/seattlerb/call_leading_dots.txt
index c706cf6a5b..943dd871d3 100644
--- a/test/prism/snapshots/seattlerb/call_leading_dots.txt
+++ b/test/prism/snapshots/seattlerb/call_leading_dots.txt
@@ -4,10 +4,13 @@
@ StatementsNode (location: (1,0)-(3,2))
└── body: (length: 1)
└── @ CallNode (location: (1,0)-(3,2))
+ ├── flags: ∅
├── receiver:
│ @ CallNode (location: (1,0)-(2,2))
+ │ ├── flags: ∅
│ ├── receiver:
│ │ @ CallNode (location: (1,0)-(1,1))
+ │ │ ├── flags: variable_call
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
│ │ ├── name: :a
@@ -15,21 +18,18 @@
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
- │ │ ├── block: ∅
- │ │ └── flags: variable_call
+ │ │ └── block: ∅
│ ├── call_operator_loc: (2,0)-(2,1) = "."
│ ├── name: :b
│ ├── message_loc: (2,1)-(2,2) = "b"
│ ├── opening_loc: ∅
│ ├── arguments: ∅
│ ├── closing_loc: ∅
- │ ├── block: ∅
- │ └── flags: ∅
+ │ └── block: ∅
├── call_operator_loc: (3,0)-(3,1) = "."
├── name: :c
├── message_loc: (3,1)-(3,2) = "c"
├── opening_loc: ∅
├── arguments: ∅
├── closing_loc: ∅
- ├── block: ∅
- └── flags: ∅
+ └── block: ∅
diff --git a/test/prism/snapshots/seattlerb/call_leading_dots_comment.txt b/test/prism/snapshots/seattlerb/call_leading_dots_comment.txt
index ee1abe6fc5..bebe26f994 100644
--- a/test/prism/snapshots/seattlerb/call_leading_dots_comment.txt
+++ b/test/prism/snapshots/seattlerb/call_leading_dots_comment.txt
@@ -4,10 +4,13 @@
@ StatementsNode (location: (1,0)-(4,2))
└── body: (length: 1)
└── @ CallNode (location: (1,0)-(4,2))
+ ├── flags: ∅
├── receiver:
│ @ CallNode (location: (1,0)-(2,2))
+ │ ├── flags: ∅
│ ├── receiver:
│ │ @ CallNode (location: (1,0)-(1,1))
+ │ │ ├── flags: variable_call
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
│ │ ├── name: :a
@@ -15,21 +18,18 @@
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
- │ │ ├── block: ∅
- │ │ └── flags: variable_call
+ │ │ └── block: ∅
│ ├── call_operator_loc: (2,0)-(2,1) = "."
│ ├── name: :b
│ ├── message_loc: (2,1)-(2,2) = "b"
│ ├── opening_loc: ∅
│ ├── arguments: ∅
│ ├── closing_loc: ∅
- │ ├── block: ∅
- │ └── flags: ∅
+ │ └── block: ∅
├── call_operator_loc: (4,0)-(4,1) = "."
├── name: :d
├── message_loc: (4,1)-(4,2) = "d"
├── opening_loc: ∅
├── arguments: ∅
├── closing_loc: ∅
- ├── block: ∅
- └── flags: ∅
+ └── block: ∅
diff --git a/test/prism/snapshots/seattlerb/call_lt.txt b/test/prism/snapshots/seattlerb/call_lt.txt
index 64c3967dcb..11308d4664 100644
--- a/test/prism/snapshots/seattlerb/call_lt.txt
+++ b/test/prism/snapshots/seattlerb/call_lt.txt
@@ -4,6 +4,7 @@
@ StatementsNode (location: (1,0)-(1,5))
└── body: (length: 1)
└── @ CallNode (location: (1,0)-(1,5))
+ ├── flags: ∅
├── receiver:
│ @ IntegerNode (location: (1,0)-(1,1))
│ └── flags: decimal
@@ -13,10 +14,9 @@
├── opening_loc: ∅
├── arguments:
│ @ ArgumentsNode (location: (1,4)-(1,5))
- │ ├── arguments: (length: 1)
- │ │ └── @ IntegerNode (location: (1,4)-(1,5))
- │ │ └── flags: decimal
- │ └── flags: ∅
+ │ ├── flags: ∅
+ │ └── arguments: (length: 1)
+ │ └── @ IntegerNode (location: (1,4)-(1,5))
+ │ └── flags: decimal
├── closing_loc: ∅
- ├── block: ∅
- └── flags: ∅
+ └── block: ∅
diff --git a/test/prism/snapshots/seattlerb/call_lte.txt b/test/prism/snapshots/seattlerb/call_lte.txt
index 7f7dfb3bbf..3bf6cfd433 100644
--- a/test/prism/snapshots/seattlerb/call_lte.txt
+++ b/test/prism/snapshots/seattlerb/call_lte.txt
@@ -4,6 +4,7 @@
@ StatementsNode (location: (1,0)-(1,6))
└── body: (length: 1)
└── @ CallNode (location: (1,0)-(1,6))
+ ├── flags: ∅
├── receiver:
│ @ IntegerNode (location: (1,0)-(1,1))
│ └── flags: decimal
@@ -13,10 +14,9 @@
├── opening_loc: ∅
├── arguments:
│ @ ArgumentsNode (location: (1,5)-(1,6))
- │ ├── arguments: (length: 1)
- │ │ └── @ IntegerNode (location: (1,5)-(1,6))
- │ │ └── flags: decimal
- │ └── flags: ∅
+ │ ├── flags: ∅
+ │ └── arguments: (length: 1)
+ │ └── @ IntegerNode (location: (1,5)-(1,6))
+ │ └── flags: decimal
├── closing_loc: ∅
- ├── block: ∅
- └── flags: ∅
+ └── block: ∅
diff --git a/test/prism/snapshots/seattlerb/call_not.txt b/test/prism/snapshots/seattlerb/call_not.txt
index 157f8df593..a370633ed3 100644
--- a/test/prism/snapshots/seattlerb/call_not.txt
+++ b/test/prism/snapshots/seattlerb/call_not.txt
@@ -4,6 +4,7 @@
@ StatementsNode (location: (1,0)-(1,6))
└── body: (length: 1)
└── @ CallNode (location: (1,0)-(1,6))
+ ├── flags: ∅
├── receiver:
│ @ IntegerNode (location: (1,4)-(1,6))
│ └── flags: decimal
@@ -13,5 +14,4 @@
├── opening_loc: ∅
├── arguments: ∅
├── closing_loc: ∅
- ├── block: ∅
- └── flags: ∅
+ └── block: ∅
diff --git a/test/prism/snapshots/seattlerb/call_pipe.txt b/test/prism/snapshots/seattlerb/call_pipe.txt
index 562dd56398..2300d68c77 100644
--- a/test/prism/snapshots/seattlerb/call_pipe.txt
+++ b/test/prism/snapshots/seattlerb/call_pipe.txt
@@ -4,6 +4,7 @@
@ StatementsNode (location: (1,0)-(1,5))
└── body: (length: 1)
└── @ CallNode (location: (1,0)-(1,5))
+ ├── flags: ∅
├── receiver:
│ @ IntegerNode (location: (1,0)-(1,1))
│ └── flags: decimal
@@ -13,10 +14,9 @@
├── opening_loc: ∅
├── arguments:
│ @ ArgumentsNode (location: (1,4)-(1,5))
- │ ├── arguments: (length: 1)
- │ │ └── @ IntegerNode (location: (1,4)-(1,5))
- │ │ └── flags: decimal
- │ └── flags: ∅
+ │ ├── flags: ∅
+ │ └── arguments: (length: 1)
+ │ └── @ IntegerNode (location: (1,4)-(1,5))
+ │ └── flags: decimal
├── closing_loc: ∅
- ├── block: ∅
- └── flags: ∅
+ └── block: ∅
diff --git a/test/prism/snapshots/seattlerb/call_rshift.txt b/test/prism/snapshots/seattlerb/call_rshift.txt
index 8a9212b1f5..53fcc9cbbe 100644
--- a/test/prism/snapshots/seattlerb/call_rshift.txt
+++ b/test/prism/snapshots/seattlerb/call_rshift.txt
@@ -4,6 +4,7 @@
@ StatementsNode (location: (1,0)-(1,6))
└── body: (length: 1)
└── @ CallNode (location: (1,0)-(1,6))
+ ├── flags: ∅
├── receiver:
│ @ IntegerNode (location: (1,0)-(1,1))
│ └── flags: decimal
@@ -13,10 +14,9 @@
├── opening_loc: ∅
├── arguments:
│ @ ArgumentsNode (location: (1,5)-(1,6))
- │ ├── arguments: (length: 1)
- │ │ └── @ IntegerNode (location: (1,5)-(1,6))
- │ │ └── flags: decimal
- │ └── flags: ∅
+ │ ├── flags: ∅
+ │ └── arguments: (length: 1)
+ │ └── @ IntegerNode (location: (1,5)-(1,6))
+ │ └── flags: decimal
├── closing_loc: ∅
- ├── block: ∅
- └── flags: ∅
+ └── block: ∅
diff --git a/test/prism/snapshots/seattlerb/call_self_brackets.txt b/test/prism/snapshots/seattlerb/call_self_brackets.txt
index c3e431e654..f5652a807e 100644
--- a/test/prism/snapshots/seattlerb/call_self_brackets.txt
+++ b/test/prism/snapshots/seattlerb/call_self_brackets.txt
@@ -4,6 +4,7 @@
@ StatementsNode (location: (1,0)-(1,7))
└── body: (length: 1)
└── @ CallNode (location: (1,0)-(1,7))
+ ├── flags: ∅
├── receiver:
│ @ SelfNode (location: (1,0)-(1,4))
├── call_operator_loc: ∅
@@ -12,10 +13,9 @@
├── opening_loc: (1,4)-(1,5) = "["
├── arguments:
│ @ ArgumentsNode (location: (1,5)-(1,6))
- │ ├── arguments: (length: 1)
- │ │ └── @ IntegerNode (location: (1,5)-(1,6))
- │ │ └── flags: decimal
- │ └── flags: ∅
+ │ ├── flags: ∅
+ │ └── arguments: (length: 1)
+ │ └── @ IntegerNode (location: (1,5)-(1,6))
+ │ └── flags: decimal
├── closing_loc: (1,6)-(1,7) = "]"
- ├── block: ∅
- └── flags: ∅
+ └── block: ∅
diff --git a/test/prism/snapshots/seattlerb/call_spaceship.txt b/test/prism/snapshots/seattlerb/call_spaceship.txt
index a35437d361..450a45b749 100644
--- a/test/prism/snapshots/seattlerb/call_spaceship.txt
+++ b/test/prism/snapshots/seattlerb/call_spaceship.txt
@@ -4,6 +4,7 @@
@ StatementsNode (location: (1,0)-(1,7))
└── body: (length: 1)
└── @ CallNode (location: (1,0)-(1,7))
+ ├── flags: ∅
├── receiver:
│ @ IntegerNode (location: (1,0)-(1,1))
│ └── flags: decimal
@@ -13,10 +14,9 @@
├── opening_loc: ∅
├── arguments:
│ @ ArgumentsNode (location: (1,6)-(1,7))
- │ ├── arguments: (length: 1)
- │ │ └── @ IntegerNode (location: (1,6)-(1,7))
- │ │ └── flags: decimal
- │ └── flags: ∅
+ │ ├── flags: ∅
+ │ └── arguments: (length: 1)
+ │ └── @ IntegerNode (location: (1,6)-(1,7))
+ │ └── flags: decimal
├── closing_loc: ∅
- ├── block: ∅
- └── flags: ∅
+ └── block: ∅
diff --git a/test/prism/snapshots/seattlerb/call_stabby_do_end_with_block.txt b/test/prism/snapshots/seattlerb/call_stabby_do_end_with_block.txt
index 9c088aef64..4f3ba3bac8 100644
--- a/test/prism/snapshots/seattlerb/call_stabby_do_end_with_block.txt
+++ b/test/prism/snapshots/seattlerb/call_stabby_do_end_with_block.txt
@@ -4,6 +4,7 @@
@ StatementsNode (location: (1,0)-(1,22))
└── body: (length: 1)
└── @ CallNode (location: (1,0)-(1,22))
+ ├── flags: ∅
├── receiver: ∅
├── call_operator_loc: ∅
├── name: :a
@@ -11,31 +12,30 @@
├── opening_loc: ∅
├── arguments:
│ @ ArgumentsNode (location: (1,2)-(1,13))
- │ ├── arguments: (length: 1)
- │ │ └── @ LambdaNode (location: (1,2)-(1,13))
- │ │ ├── locals: []
- │ │ ├── locals_body_index: 0
- │ │ ├── operator_loc: (1,2)-(1,4) = "->"
- │ │ ├── opening_loc: (1,5)-(1,7) = "do"
- │ │ ├── closing_loc: (1,10)-(1,13) = "end"
- │ │ ├── parameters: ∅
- │ │ └── body:
- │ │ @ StatementsNode (location: (1,8)-(1,9))
- │ │ └── body: (length: 1)
- │ │ └── @ IntegerNode (location: (1,8)-(1,9))
- │ │ └── flags: decimal
- │ └── flags: ∅
+ │ ├── flags: ∅
+ │ └── arguments: (length: 1)
+ │ └── @ LambdaNode (location: (1,2)-(1,13))
+ │ ├── locals: []
+ │ ├── locals_body_index: 0
+ │ ├── operator_loc: (1,2)-(1,4) = "->"
+ │ ├── opening_loc: (1,5)-(1,7) = "do"
+ │ ├── closing_loc: (1,10)-(1,13) = "end"
+ │ ├── parameters: ∅
+ │ └── body:
+ │ @ StatementsNode (location: (1,8)-(1,9))
+ │ └── body: (length: 1)
+ │ └── @ IntegerNode (location: (1,8)-(1,9))
+ │ └── flags: decimal
├── closing_loc: ∅
- ├── block:
- │ @ BlockNode (location: (1,14)-(1,22))
- │ ├── locals: []
- │ ├── locals_body_index: 0
- │ ├── parameters: ∅
- │ ├── body:
- │ │ @ StatementsNode (location: (1,17)-(1,18))
- │ │ └── body: (length: 1)
- │ │ └── @ IntegerNode (location: (1,17)-(1,18))
- │ │ └── flags: decimal
- │ ├── opening_loc: (1,14)-(1,16) = "do"
- │ └── closing_loc: (1,19)-(1,22) = "end"
- └── flags: ∅
+ └── block:
+ @ BlockNode (location: (1,14)-(1,22))
+ ├── locals: []
+ ├── locals_body_index: 0
+ ├── parameters: ∅
+ ├── body:
+ │ @ StatementsNode (location: (1,17)-(1,18))
+ │ └── body: (length: 1)
+ │ └── @ IntegerNode (location: (1,17)-(1,18))
+ │ └── flags: decimal
+ ├── opening_loc: (1,14)-(1,16) = "do"
+ └── closing_loc: (1,19)-(1,22) = "end"
diff --git a/test/prism/snapshots/seattlerb/call_stabby_with_braces_block.txt b/test/prism/snapshots/seattlerb/call_stabby_with_braces_block.txt
index 8494370d36..34c65e80f1 100644
--- a/test/prism/snapshots/seattlerb/call_stabby_with_braces_block.txt
+++ b/test/prism/snapshots/seattlerb/call_stabby_with_braces_block.txt
@@ -4,6 +4,7 @@
@ StatementsNode (location: (1,0)-(1,19))
└── body: (length: 1)
└── @ CallNode (location: (1,0)-(1,19))
+ ├── flags: ∅
├── receiver: ∅
├── call_operator_loc: ∅
├── name: :a
@@ -11,31 +12,30 @@
├── opening_loc: ∅
├── arguments:
│ @ ArgumentsNode (location: (1,2)-(1,10))
- │ ├── arguments: (length: 1)
- │ │ └── @ LambdaNode (location: (1,2)-(1,10))
- │ │ ├── locals: []
- │ │ ├── locals_body_index: 0
- │ │ ├── operator_loc: (1,2)-(1,4) = "->"
- │ │ ├── opening_loc: (1,5)-(1,6) = "{"
- │ │ ├── closing_loc: (1,9)-(1,10) = "}"
- │ │ ├── parameters: ∅
- │ │ └── body:
- │ │ @ StatementsNode (location: (1,7)-(1,8))
- │ │ └── body: (length: 1)
- │ │ └── @ IntegerNode (location: (1,7)-(1,8))
- │ │ └── flags: decimal
- │ └── flags: ∅
+ │ ├── flags: ∅
+ │ └── arguments: (length: 1)
+ │ └── @ LambdaNode (location: (1,2)-(1,10))
+ │ ├── locals: []
+ │ ├── locals_body_index: 0
+ │ ├── operator_loc: (1,2)-(1,4) = "->"
+ │ ├── opening_loc: (1,5)-(1,6) = "{"
+ │ ├── closing_loc: (1,9)-(1,10) = "}"
+ │ ├── parameters: ∅
+ │ └── body:
+ │ @ StatementsNode (location: (1,7)-(1,8))
+ │ └── body: (length: 1)
+ │ └── @ IntegerNode (location: (1,7)-(1,8))
+ │ └── flags: decimal
├── closing_loc: ∅
- ├── block:
- │ @ BlockNode (location: (1,11)-(1,19))
- │ ├── locals: []
- │ ├── locals_body_index: 0
- │ ├── parameters: ∅
- │ ├── body:
- │ │ @ StatementsNode (location: (1,14)-(1,15))
- │ │ └── body: (length: 1)
- │ │ └── @ IntegerNode (location: (1,14)-(1,15))
- │ │ └── flags: decimal
- │ ├── opening_loc: (1,11)-(1,13) = "do"
- │ └── closing_loc: (1,16)-(1,19) = "end"
- └── flags: ∅
+ └── block:
+ @ BlockNode (location: (1,11)-(1,19))
+ ├── locals: []
+ ├── locals_body_index: 0
+ ├── parameters: ∅
+ ├── body:
+ │ @ StatementsNode (location: (1,14)-(1,15))
+ │ └── body: (length: 1)
+ │ └── @ IntegerNode (location: (1,14)-(1,15))
+ │ └── flags: decimal
+ ├── opening_loc: (1,11)-(1,13) = "do"
+ └── closing_loc: (1,16)-(1,19) = "end"
diff --git a/test/prism/snapshots/seattlerb/call_star.txt b/test/prism/snapshots/seattlerb/call_star.txt
index 5246bf4856..ba3099a0c6 100644
--- a/test/prism/snapshots/seattlerb/call_star.txt
+++ b/test/prism/snapshots/seattlerb/call_star.txt
@@ -4,6 +4,7 @@
@ StatementsNode (location: (1,0)-(1,5))
└── body: (length: 1)
└── @ CallNode (location: (1,0)-(1,5))
+ ├── flags: ∅
├── receiver:
│ @ IntegerNode (location: (1,0)-(1,1))
│ └── flags: decimal
@@ -13,10 +14,9 @@
├── opening_loc: ∅
├── arguments:
│ @ ArgumentsNode (location: (1,4)-(1,5))
- │ ├── arguments: (length: 1)
- │ │ └── @ IntegerNode (location: (1,4)-(1,5))
- │ │ └── flags: decimal
- │ └── flags: ∅
+ │ ├── flags: ∅
+ │ └── arguments: (length: 1)
+ │ └── @ IntegerNode (location: (1,4)-(1,5))
+ │ └── flags: decimal
├── closing_loc: ∅
- ├── block: ∅
- └── flags: ∅
+ └── block: ∅
diff --git a/test/prism/snapshots/seattlerb/call_star2.txt b/test/prism/snapshots/seattlerb/call_star2.txt
index 792c494f57..d6f112fc2c 100644
--- a/test/prism/snapshots/seattlerb/call_star2.txt
+++ b/test/prism/snapshots/seattlerb/call_star2.txt
@@ -4,6 +4,7 @@
@ StatementsNode (location: (1,0)-(1,6))
└── body: (length: 1)
└── @ CallNode (location: (1,0)-(1,6))
+ ├── flags: ∅
├── receiver:
│ @ IntegerNode (location: (1,0)-(1,1))
│ └── flags: decimal
@@ -13,10 +14,9 @@
├── opening_loc: ∅
├── arguments:
│ @ ArgumentsNode (location: (1,5)-(1,6))
- │ ├── arguments: (length: 1)
- │ │ └── @ IntegerNode (location: (1,5)-(1,6))
- │ │ └── flags: decimal
- │ └── flags: ∅
+ │ ├── flags: ∅
+ │ └── arguments: (length: 1)
+ │ └── @ IntegerNode (location: (1,5)-(1,6))
+ │ └── flags: decimal
├── closing_loc: ∅
- ├── block: ∅
- └── flags: ∅
+ └── block: ∅
diff --git a/test/prism/snapshots/seattlerb/call_trailing_comma.txt b/test/prism/snapshots/seattlerb/call_trailing_comma.txt
index 6542595104..0e0dd27e38 100644
--- a/test/prism/snapshots/seattlerb/call_trailing_comma.txt
+++ b/test/prism/snapshots/seattlerb/call_trailing_comma.txt
@@ -4,6 +4,7 @@
@ StatementsNode (location: (1,0)-(1,5))
└── body: (length: 1)
└── @ CallNode (location: (1,0)-(1,5))
+ ├── flags: ∅
├── receiver: ∅
├── call_operator_loc: ∅
├── name: :f
@@ -11,10 +12,9 @@
├── opening_loc: (1,1)-(1,2) = "("
├── arguments:
│ @ ArgumentsNode (location: (1,2)-(1,3))
- │ ├── arguments: (length: 1)
- │ │ └── @ IntegerNode (location: (1,2)-(1,3))
- │ │ └── flags: decimal
- │ └── flags: ∅
+ │ ├── flags: ∅
+ │ └── arguments: (length: 1)
+ │ └── @ IntegerNode (location: (1,2)-(1,3))
+ │ └── flags: decimal
├── closing_loc: (1,4)-(1,5) = ")"
- ├── block: ∅
- └── flags: ∅
+ └── block: ∅
diff --git a/test/prism/snapshots/seattlerb/call_trailing_dots.txt b/test/prism/snapshots/seattlerb/call_trailing_dots.txt
index a337486e89..f0f374f3d4 100644
--- a/test/prism/snapshots/seattlerb/call_trailing_dots.txt
+++ b/test/prism/snapshots/seattlerb/call_trailing_dots.txt
@@ -4,10 +4,13 @@
@ StatementsNode (location: (1,0)-(3,1))
└── body: (length: 1)
└── @ CallNode (location: (1,0)-(3,1))
+ ├── flags: ∅
├── receiver:
│ @ CallNode (location: (1,0)-(2,1))
+ │ ├── flags: ∅
│ ├── receiver:
│ │ @ CallNode (location: (1,0)-(1,1))
+ │ │ ├── flags: variable_call
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
│ │ ├── name: :a
@@ -15,21 +18,18 @@
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
- │ │ ├── block: ∅
- │ │ └── flags: variable_call
+ │ │ └── block: ∅
│ ├── call_operator_loc: (1,1)-(1,2) = "."
│ ├── name: :b
│ ├── message_loc: (2,0)-(2,1) = "b"
│ ├── opening_loc: ∅
│ ├── arguments: ∅
│ ├── closing_loc: ∅
- │ ├── block: ∅
- │ └── flags: ∅
+ │ └── block: ∅
├── call_operator_loc: (2,1)-(2,2) = "."
├── name: :c
├── message_loc: (3,0)-(3,1) = "c"
├── opening_loc: ∅
├── arguments: ∅
├── closing_loc: ∅
- ├── block: ∅
- └── flags: ∅
+ └── block: ∅
diff --git a/test/prism/snapshots/seattlerb/call_unary_bang.txt b/test/prism/snapshots/seattlerb/call_unary_bang.txt
index 378a11b738..03b295254a 100644
--- a/test/prism/snapshots/seattlerb/call_unary_bang.txt
+++ b/test/prism/snapshots/seattlerb/call_unary_bang.txt
@@ -4,6 +4,7 @@
@ StatementsNode (location: (1,0)-(1,2))
└── body: (length: 1)
└── @ CallNode (location: (1,0)-(1,2))
+ ├── flags: ∅
├── receiver:
│ @ IntegerNode (location: (1,1)-(1,2))
│ └── flags: decimal
@@ -13,5 +14,4 @@
├── opening_loc: ∅
├── arguments: ∅
├── closing_loc: ∅
- ├── block: ∅
- └── flags: ∅
+ └── block: ∅
diff --git a/test/prism/snapshots/seattlerb/case_in.txt b/test/prism/snapshots/seattlerb/case_in.txt
index e66b4597b2..0795f20792 100644
--- a/test/prism/snapshots/seattlerb/case_in.txt
+++ b/test/prism/snapshots/seattlerb/case_in.txt
@@ -45,6 +45,7 @@
│ │ └── @ InNode (location: (6,0)-(6,10))
│ │ ├── pattern:
│ │ │ @ ArrayNode (location: (6,3)-(6,10))
+ │ │ │ ├── flags: ∅
│ │ │ ├── elements: (length: 2)
│ │ │ │ ├── @ SymbolNode (location: (6,6)-(6,7))
│ │ │ │ │ ├── opening_loc: ∅
@@ -57,8 +58,7 @@
│ │ │ │ ├── closing_loc: ∅
│ │ │ │ └── unescaped: "b"
│ │ │ ├── opening_loc: (6,3)-(6,6) = "%I["
- │ │ │ ├── closing_loc: (6,9)-(6,10) = "]"
- │ │ │ └── flags: ∅
+ │ │ │ └── closing_loc: (6,9)-(6,10) = "]"
│ │ ├── statements: ∅
│ │ ├── in_loc: (6,0)-(6,2) = "in"
│ │ └── then_loc: ∅
@@ -76,6 +76,7 @@
│ │ └── @ InNode (location: (10,0)-(10,10))
│ │ ├── pattern:
│ │ │ @ ArrayNode (location: (10,3)-(10,10))
+ │ │ │ ├── flags: ∅
│ │ │ ├── elements: (length: 2)
│ │ │ │ ├── @ StringNode (location: (10,6)-(10,7))
│ │ │ │ │ ├── flags: ∅
@@ -90,8 +91,7 @@
│ │ │ │ ├── closing_loc: ∅
│ │ │ │ └── unescaped: "b"
│ │ │ ├── opening_loc: (10,3)-(10,6) = "%W["
- │ │ │ ├── closing_loc: (10,9)-(10,10) = "]"
- │ │ │ └── flags: ∅
+ │ │ │ └── closing_loc: (10,9)-(10,10) = "]"
│ │ ├── statements: ∅
│ │ ├── in_loc: (10,0)-(10,2) = "in"
│ │ └── then_loc: ∅
@@ -109,6 +109,7 @@
│ │ └── @ InNode (location: (14,0)-(14,10))
│ │ ├── pattern:
│ │ │ @ ArrayNode (location: (14,3)-(14,10))
+ │ │ │ ├── flags: ∅
│ │ │ ├── elements: (length: 2)
│ │ │ │ ├── @ SymbolNode (location: (14,6)-(14,7))
│ │ │ │ │ ├── opening_loc: ∅
@@ -121,8 +122,7 @@
│ │ │ │ ├── closing_loc: ∅
│ │ │ │ └── unescaped: "b"
│ │ │ ├── opening_loc: (14,3)-(14,6) = "%i["
- │ │ │ ├── closing_loc: (14,9)-(14,10) = "]"
- │ │ │ └── flags: ∅
+ │ │ │ └── closing_loc: (14,9)-(14,10) = "]"
│ │ ├── statements: ∅
│ │ ├── in_loc: (14,0)-(14,2) = "in"
│ │ └── then_loc: ∅
@@ -140,6 +140,7 @@
│ │ └── @ InNode (location: (18,0)-(18,10))
│ │ ├── pattern:
│ │ │ @ ArrayNode (location: (18,3)-(18,10))
+ │ │ │ ├── flags: ∅
│ │ │ ├── elements: (length: 2)
│ │ │ │ ├── @ StringNode (location: (18,6)-(18,7))
│ │ │ │ │ ├── flags: ∅
@@ -154,8 +155,7 @@
│ │ │ │ ├── closing_loc: ∅
│ │ │ │ └── unescaped: "b"
│ │ │ ├── opening_loc: (18,3)-(18,6) = "%w["
- │ │ │ ├── closing_loc: (18,9)-(18,10) = "]"
- │ │ │ └── flags: ∅
+ │ │ │ └── closing_loc: (18,9)-(18,10) = "]"
│ │ ├── statements: ∅
│ │ ├── in_loc: (18,0)-(18,2) = "in"
│ │ └── then_loc: ∅
@@ -173,12 +173,12 @@
│ │ └── @ InNode (location: (22,0)-(22,9))
│ │ ├── pattern:
│ │ │ @ RangeNode (location: (22,4)-(22,9))
+ │ │ │ ├── flags: exclude_end
│ │ │ ├── left: ∅
│ │ │ ├── right:
│ │ │ │ @ IntegerNode (location: (22,7)-(22,9))
│ │ │ │ └── flags: decimal
- │ │ │ ├── operator_loc: (22,4)-(22,7) = "..."
- │ │ │ └── flags: exclude_end
+ │ │ │ └── operator_loc: (22,4)-(22,7) = "..."
│ │ ├── statements: ∅
│ │ ├── in_loc: (22,0)-(22,2) = "in"
│ │ └── then_loc: ∅
@@ -196,12 +196,12 @@
│ │ └── @ InNode (location: (26,0)-(26,8))
│ │ ├── pattern:
│ │ │ @ RangeNode (location: (26,4)-(26,8))
+ │ │ │ ├── flags: ∅
│ │ │ ├── left: ∅
│ │ │ ├── right:
│ │ │ │ @ IntegerNode (location: (26,6)-(26,8))
│ │ │ │ └── flags: decimal
- │ │ │ ├── operator_loc: (26,4)-(26,6) = ".."
- │ │ │ └── flags: ∅
+ │ │ │ └── operator_loc: (26,4)-(26,6) = ".."
│ │ ├── statements: ∅
│ │ ├── in_loc: (26,0)-(26,2) = "in"
│ │ └── then_loc: ∅
@@ -219,12 +219,12 @@
│ │ └── @ InNode (location: (30,0)-(30,8))
│ │ ├── pattern:
│ │ │ @ RangeNode (location: (30,4)-(30,8))
+ │ │ │ ├── flags: exclude_end
│ │ │ ├── left:
│ │ │ │ @ IntegerNode (location: (30,4)-(30,5))
│ │ │ │ └── flags: decimal
│ │ │ ├── right: ∅
- │ │ │ ├── operator_loc: (30,5)-(30,8) = "..."
- │ │ │ └── flags: exclude_end
+ │ │ │ └── operator_loc: (30,5)-(30,8) = "..."
│ │ ├── statements: ∅
│ │ ├── in_loc: (30,0)-(30,2) = "in"
│ │ └── then_loc: ∅
@@ -242,14 +242,14 @@
│ │ └── @ InNode (location: (34,0)-(34,9))
│ │ ├── pattern:
│ │ │ @ RangeNode (location: (34,4)-(34,9))
+ │ │ │ ├── flags: exclude_end
│ │ │ ├── left:
│ │ │ │ @ IntegerNode (location: (34,4)-(34,5))
│ │ │ │ └── flags: decimal
│ │ │ ├── right:
│ │ │ │ @ IntegerNode (location: (34,8)-(34,9))
│ │ │ │ └── flags: decimal
- │ │ │ ├── operator_loc: (34,5)-(34,8) = "..."
- │ │ │ └── flags: exclude_end
+ │ │ │ └── operator_loc: (34,5)-(34,8) = "..."
│ │ ├── statements: ∅
│ │ ├── in_loc: (34,0)-(34,2) = "in"
│ │ └── then_loc: ∅
@@ -310,11 +310,11 @@
│ │ └── @ InNode (location: (46,0)-(46,11))
│ │ ├── pattern:
│ │ │ @ RegularExpressionNode (location: (46,3)-(46,11))
+ │ │ │ ├── flags: ∅
│ │ │ ├── opening_loc: (46,3)-(46,4) = "/"
│ │ │ ├── content_loc: (46,4)-(46,10) = "regexp"
│ │ │ ├── closing_loc: (46,10)-(46,11) = "/"
- │ │ │ ├── unescaped: "regexp"
- │ │ │ └── flags: ∅
+ │ │ │ └── unescaped: "regexp"
│ │ ├── statements: ∅
│ │ ├── in_loc: (46,0)-(46,2) = "in"
│ │ └── then_loc: ∅
@@ -735,6 +735,7 @@
│ │ │ │ └── @ PinnedExpressionNode (location: (90,4)-(90,8))
│ │ │ │ ├── expression:
│ │ │ │ │ @ CallNode (location: (90,6)-(90,7))
+ │ │ │ │ │ ├── flags: variable_call
│ │ │ │ │ ├── receiver: ∅
│ │ │ │ │ ├── call_operator_loc: ∅
│ │ │ │ │ ├── name: :a
@@ -742,8 +743,7 @@
│ │ │ │ │ ├── opening_loc: ∅
│ │ │ │ │ ├── arguments: ∅
│ │ │ │ │ ├── closing_loc: ∅
- │ │ │ │ │ ├── block: ∅
- │ │ │ │ │ └── flags: variable_call
+ │ │ │ │ │ └── block: ∅
│ │ │ │ ├── operator_loc: (90,4)-(90,5) = "^"
│ │ │ │ ├── lparen_loc: (90,5)-(90,6) = "("
│ │ │ │ └── rparen_loc: (90,7)-(90,8) = ")"
diff --git a/test/prism/snapshots/seattlerb/case_in_67.txt b/test/prism/snapshots/seattlerb/case_in_67.txt
index 55b188a652..612f4fa6d3 100644
--- a/test/prism/snapshots/seattlerb/case_in_67.txt
+++ b/test/prism/snapshots/seattlerb/case_in_67.txt
@@ -14,12 +14,12 @@
│ └── @ InNode (location: (2,0)-(2,15))
│ ├── pattern:
│ │ @ RangeNode (location: (2,3)-(2,6))
+ │ │ ├── flags: ∅
│ │ ├── left:
│ │ │ @ IntegerNode (location: (2,3)-(2,4))
│ │ │ └── flags: decimal
│ │ ├── right: ∅
- │ │ ├── operator_loc: (2,4)-(2,6) = ".."
- │ │ └── flags: ∅
+ │ │ └── operator_loc: (2,4)-(2,6) = ".."
│ ├── statements:
│ │ @ StatementsNode (location: (2,12)-(2,15))
│ │ └── body: (length: 1)
diff --git a/test/prism/snapshots/seattlerb/case_in_86.txt b/test/prism/snapshots/seattlerb/case_in_86.txt
index 7e789c7145..0c9ad3bb31 100644
--- a/test/prism/snapshots/seattlerb/case_in_86.txt
+++ b/test/prism/snapshots/seattlerb/case_in_86.txt
@@ -6,6 +6,7 @@
└── @ CaseMatchNode (location: (1,0)-(3,3))
├── predicate:
│ @ ArrayNode (location: (1,5)-(1,13))
+ │ ├── flags: ∅
│ ├── elements: (length: 2)
│ │ ├── @ SymbolNode (location: (1,6)-(1,8))
│ │ │ ├── opening_loc: (1,6)-(1,7) = ":"
@@ -18,8 +19,7 @@
│ │ ├── closing_loc: ∅
│ │ └── unescaped: "b"
│ ├── opening_loc: (1,5)-(1,6) = "["
- │ ├── closing_loc: (1,12)-(1,13) = "]"
- │ └── flags: ∅
+ │ └── closing_loc: (1,12)-(1,13) = "]"
├── conditions: (length: 1)
│ └── @ InNode (location: (2,0)-(2,25))
│ ├── pattern:
diff --git a/test/prism/snapshots/seattlerb/case_in_86_2.txt b/test/prism/snapshots/seattlerb/case_in_86_2.txt
index 58c154f46c..9db0a0332d 100644
--- a/test/prism/snapshots/seattlerb/case_in_86_2.txt
+++ b/test/prism/snapshots/seattlerb/case_in_86_2.txt
@@ -6,6 +6,7 @@
└── @ CaseMatchNode (location: (1,0)-(3,3))
├── predicate:
│ @ ArrayNode (location: (1,5)-(1,13))
+ │ ├── flags: ∅
│ ├── elements: (length: 2)
│ │ ├── @ SymbolNode (location: (1,6)-(1,8))
│ │ │ ├── opening_loc: (1,6)-(1,7) = ":"
@@ -18,8 +19,7 @@
│ │ ├── closing_loc: ∅
│ │ └── unescaped: "b"
│ ├── opening_loc: (1,5)-(1,6) = "["
- │ ├── closing_loc: (1,12)-(1,13) = "]"
- │ └── flags: ∅
+ │ └── closing_loc: (1,12)-(1,13) = "]"
├── conditions: (length: 1)
│ └── @ InNode (location: (2,0)-(2,25))
│ ├── pattern:
diff --git a/test/prism/snapshots/seattlerb/dasgn_icky2.txt b/test/prism/snapshots/seattlerb/dasgn_icky2.txt
index 96e4277b9c..83497a3c72 100644
--- a/test/prism/snapshots/seattlerb/dasgn_icky2.txt
+++ b/test/prism/snapshots/seattlerb/dasgn_icky2.txt
@@ -4,6 +4,7 @@
@ StatementsNode (location: (1,0)-(8,3))
└── body: (length: 1)
└── @ CallNode (location: (1,0)-(8,3))
+ ├── flags: ∅
├── receiver: ∅
├── call_operator_loc: ∅
├── name: :a
@@ -11,52 +12,51 @@
├── opening_loc: ∅
├── arguments: ∅
├── closing_loc: ∅
- ├── block:
- │ @ BlockNode (location: (1,2)-(8,3))
- │ ├── locals: [:v]
- │ ├── locals_body_index: 0
- │ ├── parameters: ∅
- │ ├── body:
- │ │ @ StatementsNode (location: (2,2)-(7,5))
- │ │ └── body: (length: 2)
- │ │ ├── @ LocalVariableWriteNode (location: (2,2)-(2,9))
- │ │ │ ├── name: :v
- │ │ │ ├── depth: 0
- │ │ │ ├── name_loc: (2,2)-(2,3) = "v"
- │ │ │ ├── value:
- │ │ │ │ @ NilNode (location: (2,6)-(2,9))
- │ │ │ └── operator_loc: (2,4)-(2,5) = "="
- │ │ └── @ BeginNode (location: (3,2)-(7,5))
- │ │ ├── begin_keyword_loc: (3,2)-(3,7) = "begin"
- │ │ ├── statements:
- │ │ │ @ StatementsNode (location: (4,4)-(4,9))
- │ │ │ └── body: (length: 1)
- │ │ │ └── @ YieldNode (location: (4,4)-(4,9))
- │ │ │ ├── keyword_loc: (4,4)-(4,9) = "yield"
- │ │ │ ├── lparen_loc: ∅
- │ │ │ ├── arguments: ∅
- │ │ │ └── rparen_loc: ∅
- │ │ ├── rescue_clause:
- │ │ │ @ RescueNode (location: (5,2)-(6,9))
- │ │ │ ├── keyword_loc: (5,2)-(5,8) = "rescue"
- │ │ │ ├── exceptions: (length: 1)
- │ │ │ │ └── @ ConstantReadNode (location: (5,9)-(5,18))
- │ │ │ │ └── name: :Exception
- │ │ │ ├── operator_loc: (5,19)-(5,21) = "=>"
- │ │ │ ├── reference:
- │ │ │ │ @ LocalVariableTargetNode (location: (5,22)-(5,23))
- │ │ │ │ ├── name: :v
- │ │ │ │ └── depth: 0
- │ │ │ ├── statements:
- │ │ │ │ @ StatementsNode (location: (6,4)-(6,9))
- │ │ │ │ └── body: (length: 1)
- │ │ │ │ └── @ BreakNode (location: (6,4)-(6,9))
- │ │ │ │ ├── arguments: ∅
- │ │ │ │ └── keyword_loc: (6,4)-(6,9) = "break"
- │ │ │ └── consequent: ∅
- │ │ ├── else_clause: ∅
- │ │ ├── ensure_clause: ∅
- │ │ └── end_keyword_loc: (7,2)-(7,5) = "end"
- │ ├── opening_loc: (1,2)-(1,4) = "do"
- │ └── closing_loc: (8,0)-(8,3) = "end"
- └── flags: ∅
+ └── block:
+ @ BlockNode (location: (1,2)-(8,3))
+ ├── locals: [:v]
+ ├── locals_body_index: 0
+ ├── parameters: ∅
+ ├── body:
+ │ @ StatementsNode (location: (2,2)-(7,5))
+ │ └── body: (length: 2)
+ │ ├── @ LocalVariableWriteNode (location: (2,2)-(2,9))
+ │ │ ├── name: :v
+ │ │ ├── depth: 0
+ │ │ ├── name_loc: (2,2)-(2,3) = "v"
+ │ │ ├── value:
+ │ │ │ @ NilNode (location: (2,6)-(2,9))
+ │ │ └── operator_loc: (2,4)-(2,5) = "="
+ │ └── @ BeginNode (location: (3,2)-(7,5))
+ │ ├── begin_keyword_loc: (3,2)-(3,7) = "begin"
+ │ ├── statements:
+ │ │ @ StatementsNode (location: (4,4)-(4,9))
+ │ │ └── body: (length: 1)
+ │ │ └── @ YieldNode (location: (4,4)-(4,9))
+ │ │ ├── keyword_loc: (4,4)-(4,9) = "yield"
+ │ │ ├── lparen_loc: ∅
+ │ │ ├── arguments: ∅
+ │ │ └── rparen_loc: ∅
+ │ ├── rescue_clause:
+ │ │ @ RescueNode (location: (5,2)-(6,9))
+ │ │ ├── keyword_loc: (5,2)-(5,8) = "rescue"
+ │ │ ├── exceptions: (length: 1)
+ │ │ │ └── @ ConstantReadNode (location: (5,9)-(5,18))
+ │ │ │ └── name: :Exception
+ │ │ ├── operator_loc: (5,19)-(5,21) = "=>"
+ │ │ ├── reference:
+ │ │ │ @ LocalVariableTargetNode (location: (5,22)-(5,23))
+ │ │ │ ├── name: :v
+ │ │ │ └── depth: 0
+ │ │ ├── statements:
+ │ │ │ @ StatementsNode (location: (6,4)-(6,9))
+ │ │ │ └── body: (length: 1)
+ │ │ │ └── @ BreakNode (location: (6,4)-(6,9))
+ │ │ │ ├── arguments: ∅
+ │ │ │ └── keyword_loc: (6,4)-(6,9) = "break"
+ │ │ └── consequent: ∅
+ │ ├── else_clause: ∅
+ │ ├── ensure_clause: ∅
+ │ └── end_keyword_loc: (7,2)-(7,5) = "end"
+ ├── opening_loc: (1,2)-(1,4) = "do"
+ └── closing_loc: (8,0)-(8,3) = "end"
diff --git a/test/prism/snapshots/seattlerb/defn_arg_forward_args.txt b/test/prism/snapshots/seattlerb/defn_arg_forward_args.txt
index d96b5062ed..85f50a79ce 100644
--- a/test/prism/snapshots/seattlerb/defn_arg_forward_args.txt
+++ b/test/prism/snapshots/seattlerb/defn_arg_forward_args.txt
@@ -23,6 +23,7 @@
│ @ StatementsNode (location: (1,15)-(1,24))
│ └── body: (length: 1)
│ └── @ CallNode (location: (1,15)-(1,24))
+ │ ├── flags: ∅
│ ├── receiver: ∅
│ ├── call_operator_loc: ∅
│ ├── name: :b
@@ -30,15 +31,14 @@
│ ├── opening_loc: (1,16)-(1,17) = "("
│ ├── arguments:
│ │ @ ArgumentsNode (location: (1,17)-(1,23))
- │ │ ├── arguments: (length: 2)
- │ │ │ ├── @ LocalVariableReadNode (location: (1,17)-(1,18))
- │ │ │ │ ├── name: :x
- │ │ │ │ └── depth: 0
- │ │ │ └── @ ForwardingArgumentsNode (location: (1,20)-(1,23))
- │ │ └── flags: ∅
+ │ │ ├── flags: ∅
+ │ │ └── arguments: (length: 2)
+ │ │ ├── @ LocalVariableReadNode (location: (1,17)-(1,18))
+ │ │ │ ├── name: :x
+ │ │ │ └── depth: 0
+ │ │ └── @ ForwardingArgumentsNode (location: (1,20)-(1,23))
│ ├── closing_loc: (1,23)-(1,24) = ")"
- │ ├── block: ∅
- │ └── flags: ∅
+ │ └── block: ∅
├── locals: [:x, :"..."]
├── locals_body_index: 2
├── def_keyword_loc: (1,0)-(1,3) = "def"
diff --git a/test/prism/snapshots/seattlerb/defn_args_forward_args.txt b/test/prism/snapshots/seattlerb/defn_args_forward_args.txt
index 5f9b4b0084..b1854d9a35 100644
--- a/test/prism/snapshots/seattlerb/defn_args_forward_args.txt
+++ b/test/prism/snapshots/seattlerb/defn_args_forward_args.txt
@@ -27,6 +27,7 @@
│ @ StatementsNode (location: (1,21)-(1,36))
│ └── body: (length: 1)
│ └── @ CallNode (location: (1,21)-(1,36))
+ │ ├── flags: ∅
│ ├── receiver: ∅
│ ├── call_operator_loc: ∅
│ ├── name: :b
@@ -34,20 +35,19 @@
│ ├── opening_loc: (1,22)-(1,23) = "("
│ ├── arguments:
│ │ @ ArgumentsNode (location: (1,23)-(1,35))
- │ │ ├── arguments: (length: 3)
- │ │ │ ├── @ SymbolNode (location: (1,23)-(1,27))
- │ │ │ │ ├── opening_loc: (1,23)-(1,24) = ":"
- │ │ │ │ ├── value_loc: (1,24)-(1,27) = "get"
- │ │ │ │ ├── closing_loc: ∅
- │ │ │ │ └── unescaped: "get"
- │ │ │ ├── @ LocalVariableReadNode (location: (1,29)-(1,30))
- │ │ │ │ ├── name: :z
- │ │ │ │ └── depth: 0
- │ │ │ └── @ ForwardingArgumentsNode (location: (1,32)-(1,35))
- │ │ └── flags: ∅
+ │ │ ├── flags: ∅
+ │ │ └── arguments: (length: 3)
+ │ │ ├── @ SymbolNode (location: (1,23)-(1,27))
+ │ │ │ ├── opening_loc: (1,23)-(1,24) = ":"
+ │ │ │ ├── value_loc: (1,24)-(1,27) = "get"
+ │ │ │ ├── closing_loc: ∅
+ │ │ │ └── unescaped: "get"
+ │ │ ├── @ LocalVariableReadNode (location: (1,29)-(1,30))
+ │ │ │ ├── name: :z
+ │ │ │ └── depth: 0
+ │ │ └── @ ForwardingArgumentsNode (location: (1,32)-(1,35))
│ ├── closing_loc: (1,35)-(1,36) = ")"
- │ ├── block: ∅
- │ └── flags: ∅
+ │ └── block: ∅
├── locals: [:x, :y, :z, :"..."]
├── locals_body_index: 4
├── def_keyword_loc: (1,0)-(1,3) = "def"
diff --git a/test/prism/snapshots/seattlerb/defn_endless_command.txt b/test/prism/snapshots/seattlerb/defn_endless_command.txt
index 432a84098a..f578856927 100644
--- a/test/prism/snapshots/seattlerb/defn_endless_command.txt
+++ b/test/prism/snapshots/seattlerb/defn_endless_command.txt
@@ -12,6 +12,7 @@
│ @ StatementsNode (location: (1,18)-(1,33))
│ └── body: (length: 1)
│ └── @ CallNode (location: (1,18)-(1,33))
+ │ ├── flags: ∅
│ ├── receiver: ∅
│ ├── call_operator_loc: ∅
│ ├── name: :other_method
@@ -19,13 +20,12 @@
│ ├── opening_loc: ∅
│ ├── arguments:
│ │ @ ArgumentsNode (location: (1,31)-(1,33))
- │ │ ├── arguments: (length: 1)
- │ │ │ └── @ IntegerNode (location: (1,31)-(1,33))
- │ │ │ └── flags: decimal
- │ │ └── flags: ∅
+ │ │ ├── flags: ∅
+ │ │ └── arguments: (length: 1)
+ │ │ └── @ IntegerNode (location: (1,31)-(1,33))
+ │ │ └── flags: decimal
│ ├── closing_loc: ∅
- │ ├── block: ∅
- │ └── flags: ∅
+ │ └── block: ∅
├── locals: []
├── locals_body_index: 0
├── def_keyword_loc: (1,0)-(1,3) = "def"
diff --git a/test/prism/snapshots/seattlerb/defn_endless_command_rescue.txt b/test/prism/snapshots/seattlerb/defn_endless_command_rescue.txt
index c7ed60977b..3a1736771e 100644
--- a/test/prism/snapshots/seattlerb/defn_endless_command_rescue.txt
+++ b/test/prism/snapshots/seattlerb/defn_endless_command_rescue.txt
@@ -14,6 +14,7 @@
│ └── @ RescueModifierNode (location: (1,18)-(1,43))
│ ├── expression:
│ │ @ CallNode (location: (1,18)-(1,33))
+ │ │ ├── flags: ∅
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
│ │ ├── name: :other_method
@@ -21,13 +22,12 @@
│ │ ├── opening_loc: ∅
│ │ ├── arguments:
│ │ │ @ ArgumentsNode (location: (1,31)-(1,33))
- │ │ │ ├── arguments: (length: 1)
- │ │ │ │ └── @ IntegerNode (location: (1,31)-(1,33))
- │ │ │ │ └── flags: decimal
- │ │ │ └── flags: ∅
+ │ │ │ ├── flags: ∅
+ │ │ │ └── arguments: (length: 1)
+ │ │ │ └── @ IntegerNode (location: (1,31)-(1,33))
+ │ │ │ └── flags: decimal
│ │ ├── closing_loc: ∅
- │ │ ├── block: ∅
- │ │ └── flags: ∅
+ │ │ └── block: ∅
│ ├── keyword_loc: (1,34)-(1,40) = "rescue"
│ └── rescue_expression:
│ @ IntegerNode (location: (1,41)-(1,43))
diff --git a/test/prism/snapshots/seattlerb/defn_forward_args.txt b/test/prism/snapshots/seattlerb/defn_forward_args.txt
index 87a605a2f6..2b0af43df0 100644
--- a/test/prism/snapshots/seattlerb/defn_forward_args.txt
+++ b/test/prism/snapshots/seattlerb/defn_forward_args.txt
@@ -21,6 +21,7 @@
│ @ StatementsNode (location: (1,12)-(1,18))
│ └── body: (length: 1)
│ └── @ CallNode (location: (1,12)-(1,18))
+ │ ├── flags: ∅
│ ├── receiver: ∅
│ ├── call_operator_loc: ∅
│ ├── name: :b
@@ -28,12 +29,11 @@
│ ├── opening_loc: (1,13)-(1,14) = "("
│ ├── arguments:
│ │ @ ArgumentsNode (location: (1,14)-(1,17))
- │ │ ├── arguments: (length: 1)
- │ │ │ └── @ ForwardingArgumentsNode (location: (1,14)-(1,17))
- │ │ └── flags: ∅
+ │ │ ├── flags: ∅
+ │ │ └── arguments: (length: 1)
+ │ │ └── @ ForwardingArgumentsNode (location: (1,14)-(1,17))
│ ├── closing_loc: (1,17)-(1,18) = ")"
- │ ├── block: ∅
- │ └── flags: ∅
+ │ └── block: ∅
├── locals: [:"..."]
├── locals_body_index: 1
├── def_keyword_loc: (1,0)-(1,3) = "def"
diff --git a/test/prism/snapshots/seattlerb/defn_forward_args__no_parens.txt b/test/prism/snapshots/seattlerb/defn_forward_args__no_parens.txt
index 69fe71cabd..ad3c108dc2 100644
--- a/test/prism/snapshots/seattlerb/defn_forward_args__no_parens.txt
+++ b/test/prism/snapshots/seattlerb/defn_forward_args__no_parens.txt
@@ -21,6 +21,7 @@
│ @ StatementsNode (location: (2,2)-(2,8))
│ └── body: (length: 1)
│ └── @ CallNode (location: (2,2)-(2,8))
+ │ ├── flags: ∅
│ ├── receiver: ∅
│ ├── call_operator_loc: ∅
│ ├── name: :m
@@ -28,12 +29,11 @@
│ ├── opening_loc: (2,3)-(2,4) = "("
│ ├── arguments:
│ │ @ ArgumentsNode (location: (2,4)-(2,7))
- │ │ ├── arguments: (length: 1)
- │ │ │ └── @ ForwardingArgumentsNode (location: (2,4)-(2,7))
- │ │ └── flags: ∅
+ │ │ ├── flags: ∅
+ │ │ └── arguments: (length: 1)
+ │ │ └── @ ForwardingArgumentsNode (location: (2,4)-(2,7))
│ ├── closing_loc: (2,7)-(2,8) = ")"
- │ ├── block: ∅
- │ └── flags: ∅
+ │ └── block: ∅
├── locals: [:"..."]
├── locals_body_index: 1
├── def_keyword_loc: (1,0)-(1,3) = "def"
diff --git a/test/prism/snapshots/seattlerb/defn_kwarg_env.txt b/test/prism/snapshots/seattlerb/defn_kwarg_env.txt
index 469d680f19..8c43e4eb0a 100644
--- a/test/prism/snapshots/seattlerb/defn_kwarg_env.txt
+++ b/test/prism/snapshots/seattlerb/defn_kwarg_env.txt
@@ -24,6 +24,7 @@
│ @ StatementsNode (location: (1,20)-(1,41))
│ └── body: (length: 1)
│ └── @ CallNode (location: (1,20)-(1,41))
+ │ ├── flags: ∅
│ ├── receiver: ∅
│ ├── call_operator_loc: ∅
│ ├── name: :test_splat
@@ -31,19 +32,18 @@
│ ├── opening_loc: (1,30)-(1,31) = "("
│ ├── arguments:
│ │ @ ArgumentsNode (location: (1,31)-(1,40))
- │ │ ├── arguments: (length: 1)
- │ │ │ └── @ KeywordHashNode (location: (1,31)-(1,40))
- │ │ │ └── elements: (length: 1)
- │ │ │ └── @ AssocSplatNode (location: (1,31)-(1,40))
- │ │ │ ├── value:
- │ │ │ │ @ LocalVariableReadNode (location: (1,33)-(1,40))
- │ │ │ │ ├── name: :testing
- │ │ │ │ └── depth: 0
- │ │ │ └── operator_loc: (1,31)-(1,33) = "**"
- │ │ └── flags: contains_keyword_splat
+ │ │ ├── flags: contains_keyword_splat
+ │ │ └── arguments: (length: 1)
+ │ │ └── @ KeywordHashNode (location: (1,31)-(1,40))
+ │ │ └── elements: (length: 1)
+ │ │ └── @ AssocSplatNode (location: (1,31)-(1,40))
+ │ │ ├── value:
+ │ │ │ @ LocalVariableReadNode (location: (1,33)-(1,40))
+ │ │ │ ├── name: :testing
+ │ │ │ └── depth: 0
+ │ │ └── operator_loc: (1,31)-(1,33) = "**"
│ ├── closing_loc: (1,40)-(1,41) = ")"
- │ ├── block: ∅
- │ └── flags: ∅
+ │ └── block: ∅
├── locals: [:testing]
├── locals_body_index: 1
├── def_keyword_loc: (1,0)-(1,3) = "def"
diff --git a/test/prism/snapshots/seattlerb/defn_oneliner.txt b/test/prism/snapshots/seattlerb/defn_oneliner.txt
index eaf3269128..02e070dddd 100644
--- a/test/prism/snapshots/seattlerb/defn_oneliner.txt
+++ b/test/prism/snapshots/seattlerb/defn_oneliner.txt
@@ -22,6 +22,7 @@
│ @ StatementsNode (location: (1,16)-(1,27))
│ └── body: (length: 1)
│ └── @ CallNode (location: (1,16)-(1,27))
+ │ ├── flags: ∅
│ ├── receiver: ∅
│ ├── call_operator_loc: ∅
│ ├── name: :system
@@ -29,14 +30,13 @@
│ ├── opening_loc: (1,22)-(1,23) = "("
│ ├── arguments:
│ │ @ ArgumentsNode (location: (1,23)-(1,26))
- │ │ ├── arguments: (length: 1)
- │ │ │ └── @ LocalVariableReadNode (location: (1,23)-(1,26))
- │ │ │ ├── name: :cmd
- │ │ │ └── depth: 0
- │ │ └── flags: ∅
+ │ │ ├── flags: ∅
+ │ │ └── arguments: (length: 1)
+ │ │ └── @ LocalVariableReadNode (location: (1,23)-(1,26))
+ │ │ ├── name: :cmd
+ │ │ └── depth: 0
│ ├── closing_loc: (1,26)-(1,27) = ")"
- │ ├── block: ∅
- │ └── flags: ∅
+ │ └── block: ∅
├── locals: [:cmd]
├── locals_body_index: 1
├── def_keyword_loc: (1,0)-(1,3) = "def"
diff --git a/test/prism/snapshots/seattlerb/defn_oneliner_noargs.txt b/test/prism/snapshots/seattlerb/defn_oneliner_noargs.txt
index d1c07fd58a..da1c11496e 100644
--- a/test/prism/snapshots/seattlerb/defn_oneliner_noargs.txt
+++ b/test/prism/snapshots/seattlerb/defn_oneliner_noargs.txt
@@ -12,6 +12,7 @@
│ @ StatementsNode (location: (1,11)-(1,17))
│ └── body: (length: 1)
│ └── @ CallNode (location: (1,11)-(1,17))
+ │ ├── flags: variable_call
│ ├── receiver: ∅
│ ├── call_operator_loc: ∅
│ ├── name: :system
@@ -19,8 +20,7 @@
│ ├── opening_loc: ∅
│ ├── arguments: ∅
│ ├── closing_loc: ∅
- │ ├── block: ∅
- │ └── flags: variable_call
+ │ └── block: ∅
├── locals: []
├── locals_body_index: 0
├── def_keyword_loc: (1,0)-(1,3) = "def"
diff --git a/test/prism/snapshots/seattlerb/defn_oneliner_noargs_parentheses.txt b/test/prism/snapshots/seattlerb/defn_oneliner_noargs_parentheses.txt
index 579f629bc9..965d8b9bb3 100644
--- a/test/prism/snapshots/seattlerb/defn_oneliner_noargs_parentheses.txt
+++ b/test/prism/snapshots/seattlerb/defn_oneliner_noargs_parentheses.txt
@@ -12,6 +12,7 @@
│ @ StatementsNode (location: (1,13)-(1,19))
│ └── body: (length: 1)
│ └── @ CallNode (location: (1,13)-(1,19))
+ │ ├── flags: variable_call
│ ├── receiver: ∅
│ ├── call_operator_loc: ∅
│ ├── name: :system
@@ -19,8 +20,7 @@
│ ├── opening_loc: ∅
│ ├── arguments: ∅
│ ├── closing_loc: ∅
- │ ├── block: ∅
- │ └── flags: variable_call
+ │ └── block: ∅
├── locals: []
├── locals_body_index: 0
├── def_keyword_loc: (1,0)-(1,3) = "def"
diff --git a/test/prism/snapshots/seattlerb/defn_oneliner_rescue.txt b/test/prism/snapshots/seattlerb/defn_oneliner_rescue.txt
index 1e052dd5f4..ad58ae383c 100644
--- a/test/prism/snapshots/seattlerb/defn_oneliner_rescue.txt
+++ b/test/prism/snapshots/seattlerb/defn_oneliner_rescue.txt
@@ -25,6 +25,7 @@
│ │ │ @ StatementsNode (location: (2,2)-(2,13))
│ │ │ └── body: (length: 1)
│ │ │ └── @ CallNode (location: (2,2)-(2,13))
+ │ │ │ ├── flags: ∅
│ │ │ ├── receiver: ∅
│ │ │ ├── call_operator_loc: ∅
│ │ │ ├── name: :system
@@ -32,14 +33,13 @@
│ │ │ ├── opening_loc: (2,8)-(2,9) = "("
│ │ │ ├── arguments:
│ │ │ │ @ ArgumentsNode (location: (2,9)-(2,12))
- │ │ │ │ ├── arguments: (length: 1)
- │ │ │ │ │ └── @ LocalVariableReadNode (location: (2,9)-(2,12))
- │ │ │ │ │ ├── name: :cmd
- │ │ │ │ │ └── depth: 0
- │ │ │ │ └── flags: ∅
+ │ │ │ │ ├── flags: ∅
+ │ │ │ │ └── arguments: (length: 1)
+ │ │ │ │ └── @ LocalVariableReadNode (location: (2,9)-(2,12))
+ │ │ │ │ ├── name: :cmd
+ │ │ │ │ └── depth: 0
│ │ │ ├── closing_loc: (2,12)-(2,13) = ")"
- │ │ │ ├── block: ∅
- │ │ │ └── flags: ∅
+ │ │ │ └── block: ∅
│ │ ├── rescue_clause:
│ │ │ @ RescueNode (location: (3,0)-(4,5))
│ │ │ ├── keyword_loc: (3,0)-(3,6) = "rescue"
@@ -83,6 +83,7 @@
│ │ └── @ RescueModifierNode (location: (9,2)-(9,24))
│ │ ├── expression:
│ │ │ @ CallNode (location: (9,2)-(9,13))
+ │ │ │ ├── flags: ∅
│ │ │ ├── receiver: ∅
│ │ │ ├── call_operator_loc: ∅
│ │ │ ├── name: :system
@@ -90,14 +91,13 @@
│ │ │ ├── opening_loc: (9,8)-(9,9) = "("
│ │ │ ├── arguments:
│ │ │ │ @ ArgumentsNode (location: (9,9)-(9,12))
- │ │ │ │ ├── arguments: (length: 1)
- │ │ │ │ │ └── @ LocalVariableReadNode (location: (9,9)-(9,12))
- │ │ │ │ │ ├── name: :cmd
- │ │ │ │ │ └── depth: 0
- │ │ │ │ └── flags: ∅
+ │ │ │ │ ├── flags: ∅
+ │ │ │ │ └── arguments: (length: 1)
+ │ │ │ │ └── @ LocalVariableReadNode (location: (9,9)-(9,12))
+ │ │ │ │ ├── name: :cmd
+ │ │ │ │ └── depth: 0
│ │ │ ├── closing_loc: (9,12)-(9,13) = ")"
- │ │ │ ├── block: ∅
- │ │ │ └── flags: ∅
+ │ │ │ └── block: ∅
│ │ ├── keyword_loc: (9,14)-(9,20) = "rescue"
│ │ └── rescue_expression:
│ │ @ NilNode (location: (9,21)-(9,24))
@@ -130,6 +130,7 @@
│ └── @ RescueModifierNode (location: (13,16)-(13,38))
│ ├── expression:
│ │ @ CallNode (location: (13,16)-(13,27))
+ │ │ ├── flags: ∅
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
│ │ ├── name: :system
@@ -137,14 +138,13 @@
│ │ ├── opening_loc: (13,22)-(13,23) = "("
│ │ ├── arguments:
│ │ │ @ ArgumentsNode (location: (13,23)-(13,26))
- │ │ │ ├── arguments: (length: 1)
- │ │ │ │ └── @ LocalVariableReadNode (location: (13,23)-(13,26))
- │ │ │ │ ├── name: :cmd
- │ │ │ │ └── depth: 0
- │ │ │ └── flags: ∅
+ │ │ │ ├── flags: ∅
+ │ │ │ └── arguments: (length: 1)
+ │ │ │ └── @ LocalVariableReadNode (location: (13,23)-(13,26))
+ │ │ │ ├── name: :cmd
+ │ │ │ └── depth: 0
│ │ ├── closing_loc: (13,26)-(13,27) = ")"
- │ │ ├── block: ∅
- │ │ └── flags: ∅
+ │ │ └── block: ∅
│ ├── keyword_loc: (13,28)-(13,34) = "rescue"
│ └── rescue_expression:
│ @ NilNode (location: (13,35)-(13,38))
diff --git a/test/prism/snapshots/seattlerb/defs_as_arg_with_do_block_inside.txt b/test/prism/snapshots/seattlerb/defs_as_arg_with_do_block_inside.txt
index 3d80dc144b..0e07d3e05c 100644
--- a/test/prism/snapshots/seattlerb/defs_as_arg_with_do_block_inside.txt
+++ b/test/prism/snapshots/seattlerb/defs_as_arg_with_do_block_inside.txt
@@ -4,6 +4,7 @@
@ StatementsNode (location: (1,0)-(1,30))
└── body: (length: 1)
└── @ CallNode (location: (1,0)-(1,30))
+ ├── flags: ∅
├── receiver: ∅
├── call_operator_loc: ∅
├── name: :p
@@ -11,52 +12,51 @@
├── opening_loc: ∅
├── arguments:
│ @ ArgumentsNode (location: (1,2)-(1,30))
- │ ├── arguments: (length: 1)
- │ │ └── @ DefNode (location: (1,2)-(1,30))
- │ │ ├── name: :b
- │ │ ├── name_loc: (1,11)-(1,12) = "b"
- │ │ ├── receiver:
- │ │ │ @ SelfNode (location: (1,6)-(1,10))
- │ │ ├── parameters: ∅
- │ │ ├── body:
- │ │ │ @ StatementsNode (location: (1,14)-(1,25))
- │ │ │ └── body: (length: 1)
- │ │ │ └── @ CallNode (location: (1,14)-(1,25))
- │ │ │ ├── receiver:
- │ │ │ │ @ CallNode (location: (1,14)-(1,15))
- │ │ │ │ ├── receiver: ∅
- │ │ │ │ ├── call_operator_loc: ∅
- │ │ │ │ ├── name: :x
- │ │ │ │ ├── message_loc: (1,14)-(1,15) = "x"
- │ │ │ │ ├── opening_loc: ∅
- │ │ │ │ ├── arguments: ∅
- │ │ │ │ ├── closing_loc: ∅
- │ │ │ │ ├── block: ∅
- │ │ │ │ └── flags: variable_call
- │ │ │ ├── call_operator_loc: (1,15)-(1,16) = "."
- │ │ │ ├── name: :y
- │ │ │ ├── message_loc: (1,16)-(1,17) = "y"
- │ │ │ ├── opening_loc: ∅
- │ │ │ ├── arguments: ∅
- │ │ │ ├── closing_loc: ∅
- │ │ │ ├── block:
- │ │ │ │ @ BlockNode (location: (1,18)-(1,25))
- │ │ │ │ ├── locals: []
- │ │ │ │ ├── locals_body_index: 0
- │ │ │ │ ├── parameters: ∅
- │ │ │ │ ├── body: ∅
- │ │ │ │ ├── opening_loc: (1,18)-(1,20) = "do"
- │ │ │ │ └── closing_loc: (1,22)-(1,25) = "end"
- │ │ │ └── flags: ∅
- │ │ ├── locals: []
- │ │ ├── locals_body_index: 0
- │ │ ├── def_keyword_loc: (1,2)-(1,5) = "def"
- │ │ ├── operator_loc: (1,10)-(1,11) = "."
- │ │ ├── lparen_loc: ∅
- │ │ ├── rparen_loc: ∅
- │ │ ├── equal_loc: ∅
- │ │ └── end_keyword_loc: (1,27)-(1,30) = "end"
- │ └── flags: ∅
+ │ ├── flags: ∅
+ │ └── arguments: (length: 1)
+ │ └── @ DefNode (location: (1,2)-(1,30))
+ │ ├── name: :b
+ │ ├── name_loc: (1,11)-(1,12) = "b"
+ │ ├── receiver:
+ │ │ @ SelfNode (location: (1,6)-(1,10))
+ │ ├── parameters: ∅
+ │ ├── body:
+ │ │ @ StatementsNode (location: (1,14)-(1,25))
+ │ │ └── body: (length: 1)
+ │ │ └── @ CallNode (location: (1,14)-(1,25))
+ │ │ ├── flags: ∅
+ │ │ ├── receiver:
+ │ │ │ @ CallNode (location: (1,14)-(1,15))
+ │ │ │ ├── flags: variable_call
+ │ │ │ ├── receiver: ∅
+ │ │ │ ├── call_operator_loc: ∅
+ │ │ │ ├── name: :x
+ │ │ │ ├── message_loc: (1,14)-(1,15) = "x"
+ │ │ │ ├── opening_loc: ∅
+ │ │ │ ├── arguments: ∅
+ │ │ │ ├── closing_loc: ∅
+ │ │ │ └── block: ∅
+ │ │ ├── call_operator_loc: (1,15)-(1,16) = "."
+ │ │ ├── name: :y
+ │ │ ├── message_loc: (1,16)-(1,17) = "y"
+ │ │ ├── opening_loc: ∅
+ │ │ ├── arguments: ∅
+ │ │ ├── closing_loc: ∅
+ │ │ └── block:
+ │ │ @ BlockNode (location: (1,18)-(1,25))
+ │ │ ├── locals: []
+ │ │ ├── locals_body_index: 0
+ │ │ ├── parameters: ∅
+ │ │ ├── body: ∅
+ │ │ ├── opening_loc: (1,18)-(1,20) = "do"
+ │ │ └── closing_loc: (1,22)-(1,25) = "end"
+ │ ├── locals: []
+ │ ├── locals_body_index: 0
+ │ ├── def_keyword_loc: (1,2)-(1,5) = "def"
+ │ ├── operator_loc: (1,10)-(1,11) = "."
+ │ ├── lparen_loc: ∅
+ │ ├── rparen_loc: ∅
+ │ ├── equal_loc: ∅
+ │ └── end_keyword_loc: (1,27)-(1,30) = "end"
├── closing_loc: ∅
- ├── block: ∅
- └── flags: ∅
+ └── block: ∅
diff --git a/test/prism/snapshots/seattlerb/defs_endless_command.txt b/test/prism/snapshots/seattlerb/defs_endless_command.txt
index 873a8dd2ec..b9d926662a 100644
--- a/test/prism/snapshots/seattlerb/defs_endless_command.txt
+++ b/test/prism/snapshots/seattlerb/defs_endless_command.txt
@@ -8,6 +8,7 @@
├── name_loc: (1,6)-(1,17) = "some_method"
├── receiver:
│ @ CallNode (location: (1,4)-(1,5))
+ │ ├── flags: variable_call
│ ├── receiver: ∅
│ ├── call_operator_loc: ∅
│ ├── name: :x
@@ -15,13 +16,13 @@
│ ├── opening_loc: ∅
│ ├── arguments: ∅
│ ├── closing_loc: ∅
- │ ├── block: ∅
- │ └── flags: variable_call
+ │ └── block: ∅
├── parameters: ∅
├── body:
│ @ StatementsNode (location: (1,20)-(1,35))
│ └── body: (length: 1)
│ └── @ CallNode (location: (1,20)-(1,35))
+ │ ├── flags: ∅
│ ├── receiver: ∅
│ ├── call_operator_loc: ∅
│ ├── name: :other_method
@@ -29,13 +30,12 @@
│ ├── opening_loc: ∅
│ ├── arguments:
│ │ @ ArgumentsNode (location: (1,33)-(1,35))
- │ │ ├── arguments: (length: 1)
- │ │ │ └── @ IntegerNode (location: (1,33)-(1,35))
- │ │ │ └── flags: decimal
- │ │ └── flags: ∅
+ │ │ ├── flags: ∅
+ │ │ └── arguments: (length: 1)
+ │ │ └── @ IntegerNode (location: (1,33)-(1,35))
+ │ │ └── flags: decimal
│ ├── closing_loc: ∅
- │ ├── block: ∅
- │ └── flags: ∅
+ │ └── block: ∅
├── locals: []
├── locals_body_index: 0
├── def_keyword_loc: (1,0)-(1,3) = "def"
diff --git a/test/prism/snapshots/seattlerb/defs_endless_command_rescue.txt b/test/prism/snapshots/seattlerb/defs_endless_command_rescue.txt
index a066466ec8..0ac0ca2479 100644
--- a/test/prism/snapshots/seattlerb/defs_endless_command_rescue.txt
+++ b/test/prism/snapshots/seattlerb/defs_endless_command_rescue.txt
@@ -8,6 +8,7 @@
├── name_loc: (1,6)-(1,17) = "some_method"
├── receiver:
│ @ CallNode (location: (1,4)-(1,5))
+ │ ├── flags: variable_call
│ ├── receiver: ∅
│ ├── call_operator_loc: ∅
│ ├── name: :x
@@ -15,8 +16,7 @@
│ ├── opening_loc: ∅
│ ├── arguments: ∅
│ ├── closing_loc: ∅
- │ ├── block: ∅
- │ └── flags: variable_call
+ │ └── block: ∅
├── parameters: ∅
├── body:
│ @ StatementsNode (location: (1,20)-(1,45))
@@ -24,6 +24,7 @@
│ └── @ RescueModifierNode (location: (1,20)-(1,45))
│ ├── expression:
│ │ @ CallNode (location: (1,20)-(1,35))
+ │ │ ├── flags: ∅
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
│ │ ├── name: :other_method
@@ -31,13 +32,12 @@
│ │ ├── opening_loc: ∅
│ │ ├── arguments:
│ │ │ @ ArgumentsNode (location: (1,33)-(1,35))
- │ │ │ ├── arguments: (length: 1)
- │ │ │ │ └── @ IntegerNode (location: (1,33)-(1,35))
- │ │ │ │ └── flags: decimal
- │ │ │ └── flags: ∅
+ │ │ │ ├── flags: ∅
+ │ │ │ └── arguments: (length: 1)
+ │ │ │ └── @ IntegerNode (location: (1,33)-(1,35))
+ │ │ │ └── flags: decimal
│ │ ├── closing_loc: ∅
- │ │ ├── block: ∅
- │ │ └── flags: ∅
+ │ │ └── block: ∅
│ ├── keyword_loc: (1,36)-(1,42) = "rescue"
│ └── rescue_expression:
│ @ IntegerNode (location: (1,43)-(1,45))
diff --git a/test/prism/snapshots/seattlerb/defs_oneliner.txt b/test/prism/snapshots/seattlerb/defs_oneliner.txt
index fdab8085c3..e7f981c895 100644
--- a/test/prism/snapshots/seattlerb/defs_oneliner.txt
+++ b/test/prism/snapshots/seattlerb/defs_oneliner.txt
@@ -23,6 +23,7 @@
│ @ StatementsNode (location: (1,21)-(1,32))
│ └── body: (length: 1)
│ └── @ CallNode (location: (1,21)-(1,32))
+ │ ├── flags: ∅
│ ├── receiver: ∅
│ ├── call_operator_loc: ∅
│ ├── name: :system
@@ -30,14 +31,13 @@
│ ├── opening_loc: (1,27)-(1,28) = "("
│ ├── arguments:
│ │ @ ArgumentsNode (location: (1,28)-(1,31))
- │ │ ├── arguments: (length: 1)
- │ │ │ └── @ LocalVariableReadNode (location: (1,28)-(1,31))
- │ │ │ ├── name: :cmd
- │ │ │ └── depth: 0
- │ │ └── flags: ∅
+ │ │ ├── flags: ∅
+ │ │ └── arguments: (length: 1)
+ │ │ └── @ LocalVariableReadNode (location: (1,28)-(1,31))
+ │ │ ├── name: :cmd
+ │ │ └── depth: 0
│ ├── closing_loc: (1,31)-(1,32) = ")"
- │ ├── block: ∅
- │ └── flags: ∅
+ │ └── block: ∅
├── locals: [:cmd]
├── locals_body_index: 1
├── def_keyword_loc: (1,0)-(1,3) = "def"
diff --git a/test/prism/snapshots/seattlerb/defs_oneliner_rescue.txt b/test/prism/snapshots/seattlerb/defs_oneliner_rescue.txt
index b0f2f85216..e5acf45e76 100644
--- a/test/prism/snapshots/seattlerb/defs_oneliner_rescue.txt
+++ b/test/prism/snapshots/seattlerb/defs_oneliner_rescue.txt
@@ -26,6 +26,7 @@
│ │ │ @ StatementsNode (location: (2,2)-(2,13))
│ │ │ └── body: (length: 1)
│ │ │ └── @ CallNode (location: (2,2)-(2,13))
+ │ │ │ ├── flags: ∅
│ │ │ ├── receiver: ∅
│ │ │ ├── call_operator_loc: ∅
│ │ │ ├── name: :system
@@ -33,14 +34,13 @@
│ │ │ ├── opening_loc: (2,8)-(2,9) = "("
│ │ │ ├── arguments:
│ │ │ │ @ ArgumentsNode (location: (2,9)-(2,12))
- │ │ │ │ ├── arguments: (length: 1)
- │ │ │ │ │ └── @ LocalVariableReadNode (location: (2,9)-(2,12))
- │ │ │ │ │ ├── name: :cmd
- │ │ │ │ │ └── depth: 0
- │ │ │ │ └── flags: ∅
+ │ │ │ │ ├── flags: ∅
+ │ │ │ │ └── arguments: (length: 1)
+ │ │ │ │ └── @ LocalVariableReadNode (location: (2,9)-(2,12))
+ │ │ │ │ ├── name: :cmd
+ │ │ │ │ └── depth: 0
│ │ │ ├── closing_loc: (2,12)-(2,13) = ")"
- │ │ │ ├── block: ∅
- │ │ │ └── flags: ∅
+ │ │ │ └── block: ∅
│ │ ├── rescue_clause:
│ │ │ @ RescueNode (location: (3,0)-(4,5))
│ │ │ ├── keyword_loc: (3,0)-(3,6) = "rescue"
@@ -85,6 +85,7 @@
│ │ └── @ RescueModifierNode (location: (9,2)-(9,24))
│ │ ├── expression:
│ │ │ @ CallNode (location: (9,2)-(9,13))
+ │ │ │ ├── flags: ∅
│ │ │ ├── receiver: ∅
│ │ │ ├── call_operator_loc: ∅
│ │ │ ├── name: :system
@@ -92,14 +93,13 @@
│ │ │ ├── opening_loc: (9,8)-(9,9) = "("
│ │ │ ├── arguments:
│ │ │ │ @ ArgumentsNode (location: (9,9)-(9,12))
- │ │ │ │ ├── arguments: (length: 1)
- │ │ │ │ │ └── @ LocalVariableReadNode (location: (9,9)-(9,12))
- │ │ │ │ │ ├── name: :cmd
- │ │ │ │ │ └── depth: 0
- │ │ │ │ └── flags: ∅
+ │ │ │ │ ├── flags: ∅
+ │ │ │ │ └── arguments: (length: 1)
+ │ │ │ │ └── @ LocalVariableReadNode (location: (9,9)-(9,12))
+ │ │ │ │ ├── name: :cmd
+ │ │ │ │ └── depth: 0
│ │ │ ├── closing_loc: (9,12)-(9,13) = ")"
- │ │ │ ├── block: ∅
- │ │ │ └── flags: ∅
+ │ │ │ └── block: ∅
│ │ ├── keyword_loc: (9,14)-(9,20) = "rescue"
│ │ └── rescue_expression:
│ │ @ NilNode (location: (9,21)-(9,24))
@@ -133,6 +133,7 @@
│ └── @ RescueModifierNode (location: (13,21)-(13,43))
│ ├── expression:
│ │ @ CallNode (location: (13,21)-(13,32))
+ │ │ ├── flags: ∅
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
│ │ ├── name: :system
@@ -140,14 +141,13 @@
│ │ ├── opening_loc: (13,27)-(13,28) = "("
│ │ ├── arguments:
│ │ │ @ ArgumentsNode (location: (13,28)-(13,31))
- │ │ │ ├── arguments: (length: 1)
- │ │ │ │ └── @ LocalVariableReadNode (location: (13,28)-(13,31))
- │ │ │ │ ├── name: :cmd
- │ │ │ │ └── depth: 0
- │ │ │ └── flags: ∅
+ │ │ │ ├── flags: ∅
+ │ │ │ └── arguments: (length: 1)
+ │ │ │ └── @ LocalVariableReadNode (location: (13,28)-(13,31))
+ │ │ │ ├── name: :cmd
+ │ │ │ └── depth: 0
│ │ ├── closing_loc: (13,31)-(13,32) = ")"
- │ │ ├── block: ∅
- │ │ └── flags: ∅
+ │ │ └── block: ∅
│ ├── keyword_loc: (13,33)-(13,39) = "rescue"
│ └── rescue_expression:
│ @ NilNode (location: (13,40)-(13,43))
diff --git a/test/prism/snapshots/seattlerb/difficult0_.txt b/test/prism/snapshots/seattlerb/difficult0_.txt
index 1810fa0dae..d5b6a87c1e 100644
--- a/test/prism/snapshots/seattlerb/difficult0_.txt
+++ b/test/prism/snapshots/seattlerb/difficult0_.txt
@@ -4,6 +4,7 @@
@ StatementsNode (location: (1,0)-(4,8))
└── body: (length: 1)
└── @ CallNode (location: (1,0)-(4,8))
+ ├── flags: ∅
├── receiver: ∅
├── call_operator_loc: ∅
├── name: :p
@@ -11,62 +12,61 @@
├── opening_loc: ∅
├── arguments:
│ @ ArgumentsNode (location: (1,2)-(4,8))
- │ ├── arguments: (length: 1)
- │ │ └── @ CallNode (location: (1,2)-(4,8))
- │ │ ├── receiver:
- │ │ │ @ CallNode (location: (1,2)-(4,4))
- │ │ │ ├── receiver:
- │ │ │ │ @ StringNode (location: (1,2)-(1,8))
- │ │ │ │ ├── flags: ∅
- │ │ │ │ ├── opening_loc: (1,2)-(1,8) = "<<-END"
- │ │ │ │ ├── content_loc: (2,0)-(3,0) = " a\n"
- │ │ │ │ ├── closing_loc: (3,0)-(4,0) = " END\n"
- │ │ │ │ └── unescaped: " a\n"
- │ │ │ ├── call_operator_loc: ∅
- │ │ │ ├── name: :+
- │ │ │ ├── message_loc: (1,8)-(1,9) = "+"
- │ │ │ ├── opening_loc: ∅
- │ │ │ ├── arguments:
- │ │ │ │ @ ArgumentsNode (location: (1,9)-(4,4))
- │ │ │ │ ├── arguments: (length: 1)
- │ │ │ │ │ └── @ InterpolatedStringNode (location: (1,9)-(4,4))
- │ │ │ │ │ ├── opening_loc: (1,9)-(1,10) = "'"
- │ │ │ │ │ ├── parts: (length: 2)
- │ │ │ │ │ │ ├── @ StringNode (location: (1,10)-(2,0))
- │ │ │ │ │ │ │ ├── flags: ∅
- │ │ │ │ │ │ │ ├── opening_loc: ∅
- │ │ │ │ │ │ │ ├── content_loc: (1,10)-(2,0) = "b\n"
- │ │ │ │ │ │ │ ├── closing_loc: ∅
- │ │ │ │ │ │ │ └── unescaped: "b\n"
- │ │ │ │ │ │ └── @ StringNode (location: (4,0)-(4,3))
- │ │ │ │ │ │ ├── flags: ∅
- │ │ │ │ │ │ ├── opening_loc: ∅
- │ │ │ │ │ │ ├── content_loc: (4,0)-(4,3) = " c"
- │ │ │ │ │ │ ├── closing_loc: ∅
- │ │ │ │ │ │ └── unescaped: " c"
- │ │ │ │ │ └── closing_loc: (4,3)-(4,4) = "'"
- │ │ │ │ └── flags: ∅
- │ │ │ ├── closing_loc: ∅
- │ │ │ ├── block: ∅
- │ │ │ └── flags: ∅
- │ │ ├── call_operator_loc: ∅
- │ │ ├── name: :+
- │ │ ├── message_loc: (4,4)-(4,5) = "+"
- │ │ ├── opening_loc: ∅
- │ │ ├── arguments:
- │ │ │ @ ArgumentsNode (location: (4,5)-(4,8))
- │ │ │ ├── arguments: (length: 1)
- │ │ │ │ └── @ StringNode (location: (4,5)-(4,8))
- │ │ │ │ ├── flags: ∅
- │ │ │ │ ├── opening_loc: (4,5)-(4,6) = "'"
- │ │ │ │ ├── content_loc: (4,6)-(4,7) = "d"
- │ │ │ │ ├── closing_loc: (4,7)-(4,8) = "'"
- │ │ │ │ └── unescaped: "d"
- │ │ │ └── flags: ∅
- │ │ ├── closing_loc: ∅
- │ │ ├── block: ∅
- │ │ └── flags: ∅
- │ └── flags: ∅
+ │ ├── flags: ∅
+ │ └── arguments: (length: 1)
+ │ └── @ CallNode (location: (1,2)-(4,8))
+ │ ├── flags: ∅
+ │ ├── receiver:
+ │ │ @ CallNode (location: (1,2)-(4,4))
+ │ │ ├── flags: ∅
+ │ │ ├── receiver:
+ │ │ │ @ StringNode (location: (1,2)-(1,8))
+ │ │ │ ├── flags: ∅
+ │ │ │ ├── opening_loc: (1,2)-(1,8) = "<<-END"
+ │ │ │ ├── content_loc: (2,0)-(3,0) = " a\n"
+ │ │ │ ├── closing_loc: (3,0)-(4,0) = " END\n"
+ │ │ │ └── unescaped: " a\n"
+ │ │ ├── call_operator_loc: ∅
+ │ │ ├── name: :+
+ │ │ ├── message_loc: (1,8)-(1,9) = "+"
+ │ │ ├── opening_loc: ∅
+ │ │ ├── arguments:
+ │ │ │ @ ArgumentsNode (location: (1,9)-(4,4))
+ │ │ │ ├── flags: ∅
+ │ │ │ └── arguments: (length: 1)
+ │ │ │ └── @ InterpolatedStringNode (location: (1,9)-(4,4))
+ │ │ │ ├── opening_loc: (1,9)-(1,10) = "'"
+ │ │ │ ├── parts: (length: 2)
+ │ │ │ │ ├── @ StringNode (location: (1,10)-(2,0))
+ │ │ │ │ │ ├── flags: ∅
+ │ │ │ │ │ ├── opening_loc: ∅
+ │ │ │ │ │ ├── content_loc: (1,10)-(2,0) = "b\n"
+ │ │ │ │ │ ├── closing_loc: ∅
+ │ │ │ │ │ └── unescaped: "b\n"
+ │ │ │ │ └── @ StringNode (location: (4,0)-(4,3))
+ │ │ │ │ ├── flags: ∅
+ │ │ │ │ ├── opening_loc: ∅
+ │ │ │ │ ├── content_loc: (4,0)-(4,3) = " c"
+ │ │ │ │ ├── closing_loc: ∅
+ │ │ │ │ └── unescaped: " c"
+ │ │ │ └── closing_loc: (4,3)-(4,4) = "'"
+ │ │ ├── closing_loc: ∅
+ │ │ └── block: ∅
+ │ ├── call_operator_loc: ∅
+ │ ├── name: :+
+ │ ├── message_loc: (4,4)-(4,5) = "+"
+ │ ├── opening_loc: ∅
+ │ ├── arguments:
+ │ │ @ ArgumentsNode (location: (4,5)-(4,8))
+ │ │ ├── flags: ∅
+ │ │ └── arguments: (length: 1)
+ │ │ └── @ StringNode (location: (4,5)-(4,8))
+ │ │ ├── flags: ∅
+ │ │ ├── opening_loc: (4,5)-(4,6) = "'"
+ │ │ ├── content_loc: (4,6)-(4,7) = "d"
+ │ │ ├── closing_loc: (4,7)-(4,8) = "'"
+ │ │ └── unescaped: "d"
+ │ ├── closing_loc: ∅
+ │ └── block: ∅
├── closing_loc: ∅
- ├── block: ∅
- └── flags: ∅
+ └── block: ∅
diff --git a/test/prism/snapshots/seattlerb/difficult1_line_numbers.txt b/test/prism/snapshots/seattlerb/difficult1_line_numbers.txt
index 17a7a3cb68..646a365ef0 100644
--- a/test/prism/snapshots/seattlerb/difficult1_line_numbers.txt
+++ b/test/prism/snapshots/seattlerb/difficult1_line_numbers.txt
@@ -12,6 +12,7 @@
│ @ StatementsNode (location: (2,2)-(11,11))
│ └── body: (length: 10)
│ ├── @ CallNode (location: (2,2)-(2,5))
+ │ │ ├── flags: ∅
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
│ │ ├── name: :p
@@ -19,16 +20,17 @@
│ │ ├── opening_loc: ∅
│ │ ├── arguments:
│ │ │ @ ArgumentsNode (location: (2,4)-(2,5))
- │ │ │ ├── arguments: (length: 1)
- │ │ │ │ └── @ IntegerNode (location: (2,4)-(2,5))
- │ │ │ │ └── flags: decimal
- │ │ │ └── flags: ∅
+ │ │ │ ├── flags: ∅
+ │ │ │ └── arguments: (length: 1)
+ │ │ │ └── @ IntegerNode (location: (2,4)-(2,5))
+ │ │ │ └── flags: decimal
│ │ ├── closing_loc: ∅
- │ │ ├── block: ∅
- │ │ └── flags: ∅
+ │ │ └── block: ∅
│ ├── @ CallNode (location: (3,2)-(3,7))
+ │ │ ├── flags: ∅
│ │ ├── receiver:
│ │ │ @ CallNode (location: (3,2)-(3,3))
+ │ │ │ ├── flags: variable_call
│ │ │ ├── receiver: ∅
│ │ │ ├── call_operator_loc: ∅
│ │ │ ├── name: :a
@@ -36,24 +38,24 @@
│ │ │ ├── opening_loc: ∅
│ │ │ ├── arguments: ∅
│ │ │ ├── closing_loc: ∅
- │ │ │ ├── block: ∅
- │ │ │ └── flags: variable_call
+ │ │ │ └── block: ∅
│ │ ├── call_operator_loc: (3,3)-(3,4) = "."
│ │ ├── name: :b
│ │ ├── message_loc: (3,4)-(3,5) = "b"
│ │ ├── opening_loc: ∅
│ │ ├── arguments:
│ │ │ @ ArgumentsNode (location: (3,6)-(3,7))
- │ │ │ ├── arguments: (length: 1)
- │ │ │ │ └── @ IntegerNode (location: (3,6)-(3,7))
- │ │ │ │ └── flags: decimal
- │ │ │ └── flags: ∅
+ │ │ │ ├── flags: ∅
+ │ │ │ └── arguments: (length: 1)
+ │ │ │ └── @ IntegerNode (location: (3,6)-(3,7))
+ │ │ │ └── flags: decimal
│ │ ├── closing_loc: ∅
- │ │ ├── block: ∅
- │ │ └── flags: ∅
+ │ │ └── block: ∅
│ ├── @ CallNode (location: (4,2)-(4,10))
+ │ │ ├── flags: ∅
│ │ ├── receiver:
│ │ │ @ CallNode (location: (4,2)-(4,3))
+ │ │ │ ├── flags: variable_call
│ │ │ ├── receiver: ∅
│ │ │ ├── call_operator_loc: ∅
│ │ │ ├── name: :c
@@ -61,26 +63,26 @@
│ │ │ ├── opening_loc: ∅
│ │ │ ├── arguments: ∅
│ │ │ ├── closing_loc: ∅
- │ │ │ ├── block: ∅
- │ │ │ └── flags: variable_call
+ │ │ │ └── block: ∅
│ │ ├── call_operator_loc: (4,3)-(4,4) = "."
│ │ ├── name: :d
│ │ ├── message_loc: (4,4)-(4,5) = "d"
│ │ ├── opening_loc: ∅
│ │ ├── arguments:
│ │ │ @ ArgumentsNode (location: (4,6)-(4,10))
- │ │ │ ├── arguments: (length: 2)
- │ │ │ │ ├── @ IntegerNode (location: (4,6)-(4,7))
- │ │ │ │ │ └── flags: decimal
- │ │ │ │ └── @ IntegerNode (location: (4,9)-(4,10))
- │ │ │ │ └── flags: decimal
- │ │ │ └── flags: ∅
+ │ │ │ ├── flags: ∅
+ │ │ │ └── arguments: (length: 2)
+ │ │ │ ├── @ IntegerNode (location: (4,6)-(4,7))
+ │ │ │ │ └── flags: decimal
+ │ │ │ └── @ IntegerNode (location: (4,9)-(4,10))
+ │ │ │ └── flags: decimal
│ │ ├── closing_loc: ∅
- │ │ ├── block: ∅
- │ │ └── flags: ∅
+ │ │ └── block: ∅
│ ├── @ CallNode (location: (5,2)-(5,7))
+ │ │ ├── flags: ∅
│ │ ├── receiver:
│ │ │ @ CallNode (location: (5,2)-(5,3))
+ │ │ │ ├── flags: variable_call
│ │ │ ├── receiver: ∅
│ │ │ ├── call_operator_loc: ∅
│ │ │ ├── name: :e
@@ -88,24 +90,24 @@
│ │ │ ├── opening_loc: ∅
│ │ │ ├── arguments: ∅
│ │ │ ├── closing_loc: ∅
- │ │ │ ├── block: ∅
- │ │ │ └── flags: variable_call
+ │ │ │ └── block: ∅
│ │ ├── call_operator_loc: (5,3)-(5,4) = "."
│ │ ├── name: :f
│ │ ├── message_loc: (5,4)-(5,5) = "f"
│ │ ├── opening_loc: ∅
│ │ ├── arguments:
│ │ │ @ ArgumentsNode (location: (5,6)-(5,7))
- │ │ │ ├── arguments: (length: 1)
- │ │ │ │ └── @ IntegerNode (location: (5,6)-(5,7))
- │ │ │ │ └── flags: decimal
- │ │ │ └── flags: ∅
+ │ │ │ ├── flags: ∅
+ │ │ │ └── arguments: (length: 1)
+ │ │ │ └── @ IntegerNode (location: (5,6)-(5,7))
+ │ │ │ └── flags: decimal
│ │ ├── closing_loc: ∅
- │ │ ├── block: ∅
- │ │ └── flags: ∅
+ │ │ └── block: ∅
│ ├── @ CallNode (location: (6,2)-(6,10))
+ │ │ ├── flags: ∅
│ │ ├── receiver:
│ │ │ @ CallNode (location: (6,2)-(6,3))
+ │ │ │ ├── flags: variable_call
│ │ │ ├── receiver: ∅
│ │ │ ├── call_operator_loc: ∅
│ │ │ ├── name: :g
@@ -113,24 +115,23 @@
│ │ │ ├── opening_loc: ∅
│ │ │ ├── arguments: ∅
│ │ │ ├── closing_loc: ∅
- │ │ │ ├── block: ∅
- │ │ │ └── flags: variable_call
+ │ │ │ └── block: ∅
│ │ ├── call_operator_loc: (6,3)-(6,4) = "."
│ │ ├── name: :h
│ │ ├── message_loc: (6,4)-(6,5) = "h"
│ │ ├── opening_loc: ∅
│ │ ├── arguments:
│ │ │ @ ArgumentsNode (location: (6,6)-(6,10))
- │ │ │ ├── arguments: (length: 2)
- │ │ │ │ ├── @ IntegerNode (location: (6,6)-(6,7))
- │ │ │ │ │ └── flags: decimal
- │ │ │ │ └── @ IntegerNode (location: (6,9)-(6,10))
- │ │ │ │ └── flags: decimal
- │ │ │ └── flags: ∅
+ │ │ │ ├── flags: ∅
+ │ │ │ └── arguments: (length: 2)
+ │ │ │ ├── @ IntegerNode (location: (6,6)-(6,7))
+ │ │ │ │ └── flags: decimal
+ │ │ │ └── @ IntegerNode (location: (6,9)-(6,10))
+ │ │ │ └── flags: decimal
│ │ ├── closing_loc: ∅
- │ │ ├── block: ∅
- │ │ └── flags: ∅
+ │ │ └── block: ∅
│ ├── @ CallNode (location: (7,2)-(7,6))
+ │ │ ├── flags: ∅
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
│ │ ├── name: :p
@@ -138,16 +139,17 @@
│ │ ├── opening_loc: (7,3)-(7,4) = "("
│ │ ├── arguments:
│ │ │ @ ArgumentsNode (location: (7,4)-(7,5))
- │ │ │ ├── arguments: (length: 1)
- │ │ │ │ └── @ IntegerNode (location: (7,4)-(7,5))
- │ │ │ │ └── flags: decimal
- │ │ │ └── flags: ∅
+ │ │ │ ├── flags: ∅
+ │ │ │ └── arguments: (length: 1)
+ │ │ │ └── @ IntegerNode (location: (7,4)-(7,5))
+ │ │ │ └── flags: decimal
│ │ ├── closing_loc: (7,5)-(7,6) = ")"
- │ │ ├── block: ∅
- │ │ └── flags: ∅
+ │ │ └── block: ∅
│ ├── @ CallNode (location: (8,2)-(8,8))
+ │ │ ├── flags: ∅
│ │ ├── receiver:
│ │ │ @ CallNode (location: (8,2)-(8,3))
+ │ │ │ ├── flags: variable_call
│ │ │ ├── receiver: ∅
│ │ │ ├── call_operator_loc: ∅
│ │ │ ├── name: :a
@@ -155,24 +157,24 @@
│ │ │ ├── opening_loc: ∅
│ │ │ ├── arguments: ∅
│ │ │ ├── closing_loc: ∅
- │ │ │ ├── block: ∅
- │ │ │ └── flags: variable_call
+ │ │ │ └── block: ∅
│ │ ├── call_operator_loc: (8,3)-(8,4) = "."
│ │ ├── name: :b
│ │ ├── message_loc: (8,4)-(8,5) = "b"
│ │ ├── opening_loc: (8,5)-(8,6) = "("
│ │ ├── arguments:
│ │ │ @ ArgumentsNode (location: (8,6)-(8,7))
- │ │ │ ├── arguments: (length: 1)
- │ │ │ │ └── @ IntegerNode (location: (8,6)-(8,7))
- │ │ │ │ └── flags: decimal
- │ │ │ └── flags: ∅
+ │ │ │ ├── flags: ∅
+ │ │ │ └── arguments: (length: 1)
+ │ │ │ └── @ IntegerNode (location: (8,6)-(8,7))
+ │ │ │ └── flags: decimal
│ │ ├── closing_loc: (8,7)-(8,8) = ")"
- │ │ ├── block: ∅
- │ │ └── flags: ∅
+ │ │ └── block: ∅
│ ├── @ CallNode (location: (9,2)-(9,11))
+ │ │ ├── flags: ∅
│ │ ├── receiver:
│ │ │ @ CallNode (location: (9,2)-(9,3))
+ │ │ │ ├── flags: variable_call
│ │ │ ├── receiver: ∅
│ │ │ ├── call_operator_loc: ∅
│ │ │ ├── name: :c
@@ -180,26 +182,26 @@
│ │ │ ├── opening_loc: ∅
│ │ │ ├── arguments: ∅
│ │ │ ├── closing_loc: ∅
- │ │ │ ├── block: ∅
- │ │ │ └── flags: variable_call
+ │ │ │ └── block: ∅
│ │ ├── call_operator_loc: (9,3)-(9,4) = "."
│ │ ├── name: :d
│ │ ├── message_loc: (9,4)-(9,5) = "d"
│ │ ├── opening_loc: (9,5)-(9,6) = "("
│ │ ├── arguments:
│ │ │ @ ArgumentsNode (location: (9,6)-(9,10))
- │ │ │ ├── arguments: (length: 2)
- │ │ │ │ ├── @ IntegerNode (location: (9,6)-(9,7))
- │ │ │ │ │ └── flags: decimal
- │ │ │ │ └── @ IntegerNode (location: (9,9)-(9,10))
- │ │ │ │ └── flags: decimal
- │ │ │ └── flags: ∅
+ │ │ │ ├── flags: ∅
+ │ │ │ └── arguments: (length: 2)
+ │ │ │ ├── @ IntegerNode (location: (9,6)-(9,7))
+ │ │ │ │ └── flags: decimal
+ │ │ │ └── @ IntegerNode (location: (9,9)-(9,10))
+ │ │ │ └── flags: decimal
│ │ ├── closing_loc: (9,10)-(9,11) = ")"
- │ │ ├── block: ∅
- │ │ └── flags: ∅
+ │ │ └── block: ∅
│ ├── @ CallNode (location: (10,2)-(10,8))
+ │ │ ├── flags: ∅
│ │ ├── receiver:
│ │ │ @ CallNode (location: (10,2)-(10,3))
+ │ │ │ ├── flags: variable_call
│ │ │ ├── receiver: ∅
│ │ │ ├── call_operator_loc: ∅
│ │ │ ├── name: :e
@@ -207,24 +209,24 @@
│ │ │ ├── opening_loc: ∅
│ │ │ ├── arguments: ∅
│ │ │ ├── closing_loc: ∅
- │ │ │ ├── block: ∅
- │ │ │ └── flags: variable_call
+ │ │ │ └── block: ∅
│ │ ├── call_operator_loc: (10,3)-(10,4) = "."
│ │ ├── name: :f
│ │ ├── message_loc: (10,4)-(10,5) = "f"
│ │ ├── opening_loc: (10,5)-(10,6) = "("
│ │ ├── arguments:
│ │ │ @ ArgumentsNode (location: (10,6)-(10,7))
- │ │ │ ├── arguments: (length: 1)
- │ │ │ │ └── @ IntegerNode (location: (10,6)-(10,7))
- │ │ │ │ └── flags: decimal
- │ │ │ └── flags: ∅
+ │ │ │ ├── flags: ∅
+ │ │ │ └── arguments: (length: 1)
+ │ │ │ └── @ IntegerNode (location: (10,6)-(10,7))
+ │ │ │ └── flags: decimal
│ │ ├── closing_loc: (10,7)-(10,8) = ")"
- │ │ ├── block: ∅
- │ │ └── flags: ∅
+ │ │ └── block: ∅
│ └── @ CallNode (location: (11,2)-(11,11))
+ │ ├── flags: ∅
│ ├── receiver:
│ │ @ CallNode (location: (11,2)-(11,3))
+ │ │ ├── flags: variable_call
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
│ │ ├── name: :g
@@ -232,22 +234,20 @@
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
- │ │ ├── block: ∅
- │ │ └── flags: variable_call
+ │ │ └── block: ∅
│ ├── call_operator_loc: (11,3)-(11,4) = "."
│ ├── name: :h
│ ├── message_loc: (11,4)-(11,5) = "h"
│ ├── opening_loc: (11,5)-(11,6) = "("
│ ├── arguments:
│ │ @ ArgumentsNode (location: (11,6)-(11,10))
- │ │ ├── arguments: (length: 2)
- │ │ │ ├── @ IntegerNode (location: (11,6)-(11,7))
- │ │ │ │ └── flags: decimal
- │ │ │ └── @ IntegerNode (location: (11,9)-(11,10))
- │ │ │ └── flags: decimal
- │ │ └── flags: ∅
+ │ │ ├── flags: ∅
+ │ │ └── arguments: (length: 2)
+ │ │ ├── @ IntegerNode (location: (11,6)-(11,7))
+ │ │ │ └── flags: decimal
+ │ │ └── @ IntegerNode (location: (11,9)-(11,10))
+ │ │ └── flags: decimal
│ ├── closing_loc: (11,10)-(11,11) = ")"
- │ ├── block: ∅
- │ └── flags: ∅
+ │ └── block: ∅
├── consequent: ∅
└── end_keyword_loc: (12,0)-(12,3) = "end"
diff --git a/test/prism/snapshots/seattlerb/difficult1_line_numbers2.txt b/test/prism/snapshots/seattlerb/difficult1_line_numbers2.txt
index f44437480f..4d23cd5efe 100644
--- a/test/prism/snapshots/seattlerb/difficult1_line_numbers2.txt
+++ b/test/prism/snapshots/seattlerb/difficult1_line_numbers2.txt
@@ -12,6 +12,7 @@
│ │ @ StatementsNode (location: (2,2)-(5,6))
│ │ └── body: (length: 4)
│ │ ├── @ CallNode (location: (2,2)-(2,8))
+ │ │ │ ├── flags: ∅
│ │ │ ├── receiver: ∅
│ │ │ ├── call_operator_loc: ∅
│ │ │ ├── name: :p
@@ -19,17 +20,16 @@
│ │ │ ├── opening_loc: (2,3)-(2,4) = "("
│ │ │ ├── arguments:
│ │ │ │ @ ArgumentsNode (location: (2,4)-(2,7))
- │ │ │ │ ├── arguments: (length: 1)
- │ │ │ │ │ └── @ StringNode (location: (2,4)-(2,7))
- │ │ │ │ │ ├── flags: ∅
- │ │ │ │ │ ├── opening_loc: (2,4)-(2,5) = "\""
- │ │ │ │ │ ├── content_loc: (2,5)-(2,6) = "a"
- │ │ │ │ │ ├── closing_loc: (2,6)-(2,7) = "\""
- │ │ │ │ │ └── unescaped: "a"
- │ │ │ │ └── flags: ∅
+ │ │ │ │ ├── flags: ∅
+ │ │ │ │ └── arguments: (length: 1)
+ │ │ │ │ └── @ StringNode (location: (2,4)-(2,7))
+ │ │ │ │ ├── flags: ∅
+ │ │ │ │ ├── opening_loc: (2,4)-(2,5) = "\""
+ │ │ │ │ ├── content_loc: (2,5)-(2,6) = "a"
+ │ │ │ │ ├── closing_loc: (2,6)-(2,7) = "\""
+ │ │ │ │ └── unescaped: "a"
│ │ │ ├── closing_loc: (2,7)-(2,8) = ")"
- │ │ │ ├── block: ∅
- │ │ │ └── flags: ∅
+ │ │ │ └── block: ∅
│ │ ├── @ LocalVariableWriteNode (location: (3,2)-(3,7))
│ │ │ ├── name: :b
│ │ │ ├── depth: 0
@@ -39,6 +39,7 @@
│ │ │ │ └── flags: decimal
│ │ │ └── operator_loc: (3,4)-(3,5) = "="
│ │ ├── @ CallNode (location: (4,2)-(4,5))
+ │ │ │ ├── flags: ∅
│ │ │ ├── receiver: ∅
│ │ │ ├── call_operator_loc: ∅
│ │ │ ├── name: :p
@@ -46,14 +47,13 @@
│ │ │ ├── opening_loc: ∅
│ │ │ ├── arguments:
│ │ │ │ @ ArgumentsNode (location: (4,4)-(4,5))
- │ │ │ │ ├── arguments: (length: 1)
- │ │ │ │ │ └── @ LocalVariableReadNode (location: (4,4)-(4,5))
- │ │ │ │ │ ├── name: :b
- │ │ │ │ │ └── depth: 0
- │ │ │ │ └── flags: ∅
+ │ │ │ │ ├── flags: ∅
+ │ │ │ │ └── arguments: (length: 1)
+ │ │ │ │ └── @ LocalVariableReadNode (location: (4,4)-(4,5))
+ │ │ │ │ ├── name: :b
+ │ │ │ │ └── depth: 0
│ │ │ ├── closing_loc: ∅
- │ │ │ ├── block: ∅
- │ │ │ └── flags: ∅
+ │ │ │ └── block: ∅
│ │ └── @ LocalVariableWriteNode (location: (5,2)-(5,6))
│ │ ├── name: :c
│ │ ├── depth: 0
@@ -65,6 +65,7 @@
│ ├── consequent: ∅
│ └── end_keyword_loc: (6,0)-(6,3) = "end"
└── @ CallNode (location: (7,0)-(7,1))
+ ├── flags: variable_call
├── receiver: ∅
├── call_operator_loc: ∅
├── name: :a
@@ -72,5 +73,4 @@
├── opening_loc: ∅
├── arguments: ∅
├── closing_loc: ∅
- ├── block: ∅
- └── flags: variable_call
+ └── block: ∅
diff --git a/test/prism/snapshots/seattlerb/difficult2_.txt b/test/prism/snapshots/seattlerb/difficult2_.txt
index 599c784501..4d5b3ab528 100644
--- a/test/prism/snapshots/seattlerb/difficult2_.txt
+++ b/test/prism/snapshots/seattlerb/difficult2_.txt
@@ -13,6 +13,7 @@
│ │ @ StatementsNode (location: (1,4)-(1,9))
│ │ └── body: (length: 1)
│ │ └── @ CallNode (location: (1,4)-(1,9))
+ │ │ ├── flags: ∅
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
│ │ ├── name: :b
@@ -20,17 +21,16 @@
│ │ ├── opening_loc: (1,5)-(1,6) = "("
│ │ ├── arguments:
│ │ │ @ ArgumentsNode (location: (1,6)-(1,8))
- │ │ │ ├── arguments: (length: 1)
- │ │ │ │ └── @ StringNode (location: (1,6)-(1,8))
- │ │ │ │ ├── flags: ∅
- │ │ │ │ ├── opening_loc: (1,6)-(1,7) = "'"
- │ │ │ │ ├── content_loc: (1,7)-(1,7) = ""
- │ │ │ │ ├── closing_loc: (1,7)-(1,8) = "'"
- │ │ │ │ └── unescaped: ""
- │ │ │ └── flags: ∅
+ │ │ │ ├── flags: ∅
+ │ │ │ └── arguments: (length: 1)
+ │ │ │ └── @ StringNode (location: (1,6)-(1,8))
+ │ │ │ ├── flags: ∅
+ │ │ │ ├── opening_loc: (1,6)-(1,7) = "'"
+ │ │ │ ├── content_loc: (1,7)-(1,7) = ""
+ │ │ │ ├── closing_loc: (1,7)-(1,8) = "'"
+ │ │ │ └── unescaped: ""
│ │ ├── closing_loc: (1,8)-(1,9) = ")"
- │ │ ├── block: ∅
- │ │ └── flags: ∅
+ │ │ └── block: ∅
│ ├── consequent:
│ │ @ ElseNode (location: (1,10)-(1,13))
│ │ ├── else_keyword_loc: (1,10)-(1,11) = ":"
@@ -42,6 +42,7 @@
│ │ └── end_keyword_loc: ∅
│ └── end_keyword_loc: ∅
└── @ CallNode (location: (2,0)-(2,6))
+ ├── flags: ∅
├── receiver: ∅
├── call_operator_loc: ∅
├── name: :a
@@ -49,21 +50,20 @@
├── opening_loc: ∅
├── arguments:
│ @ ArgumentsNode (location: (2,2)-(2,6))
- │ ├── arguments: (length: 1)
- │ │ └── @ KeywordHashNode (location: (2,2)-(2,6))
- │ │ └── elements: (length: 1)
- │ │ └── @ AssocNode (location: (2,2)-(2,6))
- │ │ ├── key:
- │ │ │ @ SymbolNode (location: (2,2)-(2,4))
- │ │ │ ├── opening_loc: ∅
- │ │ │ ├── value_loc: (2,2)-(2,3) = "d"
- │ │ │ ├── closing_loc: (2,3)-(2,4) = ":"
- │ │ │ └── unescaped: "d"
- │ │ ├── value:
- │ │ │ @ IntegerNode (location: (2,5)-(2,6))
- │ │ │ └── flags: decimal
- │ │ └── operator_loc: ∅
- │ └── flags: ∅
+ │ ├── flags: ∅
+ │ └── arguments: (length: 1)
+ │ └── @ KeywordHashNode (location: (2,2)-(2,6))
+ │ └── elements: (length: 1)
+ │ └── @ AssocNode (location: (2,2)-(2,6))
+ │ ├── key:
+ │ │ @ SymbolNode (location: (2,2)-(2,4))
+ │ │ ├── opening_loc: ∅
+ │ │ ├── value_loc: (2,2)-(2,3) = "d"
+ │ │ ├── closing_loc: (2,3)-(2,4) = ":"
+ │ │ └── unescaped: "d"
+ │ ├── value:
+ │ │ @ IntegerNode (location: (2,5)-(2,6))
+ │ │ └── flags: decimal
+ │ └── operator_loc: ∅
├── closing_loc: ∅
- ├── block: ∅
- └── flags: ∅
+ └── block: ∅
diff --git a/test/prism/snapshots/seattlerb/difficult3_.txt b/test/prism/snapshots/seattlerb/difficult3_.txt
index 11d687db2b..6a6306c01b 100644
--- a/test/prism/snapshots/seattlerb/difficult3_.txt
+++ b/test/prism/snapshots/seattlerb/difficult3_.txt
@@ -4,6 +4,7 @@
@ StatementsNode (location: (1,0)-(1,18))
└── body: (length: 1)
└── @ CallNode (location: (1,0)-(1,18))
+ ├── flags: ∅
├── receiver: ∅
├── call_operator_loc: ∅
├── name: :f
@@ -11,40 +12,39 @@
├── opening_loc: ∅
├── arguments: ∅
├── closing_loc: ∅
- ├── block:
- │ @ BlockNode (location: (1,2)-(1,18))
- │ ├── locals: [:a, :b, :c]
- │ ├── locals_body_index: 3
- │ ├── parameters:
- │ │ @ BlockParametersNode (location: (1,4)-(1,16))
- │ │ ├── parameters:
- │ │ │ @ ParametersNode (location: (1,5)-(1,15))
- │ │ │ ├── requireds: (length: 2)
- │ │ │ │ ├── @ RequiredParameterNode (location: (1,5)-(1,6))
- │ │ │ │ │ └── name: :a
- │ │ │ │ └── @ MultiTargetNode (location: (1,8)-(1,15))
- │ │ │ │ ├── lefts: (length: 1)
- │ │ │ │ │ └── @ RequiredParameterNode (location: (1,9)-(1,10))
- │ │ │ │ │ └── name: :b
- │ │ │ │ ├── rest:
- │ │ │ │ │ @ SplatNode (location: (1,12)-(1,14))
- │ │ │ │ │ ├── operator_loc: (1,12)-(1,13) = "*"
- │ │ │ │ │ └── expression:
- │ │ │ │ │ @ RequiredParameterNode (location: (1,13)-(1,14))
- │ │ │ │ │ └── name: :c
- │ │ │ │ ├── rights: (length: 0)
- │ │ │ │ ├── lparen_loc: (1,8)-(1,9) = "("
- │ │ │ │ └── rparen_loc: (1,14)-(1,15) = ")"
- │ │ │ ├── optionals: (length: 0)
- │ │ │ ├── rest: ∅
- │ │ │ ├── posts: (length: 0)
- │ │ │ ├── keywords: (length: 0)
- │ │ │ ├── keyword_rest: ∅
- │ │ │ └── block: ∅
- │ │ ├── locals: (length: 0)
- │ │ ├── opening_loc: (1,4)-(1,5) = "|"
- │ │ └── closing_loc: (1,15)-(1,16) = "|"
- │ ├── body: ∅
- │ ├── opening_loc: (1,2)-(1,3) = "{"
- │ └── closing_loc: (1,17)-(1,18) = "}"
- └── flags: ∅
+ └── block:
+ @ BlockNode (location: (1,2)-(1,18))
+ ├── locals: [:a, :b, :c]
+ ├── locals_body_index: 3
+ ├── parameters:
+ │ @ BlockParametersNode (location: (1,4)-(1,16))
+ │ ├── parameters:
+ │ │ @ ParametersNode (location: (1,5)-(1,15))
+ │ │ ├── requireds: (length: 2)
+ │ │ │ ├── @ RequiredParameterNode (location: (1,5)-(1,6))
+ │ │ │ │ └── name: :a
+ │ │ │ └── @ MultiTargetNode (location: (1,8)-(1,15))
+ │ │ │ ├── lefts: (length: 1)
+ │ │ │ │ └── @ RequiredParameterNode (location: (1,9)-(1,10))
+ │ │ │ │ └── name: :b
+ │ │ │ ├── rest:
+ │ │ │ │ @ SplatNode (location: (1,12)-(1,14))
+ │ │ │ │ ├── operator_loc: (1,12)-(1,13) = "*"
+ │ │ │ │ └── expression:
+ │ │ │ │ @ RequiredParameterNode (location: (1,13)-(1,14))
+ │ │ │ │ └── name: :c
+ │ │ │ ├── rights: (length: 0)
+ │ │ │ ├── lparen_loc: (1,8)-(1,9) = "("
+ │ │ │ └── rparen_loc: (1,14)-(1,15) = ")"
+ │ │ ├── optionals: (length: 0)
+ │ │ ├── rest: ∅
+ │ │ ├── posts: (length: 0)
+ │ │ ├── keywords: (length: 0)
+ │ │ ├── keyword_rest: ∅
+ │ │ └── block: ∅
+ │ ├── locals: (length: 0)
+ │ ├── opening_loc: (1,4)-(1,5) = "|"
+ │ └── closing_loc: (1,15)-(1,16) = "|"
+ ├── body: ∅
+ ├── opening_loc: (1,2)-(1,3) = "{"
+ └── closing_loc: (1,17)-(1,18) = "}"
diff --git a/test/prism/snapshots/seattlerb/difficult3_2.txt b/test/prism/snapshots/seattlerb/difficult3_2.txt
index c41903b1b3..753217ca40 100644
--- a/test/prism/snapshots/seattlerb/difficult3_2.txt
+++ b/test/prism/snapshots/seattlerb/difficult3_2.txt
@@ -4,6 +4,7 @@
@ StatementsNode (location: (1,0)-(1,13))
└── body: (length: 1)
└── @ CallNode (location: (1,0)-(1,13))
+ ├── flags: ∅
├── receiver: ∅
├── call_operator_loc: ∅
├── name: :f
@@ -11,31 +12,30 @@
├── opening_loc: ∅
├── arguments: ∅
├── closing_loc: ∅
- ├── block:
- │ @ BlockNode (location: (1,2)-(1,13))
- │ ├── locals: [:a, :b]
- │ ├── locals_body_index: 2
- │ ├── parameters:
- │ │ @ BlockParametersNode (location: (1,4)-(1,11))
- │ │ ├── parameters:
- │ │ │ @ ParametersNode (location: (1,5)-(1,10))
- │ │ │ ├── requireds: (length: 0)
- │ │ │ ├── optionals: (length: 0)
- │ │ │ ├── rest:
- │ │ │ │ @ RestParameterNode (location: (1,5)-(1,7))
- │ │ │ │ ├── name: :a
- │ │ │ │ ├── name_loc: (1,6)-(1,7) = "a"
- │ │ │ │ └── operator_loc: (1,5)-(1,6) = "*"
- │ │ │ ├── posts: (length: 1)
- │ │ │ │ └── @ RequiredParameterNode (location: (1,9)-(1,10))
- │ │ │ │ └── name: :b
- │ │ │ ├── keywords: (length: 0)
- │ │ │ ├── keyword_rest: ∅
- │ │ │ └── block: ∅
- │ │ ├── locals: (length: 0)
- │ │ ├── opening_loc: (1,4)-(1,5) = "|"
- │ │ └── closing_loc: (1,10)-(1,11) = "|"
- │ ├── body: ∅
- │ ├── opening_loc: (1,2)-(1,3) = "{"
- │ └── closing_loc: (1,12)-(1,13) = "}"
- └── flags: ∅
+ └── block:
+ @ BlockNode (location: (1,2)-(1,13))
+ ├── locals: [:a, :b]
+ ├── locals_body_index: 2
+ ├── parameters:
+ │ @ BlockParametersNode (location: (1,4)-(1,11))
+ │ ├── parameters:
+ │ │ @ ParametersNode (location: (1,5)-(1,10))
+ │ │ ├── requireds: (length: 0)
+ │ │ ├── optionals: (length: 0)
+ │ │ ├── rest:
+ │ │ │ @ RestParameterNode (location: (1,5)-(1,7))
+ │ │ │ ├── name: :a
+ │ │ │ ├── name_loc: (1,6)-(1,7) = "a"
+ │ │ │ └── operator_loc: (1,5)-(1,6) = "*"
+ │ │ ├── posts: (length: 1)
+ │ │ │ └── @ RequiredParameterNode (location: (1,9)-(1,10))
+ │ │ │ └── name: :b
+ │ │ ├── keywords: (length: 0)
+ │ │ ├── keyword_rest: ∅
+ │ │ └── block: ∅
+ │ ├── locals: (length: 0)
+ │ ├── opening_loc: (1,4)-(1,5) = "|"
+ │ └── closing_loc: (1,10)-(1,11) = "|"
+ ├── body: ∅
+ ├── opening_loc: (1,2)-(1,3) = "{"
+ └── closing_loc: (1,12)-(1,13) = "}"
diff --git a/test/prism/snapshots/seattlerb/difficult3_3.txt b/test/prism/snapshots/seattlerb/difficult3_3.txt
index 883dc77544..eb2e1baf07 100644
--- a/test/prism/snapshots/seattlerb/difficult3_3.txt
+++ b/test/prism/snapshots/seattlerb/difficult3_3.txt
@@ -4,6 +4,7 @@
@ StatementsNode (location: (1,0)-(1,17))
└── body: (length: 1)
└── @ CallNode (location: (1,0)-(1,17))
+ ├── flags: ∅
├── receiver: ∅
├── call_operator_loc: ∅
├── name: :f
@@ -11,35 +12,34 @@
├── opening_loc: ∅
├── arguments: ∅
├── closing_loc: ∅
- ├── block:
- │ @ BlockNode (location: (1,2)-(1,17))
- │ ├── locals: [:a, :b, :c]
- │ ├── locals_body_index: 3
- │ ├── parameters:
- │ │ @ BlockParametersNode (location: (1,4)-(1,15))
- │ │ ├── parameters:
- │ │ │ @ ParametersNode (location: (1,5)-(1,14))
- │ │ │ ├── requireds: (length: 0)
- │ │ │ ├── optionals: (length: 0)
- │ │ │ ├── rest:
- │ │ │ │ @ RestParameterNode (location: (1,5)-(1,7))
- │ │ │ │ ├── name: :a
- │ │ │ │ ├── name_loc: (1,6)-(1,7) = "a"
- │ │ │ │ └── operator_loc: (1,5)-(1,6) = "*"
- │ │ │ ├── posts: (length: 1)
- │ │ │ │ └── @ RequiredParameterNode (location: (1,9)-(1,10))
- │ │ │ │ └── name: :b
- │ │ │ ├── keywords: (length: 0)
- │ │ │ ├── keyword_rest: ∅
- │ │ │ └── block:
- │ │ │ @ BlockParameterNode (location: (1,12)-(1,14))
- │ │ │ ├── name: :c
- │ │ │ ├── name_loc: (1,13)-(1,14) = "c"
- │ │ │ └── operator_loc: (1,12)-(1,13) = "&"
- │ │ ├── locals: (length: 0)
- │ │ ├── opening_loc: (1,4)-(1,5) = "|"
- │ │ └── closing_loc: (1,14)-(1,15) = "|"
- │ ├── body: ∅
- │ ├── opening_loc: (1,2)-(1,3) = "{"
- │ └── closing_loc: (1,16)-(1,17) = "}"
- └── flags: ∅
+ └── block:
+ @ BlockNode (location: (1,2)-(1,17))
+ ├── locals: [:a, :b, :c]
+ ├── locals_body_index: 3
+ ├── parameters:
+ │ @ BlockParametersNode (location: (1,4)-(1,15))
+ │ ├── parameters:
+ │ │ @ ParametersNode (location: (1,5)-(1,14))
+ │ │ ├── requireds: (length: 0)
+ │ │ ├── optionals: (length: 0)
+ │ │ ├── rest:
+ │ │ │ @ RestParameterNode (location: (1,5)-(1,7))
+ │ │ │ ├── name: :a
+ │ │ │ ├── name_loc: (1,6)-(1,7) = "a"
+ │ │ │ └── operator_loc: (1,5)-(1,6) = "*"
+ │ │ ├── posts: (length: 1)
+ │ │ │ └── @ RequiredParameterNode (location: (1,9)-(1,10))
+ │ │ │ └── name: :b
+ │ │ ├── keywords: (length: 0)
+ │ │ ├── keyword_rest: ∅
+ │ │ └── block:
+ │ │ @ BlockParameterNode (location: (1,12)-(1,14))
+ │ │ ├── name: :c
+ │ │ ├── name_loc: (1,13)-(1,14) = "c"
+ │ │ └── operator_loc: (1,12)-(1,13) = "&"
+ │ ├── locals: (length: 0)
+ │ ├── opening_loc: (1,4)-(1,5) = "|"
+ │ └── closing_loc: (1,14)-(1,15) = "|"
+ ├── body: ∅
+ ├── opening_loc: (1,2)-(1,3) = "{"
+ └── closing_loc: (1,16)-(1,17) = "}"
diff --git a/test/prism/snapshots/seattlerb/difficult3_4.txt b/test/prism/snapshots/seattlerb/difficult3_4.txt
index c23fa784d2..a8be0694c9 100644
--- a/test/prism/snapshots/seattlerb/difficult3_4.txt
+++ b/test/prism/snapshots/seattlerb/difficult3_4.txt
@@ -12,6 +12,7 @@
│ ├── if_keyword_loc: ∅
│ ├── predicate:
│ │ @ CallNode (location: (1,2)-(1,3))
+ │ │ ├── flags: variable_call
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
│ │ ├── name: :b
@@ -19,8 +20,7 @@
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
- │ │ ├── block: ∅
- │ │ └── flags: variable_call
+ │ │ └── block: ∅
│ ├── then_keyword_loc: (1,4)-(1,5) = "?"
│ ├── statements:
│ │ @ StatementsNode (location: (1,6)-(1,10))
diff --git a/test/prism/snapshots/seattlerb/difficult3_5.txt b/test/prism/snapshots/seattlerb/difficult3_5.txt
index 8f33ebb1ae..c9fa99bf61 100644
--- a/test/prism/snapshots/seattlerb/difficult3_5.txt
+++ b/test/prism/snapshots/seattlerb/difficult3_5.txt
@@ -4,6 +4,7 @@
@ StatementsNode (location: (1,0)-(1,19))
└── body: (length: 1)
└── @ CallNode (location: (1,0)-(1,19))
+ ├── flags: ∅
├── receiver: ∅
├── call_operator_loc: ∅
├── name: :f
@@ -11,40 +12,39 @@
├── opening_loc: ∅
├── arguments:
│ @ ArgumentsNode (location: (1,2)-(1,19))
- │ ├── arguments: (length: 1)
- │ │ └── @ LambdaNode (location: (1,2)-(1,19))
- │ │ ├── locals: []
- │ │ ├── locals_body_index: 0
- │ │ ├── operator_loc: (1,2)-(1,4) = "->"
- │ │ ├── opening_loc: (1,7)-(1,8) = "{"
- │ │ ├── closing_loc: (1,18)-(1,19) = "}"
- │ │ ├── parameters:
- │ │ │ @ BlockParametersNode (location: (1,4)-(1,6))
- │ │ │ ├── parameters: ∅
- │ │ │ ├── locals: (length: 0)
- │ │ │ ├── opening_loc: (1,4)-(1,5) = "("
- │ │ │ └── closing_loc: (1,5)-(1,6) = ")"
- │ │ └── body:
- │ │ @ StatementsNode (location: (1,9)-(1,17))
- │ │ └── body: (length: 1)
- │ │ └── @ CallNode (location: (1,9)-(1,17))
- │ │ ├── receiver: ∅
- │ │ ├── call_operator_loc: ∅
- │ │ ├── name: :g
- │ │ ├── message_loc: (1,9)-(1,10) = "g"
- │ │ ├── opening_loc: ∅
- │ │ ├── arguments: ∅
- │ │ ├── closing_loc: ∅
- │ │ ├── block:
- │ │ │ @ BlockNode (location: (1,11)-(1,17))
- │ │ │ ├── locals: []
- │ │ │ ├── locals_body_index: 0
- │ │ │ ├── parameters: ∅
- │ │ │ ├── body: ∅
- │ │ │ ├── opening_loc: (1,11)-(1,13) = "do"
- │ │ │ └── closing_loc: (1,14)-(1,17) = "end"
- │ │ └── flags: ∅
- │ └── flags: ∅
+ │ ├── flags: ∅
+ │ └── arguments: (length: 1)
+ │ └── @ LambdaNode (location: (1,2)-(1,19))
+ │ ├── locals: []
+ │ ├── locals_body_index: 0
+ │ ├── operator_loc: (1,2)-(1,4) = "->"
+ │ ├── opening_loc: (1,7)-(1,8) = "{"
+ │ ├── closing_loc: (1,18)-(1,19) = "}"
+ │ ├── parameters:
+ │ │ @ BlockParametersNode (location: (1,4)-(1,6))
+ │ │ ├── parameters: ∅
+ │ │ ├── locals: (length: 0)
+ │ │ ├── opening_loc: (1,4)-(1,5) = "("
+ │ │ └── closing_loc: (1,5)-(1,6) = ")"
+ │ └── body:
+ │ @ StatementsNode (location: (1,9)-(1,17))
+ │ └── body: (length: 1)
+ │ └── @ CallNode (location: (1,9)-(1,17))
+ │ ├── flags: ∅
+ │ ├── receiver: ∅
+ │ ├── call_operator_loc: ∅
+ │ ├── name: :g
+ │ ├── message_loc: (1,9)-(1,10) = "g"
+ │ ├── opening_loc: ∅
+ │ ├── arguments: ∅
+ │ ├── closing_loc: ∅
+ │ └── block:
+ │ @ BlockNode (location: (1,11)-(1,17))
+ │ ├── locals: []
+ │ ├── locals_body_index: 0
+ │ ├── parameters: ∅
+ │ ├── body: ∅
+ │ ├── opening_loc: (1,11)-(1,13) = "do"
+ │ └── closing_loc: (1,14)-(1,17) = "end"
├── closing_loc: ∅
- ├── block: ∅
- └── flags: ∅
+ └── block: ∅
diff --git a/test/prism/snapshots/seattlerb/difficult3__10.txt b/test/prism/snapshots/seattlerb/difficult3__10.txt
index c85aaa66b8..8b972ebd6f 100644
--- a/test/prism/snapshots/seattlerb/difficult3__10.txt
+++ b/test/prism/snapshots/seattlerb/difficult3__10.txt
@@ -4,6 +4,7 @@
@ StatementsNode (location: (1,0)-(1,18))
└── body: (length: 1)
└── @ CallNode (location: (1,0)-(1,18))
+ ├── flags: ∅
├── receiver: ∅
├── call_operator_loc: ∅
├── name: :f
@@ -11,40 +12,39 @@
├── opening_loc: ∅
├── arguments: ∅
├── closing_loc: ∅
- ├── block:
- │ @ BlockNode (location: (1,2)-(1,18))
- │ ├── locals: [:a, :b, :c]
- │ ├── locals_body_index: 3
- │ ├── parameters:
- │ │ @ BlockParametersNode (location: (1,4)-(1,16))
- │ │ ├── parameters:
- │ │ │ @ ParametersNode (location: (1,5)-(1,15))
- │ │ │ ├── requireds: (length: 2)
- │ │ │ │ ├── @ RequiredParameterNode (location: (1,5)-(1,6))
- │ │ │ │ │ └── name: :a
- │ │ │ │ └── @ MultiTargetNode (location: (1,8)-(1,15))
- │ │ │ │ ├── lefts: (length: 0)
- │ │ │ │ ├── rest:
- │ │ │ │ │ @ SplatNode (location: (1,9)-(1,11))
- │ │ │ │ │ ├── operator_loc: (1,9)-(1,10) = "*"
- │ │ │ │ │ └── expression:
- │ │ │ │ │ @ RequiredParameterNode (location: (1,10)-(1,11))
- │ │ │ │ │ └── name: :b
- │ │ │ │ ├── rights: (length: 1)
- │ │ │ │ │ └── @ RequiredParameterNode (location: (1,13)-(1,14))
- │ │ │ │ │ └── name: :c
- │ │ │ │ ├── lparen_loc: (1,8)-(1,9) = "("
- │ │ │ │ └── rparen_loc: (1,14)-(1,15) = ")"
- │ │ │ ├── optionals: (length: 0)
- │ │ │ ├── rest: ∅
- │ │ │ ├── posts: (length: 0)
- │ │ │ ├── keywords: (length: 0)
- │ │ │ ├── keyword_rest: ∅
- │ │ │ └── block: ∅
- │ │ ├── locals: (length: 0)
- │ │ ├── opening_loc: (1,4)-(1,5) = "|"
- │ │ └── closing_loc: (1,15)-(1,16) = "|"
- │ ├── body: ∅
- │ ├── opening_loc: (1,2)-(1,3) = "{"
- │ └── closing_loc: (1,17)-(1,18) = "}"
- └── flags: ∅
+ └── block:
+ @ BlockNode (location: (1,2)-(1,18))
+ ├── locals: [:a, :b, :c]
+ ├── locals_body_index: 3
+ ├── parameters:
+ │ @ BlockParametersNode (location: (1,4)-(1,16))
+ │ ├── parameters:
+ │ │ @ ParametersNode (location: (1,5)-(1,15))
+ │ │ ├── requireds: (length: 2)
+ │ │ │ ├── @ RequiredParameterNode (location: (1,5)-(1,6))
+ │ │ │ │ └── name: :a
+ │ │ │ └── @ MultiTargetNode (location: (1,8)-(1,15))
+ │ │ │ ├── lefts: (length: 0)
+ │ │ │ ├── rest:
+ │ │ │ │ @ SplatNode (location: (1,9)-(1,11))
+ │ │ │ │ ├── operator_loc: (1,9)-(1,10) = "*"
+ │ │ │ │ └── expression:
+ │ │ │ │ @ RequiredParameterNode (location: (1,10)-(1,11))
+ │ │ │ │ └── name: :b
+ │ │ │ ├── rights: (length: 1)
+ │ │ │ │ └── @ RequiredParameterNode (location: (1,13)-(1,14))
+ │ │ │ │ └── name: :c
+ │ │ │ ├── lparen_loc: (1,8)-(1,9) = "("
+ │ │ │ └── rparen_loc: (1,14)-(1,15) = ")"
+ │ │ ├── optionals: (length: 0)
+ │ │ ├── rest: ∅
+ │ │ ├── posts: (length: 0)
+ │ │ ├── keywords: (length: 0)
+ │ │ ├── keyword_rest: ∅
+ │ │ └── block: ∅
+ │ ├── locals: (length: 0)
+ │ ├── opening_loc: (1,4)-(1,5) = "|"
+ │ └── closing_loc: (1,15)-(1,16) = "|"
+ ├── body: ∅
+ ├── opening_loc: (1,2)-(1,3) = "{"
+ └── closing_loc: (1,17)-(1,18) = "}"
diff --git a/test/prism/snapshots/seattlerb/difficult3__11.txt b/test/prism/snapshots/seattlerb/difficult3__11.txt
index 5c646b7196..11652bba93 100644
--- a/test/prism/snapshots/seattlerb/difficult3__11.txt
+++ b/test/prism/snapshots/seattlerb/difficult3__11.txt
@@ -4,6 +4,7 @@
@ StatementsNode (location: (1,0)-(1,14))
└── body: (length: 1)
└── @ CallNode (location: (1,0)-(1,14))
+ ├── flags: ∅
├── receiver: ∅
├── call_operator_loc: ∅
├── name: :f
@@ -11,36 +12,35 @@
├── opening_loc: ∅
├── arguments: ∅
├── closing_loc: ∅
- ├── block:
- │ @ BlockNode (location: (1,2)-(1,14))
- │ ├── locals: [:a]
- │ ├── locals_body_index: 1
- │ ├── parameters:
- │ │ @ BlockParametersNode (location: (1,4)-(1,12))
- │ │ ├── parameters:
- │ │ │ @ ParametersNode (location: (1,5)-(1,11))
- │ │ │ ├── requireds: (length: 2)
- │ │ │ │ ├── @ RequiredParameterNode (location: (1,5)-(1,6))
- │ │ │ │ │ └── name: :a
- │ │ │ │ └── @ MultiTargetNode (location: (1,8)-(1,11))
- │ │ │ │ ├── lefts: (length: 0)
- │ │ │ │ ├── rest:
- │ │ │ │ │ @ SplatNode (location: (1,9)-(1,10))
- │ │ │ │ │ ├── operator_loc: (1,9)-(1,10) = "*"
- │ │ │ │ │ └── expression: ∅
- │ │ │ │ ├── rights: (length: 0)
- │ │ │ │ ├── lparen_loc: (1,8)-(1,9) = "("
- │ │ │ │ └── rparen_loc: (1,10)-(1,11) = ")"
- │ │ │ ├── optionals: (length: 0)
- │ │ │ ├── rest: ∅
- │ │ │ ├── posts: (length: 0)
- │ │ │ ├── keywords: (length: 0)
- │ │ │ ├── keyword_rest: ∅
- │ │ │ └── block: ∅
- │ │ ├── locals: (length: 0)
- │ │ ├── opening_loc: (1,4)-(1,5) = "|"
- │ │ └── closing_loc: (1,11)-(1,12) = "|"
- │ ├── body: ∅
- │ ├── opening_loc: (1,2)-(1,3) = "{"
- │ └── closing_loc: (1,13)-(1,14) = "}"
- └── flags: ∅
+ └── block:
+ @ BlockNode (location: (1,2)-(1,14))
+ ├── locals: [:a]
+ ├── locals_body_index: 1
+ ├── parameters:
+ │ @ BlockParametersNode (location: (1,4)-(1,12))
+ │ ├── parameters:
+ │ │ @ ParametersNode (location: (1,5)-(1,11))
+ │ │ ├── requireds: (length: 2)
+ │ │ │ ├── @ RequiredParameterNode (location: (1,5)-(1,6))
+ │ │ │ │ └── name: :a
+ │ │ │ └── @ MultiTargetNode (location: (1,8)-(1,11))
+ │ │ │ ├── lefts: (length: 0)
+ │ │ │ ├── rest:
+ │ │ │ │ @ SplatNode (location: (1,9)-(1,10))
+ │ │ │ │ ├── operator_loc: (1,9)-(1,10) = "*"
+ │ │ │ │ └── expression: ∅
+ │ │ │ ├── rights: (length: 0)
+ │ │ │ ├── lparen_loc: (1,8)-(1,9) = "("
+ │ │ │ └── rparen_loc: (1,10)-(1,11) = ")"
+ │ │ ├── optionals: (length: 0)
+ │ │ ├── rest: ∅
+ │ │ ├── posts: (length: 0)
+ │ │ ├── keywords: (length: 0)
+ │ │ ├── keyword_rest: ∅
+ │ │ └── block: ∅
+ │ ├── locals: (length: 0)
+ │ ├── opening_loc: (1,4)-(1,5) = "|"
+ │ └── closing_loc: (1,11)-(1,12) = "|"
+ ├── body: ∅
+ ├── opening_loc: (1,2)-(1,3) = "{"
+ └── closing_loc: (1,13)-(1,14) = "}"
diff --git a/test/prism/snapshots/seattlerb/difficult3__12.txt b/test/prism/snapshots/seattlerb/difficult3__12.txt
index d6a1701b17..388fdc8335 100644
--- a/test/prism/snapshots/seattlerb/difficult3__12.txt
+++ b/test/prism/snapshots/seattlerb/difficult3__12.txt
@@ -4,6 +4,7 @@
@ StatementsNode (location: (1,0)-(1,17))
└── body: (length: 1)
└── @ CallNode (location: (1,0)-(1,17))
+ ├── flags: ∅
├── receiver: ∅
├── call_operator_loc: ∅
├── name: :f
@@ -11,38 +12,37 @@
├── opening_loc: ∅
├── arguments: ∅
├── closing_loc: ∅
- ├── block:
- │ @ BlockNode (location: (1,2)-(1,17))
- │ ├── locals: [:a, :b]
- │ ├── locals_body_index: 2
- │ ├── parameters:
- │ │ @ BlockParametersNode (location: (1,4)-(1,15))
- │ │ ├── parameters:
- │ │ │ @ ParametersNode (location: (1,5)-(1,14))
- │ │ │ ├── requireds: (length: 2)
- │ │ │ │ ├── @ RequiredParameterNode (location: (1,5)-(1,6))
- │ │ │ │ │ └── name: :a
- │ │ │ │ └── @ MultiTargetNode (location: (1,8)-(1,14))
- │ │ │ │ ├── lefts: (length: 0)
- │ │ │ │ ├── rest:
- │ │ │ │ │ @ SplatNode (location: (1,9)-(1,10))
- │ │ │ │ │ ├── operator_loc: (1,9)-(1,10) = "*"
- │ │ │ │ │ └── expression: ∅
- │ │ │ │ ├── rights: (length: 1)
- │ │ │ │ │ └── @ RequiredParameterNode (location: (1,12)-(1,13))
- │ │ │ │ │ └── name: :b
- │ │ │ │ ├── lparen_loc: (1,8)-(1,9) = "("
- │ │ │ │ └── rparen_loc: (1,13)-(1,14) = ")"
- │ │ │ ├── optionals: (length: 0)
- │ │ │ ├── rest: ∅
- │ │ │ ├── posts: (length: 0)
- │ │ │ ├── keywords: (length: 0)
- │ │ │ ├── keyword_rest: ∅
- │ │ │ └── block: ∅
- │ │ ├── locals: (length: 0)
- │ │ ├── opening_loc: (1,4)-(1,5) = "|"
- │ │ └── closing_loc: (1,14)-(1,15) = "|"
- │ ├── body: ∅
- │ ├── opening_loc: (1,2)-(1,3) = "{"
- │ └── closing_loc: (1,16)-(1,17) = "}"
- └── flags: ∅
+ └── block:
+ @ BlockNode (location: (1,2)-(1,17))
+ ├── locals: [:a, :b]
+ ├── locals_body_index: 2
+ ├── parameters:
+ │ @ BlockParametersNode (location: (1,4)-(1,15))
+ │ ├── parameters:
+ │ │ @ ParametersNode (location: (1,5)-(1,14))
+ │ │ ├── requireds: (length: 2)
+ │ │ │ ├── @ RequiredParameterNode (location: (1,5)-(1,6))
+ │ │ │ │ └── name: :a
+ │ │ │ └── @ MultiTargetNode (location: (1,8)-(1,14))
+ │ │ │ ├── lefts: (length: 0)
+ │ │ │ ├── rest:
+ │ │ │ │ @ SplatNode (location: (1,9)-(1,10))
+ │ │ │ │ ├── operator_loc: (1,9)-(1,10) = "*"
+ │ │ │ │ └── expression: ∅
+ │ │ │ ├── rights: (length: 1)
+ │ │ │ │ └── @ RequiredParameterNode (location: (1,12)-(1,13))
+ │ │ │ │ └── name: :b
+ │ │ │ ├── lparen_loc: (1,8)-(1,9) = "("
+ │ │ │ └── rparen_loc: (1,13)-(1,14) = ")"
+ │ │ ├── optionals: (length: 0)
+ │ │ ├── rest: ∅
+ │ │ ├── posts: (length: 0)
+ │ │ ├── keywords: (length: 0)
+ │ │ ├── keyword_rest: ∅
+ │ │ └── block: ∅
+ │ ├── locals: (length: 0)
+ │ ├── opening_loc: (1,4)-(1,5) = "|"
+ │ └── closing_loc: (1,14)-(1,15) = "|"
+ ├── body: ∅
+ ├── opening_loc: (1,2)-(1,3) = "{"
+ └── closing_loc: (1,16)-(1,17) = "}"
diff --git a/test/prism/snapshots/seattlerb/difficult3__6.txt b/test/prism/snapshots/seattlerb/difficult3__6.txt
index 7761d844f1..960aec5da9 100644
--- a/test/prism/snapshots/seattlerb/difficult3__6.txt
+++ b/test/prism/snapshots/seattlerb/difficult3__6.txt
@@ -4,6 +4,7 @@
@ StatementsNode (location: (1,0)-(1,21))
└── body: (length: 1)
└── @ CallNode (location: (1,0)-(1,21))
+ ├── flags: ∅
├── receiver: ∅
├── call_operator_loc: ∅
├── name: :f
@@ -11,42 +12,41 @@
├── opening_loc: ∅
├── arguments: ∅
├── closing_loc: ∅
- ├── block:
- │ @ BlockNode (location: (1,2)-(1,21))
- │ ├── locals: [:a, :b, :c, :d]
- │ ├── locals_body_index: 4
- │ ├── parameters:
- │ │ @ BlockParametersNode (location: (1,4)-(1,19))
- │ │ ├── parameters:
- │ │ │ @ ParametersNode (location: (1,5)-(1,18))
- │ │ │ ├── requireds: (length: 2)
- │ │ │ │ ├── @ RequiredParameterNode (location: (1,5)-(1,6))
- │ │ │ │ │ └── name: :a
- │ │ │ │ └── @ MultiTargetNode (location: (1,8)-(1,18))
- │ │ │ │ ├── lefts: (length: 1)
- │ │ │ │ │ └── @ RequiredParameterNode (location: (1,9)-(1,10))
- │ │ │ │ │ └── name: :b
- │ │ │ │ ├── rest:
- │ │ │ │ │ @ SplatNode (location: (1,12)-(1,14))
- │ │ │ │ │ ├── operator_loc: (1,12)-(1,13) = "*"
- │ │ │ │ │ └── expression:
- │ │ │ │ │ @ RequiredParameterNode (location: (1,13)-(1,14))
- │ │ │ │ │ └── name: :c
- │ │ │ │ ├── rights: (length: 1)
- │ │ │ │ │ └── @ RequiredParameterNode (location: (1,16)-(1,17))
- │ │ │ │ │ └── name: :d
- │ │ │ │ ├── lparen_loc: (1,8)-(1,9) = "("
- │ │ │ │ └── rparen_loc: (1,17)-(1,18) = ")"
- │ │ │ ├── optionals: (length: 0)
- │ │ │ ├── rest: ∅
- │ │ │ ├── posts: (length: 0)
- │ │ │ ├── keywords: (length: 0)
- │ │ │ ├── keyword_rest: ∅
- │ │ │ └── block: ∅
- │ │ ├── locals: (length: 0)
- │ │ ├── opening_loc: (1,4)-(1,5) = "|"
- │ │ └── closing_loc: (1,18)-(1,19) = "|"
- │ ├── body: ∅
- │ ├── opening_loc: (1,2)-(1,3) = "{"
- │ └── closing_loc: (1,20)-(1,21) = "}"
- └── flags: ∅
+ └── block:
+ @ BlockNode (location: (1,2)-(1,21))
+ ├── locals: [:a, :b, :c, :d]
+ ├── locals_body_index: 4
+ ├── parameters:
+ │ @ BlockParametersNode (location: (1,4)-(1,19))
+ │ ├── parameters:
+ │ │ @ ParametersNode (location: (1,5)-(1,18))
+ │ │ ├── requireds: (length: 2)
+ │ │ │ ├── @ RequiredParameterNode (location: (1,5)-(1,6))
+ │ │ │ │ └── name: :a
+ │ │ │ └── @ MultiTargetNode (location: (1,8)-(1,18))
+ │ │ │ ├── lefts: (length: 1)
+ │ │ │ │ └── @ RequiredParameterNode (location: (1,9)-(1,10))
+ │ │ │ │ └── name: :b
+ │ │ │ ├── rest:
+ │ │ │ │ @ SplatNode (location: (1,12)-(1,14))
+ │ │ │ │ ├── operator_loc: (1,12)-(1,13) = "*"
+ │ │ │ │ └── expression:
+ │ │ │ │ @ RequiredParameterNode (location: (1,13)-(1,14))
+ │ │ │ │ └── name: :c
+ │ │ │ ├── rights: (length: 1)
+ │ │ │ │ └── @ RequiredParameterNode (location: (1,16)-(1,17))
+ │ │ │ │ └── name: :d
+ │ │ │ ├── lparen_loc: (1,8)-(1,9) = "("
+ │ │ │ └── rparen_loc: (1,17)-(1,18) = ")"
+ │ │ ├── optionals: (length: 0)
+ │ │ ├── rest: ∅
+ │ │ ├── posts: (length: 0)
+ │ │ ├── keywords: (length: 0)
+ │ │ ├── keyword_rest: ∅
+ │ │ └── block: ∅
+ │ ├── locals: (length: 0)
+ │ ├── opening_loc: (1,4)-(1,5) = "|"
+ │ └── closing_loc: (1,18)-(1,19) = "|"
+ ├── body: ∅
+ ├── opening_loc: (1,2)-(1,3) = "{"
+ └── closing_loc: (1,20)-(1,21) = "}"
diff --git a/test/prism/snapshots/seattlerb/difficult3__7.txt b/test/prism/snapshots/seattlerb/difficult3__7.txt
index 8d175ea863..8fdc3f4a90 100644
--- a/test/prism/snapshots/seattlerb/difficult3__7.txt
+++ b/test/prism/snapshots/seattlerb/difficult3__7.txt
@@ -4,6 +4,7 @@
@ StatementsNode (location: (1,0)-(1,17))
└── body: (length: 1)
└── @ CallNode (location: (1,0)-(1,17))
+ ├── flags: ∅
├── receiver: ∅
├── call_operator_loc: ∅
├── name: :f
@@ -11,38 +12,37 @@
├── opening_loc: ∅
├── arguments: ∅
├── closing_loc: ∅
- ├── block:
- │ @ BlockNode (location: (1,2)-(1,17))
- │ ├── locals: [:a, :b]
- │ ├── locals_body_index: 2
- │ ├── parameters:
- │ │ @ BlockParametersNode (location: (1,4)-(1,15))
- │ │ ├── parameters:
- │ │ │ @ ParametersNode (location: (1,5)-(1,14))
- │ │ │ ├── requireds: (length: 2)
- │ │ │ │ ├── @ RequiredParameterNode (location: (1,5)-(1,6))
- │ │ │ │ │ └── name: :a
- │ │ │ │ └── @ MultiTargetNode (location: (1,8)-(1,14))
- │ │ │ │ ├── lefts: (length: 1)
- │ │ │ │ │ └── @ RequiredParameterNode (location: (1,9)-(1,10))
- │ │ │ │ │ └── name: :b
- │ │ │ │ ├── rest:
- │ │ │ │ │ @ SplatNode (location: (1,12)-(1,13))
- │ │ │ │ │ ├── operator_loc: (1,12)-(1,13) = "*"
- │ │ │ │ │ └── expression: ∅
- │ │ │ │ ├── rights: (length: 0)
- │ │ │ │ ├── lparen_loc: (1,8)-(1,9) = "("
- │ │ │ │ └── rparen_loc: (1,13)-(1,14) = ")"
- │ │ │ ├── optionals: (length: 0)
- │ │ │ ├── rest: ∅
- │ │ │ ├── posts: (length: 0)
- │ │ │ ├── keywords: (length: 0)
- │ │ │ ├── keyword_rest: ∅
- │ │ │ └── block: ∅
- │ │ ├── locals: (length: 0)
- │ │ ├── opening_loc: (1,4)-(1,5) = "|"
- │ │ └── closing_loc: (1,14)-(1,15) = "|"
- │ ├── body: ∅
- │ ├── opening_loc: (1,2)-(1,3) = "{"
- │ └── closing_loc: (1,16)-(1,17) = "}"
- └── flags: ∅
+ └── block:
+ @ BlockNode (location: (1,2)-(1,17))
+ ├── locals: [:a, :b]
+ ├── locals_body_index: 2
+ ├── parameters:
+ │ @ BlockParametersNode (location: (1,4)-(1,15))
+ │ ├── parameters:
+ │ │ @ ParametersNode (location: (1,5)-(1,14))
+ │ │ ├── requireds: (length: 2)
+ │ │ │ ├── @ RequiredParameterNode (location: (1,5)-(1,6))
+ │ │ │ │ └── name: :a
+ │ │ │ └── @ MultiTargetNode (location: (1,8)-(1,14))
+ │ │ │ ├── lefts: (length: 1)
+ │ │ │ │ └── @ RequiredParameterNode (location: (1,9)-(1,10))
+ │ │ │ │ └── name: :b
+ │ │ │ ├── rest:
+ │ │ │ │ @ SplatNode (location: (1,12)-(1,13))
+ │ │ │ │ ├── operator_loc: (1,12)-(1,13) = "*"
+ │ │ │ │ └── expression: ∅
+ │ │ │ ├── rights: (length: 0)
+ │ │ │ ├── lparen_loc: (1,8)-(1,9) = "("
+ │ │ │ └── rparen_loc: (1,13)-(1,14) = ")"
+ │ │ ├── optionals: (length: 0)
+ │ │ ├── rest: ∅
+ │ │ ├── posts: (length: 0)
+ │ │ ├── keywords: (length: 0)
+ │ │ ├── keyword_rest: ∅
+ │ │ └── block: ∅
+ │ ├── locals: (length: 0)
+ │ ├── opening_loc: (1,4)-(1,5) = "|"
+ │ └── closing_loc: (1,14)-(1,15) = "|"
+ ├── body: ∅
+ ├── opening_loc: (1,2)-(1,3) = "{"
+ └── closing_loc: (1,16)-(1,17) = "}"
diff --git a/test/prism/snapshots/seattlerb/difficult3__8.txt b/test/prism/snapshots/seattlerb/difficult3__8.txt
index a0ec0ae934..4d18fd9453 100644
--- a/test/prism/snapshots/seattlerb/difficult3__8.txt
+++ b/test/prism/snapshots/seattlerb/difficult3__8.txt
@@ -4,6 +4,7 @@
@ StatementsNode (location: (1,0)-(1,20))
└── body: (length: 1)
└── @ CallNode (location: (1,0)-(1,20))
+ ├── flags: ∅
├── receiver: ∅
├── call_operator_loc: ∅
├── name: :f
@@ -11,40 +12,39 @@
├── opening_loc: ∅
├── arguments: ∅
├── closing_loc: ∅
- ├── block:
- │ @ BlockNode (location: (1,2)-(1,20))
- │ ├── locals: [:a, :b, :c]
- │ ├── locals_body_index: 3
- │ ├── parameters:
- │ │ @ BlockParametersNode (location: (1,4)-(1,18))
- │ │ ├── parameters:
- │ │ │ @ ParametersNode (location: (1,5)-(1,17))
- │ │ │ ├── requireds: (length: 2)
- │ │ │ │ ├── @ RequiredParameterNode (location: (1,5)-(1,6))
- │ │ │ │ │ └── name: :a
- │ │ │ │ └── @ MultiTargetNode (location: (1,8)-(1,17))
- │ │ │ │ ├── lefts: (length: 1)
- │ │ │ │ │ └── @ RequiredParameterNode (location: (1,9)-(1,10))
- │ │ │ │ │ └── name: :b
- │ │ │ │ ├── rest:
- │ │ │ │ │ @ SplatNode (location: (1,12)-(1,13))
- │ │ │ │ │ ├── operator_loc: (1,12)-(1,13) = "*"
- │ │ │ │ │ └── expression: ∅
- │ │ │ │ ├── rights: (length: 1)
- │ │ │ │ │ └── @ RequiredParameterNode (location: (1,15)-(1,16))
- │ │ │ │ │ └── name: :c
- │ │ │ │ ├── lparen_loc: (1,8)-(1,9) = "("
- │ │ │ │ └── rparen_loc: (1,16)-(1,17) = ")"
- │ │ │ ├── optionals: (length: 0)
- │ │ │ ├── rest: ∅
- │ │ │ ├── posts: (length: 0)
- │ │ │ ├── keywords: (length: 0)
- │ │ │ ├── keyword_rest: ∅
- │ │ │ └── block: ∅
- │ │ ├── locals: (length: 0)
- │ │ ├── opening_loc: (1,4)-(1,5) = "|"
- │ │ └── closing_loc: (1,17)-(1,18) = "|"
- │ ├── body: ∅
- │ ├── opening_loc: (1,2)-(1,3) = "{"
- │ └── closing_loc: (1,19)-(1,20) = "}"
- └── flags: ∅
+ └── block:
+ @ BlockNode (location: (1,2)-(1,20))
+ ├── locals: [:a, :b, :c]
+ ├── locals_body_index: 3
+ ├── parameters:
+ │ @ BlockParametersNode (location: (1,4)-(1,18))
+ │ ├── parameters:
+ │ │ @ ParametersNode (location: (1,5)-(1,17))
+ │ │ ├── requireds: (length: 2)
+ │ │ │ ├── @ RequiredParameterNode (location: (1,5)-(1,6))
+ │ │ │ │ └── name: :a
+ │ │ │ └── @ MultiTargetNode (location: (1,8)-(1,17))
+ │ │ │ ├── lefts: (length: 1)
+ │ │ │ │ └── @ RequiredParameterNode (location: (1,9)-(1,10))
+ │ │ │ │ └── name: :b
+ │ │ │ ├── rest:
+ │ │ │ │ @ SplatNode (location: (1,12)-(1,13))
+ │ │ │ │ ├── operator_loc: (1,12)-(1,13) = "*"
+ │ │ │ │ └── expression: ∅
+ │ │ │ ├── rights: (length: 1)
+ │ │ │ │ └── @ RequiredParameterNode (location: (1,15)-(1,16))
+ │ │ │ │ └── name: :c
+ │ │ │ ├── lparen_loc: (1,8)-(1,9) = "("
+ │ │ │ └── rparen_loc: (1,16)-(1,17) = ")"
+ │ │ ├── optionals: (length: 0)
+ │ │ ├── rest: ∅
+ │ │ ├── posts: (length: 0)
+ │ │ ├── keywords: (length: 0)
+ │ │ ├── keyword_rest: ∅
+ │ │ └── block: ∅
+ │ ├── locals: (length: 0)
+ │ ├── opening_loc: (1,4)-(1,5) = "|"
+ │ └── closing_loc: (1,17)-(1,18) = "|"
+ ├── body: ∅
+ ├── opening_loc: (1,2)-(1,3) = "{"
+ └── closing_loc: (1,19)-(1,20) = "}"
diff --git a/test/prism/snapshots/seattlerb/difficult3__9.txt b/test/prism/snapshots/seattlerb/difficult3__9.txt
index 37d05acb84..97de361cb7 100644
--- a/test/prism/snapshots/seattlerb/difficult3__9.txt
+++ b/test/prism/snapshots/seattlerb/difficult3__9.txt
@@ -4,6 +4,7 @@
@ StatementsNode (location: (1,0)-(1,15))
└── body: (length: 1)
└── @ CallNode (location: (1,0)-(1,15))
+ ├── flags: ∅
├── receiver: ∅
├── call_operator_loc: ∅
├── name: :f
@@ -11,38 +12,37 @@
├── opening_loc: ∅
├── arguments: ∅
├── closing_loc: ∅
- ├── block:
- │ @ BlockNode (location: (1,2)-(1,15))
- │ ├── locals: [:a, :b]
- │ ├── locals_body_index: 2
- │ ├── parameters:
- │ │ @ BlockParametersNode (location: (1,4)-(1,13))
- │ │ ├── parameters:
- │ │ │ @ ParametersNode (location: (1,5)-(1,12))
- │ │ │ ├── requireds: (length: 2)
- │ │ │ │ ├── @ RequiredParameterNode (location: (1,5)-(1,6))
- │ │ │ │ │ └── name: :a
- │ │ │ │ └── @ MultiTargetNode (location: (1,8)-(1,12))
- │ │ │ │ ├── lefts: (length: 0)
- │ │ │ │ ├── rest:
- │ │ │ │ │ @ SplatNode (location: (1,9)-(1,11))
- │ │ │ │ │ ├── operator_loc: (1,9)-(1,10) = "*"
- │ │ │ │ │ └── expression:
- │ │ │ │ │ @ RequiredParameterNode (location: (1,10)-(1,11))
- │ │ │ │ │ └── name: :b
- │ │ │ │ ├── rights: (length: 0)
- │ │ │ │ ├── lparen_loc: (1,8)-(1,9) = "("
- │ │ │ │ └── rparen_loc: (1,11)-(1,12) = ")"
- │ │ │ ├── optionals: (length: 0)
- │ │ │ ├── rest: ∅
- │ │ │ ├── posts: (length: 0)
- │ │ │ ├── keywords: (length: 0)
- │ │ │ ├── keyword_rest: ∅
- │ │ │ └── block: ∅
- │ │ ├── locals: (length: 0)
- │ │ ├── opening_loc: (1,4)-(1,5) = "|"
- │ │ └── closing_loc: (1,12)-(1,13) = "|"
- │ ├── body: ∅
- │ ├── opening_loc: (1,2)-(1,3) = "{"
- │ └── closing_loc: (1,14)-(1,15) = "}"
- └── flags: ∅
+ └── block:
+ @ BlockNode (location: (1,2)-(1,15))
+ ├── locals: [:a, :b]
+ ├── locals_body_index: 2
+ ├── parameters:
+ │ @ BlockParametersNode (location: (1,4)-(1,13))
+ │ ├── parameters:
+ │ │ @ ParametersNode (location: (1,5)-(1,12))
+ │ │ ├── requireds: (length: 2)
+ │ │ │ ├── @ RequiredParameterNode (location: (1,5)-(1,6))
+ │ │ │ │ └── name: :a
+ │ │ │ └── @ MultiTargetNode (location: (1,8)-(1,12))
+ │ │ │ ├── lefts: (length: 0)
+ │ │ │ ├── rest:
+ │ │ │ │ @ SplatNode (location: (1,9)-(1,11))
+ │ │ │ │ ├── operator_loc: (1,9)-(1,10) = "*"
+ │ │ │ │ └── expression:
+ │ │ │ │ @ RequiredParameterNode (location: (1,10)-(1,11))
+ │ │ │ │ └── name: :b
+ │ │ │ ├── rights: (length: 0)
+ │ │ │ ├── lparen_loc: (1,8)-(1,9) = "("
+ │ │ │ └── rparen_loc: (1,11)-(1,12) = ")"
+ │ │ ├── optionals: (length: 0)
+ │ │ ├── rest: ∅
+ │ │ ├── posts: (length: 0)
+ │ │ ├── keywords: (length: 0)
+ │ │ ├── keyword_rest: ∅
+ │ │ └── block: ∅
+ │ ├── locals: (length: 0)
+ │ ├── opening_loc: (1,4)-(1,5) = "|"
+ │ └── closing_loc: (1,12)-(1,13) = "|"
+ ├── body: ∅
+ ├── opening_loc: (1,2)-(1,3) = "{"
+ └── closing_loc: (1,14)-(1,15) = "}"
diff --git a/test/prism/snapshots/seattlerb/difficult4__leading_dots.txt b/test/prism/snapshots/seattlerb/difficult4__leading_dots.txt
index e174cf39c0..f340c624d9 100644
--- a/test/prism/snapshots/seattlerb/difficult4__leading_dots.txt
+++ b/test/prism/snapshots/seattlerb/difficult4__leading_dots.txt
@@ -4,8 +4,10 @@
@ StatementsNode (location: (1,0)-(2,2))
└── body: (length: 1)
└── @ CallNode (location: (1,0)-(2,2))
+ ├── flags: ∅
├── receiver:
│ @ CallNode (location: (1,0)-(1,1))
+ │ ├── flags: variable_call
│ ├── receiver: ∅
│ ├── call_operator_loc: ∅
│ ├── name: :a
@@ -13,13 +15,11 @@
│ ├── opening_loc: ∅
│ ├── arguments: ∅
│ ├── closing_loc: ∅
- │ ├── block: ∅
- │ └── flags: variable_call
+ │ └── block: ∅
├── call_operator_loc: (2,0)-(2,1) = "."
├── name: :b
├── message_loc: (2,1)-(2,2) = "b"
├── opening_loc: ∅
├── arguments: ∅
├── closing_loc: ∅
- ├── block: ∅
- └── flags: ∅
+ └── block: ∅
diff --git a/test/prism/snapshots/seattlerb/difficult4__leading_dots2.txt b/test/prism/snapshots/seattlerb/difficult4__leading_dots2.txt
index e569fbea1f..c5868e193c 100644
--- a/test/prism/snapshots/seattlerb/difficult4__leading_dots2.txt
+++ b/test/prism/snapshots/seattlerb/difficult4__leading_dots2.txt
@@ -6,9 +6,9 @@
├── @ IntegerNode (location: (1,0)-(1,1))
│ └── flags: decimal
└── @ RangeNode (location: (2,0)-(2,3))
+ ├── flags: ∅
├── left: ∅
├── right:
│ @ IntegerNode (location: (2,2)-(2,3))
│ └── flags: decimal
- ├── operator_loc: (2,0)-(2,2) = ".."
- └── flags: ∅
+ └── operator_loc: (2,0)-(2,2) = ".."
diff --git a/test/prism/snapshots/seattlerb/difficult6_.txt b/test/prism/snapshots/seattlerb/difficult6_.txt
index 71e92dcee5..a99969f51a 100644
--- a/test/prism/snapshots/seattlerb/difficult6_.txt
+++ b/test/prism/snapshots/seattlerb/difficult6_.txt
@@ -35,6 +35,7 @@
@ StatementsNode (location: (1,15)-(1,23))
└── body: (length: 1)
└── @ CallNode (location: (1,15)-(1,23))
+ ├── flags: ∅
├── receiver: ∅
├── call_operator_loc: ∅
├── name: :p
@@ -42,19 +43,18 @@
├── opening_loc: ∅
├── arguments:
│ @ ArgumentsNode (location: (1,17)-(1,23))
- │ ├── arguments: (length: 1)
- │ │ └── @ ArrayNode (location: (1,17)-(1,23))
- │ │ ├── elements: (length: 2)
- │ │ │ ├── @ LocalVariableReadNode (location: (1,18)-(1,19))
- │ │ │ │ ├── name: :a
- │ │ │ │ └── depth: 0
- │ │ │ └── @ LocalVariableReadNode (location: (1,21)-(1,22))
- │ │ │ ├── name: :b
- │ │ │ └── depth: 0
- │ │ ├── opening_loc: (1,17)-(1,18) = "["
- │ │ ├── closing_loc: (1,22)-(1,23) = "]"
- │ │ └── flags: ∅
- │ └── flags: ∅
+ │ ├── flags: ∅
+ │ └── arguments: (length: 1)
+ │ └── @ ArrayNode (location: (1,17)-(1,23))
+ │ ├── flags: ∅
+ │ ├── elements: (length: 2)
+ │ │ ├── @ LocalVariableReadNode (location: (1,18)-(1,19))
+ │ │ │ ├── name: :a
+ │ │ │ └── depth: 0
+ │ │ └── @ LocalVariableReadNode (location: (1,21)-(1,22))
+ │ │ ├── name: :b
+ │ │ └── depth: 0
+ │ ├── opening_loc: (1,17)-(1,18) = "["
+ │ └── closing_loc: (1,22)-(1,23) = "]"
├── closing_loc: ∅
- ├── block: ∅
- └── flags: ∅
+ └── block: ∅
diff --git a/test/prism/snapshots/seattlerb/difficult6__7.txt b/test/prism/snapshots/seattlerb/difficult6__7.txt
index f7331b87e4..ce48b01a4c 100644
--- a/test/prism/snapshots/seattlerb/difficult6__7.txt
+++ b/test/prism/snapshots/seattlerb/difficult6__7.txt
@@ -4,8 +4,10 @@
@ StatementsNode (location: (1,0)-(1,11))
└── body: (length: 1)
└── @ CallNode (location: (1,0)-(1,11))
+ ├── flags: ∅
├── receiver:
│ @ CallNode (location: (1,0)-(1,1))
+ │ ├── flags: variable_call
│ ├── receiver: ∅
│ ├── call_operator_loc: ∅
│ ├── name: :a
@@ -13,43 +15,41 @@
│ ├── opening_loc: ∅
│ ├── arguments: ∅
│ ├── closing_loc: ∅
- │ ├── block: ∅
- │ └── flags: variable_call
+ │ └── block: ∅
├── call_operator_loc: (1,1)-(1,2) = "."
├── name: :b
├── message_loc: (1,2)-(1,3) = "b"
├── opening_loc: ∅
├── arguments:
│ @ ArgumentsNode (location: (1,4)-(1,7))
- │ ├── arguments: (length: 1)
- │ │ └── @ ParenthesesNode (location: (1,4)-(1,7))
- │ │ ├── body:
- │ │ │ @ StatementsNode (location: (1,5)-(1,6))
- │ │ │ └── body: (length: 1)
- │ │ │ └── @ IntegerNode (location: (1,5)-(1,6))
- │ │ │ └── flags: decimal
- │ │ ├── opening_loc: (1,4)-(1,5) = "("
- │ │ └── closing_loc: (1,6)-(1,7) = ")"
- │ └── flags: ∅
+ │ ├── flags: ∅
+ │ └── arguments: (length: 1)
+ │ └── @ ParenthesesNode (location: (1,4)-(1,7))
+ │ ├── body:
+ │ │ @ StatementsNode (location: (1,5)-(1,6))
+ │ │ └── body: (length: 1)
+ │ │ └── @ IntegerNode (location: (1,5)-(1,6))
+ │ │ └── flags: decimal
+ │ ├── opening_loc: (1,4)-(1,5) = "("
+ │ └── closing_loc: (1,6)-(1,7) = ")"
├── closing_loc: ∅
- ├── block:
- │ @ BlockNode (location: (1,8)-(1,11))
- │ ├── locals: []
- │ ├── locals_body_index: 0
- │ ├── parameters: ∅
- │ ├── body:
- │ │ @ StatementsNode (location: (1,9)-(1,10))
- │ │ └── body: (length: 1)
- │ │ └── @ CallNode (location: (1,9)-(1,10))
- │ │ ├── receiver: ∅
- │ │ ├── call_operator_loc: ∅
- │ │ ├── name: :c
- │ │ ├── message_loc: (1,9)-(1,10) = "c"
- │ │ ├── opening_loc: ∅
- │ │ ├── arguments: ∅
- │ │ ├── closing_loc: ∅
- │ │ ├── block: ∅
- │ │ └── flags: variable_call
- │ ├── opening_loc: (1,8)-(1,9) = "{"
- │ └── closing_loc: (1,10)-(1,11) = "}"
- └── flags: ∅
+ └── block:
+ @ BlockNode (location: (1,8)-(1,11))
+ ├── locals: []
+ ├── locals_body_index: 0
+ ├── parameters: ∅
+ ├── body:
+ │ @ StatementsNode (location: (1,9)-(1,10))
+ │ └── body: (length: 1)
+ │ └── @ CallNode (location: (1,9)-(1,10))
+ │ ├── flags: variable_call
+ │ ├── receiver: ∅
+ │ ├── call_operator_loc: ∅
+ │ ├── name: :c
+ │ ├── message_loc: (1,9)-(1,10) = "c"
+ │ ├── opening_loc: ∅
+ │ ├── arguments: ∅
+ │ ├── closing_loc: ∅
+ │ └── block: ∅
+ ├── opening_loc: (1,8)-(1,9) = "{"
+ └── closing_loc: (1,10)-(1,11) = "}"
diff --git a/test/prism/snapshots/seattlerb/difficult6__8.txt b/test/prism/snapshots/seattlerb/difficult6__8.txt
index a08c5eccc5..22b3c3cec3 100644
--- a/test/prism/snapshots/seattlerb/difficult6__8.txt
+++ b/test/prism/snapshots/seattlerb/difficult6__8.txt
@@ -4,8 +4,10 @@
@ StatementsNode (location: (1,0)-(1,12))
└── body: (length: 1)
└── @ CallNode (location: (1,0)-(1,12))
+ ├── flags: ∅
├── receiver:
│ @ CallNode (location: (1,0)-(1,1))
+ │ ├── flags: variable_call
│ ├── receiver: ∅
│ ├── call_operator_loc: ∅
│ ├── name: :a
@@ -13,43 +15,41 @@
│ ├── opening_loc: ∅
│ ├── arguments: ∅
│ ├── closing_loc: ∅
- │ ├── block: ∅
- │ └── flags: variable_call
+ │ └── block: ∅
├── call_operator_loc: (1,1)-(1,3) = "::"
├── name: :b
├── message_loc: (1,3)-(1,4) = "b"
├── opening_loc: ∅
├── arguments:
│ @ ArgumentsNode (location: (1,5)-(1,8))
- │ ├── arguments: (length: 1)
- │ │ └── @ ParenthesesNode (location: (1,5)-(1,8))
- │ │ ├── body:
- │ │ │ @ StatementsNode (location: (1,6)-(1,7))
- │ │ │ └── body: (length: 1)
- │ │ │ └── @ IntegerNode (location: (1,6)-(1,7))
- │ │ │ └── flags: decimal
- │ │ ├── opening_loc: (1,5)-(1,6) = "("
- │ │ └── closing_loc: (1,7)-(1,8) = ")"
- │ └── flags: ∅
+ │ ├── flags: ∅
+ │ └── arguments: (length: 1)
+ │ └── @ ParenthesesNode (location: (1,5)-(1,8))
+ │ ├── body:
+ │ │ @ StatementsNode (location: (1,6)-(1,7))
+ │ │ └── body: (length: 1)
+ │ │ └── @ IntegerNode (location: (1,6)-(1,7))
+ │ │ └── flags: decimal
+ │ ├── opening_loc: (1,5)-(1,6) = "("
+ │ └── closing_loc: (1,7)-(1,8) = ")"
├── closing_loc: ∅
- ├── block:
- │ @ BlockNode (location: (1,9)-(1,12))
- │ ├── locals: []
- │ ├── locals_body_index: 0
- │ ├── parameters: ∅
- │ ├── body:
- │ │ @ StatementsNode (location: (1,10)-(1,11))
- │ │ └── body: (length: 1)
- │ │ └── @ CallNode (location: (1,10)-(1,11))
- │ │ ├── receiver: ∅
- │ │ ├── call_operator_loc: ∅
- │ │ ├── name: :c
- │ │ ├── message_loc: (1,10)-(1,11) = "c"
- │ │ ├── opening_loc: ∅
- │ │ ├── arguments: ∅
- │ │ ├── closing_loc: ∅
- │ │ ├── block: ∅
- │ │ └── flags: variable_call
- │ ├── opening_loc: (1,9)-(1,10) = "{"
- │ └── closing_loc: (1,11)-(1,12) = "}"
- └── flags: ∅
+ └── block:
+ @ BlockNode (location: (1,9)-(1,12))
+ ├── locals: []
+ ├── locals_body_index: 0
+ ├── parameters: ∅
+ ├── body:
+ │ @ StatementsNode (location: (1,10)-(1,11))
+ │ └── body: (length: 1)
+ │ └── @ CallNode (location: (1,10)-(1,11))
+ │ ├── flags: variable_call
+ │ ├── receiver: ∅
+ │ ├── call_operator_loc: ∅
+ │ ├── name: :c
+ │ ├── message_loc: (1,10)-(1,11) = "c"
+ │ ├── opening_loc: ∅
+ │ ├── arguments: ∅
+ │ ├── closing_loc: ∅
+ │ └── block: ∅
+ ├── opening_loc: (1,9)-(1,10) = "{"
+ └── closing_loc: (1,11)-(1,12) = "}"
diff --git a/test/prism/snapshots/seattlerb/difficult7_.txt b/test/prism/snapshots/seattlerb/difficult7_.txt
index 2f8166421c..58da75e77b 100644
--- a/test/prism/snapshots/seattlerb/difficult7_.txt
+++ b/test/prism/snapshots/seattlerb/difficult7_.txt
@@ -15,6 +15,7 @@
│ │ │ └── unescaped: "a"
│ │ ├── value:
│ │ │ @ CallNode (location: (2,11)-(2,33))
+ │ │ │ ├── flags: ∅
│ │ │ ├── receiver: ∅
│ │ │ ├── call_operator_loc: ∅
│ │ │ ├── name: :lambda
@@ -22,62 +23,61 @@
│ │ │ ├── opening_loc: ∅
│ │ │ ├── arguments: ∅
│ │ │ ├── closing_loc: ∅
- │ │ │ ├── block:
- │ │ │ │ @ BlockNode (location: (2,18)-(2,33))
- │ │ │ │ ├── locals: []
- │ │ │ │ ├── locals_body_index: 0
- │ │ │ │ ├── parameters: ∅
- │ │ │ │ ├── body:
- │ │ │ │ │ @ StatementsNode (location: (2,20)-(2,31))
- │ │ │ │ │ └── body: (length: 1)
- │ │ │ │ │ └── @ IfNode (location: (2,20)-(2,31))
- │ │ │ │ │ ├── if_keyword_loc: ∅
- │ │ │ │ │ ├── predicate:
- │ │ │ │ │ │ @ CallNode (location: (2,20)-(2,21))
- │ │ │ │ │ │ ├── receiver: ∅
- │ │ │ │ │ │ ├── call_operator_loc: ∅
- │ │ │ │ │ │ ├── name: :b
- │ │ │ │ │ │ ├── message_loc: (2,20)-(2,21) = "b"
- │ │ │ │ │ │ ├── opening_loc: ∅
- │ │ │ │ │ │ ├── arguments: ∅
- │ │ │ │ │ │ ├── closing_loc: ∅
- │ │ │ │ │ │ ├── block: ∅
- │ │ │ │ │ │ └── flags: variable_call
- │ │ │ │ │ ├── then_keyword_loc: (2,22)-(2,23) = "?"
- │ │ │ │ │ ├── statements:
- │ │ │ │ │ │ @ StatementsNode (location: (2,24)-(2,27))
- │ │ │ │ │ │ └── body: (length: 1)
- │ │ │ │ │ │ └── @ CallNode (location: (2,24)-(2,27))
- │ │ │ │ │ │ ├── receiver: ∅
- │ │ │ │ │ │ ├── call_operator_loc: ∅
- │ │ │ │ │ │ ├── name: :c
- │ │ │ │ │ │ ├── message_loc: (2,24)-(2,25) = "c"
- │ │ │ │ │ │ ├── opening_loc: (2,25)-(2,26) = "("
- │ │ │ │ │ │ ├── arguments: ∅
- │ │ │ │ │ │ ├── closing_loc: (2,26)-(2,27) = ")"
- │ │ │ │ │ │ ├── block: ∅
- │ │ │ │ │ │ └── flags: ∅
- │ │ │ │ │ ├── consequent:
- │ │ │ │ │ │ @ ElseNode (location: (2,28)-(2,31))
- │ │ │ │ │ │ ├── else_keyword_loc: (2,28)-(2,29) = ":"
- │ │ │ │ │ │ ├── statements:
- │ │ │ │ │ │ │ @ StatementsNode (location: (2,30)-(2,31))
- │ │ │ │ │ │ │ └── body: (length: 1)
- │ │ │ │ │ │ │ └── @ CallNode (location: (2,30)-(2,31))
- │ │ │ │ │ │ │ ├── receiver: ∅
- │ │ │ │ │ │ │ ├── call_operator_loc: ∅
- │ │ │ │ │ │ │ ├── name: :d
- │ │ │ │ │ │ │ ├── message_loc: (2,30)-(2,31) = "d"
- │ │ │ │ │ │ │ ├── opening_loc: ∅
- │ │ │ │ │ │ │ ├── arguments: ∅
- │ │ │ │ │ │ │ ├── closing_loc: ∅
- │ │ │ │ │ │ │ ├── block: ∅
- │ │ │ │ │ │ │ └── flags: variable_call
- │ │ │ │ │ │ └── end_keyword_loc: ∅
- │ │ │ │ │ └── end_keyword_loc: ∅
- │ │ │ │ ├── opening_loc: (2,18)-(2,19) = "{"
- │ │ │ │ └── closing_loc: (2,32)-(2,33) = "}"
- │ │ │ └── flags: ∅
+ │ │ │ └── block:
+ │ │ │ @ BlockNode (location: (2,18)-(2,33))
+ │ │ │ ├── locals: []
+ │ │ │ ├── locals_body_index: 0
+ │ │ │ ├── parameters: ∅
+ │ │ │ ├── body:
+ │ │ │ │ @ StatementsNode (location: (2,20)-(2,31))
+ │ │ │ │ └── body: (length: 1)
+ │ │ │ │ └── @ IfNode (location: (2,20)-(2,31))
+ │ │ │ │ ├── if_keyword_loc: ∅
+ │ │ │ │ ├── predicate:
+ │ │ │ │ │ @ CallNode (location: (2,20)-(2,21))
+ │ │ │ │ │ ├── flags: variable_call
+ │ │ │ │ │ ├── receiver: ∅
+ │ │ │ │ │ ├── call_operator_loc: ∅
+ │ │ │ │ │ ├── name: :b
+ │ │ │ │ │ ├── message_loc: (2,20)-(2,21) = "b"
+ │ │ │ │ │ ├── opening_loc: ∅
+ │ │ │ │ │ ├── arguments: ∅
+ │ │ │ │ │ ├── closing_loc: ∅
+ │ │ │ │ │ └── block: ∅
+ │ │ │ │ ├── then_keyword_loc: (2,22)-(2,23) = "?"
+ │ │ │ │ ├── statements:
+ │ │ │ │ │ @ StatementsNode (location: (2,24)-(2,27))
+ │ │ │ │ │ └── body: (length: 1)
+ │ │ │ │ │ └── @ CallNode (location: (2,24)-(2,27))
+ │ │ │ │ │ ├── flags: ∅
+ │ │ │ │ │ ├── receiver: ∅
+ │ │ │ │ │ ├── call_operator_loc: ∅
+ │ │ │ │ │ ├── name: :c
+ │ │ │ │ │ ├── message_loc: (2,24)-(2,25) = "c"
+ │ │ │ │ │ ├── opening_loc: (2,25)-(2,26) = "("
+ │ │ │ │ │ ├── arguments: ∅
+ │ │ │ │ │ ├── closing_loc: (2,26)-(2,27) = ")"
+ │ │ │ │ │ └── block: ∅
+ │ │ │ │ ├── consequent:
+ │ │ │ │ │ @ ElseNode (location: (2,28)-(2,31))
+ │ │ │ │ │ ├── else_keyword_loc: (2,28)-(2,29) = ":"
+ │ │ │ │ │ ├── statements:
+ │ │ │ │ │ │ @ StatementsNode (location: (2,30)-(2,31))
+ │ │ │ │ │ │ └── body: (length: 1)
+ │ │ │ │ │ │ └── @ CallNode (location: (2,30)-(2,31))
+ │ │ │ │ │ │ ├── flags: variable_call
+ │ │ │ │ │ │ ├── receiver: ∅
+ │ │ │ │ │ │ ├── call_operator_loc: ∅
+ │ │ │ │ │ │ ├── name: :d
+ │ │ │ │ │ │ ├── message_loc: (2,30)-(2,31) = "d"
+ │ │ │ │ │ │ ├── opening_loc: ∅
+ │ │ │ │ │ │ ├── arguments: ∅
+ │ │ │ │ │ │ ├── closing_loc: ∅
+ │ │ │ │ │ │ └── block: ∅
+ │ │ │ │ │ └── end_keyword_loc: ∅
+ │ │ │ │ └── end_keyword_loc: ∅
+ │ │ │ ├── opening_loc: (2,18)-(2,19) = "{"
+ │ │ │ └── closing_loc: (2,32)-(2,33) = "}"
│ │ └── operator_loc: ∅
│ └── @ AssocNode (location: (3,8)-(3,14))
│ ├── key:
diff --git a/test/prism/snapshots/seattlerb/do_bug.txt b/test/prism/snapshots/seattlerb/do_bug.txt
index 4ef29b5a2e..be64a43e0d 100644
--- a/test/prism/snapshots/seattlerb/do_bug.txt
+++ b/test/prism/snapshots/seattlerb/do_bug.txt
@@ -4,6 +4,7 @@
@ StatementsNode (location: (1,0)-(4,3))
└── body: (length: 2)
├── @ CallNode (location: (1,0)-(1,3))
+ │ ├── flags: ∅
│ ├── receiver: ∅
│ ├── call_operator_loc: ∅
│ ├── name: :a
@@ -11,16 +12,17 @@
│ ├── opening_loc: ∅
│ ├── arguments:
│ │ @ ArgumentsNode (location: (1,2)-(1,3))
- │ │ ├── arguments: (length: 1)
- │ │ │ └── @ IntegerNode (location: (1,2)-(1,3))
- │ │ │ └── flags: decimal
- │ │ └── flags: ∅
+ │ │ ├── flags: ∅
+ │ │ └── arguments: (length: 1)
+ │ │ └── @ IntegerNode (location: (1,2)-(1,3))
+ │ │ └── flags: decimal
│ ├── closing_loc: ∅
- │ ├── block: ∅
- │ └── flags: ∅
+ │ └── block: ∅
└── @ CallNode (location: (2,0)-(4,3))
+ ├── flags: ∅
├── receiver:
│ @ CallNode (location: (2,0)-(2,1))
+ │ ├── flags: variable_call
│ ├── receiver: ∅
│ ├── call_operator_loc: ∅
│ ├── name: :a
@@ -28,35 +30,33 @@
│ ├── opening_loc: ∅
│ ├── arguments: ∅
│ ├── closing_loc: ∅
- │ ├── block: ∅
- │ └── flags: variable_call
+ │ └── block: ∅
├── call_operator_loc: (2,1)-(2,2) = "."
├── name: :b
├── message_loc: (2,2)-(2,3) = "b"
├── opening_loc: ∅
├── arguments: ∅
├── closing_loc: ∅
- ├── block:
- │ @ BlockNode (location: (2,4)-(4,3))
- │ ├── locals: [:c]
- │ ├── locals_body_index: 1
- │ ├── parameters:
- │ │ @ BlockParametersNode (location: (2,7)-(2,10))
- │ │ ├── parameters:
- │ │ │ @ ParametersNode (location: (2,8)-(2,9))
- │ │ │ ├── requireds: (length: 1)
- │ │ │ │ └── @ RequiredParameterNode (location: (2,8)-(2,9))
- │ │ │ │ └── name: :c
- │ │ │ ├── optionals: (length: 0)
- │ │ │ ├── rest: ∅
- │ │ │ ├── posts: (length: 0)
- │ │ │ ├── keywords: (length: 0)
- │ │ │ ├── keyword_rest: ∅
- │ │ │ └── block: ∅
- │ │ ├── locals: (length: 0)
- │ │ ├── opening_loc: (2,7)-(2,8) = "|"
- │ │ └── closing_loc: (2,9)-(2,10) = "|"
- │ ├── body: ∅
- │ ├── opening_loc: (2,4)-(2,6) = "do"
- │ └── closing_loc: (4,0)-(4,3) = "end"
- └── flags: ∅
+ └── block:
+ @ BlockNode (location: (2,4)-(4,3))
+ ├── locals: [:c]
+ ├── locals_body_index: 1
+ ├── parameters:
+ │ @ BlockParametersNode (location: (2,7)-(2,10))
+ │ ├── parameters:
+ │ │ @ ParametersNode (location: (2,8)-(2,9))
+ │ │ ├── requireds: (length: 1)
+ │ │ │ └── @ RequiredParameterNode (location: (2,8)-(2,9))
+ │ │ │ └── name: :c
+ │ │ ├── optionals: (length: 0)
+ │ │ ├── rest: ∅
+ │ │ ├── posts: (length: 0)
+ │ │ ├── keywords: (length: 0)
+ │ │ ├── keyword_rest: ∅
+ │ │ └── block: ∅
+ │ ├── locals: (length: 0)
+ │ ├── opening_loc: (2,7)-(2,8) = "|"
+ │ └── closing_loc: (2,9)-(2,10) = "|"
+ ├── body: ∅
+ ├── opening_loc: (2,4)-(2,6) = "do"
+ └── closing_loc: (4,0)-(4,3) = "end"
diff --git a/test/prism/snapshots/seattlerb/dot2_nil__26.txt b/test/prism/snapshots/seattlerb/dot2_nil__26.txt
index 01a65eab9f..0d73215bc2 100644
--- a/test/prism/snapshots/seattlerb/dot2_nil__26.txt
+++ b/test/prism/snapshots/seattlerb/dot2_nil__26.txt
@@ -4,8 +4,10 @@
@ StatementsNode (location: (1,0)-(1,3))
└── body: (length: 1)
└── @ RangeNode (location: (1,0)-(1,3))
+ ├── flags: ∅
├── left:
│ @ CallNode (location: (1,0)-(1,1))
+ │ ├── flags: variable_call
│ ├── receiver: ∅
│ ├── call_operator_loc: ∅
│ ├── name: :a
@@ -13,8 +15,6 @@
│ ├── opening_loc: ∅
│ ├── arguments: ∅
│ ├── closing_loc: ∅
- │ ├── block: ∅
- │ └── flags: variable_call
+ │ └── block: ∅
├── right: ∅
- ├── operator_loc: (1,1)-(1,3) = ".."
- └── flags: ∅
+ └── operator_loc: (1,1)-(1,3) = ".."
diff --git a/test/prism/snapshots/seattlerb/dot3_nil__26.txt b/test/prism/snapshots/seattlerb/dot3_nil__26.txt
index be7679ab77..94c873dbb8 100644
--- a/test/prism/snapshots/seattlerb/dot3_nil__26.txt
+++ b/test/prism/snapshots/seattlerb/dot3_nil__26.txt
@@ -4,8 +4,10 @@
@ StatementsNode (location: (1,0)-(1,4))
└── body: (length: 1)
└── @ RangeNode (location: (1,0)-(1,4))
+ ├── flags: exclude_end
├── left:
│ @ CallNode (location: (1,0)-(1,1))
+ │ ├── flags: variable_call
│ ├── receiver: ∅
│ ├── call_operator_loc: ∅
│ ├── name: :a
@@ -13,8 +15,6 @@
│ ├── opening_loc: ∅
│ ├── arguments: ∅
│ ├── closing_loc: ∅
- │ ├── block: ∅
- │ └── flags: variable_call
+ │ └── block: ∅
├── right: ∅
- ├── operator_loc: (1,1)-(1,4) = "..."
- └── flags: exclude_end
+ └── operator_loc: (1,1)-(1,4) = "..."
diff --git a/test/prism/snapshots/seattlerb/dstr_evstr.txt b/test/prism/snapshots/seattlerb/dstr_evstr.txt
index 794e144c65..4c48657914 100644
--- a/test/prism/snapshots/seattlerb/dstr_evstr.txt
+++ b/test/prism/snapshots/seattlerb/dstr_evstr.txt
@@ -24,6 +24,7 @@
│ │ @ StatementsNode (location: (1,9)-(1,10))
│ │ └── body: (length: 1)
│ │ └── @ CallNode (location: (1,9)-(1,10))
+ │ │ ├── flags: variable_call
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
│ │ ├── name: :b
@@ -31,7 +32,6 @@
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
- │ │ ├── block: ∅
- │ │ └── flags: variable_call
+ │ │ └── block: ∅
│ └── closing_loc: (1,10)-(1,11) = "}"
└── closing_loc: (1,11)-(1,12) = "\""
diff --git a/test/prism/snapshots/seattlerb/dstr_evstr_empty_end.txt b/test/prism/snapshots/seattlerb/dstr_evstr_empty_end.txt
index b3743114ad..65be266f20 100644
--- a/test/prism/snapshots/seattlerb/dstr_evstr_empty_end.txt
+++ b/test/prism/snapshots/seattlerb/dstr_evstr_empty_end.txt
@@ -12,6 +12,7 @@
│ │ @ StatementsNode (location: (1,4)-(1,9))
│ │ └── body: (length: 1)
│ │ └── @ CallNode (location: (1,4)-(1,9))
+ │ │ ├── flags: variable_call
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
│ │ ├── name: :field
@@ -19,7 +20,6 @@
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
- │ │ ├── block: ∅
- │ │ └── flags: variable_call
+ │ │ └── block: ∅
│ └── closing_loc: (1,9)-(1,10) = "}"
└── closing_loc: (1,10)-(1,11) = "\""
diff --git a/test/prism/snapshots/seattlerb/dstr_lex_state.txt b/test/prism/snapshots/seattlerb/dstr_lex_state.txt
index 9172daedc7..56264cea05 100644
--- a/test/prism/snapshots/seattlerb/dstr_lex_state.txt
+++ b/test/prism/snapshots/seattlerb/dstr_lex_state.txt
@@ -12,6 +12,7 @@
│ │ @ StatementsNode (location: (1,3)-(1,6))
│ │ └── body: (length: 1)
│ │ └── @ CallNode (location: (1,3)-(1,6))
+ │ │ ├── flags: ∅
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
│ │ ├── name: :p
@@ -19,15 +20,14 @@
│ │ ├── opening_loc: ∅
│ │ ├── arguments:
│ │ │ @ ArgumentsNode (location: (1,4)-(1,6))
- │ │ │ ├── arguments: (length: 1)
- │ │ │ │ └── @ SymbolNode (location: (1,4)-(1,6))
- │ │ │ │ ├── opening_loc: (1,4)-(1,5) = ":"
- │ │ │ │ ├── value_loc: (1,5)-(1,6) = "a"
- │ │ │ │ ├── closing_loc: ∅
- │ │ │ │ └── unescaped: "a"
- │ │ │ └── flags: ∅
+ │ │ │ ├── flags: ∅
+ │ │ │ └── arguments: (length: 1)
+ │ │ │ └── @ SymbolNode (location: (1,4)-(1,6))
+ │ │ │ ├── opening_loc: (1,4)-(1,5) = ":"
+ │ │ │ ├── value_loc: (1,5)-(1,6) = "a"
+ │ │ │ ├── closing_loc: ∅
+ │ │ │ └── unescaped: "a"
│ │ ├── closing_loc: ∅
- │ │ ├── block: ∅
- │ │ └── flags: ∅
+ │ │ └── block: ∅
│ └── closing_loc: (1,6)-(1,7) = "}"
└── closing_loc: (1,7)-(1,8) = "\""
diff --git a/test/prism/snapshots/seattlerb/eq_begin_why_wont_people_use_their_spacebar.txt b/test/prism/snapshots/seattlerb/eq_begin_why_wont_people_use_their_spacebar.txt
index bc72255ff4..3b53fee11e 100644
--- a/test/prism/snapshots/seattlerb/eq_begin_why_wont_people_use_their_spacebar.txt
+++ b/test/prism/snapshots/seattlerb/eq_begin_why_wont_people_use_their_spacebar.txt
@@ -4,8 +4,10 @@
@ StatementsNode (location: (1,0)-(3,8))
└── body: (length: 1)
└── @ CallNode (location: (1,0)-(3,8))
+ ├── flags: ∅
├── receiver:
│ @ CallNode (location: (1,0)-(1,1))
+ │ ├── flags: variable_call
│ ├── receiver: ∅
│ ├── call_operator_loc: ∅
│ ├── name: :h
@@ -13,37 +15,35 @@
│ ├── opening_loc: ∅
│ ├── arguments: ∅
│ ├── closing_loc: ∅
- │ ├── block: ∅
- │ └── flags: variable_call
+ │ └── block: ∅
├── call_operator_loc: ∅
├── name: :[]=
├── message_loc: (1,1)-(1,4) = "[k]"
├── opening_loc: (1,1)-(1,2) = "["
├── arguments:
│ @ ArgumentsNode (location: (1,2)-(3,8))
- │ ├── arguments: (length: 2)
- │ │ ├── @ CallNode (location: (1,2)-(1,3))
- │ │ │ ├── receiver: ∅
- │ │ │ ├── call_operator_loc: ∅
- │ │ │ ├── name: :k
- │ │ │ ├── message_loc: (1,2)-(1,3) = "k"
- │ │ │ ├── opening_loc: ∅
- │ │ │ ├── arguments: ∅
- │ │ │ ├── closing_loc: ∅
- │ │ │ ├── block: ∅
- │ │ │ └── flags: variable_call
- │ │ └── @ BeginNode (location: (1,5)-(3,8))
- │ │ ├── begin_keyword_loc: (1,5)-(1,10) = "begin"
- │ │ ├── statements:
- │ │ │ @ StatementsNode (location: (2,7)-(2,9))
- │ │ │ └── body: (length: 1)
- │ │ │ └── @ IntegerNode (location: (2,7)-(2,9))
- │ │ │ └── flags: decimal
- │ │ ├── rescue_clause: ∅
- │ │ ├── else_clause: ∅
- │ │ ├── ensure_clause: ∅
- │ │ └── end_keyword_loc: (3,5)-(3,8) = "end"
- │ └── flags: ∅
+ │ ├── flags: ∅
+ │ └── arguments: (length: 2)
+ │ ├── @ CallNode (location: (1,2)-(1,3))
+ │ │ ├── flags: variable_call
+ │ │ ├── receiver: ∅
+ │ │ ├── call_operator_loc: ∅
+ │ │ ├── name: :k
+ │ │ ├── message_loc: (1,2)-(1,3) = "k"
+ │ │ ├── opening_loc: ∅
+ │ │ ├── arguments: ∅
+ │ │ ├── closing_loc: ∅
+ │ │ └── block: ∅
+ │ └── @ BeginNode (location: (1,5)-(3,8))
+ │ ├── begin_keyword_loc: (1,5)-(1,10) = "begin"
+ │ ├── statements:
+ │ │ @ StatementsNode (location: (2,7)-(2,9))
+ │ │ └── body: (length: 1)
+ │ │ └── @ IntegerNode (location: (2,7)-(2,9))
+ │ │ └── flags: decimal
+ │ ├── rescue_clause: ∅
+ │ ├── else_clause: ∅
+ │ ├── ensure_clause: ∅
+ │ └── end_keyword_loc: (3,5)-(3,8) = "end"
├── closing_loc: (1,3)-(1,4) = "]"
- ├── block: ∅
- └── flags: ∅
+ └── block: ∅
diff --git a/test/prism/snapshots/seattlerb/evstr_evstr.txt b/test/prism/snapshots/seattlerb/evstr_evstr.txt
index 102f21b884..25be925826 100644
--- a/test/prism/snapshots/seattlerb/evstr_evstr.txt
+++ b/test/prism/snapshots/seattlerb/evstr_evstr.txt
@@ -12,6 +12,7 @@
│ │ │ @ StatementsNode (location: (1,3)-(1,4))
│ │ │ └── body: (length: 1)
│ │ │ └── @ CallNode (location: (1,3)-(1,4))
+ │ │ │ ├── flags: variable_call
│ │ │ ├── receiver: ∅
│ │ │ ├── call_operator_loc: ∅
│ │ │ ├── name: :a
@@ -19,8 +20,7 @@
│ │ │ ├── opening_loc: ∅
│ │ │ ├── arguments: ∅
│ │ │ ├── closing_loc: ∅
- │ │ │ ├── block: ∅
- │ │ │ └── flags: variable_call
+ │ │ │ └── block: ∅
│ │ └── closing_loc: (1,4)-(1,5) = "}"
│ └── @ EmbeddedStatementsNode (location: (1,5)-(1,9))
│ ├── opening_loc: (1,5)-(1,7) = "\#{"
@@ -28,6 +28,7 @@
│ │ @ StatementsNode (location: (1,7)-(1,8))
│ │ └── body: (length: 1)
│ │ └── @ CallNode (location: (1,7)-(1,8))
+ │ │ ├── flags: variable_call
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
│ │ ├── name: :b
@@ -35,7 +36,6 @@
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
- │ │ ├── block: ∅
- │ │ └── flags: variable_call
+ │ │ └── block: ∅
│ └── closing_loc: (1,8)-(1,9) = "}"
└── closing_loc: (1,9)-(1,10) = "\""
diff --git a/test/prism/snapshots/seattlerb/evstr_str.txt b/test/prism/snapshots/seattlerb/evstr_str.txt
index 465f89a028..535881f353 100644
--- a/test/prism/snapshots/seattlerb/evstr_str.txt
+++ b/test/prism/snapshots/seattlerb/evstr_str.txt
@@ -12,6 +12,7 @@
│ │ │ @ StatementsNode (location: (1,3)-(1,4))
│ │ │ └── body: (length: 1)
│ │ │ └── @ CallNode (location: (1,3)-(1,4))
+ │ │ │ ├── flags: variable_call
│ │ │ ├── receiver: ∅
│ │ │ ├── call_operator_loc: ∅
│ │ │ ├── name: :a
@@ -19,8 +20,7 @@
│ │ │ ├── opening_loc: ∅
│ │ │ ├── arguments: ∅
│ │ │ ├── closing_loc: ∅
- │ │ │ ├── block: ∅
- │ │ │ └── flags: variable_call
+ │ │ │ └── block: ∅
│ │ └── closing_loc: (1,4)-(1,5) = "}"
│ └── @ StringNode (location: (1,5)-(1,7))
│ ├── flags: ∅
diff --git a/test/prism/snapshots/seattlerb/expr_not_bang.txt b/test/prism/snapshots/seattlerb/expr_not_bang.txt
index a9bfae7381..dab908c1ee 100644
--- a/test/prism/snapshots/seattlerb/expr_not_bang.txt
+++ b/test/prism/snapshots/seattlerb/expr_not_bang.txt
@@ -4,8 +4,10 @@
@ StatementsNode (location: (1,0)-(1,5))
└── body: (length: 1)
└── @ CallNode (location: (1,0)-(1,5))
+ ├── flags: ∅
├── receiver:
│ @ CallNode (location: (1,2)-(1,5))
+ │ ├── flags: ∅
│ ├── receiver: ∅
│ ├── call_operator_loc: ∅
│ ├── name: :a
@@ -13,26 +15,24 @@
│ ├── opening_loc: ∅
│ ├── arguments:
│ │ @ ArgumentsNode (location: (1,4)-(1,5))
- │ │ ├── arguments: (length: 1)
- │ │ │ └── @ CallNode (location: (1,4)-(1,5))
- │ │ │ ├── receiver: ∅
- │ │ │ ├── call_operator_loc: ∅
- │ │ │ ├── name: :b
- │ │ │ ├── message_loc: (1,4)-(1,5) = "b"
- │ │ │ ├── opening_loc: ∅
- │ │ │ ├── arguments: ∅
- │ │ │ ├── closing_loc: ∅
- │ │ │ ├── block: ∅
- │ │ │ └── flags: variable_call
- │ │ └── flags: ∅
+ │ │ ├── flags: ∅
+ │ │ └── arguments: (length: 1)
+ │ │ └── @ CallNode (location: (1,4)-(1,5))
+ │ │ ├── flags: variable_call
+ │ │ ├── receiver: ∅
+ │ │ ├── call_operator_loc: ∅
+ │ │ ├── name: :b
+ │ │ ├── message_loc: (1,4)-(1,5) = "b"
+ │ │ ├── opening_loc: ∅
+ │ │ ├── arguments: ∅
+ │ │ ├── closing_loc: ∅
+ │ │ └── block: ∅
│ ├── closing_loc: ∅
- │ ├── block: ∅
- │ └── flags: ∅
+ │ └── block: ∅
├── call_operator_loc: ∅
├── name: :!
├── message_loc: (1,0)-(1,1) = "!"
├── opening_loc: ∅
├── arguments: ∅
├── closing_loc: ∅
- ├── block: ∅
- └── flags: ∅
+ └── block: ∅
diff --git a/test/prism/snapshots/seattlerb/flip2_env_lvar.txt b/test/prism/snapshots/seattlerb/flip2_env_lvar.txt
index 3cd798e41f..fe3592fd0b 100644
--- a/test/prism/snapshots/seattlerb/flip2_env_lvar.txt
+++ b/test/prism/snapshots/seattlerb/flip2_env_lvar.txt
@@ -7,8 +7,10 @@
├── if_keyword_loc: (1,0)-(1,2) = "if"
├── predicate:
│ @ FlipFlopNode (location: (1,3)-(1,7))
+ │ ├── flags: ∅
│ ├── left:
│ │ @ CallNode (location: (1,3)-(1,4))
+ │ │ ├── flags: variable_call
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
│ │ ├── name: :a
@@ -16,10 +18,10 @@
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
- │ │ ├── block: ∅
- │ │ └── flags: variable_call
+ │ │ └── block: ∅
│ ├── right:
│ │ @ CallNode (location: (1,6)-(1,7))
+ │ │ ├── flags: variable_call
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
│ │ ├── name: :b
@@ -27,10 +29,8 @@
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
- │ │ ├── block: ∅
- │ │ └── flags: variable_call
- │ ├── operator_loc: (1,4)-(1,6) = ".."
- │ └── flags: ∅
+ │ │ └── block: ∅
+ │ └── operator_loc: (1,4)-(1,6) = ".."
├── then_keyword_loc: (1,8)-(1,12) = "then"
├── statements: ∅
├── consequent: ∅
diff --git a/test/prism/snapshots/seattlerb/heredoc_comma_arg.txt b/test/prism/snapshots/seattlerb/heredoc_comma_arg.txt
index c729c67ce8..888ebc809a 100644
--- a/test/prism/snapshots/seattlerb/heredoc_comma_arg.txt
+++ b/test/prism/snapshots/seattlerb/heredoc_comma_arg.txt
@@ -4,6 +4,7 @@
@ StatementsNode (location: (1,0)-(7,1))
└── body: (length: 2)
├── @ ArrayNode (location: (1,0)-(2,3))
+ │ ├── flags: ∅
│ ├── elements: (length: 1)
│ │ └── @ StringNode (location: (1,1)-(2,1))
│ │ ├── flags: ∅
@@ -12,9 +13,9 @@
│ │ ├── closing_loc: (2,0)-(2,1) = "\""
│ │ └── unescaped: " some text\n"
│ ├── opening_loc: (1,0)-(1,1) = "["
- │ ├── closing_loc: (2,2)-(2,3) = "]"
- │ └── flags: ∅
+ │ └── closing_loc: (2,2)-(2,3) = "]"
└── @ ArrayNode (location: (4,0)-(7,1))
+ ├── flags: ∅
├── elements: (length: 1)
│ └── @ StringNode (location: (4,1)-(4,8))
│ ├── flags: ∅
@@ -23,5 +24,4 @@
│ ├── closing_loc: (6,0)-(7,0) = "FILE\n"
│ └── unescaped: " some text\n"
├── opening_loc: (4,0)-(4,1) = "["
- ├── closing_loc: (7,0)-(7,1) = "]"
- └── flags: ∅
+ └── closing_loc: (7,0)-(7,1) = "]"
diff --git a/test/prism/snapshots/seattlerb/heredoc_nested.txt b/test/prism/snapshots/seattlerb/heredoc_nested.txt
index 0f65b2bd75..fde81dd586 100644
--- a/test/prism/snapshots/seattlerb/heredoc_nested.txt
+++ b/test/prism/snapshots/seattlerb/heredoc_nested.txt
@@ -4,6 +4,7 @@
@ StatementsNode (location: (1,0)-(7,2))
└── body: (length: 1)
└── @ ArrayNode (location: (1,0)-(7,2))
+ ├── flags: ∅
├── elements: (length: 2)
│ ├── @ InterpolatedStringNode (location: (1,1)-(1,4))
│ │ ├── opening_loc: (1,1)-(1,4) = "<<A"
@@ -36,5 +37,4 @@
│ └── @ IntegerNode (location: (7,0)-(7,1))
│ └── flags: decimal
├── opening_loc: (1,0)-(1,1) = "["
- ├── closing_loc: (7,1)-(7,2) = "]"
- └── flags: ∅
+ └── closing_loc: (7,1)-(7,2) = "]"
diff --git a/test/prism/snapshots/seattlerb/heredoc_squiggly_blank_line_plus_interpolation.txt b/test/prism/snapshots/seattlerb/heredoc_squiggly_blank_line_plus_interpolation.txt
index 540dd219fa..e12caf2895 100644
--- a/test/prism/snapshots/seattlerb/heredoc_squiggly_blank_line_plus_interpolation.txt
+++ b/test/prism/snapshots/seattlerb/heredoc_squiggly_blank_line_plus_interpolation.txt
@@ -9,6 +9,7 @@
├── name_loc: (1,0)-(1,1) = "a"
├── value:
│ @ CallNode (location: (1,4)-(1,20))
+ │ ├── flags: ∅
│ ├── receiver: ∅
│ ├── call_operator_loc: ∅
│ ├── name: :foo
@@ -16,51 +17,50 @@
│ ├── opening_loc: (1,7)-(1,8) = "("
│ ├── arguments:
│ │ @ ArgumentsNode (location: (1,8)-(1,19))
- │ │ ├── arguments: (length: 1)
- │ │ │ └── @ CallNode (location: (1,8)-(1,19))
- │ │ │ ├── receiver:
- │ │ │ │ @ InterpolatedStringNode (location: (1,8)-(1,14))
- │ │ │ │ ├── opening_loc: (1,8)-(1,14) = "<<~EOF"
- │ │ │ │ ├── parts: (length: 3)
- │ │ │ │ │ ├── @ StringNode (location: (2,0)-(3,0))
- │ │ │ │ │ │ ├── flags: ∅
- │ │ │ │ │ │ ├── opening_loc: ∅
- │ │ │ │ │ │ ├── content_loc: (2,0)-(3,0) = "\n"
- │ │ │ │ │ │ ├── closing_loc: ∅
- │ │ │ │ │ │ └── unescaped: "\n"
- │ │ │ │ │ ├── @ EmbeddedStatementsNode (location: (3,4)-(3,10))
- │ │ │ │ │ │ ├── opening_loc: (3,4)-(3,6) = "\#{"
- │ │ │ │ │ │ ├── statements:
- │ │ │ │ │ │ │ @ StatementsNode (location: (3,6)-(3,9))
- │ │ │ │ │ │ │ └── body: (length: 1)
- │ │ │ │ │ │ │ └── @ CallNode (location: (3,6)-(3,9))
- │ │ │ │ │ │ │ ├── receiver: ∅
- │ │ │ │ │ │ │ ├── call_operator_loc: ∅
- │ │ │ │ │ │ │ ├── name: :bar
- │ │ │ │ │ │ │ ├── message_loc: (3,6)-(3,9) = "bar"
- │ │ │ │ │ │ │ ├── opening_loc: ∅
- │ │ │ │ │ │ │ ├── arguments: ∅
- │ │ │ │ │ │ │ ├── closing_loc: ∅
- │ │ │ │ │ │ │ ├── block: ∅
- │ │ │ │ │ │ │ └── flags: variable_call
- │ │ │ │ │ │ └── closing_loc: (3,9)-(3,10) = "}"
- │ │ │ │ │ └── @ StringNode (location: (3,10)-(4,0))
- │ │ │ │ │ ├── flags: ∅
- │ │ │ │ │ ├── opening_loc: ∅
- │ │ │ │ │ ├── content_loc: (3,10)-(4,0) = "baz\n"
- │ │ │ │ │ ├── closing_loc: ∅
- │ │ │ │ │ └── unescaped: "baz\n"
- │ │ │ │ └── closing_loc: (4,0)-(5,0) = " EOF\n"
- │ │ │ ├── call_operator_loc: (1,14)-(1,15) = "."
- │ │ │ ├── name: :chop
- │ │ │ ├── message_loc: (1,15)-(1,19) = "chop"
- │ │ │ ├── opening_loc: ∅
- │ │ │ ├── arguments: ∅
- │ │ │ ├── closing_loc: ∅
- │ │ │ ├── block: ∅
- │ │ │ └── flags: ∅
- │ │ └── flags: ∅
+ │ │ ├── flags: ∅
+ │ │ └── arguments: (length: 1)
+ │ │ └── @ CallNode (location: (1,8)-(1,19))
+ │ │ ├── flags: ∅
+ │ │ ├── receiver:
+ │ │ │ @ InterpolatedStringNode (location: (1,8)-(1,14))
+ │ │ │ ├── opening_loc: (1,8)-(1,14) = "<<~EOF"
+ │ │ │ ├── parts: (length: 3)
+ │ │ │ │ ├── @ StringNode (location: (2,0)-(3,0))
+ │ │ │ │ │ ├── flags: ∅
+ │ │ │ │ │ ├── opening_loc: ∅
+ │ │ │ │ │ ├── content_loc: (2,0)-(3,0) = "\n"
+ │ │ │ │ │ ├── closing_loc: ∅
+ │ │ │ │ │ └── unescaped: "\n"
+ │ │ │ │ ├── @ EmbeddedStatementsNode (location: (3,4)-(3,10))
+ │ │ │ │ │ ├── opening_loc: (3,4)-(3,6) = "\#{"
+ │ │ │ │ │ ├── statements:
+ │ │ │ │ │ │ @ StatementsNode (location: (3,6)-(3,9))
+ │ │ │ │ │ │ └── body: (length: 1)
+ │ │ │ │ │ │ └── @ CallNode (location: (3,6)-(3,9))
+ │ │ │ │ │ │ ├── flags: variable_call
+ │ │ │ │ │ │ ├── receiver: ∅
+ │ │ │ │ │ │ ├── call_operator_loc: ∅
+ │ │ │ │ │ │ ├── name: :bar
+ │ │ │ │ │ │ ├── message_loc: (3,6)-(3,9) = "bar"
+ │ │ │ │ │ │ ├── opening_loc: ∅
+ │ │ │ │ │ │ ├── arguments: ∅
+ │ │ │ │ │ │ ├── closing_loc: ∅
+ │ │ │ │ │ │ └── block: ∅
+ │ │ │ │ │ └── closing_loc: (3,9)-(3,10) = "}"
+ │ │ │ │ └── @ StringNode (location: (3,10)-(4,0))
+ │ │ │ │ ├── flags: ∅
+ │ │ │ │ ├── opening_loc: ∅
+ │ │ │ │ ├── content_loc: (3,10)-(4,0) = "baz\n"
+ │ │ │ │ ├── closing_loc: ∅
+ │ │ │ │ └── unescaped: "baz\n"
+ │ │ │ └── closing_loc: (4,0)-(5,0) = " EOF\n"
+ │ │ ├── call_operator_loc: (1,14)-(1,15) = "."
+ │ │ ├── name: :chop
+ │ │ ├── message_loc: (1,15)-(1,19) = "chop"
+ │ │ ├── opening_loc: ∅
+ │ │ ├── arguments: ∅
+ │ │ ├── closing_loc: ∅
+ │ │ └── block: ∅
│ ├── closing_loc: (1,19)-(1,20) = ")"
- │ ├── block: ∅
- │ └── flags: ∅
+ │ └── block: ∅
└── operator_loc: (1,2)-(1,3) = "="
diff --git a/test/prism/snapshots/seattlerb/heredoc_trailing_slash_continued_call.txt b/test/prism/snapshots/seattlerb/heredoc_trailing_slash_continued_call.txt
index c3622c841f..bc05047b40 100644
--- a/test/prism/snapshots/seattlerb/heredoc_trailing_slash_continued_call.txt
+++ b/test/prism/snapshots/seattlerb/heredoc_trailing_slash_continued_call.txt
@@ -4,6 +4,7 @@
@ StatementsNode (location: (1,0)-(4,6))
└── body: (length: 1)
└── @ CallNode (location: (1,0)-(4,6))
+ ├── flags: ∅
├── receiver:
│ @ StringNode (location: (1,0)-(1,5))
│ ├── flags: ∅
@@ -17,5 +18,4 @@
├── opening_loc: ∅
├── arguments: ∅
├── closing_loc: ∅
- ├── block: ∅
- └── flags: ∅
+ └── block: ∅
diff --git a/test/prism/snapshots/seattlerb/if_symbol.txt b/test/prism/snapshots/seattlerb/if_symbol.txt
index e561b6c026..ee400c931d 100644
--- a/test/prism/snapshots/seattlerb/if_symbol.txt
+++ b/test/prism/snapshots/seattlerb/if_symbol.txt
@@ -7,6 +7,7 @@
├── if_keyword_loc: (1,0)-(1,2) = "if"
├── predicate:
│ @ CallNode (location: (1,3)-(1,7))
+ │ ├── flags: ∅
│ ├── receiver: ∅
│ ├── call_operator_loc: ∅
│ ├── name: :f
@@ -14,16 +15,15 @@
│ ├── opening_loc: ∅
│ ├── arguments:
│ │ @ ArgumentsNode (location: (1,5)-(1,7))
- │ │ ├── arguments: (length: 1)
- │ │ │ └── @ SymbolNode (location: (1,5)-(1,7))
- │ │ │ ├── opening_loc: (1,5)-(1,6) = ":"
- │ │ │ ├── value_loc: (1,6)-(1,7) = "x"
- │ │ │ ├── closing_loc: ∅
- │ │ │ └── unescaped: "x"
- │ │ └── flags: ∅
+ │ │ ├── flags: ∅
+ │ │ └── arguments: (length: 1)
+ │ │ └── @ SymbolNode (location: (1,5)-(1,7))
+ │ │ ├── opening_loc: (1,5)-(1,6) = ":"
+ │ │ ├── value_loc: (1,6)-(1,7) = "x"
+ │ │ ├── closing_loc: ∅
+ │ │ └── unescaped: "x"
│ ├── closing_loc: ∅
- │ ├── block: ∅
- │ └── flags: ∅
+ │ └── block: ∅
├── then_keyword_loc: ∅
├── statements: ∅
├── consequent: ∅
diff --git a/test/prism/snapshots/seattlerb/index_0.txt b/test/prism/snapshots/seattlerb/index_0.txt
index e295b2aadf..3be81b5435 100644
--- a/test/prism/snapshots/seattlerb/index_0.txt
+++ b/test/prism/snapshots/seattlerb/index_0.txt
@@ -4,8 +4,10 @@
@ StatementsNode (location: (1,0)-(1,7))
└── body: (length: 1)
└── @ CallNode (location: (1,0)-(1,7))
+ ├── flags: ∅
├── receiver:
│ @ CallNode (location: (1,0)-(1,1))
+ │ ├── flags: variable_call
│ ├── receiver: ∅
│ ├── call_operator_loc: ∅
│ ├── name: :a
@@ -13,26 +15,24 @@
│ ├── opening_loc: ∅
│ ├── arguments: ∅
│ ├── closing_loc: ∅
- │ ├── block: ∅
- │ └── flags: variable_call
+ │ └── block: ∅
├── call_operator_loc: ∅
├── name: :[]=
├── message_loc: (1,1)-(1,3) = "[]"
├── opening_loc: (1,1)-(1,2) = "["
├── arguments:
│ @ ArgumentsNode (location: (1,6)-(1,7))
- │ ├── arguments: (length: 1)
- │ │ └── @ CallNode (location: (1,6)-(1,7))
- │ │ ├── receiver: ∅
- │ │ ├── call_operator_loc: ∅
- │ │ ├── name: :b
- │ │ ├── message_loc: (1,6)-(1,7) = "b"
- │ │ ├── opening_loc: ∅
- │ │ ├── arguments: ∅
- │ │ ├── closing_loc: ∅
- │ │ ├── block: ∅
- │ │ └── flags: variable_call
- │ └── flags: ∅
+ │ ├── flags: ∅
+ │ └── arguments: (length: 1)
+ │ └── @ CallNode (location: (1,6)-(1,7))
+ │ ├── flags: variable_call
+ │ ├── receiver: ∅
+ │ ├── call_operator_loc: ∅
+ │ ├── name: :b
+ │ ├── message_loc: (1,6)-(1,7) = "b"
+ │ ├── opening_loc: ∅
+ │ ├── arguments: ∅
+ │ ├── closing_loc: ∅
+ │ └── block: ∅
├── closing_loc: (1,2)-(1,3) = "]"
- ├── block: ∅
- └── flags: ∅
+ └── block: ∅
diff --git a/test/prism/snapshots/seattlerb/index_0_opasgn.txt b/test/prism/snapshots/seattlerb/index_0_opasgn.txt
index 30eba375e0..d43bdceb71 100644
--- a/test/prism/snapshots/seattlerb/index_0_opasgn.txt
+++ b/test/prism/snapshots/seattlerb/index_0_opasgn.txt
@@ -4,8 +4,10 @@
@ StatementsNode (location: (1,0)-(1,8))
└── body: (length: 1)
└── @ IndexOperatorWriteNode (location: (1,0)-(1,8))
+ ├── flags: ∅
├── receiver:
│ @ CallNode (location: (1,0)-(1,1))
+ │ ├── flags: variable_call
│ ├── receiver: ∅
│ ├── call_operator_loc: ∅
│ ├── name: :a
@@ -13,18 +15,17 @@
│ ├── opening_loc: ∅
│ ├── arguments: ∅
│ ├── closing_loc: ∅
- │ ├── block: ∅
- │ └── flags: variable_call
+ │ └── block: ∅
├── call_operator_loc: ∅
├── opening_loc: (1,1)-(1,2) = "["
├── arguments: ∅
├── closing_loc: (1,2)-(1,3) = "]"
├── block: ∅
- ├── flags: ∅
├── operator: :+
├── operator_loc: (1,4)-(1,6) = "+="
└── value:
@ CallNode (location: (1,7)-(1,8))
+ ├── flags: variable_call
├── receiver: ∅
├── call_operator_loc: ∅
├── name: :b
@@ -32,5 +33,4 @@
├── opening_loc: ∅
├── arguments: ∅
├── closing_loc: ∅
- ├── block: ∅
- └── flags: variable_call
+ └── block: ∅
diff --git a/test/prism/snapshots/seattlerb/interpolated_symbol_array_line_breaks.txt b/test/prism/snapshots/seattlerb/interpolated_symbol_array_line_breaks.txt
index 3a8819e7a1..c203ec781c 100644
--- a/test/prism/snapshots/seattlerb/interpolated_symbol_array_line_breaks.txt
+++ b/test/prism/snapshots/seattlerb/interpolated_symbol_array_line_breaks.txt
@@ -4,6 +4,7 @@
@ StatementsNode (location: (1,0)-(5,1))
└── body: (length: 2)
├── @ ArrayNode (location: (1,0)-(4,1))
+ │ ├── flags: ∅
│ ├── elements: (length: 2)
│ │ ├── @ SymbolNode (location: (2,0)-(2,1))
│ │ │ ├── opening_loc: ∅
@@ -16,7 +17,6 @@
│ │ ├── closing_loc: ∅
│ │ └── unescaped: "b"
│ ├── opening_loc: (1,0)-(1,3) = "%I("
- │ ├── closing_loc: (4,0)-(4,1) = ")"
- │ └── flags: ∅
+ │ └── closing_loc: (4,0)-(4,1) = ")"
└── @ IntegerNode (location: (5,0)-(5,1))
└── flags: decimal
diff --git a/test/prism/snapshots/seattlerb/interpolated_word_array_line_breaks.txt b/test/prism/snapshots/seattlerb/interpolated_word_array_line_breaks.txt
index 5d81874350..bc28bf8574 100644
--- a/test/prism/snapshots/seattlerb/interpolated_word_array_line_breaks.txt
+++ b/test/prism/snapshots/seattlerb/interpolated_word_array_line_breaks.txt
@@ -4,6 +4,7 @@
@ StatementsNode (location: (1,0)-(5,1))
└── body: (length: 2)
├── @ ArrayNode (location: (1,0)-(4,1))
+ │ ├── flags: ∅
│ ├── elements: (length: 2)
│ │ ├── @ StringNode (location: (2,0)-(2,1))
│ │ │ ├── flags: ∅
@@ -18,7 +19,6 @@
│ │ ├── closing_loc: ∅
│ │ └── unescaped: "b"
│ ├── opening_loc: (1,0)-(1,3) = "%W("
- │ ├── closing_loc: (4,0)-(4,1) = ")"
- │ └── flags: ∅
+ │ └── closing_loc: (4,0)-(4,1) = ")"
└── @ IntegerNode (location: (5,0)-(5,1))
└── flags: decimal
diff --git a/test/prism/snapshots/seattlerb/iter_args_1.txt b/test/prism/snapshots/seattlerb/iter_args_1.txt
index 86d2974746..0a296a66cd 100644
--- a/test/prism/snapshots/seattlerb/iter_args_1.txt
+++ b/test/prism/snapshots/seattlerb/iter_args_1.txt
@@ -4,6 +4,7 @@
@ StatementsNode (location: (1,0)-(1,11))
└── body: (length: 1)
└── @ CallNode (location: (1,0)-(1,11))
+ ├── flags: ∅
├── receiver: ∅
├── call_operator_loc: ∅
├── name: :f
@@ -11,29 +12,28 @@
├── opening_loc: ∅
├── arguments: ∅
├── closing_loc: ∅
- ├── block:
- │ @ BlockNode (location: (1,2)-(1,11))
- │ ├── locals: [:a, :b]
- │ ├── locals_body_index: 2
- │ ├── parameters:
- │ │ @ BlockParametersNode (location: (1,4)-(1,9))
- │ │ ├── parameters:
- │ │ │ @ ParametersNode (location: (1,5)-(1,8))
- │ │ │ ├── requireds: (length: 2)
- │ │ │ │ ├── @ RequiredParameterNode (location: (1,5)-(1,6))
- │ │ │ │ │ └── name: :a
- │ │ │ │ └── @ RequiredParameterNode (location: (1,7)-(1,8))
- │ │ │ │ └── name: :b
- │ │ │ ├── optionals: (length: 0)
- │ │ │ ├── rest: ∅
- │ │ │ ├── posts: (length: 0)
- │ │ │ ├── keywords: (length: 0)
- │ │ │ ├── keyword_rest: ∅
- │ │ │ └── block: ∅
- │ │ ├── locals: (length: 0)
- │ │ ├── opening_loc: (1,4)-(1,5) = "|"
- │ │ └── closing_loc: (1,8)-(1,9) = "|"
- │ ├── body: ∅
- │ ├── opening_loc: (1,2)-(1,3) = "{"
- │ └── closing_loc: (1,10)-(1,11) = "}"
- └── flags: ∅
+ └── block:
+ @ BlockNode (location: (1,2)-(1,11))
+ ├── locals: [:a, :b]
+ ├── locals_body_index: 2
+ ├── parameters:
+ │ @ BlockParametersNode (location: (1,4)-(1,9))
+ │ ├── parameters:
+ │ │ @ ParametersNode (location: (1,5)-(1,8))
+ │ │ ├── requireds: (length: 2)
+ │ │ │ ├── @ RequiredParameterNode (location: (1,5)-(1,6))
+ │ │ │ │ └── name: :a
+ │ │ │ └── @ RequiredParameterNode (location: (1,7)-(1,8))
+ │ │ │ └── name: :b
+ │ │ ├── optionals: (length: 0)
+ │ │ ├── rest: ∅
+ │ │ ├── posts: (length: 0)
+ │ │ ├── keywords: (length: 0)
+ │ │ ├── keyword_rest: ∅
+ │ │ └── block: ∅
+ │ ├── locals: (length: 0)
+ │ ├── opening_loc: (1,4)-(1,5) = "|"
+ │ └── closing_loc: (1,8)-(1,9) = "|"
+ ├── body: ∅
+ ├── opening_loc: (1,2)-(1,3) = "{"
+ └── closing_loc: (1,10)-(1,11) = "}"
diff --git a/test/prism/snapshots/seattlerb/iter_args_10_1.txt b/test/prism/snapshots/seattlerb/iter_args_10_1.txt
index 41db5311e3..8bccaacefd 100644
--- a/test/prism/snapshots/seattlerb/iter_args_10_1.txt
+++ b/test/prism/snapshots/seattlerb/iter_args_10_1.txt
@@ -4,6 +4,7 @@
@ StatementsNode (location: (1,0)-(1,21))
└── body: (length: 1)
└── @ CallNode (location: (1,0)-(1,21))
+ ├── flags: ∅
├── receiver: ∅
├── call_operator_loc: ∅
├── name: :f
@@ -11,38 +12,37 @@
├── opening_loc: ∅
├── arguments: ∅
├── closing_loc: ∅
- ├── block:
- │ @ BlockNode (location: (1,2)-(1,21))
- │ ├── locals: [:a, :b, :c]
- │ ├── locals_body_index: 3
- │ ├── parameters:
- │ │ @ BlockParametersNode (location: (1,4)-(1,19))
- │ │ ├── parameters:
- │ │ │ @ ParametersNode (location: (1,5)-(1,18))
- │ │ │ ├── requireds: (length: 1)
- │ │ │ │ └── @ RequiredParameterNode (location: (1,5)-(1,6))
- │ │ │ │ └── name: :a
- │ │ │ ├── optionals: (length: 1)
- │ │ │ │ └── @ OptionalParameterNode (location: (1,8)-(1,14))
- │ │ │ │ ├── name: :b
- │ │ │ │ ├── name_loc: (1,8)-(1,9) = "b"
- │ │ │ │ ├── operator_loc: (1,10)-(1,11) = "="
- │ │ │ │ └── value:
- │ │ │ │ @ IntegerNode (location: (1,12)-(1,14))
- │ │ │ │ └── flags: decimal
- │ │ │ ├── rest:
- │ │ │ │ @ RestParameterNode (location: (1,16)-(1,18))
- │ │ │ │ ├── name: :c
- │ │ │ │ ├── name_loc: (1,17)-(1,18) = "c"
- │ │ │ │ └── operator_loc: (1,16)-(1,17) = "*"
- │ │ │ ├── posts: (length: 0)
- │ │ │ ├── keywords: (length: 0)
- │ │ │ ├── keyword_rest: ∅
- │ │ │ └── block: ∅
- │ │ ├── locals: (length: 0)
- │ │ ├── opening_loc: (1,4)-(1,5) = "|"
- │ │ └── closing_loc: (1,18)-(1,19) = "|"
- │ ├── body: ∅
- │ ├── opening_loc: (1,2)-(1,3) = "{"
- │ └── closing_loc: (1,20)-(1,21) = "}"
- └── flags: ∅
+ └── block:
+ @ BlockNode (location: (1,2)-(1,21))
+ ├── locals: [:a, :b, :c]
+ ├── locals_body_index: 3
+ ├── parameters:
+ │ @ BlockParametersNode (location: (1,4)-(1,19))
+ │ ├── parameters:
+ │ │ @ ParametersNode (location: (1,5)-(1,18))
+ │ │ ├── requireds: (length: 1)
+ │ │ │ └── @ RequiredParameterNode (location: (1,5)-(1,6))
+ │ │ │ └── name: :a
+ │ │ ├── optionals: (length: 1)
+ │ │ │ └── @ OptionalParameterNode (location: (1,8)-(1,14))
+ │ │ │ ├── name: :b
+ │ │ │ ├── name_loc: (1,8)-(1,9) = "b"
+ │ │ │ ├── operator_loc: (1,10)-(1,11) = "="
+ │ │ │ └── value:
+ │ │ │ @ IntegerNode (location: (1,12)-(1,14))
+ │ │ │ └── flags: decimal
+ │ │ ├── rest:
+ │ │ │ @ RestParameterNode (location: (1,16)-(1,18))
+ │ │ │ ├── name: :c
+ │ │ │ ├── name_loc: (1,17)-(1,18) = "c"
+ │ │ │ └── operator_loc: (1,16)-(1,17) = "*"
+ │ │ ├── posts: (length: 0)
+ │ │ ├── keywords: (length: 0)
+ │ │ ├── keyword_rest: ∅
+ │ │ └── block: ∅
+ │ ├── locals: (length: 0)
+ │ ├── opening_loc: (1,4)-(1,5) = "|"
+ │ └── closing_loc: (1,18)-(1,19) = "|"
+ ├── body: ∅
+ ├── opening_loc: (1,2)-(1,3) = "{"
+ └── closing_loc: (1,20)-(1,21) = "}"
diff --git a/test/prism/snapshots/seattlerb/iter_args_10_2.txt b/test/prism/snapshots/seattlerb/iter_args_10_2.txt
index 511ea42820..08eacad4aa 100644
--- a/test/prism/snapshots/seattlerb/iter_args_10_2.txt
+++ b/test/prism/snapshots/seattlerb/iter_args_10_2.txt
@@ -4,6 +4,7 @@
@ StatementsNode (location: (1,0)-(1,25))
└── body: (length: 1)
└── @ CallNode (location: (1,0)-(1,25))
+ ├── flags: ∅
├── receiver: ∅
├── call_operator_loc: ∅
├── name: :f
@@ -11,42 +12,41 @@
├── opening_loc: ∅
├── arguments: ∅
├── closing_loc: ∅
- ├── block:
- │ @ BlockNode (location: (1,2)-(1,25))
- │ ├── locals: [:a, :b, :c, :d]
- │ ├── locals_body_index: 4
- │ ├── parameters:
- │ │ @ BlockParametersNode (location: (1,4)-(1,23))
- │ │ ├── parameters:
- │ │ │ @ ParametersNode (location: (1,5)-(1,22))
- │ │ │ ├── requireds: (length: 1)
- │ │ │ │ └── @ RequiredParameterNode (location: (1,5)-(1,6))
- │ │ │ │ └── name: :a
- │ │ │ ├── optionals: (length: 1)
- │ │ │ │ └── @ OptionalParameterNode (location: (1,8)-(1,14))
- │ │ │ │ ├── name: :b
- │ │ │ │ ├── name_loc: (1,8)-(1,9) = "b"
- │ │ │ │ ├── operator_loc: (1,10)-(1,11) = "="
- │ │ │ │ └── value:
- │ │ │ │ @ IntegerNode (location: (1,12)-(1,14))
- │ │ │ │ └── flags: decimal
- │ │ │ ├── rest:
- │ │ │ │ @ RestParameterNode (location: (1,16)-(1,18))
- │ │ │ │ ├── name: :c
- │ │ │ │ ├── name_loc: (1,17)-(1,18) = "c"
- │ │ │ │ └── operator_loc: (1,16)-(1,17) = "*"
- │ │ │ ├── posts: (length: 0)
- │ │ │ ├── keywords: (length: 0)
- │ │ │ ├── keyword_rest: ∅
- │ │ │ └── block:
- │ │ │ @ BlockParameterNode (location: (1,20)-(1,22))
- │ │ │ ├── name: :d
- │ │ │ ├── name_loc: (1,21)-(1,22) = "d"
- │ │ │ └── operator_loc: (1,20)-(1,21) = "&"
- │ │ ├── locals: (length: 0)
- │ │ ├── opening_loc: (1,4)-(1,5) = "|"
- │ │ └── closing_loc: (1,22)-(1,23) = "|"
- │ ├── body: ∅
- │ ├── opening_loc: (1,2)-(1,3) = "{"
- │ └── closing_loc: (1,24)-(1,25) = "}"
- └── flags: ∅
+ └── block:
+ @ BlockNode (location: (1,2)-(1,25))
+ ├── locals: [:a, :b, :c, :d]
+ ├── locals_body_index: 4
+ ├── parameters:
+ │ @ BlockParametersNode (location: (1,4)-(1,23))
+ │ ├── parameters:
+ │ │ @ ParametersNode (location: (1,5)-(1,22))
+ │ │ ├── requireds: (length: 1)
+ │ │ │ └── @ RequiredParameterNode (location: (1,5)-(1,6))
+ │ │ │ └── name: :a
+ │ │ ├── optionals: (length: 1)
+ │ │ │ └── @ OptionalParameterNode (location: (1,8)-(1,14))
+ │ │ │ ├── name: :b
+ │ │ │ ├── name_loc: (1,8)-(1,9) = "b"
+ │ │ │ ├── operator_loc: (1,10)-(1,11) = "="
+ │ │ │ └── value:
+ │ │ │ @ IntegerNode (location: (1,12)-(1,14))
+ │ │ │ └── flags: decimal
+ │ │ ├── rest:
+ │ │ │ @ RestParameterNode (location: (1,16)-(1,18))
+ │ │ │ ├── name: :c
+ │ │ │ ├── name_loc: (1,17)-(1,18) = "c"
+ │ │ │ └── operator_loc: (1,16)-(1,17) = "*"
+ │ │ ├── posts: (length: 0)
+ │ │ ├── keywords: (length: 0)
+ │ │ ├── keyword_rest: ∅
+ │ │ └── block:
+ │ │ @ BlockParameterNode (location: (1,20)-(1,22))
+ │ │ ├── name: :d
+ │ │ ├── name_loc: (1,21)-(1,22) = "d"
+ │ │ └── operator_loc: (1,20)-(1,21) = "&"
+ │ ├── locals: (length: 0)
+ │ ├── opening_loc: (1,4)-(1,5) = "|"
+ │ └── closing_loc: (1,22)-(1,23) = "|"
+ ├── body: ∅
+ ├── opening_loc: (1,2)-(1,3) = "{"
+ └── closing_loc: (1,24)-(1,25) = "}"
diff --git a/test/prism/snapshots/seattlerb/iter_args_11_1.txt b/test/prism/snapshots/seattlerb/iter_args_11_1.txt
index b9abf90fd7..e4c0a21997 100644
--- a/test/prism/snapshots/seattlerb/iter_args_11_1.txt
+++ b/test/prism/snapshots/seattlerb/iter_args_11_1.txt
@@ -4,6 +4,7 @@
@ StatementsNode (location: (1,0)-(1,24))
└── body: (length: 1)
└── @ CallNode (location: (1,0)-(1,24))
+ ├── flags: ∅
├── receiver: ∅
├── call_operator_loc: ∅
├── name: :f
@@ -11,40 +12,39 @@
├── opening_loc: ∅
├── arguments: ∅
├── closing_loc: ∅
- ├── block:
- │ @ BlockNode (location: (1,2)-(1,24))
- │ ├── locals: [:a, :b, :c, :d]
- │ ├── locals_body_index: 4
- │ ├── parameters:
- │ │ @ BlockParametersNode (location: (1,4)-(1,22))
- │ │ ├── parameters:
- │ │ │ @ ParametersNode (location: (1,5)-(1,21))
- │ │ │ ├── requireds: (length: 1)
- │ │ │ │ └── @ RequiredParameterNode (location: (1,5)-(1,6))
- │ │ │ │ └── name: :a
- │ │ │ ├── optionals: (length: 1)
- │ │ │ │ └── @ OptionalParameterNode (location: (1,8)-(1,14))
- │ │ │ │ ├── name: :b
- │ │ │ │ ├── name_loc: (1,8)-(1,9) = "b"
- │ │ │ │ ├── operator_loc: (1,10)-(1,11) = "="
- │ │ │ │ └── value:
- │ │ │ │ @ IntegerNode (location: (1,12)-(1,14))
- │ │ │ │ └── flags: decimal
- │ │ │ ├── rest:
- │ │ │ │ @ RestParameterNode (location: (1,16)-(1,18))
- │ │ │ │ ├── name: :c
- │ │ │ │ ├── name_loc: (1,17)-(1,18) = "c"
- │ │ │ │ └── operator_loc: (1,16)-(1,17) = "*"
- │ │ │ ├── posts: (length: 1)
- │ │ │ │ └── @ RequiredParameterNode (location: (1,20)-(1,21))
- │ │ │ │ └── name: :d
- │ │ │ ├── keywords: (length: 0)
- │ │ │ ├── keyword_rest: ∅
- │ │ │ └── block: ∅
- │ │ ├── locals: (length: 0)
- │ │ ├── opening_loc: (1,4)-(1,5) = "|"
- │ │ └── closing_loc: (1,21)-(1,22) = "|"
- │ ├── body: ∅
- │ ├── opening_loc: (1,2)-(1,3) = "{"
- │ └── closing_loc: (1,23)-(1,24) = "}"
- └── flags: ∅
+ └── block:
+ @ BlockNode (location: (1,2)-(1,24))
+ ├── locals: [:a, :b, :c, :d]
+ ├── locals_body_index: 4
+ ├── parameters:
+ │ @ BlockParametersNode (location: (1,4)-(1,22))
+ │ ├── parameters:
+ │ │ @ ParametersNode (location: (1,5)-(1,21))
+ │ │ ├── requireds: (length: 1)
+ │ │ │ └── @ RequiredParameterNode (location: (1,5)-(1,6))
+ │ │ │ └── name: :a
+ │ │ ├── optionals: (length: 1)
+ │ │ │ └── @ OptionalParameterNode (location: (1,8)-(1,14))
+ │ │ │ ├── name: :b
+ │ │ │ ├── name_loc: (1,8)-(1,9) = "b"
+ │ │ │ ├── operator_loc: (1,10)-(1,11) = "="
+ │ │ │ └── value:
+ │ │ │ @ IntegerNode (location: (1,12)-(1,14))
+ │ │ │ └── flags: decimal
+ │ │ ├── rest:
+ │ │ │ @ RestParameterNode (location: (1,16)-(1,18))
+ │ │ │ ├── name: :c
+ │ │ │ ├── name_loc: (1,17)-(1,18) = "c"
+ │ │ │ └── operator_loc: (1,16)-(1,17) = "*"
+ │ │ ├── posts: (length: 1)
+ │ │ │ └── @ RequiredParameterNode (location: (1,20)-(1,21))
+ │ │ │ └── name: :d
+ │ │ ├── keywords: (length: 0)
+ │ │ ├── keyword_rest: ∅
+ │ │ └── block: ∅
+ │ ├── locals: (length: 0)
+ │ ├── opening_loc: (1,4)-(1,5) = "|"
+ │ └── closing_loc: (1,21)-(1,22) = "|"
+ ├── body: ∅
+ ├── opening_loc: (1,2)-(1,3) = "{"
+ └── closing_loc: (1,23)-(1,24) = "}"
diff --git a/test/prism/snapshots/seattlerb/iter_args_11_2.txt b/test/prism/snapshots/seattlerb/iter_args_11_2.txt
index 10fae97455..369075ca3c 100644
--- a/test/prism/snapshots/seattlerb/iter_args_11_2.txt
+++ b/test/prism/snapshots/seattlerb/iter_args_11_2.txt
@@ -4,6 +4,7 @@
@ StatementsNode (location: (1,0)-(1,28))
└── body: (length: 1)
└── @ CallNode (location: (1,0)-(1,28))
+ ├── flags: ∅
├── receiver: ∅
├── call_operator_loc: ∅
├── name: :f
@@ -11,44 +12,43 @@
├── opening_loc: ∅
├── arguments: ∅
├── closing_loc: ∅
- ├── block:
- │ @ BlockNode (location: (1,2)-(1,28))
- │ ├── locals: [:a, :b, :c, :d, :e]
- │ ├── locals_body_index: 5
- │ ├── parameters:
- │ │ @ BlockParametersNode (location: (1,4)-(1,26))
- │ │ ├── parameters:
- │ │ │ @ ParametersNode (location: (1,5)-(1,25))
- │ │ │ ├── requireds: (length: 1)
- │ │ │ │ └── @ RequiredParameterNode (location: (1,5)-(1,6))
- │ │ │ │ └── name: :a
- │ │ │ ├── optionals: (length: 1)
- │ │ │ │ └── @ OptionalParameterNode (location: (1,8)-(1,14))
- │ │ │ │ ├── name: :b
- │ │ │ │ ├── name_loc: (1,8)-(1,9) = "b"
- │ │ │ │ ├── operator_loc: (1,10)-(1,11) = "="
- │ │ │ │ └── value:
- │ │ │ │ @ IntegerNode (location: (1,12)-(1,14))
- │ │ │ │ └── flags: decimal
- │ │ │ ├── rest:
- │ │ │ │ @ RestParameterNode (location: (1,16)-(1,18))
- │ │ │ │ ├── name: :c
- │ │ │ │ ├── name_loc: (1,17)-(1,18) = "c"
- │ │ │ │ └── operator_loc: (1,16)-(1,17) = "*"
- │ │ │ ├── posts: (length: 1)
- │ │ │ │ └── @ RequiredParameterNode (location: (1,20)-(1,21))
- │ │ │ │ └── name: :d
- │ │ │ ├── keywords: (length: 0)
- │ │ │ ├── keyword_rest: ∅
- │ │ │ └── block:
- │ │ │ @ BlockParameterNode (location: (1,23)-(1,25))
- │ │ │ ├── name: :e
- │ │ │ ├── name_loc: (1,24)-(1,25) = "e"
- │ │ │ └── operator_loc: (1,23)-(1,24) = "&"
- │ │ ├── locals: (length: 0)
- │ │ ├── opening_loc: (1,4)-(1,5) = "|"
- │ │ └── closing_loc: (1,25)-(1,26) = "|"
- │ ├── body: ∅
- │ ├── opening_loc: (1,2)-(1,3) = "{"
- │ └── closing_loc: (1,27)-(1,28) = "}"
- └── flags: ∅
+ └── block:
+ @ BlockNode (location: (1,2)-(1,28))
+ ├── locals: [:a, :b, :c, :d, :e]
+ ├── locals_body_index: 5
+ ├── parameters:
+ │ @ BlockParametersNode (location: (1,4)-(1,26))
+ │ ├── parameters:
+ │ │ @ ParametersNode (location: (1,5)-(1,25))
+ │ │ ├── requireds: (length: 1)
+ │ │ │ └── @ RequiredParameterNode (location: (1,5)-(1,6))
+ │ │ │ └── name: :a
+ │ │ ├── optionals: (length: 1)
+ │ │ │ └── @ OptionalParameterNode (location: (1,8)-(1,14))
+ │ │ │ ├── name: :b
+ │ │ │ ├── name_loc: (1,8)-(1,9) = "b"
+ │ │ │ ├── operator_loc: (1,10)-(1,11) = "="
+ │ │ │ └── value:
+ │ │ │ @ IntegerNode (location: (1,12)-(1,14))
+ │ │ │ └── flags: decimal
+ │ │ ├── rest:
+ │ │ │ @ RestParameterNode (location: (1,16)-(1,18))
+ │ │ │ ├── name: :c
+ │ │ │ ├── name_loc: (1,17)-(1,18) = "c"
+ │ │ │ └── operator_loc: (1,16)-(1,17) = "*"
+ │ │ ├── posts: (length: 1)
+ │ │ │ └── @ RequiredParameterNode (location: (1,20)-(1,21))
+ │ │ │ └── name: :d
+ │ │ ├── keywords: (length: 0)
+ │ │ ├── keyword_rest: ∅
+ │ │ └── block:
+ │ │ @ BlockParameterNode (location: (1,23)-(1,25))
+ │ │ ├── name: :e
+ │ │ ├── name_loc: (1,24)-(1,25) = "e"
+ │ │ └── operator_loc: (1,23)-(1,24) = "&"
+ │ ├── locals: (length: 0)
+ │ ├── opening_loc: (1,4)-(1,5) = "|"
+ │ └── closing_loc: (1,25)-(1,26) = "|"
+ ├── body: ∅
+ ├── opening_loc: (1,2)-(1,3) = "{"
+ └── closing_loc: (1,27)-(1,28) = "}"
diff --git a/test/prism/snapshots/seattlerb/iter_args_2__19.txt b/test/prism/snapshots/seattlerb/iter_args_2__19.txt
index 4e2c2d8337..9934cc4349 100644
--- a/test/prism/snapshots/seattlerb/iter_args_2__19.txt
+++ b/test/prism/snapshots/seattlerb/iter_args_2__19.txt
@@ -4,6 +4,7 @@
@ StatementsNode (location: (1,0)-(1,14))
└── body: (length: 1)
└── @ CallNode (location: (1,0)-(1,14))
+ ├── flags: ∅
├── receiver: ∅
├── call_operator_loc: ∅
├── name: :f
@@ -11,35 +12,34 @@
├── opening_loc: ∅
├── arguments: ∅
├── closing_loc: ∅
- ├── block:
- │ @ BlockNode (location: (1,2)-(1,14))
- │ ├── locals: [:a, :b]
- │ ├── locals_body_index: 2
- │ ├── parameters:
- │ │ @ BlockParametersNode (location: (1,4)-(1,12))
- │ │ ├── parameters:
- │ │ │ @ ParametersNode (location: (1,5)-(1,11))
- │ │ │ ├── requireds: (length: 1)
- │ │ │ │ └── @ MultiTargetNode (location: (1,5)-(1,11))
- │ │ │ │ ├── lefts: (length: 2)
- │ │ │ │ │ ├── @ RequiredParameterNode (location: (1,6)-(1,7))
- │ │ │ │ │ │ └── name: :a
- │ │ │ │ │ └── @ RequiredParameterNode (location: (1,9)-(1,10))
- │ │ │ │ │ └── name: :b
- │ │ │ │ ├── rest: ∅
- │ │ │ │ ├── rights: (length: 0)
- │ │ │ │ ├── lparen_loc: (1,5)-(1,6) = "("
- │ │ │ │ └── rparen_loc: (1,10)-(1,11) = ")"
- │ │ │ ├── optionals: (length: 0)
- │ │ │ ├── rest: ∅
- │ │ │ ├── posts: (length: 0)
- │ │ │ ├── keywords: (length: 0)
- │ │ │ ├── keyword_rest: ∅
- │ │ │ └── block: ∅
- │ │ ├── locals: (length: 0)
- │ │ ├── opening_loc: (1,4)-(1,5) = "|"
- │ │ └── closing_loc: (1,11)-(1,12) = "|"
- │ ├── body: ∅
- │ ├── opening_loc: (1,2)-(1,3) = "{"
- │ └── closing_loc: (1,13)-(1,14) = "}"
- └── flags: ∅
+ └── block:
+ @ BlockNode (location: (1,2)-(1,14))
+ ├── locals: [:a, :b]
+ ├── locals_body_index: 2
+ ├── parameters:
+ │ @ BlockParametersNode (location: (1,4)-(1,12))
+ │ ├── parameters:
+ │ │ @ ParametersNode (location: (1,5)-(1,11))
+ │ │ ├── requireds: (length: 1)
+ │ │ │ └── @ MultiTargetNode (location: (1,5)-(1,11))
+ │ │ │ ├── lefts: (length: 2)
+ │ │ │ │ ├── @ RequiredParameterNode (location: (1,6)-(1,7))
+ │ │ │ │ │ └── name: :a
+ │ │ │ │ └── @ RequiredParameterNode (location: (1,9)-(1,10))
+ │ │ │ │ └── name: :b
+ │ │ │ ├── rest: ∅
+ │ │ │ ├── rights: (length: 0)
+ │ │ │ ├── lparen_loc: (1,5)-(1,6) = "("
+ │ │ │ └── rparen_loc: (1,10)-(1,11) = ")"
+ │ │ ├── optionals: (length: 0)
+ │ │ ├── rest: ∅
+ │ │ ├── posts: (length: 0)
+ │ │ ├── keywords: (length: 0)
+ │ │ ├── keyword_rest: ∅
+ │ │ └── block: ∅
+ │ ├── locals: (length: 0)
+ │ ├── opening_loc: (1,4)-(1,5) = "|"
+ │ └── closing_loc: (1,11)-(1,12) = "|"
+ ├── body: ∅
+ ├── opening_loc: (1,2)-(1,3) = "{"
+ └── closing_loc: (1,13)-(1,14) = "}"
diff --git a/test/prism/snapshots/seattlerb/iter_args_3.txt b/test/prism/snapshots/seattlerb/iter_args_3.txt
index 90e04a8650..abd2eec189 100644
--- a/test/prism/snapshots/seattlerb/iter_args_3.txt
+++ b/test/prism/snapshots/seattlerb/iter_args_3.txt
@@ -4,6 +4,7 @@
@ StatementsNode (location: (1,0)-(1,20))
└── body: (length: 1)
└── @ CallNode (location: (1,0)-(1,20))
+ ├── flags: ∅
├── receiver: ∅
├── call_operator_loc: ∅
├── name: :f
@@ -11,39 +12,38 @@
├── opening_loc: ∅
├── arguments: ∅
├── closing_loc: ∅
- ├── block:
- │ @ BlockNode (location: (1,2)-(1,20))
- │ ├── locals: [:a, :b, :c, :d]
- │ ├── locals_body_index: 4
- │ ├── parameters:
- │ │ @ BlockParametersNode (location: (1,4)-(1,18))
- │ │ ├── parameters:
- │ │ │ @ ParametersNode (location: (1,5)-(1,17))
- │ │ │ ├── requireds: (length: 3)
- │ │ │ │ ├── @ RequiredParameterNode (location: (1,5)-(1,6))
- │ │ │ │ │ └── name: :a
- │ │ │ │ ├── @ MultiTargetNode (location: (1,8)-(1,14))
- │ │ │ │ │ ├── lefts: (length: 2)
- │ │ │ │ │ │ ├── @ RequiredParameterNode (location: (1,9)-(1,10))
- │ │ │ │ │ │ │ └── name: :b
- │ │ │ │ │ │ └── @ RequiredParameterNode (location: (1,12)-(1,13))
- │ │ │ │ │ │ └── name: :c
- │ │ │ │ │ ├── rest: ∅
- │ │ │ │ │ ├── rights: (length: 0)
- │ │ │ │ │ ├── lparen_loc: (1,8)-(1,9) = "("
- │ │ │ │ │ └── rparen_loc: (1,13)-(1,14) = ")"
- │ │ │ │ └── @ RequiredParameterNode (location: (1,16)-(1,17))
- │ │ │ │ └── name: :d
- │ │ │ ├── optionals: (length: 0)
- │ │ │ ├── rest: ∅
- │ │ │ ├── posts: (length: 0)
- │ │ │ ├── keywords: (length: 0)
- │ │ │ ├── keyword_rest: ∅
- │ │ │ └── block: ∅
- │ │ ├── locals: (length: 0)
- │ │ ├── opening_loc: (1,4)-(1,5) = "|"
- │ │ └── closing_loc: (1,17)-(1,18) = "|"
- │ ├── body: ∅
- │ ├── opening_loc: (1,2)-(1,3) = "{"
- │ └── closing_loc: (1,19)-(1,20) = "}"
- └── flags: ∅
+ └── block:
+ @ BlockNode (location: (1,2)-(1,20))
+ ├── locals: [:a, :b, :c, :d]
+ ├── locals_body_index: 4
+ ├── parameters:
+ │ @ BlockParametersNode (location: (1,4)-(1,18))
+ │ ├── parameters:
+ │ │ @ ParametersNode (location: (1,5)-(1,17))
+ │ │ ├── requireds: (length: 3)
+ │ │ │ ├── @ RequiredParameterNode (location: (1,5)-(1,6))
+ │ │ │ │ └── name: :a
+ │ │ │ ├── @ MultiTargetNode (location: (1,8)-(1,14))
+ │ │ │ │ ├── lefts: (length: 2)
+ │ │ │ │ │ ├── @ RequiredParameterNode (location: (1,9)-(1,10))
+ │ │ │ │ │ │ └── name: :b
+ │ │ │ │ │ └── @ RequiredParameterNode (location: (1,12)-(1,13))
+ │ │ │ │ │ └── name: :c
+ │ │ │ │ ├── rest: ∅
+ │ │ │ │ ├── rights: (length: 0)
+ │ │ │ │ ├── lparen_loc: (1,8)-(1,9) = "("
+ │ │ │ │ └── rparen_loc: (1,13)-(1,14) = ")"
+ │ │ │ └── @ RequiredParameterNode (location: (1,16)-(1,17))
+ │ │ │ └── name: :d
+ │ │ ├── optionals: (length: 0)
+ │ │ ├── rest: ∅
+ │ │ ├── posts: (length: 0)
+ │ │ ├── keywords: (length: 0)
+ │ │ ├── keyword_rest: ∅
+ │ │ └── block: ∅
+ │ ├── locals: (length: 0)
+ │ ├── opening_loc: (1,4)-(1,5) = "|"
+ │ └── closing_loc: (1,17)-(1,18) = "|"
+ ├── body: ∅
+ ├── opening_loc: (1,2)-(1,3) = "{"
+ └── closing_loc: (1,19)-(1,20) = "}"
diff --git a/test/prism/snapshots/seattlerb/iter_args_4.txt b/test/prism/snapshots/seattlerb/iter_args_4.txt
index 4433820c6c..8a64bdb1f8 100644
--- a/test/prism/snapshots/seattlerb/iter_args_4.txt
+++ b/test/prism/snapshots/seattlerb/iter_args_4.txt
@@ -4,6 +4,7 @@
@ StatementsNode (location: (1,0)-(1,16))
└── body: (length: 1)
└── @ CallNode (location: (1,0)-(1,16))
+ ├── flags: ∅
├── receiver: ∅
├── call_operator_loc: ∅
├── name: :f
@@ -11,33 +12,32 @@
├── opening_loc: ∅
├── arguments: ∅
├── closing_loc: ∅
- ├── block:
- │ @ BlockNode (location: (1,2)-(1,16))
- │ ├── locals: [:a, :b, :c]
- │ ├── locals_body_index: 3
- │ ├── parameters:
- │ │ @ BlockParametersNode (location: (1,4)-(1,14))
- │ │ ├── parameters:
- │ │ │ @ ParametersNode (location: (1,5)-(1,13))
- │ │ │ ├── requireds: (length: 1)
- │ │ │ │ └── @ RequiredParameterNode (location: (1,5)-(1,6))
- │ │ │ │ └── name: :a
- │ │ │ ├── optionals: (length: 0)
- │ │ │ ├── rest:
- │ │ │ │ @ RestParameterNode (location: (1,8)-(1,10))
- │ │ │ │ ├── name: :b
- │ │ │ │ ├── name_loc: (1,9)-(1,10) = "b"
- │ │ │ │ └── operator_loc: (1,8)-(1,9) = "*"
- │ │ │ ├── posts: (length: 1)
- │ │ │ │ └── @ RequiredParameterNode (location: (1,12)-(1,13))
- │ │ │ │ └── name: :c
- │ │ │ ├── keywords: (length: 0)
- │ │ │ ├── keyword_rest: ∅
- │ │ │ └── block: ∅
- │ │ ├── locals: (length: 0)
- │ │ ├── opening_loc: (1,4)-(1,5) = "|"
- │ │ └── closing_loc: (1,13)-(1,14) = "|"
- │ ├── body: ∅
- │ ├── opening_loc: (1,2)-(1,3) = "{"
- │ └── closing_loc: (1,15)-(1,16) = "}"
- └── flags: ∅
+ └── block:
+ @ BlockNode (location: (1,2)-(1,16))
+ ├── locals: [:a, :b, :c]
+ ├── locals_body_index: 3
+ ├── parameters:
+ │ @ BlockParametersNode (location: (1,4)-(1,14))
+ │ ├── parameters:
+ │ │ @ ParametersNode (location: (1,5)-(1,13))
+ │ │ ├── requireds: (length: 1)
+ │ │ │ └── @ RequiredParameterNode (location: (1,5)-(1,6))
+ │ │ │ └── name: :a
+ │ │ ├── optionals: (length: 0)
+ │ │ ├── rest:
+ │ │ │ @ RestParameterNode (location: (1,8)-(1,10))
+ │ │ │ ├── name: :b
+ │ │ │ ├── name_loc: (1,9)-(1,10) = "b"
+ │ │ │ └── operator_loc: (1,8)-(1,9) = "*"
+ │ │ ├── posts: (length: 1)
+ │ │ │ └── @ RequiredParameterNode (location: (1,12)-(1,13))
+ │ │ │ └── name: :c
+ │ │ ├── keywords: (length: 0)
+ │ │ ├── keyword_rest: ∅
+ │ │ └── block: ∅
+ │ ├── locals: (length: 0)
+ │ ├── opening_loc: (1,4)-(1,5) = "|"
+ │ └── closing_loc: (1,13)-(1,14) = "|"
+ ├── body: ∅
+ ├── opening_loc: (1,2)-(1,3) = "{"
+ └── closing_loc: (1,15)-(1,16) = "}"
diff --git a/test/prism/snapshots/seattlerb/iter_args_5.txt b/test/prism/snapshots/seattlerb/iter_args_5.txt
index c47531f69e..0aaf2c47b2 100644
--- a/test/prism/snapshots/seattlerb/iter_args_5.txt
+++ b/test/prism/snapshots/seattlerb/iter_args_5.txt
@@ -4,6 +4,7 @@
@ StatementsNode (location: (1,0)-(1,13))
└── body: (length: 1)
└── @ CallNode (location: (1,0)-(1,13))
+ ├── flags: ∅
├── receiver: ∅
├── call_operator_loc: ∅
├── name: :f
@@ -11,31 +12,30 @@
├── opening_loc: ∅
├── arguments: ∅
├── closing_loc: ∅
- ├── block:
- │ @ BlockNode (location: (1,2)-(1,13))
- │ ├── locals: [:a, :b]
- │ ├── locals_body_index: 2
- │ ├── parameters:
- │ │ @ BlockParametersNode (location: (1,4)-(1,11))
- │ │ ├── parameters:
- │ │ │ @ ParametersNode (location: (1,5)-(1,10))
- │ │ │ ├── requireds: (length: 1)
- │ │ │ │ └── @ RequiredParameterNode (location: (1,5)-(1,6))
- │ │ │ │ └── name: :a
- │ │ │ ├── optionals: (length: 0)
- │ │ │ ├── rest: ∅
- │ │ │ ├── posts: (length: 0)
- │ │ │ ├── keywords: (length: 0)
- │ │ │ ├── keyword_rest: ∅
- │ │ │ └── block:
- │ │ │ @ BlockParameterNode (location: (1,8)-(1,10))
- │ │ │ ├── name: :b
- │ │ │ ├── name_loc: (1,9)-(1,10) = "b"
- │ │ │ └── operator_loc: (1,8)-(1,9) = "&"
- │ │ ├── locals: (length: 0)
- │ │ ├── opening_loc: (1,4)-(1,5) = "|"
- │ │ └── closing_loc: (1,10)-(1,11) = "|"
- │ ├── body: ∅
- │ ├── opening_loc: (1,2)-(1,3) = "{"
- │ └── closing_loc: (1,12)-(1,13) = "}"
- └── flags: ∅
+ └── block:
+ @ BlockNode (location: (1,2)-(1,13))
+ ├── locals: [:a, :b]
+ ├── locals_body_index: 2
+ ├── parameters:
+ │ @ BlockParametersNode (location: (1,4)-(1,11))
+ │ ├── parameters:
+ │ │ @ ParametersNode (location: (1,5)-(1,10))
+ │ │ ├── requireds: (length: 1)
+ │ │ │ └── @ RequiredParameterNode (location: (1,5)-(1,6))
+ │ │ │ └── name: :a
+ │ │ ├── optionals: (length: 0)
+ │ │ ├── rest: ∅
+ │ │ ├── posts: (length: 0)
+ │ │ ├── keywords: (length: 0)
+ │ │ ├── keyword_rest: ∅
+ │ │ └── block:
+ │ │ @ BlockParameterNode (location: (1,8)-(1,10))
+ │ │ ├── name: :b
+ │ │ ├── name_loc: (1,9)-(1,10) = "b"
+ │ │ └── operator_loc: (1,8)-(1,9) = "&"
+ │ ├── locals: (length: 0)
+ │ ├── opening_loc: (1,4)-(1,5) = "|"
+ │ └── closing_loc: (1,10)-(1,11) = "|"
+ ├── body: ∅
+ ├── opening_loc: (1,2)-(1,3) = "{"
+ └── closing_loc: (1,12)-(1,13) = "}"
diff --git a/test/prism/snapshots/seattlerb/iter_args_6.txt b/test/prism/snapshots/seattlerb/iter_args_6.txt
index f5bcbbe027..cc8a4f72eb 100644
--- a/test/prism/snapshots/seattlerb/iter_args_6.txt
+++ b/test/prism/snapshots/seattlerb/iter_args_6.txt
@@ -4,6 +4,7 @@
@ StatementsNode (location: (1,0)-(1,18))
└── body: (length: 1)
└── @ CallNode (location: (1,0)-(1,18))
+ ├── flags: ∅
├── receiver: ∅
├── call_operator_loc: ∅
├── name: :f
@@ -11,36 +12,35 @@
├── opening_loc: ∅
├── arguments: ∅
├── closing_loc: ∅
- ├── block:
- │ @ BlockNode (location: (1,2)-(1,18))
- │ ├── locals: [:a, :b, :c]
- │ ├── locals_body_index: 3
- │ ├── parameters:
- │ │ @ BlockParametersNode (location: (1,4)-(1,16))
- │ │ ├── parameters:
- │ │ │ @ ParametersNode (location: (1,5)-(1,15))
- │ │ │ ├── requireds: (length: 1)
- │ │ │ │ └── @ RequiredParameterNode (location: (1,5)-(1,6))
- │ │ │ │ └── name: :a
- │ │ │ ├── optionals: (length: 1)
- │ │ │ │ └── @ OptionalParameterNode (location: (1,8)-(1,12))
- │ │ │ │ ├── name: :b
- │ │ │ │ ├── name_loc: (1,8)-(1,9) = "b"
- │ │ │ │ ├── operator_loc: (1,9)-(1,10) = "="
- │ │ │ │ └── value:
- │ │ │ │ @ IntegerNode (location: (1,10)-(1,12))
- │ │ │ │ └── flags: decimal
- │ │ │ ├── rest: ∅
- │ │ │ ├── posts: (length: 1)
- │ │ │ │ └── @ RequiredParameterNode (location: (1,14)-(1,15))
- │ │ │ │ └── name: :c
- │ │ │ ├── keywords: (length: 0)
- │ │ │ ├── keyword_rest: ∅
- │ │ │ └── block: ∅
- │ │ ├── locals: (length: 0)
- │ │ ├── opening_loc: (1,4)-(1,5) = "|"
- │ │ └── closing_loc: (1,15)-(1,16) = "|"
- │ ├── body: ∅
- │ ├── opening_loc: (1,2)-(1,3) = "{"
- │ └── closing_loc: (1,17)-(1,18) = "}"
- └── flags: ∅
+ └── block:
+ @ BlockNode (location: (1,2)-(1,18))
+ ├── locals: [:a, :b, :c]
+ ├── locals_body_index: 3
+ ├── parameters:
+ │ @ BlockParametersNode (location: (1,4)-(1,16))
+ │ ├── parameters:
+ │ │ @ ParametersNode (location: (1,5)-(1,15))
+ │ │ ├── requireds: (length: 1)
+ │ │ │ └── @ RequiredParameterNode (location: (1,5)-(1,6))
+ │ │ │ └── name: :a
+ │ │ ├── optionals: (length: 1)
+ │ │ │ └── @ OptionalParameterNode (location: (1,8)-(1,12))
+ │ │ │ ├── name: :b
+ │ │ │ ├── name_loc: (1,8)-(1,9) = "b"
+ │ │ │ ├── operator_loc: (1,9)-(1,10) = "="
+ │ │ │ └── value:
+ │ │ │ @ IntegerNode (location: (1,10)-(1,12))
+ │ │ │ └── flags: decimal
+ │ │ ├── rest: ∅
+ │ │ ├── posts: (length: 1)
+ │ │ │ └── @ RequiredParameterNode (location: (1,14)-(1,15))
+ │ │ │ └── name: :c
+ │ │ ├── keywords: (length: 0)
+ │ │ ├── keyword_rest: ∅
+ │ │ └── block: ∅
+ │ ├── locals: (length: 0)
+ │ ├── opening_loc: (1,4)-(1,5) = "|"
+ │ └── closing_loc: (1,15)-(1,16) = "|"
+ ├── body: ∅
+ ├── opening_loc: (1,2)-(1,3) = "{"
+ └── closing_loc: (1,17)-(1,18) = "}"
diff --git a/test/prism/snapshots/seattlerb/iter_args_7_1.txt b/test/prism/snapshots/seattlerb/iter_args_7_1.txt
index ca1a729acb..5deb0d55be 100644
--- a/test/prism/snapshots/seattlerb/iter_args_7_1.txt
+++ b/test/prism/snapshots/seattlerb/iter_args_7_1.txt
@@ -4,6 +4,7 @@
@ StatementsNode (location: (1,0)-(1,18))
└── body: (length: 1)
└── @ CallNode (location: (1,0)-(1,18))
+ ├── flags: ∅
├── receiver: ∅
├── call_operator_loc: ∅
├── name: :f
@@ -11,36 +12,35 @@
├── opening_loc: ∅
├── arguments: ∅
├── closing_loc: ∅
- ├── block:
- │ @ BlockNode (location: (1,2)-(1,18))
- │ ├── locals: [:a, :b]
- │ ├── locals_body_index: 2
- │ ├── parameters:
- │ │ @ BlockParametersNode (location: (1,4)-(1,16))
- │ │ ├── parameters:
- │ │ │ @ ParametersNode (location: (1,5)-(1,15))
- │ │ │ ├── requireds: (length: 0)
- │ │ │ ├── optionals: (length: 1)
- │ │ │ │ └── @ OptionalParameterNode (location: (1,5)-(1,11))
- │ │ │ │ ├── name: :a
- │ │ │ │ ├── name_loc: (1,5)-(1,6) = "a"
- │ │ │ │ ├── operator_loc: (1,7)-(1,8) = "="
- │ │ │ │ └── value:
- │ │ │ │ @ IntegerNode (location: (1,9)-(1,11))
- │ │ │ │ └── flags: decimal
- │ │ │ ├── rest:
- │ │ │ │ @ RestParameterNode (location: (1,13)-(1,15))
- │ │ │ │ ├── name: :b
- │ │ │ │ ├── name_loc: (1,14)-(1,15) = "b"
- │ │ │ │ └── operator_loc: (1,13)-(1,14) = "*"
- │ │ │ ├── posts: (length: 0)
- │ │ │ ├── keywords: (length: 0)
- │ │ │ ├── keyword_rest: ∅
- │ │ │ └── block: ∅
- │ │ ├── locals: (length: 0)
- │ │ ├── opening_loc: (1,4)-(1,5) = "|"
- │ │ └── closing_loc: (1,15)-(1,16) = "|"
- │ ├── body: ∅
- │ ├── opening_loc: (1,2)-(1,3) = "{"
- │ └── closing_loc: (1,17)-(1,18) = "}"
- └── flags: ∅
+ └── block:
+ @ BlockNode (location: (1,2)-(1,18))
+ ├── locals: [:a, :b]
+ ├── locals_body_index: 2
+ ├── parameters:
+ │ @ BlockParametersNode (location: (1,4)-(1,16))
+ │ ├── parameters:
+ │ │ @ ParametersNode (location: (1,5)-(1,15))
+ │ │ ├── requireds: (length: 0)
+ │ │ ├── optionals: (length: 1)
+ │ │ │ └── @ OptionalParameterNode (location: (1,5)-(1,11))
+ │ │ │ ├── name: :a
+ │ │ │ ├── name_loc: (1,5)-(1,6) = "a"
+ │ │ │ ├── operator_loc: (1,7)-(1,8) = "="
+ │ │ │ └── value:
+ │ │ │ @ IntegerNode (location: (1,9)-(1,11))
+ │ │ │ └── flags: decimal
+ │ │ ├── rest:
+ │ │ │ @ RestParameterNode (location: (1,13)-(1,15))
+ │ │ │ ├── name: :b
+ │ │ │ ├── name_loc: (1,14)-(1,15) = "b"
+ │ │ │ └── operator_loc: (1,13)-(1,14) = "*"
+ │ │ ├── posts: (length: 0)
+ │ │ ├── keywords: (length: 0)
+ │ │ ├── keyword_rest: ∅
+ │ │ └── block: ∅
+ │ ├── locals: (length: 0)
+ │ ├── opening_loc: (1,4)-(1,5) = "|"
+ │ └── closing_loc: (1,15)-(1,16) = "|"
+ ├── body: ∅
+ ├── opening_loc: (1,2)-(1,3) = "{"
+ └── closing_loc: (1,17)-(1,18) = "}"
diff --git a/test/prism/snapshots/seattlerb/iter_args_7_2.txt b/test/prism/snapshots/seattlerb/iter_args_7_2.txt
index f581191e39..fc49660153 100644
--- a/test/prism/snapshots/seattlerb/iter_args_7_2.txt
+++ b/test/prism/snapshots/seattlerb/iter_args_7_2.txt
@@ -4,6 +4,7 @@
@ StatementsNode (location: (1,0)-(1,22))
└── body: (length: 1)
└── @ CallNode (location: (1,0)-(1,22))
+ ├── flags: ∅
├── receiver: ∅
├── call_operator_loc: ∅
├── name: :f
@@ -11,40 +12,39 @@
├── opening_loc: ∅
├── arguments: ∅
├── closing_loc: ∅
- ├── block:
- │ @ BlockNode (location: (1,2)-(1,22))
- │ ├── locals: [:a, :b, :c]
- │ ├── locals_body_index: 3
- │ ├── parameters:
- │ │ @ BlockParametersNode (location: (1,4)-(1,20))
- │ │ ├── parameters:
- │ │ │ @ ParametersNode (location: (1,5)-(1,19))
- │ │ │ ├── requireds: (length: 0)
- │ │ │ ├── optionals: (length: 1)
- │ │ │ │ └── @ OptionalParameterNode (location: (1,5)-(1,11))
- │ │ │ │ ├── name: :a
- │ │ │ │ ├── name_loc: (1,5)-(1,6) = "a"
- │ │ │ │ ├── operator_loc: (1,7)-(1,8) = "="
- │ │ │ │ └── value:
- │ │ │ │ @ IntegerNode (location: (1,9)-(1,11))
- │ │ │ │ └── flags: decimal
- │ │ │ ├── rest:
- │ │ │ │ @ RestParameterNode (location: (1,13)-(1,15))
- │ │ │ │ ├── name: :b
- │ │ │ │ ├── name_loc: (1,14)-(1,15) = "b"
- │ │ │ │ └── operator_loc: (1,13)-(1,14) = "*"
- │ │ │ ├── posts: (length: 0)
- │ │ │ ├── keywords: (length: 0)
- │ │ │ ├── keyword_rest: ∅
- │ │ │ └── block:
- │ │ │ @ BlockParameterNode (location: (1,17)-(1,19))
- │ │ │ ├── name: :c
- │ │ │ ├── name_loc: (1,18)-(1,19) = "c"
- │ │ │ └── operator_loc: (1,17)-(1,18) = "&"
- │ │ ├── locals: (length: 0)
- │ │ ├── opening_loc: (1,4)-(1,5) = "|"
- │ │ └── closing_loc: (1,19)-(1,20) = "|"
- │ ├── body: ∅
- │ ├── opening_loc: (1,2)-(1,3) = "{"
- │ └── closing_loc: (1,21)-(1,22) = "}"
- └── flags: ∅
+ └── block:
+ @ BlockNode (location: (1,2)-(1,22))
+ ├── locals: [:a, :b, :c]
+ ├── locals_body_index: 3
+ ├── parameters:
+ │ @ BlockParametersNode (location: (1,4)-(1,20))
+ │ ├── parameters:
+ │ │ @ ParametersNode (location: (1,5)-(1,19))
+ │ │ ├── requireds: (length: 0)
+ │ │ ├── optionals: (length: 1)
+ │ │ │ └── @ OptionalParameterNode (location: (1,5)-(1,11))
+ │ │ │ ├── name: :a
+ │ │ │ ├── name_loc: (1,5)-(1,6) = "a"
+ │ │ │ ├── operator_loc: (1,7)-(1,8) = "="
+ │ │ │ └── value:
+ │ │ │ @ IntegerNode (location: (1,9)-(1,11))
+ │ │ │ └── flags: decimal
+ │ │ ├── rest:
+ │ │ │ @ RestParameterNode (location: (1,13)-(1,15))
+ │ │ │ ├── name: :b
+ │ │ │ ├── name_loc: (1,14)-(1,15) = "b"
+ │ │ │ └── operator_loc: (1,13)-(1,14) = "*"
+ │ │ ├── posts: (length: 0)
+ │ │ ├── keywords: (length: 0)
+ │ │ ├── keyword_rest: ∅
+ │ │ └── block:
+ │ │ @ BlockParameterNode (location: (1,17)-(1,19))
+ │ │ ├── name: :c
+ │ │ ├── name_loc: (1,18)-(1,19) = "c"
+ │ │ └── operator_loc: (1,17)-(1,18) = "&"
+ │ ├── locals: (length: 0)
+ │ ├── opening_loc: (1,4)-(1,5) = "|"
+ │ └── closing_loc: (1,19)-(1,20) = "|"
+ ├── body: ∅
+ ├── opening_loc: (1,2)-(1,3) = "{"
+ └── closing_loc: (1,21)-(1,22) = "}"
diff --git a/test/prism/snapshots/seattlerb/iter_args_8_1.txt b/test/prism/snapshots/seattlerb/iter_args_8_1.txt
index c9ddadf4c6..aec251bffb 100644
--- a/test/prism/snapshots/seattlerb/iter_args_8_1.txt
+++ b/test/prism/snapshots/seattlerb/iter_args_8_1.txt
@@ -4,6 +4,7 @@
@ StatementsNode (location: (1,0)-(1,21))
└── body: (length: 1)
└── @ CallNode (location: (1,0)-(1,21))
+ ├── flags: ∅
├── receiver: ∅
├── call_operator_loc: ∅
├── name: :f
@@ -11,38 +12,37 @@
├── opening_loc: ∅
├── arguments: ∅
├── closing_loc: ∅
- ├── block:
- │ @ BlockNode (location: (1,2)-(1,21))
- │ ├── locals: [:a, :b, :c]
- │ ├── locals_body_index: 3
- │ ├── parameters:
- │ │ @ BlockParametersNode (location: (1,4)-(1,19))
- │ │ ├── parameters:
- │ │ │ @ ParametersNode (location: (1,5)-(1,18))
- │ │ │ ├── requireds: (length: 0)
- │ │ │ ├── optionals: (length: 1)
- │ │ │ │ └── @ OptionalParameterNode (location: (1,5)-(1,11))
- │ │ │ │ ├── name: :a
- │ │ │ │ ├── name_loc: (1,5)-(1,6) = "a"
- │ │ │ │ ├── operator_loc: (1,7)-(1,8) = "="
- │ │ │ │ └── value:
- │ │ │ │ @ IntegerNode (location: (1,9)-(1,11))
- │ │ │ │ └── flags: decimal
- │ │ │ ├── rest:
- │ │ │ │ @ RestParameterNode (location: (1,13)-(1,15))
- │ │ │ │ ├── name: :b
- │ │ │ │ ├── name_loc: (1,14)-(1,15) = "b"
- │ │ │ │ └── operator_loc: (1,13)-(1,14) = "*"
- │ │ │ ├── posts: (length: 1)
- │ │ │ │ └── @ RequiredParameterNode (location: (1,17)-(1,18))
- │ │ │ │ └── name: :c
- │ │ │ ├── keywords: (length: 0)
- │ │ │ ├── keyword_rest: ∅
- │ │ │ └── block: ∅
- │ │ ├── locals: (length: 0)
- │ │ ├── opening_loc: (1,4)-(1,5) = "|"
- │ │ └── closing_loc: (1,18)-(1,19) = "|"
- │ ├── body: ∅
- │ ├── opening_loc: (1,2)-(1,3) = "{"
- │ └── closing_loc: (1,20)-(1,21) = "}"
- └── flags: ∅
+ └── block:
+ @ BlockNode (location: (1,2)-(1,21))
+ ├── locals: [:a, :b, :c]
+ ├── locals_body_index: 3
+ ├── parameters:
+ │ @ BlockParametersNode (location: (1,4)-(1,19))
+ │ ├── parameters:
+ │ │ @ ParametersNode (location: (1,5)-(1,18))
+ │ │ ├── requireds: (length: 0)
+ │ │ ├── optionals: (length: 1)
+ │ │ │ └── @ OptionalParameterNode (location: (1,5)-(1,11))
+ │ │ │ ├── name: :a
+ │ │ │ ├── name_loc: (1,5)-(1,6) = "a"
+ │ │ │ ├── operator_loc: (1,7)-(1,8) = "="
+ │ │ │ └── value:
+ │ │ │ @ IntegerNode (location: (1,9)-(1,11))
+ │ │ │ └── flags: decimal
+ │ │ ├── rest:
+ │ │ │ @ RestParameterNode (location: (1,13)-(1,15))
+ │ │ │ ├── name: :b
+ │ │ │ ├── name_loc: (1,14)-(1,15) = "b"
+ │ │ │ └── operator_loc: (1,13)-(1,14) = "*"
+ │ │ ├── posts: (length: 1)
+ │ │ │ └── @ RequiredParameterNode (location: (1,17)-(1,18))
+ │ │ │ └── name: :c
+ │ │ ├── keywords: (length: 0)
+ │ │ ├── keyword_rest: ∅
+ │ │ └── block: ∅
+ │ ├── locals: (length: 0)
+ │ ├── opening_loc: (1,4)-(1,5) = "|"
+ │ └── closing_loc: (1,18)-(1,19) = "|"
+ ├── body: ∅
+ ├── opening_loc: (1,2)-(1,3) = "{"
+ └── closing_loc: (1,20)-(1,21) = "}"
diff --git a/test/prism/snapshots/seattlerb/iter_args_8_2.txt b/test/prism/snapshots/seattlerb/iter_args_8_2.txt
index f5e2e19fb6..f1f925dd86 100644
--- a/test/prism/snapshots/seattlerb/iter_args_8_2.txt
+++ b/test/prism/snapshots/seattlerb/iter_args_8_2.txt
@@ -4,6 +4,7 @@
@ StatementsNode (location: (1,0)-(1,25))
└── body: (length: 1)
└── @ CallNode (location: (1,0)-(1,25))
+ ├── flags: ∅
├── receiver: ∅
├── call_operator_loc: ∅
├── name: :f
@@ -11,42 +12,41 @@
├── opening_loc: ∅
├── arguments: ∅
├── closing_loc: ∅
- ├── block:
- │ @ BlockNode (location: (1,2)-(1,25))
- │ ├── locals: [:a, :b, :c, :d]
- │ ├── locals_body_index: 4
- │ ├── parameters:
- │ │ @ BlockParametersNode (location: (1,4)-(1,23))
- │ │ ├── parameters:
- │ │ │ @ ParametersNode (location: (1,5)-(1,22))
- │ │ │ ├── requireds: (length: 0)
- │ │ │ ├── optionals: (length: 1)
- │ │ │ │ └── @ OptionalParameterNode (location: (1,5)-(1,11))
- │ │ │ │ ├── name: :a
- │ │ │ │ ├── name_loc: (1,5)-(1,6) = "a"
- │ │ │ │ ├── operator_loc: (1,7)-(1,8) = "="
- │ │ │ │ └── value:
- │ │ │ │ @ IntegerNode (location: (1,9)-(1,11))
- │ │ │ │ └── flags: decimal
- │ │ │ ├── rest:
- │ │ │ │ @ RestParameterNode (location: (1,13)-(1,15))
- │ │ │ │ ├── name: :b
- │ │ │ │ ├── name_loc: (1,14)-(1,15) = "b"
- │ │ │ │ └── operator_loc: (1,13)-(1,14) = "*"
- │ │ │ ├── posts: (length: 1)
- │ │ │ │ └── @ RequiredParameterNode (location: (1,17)-(1,18))
- │ │ │ │ └── name: :c
- │ │ │ ├── keywords: (length: 0)
- │ │ │ ├── keyword_rest: ∅
- │ │ │ └── block:
- │ │ │ @ BlockParameterNode (location: (1,20)-(1,22))
- │ │ │ ├── name: :d
- │ │ │ ├── name_loc: (1,21)-(1,22) = "d"
- │ │ │ └── operator_loc: (1,20)-(1,21) = "&"
- │ │ ├── locals: (length: 0)
- │ │ ├── opening_loc: (1,4)-(1,5) = "|"
- │ │ └── closing_loc: (1,22)-(1,23) = "|"
- │ ├── body: ∅
- │ ├── opening_loc: (1,2)-(1,3) = "{"
- │ └── closing_loc: (1,24)-(1,25) = "}"
- └── flags: ∅
+ └── block:
+ @ BlockNode (location: (1,2)-(1,25))
+ ├── locals: [:a, :b, :c, :d]
+ ├── locals_body_index: 4
+ ├── parameters:
+ │ @ BlockParametersNode (location: (1,4)-(1,23))
+ │ ├── parameters:
+ │ │ @ ParametersNode (location: (1,5)-(1,22))
+ │ │ ├── requireds: (length: 0)
+ │ │ ├── optionals: (length: 1)
+ │ │ │ └── @ OptionalParameterNode (location: (1,5)-(1,11))
+ │ │ │ ├── name: :a
+ │ │ │ ├── name_loc: (1,5)-(1,6) = "a"
+ │ │ │ ├── operator_loc: (1,7)-(1,8) = "="
+ │ │ │ └── value:
+ │ │ │ @ IntegerNode (location: (1,9)-(1,11))
+ │ │ │ └── flags: decimal
+ │ │ ├── rest:
+ │ │ │ @ RestParameterNode (location: (1,13)-(1,15))
+ │ │ │ ├── name: :b
+ │ │ │ ├── name_loc: (1,14)-(1,15) = "b"
+ │ │ │ └── operator_loc: (1,13)-(1,14) = "*"
+ │ │ ├── posts: (length: 1)
+ │ │ │ └── @ RequiredParameterNode (location: (1,17)-(1,18))
+ │ │ │ └── name: :c
+ │ │ ├── keywords: (length: 0)
+ │ │ ├── keyword_rest: ∅
+ │ │ └── block:
+ │ │ @ BlockParameterNode (location: (1,20)-(1,22))
+ │ │ ├── name: :d
+ │ │ ├── name_loc: (1,21)-(1,22) = "d"
+ │ │ └── operator_loc: (1,20)-(1,21) = "&"
+ │ ├── locals: (length: 0)
+ │ ├── opening_loc: (1,4)-(1,5) = "|"
+ │ └── closing_loc: (1,22)-(1,23) = "|"
+ ├── body: ∅
+ ├── opening_loc: (1,2)-(1,3) = "{"
+ └── closing_loc: (1,24)-(1,25) = "}"
diff --git a/test/prism/snapshots/seattlerb/iter_args_9_1.txt b/test/prism/snapshots/seattlerb/iter_args_9_1.txt
index 5d89d7c6c4..1fc22f1043 100644
--- a/test/prism/snapshots/seattlerb/iter_args_9_1.txt
+++ b/test/prism/snapshots/seattlerb/iter_args_9_1.txt
@@ -4,6 +4,7 @@
@ StatementsNode (location: (1,0)-(1,17))
└── body: (length: 1)
└── @ CallNode (location: (1,0)-(1,17))
+ ├── flags: ∅
├── receiver: ∅
├── call_operator_loc: ∅
├── name: :f
@@ -11,34 +12,33 @@
├── opening_loc: ∅
├── arguments: ∅
├── closing_loc: ∅
- ├── block:
- │ @ BlockNode (location: (1,2)-(1,17))
- │ ├── locals: [:a, :b]
- │ ├── locals_body_index: 2
- │ ├── parameters:
- │ │ @ BlockParametersNode (location: (1,4)-(1,15))
- │ │ ├── parameters:
- │ │ │ @ ParametersNode (location: (1,5)-(1,14))
- │ │ │ ├── requireds: (length: 0)
- │ │ │ ├── optionals: (length: 1)
- │ │ │ │ └── @ OptionalParameterNode (location: (1,5)-(1,11))
- │ │ │ │ ├── name: :a
- │ │ │ │ ├── name_loc: (1,5)-(1,6) = "a"
- │ │ │ │ ├── operator_loc: (1,7)-(1,8) = "="
- │ │ │ │ └── value:
- │ │ │ │ @ IntegerNode (location: (1,9)-(1,11))
- │ │ │ │ └── flags: decimal
- │ │ │ ├── rest: ∅
- │ │ │ ├── posts: (length: 1)
- │ │ │ │ └── @ RequiredParameterNode (location: (1,13)-(1,14))
- │ │ │ │ └── name: :b
- │ │ │ ├── keywords: (length: 0)
- │ │ │ ├── keyword_rest: ∅
- │ │ │ └── block: ∅
- │ │ ├── locals: (length: 0)
- │ │ ├── opening_loc: (1,4)-(1,5) = "|"
- │ │ └── closing_loc: (1,14)-(1,15) = "|"
- │ ├── body: ∅
- │ ├── opening_loc: (1,2)-(1,3) = "{"
- │ └── closing_loc: (1,16)-(1,17) = "}"
- └── flags: ∅
+ └── block:
+ @ BlockNode (location: (1,2)-(1,17))
+ ├── locals: [:a, :b]
+ ├── locals_body_index: 2
+ ├── parameters:
+ │ @ BlockParametersNode (location: (1,4)-(1,15))
+ │ ├── parameters:
+ │ │ @ ParametersNode (location: (1,5)-(1,14))
+ │ │ ├── requireds: (length: 0)
+ │ │ ├── optionals: (length: 1)
+ │ │ │ └── @ OptionalParameterNode (location: (1,5)-(1,11))
+ │ │ │ ├── name: :a
+ │ │ │ ├── name_loc: (1,5)-(1,6) = "a"
+ │ │ │ ├── operator_loc: (1,7)-(1,8) = "="
+ │ │ │ └── value:
+ │ │ │ @ IntegerNode (location: (1,9)-(1,11))
+ │ │ │ └── flags: decimal
+ │ │ ├── rest: ∅
+ │ │ ├── posts: (length: 1)
+ │ │ │ └── @ RequiredParameterNode (location: (1,13)-(1,14))
+ │ │ │ └── name: :b
+ │ │ ├── keywords: (length: 0)
+ │ │ ├── keyword_rest: ∅
+ │ │ └── block: ∅
+ │ ├── locals: (length: 0)
+ │ ├── opening_loc: (1,4)-(1,5) = "|"
+ │ └── closing_loc: (1,14)-(1,15) = "|"
+ ├── body: ∅
+ ├── opening_loc: (1,2)-(1,3) = "{"
+ └── closing_loc: (1,16)-(1,17) = "}"
diff --git a/test/prism/snapshots/seattlerb/iter_args_9_2.txt b/test/prism/snapshots/seattlerb/iter_args_9_2.txt
index 5bb7359e03..6a18271ba2 100644
--- a/test/prism/snapshots/seattlerb/iter_args_9_2.txt
+++ b/test/prism/snapshots/seattlerb/iter_args_9_2.txt
@@ -4,6 +4,7 @@
@ StatementsNode (location: (1,0)-(1,21))
└── body: (length: 1)
└── @ CallNode (location: (1,0)-(1,21))
+ ├── flags: ∅
├── receiver: ∅
├── call_operator_loc: ∅
├── name: :f
@@ -11,38 +12,37 @@
├── opening_loc: ∅
├── arguments: ∅
├── closing_loc: ∅
- ├── block:
- │ @ BlockNode (location: (1,2)-(1,21))
- │ ├── locals: [:a, :b, :c]
- │ ├── locals_body_index: 3
- │ ├── parameters:
- │ │ @ BlockParametersNode (location: (1,4)-(1,19))
- │ │ ├── parameters:
- │ │ │ @ ParametersNode (location: (1,5)-(1,18))
- │ │ │ ├── requireds: (length: 0)
- │ │ │ ├── optionals: (length: 1)
- │ │ │ │ └── @ OptionalParameterNode (location: (1,5)-(1,11))
- │ │ │ │ ├── name: :a
- │ │ │ │ ├── name_loc: (1,5)-(1,6) = "a"
- │ │ │ │ ├── operator_loc: (1,7)-(1,8) = "="
- │ │ │ │ └── value:
- │ │ │ │ @ IntegerNode (location: (1,9)-(1,11))
- │ │ │ │ └── flags: decimal
- │ │ │ ├── rest: ∅
- │ │ │ ├── posts: (length: 1)
- │ │ │ │ └── @ RequiredParameterNode (location: (1,13)-(1,14))
- │ │ │ │ └── name: :b
- │ │ │ ├── keywords: (length: 0)
- │ │ │ ├── keyword_rest: ∅
- │ │ │ └── block:
- │ │ │ @ BlockParameterNode (location: (1,16)-(1,18))
- │ │ │ ├── name: :c
- │ │ │ ├── name_loc: (1,17)-(1,18) = "c"
- │ │ │ └── operator_loc: (1,16)-(1,17) = "&"
- │ │ ├── locals: (length: 0)
- │ │ ├── opening_loc: (1,4)-(1,5) = "|"
- │ │ └── closing_loc: (1,18)-(1,19) = "|"
- │ ├── body: ∅
- │ ├── opening_loc: (1,2)-(1,3) = "{"
- │ └── closing_loc: (1,20)-(1,21) = "}"
- └── flags: ∅
+ └── block:
+ @ BlockNode (location: (1,2)-(1,21))
+ ├── locals: [:a, :b, :c]
+ ├── locals_body_index: 3
+ ├── parameters:
+ │ @ BlockParametersNode (location: (1,4)-(1,19))
+ │ ├── parameters:
+ │ │ @ ParametersNode (location: (1,5)-(1,18))
+ │ │ ├── requireds: (length: 0)
+ │ │ ├── optionals: (length: 1)
+ │ │ │ └── @ OptionalParameterNode (location: (1,5)-(1,11))
+ │ │ │ ├── name: :a
+ │ │ │ ├── name_loc: (1,5)-(1,6) = "a"
+ │ │ │ ├── operator_loc: (1,7)-(1,8) = "="
+ │ │ │ └── value:
+ │ │ │ @ IntegerNode (location: (1,9)-(1,11))
+ │ │ │ └── flags: decimal
+ │ │ ├── rest: ∅
+ │ │ ├── posts: (length: 1)
+ │ │ │ └── @ RequiredParameterNode (location: (1,13)-(1,14))
+ │ │ │ └── name: :b
+ │ │ ├── keywords: (length: 0)
+ │ │ ├── keyword_rest: ∅
+ │ │ └── block:
+ │ │ @ BlockParameterNode (location: (1,16)-(1,18))
+ │ │ ├── name: :c
+ │ │ ├── name_loc: (1,17)-(1,18) = "c"
+ │ │ └── operator_loc: (1,16)-(1,17) = "&"
+ │ ├── locals: (length: 0)
+ │ ├── opening_loc: (1,4)-(1,5) = "|"
+ │ └── closing_loc: (1,18)-(1,19) = "|"
+ ├── body: ∅
+ ├── opening_loc: (1,2)-(1,3) = "{"
+ └── closing_loc: (1,20)-(1,21) = "}"
diff --git a/test/prism/snapshots/seattlerb/iter_kwarg.txt b/test/prism/snapshots/seattlerb/iter_kwarg.txt
index 8aa0823bc5..d1f71bfd08 100644
--- a/test/prism/snapshots/seattlerb/iter_kwarg.txt
+++ b/test/prism/snapshots/seattlerb/iter_kwarg.txt
@@ -4,6 +4,7 @@
@ StatementsNode (location: (1,0)-(1,12))
└── body: (length: 1)
└── @ CallNode (location: (1,0)-(1,12))
+ ├── flags: ∅
├── receiver: ∅
├── call_operator_loc: ∅
├── name: :a
@@ -11,31 +12,30 @@
├── opening_loc: ∅
├── arguments: ∅
├── closing_loc: ∅
- ├── block:
- │ @ BlockNode (location: (1,2)-(1,12))
- │ ├── locals: [:b]
- │ ├── locals_body_index: 1
- │ ├── parameters:
- │ │ @ BlockParametersNode (location: (1,4)-(1,10))
- │ │ ├── parameters:
- │ │ │ @ ParametersNode (location: (1,5)-(1,9))
- │ │ │ ├── requireds: (length: 0)
- │ │ │ ├── optionals: (length: 0)
- │ │ │ ├── rest: ∅
- │ │ │ ├── posts: (length: 0)
- │ │ │ ├── keywords: (length: 1)
- │ │ │ │ └── @ OptionalKeywordParameterNode (location: (1,5)-(1,9))
- │ │ │ │ ├── name: :b
- │ │ │ │ ├── name_loc: (1,5)-(1,7) = "b:"
- │ │ │ │ └── value:
- │ │ │ │ @ IntegerNode (location: (1,8)-(1,9))
- │ │ │ │ └── flags: decimal
- │ │ │ ├── keyword_rest: ∅
- │ │ │ └── block: ∅
- │ │ ├── locals: (length: 0)
- │ │ ├── opening_loc: (1,4)-(1,5) = "|"
- │ │ └── closing_loc: (1,9)-(1,10) = "|"
- │ ├── body: ∅
- │ ├── opening_loc: (1,2)-(1,3) = "{"
- │ └── closing_loc: (1,11)-(1,12) = "}"
- └── flags: ∅
+ └── block:
+ @ BlockNode (location: (1,2)-(1,12))
+ ├── locals: [:b]
+ ├── locals_body_index: 1
+ ├── parameters:
+ │ @ BlockParametersNode (location: (1,4)-(1,10))
+ │ ├── parameters:
+ │ │ @ ParametersNode (location: (1,5)-(1,9))
+ │ │ ├── requireds: (length: 0)
+ │ │ ├── optionals: (length: 0)
+ │ │ ├── rest: ∅
+ │ │ ├── posts: (length: 0)
+ │ │ ├── keywords: (length: 1)
+ │ │ │ └── @ OptionalKeywordParameterNode (location: (1,5)-(1,9))
+ │ │ │ ├── name: :b
+ │ │ │ ├── name_loc: (1,5)-(1,7) = "b:"
+ │ │ │ └── value:
+ │ │ │ @ IntegerNode (location: (1,8)-(1,9))
+ │ │ │ └── flags: decimal
+ │ │ ├── keyword_rest: ∅
+ │ │ └── block: ∅
+ │ ├── locals: (length: 0)
+ │ ├── opening_loc: (1,4)-(1,5) = "|"
+ │ └── closing_loc: (1,9)-(1,10) = "|"
+ ├── body: ∅
+ ├── opening_loc: (1,2)-(1,3) = "{"
+ └── closing_loc: (1,11)-(1,12) = "}"
diff --git a/test/prism/snapshots/seattlerb/iter_kwarg_kwsplat.txt b/test/prism/snapshots/seattlerb/iter_kwarg_kwsplat.txt
index bf1a2e8f82..6b85b3858e 100644
--- a/test/prism/snapshots/seattlerb/iter_kwarg_kwsplat.txt
+++ b/test/prism/snapshots/seattlerb/iter_kwarg_kwsplat.txt
@@ -4,6 +4,7 @@
@ StatementsNode (location: (1,0)-(1,17))
└── body: (length: 1)
└── @ CallNode (location: (1,0)-(1,17))
+ ├── flags: ∅
├── receiver: ∅
├── call_operator_loc: ∅
├── name: :a
@@ -11,35 +12,34 @@
├── opening_loc: ∅
├── arguments: ∅
├── closing_loc: ∅
- ├── block:
- │ @ BlockNode (location: (1,2)-(1,17))
- │ ├── locals: [:b, :c]
- │ ├── locals_body_index: 2
- │ ├── parameters:
- │ │ @ BlockParametersNode (location: (1,4)-(1,15))
- │ │ ├── parameters:
- │ │ │ @ ParametersNode (location: (1,5)-(1,14))
- │ │ │ ├── requireds: (length: 0)
- │ │ │ ├── optionals: (length: 0)
- │ │ │ ├── rest: ∅
- │ │ │ ├── posts: (length: 0)
- │ │ │ ├── keywords: (length: 1)
- │ │ │ │ └── @ OptionalKeywordParameterNode (location: (1,5)-(1,9))
- │ │ │ │ ├── name: :b
- │ │ │ │ ├── name_loc: (1,5)-(1,7) = "b:"
- │ │ │ │ └── value:
- │ │ │ │ @ IntegerNode (location: (1,8)-(1,9))
- │ │ │ │ └── flags: decimal
- │ │ │ ├── keyword_rest:
- │ │ │ │ @ KeywordRestParameterNode (location: (1,11)-(1,14))
- │ │ │ │ ├── name: :c
- │ │ │ │ ├── name_loc: (1,13)-(1,14) = "c"
- │ │ │ │ └── operator_loc: (1,11)-(1,13) = "**"
- │ │ │ └── block: ∅
- │ │ ├── locals: (length: 0)
- │ │ ├── opening_loc: (1,4)-(1,5) = "|"
- │ │ └── closing_loc: (1,14)-(1,15) = "|"
- │ ├── body: ∅
- │ ├── opening_loc: (1,2)-(1,3) = "{"
- │ └── closing_loc: (1,16)-(1,17) = "}"
- └── flags: ∅
+ └── block:
+ @ BlockNode (location: (1,2)-(1,17))
+ ├── locals: [:b, :c]
+ ├── locals_body_index: 2
+ ├── parameters:
+ │ @ BlockParametersNode (location: (1,4)-(1,15))
+ │ ├── parameters:
+ │ │ @ ParametersNode (location: (1,5)-(1,14))
+ │ │ ├── requireds: (length: 0)
+ │ │ ├── optionals: (length: 0)
+ │ │ ├── rest: ∅
+ │ │ ├── posts: (length: 0)
+ │ │ ├── keywords: (length: 1)
+ │ │ │ └── @ OptionalKeywordParameterNode (location: (1,5)-(1,9))
+ │ │ │ ├── name: :b
+ │ │ │ ├── name_loc: (1,5)-(1,7) = "b:"
+ │ │ │ └── value:
+ │ │ │ @ IntegerNode (location: (1,8)-(1,9))
+ │ │ │ └── flags: decimal
+ │ │ ├── keyword_rest:
+ │ │ │ @ KeywordRestParameterNode (location: (1,11)-(1,14))
+ │ │ │ ├── name: :c
+ │ │ │ ├── name_loc: (1,13)-(1,14) = "c"
+ │ │ │ └── operator_loc: (1,11)-(1,13) = "**"
+ │ │ └── block: ∅
+ │ ├── locals: (length: 0)
+ │ ├── opening_loc: (1,4)-(1,5) = "|"
+ │ └── closing_loc: (1,14)-(1,15) = "|"
+ ├── body: ∅
+ ├── opening_loc: (1,2)-(1,3) = "{"
+ └── closing_loc: (1,16)-(1,17) = "}"
diff --git a/test/prism/snapshots/seattlerb/label_vs_string.txt b/test/prism/snapshots/seattlerb/label_vs_string.txt
index 55c40273b8..a0832d8a47 100644
--- a/test/prism/snapshots/seattlerb/label_vs_string.txt
+++ b/test/prism/snapshots/seattlerb/label_vs_string.txt
@@ -4,8 +4,10 @@
@ StatementsNode (location: (1,0)-(2,1))
└── body: (length: 1)
└── @ CallNode (location: (1,0)-(2,1))
+ ├── flags: ∅
├── receiver:
│ @ CallNode (location: (1,0)-(1,4))
+ │ ├── flags: variable_call
│ ├── receiver: ∅
│ ├── call_operator_loc: ∅
│ ├── name: :_buf
@@ -13,22 +15,20 @@
│ ├── opening_loc: ∅
│ ├── arguments: ∅
│ ├── closing_loc: ∅
- │ ├── block: ∅
- │ └── flags: variable_call
+ │ └── block: ∅
├── call_operator_loc: ∅
├── name: :<<
├── message_loc: (1,5)-(1,7) = "<<"
├── opening_loc: ∅
├── arguments:
│ @ ArgumentsNode (location: (1,8)-(2,1))
- │ ├── arguments: (length: 1)
- │ │ └── @ StringNode (location: (1,8)-(2,1))
- │ │ ├── flags: ∅
- │ │ ├── opening_loc: (1,8)-(1,9) = "'"
- │ │ ├── content_loc: (1,9)-(2,0) = ":\n"
- │ │ ├── closing_loc: (2,0)-(2,1) = "'"
- │ │ └── unescaped: ":\n"
- │ └── flags: ∅
+ │ ├── flags: ∅
+ │ └── arguments: (length: 1)
+ │ └── @ StringNode (location: (1,8)-(2,1))
+ │ ├── flags: ∅
+ │ ├── opening_loc: (1,8)-(1,9) = "'"
+ │ ├── content_loc: (1,9)-(2,0) = ":\n"
+ │ ├── closing_loc: (2,0)-(2,1) = "'"
+ │ └── unescaped: ":\n"
├── closing_loc: ∅
- ├── block: ∅
- └── flags: ∅
+ └── block: ∅
diff --git a/test/prism/snapshots/seattlerb/lambda_do_vs_brace.txt b/test/prism/snapshots/seattlerb/lambda_do_vs_brace.txt
index b9018e8f50..e451aca510 100644
--- a/test/prism/snapshots/seattlerb/lambda_do_vs_brace.txt
+++ b/test/prism/snapshots/seattlerb/lambda_do_vs_brace.txt
@@ -4,6 +4,7 @@
@ StatementsNode (location: (1,0)-(7,9))
└── body: (length: 4)
├── @ CallNode (location: (1,0)-(1,11))
+ │ ├── flags: ∅
│ ├── receiver: ∅
│ ├── call_operator_loc: ∅
│ ├── name: :f
@@ -11,20 +12,20 @@
│ ├── opening_loc: ∅
│ ├── arguments:
│ │ @ ArgumentsNode (location: (1,2)-(1,11))
- │ │ ├── arguments: (length: 1)
- │ │ │ └── @ LambdaNode (location: (1,2)-(1,11))
- │ │ │ ├── locals: []
- │ │ │ ├── locals_body_index: 0
- │ │ │ ├── operator_loc: (1,2)-(1,4) = "->"
- │ │ │ ├── opening_loc: (1,5)-(1,7) = "do"
- │ │ │ ├── closing_loc: (1,8)-(1,11) = "end"
- │ │ │ ├── parameters: ∅
- │ │ │ └── body: ∅
- │ │ └── flags: ∅
+ │ │ ├── flags: ∅
+ │ │ └── arguments: (length: 1)
+ │ │ └── @ LambdaNode (location: (1,2)-(1,11))
+ │ │ ├── locals: []
+ │ │ ├── locals_body_index: 0
+ │ │ ├── operator_loc: (1,2)-(1,4) = "->"
+ │ │ ├── opening_loc: (1,5)-(1,7) = "do"
+ │ │ ├── closing_loc: (1,8)-(1,11) = "end"
+ │ │ ├── parameters: ∅
+ │ │ └── body: ∅
│ ├── closing_loc: ∅
- │ ├── block: ∅
- │ └── flags: ∅
+ │ └── block: ∅
├── @ CallNode (location: (3,0)-(3,7))
+ │ ├── flags: ∅
│ ├── receiver: ∅
│ ├── call_operator_loc: ∅
│ ├── name: :f
@@ -32,20 +33,20 @@
│ ├── opening_loc: ∅
│ ├── arguments:
│ │ @ ArgumentsNode (location: (3,2)-(3,7))
- │ │ ├── arguments: (length: 1)
- │ │ │ └── @ LambdaNode (location: (3,2)-(3,7))
- │ │ │ ├── locals: []
- │ │ │ ├── locals_body_index: 0
- │ │ │ ├── operator_loc: (3,2)-(3,4) = "->"
- │ │ │ ├── opening_loc: (3,5)-(3,6) = "{"
- │ │ │ ├── closing_loc: (3,6)-(3,7) = "}"
- │ │ │ ├── parameters: ∅
- │ │ │ └── body: ∅
- │ │ └── flags: ∅
+ │ │ ├── flags: ∅
+ │ │ └── arguments: (length: 1)
+ │ │ └── @ LambdaNode (location: (3,2)-(3,7))
+ │ │ ├── locals: []
+ │ │ ├── locals_body_index: 0
+ │ │ ├── operator_loc: (3,2)-(3,4) = "->"
+ │ │ ├── opening_loc: (3,5)-(3,6) = "{"
+ │ │ ├── closing_loc: (3,6)-(3,7) = "}"
+ │ │ ├── parameters: ∅
+ │ │ └── body: ∅
│ ├── closing_loc: ∅
- │ ├── block: ∅
- │ └── flags: ∅
+ │ └── block: ∅
├── @ CallNode (location: (5,0)-(5,13))
+ │ ├── flags: ∅
│ ├── receiver: ∅
│ ├── call_operator_loc: ∅
│ ├── name: :f
@@ -53,25 +54,25 @@
│ ├── opening_loc: ∅
│ ├── arguments:
│ │ @ ArgumentsNode (location: (5,2)-(5,13))
- │ │ ├── arguments: (length: 1)
- │ │ │ └── @ LambdaNode (location: (5,2)-(5,13))
- │ │ │ ├── locals: []
- │ │ │ ├── locals_body_index: 0
- │ │ │ ├── operator_loc: (5,2)-(5,4) = "->"
- │ │ │ ├── opening_loc: (5,7)-(5,9) = "do"
- │ │ │ ├── closing_loc: (5,10)-(5,13) = "end"
- │ │ │ ├── parameters:
- │ │ │ │ @ BlockParametersNode (location: (5,4)-(5,6))
- │ │ │ │ ├── parameters: ∅
- │ │ │ │ ├── locals: (length: 0)
- │ │ │ │ ├── opening_loc: (5,4)-(5,5) = "("
- │ │ │ │ └── closing_loc: (5,5)-(5,6) = ")"
- │ │ │ └── body: ∅
- │ │ └── flags: ∅
+ │ │ ├── flags: ∅
+ │ │ └── arguments: (length: 1)
+ │ │ └── @ LambdaNode (location: (5,2)-(5,13))
+ │ │ ├── locals: []
+ │ │ ├── locals_body_index: 0
+ │ │ ├── operator_loc: (5,2)-(5,4) = "->"
+ │ │ ├── opening_loc: (5,7)-(5,9) = "do"
+ │ │ ├── closing_loc: (5,10)-(5,13) = "end"
+ │ │ ├── parameters:
+ │ │ │ @ BlockParametersNode (location: (5,4)-(5,6))
+ │ │ │ ├── parameters: ∅
+ │ │ │ ├── locals: (length: 0)
+ │ │ │ ├── opening_loc: (5,4)-(5,5) = "("
+ │ │ │ └── closing_loc: (5,5)-(5,6) = ")"
+ │ │ └── body: ∅
│ ├── closing_loc: ∅
- │ ├── block: ∅
- │ └── flags: ∅
+ │ └── block: ∅
└── @ CallNode (location: (7,0)-(7,9))
+ ├── flags: ∅
├── receiver: ∅
├── call_operator_loc: ∅
├── name: :f
@@ -79,21 +80,20 @@
├── opening_loc: ∅
├── arguments:
│ @ ArgumentsNode (location: (7,2)-(7,9))
- │ ├── arguments: (length: 1)
- │ │ └── @ LambdaNode (location: (7,2)-(7,9))
- │ │ ├── locals: []
- │ │ ├── locals_body_index: 0
- │ │ ├── operator_loc: (7,2)-(7,4) = "->"
- │ │ ├── opening_loc: (7,7)-(7,8) = "{"
- │ │ ├── closing_loc: (7,8)-(7,9) = "}"
- │ │ ├── parameters:
- │ │ │ @ BlockParametersNode (location: (7,4)-(7,6))
- │ │ │ ├── parameters: ∅
- │ │ │ ├── locals: (length: 0)
- │ │ │ ├── opening_loc: (7,4)-(7,5) = "("
- │ │ │ └── closing_loc: (7,5)-(7,6) = ")"
- │ │ └── body: ∅
- │ └── flags: ∅
+ │ ├── flags: ∅
+ │ └── arguments: (length: 1)
+ │ └── @ LambdaNode (location: (7,2)-(7,9))
+ │ ├── locals: []
+ │ ├── locals_body_index: 0
+ │ ├── operator_loc: (7,2)-(7,4) = "->"
+ │ ├── opening_loc: (7,7)-(7,8) = "{"
+ │ ├── closing_loc: (7,8)-(7,9) = "}"
+ │ ├── parameters:
+ │ │ @ BlockParametersNode (location: (7,4)-(7,6))
+ │ │ ├── parameters: ∅
+ │ │ ├── locals: (length: 0)
+ │ │ ├── opening_loc: (7,4)-(7,5) = "("
+ │ │ └── closing_loc: (7,5)-(7,6) = ")"
+ │ └── body: ∅
├── closing_loc: ∅
- ├── block: ∅
- └── flags: ∅
+ └── block: ∅
diff --git a/test/prism/snapshots/seattlerb/lasgn_call_bracket_rescue_arg.txt b/test/prism/snapshots/seattlerb/lasgn_call_bracket_rescue_arg.txt
index 82bc590100..fe18d5ad49 100644
--- a/test/prism/snapshots/seattlerb/lasgn_call_bracket_rescue_arg.txt
+++ b/test/prism/snapshots/seattlerb/lasgn_call_bracket_rescue_arg.txt
@@ -11,6 +11,7 @@
│ @ RescueModifierNode (location: (1,4)-(1,17))
│ ├── expression:
│ │ @ CallNode (location: (1,4)-(1,8))
+ │ │ ├── flags: ∅
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
│ │ ├── name: :b
@@ -18,13 +19,12 @@
│ │ ├── opening_loc: (1,5)-(1,6) = "("
│ │ ├── arguments:
│ │ │ @ ArgumentsNode (location: (1,6)-(1,7))
- │ │ │ ├── arguments: (length: 1)
- │ │ │ │ └── @ IntegerNode (location: (1,6)-(1,7))
- │ │ │ │ └── flags: decimal
- │ │ │ └── flags: ∅
+ │ │ │ ├── flags: ∅
+ │ │ │ └── arguments: (length: 1)
+ │ │ │ └── @ IntegerNode (location: (1,6)-(1,7))
+ │ │ │ └── flags: decimal
│ │ ├── closing_loc: (1,7)-(1,8) = ")"
- │ │ ├── block: ∅
- │ │ └── flags: ∅
+ │ │ └── block: ∅
│ ├── keyword_loc: (1,9)-(1,15) = "rescue"
│ └── rescue_expression:
│ @ IntegerNode (location: (1,16)-(1,17))
diff --git a/test/prism/snapshots/seattlerb/lasgn_call_nobracket_rescue_arg.txt b/test/prism/snapshots/seattlerb/lasgn_call_nobracket_rescue_arg.txt
index ce6b05e8d1..637451a550 100644
--- a/test/prism/snapshots/seattlerb/lasgn_call_nobracket_rescue_arg.txt
+++ b/test/prism/snapshots/seattlerb/lasgn_call_nobracket_rescue_arg.txt
@@ -11,6 +11,7 @@
│ @ RescueModifierNode (location: (1,4)-(1,16))
│ ├── expression:
│ │ @ CallNode (location: (1,4)-(1,7))
+ │ │ ├── flags: ∅
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
│ │ ├── name: :b
@@ -18,13 +19,12 @@
│ │ ├── opening_loc: ∅
│ │ ├── arguments:
│ │ │ @ ArgumentsNode (location: (1,6)-(1,7))
- │ │ │ ├── arguments: (length: 1)
- │ │ │ │ └── @ IntegerNode (location: (1,6)-(1,7))
- │ │ │ │ └── flags: decimal
- │ │ │ └── flags: ∅
+ │ │ │ ├── flags: ∅
+ │ │ │ └── arguments: (length: 1)
+ │ │ │ └── @ IntegerNode (location: (1,6)-(1,7))
+ │ │ │ └── flags: decimal
│ │ ├── closing_loc: ∅
- │ │ ├── block: ∅
- │ │ └── flags: ∅
+ │ │ └── block: ∅
│ ├── keyword_loc: (1,8)-(1,14) = "rescue"
│ └── rescue_expression:
│ @ IntegerNode (location: (1,15)-(1,16))
diff --git a/test/prism/snapshots/seattlerb/lasgn_command.txt b/test/prism/snapshots/seattlerb/lasgn_command.txt
index 2f2709577b..4b38e56028 100644
--- a/test/prism/snapshots/seattlerb/lasgn_command.txt
+++ b/test/prism/snapshots/seattlerb/lasgn_command.txt
@@ -9,8 +9,10 @@
├── name_loc: (1,0)-(1,1) = "a"
├── value:
│ @ CallNode (location: (1,4)-(1,9))
+ │ ├── flags: ∅
│ ├── receiver:
│ │ @ CallNode (location: (1,4)-(1,5))
+ │ │ ├── flags: variable_call
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
│ │ ├── name: :b
@@ -18,19 +20,17 @@
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
- │ │ ├── block: ∅
- │ │ └── flags: variable_call
+ │ │ └── block: ∅
│ ├── call_operator_loc: (1,5)-(1,6) = "."
│ ├── name: :c
│ ├── message_loc: (1,6)-(1,7) = "c"
│ ├── opening_loc: ∅
│ ├── arguments:
│ │ @ ArgumentsNode (location: (1,8)-(1,9))
- │ │ ├── arguments: (length: 1)
- │ │ │ └── @ IntegerNode (location: (1,8)-(1,9))
- │ │ │ └── flags: decimal
- │ │ └── flags: ∅
+ │ │ ├── flags: ∅
+ │ │ └── arguments: (length: 1)
+ │ │ └── @ IntegerNode (location: (1,8)-(1,9))
+ │ │ └── flags: decimal
│ ├── closing_loc: ∅
- │ ├── block: ∅
- │ └── flags: ∅
+ │ └── block: ∅
└── operator_loc: (1,2)-(1,3) = "="
diff --git a/test/prism/snapshots/seattlerb/lasgn_lasgn_command_call.txt b/test/prism/snapshots/seattlerb/lasgn_lasgn_command_call.txt
index 6c5bfb8d9e..8d6662ae0d 100644
--- a/test/prism/snapshots/seattlerb/lasgn_lasgn_command_call.txt
+++ b/test/prism/snapshots/seattlerb/lasgn_lasgn_command_call.txt
@@ -14,6 +14,7 @@
│ ├── name_loc: (1,4)-(1,5) = "b"
│ ├── value:
│ │ @ CallNode (location: (1,8)-(1,11))
+ │ │ ├── flags: ∅
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
│ │ ├── name: :c
@@ -21,12 +22,11 @@
│ │ ├── opening_loc: ∅
│ │ ├── arguments:
│ │ │ @ ArgumentsNode (location: (1,10)-(1,11))
- │ │ │ ├── arguments: (length: 1)
- │ │ │ │ └── @ IntegerNode (location: (1,10)-(1,11))
- │ │ │ │ └── flags: decimal
- │ │ │ └── flags: ∅
+ │ │ │ ├── flags: ∅
+ │ │ │ └── arguments: (length: 1)
+ │ │ │ └── @ IntegerNode (location: (1,10)-(1,11))
+ │ │ │ └── flags: decimal
│ │ ├── closing_loc: ∅
- │ │ ├── block: ∅
- │ │ └── flags: ∅
+ │ │ └── block: ∅
│ └── operator_loc: (1,6)-(1,7) = "="
└── operator_loc: (1,2)-(1,3) = "="
diff --git a/test/prism/snapshots/seattlerb/lasgn_middle_splat.txt b/test/prism/snapshots/seattlerb/lasgn_middle_splat.txt
index f88e98dd50..076c4ec89d 100644
--- a/test/prism/snapshots/seattlerb/lasgn_middle_splat.txt
+++ b/test/prism/snapshots/seattlerb/lasgn_middle_splat.txt
@@ -9,8 +9,10 @@
├── name_loc: (1,0)-(1,1) = "a"
├── value:
│ @ ArrayNode (location: (1,4)-(1,12))
+ │ ├── flags: contains_splat
│ ├── elements: (length: 3)
│ │ ├── @ CallNode (location: (1,4)-(1,5))
+ │ │ │ ├── flags: variable_call
│ │ │ ├── receiver: ∅
│ │ │ ├── call_operator_loc: ∅
│ │ │ ├── name: :b
@@ -18,12 +20,12 @@
│ │ │ ├── opening_loc: ∅
│ │ │ ├── arguments: ∅
│ │ │ ├── closing_loc: ∅
- │ │ │ ├── block: ∅
- │ │ │ └── flags: variable_call
+ │ │ │ └── block: ∅
│ │ ├── @ SplatNode (location: (1,7)-(1,9))
│ │ │ ├── operator_loc: (1,7)-(1,8) = "*"
│ │ │ └── expression:
│ │ │ @ CallNode (location: (1,8)-(1,9))
+ │ │ │ ├── flags: variable_call
│ │ │ ├── receiver: ∅
│ │ │ ├── call_operator_loc: ∅
│ │ │ ├── name: :c
@@ -31,9 +33,9 @@
│ │ │ ├── opening_loc: ∅
│ │ │ ├── arguments: ∅
│ │ │ ├── closing_loc: ∅
- │ │ │ ├── block: ∅
- │ │ │ └── flags: variable_call
+ │ │ │ └── block: ∅
│ │ └── @ CallNode (location: (1,11)-(1,12))
+ │ │ ├── flags: variable_call
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
│ │ ├── name: :d
@@ -41,9 +43,7 @@
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
- │ │ ├── block: ∅
- │ │ └── flags: variable_call
+ │ │ └── block: ∅
│ ├── opening_loc: ∅
- │ ├── closing_loc: ∅
- │ └── flags: contains_splat
+ │ └── closing_loc: ∅
└── operator_loc: (1,2)-(1,3) = "="
diff --git a/test/prism/snapshots/seattlerb/masgn_anon_splat_arg.txt b/test/prism/snapshots/seattlerb/masgn_anon_splat_arg.txt
index f0e7b58109..f1f07d2908 100644
--- a/test/prism/snapshots/seattlerb/masgn_anon_splat_arg.txt
+++ b/test/prism/snapshots/seattlerb/masgn_anon_splat_arg.txt
@@ -18,6 +18,7 @@
├── operator_loc: (1,5)-(1,6) = "="
└── value:
@ CallNode (location: (1,7)-(1,8))
+ ├── flags: variable_call
├── receiver: ∅
├── call_operator_loc: ∅
├── name: :b
@@ -25,5 +26,4 @@
├── opening_loc: ∅
├── arguments: ∅
├── closing_loc: ∅
- ├── block: ∅
- └── flags: variable_call
+ └── block: ∅
diff --git a/test/prism/snapshots/seattlerb/masgn_arg_colon_arg.txt b/test/prism/snapshots/seattlerb/masgn_arg_colon_arg.txt
index 8bf3c37350..e7e304f7c8 100644
--- a/test/prism/snapshots/seattlerb/masgn_arg_colon_arg.txt
+++ b/test/prism/snapshots/seattlerb/masgn_arg_colon_arg.txt
@@ -9,8 +9,10 @@
│ │ ├── name: :a
│ │ └── depth: 0
│ └── @ CallNode (location: (1,3)-(1,7))
+ │ ├── flags: ∅
│ ├── receiver:
│ │ @ CallNode (location: (1,3)-(1,4))
+ │ │ ├── flags: variable_call
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
│ │ ├── name: :b
@@ -18,16 +20,14 @@
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
- │ │ ├── block: ∅
- │ │ └── flags: variable_call
+ │ │ └── block: ∅
│ ├── call_operator_loc: (1,4)-(1,6) = "::"
│ ├── name: :c=
│ ├── message_loc: (1,6)-(1,7) = "c"
│ ├── opening_loc: ∅
│ ├── arguments: ∅
│ ├── closing_loc: ∅
- │ ├── block: ∅
- │ └── flags: ∅
+ │ └── block: ∅
├── rest: ∅
├── rights: (length: 0)
├── lparen_loc: ∅
@@ -35,6 +35,7 @@
├── operator_loc: (1,8)-(1,9) = "="
└── value:
@ CallNode (location: (1,10)-(1,11))
+ ├── flags: variable_call
├── receiver: ∅
├── call_operator_loc: ∅
├── name: :d
@@ -42,5 +43,4 @@
├── opening_loc: ∅
├── arguments: ∅
├── closing_loc: ∅
- ├── block: ∅
- └── flags: variable_call
+ └── block: ∅
diff --git a/test/prism/snapshots/seattlerb/masgn_arg_ident.txt b/test/prism/snapshots/seattlerb/masgn_arg_ident.txt
index ff55c6b8f7..e8c9958e74 100644
--- a/test/prism/snapshots/seattlerb/masgn_arg_ident.txt
+++ b/test/prism/snapshots/seattlerb/masgn_arg_ident.txt
@@ -9,8 +9,10 @@
│ │ ├── name: :a
│ │ └── depth: 0
│ └── @ CallNode (location: (1,3)-(1,6))
+ │ ├── flags: ∅
│ ├── receiver:
│ │ @ CallNode (location: (1,3)-(1,4))
+ │ │ ├── flags: variable_call
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
│ │ ├── name: :b
@@ -18,16 +20,14 @@
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
- │ │ ├── block: ∅
- │ │ └── flags: variable_call
+ │ │ └── block: ∅
│ ├── call_operator_loc: (1,4)-(1,5) = "."
│ ├── name: :C=
│ ├── message_loc: (1,5)-(1,6) = "C"
│ ├── opening_loc: ∅
│ ├── arguments: ∅
│ ├── closing_loc: ∅
- │ ├── block: ∅
- │ └── flags: ∅
+ │ └── block: ∅
├── rest: ∅
├── rights: (length: 0)
├── lparen_loc: ∅
@@ -35,6 +35,7 @@
├── operator_loc: (1,7)-(1,8) = "="
└── value:
@ CallNode (location: (1,9)-(1,10))
+ ├── flags: variable_call
├── receiver: ∅
├── call_operator_loc: ∅
├── name: :d
@@ -42,5 +43,4 @@
├── opening_loc: ∅
├── arguments: ∅
├── closing_loc: ∅
- ├── block: ∅
- └── flags: variable_call
+ └── block: ∅
diff --git a/test/prism/snapshots/seattlerb/masgn_arg_splat_arg.txt b/test/prism/snapshots/seattlerb/masgn_arg_splat_arg.txt
index 9492bd340f..3d756144c5 100644
--- a/test/prism/snapshots/seattlerb/masgn_arg_splat_arg.txt
+++ b/test/prism/snapshots/seattlerb/masgn_arg_splat_arg.txt
@@ -24,6 +24,7 @@
├── operator_loc: (1,9)-(1,10) = "="
└── value:
@ CallNode (location: (1,11)-(1,12))
+ ├── flags: variable_call
├── receiver: ∅
├── call_operator_loc: ∅
├── name: :d
@@ -31,5 +32,4 @@
├── opening_loc: ∅
├── arguments: ∅
├── closing_loc: ∅
- ├── block: ∅
- └── flags: variable_call
+ └── block: ∅
diff --git a/test/prism/snapshots/seattlerb/masgn_colon2.txt b/test/prism/snapshots/seattlerb/masgn_colon2.txt
index e97891ebd3..5a5b5e67db 100644
--- a/test/prism/snapshots/seattlerb/masgn_colon2.txt
+++ b/test/prism/snapshots/seattlerb/masgn_colon2.txt
@@ -11,6 +11,7 @@
│ └── @ ConstantPathTargetNode (location: (1,3)-(1,7))
│ ├── parent:
│ │ @ CallNode (location: (1,3)-(1,4))
+ │ │ ├── flags: variable_call
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
│ │ ├── name: :b
@@ -18,8 +19,7 @@
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
- │ │ ├── block: ∅
- │ │ └── flags: variable_call
+ │ │ └── block: ∅
│ ├── child:
│ │ @ ConstantReadNode (location: (1,6)-(1,7))
│ │ └── name: :C
@@ -31,11 +31,11 @@
├── operator_loc: (1,8)-(1,9) = "="
└── value:
@ ArrayNode (location: (1,10)-(1,14))
+ ├── flags: ∅
├── elements: (length: 2)
│ ├── @ IntegerNode (location: (1,10)-(1,11))
│ │ └── flags: decimal
│ └── @ IntegerNode (location: (1,13)-(1,14))
│ └── flags: decimal
├── opening_loc: ∅
- ├── closing_loc: ∅
- └── flags: ∅
+ └── closing_loc: ∅
diff --git a/test/prism/snapshots/seattlerb/masgn_colon3.txt b/test/prism/snapshots/seattlerb/masgn_colon3.txt
index 836ce91c7f..f2880a4426 100644
--- a/test/prism/snapshots/seattlerb/masgn_colon3.txt
+++ b/test/prism/snapshots/seattlerb/masgn_colon3.txt
@@ -24,11 +24,11 @@
├── operator_loc: (1,9)-(1,10) = "="
└── value:
@ ArrayNode (location: (1,11)-(1,15))
+ ├── flags: ∅
├── elements: (length: 2)
│ ├── @ IntegerNode (location: (1,11)-(1,12))
│ │ └── flags: decimal
│ └── @ IntegerNode (location: (1,14)-(1,15))
│ └── flags: decimal
├── opening_loc: ∅
- ├── closing_loc: ∅
- └── flags: ∅
+ └── closing_loc: ∅
diff --git a/test/prism/snapshots/seattlerb/masgn_command_call.txt b/test/prism/snapshots/seattlerb/masgn_command_call.txt
index 7a7b26b9c3..974910101b 100644
--- a/test/prism/snapshots/seattlerb/masgn_command_call.txt
+++ b/test/prism/snapshots/seattlerb/masgn_command_call.txt
@@ -16,8 +16,10 @@
├── operator_loc: (1,3)-(1,4) = "="
└── value:
@ CallNode (location: (1,5)-(1,10))
+ ├── flags: ∅
├── receiver:
│ @ CallNode (location: (1,5)-(1,6))
+ │ ├── flags: variable_call
│ ├── receiver: ∅
│ ├── call_operator_loc: ∅
│ ├── name: :b
@@ -25,18 +27,16 @@
│ ├── opening_loc: ∅
│ ├── arguments: ∅
│ ├── closing_loc: ∅
- │ ├── block: ∅
- │ └── flags: variable_call
+ │ └── block: ∅
├── call_operator_loc: (1,6)-(1,7) = "."
├── name: :c
├── message_loc: (1,7)-(1,8) = "c"
├── opening_loc: ∅
├── arguments:
│ @ ArgumentsNode (location: (1,9)-(1,10))
- │ ├── arguments: (length: 1)
- │ │ └── @ IntegerNode (location: (1,9)-(1,10))
- │ │ └── flags: decimal
- │ └── flags: ∅
+ │ ├── flags: ∅
+ │ └── arguments: (length: 1)
+ │ └── @ IntegerNode (location: (1,9)-(1,10))
+ │ └── flags: decimal
├── closing_loc: ∅
- ├── block: ∅
- └── flags: ∅
+ └── block: ∅
diff --git a/test/prism/snapshots/seattlerb/masgn_double_paren.txt b/test/prism/snapshots/seattlerb/masgn_double_paren.txt
index b6a3748d3f..900e8e0f14 100644
--- a/test/prism/snapshots/seattlerb/masgn_double_paren.txt
+++ b/test/prism/snapshots/seattlerb/masgn_double_paren.txt
@@ -24,6 +24,7 @@
├── operator_loc: (1,7)-(1,8) = "="
└── value:
@ CallNode (location: (1,8)-(1,9))
+ ├── flags: variable_call
├── receiver: ∅
├── call_operator_loc: ∅
├── name: :c
@@ -31,5 +32,4 @@
├── opening_loc: ∅
├── arguments: ∅
├── closing_loc: ∅
- ├── block: ∅
- └── flags: variable_call
+ └── block: ∅
diff --git a/test/prism/snapshots/seattlerb/masgn_lhs_splat.txt b/test/prism/snapshots/seattlerb/masgn_lhs_splat.txt
index 10d0dc3a4a..7615d7d02b 100644
--- a/test/prism/snapshots/seattlerb/masgn_lhs_splat.txt
+++ b/test/prism/snapshots/seattlerb/masgn_lhs_splat.txt
@@ -18,6 +18,7 @@
├── operator_loc: (1,3)-(1,4) = "="
└── value:
@ ArrayNode (location: (1,5)-(1,12))
+ ├── flags: ∅
├── elements: (length: 3)
│ ├── @ IntegerNode (location: (1,5)-(1,6))
│ │ └── flags: decimal
@@ -26,5 +27,4 @@
│ └── @ IntegerNode (location: (1,11)-(1,12))
│ └── flags: decimal
├── opening_loc: ∅
- ├── closing_loc: ∅
- └── flags: ∅
+ └── closing_loc: ∅
diff --git a/test/prism/snapshots/seattlerb/masgn_paren.txt b/test/prism/snapshots/seattlerb/masgn_paren.txt
index 49c1a488b2..610f6ba2e4 100644
--- a/test/prism/snapshots/seattlerb/masgn_paren.txt
+++ b/test/prism/snapshots/seattlerb/masgn_paren.txt
@@ -18,8 +18,10 @@
├── operator_loc: (1,7)-(1,8) = "="
└── value:
@ CallNode (location: (1,9)-(1,12))
+ ├── flags: ∅
├── receiver:
│ @ CallNode (location: (1,9)-(1,10))
+ │ ├── flags: variable_call
│ ├── receiver: ∅
│ ├── call_operator_loc: ∅
│ ├── name: :c
@@ -27,13 +29,11 @@
│ ├── opening_loc: ∅
│ ├── arguments: ∅
│ ├── closing_loc: ∅
- │ ├── block: ∅
- │ └── flags: variable_call
+ │ └── block: ∅
├── call_operator_loc: (1,10)-(1,11) = "."
├── name: :d
├── message_loc: (1,11)-(1,12) = "d"
├── opening_loc: ∅
├── arguments: ∅
├── closing_loc: ∅
- ├── block: ∅
- └── flags: ∅
+ └── block: ∅
diff --git a/test/prism/snapshots/seattlerb/masgn_splat_arg.txt b/test/prism/snapshots/seattlerb/masgn_splat_arg.txt
index 75dfd499fe..0d2d782bf1 100644
--- a/test/prism/snapshots/seattlerb/masgn_splat_arg.txt
+++ b/test/prism/snapshots/seattlerb/masgn_splat_arg.txt
@@ -21,6 +21,7 @@
├── operator_loc: (1,6)-(1,7) = "="
└── value:
@ CallNode (location: (1,8)-(1,9))
+ ├── flags: variable_call
├── receiver: ∅
├── call_operator_loc: ∅
├── name: :c
@@ -28,5 +29,4 @@
├── opening_loc: ∅
├── arguments: ∅
├── closing_loc: ∅
- ├── block: ∅
- └── flags: variable_call
+ └── block: ∅
diff --git a/test/prism/snapshots/seattlerb/masgn_splat_arg_arg.txt b/test/prism/snapshots/seattlerb/masgn_splat_arg_arg.txt
index 16fd28db42..be9e1324f8 100644
--- a/test/prism/snapshots/seattlerb/masgn_splat_arg_arg.txt
+++ b/test/prism/snapshots/seattlerb/masgn_splat_arg_arg.txt
@@ -24,6 +24,7 @@
├── operator_loc: (1,9)-(1,10) = "="
└── value:
@ CallNode (location: (1,11)-(1,12))
+ ├── flags: variable_call
├── receiver: ∅
├── call_operator_loc: ∅
├── name: :d
@@ -31,5 +32,4 @@
├── opening_loc: ∅
├── arguments: ∅
├── closing_loc: ∅
- ├── block: ∅
- └── flags: variable_call
+ └── block: ∅
diff --git a/test/prism/snapshots/seattlerb/masgn_var_star_var.txt b/test/prism/snapshots/seattlerb/masgn_var_star_var.txt
index 00ef2e5cf4..0833b44d6b 100644
--- a/test/prism/snapshots/seattlerb/masgn_var_star_var.txt
+++ b/test/prism/snapshots/seattlerb/masgn_var_star_var.txt
@@ -21,6 +21,7 @@
├── operator_loc: (1,8)-(1,9) = "="
└── value:
@ CallNode (location: (1,10)-(1,11))
+ ├── flags: variable_call
├── receiver: ∅
├── call_operator_loc: ∅
├── name: :c
@@ -28,5 +29,4 @@
├── opening_loc: ∅
├── arguments: ∅
├── closing_loc: ∅
- ├── block: ∅
- └── flags: variable_call
+ └── block: ∅
diff --git a/test/prism/snapshots/seattlerb/messy_op_asgn_lineno.txt b/test/prism/snapshots/seattlerb/messy_op_asgn_lineno.txt
index 92b636949f..d15cf6fcbc 100644
--- a/test/prism/snapshots/seattlerb/messy_op_asgn_lineno.txt
+++ b/test/prism/snapshots/seattlerb/messy_op_asgn_lineno.txt
@@ -4,6 +4,7 @@
@ StatementsNode (location: (1,0)-(1,15))
└── body: (length: 1)
└── @ CallNode (location: (1,0)-(1,15))
+ ├── flags: ∅
├── receiver: ∅
├── call_operator_loc: ∅
├── name: :a
@@ -11,50 +12,49 @@
├── opening_loc: ∅
├── arguments:
│ @ ArgumentsNode (location: (1,2)-(1,15))
- │ ├── arguments: (length: 1)
- │ │ └── @ ParenthesesNode (location: (1,2)-(1,15))
- │ │ ├── body:
- │ │ │ @ StatementsNode (location: (1,3)-(1,14))
- │ │ │ └── body: (length: 1)
- │ │ │ └── @ ConstantPathOperatorWriteNode (location: (1,3)-(1,14))
- │ │ │ ├── target:
- │ │ │ │ @ ConstantPathNode (location: (1,3)-(1,7))
- │ │ │ │ ├── parent:
- │ │ │ │ │ @ ConstantReadNode (location: (1,3)-(1,4))
- │ │ │ │ │ └── name: :B
- │ │ │ │ ├── child:
- │ │ │ │ │ @ ConstantReadNode (location: (1,6)-(1,7))
- │ │ │ │ │ └── name: :C
- │ │ │ │ └── delimiter_loc: (1,4)-(1,6) = "::"
- │ │ │ ├── operator_loc: (1,8)-(1,10) = "*="
- │ │ │ ├── value:
- │ │ │ │ @ CallNode (location: (1,11)-(1,14))
- │ │ │ │ ├── receiver: ∅
- │ │ │ │ ├── call_operator_loc: ∅
- │ │ │ │ ├── name: :d
- │ │ │ │ ├── message_loc: (1,11)-(1,12) = "d"
- │ │ │ │ ├── opening_loc: ∅
- │ │ │ │ ├── arguments:
- │ │ │ │ │ @ ArgumentsNode (location: (1,13)-(1,14))
- │ │ │ │ │ ├── arguments: (length: 1)
- │ │ │ │ │ │ └── @ CallNode (location: (1,13)-(1,14))
- │ │ │ │ │ │ ├── receiver: ∅
- │ │ │ │ │ │ ├── call_operator_loc: ∅
- │ │ │ │ │ │ ├── name: :e
- │ │ │ │ │ │ ├── message_loc: (1,13)-(1,14) = "e"
- │ │ │ │ │ │ ├── opening_loc: ∅
- │ │ │ │ │ │ ├── arguments: ∅
- │ │ │ │ │ │ ├── closing_loc: ∅
- │ │ │ │ │ │ ├── block: ∅
- │ │ │ │ │ │ └── flags: variable_call
- │ │ │ │ │ └── flags: ∅
- │ │ │ │ ├── closing_loc: ∅
- │ │ │ │ ├── block: ∅
- │ │ │ │ └── flags: ∅
- │ │ │ └── operator: :*
- │ │ ├── opening_loc: (1,2)-(1,3) = "("
- │ │ └── closing_loc: (1,14)-(1,15) = ")"
- │ └── flags: ∅
+ │ ├── flags: ∅
+ │ └── arguments: (length: 1)
+ │ └── @ ParenthesesNode (location: (1,2)-(1,15))
+ │ ├── body:
+ │ │ @ StatementsNode (location: (1,3)-(1,14))
+ │ │ └── body: (length: 1)
+ │ │ └── @ ConstantPathOperatorWriteNode (location: (1,3)-(1,14))
+ │ │ ├── target:
+ │ │ │ @ ConstantPathNode (location: (1,3)-(1,7))
+ │ │ │ ├── parent:
+ │ │ │ │ @ ConstantReadNode (location: (1,3)-(1,4))
+ │ │ │ │ └── name: :B
+ │ │ │ ├── child:
+ │ │ │ │ @ ConstantReadNode (location: (1,6)-(1,7))
+ │ │ │ │ └── name: :C
+ │ │ │ └── delimiter_loc: (1,4)-(1,6) = "::"
+ │ │ ├── operator_loc: (1,8)-(1,10) = "*="
+ │ │ ├── value:
+ │ │ │ @ CallNode (location: (1,11)-(1,14))
+ │ │ │ ├── flags: ∅
+ │ │ │ ├── receiver: ∅
+ │ │ │ ├── call_operator_loc: ∅
+ │ │ │ ├── name: :d
+ │ │ │ ├── message_loc: (1,11)-(1,12) = "d"
+ │ │ │ ├── opening_loc: ∅
+ │ │ │ ├── arguments:
+ │ │ │ │ @ ArgumentsNode (location: (1,13)-(1,14))
+ │ │ │ │ ├── flags: ∅
+ │ │ │ │ └── arguments: (length: 1)
+ │ │ │ │ └── @ CallNode (location: (1,13)-(1,14))
+ │ │ │ │ ├── flags: variable_call
+ │ │ │ │ ├── receiver: ∅
+ │ │ │ │ ├── call_operator_loc: ∅
+ │ │ │ │ ├── name: :e
+ │ │ │ │ ├── message_loc: (1,13)-(1,14) = "e"
+ │ │ │ │ ├── opening_loc: ∅
+ │ │ │ │ ├── arguments: ∅
+ │ │ │ │ ├── closing_loc: ∅
+ │ │ │ │ └── block: ∅
+ │ │ │ ├── closing_loc: ∅
+ │ │ │ └── block: ∅
+ │ │ └── operator: :*
+ │ ├── opening_loc: (1,2)-(1,3) = "("
+ │ └── closing_loc: (1,14)-(1,15) = ")"
├── closing_loc: ∅
- ├── block: ∅
- └── flags: ∅
+ └── block: ∅
diff --git a/test/prism/snapshots/seattlerb/method_call_assoc_trailing_comma.txt b/test/prism/snapshots/seattlerb/method_call_assoc_trailing_comma.txt
index b2e8c11887..1fa0510b2d 100644
--- a/test/prism/snapshots/seattlerb/method_call_assoc_trailing_comma.txt
+++ b/test/prism/snapshots/seattlerb/method_call_assoc_trailing_comma.txt
@@ -4,8 +4,10 @@
@ StatementsNode (location: (1,0)-(1,10))
└── body: (length: 1)
└── @ CallNode (location: (1,0)-(1,10))
+ ├── flags: ∅
├── receiver:
│ @ CallNode (location: (1,0)-(1,1))
+ │ ├── flags: variable_call
│ ├── receiver: ∅
│ ├── call_operator_loc: ∅
│ ├── name: :a
@@ -13,26 +15,24 @@
│ ├── opening_loc: ∅
│ ├── arguments: ∅
│ ├── closing_loc: ∅
- │ ├── block: ∅
- │ └── flags: variable_call
+ │ └── block: ∅
├── call_operator_loc: (1,1)-(1,2) = "."
├── name: :f
├── message_loc: (1,2)-(1,3) = "f"
├── opening_loc: (1,3)-(1,4) = "("
├── arguments:
│ @ ArgumentsNode (location: (1,4)-(1,8))
- │ ├── arguments: (length: 1)
- │ │ └── @ KeywordHashNode (location: (1,4)-(1,8))
- │ │ └── elements: (length: 1)
- │ │ └── @ AssocNode (location: (1,4)-(1,8))
- │ │ ├── key:
- │ │ │ @ IntegerNode (location: (1,4)-(1,5))
- │ │ │ └── flags: decimal
- │ │ ├── value:
- │ │ │ @ IntegerNode (location: (1,7)-(1,8))
- │ │ │ └── flags: decimal
- │ │ └── operator_loc: (1,5)-(1,7) = "=>"
- │ └── flags: ∅
+ │ ├── flags: ∅
+ │ └── arguments: (length: 1)
+ │ └── @ KeywordHashNode (location: (1,4)-(1,8))
+ │ └── elements: (length: 1)
+ │ └── @ AssocNode (location: (1,4)-(1,8))
+ │ ├── key:
+ │ │ @ IntegerNode (location: (1,4)-(1,5))
+ │ │ └── flags: decimal
+ │ ├── value:
+ │ │ @ IntegerNode (location: (1,7)-(1,8))
+ │ │ └── flags: decimal
+ │ └── operator_loc: (1,5)-(1,7) = "=>"
├── closing_loc: (1,9)-(1,10) = ")"
- ├── block: ∅
- └── flags: ∅
+ └── block: ∅
diff --git a/test/prism/snapshots/seattlerb/method_call_trailing_comma.txt b/test/prism/snapshots/seattlerb/method_call_trailing_comma.txt
index 4c9a412404..aea6bc7de1 100644
--- a/test/prism/snapshots/seattlerb/method_call_trailing_comma.txt
+++ b/test/prism/snapshots/seattlerb/method_call_trailing_comma.txt
@@ -4,8 +4,10 @@
@ StatementsNode (location: (1,0)-(1,7))
└── body: (length: 1)
└── @ CallNode (location: (1,0)-(1,7))
+ ├── flags: ∅
├── receiver:
│ @ CallNode (location: (1,0)-(1,1))
+ │ ├── flags: variable_call
│ ├── receiver: ∅
│ ├── call_operator_loc: ∅
│ ├── name: :a
@@ -13,18 +15,16 @@
│ ├── opening_loc: ∅
│ ├── arguments: ∅
│ ├── closing_loc: ∅
- │ ├── block: ∅
- │ └── flags: variable_call
+ │ └── block: ∅
├── call_operator_loc: (1,1)-(1,2) = "."
├── name: :f
├── message_loc: (1,2)-(1,3) = "f"
├── opening_loc: (1,3)-(1,4) = "("
├── arguments:
│ @ ArgumentsNode (location: (1,4)-(1,5))
- │ ├── arguments: (length: 1)
- │ │ └── @ IntegerNode (location: (1,4)-(1,5))
- │ │ └── flags: decimal
- │ └── flags: ∅
+ │ ├── flags: ∅
+ │ └── arguments: (length: 1)
+ │ └── @ IntegerNode (location: (1,4)-(1,5))
+ │ └── flags: decimal
├── closing_loc: (1,6)-(1,7) = ")"
- ├── block: ∅
- └── flags: ∅
+ └── block: ∅
diff --git a/test/prism/snapshots/seattlerb/mlhs_back_anonsplat.txt b/test/prism/snapshots/seattlerb/mlhs_back_anonsplat.txt
index debb1e52d2..0bf5baefd5 100644
--- a/test/prism/snapshots/seattlerb/mlhs_back_anonsplat.txt
+++ b/test/prism/snapshots/seattlerb/mlhs_back_anonsplat.txt
@@ -24,6 +24,7 @@
├── operator_loc: (1,11)-(1,12) = "="
└── value:
@ CallNode (location: (1,13)-(1,14))
+ ├── flags: variable_call
├── receiver: ∅
├── call_operator_loc: ∅
├── name: :f
@@ -31,5 +32,4 @@
├── opening_loc: ∅
├── arguments: ∅
├── closing_loc: ∅
- ├── block: ∅
- └── flags: variable_call
+ └── block: ∅
diff --git a/test/prism/snapshots/seattlerb/mlhs_back_splat.txt b/test/prism/snapshots/seattlerb/mlhs_back_splat.txt
index bd80071854..2051bb832b 100644
--- a/test/prism/snapshots/seattlerb/mlhs_back_splat.txt
+++ b/test/prism/snapshots/seattlerb/mlhs_back_splat.txt
@@ -27,6 +27,7 @@
├── operator_loc: (1,12)-(1,13) = "="
└── value:
@ CallNode (location: (1,14)-(1,15))
+ ├── flags: variable_call
├── receiver: ∅
├── call_operator_loc: ∅
├── name: :f
@@ -34,5 +35,4 @@
├── opening_loc: ∅
├── arguments: ∅
├── closing_loc: ∅
- ├── block: ∅
- └── flags: variable_call
+ └── block: ∅
diff --git a/test/prism/snapshots/seattlerb/mlhs_front_anonsplat.txt b/test/prism/snapshots/seattlerb/mlhs_front_anonsplat.txt
index dd984f725f..fbe7480d50 100644
--- a/test/prism/snapshots/seattlerb/mlhs_front_anonsplat.txt
+++ b/test/prism/snapshots/seattlerb/mlhs_front_anonsplat.txt
@@ -24,6 +24,7 @@
├── operator_loc: (1,11)-(1,12) = "="
└── value:
@ CallNode (location: (1,13)-(1,14))
+ ├── flags: variable_call
├── receiver: ∅
├── call_operator_loc: ∅
├── name: :f
@@ -31,5 +32,4 @@
├── opening_loc: ∅
├── arguments: ∅
├── closing_loc: ∅
- ├── block: ∅
- └── flags: variable_call
+ └── block: ∅
diff --git a/test/prism/snapshots/seattlerb/mlhs_front_splat.txt b/test/prism/snapshots/seattlerb/mlhs_front_splat.txt
index 49a7b1629a..6585289d54 100644
--- a/test/prism/snapshots/seattlerb/mlhs_front_splat.txt
+++ b/test/prism/snapshots/seattlerb/mlhs_front_splat.txt
@@ -27,6 +27,7 @@
├── operator_loc: (1,12)-(1,13) = "="
└── value:
@ CallNode (location: (1,14)-(1,15))
+ ├── flags: variable_call
├── receiver: ∅
├── call_operator_loc: ∅
├── name: :f
@@ -34,5 +35,4 @@
├── opening_loc: ∅
├── arguments: ∅
├── closing_loc: ∅
- ├── block: ∅
- └── flags: variable_call
+ └── block: ∅
diff --git a/test/prism/snapshots/seattlerb/mlhs_keyword.txt b/test/prism/snapshots/seattlerb/mlhs_keyword.txt
index 7612ebe2f0..d7033a5203 100644
--- a/test/prism/snapshots/seattlerb/mlhs_keyword.txt
+++ b/test/prism/snapshots/seattlerb/mlhs_keyword.txt
@@ -4,8 +4,10 @@
@ StatementsNode (location: (1,0)-(1,16))
└── body: (length: 1)
└── @ CallNode (location: (1,0)-(1,16))
+ ├── flags: ∅
├── receiver:
│ @ CallNode (location: (1,0)-(1,1))
+ │ ├── flags: variable_call
│ ├── receiver: ∅
│ ├── call_operator_loc: ∅
│ ├── name: :a
@@ -13,18 +15,16 @@
│ ├── opening_loc: ∅
│ ├── arguments: ∅
│ ├── closing_loc: ∅
- │ ├── block: ∅
- │ └── flags: variable_call
+ │ └── block: ∅
├── call_operator_loc: (1,1)-(1,2) = "."
├── name: :!=
├── message_loc: (1,2)-(1,4) = "!="
├── opening_loc: (1,4)-(1,5) = "("
├── arguments:
│ @ ArgumentsNode (location: (1,5)-(1,15))
- │ ├── arguments: (length: 2)
- │ │ ├── @ TrueNode (location: (1,5)-(1,9))
- │ │ └── @ TrueNode (location: (1,11)-(1,15))
- │ └── flags: ∅
+ │ ├── flags: ∅
+ │ └── arguments: (length: 2)
+ │ ├── @ TrueNode (location: (1,5)-(1,9))
+ │ └── @ TrueNode (location: (1,11)-(1,15))
├── closing_loc: (1,15)-(1,16) = ")"
- ├── block: ∅
- └── flags: ∅
+ └── block: ∅
diff --git a/test/prism/snapshots/seattlerb/mlhs_mid_anonsplat.txt b/test/prism/snapshots/seattlerb/mlhs_mid_anonsplat.txt
index f0fc933ff5..a2aad9a335 100644
--- a/test/prism/snapshots/seattlerb/mlhs_mid_anonsplat.txt
+++ b/test/prism/snapshots/seattlerb/mlhs_mid_anonsplat.txt
@@ -33,6 +33,7 @@
├── operator_loc: (1,20)-(1,21) = "="
└── value:
@ CallNode (location: (1,22)-(1,23))
+ ├── flags: variable_call
├── receiver: ∅
├── call_operator_loc: ∅
├── name: :f
@@ -40,5 +41,4 @@
├── opening_loc: ∅
├── arguments: ∅
├── closing_loc: ∅
- ├── block: ∅
- └── flags: variable_call
+ └── block: ∅
diff --git a/test/prism/snapshots/seattlerb/mlhs_mid_splat.txt b/test/prism/snapshots/seattlerb/mlhs_mid_splat.txt
index f0d2126ad7..10a0a23917 100644
--- a/test/prism/snapshots/seattlerb/mlhs_mid_splat.txt
+++ b/test/prism/snapshots/seattlerb/mlhs_mid_splat.txt
@@ -36,6 +36,7 @@
├── operator_loc: (1,21)-(1,22) = "="
└── value:
@ CallNode (location: (1,23)-(1,24))
+ ├── flags: variable_call
├── receiver: ∅
├── call_operator_loc: ∅
├── name: :f
@@ -43,5 +44,4 @@
├── opening_loc: ∅
├── arguments: ∅
├── closing_loc: ∅
- ├── block: ∅
- └── flags: variable_call
+ └── block: ∅
diff --git a/test/prism/snapshots/seattlerb/mlhs_rescue.txt b/test/prism/snapshots/seattlerb/mlhs_rescue.txt
index f438bf6041..9885ab4c78 100644
--- a/test/prism/snapshots/seattlerb/mlhs_rescue.txt
+++ b/test/prism/snapshots/seattlerb/mlhs_rescue.txt
@@ -20,6 +20,7 @@
@ RescueModifierNode (location: (1,7)-(1,18))
├── expression:
│ @ CallNode (location: (1,7)-(1,8))
+ │ ├── flags: variable_call
│ ├── receiver: ∅
│ ├── call_operator_loc: ∅
│ ├── name: :f
@@ -27,8 +28,7 @@
│ ├── opening_loc: ∅
│ ├── arguments: ∅
│ ├── closing_loc: ∅
- │ ├── block: ∅
- │ └── flags: variable_call
+ │ └── block: ∅
├── keyword_loc: (1,9)-(1,15) = "rescue"
└── rescue_expression:
@ IntegerNode (location: (1,16)-(1,18))
diff --git a/test/prism/snapshots/seattlerb/multiline_hash_declaration.txt b/test/prism/snapshots/seattlerb/multiline_hash_declaration.txt
index b2041a0a3e..208ecdcbc5 100644
--- a/test/prism/snapshots/seattlerb/multiline_hash_declaration.txt
+++ b/test/prism/snapshots/seattlerb/multiline_hash_declaration.txt
@@ -4,6 +4,7 @@
@ StatementsNode (location: (1,0)-(8,12))
└── body: (length: 3)
├── @ CallNode (location: (1,0)-(3,2))
+ │ ├── flags: ∅
│ ├── receiver: ∅
│ ├── call_operator_loc: ∅
│ ├── name: :f
@@ -11,27 +12,27 @@
│ ├── opening_loc: (1,1)-(1,2) = "("
│ ├── arguments:
│ │ @ ArgumentsNode (location: (1,2)-(3,1))
- │ │ ├── arguments: (length: 1)
- │ │ │ └── @ KeywordHashNode (location: (1,2)-(3,1))
- │ │ │ └── elements: (length: 1)
- │ │ │ └── @ AssocNode (location: (1,2)-(3,1))
- │ │ │ ├── key:
- │ │ │ │ @ SymbolNode (location: (1,2)-(1,8))
- │ │ │ │ ├── opening_loc: ∅
- │ │ │ │ ├── value_loc: (1,2)-(1,7) = "state"
- │ │ │ │ ├── closing_loc: (1,7)-(1,8) = ":"
- │ │ │ │ └── unescaped: "state"
- │ │ │ ├── value:
- │ │ │ │ @ HashNode (location: (2,1)-(3,1))
- │ │ │ │ ├── opening_loc: (2,1)-(2,2) = "{"
- │ │ │ │ ├── elements: (length: 0)
- │ │ │ │ └── closing_loc: (3,0)-(3,1) = "}"
- │ │ │ └── operator_loc: ∅
- │ │ └── flags: ∅
+ │ │ ├── flags: ∅
+ │ │ └── arguments: (length: 1)
+ │ │ └── @ KeywordHashNode (location: (1,2)-(3,1))
+ │ │ └── elements: (length: 1)
+ │ │ └── @ AssocNode (location: (1,2)-(3,1))
+ │ │ ├── key:
+ │ │ │ @ SymbolNode (location: (1,2)-(1,8))
+ │ │ │ ├── opening_loc: ∅
+ │ │ │ ├── value_loc: (1,2)-(1,7) = "state"
+ │ │ │ ├── closing_loc: (1,7)-(1,8) = ":"
+ │ │ │ └── unescaped: "state"
+ │ │ ├── value:
+ │ │ │ @ HashNode (location: (2,1)-(3,1))
+ │ │ │ ├── opening_loc: (2,1)-(2,2) = "{"
+ │ │ │ ├── elements: (length: 0)
+ │ │ │ └── closing_loc: (3,0)-(3,1) = "}"
+ │ │ └── operator_loc: ∅
│ ├── closing_loc: (3,1)-(3,2) = ")"
- │ ├── block: ∅
- │ └── flags: ∅
+ │ └── block: ∅
├── @ CallNode (location: (5,0)-(6,2))
+ │ ├── flags: ∅
│ ├── receiver: ∅
│ ├── call_operator_loc: ∅
│ ├── name: :f
@@ -39,27 +40,27 @@
│ ├── opening_loc: (5,1)-(5,2) = "("
│ ├── arguments:
│ │ @ ArgumentsNode (location: (5,2)-(6,1))
- │ │ ├── arguments: (length: 1)
- │ │ │ └── @ KeywordHashNode (location: (5,2)-(6,1))
- │ │ │ └── elements: (length: 1)
- │ │ │ └── @ AssocNode (location: (5,2)-(6,1))
- │ │ │ ├── key:
- │ │ │ │ @ SymbolNode (location: (5,2)-(5,8))
- │ │ │ │ ├── opening_loc: ∅
- │ │ │ │ ├── value_loc: (5,2)-(5,7) = "state"
- │ │ │ │ ├── closing_loc: (5,7)-(5,8) = ":"
- │ │ │ │ └── unescaped: "state"
- │ │ │ ├── value:
- │ │ │ │ @ HashNode (location: (5,9)-(6,1))
- │ │ │ │ ├── opening_loc: (5,9)-(5,10) = "{"
- │ │ │ │ ├── elements: (length: 0)
- │ │ │ │ └── closing_loc: (6,0)-(6,1) = "}"
- │ │ │ └── operator_loc: ∅
- │ │ └── flags: ∅
+ │ │ ├── flags: ∅
+ │ │ └── arguments: (length: 1)
+ │ │ └── @ KeywordHashNode (location: (5,2)-(6,1))
+ │ │ └── elements: (length: 1)
+ │ │ └── @ AssocNode (location: (5,2)-(6,1))
+ │ │ ├── key:
+ │ │ │ @ SymbolNode (location: (5,2)-(5,8))
+ │ │ │ ├── opening_loc: ∅
+ │ │ │ ├── value_loc: (5,2)-(5,7) = "state"
+ │ │ │ ├── closing_loc: (5,7)-(5,8) = ":"
+ │ │ │ └── unescaped: "state"
+ │ │ ├── value:
+ │ │ │ @ HashNode (location: (5,9)-(6,1))
+ │ │ │ ├── opening_loc: (5,9)-(5,10) = "{"
+ │ │ │ ├── elements: (length: 0)
+ │ │ │ └── closing_loc: (6,0)-(6,1) = "}"
+ │ │ └── operator_loc: ∅
│ ├── closing_loc: (6,1)-(6,2) = ")"
- │ ├── block: ∅
- │ └── flags: ∅
+ │ └── block: ∅
└── @ CallNode (location: (8,0)-(8,12))
+ ├── flags: ∅
├── receiver: ∅
├── call_operator_loc: ∅
├── name: :f
@@ -67,23 +68,22 @@
├── opening_loc: (8,1)-(8,2) = "("
├── arguments:
│ @ ArgumentsNode (location: (8,2)-(8,11))
- │ ├── arguments: (length: 1)
- │ │ └── @ KeywordHashNode (location: (8,2)-(8,11))
- │ │ └── elements: (length: 1)
- │ │ └── @ AssocNode (location: (8,2)-(8,11))
- │ │ ├── key:
- │ │ │ @ SymbolNode (location: (8,2)-(8,8))
- │ │ │ ├── opening_loc: ∅
- │ │ │ ├── value_loc: (8,2)-(8,7) = "state"
- │ │ │ ├── closing_loc: (8,7)-(8,8) = ":"
- │ │ │ └── unescaped: "state"
- │ │ ├── value:
- │ │ │ @ HashNode (location: (8,9)-(8,11))
- │ │ │ ├── opening_loc: (8,9)-(8,10) = "{"
- │ │ │ ├── elements: (length: 0)
- │ │ │ └── closing_loc: (8,10)-(8,11) = "}"
- │ │ └── operator_loc: ∅
- │ └── flags: ∅
+ │ ├── flags: ∅
+ │ └── arguments: (length: 1)
+ │ └── @ KeywordHashNode (location: (8,2)-(8,11))
+ │ └── elements: (length: 1)
+ │ └── @ AssocNode (location: (8,2)-(8,11))
+ │ ├── key:
+ │ │ @ SymbolNode (location: (8,2)-(8,8))
+ │ │ ├── opening_loc: ∅
+ │ │ ├── value_loc: (8,2)-(8,7) = "state"
+ │ │ ├── closing_loc: (8,7)-(8,8) = ":"
+ │ │ └── unescaped: "state"
+ │ ├── value:
+ │ │ @ HashNode (location: (8,9)-(8,11))
+ │ │ ├── opening_loc: (8,9)-(8,10) = "{"
+ │ │ ├── elements: (length: 0)
+ │ │ └── closing_loc: (8,10)-(8,11) = "}"
+ │ └── operator_loc: ∅
├── closing_loc: (8,11)-(8,12) = ")"
- ├── block: ∅
- └── flags: ∅
+ └── block: ∅
diff --git a/test/prism/snapshots/seattlerb/non_interpolated_symbol_array_line_breaks.txt b/test/prism/snapshots/seattlerb/non_interpolated_symbol_array_line_breaks.txt
index 34ea8f2480..4bea3d1a26 100644
--- a/test/prism/snapshots/seattlerb/non_interpolated_symbol_array_line_breaks.txt
+++ b/test/prism/snapshots/seattlerb/non_interpolated_symbol_array_line_breaks.txt
@@ -4,6 +4,7 @@
@ StatementsNode (location: (1,0)-(5,1))
└── body: (length: 2)
├── @ ArrayNode (location: (1,0)-(4,1))
+ │ ├── flags: ∅
│ ├── elements: (length: 2)
│ │ ├── @ SymbolNode (location: (2,0)-(2,1))
│ │ │ ├── opening_loc: ∅
@@ -16,7 +17,6 @@
│ │ ├── closing_loc: ∅
│ │ └── unescaped: "b"
│ ├── opening_loc: (1,0)-(1,3) = "%i("
- │ ├── closing_loc: (4,0)-(4,1) = ")"
- │ └── flags: ∅
+ │ └── closing_loc: (4,0)-(4,1) = ")"
└── @ IntegerNode (location: (5,0)-(5,1))
└── flags: decimal
diff --git a/test/prism/snapshots/seattlerb/non_interpolated_word_array_line_breaks.txt b/test/prism/snapshots/seattlerb/non_interpolated_word_array_line_breaks.txt
index 821f18995b..705ab476d6 100644
--- a/test/prism/snapshots/seattlerb/non_interpolated_word_array_line_breaks.txt
+++ b/test/prism/snapshots/seattlerb/non_interpolated_word_array_line_breaks.txt
@@ -4,6 +4,7 @@
@ StatementsNode (location: (1,0)-(5,1))
└── body: (length: 2)
├── @ ArrayNode (location: (1,0)-(4,1))
+ │ ├── flags: ∅
│ ├── elements: (length: 2)
│ │ ├── @ StringNode (location: (2,0)-(2,1))
│ │ │ ├── flags: ∅
@@ -18,7 +19,6 @@
│ │ ├── closing_loc: ∅
│ │ └── unescaped: "b"
│ ├── opening_loc: (1,0)-(1,3) = "%w("
- │ ├── closing_loc: (4,0)-(4,1) = ")"
- │ └── flags: ∅
+ │ └── closing_loc: (4,0)-(4,1) = ")"
└── @ IntegerNode (location: (5,0)-(5,1))
└── flags: decimal
diff --git a/test/prism/snapshots/seattlerb/op_asgn_command_call.txt b/test/prism/snapshots/seattlerb/op_asgn_command_call.txt
index 22251546e9..ae82ec31cd 100644
--- a/test/prism/snapshots/seattlerb/op_asgn_command_call.txt
+++ b/test/prism/snapshots/seattlerb/op_asgn_command_call.txt
@@ -8,8 +8,10 @@
├── operator_loc: (1,2)-(1,5) = "||="
├── value:
│ @ CallNode (location: (1,6)-(1,11))
+ │ ├── flags: ∅
│ ├── receiver:
│ │ @ CallNode (location: (1,6)-(1,7))
+ │ │ ├── flags: variable_call
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
│ │ ├── name: :b
@@ -17,20 +19,18 @@
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
- │ │ ├── block: ∅
- │ │ └── flags: variable_call
+ │ │ └── block: ∅
│ ├── call_operator_loc: (1,7)-(1,8) = "."
│ ├── name: :c
│ ├── message_loc: (1,8)-(1,9) = "c"
│ ├── opening_loc: ∅
│ ├── arguments:
│ │ @ ArgumentsNode (location: (1,10)-(1,11))
- │ │ ├── arguments: (length: 1)
- │ │ │ └── @ IntegerNode (location: (1,10)-(1,11))
- │ │ │ └── flags: decimal
- │ │ └── flags: ∅
+ │ │ ├── flags: ∅
+ │ │ └── arguments: (length: 1)
+ │ │ └── @ IntegerNode (location: (1,10)-(1,11))
+ │ │ └── flags: decimal
│ ├── closing_loc: ∅
- │ ├── block: ∅
- │ └── flags: ∅
+ │ └── block: ∅
├── name: :a
└── depth: 0
diff --git a/test/prism/snapshots/seattlerb/op_asgn_dot_ident_command_call.txt b/test/prism/snapshots/seattlerb/op_asgn_dot_ident_command_call.txt
index 6da5424b8e..f25e6328be 100644
--- a/test/prism/snapshots/seattlerb/op_asgn_dot_ident_command_call.txt
+++ b/test/prism/snapshots/seattlerb/op_asgn_dot_ident_command_call.txt
@@ -4,17 +4,18 @@
@ StatementsNode (location: (1,0)-(1,11))
└── body: (length: 1)
└── @ CallOrWriteNode (location: (1,0)-(1,11))
+ ├── flags: ∅
├── receiver:
│ @ ConstantReadNode (location: (1,0)-(1,1))
│ └── name: :A
├── call_operator_loc: (1,1)-(1,2) = "."
├── message_loc: (1,2)-(1,3) = "B"
- ├── flags: ∅
├── read_name: :B
├── write_name: :B=
├── operator_loc: (1,4)-(1,7) = "||="
└── value:
@ CallNode (location: (1,8)-(1,11))
+ ├── flags: ∅
├── receiver: ∅
├── call_operator_loc: ∅
├── name: :c
@@ -22,10 +23,9 @@
├── opening_loc: ∅
├── arguments:
│ @ ArgumentsNode (location: (1,10)-(1,11))
- │ ├── arguments: (length: 1)
- │ │ └── @ IntegerNode (location: (1,10)-(1,11))
- │ │ └── flags: decimal
- │ └── flags: ∅
+ │ ├── flags: ∅
+ │ └── arguments: (length: 1)
+ │ └── @ IntegerNode (location: (1,10)-(1,11))
+ │ └── flags: decimal
├── closing_loc: ∅
- ├── block: ∅
- └── flags: ∅
+ └── block: ∅
diff --git a/test/prism/snapshots/seattlerb/op_asgn_index_command_call.txt b/test/prism/snapshots/seattlerb/op_asgn_index_command_call.txt
index b3f1e1fc35..8737263e2b 100644
--- a/test/prism/snapshots/seattlerb/op_asgn_index_command_call.txt
+++ b/test/prism/snapshots/seattlerb/op_asgn_index_command_call.txt
@@ -4,8 +4,10 @@
@ StatementsNode (location: (1,0)-(1,16))
└── body: (length: 1)
└── @ IndexOrWriteNode (location: (1,0)-(1,16))
+ ├── flags: ∅
├── receiver:
│ @ CallNode (location: (1,0)-(1,1))
+ │ ├── flags: variable_call
│ ├── receiver: ∅
│ ├── call_operator_loc: ∅
│ ├── name: :a
@@ -13,25 +15,24 @@
│ ├── opening_loc: ∅
│ ├── arguments: ∅
│ ├── closing_loc: ∅
- │ ├── block: ∅
- │ └── flags: variable_call
+ │ └── block: ∅
├── call_operator_loc: ∅
├── opening_loc: (1,1)-(1,2) = "["
├── arguments:
│ @ ArgumentsNode (location: (1,2)-(1,4))
- │ ├── arguments: (length: 1)
- │ │ └── @ SymbolNode (location: (1,2)-(1,4))
- │ │ ├── opening_loc: (1,2)-(1,3) = ":"
- │ │ ├── value_loc: (1,3)-(1,4) = "b"
- │ │ ├── closing_loc: ∅
- │ │ └── unescaped: "b"
- │ └── flags: ∅
+ │ ├── flags: ∅
+ │ └── arguments: (length: 1)
+ │ └── @ SymbolNode (location: (1,2)-(1,4))
+ │ ├── opening_loc: (1,2)-(1,3) = ":"
+ │ ├── value_loc: (1,3)-(1,4) = "b"
+ │ ├── closing_loc: ∅
+ │ └── unescaped: "b"
├── closing_loc: (1,4)-(1,5) = "]"
├── block: ∅
- ├── flags: ∅
├── operator_loc: (1,6)-(1,9) = "||="
└── value:
@ CallNode (location: (1,10)-(1,16))
+ ├── flags: ∅
├── receiver: ∅
├── call_operator_loc: ∅
├── name: :c
@@ -39,12 +40,11 @@
├── opening_loc: ∅
├── arguments:
│ @ ArgumentsNode (location: (1,12)-(1,16))
- │ ├── arguments: (length: 2)
- │ │ ├── @ IntegerNode (location: (1,12)-(1,13))
- │ │ │ └── flags: decimal
- │ │ └── @ IntegerNode (location: (1,15)-(1,16))
- │ │ └── flags: decimal
- │ └── flags: ∅
+ │ ├── flags: ∅
+ │ └── arguments: (length: 2)
+ │ ├── @ IntegerNode (location: (1,12)-(1,13))
+ │ │ └── flags: decimal
+ │ └── @ IntegerNode (location: (1,15)-(1,16))
+ │ └── flags: decimal
├── closing_loc: ∅
- ├── block: ∅
- └── flags: ∅
+ └── block: ∅
diff --git a/test/prism/snapshots/seattlerb/op_asgn_primary_colon_const_command_call.txt b/test/prism/snapshots/seattlerb/op_asgn_primary_colon_const_command_call.txt
index ff10caee56..f17ca505da 100644
--- a/test/prism/snapshots/seattlerb/op_asgn_primary_colon_const_command_call.txt
+++ b/test/prism/snapshots/seattlerb/op_asgn_primary_colon_const_command_call.txt
@@ -16,6 +16,7 @@
├── operator_loc: (1,5)-(1,7) = "*="
├── value:
│ @ CallNode (location: (1,8)-(1,11))
+ │ ├── flags: ∅
│ ├── receiver: ∅
│ ├── call_operator_loc: ∅
│ ├── name: :c
@@ -23,19 +24,18 @@
│ ├── opening_loc: ∅
│ ├── arguments:
│ │ @ ArgumentsNode (location: (1,10)-(1,11))
- │ │ ├── arguments: (length: 1)
- │ │ │ └── @ CallNode (location: (1,10)-(1,11))
- │ │ │ ├── receiver: ∅
- │ │ │ ├── call_operator_loc: ∅
- │ │ │ ├── name: :d
- │ │ │ ├── message_loc: (1,10)-(1,11) = "d"
- │ │ │ ├── opening_loc: ∅
- │ │ │ ├── arguments: ∅
- │ │ │ ├── closing_loc: ∅
- │ │ │ ├── block: ∅
- │ │ │ └── flags: variable_call
- │ │ └── flags: ∅
+ │ │ ├── flags: ∅
+ │ │ └── arguments: (length: 1)
+ │ │ └── @ CallNode (location: (1,10)-(1,11))
+ │ │ ├── flags: variable_call
+ │ │ ├── receiver: ∅
+ │ │ ├── call_operator_loc: ∅
+ │ │ ├── name: :d
+ │ │ ├── message_loc: (1,10)-(1,11) = "d"
+ │ │ ├── opening_loc: ∅
+ │ │ ├── arguments: ∅
+ │ │ ├── closing_loc: ∅
+ │ │ └── block: ∅
│ ├── closing_loc: ∅
- │ ├── block: ∅
- │ └── flags: ∅
+ │ └── block: ∅
└── operator: :*
diff --git a/test/prism/snapshots/seattlerb/op_asgn_primary_colon_identifier1.txt b/test/prism/snapshots/seattlerb/op_asgn_primary_colon_identifier1.txt
index 2320e2be0f..0416e0fa71 100644
--- a/test/prism/snapshots/seattlerb/op_asgn_primary_colon_identifier1.txt
+++ b/test/prism/snapshots/seattlerb/op_asgn_primary_colon_identifier1.txt
@@ -4,12 +4,12 @@
@ StatementsNode (location: (1,0)-(1,9))
└── body: (length: 1)
└── @ CallOperatorWriteNode (location: (1,0)-(1,9))
+ ├── flags: ∅
├── receiver:
│ @ ConstantReadNode (location: (1,0)-(1,1))
│ └── name: :A
├── call_operator_loc: (1,1)-(1,3) = "::"
├── message_loc: (1,3)-(1,4) = "b"
- ├── flags: ∅
├── read_name: :b
├── write_name: :b=
├── operator: :+
diff --git a/test/prism/snapshots/seattlerb/op_asgn_primary_colon_identifier_command_call.txt b/test/prism/snapshots/seattlerb/op_asgn_primary_colon_identifier_command_call.txt
index 3b9bee333f..0fbbe197c7 100644
--- a/test/prism/snapshots/seattlerb/op_asgn_primary_colon_identifier_command_call.txt
+++ b/test/prism/snapshots/seattlerb/op_asgn_primary_colon_identifier_command_call.txt
@@ -4,18 +4,19 @@
@ StatementsNode (location: (1,0)-(1,11))
└── body: (length: 1)
└── @ CallOperatorWriteNode (location: (1,0)-(1,11))
+ ├── flags: ∅
├── receiver:
│ @ ConstantReadNode (location: (1,0)-(1,1))
│ └── name: :A
├── call_operator_loc: (1,1)-(1,3) = "::"
├── message_loc: (1,3)-(1,4) = "b"
- ├── flags: ∅
├── read_name: :b
├── write_name: :b=
├── operator: :*
├── operator_loc: (1,5)-(1,7) = "*="
└── value:
@ CallNode (location: (1,8)-(1,11))
+ ├── flags: ∅
├── receiver: ∅
├── call_operator_loc: ∅
├── name: :c
@@ -23,18 +24,17 @@
├── opening_loc: ∅
├── arguments:
│ @ ArgumentsNode (location: (1,10)-(1,11))
- │ ├── arguments: (length: 1)
- │ │ └── @ CallNode (location: (1,10)-(1,11))
- │ │ ├── receiver: ∅
- │ │ ├── call_operator_loc: ∅
- │ │ ├── name: :d
- │ │ ├── message_loc: (1,10)-(1,11) = "d"
- │ │ ├── opening_loc: ∅
- │ │ ├── arguments: ∅
- │ │ ├── closing_loc: ∅
- │ │ ├── block: ∅
- │ │ └── flags: variable_call
- │ └── flags: ∅
+ │ ├── flags: ∅
+ │ └── arguments: (length: 1)
+ │ └── @ CallNode (location: (1,10)-(1,11))
+ │ ├── flags: variable_call
+ │ ├── receiver: ∅
+ │ ├── call_operator_loc: ∅
+ │ ├── name: :d
+ │ ├── message_loc: (1,10)-(1,11) = "d"
+ │ ├── opening_loc: ∅
+ │ ├── arguments: ∅
+ │ ├── closing_loc: ∅
+ │ └── block: ∅
├── closing_loc: ∅
- ├── block: ∅
- └── flags: ∅
+ └── block: ∅
diff --git a/test/prism/snapshots/seattlerb/op_asgn_val_dot_ident_command_call.txt b/test/prism/snapshots/seattlerb/op_asgn_val_dot_ident_command_call.txt
index 4e35a7d827..afd48a88f8 100644
--- a/test/prism/snapshots/seattlerb/op_asgn_val_dot_ident_command_call.txt
+++ b/test/prism/snapshots/seattlerb/op_asgn_val_dot_ident_command_call.txt
@@ -4,8 +4,10 @@
@ StatementsNode (location: (1,0)-(1,11))
└── body: (length: 1)
└── @ CallOrWriteNode (location: (1,0)-(1,11))
+ ├── flags: ∅
├── receiver:
│ @ CallNode (location: (1,0)-(1,1))
+ │ ├── flags: variable_call
│ ├── receiver: ∅
│ ├── call_operator_loc: ∅
│ ├── name: :a
@@ -13,16 +15,15 @@
│ ├── opening_loc: ∅
│ ├── arguments: ∅
│ ├── closing_loc: ∅
- │ ├── block: ∅
- │ └── flags: variable_call
+ │ └── block: ∅
├── call_operator_loc: (1,1)-(1,2) = "."
├── message_loc: (1,2)-(1,3) = "b"
- ├── flags: ∅
├── read_name: :b
├── write_name: :b=
├── operator_loc: (1,4)-(1,7) = "||="
└── value:
@ CallNode (location: (1,8)-(1,11))
+ ├── flags: ∅
├── receiver: ∅
├── call_operator_loc: ∅
├── name: :c
@@ -30,10 +31,9 @@
├── opening_loc: ∅
├── arguments:
│ @ ArgumentsNode (location: (1,10)-(1,11))
- │ ├── arguments: (length: 1)
- │ │ └── @ IntegerNode (location: (1,10)-(1,11))
- │ │ └── flags: decimal
- │ └── flags: ∅
+ │ ├── flags: ∅
+ │ └── arguments: (length: 1)
+ │ └── @ IntegerNode (location: (1,10)-(1,11))
+ │ └── flags: decimal
├── closing_loc: ∅
- ├── block: ∅
- └── flags: ∅
+ └── block: ∅
diff --git a/test/prism/snapshots/seattlerb/parse_if_not_canonical.txt b/test/prism/snapshots/seattlerb/parse_if_not_canonical.txt
index 3342f56ff9..10f788a271 100644
--- a/test/prism/snapshots/seattlerb/parse_if_not_canonical.txt
+++ b/test/prism/snapshots/seattlerb/parse_if_not_canonical.txt
@@ -7,10 +7,13 @@
├── if_keyword_loc: (1,0)-(1,2) = "if"
├── predicate:
│ @ CallNode (location: (1,3)-(1,15))
+ │ ├── flags: ∅
│ ├── receiver:
│ │ @ CallNode (location: (1,7)-(1,15))
+ │ │ ├── flags: ∅
│ │ ├── receiver:
│ │ │ @ CallNode (location: (1,7)-(1,10))
+ │ │ │ ├── flags: variable_call
│ │ │ ├── receiver: ∅
│ │ │ ├── call_operator_loc: ∅
│ │ │ ├── name: :var
@@ -18,24 +21,21 @@
│ │ │ ├── opening_loc: ∅
│ │ │ ├── arguments: ∅
│ │ │ ├── closing_loc: ∅
- │ │ │ ├── block: ∅
- │ │ │ └── flags: variable_call
+ │ │ │ └── block: ∅
│ │ ├── call_operator_loc: (1,10)-(1,11) = "."
│ │ ├── name: :nil?
│ │ ├── message_loc: (1,11)-(1,15) = "nil?"
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
- │ │ ├── block: ∅
- │ │ └── flags: ∅
+ │ │ └── block: ∅
│ ├── call_operator_loc: ∅
│ ├── name: :!
│ ├── message_loc: (1,3)-(1,6) = "not"
│ ├── opening_loc: ∅
│ ├── arguments: ∅
│ ├── closing_loc: ∅
- │ ├── block: ∅
- │ └── flags: ∅
+ │ └── block: ∅
├── then_keyword_loc: (1,16)-(1,20) = "then"
├── statements:
│ @ StatementsNode (location: (1,21)-(1,26))
diff --git a/test/prism/snapshots/seattlerb/parse_if_not_noncanonical.txt b/test/prism/snapshots/seattlerb/parse_if_not_noncanonical.txt
index 3342f56ff9..10f788a271 100644
--- a/test/prism/snapshots/seattlerb/parse_if_not_noncanonical.txt
+++ b/test/prism/snapshots/seattlerb/parse_if_not_noncanonical.txt
@@ -7,10 +7,13 @@
├── if_keyword_loc: (1,0)-(1,2) = "if"
├── predicate:
│ @ CallNode (location: (1,3)-(1,15))
+ │ ├── flags: ∅
│ ├── receiver:
│ │ @ CallNode (location: (1,7)-(1,15))
+ │ │ ├── flags: ∅
│ │ ├── receiver:
│ │ │ @ CallNode (location: (1,7)-(1,10))
+ │ │ │ ├── flags: variable_call
│ │ │ ├── receiver: ∅
│ │ │ ├── call_operator_loc: ∅
│ │ │ ├── name: :var
@@ -18,24 +21,21 @@
│ │ │ ├── opening_loc: ∅
│ │ │ ├── arguments: ∅
│ │ │ ├── closing_loc: ∅
- │ │ │ ├── block: ∅
- │ │ │ └── flags: variable_call
+ │ │ │ └── block: ∅
│ │ ├── call_operator_loc: (1,10)-(1,11) = "."
│ │ ├── name: :nil?
│ │ ├── message_loc: (1,11)-(1,15) = "nil?"
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
- │ │ ├── block: ∅
- │ │ └── flags: ∅
+ │ │ └── block: ∅
│ ├── call_operator_loc: ∅
│ ├── name: :!
│ ├── message_loc: (1,3)-(1,6) = "not"
│ ├── opening_loc: ∅
│ ├── arguments: ∅
│ ├── closing_loc: ∅
- │ ├── block: ∅
- │ └── flags: ∅
+ │ └── block: ∅
├── then_keyword_loc: (1,16)-(1,20) = "then"
├── statements:
│ @ StatementsNode (location: (1,21)-(1,26))
diff --git a/test/prism/snapshots/seattlerb/parse_line_block.txt b/test/prism/snapshots/seattlerb/parse_line_block.txt
index e0d46ffeb3..ba579a280a 100644
--- a/test/prism/snapshots/seattlerb/parse_line_block.txt
+++ b/test/prism/snapshots/seattlerb/parse_line_block.txt
@@ -12,6 +12,7 @@
│ │ └── flags: decimal
│ └── operator_loc: (1,2)-(1,3) = "="
└── @ CallNode (location: (2,0)-(2,3))
+ ├── flags: ∅
├── receiver: ∅
├── call_operator_loc: ∅
├── name: :p
@@ -19,11 +20,10 @@
├── opening_loc: ∅
├── arguments:
│ @ ArgumentsNode (location: (2,2)-(2,3))
- │ ├── arguments: (length: 1)
- │ │ └── @ LocalVariableReadNode (location: (2,2)-(2,3))
- │ │ ├── name: :a
- │ │ └── depth: 0
- │ └── flags: ∅
+ │ ├── flags: ∅
+ │ └── arguments: (length: 1)
+ │ └── @ LocalVariableReadNode (location: (2,2)-(2,3))
+ │ ├── name: :a
+ │ └── depth: 0
├── closing_loc: ∅
- ├── block: ∅
- └── flags: ∅
+ └── block: ∅
diff --git a/test/prism/snapshots/seattlerb/parse_line_block_inline_comment.txt b/test/prism/snapshots/seattlerb/parse_line_block_inline_comment.txt
index f8fc06ed97..5b4c006eff 100644
--- a/test/prism/snapshots/seattlerb/parse_line_block_inline_comment.txt
+++ b/test/prism/snapshots/seattlerb/parse_line_block_inline_comment.txt
@@ -4,6 +4,7 @@
@ StatementsNode (location: (1,0)-(3,1))
└── body: (length: 3)
├── @ CallNode (location: (1,0)-(1,1))
+ │ ├── flags: variable_call
│ ├── receiver: ∅
│ ├── call_operator_loc: ∅
│ ├── name: :a
@@ -11,9 +12,9 @@
│ ├── opening_loc: ∅
│ ├── arguments: ∅
│ ├── closing_loc: ∅
- │ ├── block: ∅
- │ └── flags: variable_call
+ │ └── block: ∅
├── @ CallNode (location: (2,0)-(2,1))
+ │ ├── flags: variable_call
│ ├── receiver: ∅
│ ├── call_operator_loc: ∅
│ ├── name: :b
@@ -21,9 +22,9 @@
│ ├── opening_loc: ∅
│ ├── arguments: ∅
│ ├── closing_loc: ∅
- │ ├── block: ∅
- │ └── flags: variable_call
+ │ └── block: ∅
└── @ CallNode (location: (3,0)-(3,1))
+ ├── flags: variable_call
├── receiver: ∅
├── call_operator_loc: ∅
├── name: :c
@@ -31,5 +32,4 @@
├── opening_loc: ∅
├── arguments: ∅
├── closing_loc: ∅
- ├── block: ∅
- └── flags: variable_call
+ └── block: ∅
diff --git a/test/prism/snapshots/seattlerb/parse_line_block_inline_comment_leading_newlines.txt b/test/prism/snapshots/seattlerb/parse_line_block_inline_comment_leading_newlines.txt
index b51919ae36..ddabbe84e4 100644
--- a/test/prism/snapshots/seattlerb/parse_line_block_inline_comment_leading_newlines.txt
+++ b/test/prism/snapshots/seattlerb/parse_line_block_inline_comment_leading_newlines.txt
@@ -4,6 +4,7 @@
@ StatementsNode (location: (4,0)-(7,1))
└── body: (length: 3)
├── @ CallNode (location: (4,0)-(4,1))
+ │ ├── flags: variable_call
│ ├── receiver: ∅
│ ├── call_operator_loc: ∅
│ ├── name: :a
@@ -11,9 +12,9 @@
│ ├── opening_loc: ∅
│ ├── arguments: ∅
│ ├── closing_loc: ∅
- │ ├── block: ∅
- │ └── flags: variable_call
+ │ └── block: ∅
├── @ CallNode (location: (5,0)-(5,1))
+ │ ├── flags: variable_call
│ ├── receiver: ∅
│ ├── call_operator_loc: ∅
│ ├── name: :b
@@ -21,9 +22,9 @@
│ ├── opening_loc: ∅
│ ├── arguments: ∅
│ ├── closing_loc: ∅
- │ ├── block: ∅
- │ └── flags: variable_call
+ │ └── block: ∅
└── @ CallNode (location: (7,0)-(7,1))
+ ├── flags: variable_call
├── receiver: ∅
├── call_operator_loc: ∅
├── name: :c
@@ -31,5 +32,4 @@
├── opening_loc: ∅
├── arguments: ∅
├── closing_loc: ∅
- ├── block: ∅
- └── flags: variable_call
+ └── block: ∅
diff --git a/test/prism/snapshots/seattlerb/parse_line_block_inline_multiline_comment.txt b/test/prism/snapshots/seattlerb/parse_line_block_inline_multiline_comment.txt
index 97feaf3bf6..7a55397bac 100644
--- a/test/prism/snapshots/seattlerb/parse_line_block_inline_multiline_comment.txt
+++ b/test/prism/snapshots/seattlerb/parse_line_block_inline_multiline_comment.txt
@@ -4,6 +4,7 @@
@ StatementsNode (location: (1,0)-(4,1))
└── body: (length: 3)
├── @ CallNode (location: (1,0)-(1,1))
+ │ ├── flags: variable_call
│ ├── receiver: ∅
│ ├── call_operator_loc: ∅
│ ├── name: :a
@@ -11,9 +12,9 @@
│ ├── opening_loc: ∅
│ ├── arguments: ∅
│ ├── closing_loc: ∅
- │ ├── block: ∅
- │ └── flags: variable_call
+ │ └── block: ∅
├── @ CallNode (location: (2,0)-(2,1))
+ │ ├── flags: variable_call
│ ├── receiver: ∅
│ ├── call_operator_loc: ∅
│ ├── name: :b
@@ -21,9 +22,9 @@
│ ├── opening_loc: ∅
│ ├── arguments: ∅
│ ├── closing_loc: ∅
- │ ├── block: ∅
- │ └── flags: variable_call
+ │ └── block: ∅
└── @ CallNode (location: (4,0)-(4,1))
+ ├── flags: variable_call
├── receiver: ∅
├── call_operator_loc: ∅
├── name: :c
@@ -31,5 +32,4 @@
├── opening_loc: ∅
├── arguments: ∅
├── closing_loc: ∅
- ├── block: ∅
- └── flags: variable_call
+ └── block: ∅
diff --git a/test/prism/snapshots/seattlerb/parse_line_call_ivar_arg_no_parens_line_break.txt b/test/prism/snapshots/seattlerb/parse_line_call_ivar_arg_no_parens_line_break.txt
index 21ea5368db..991e3a1685 100644
--- a/test/prism/snapshots/seattlerb/parse_line_call_ivar_arg_no_parens_line_break.txt
+++ b/test/prism/snapshots/seattlerb/parse_line_call_ivar_arg_no_parens_line_break.txt
@@ -4,6 +4,7 @@
@ StatementsNode (location: (1,0)-(1,4))
└── body: (length: 1)
└── @ CallNode (location: (1,0)-(1,4))
+ ├── flags: ∅
├── receiver: ∅
├── call_operator_loc: ∅
├── name: :a
@@ -11,10 +12,9 @@
├── opening_loc: ∅
├── arguments:
│ @ ArgumentsNode (location: (1,2)-(1,4))
- │ ├── arguments: (length: 1)
- │ │ └── @ InstanceVariableReadNode (location: (1,2)-(1,4))
- │ │ └── name: :@b
- │ └── flags: ∅
+ │ ├── flags: ∅
+ │ └── arguments: (length: 1)
+ │ └── @ InstanceVariableReadNode (location: (1,2)-(1,4))
+ │ └── name: :@b
├── closing_loc: ∅
- ├── block: ∅
- └── flags: ∅
+ └── block: ∅
diff --git a/test/prism/snapshots/seattlerb/parse_line_call_ivar_line_break_paren.txt b/test/prism/snapshots/seattlerb/parse_line_call_ivar_line_break_paren.txt
index 9fc496ef94..15af12fe83 100644
--- a/test/prism/snapshots/seattlerb/parse_line_call_ivar_line_break_paren.txt
+++ b/test/prism/snapshots/seattlerb/parse_line_call_ivar_line_break_paren.txt
@@ -4,6 +4,7 @@
@ StatementsNode (location: (1,0)-(2,1))
└── body: (length: 1)
└── @ CallNode (location: (1,0)-(2,1))
+ ├── flags: ∅
├── receiver: ∅
├── call_operator_loc: ∅
├── name: :a
@@ -11,10 +12,9 @@
├── opening_loc: (1,1)-(1,2) = "("
├── arguments:
│ @ ArgumentsNode (location: (1,2)-(1,4))
- │ ├── arguments: (length: 1)
- │ │ └── @ InstanceVariableReadNode (location: (1,2)-(1,4))
- │ │ └── name: :@b
- │ └── flags: ∅
+ │ ├── flags: ∅
+ │ └── arguments: (length: 1)
+ │ └── @ InstanceVariableReadNode (location: (1,2)-(1,4))
+ │ └── name: :@b
├── closing_loc: (2,0)-(2,1) = ")"
- ├── block: ∅
- └── flags: ∅
+ └── block: ∅
diff --git a/test/prism/snapshots/seattlerb/parse_line_call_no_args.txt b/test/prism/snapshots/seattlerb/parse_line_call_no_args.txt
index 557fcd6546..8a07a8912c 100644
--- a/test/prism/snapshots/seattlerb/parse_line_call_no_args.txt
+++ b/test/prism/snapshots/seattlerb/parse_line_call_no_args.txt
@@ -4,6 +4,7 @@
@ StatementsNode (location: (1,0)-(3,3))
└── body: (length: 1)
└── @ CallNode (location: (1,0)-(3,3))
+ ├── flags: ∅
├── receiver: ∅
├── call_operator_loc: ∅
├── name: :f
@@ -11,50 +12,49 @@
├── opening_loc: ∅
├── arguments: ∅
├── closing_loc: ∅
- ├── block:
- │ @ BlockNode (location: (1,2)-(3,3))
- │ ├── locals: [:x, :y]
- │ ├── locals_body_index: 2
- │ ├── parameters:
- │ │ @ BlockParametersNode (location: (1,5)-(1,11))
- │ │ ├── parameters:
- │ │ │ @ ParametersNode (location: (1,6)-(1,10))
- │ │ │ ├── requireds: (length: 2)
- │ │ │ │ ├── @ RequiredParameterNode (location: (1,6)-(1,7))
- │ │ │ │ │ └── name: :x
- │ │ │ │ └── @ RequiredParameterNode (location: (1,9)-(1,10))
- │ │ │ │ └── name: :y
- │ │ │ ├── optionals: (length: 0)
- │ │ │ ├── rest: ∅
- │ │ │ ├── posts: (length: 0)
- │ │ │ ├── keywords: (length: 0)
- │ │ │ ├── keyword_rest: ∅
- │ │ │ └── block: ∅
- │ │ ├── locals: (length: 0)
- │ │ ├── opening_loc: (1,5)-(1,6) = "|"
- │ │ └── closing_loc: (1,10)-(1,11) = "|"
- │ ├── body:
- │ │ @ StatementsNode (location: (2,2)-(2,7))
- │ │ └── body: (length: 1)
- │ │ └── @ CallNode (location: (2,2)-(2,7))
- │ │ ├── receiver:
- │ │ │ @ LocalVariableReadNode (location: (2,2)-(2,3))
- │ │ │ ├── name: :x
- │ │ │ └── depth: 0
- │ │ ├── call_operator_loc: ∅
- │ │ ├── name: :+
- │ │ ├── message_loc: (2,4)-(2,5) = "+"
- │ │ ├── opening_loc: ∅
- │ │ ├── arguments:
- │ │ │ @ ArgumentsNode (location: (2,6)-(2,7))
- │ │ │ ├── arguments: (length: 1)
- │ │ │ │ └── @ LocalVariableReadNode (location: (2,6)-(2,7))
- │ │ │ │ ├── name: :y
- │ │ │ │ └── depth: 0
- │ │ │ └── flags: ∅
- │ │ ├── closing_loc: ∅
- │ │ ├── block: ∅
- │ │ └── flags: ∅
- │ ├── opening_loc: (1,2)-(1,4) = "do"
- │ └── closing_loc: (3,0)-(3,3) = "end"
- └── flags: ∅
+ └── block:
+ @ BlockNode (location: (1,2)-(3,3))
+ ├── locals: [:x, :y]
+ ├── locals_body_index: 2
+ ├── parameters:
+ │ @ BlockParametersNode (location: (1,5)-(1,11))
+ │ ├── parameters:
+ │ │ @ ParametersNode (location: (1,6)-(1,10))
+ │ │ ├── requireds: (length: 2)
+ │ │ │ ├── @ RequiredParameterNode (location: (1,6)-(1,7))
+ │ │ │ │ └── name: :x
+ │ │ │ └── @ RequiredParameterNode (location: (1,9)-(1,10))
+ │ │ │ └── name: :y
+ │ │ ├── optionals: (length: 0)
+ │ │ ├── rest: ∅
+ │ │ ├── posts: (length: 0)
+ │ │ ├── keywords: (length: 0)
+ │ │ ├── keyword_rest: ∅
+ │ │ └── block: ∅
+ │ ├── locals: (length: 0)
+ │ ├── opening_loc: (1,5)-(1,6) = "|"
+ │ └── closing_loc: (1,10)-(1,11) = "|"
+ ├── body:
+ │ @ StatementsNode (location: (2,2)-(2,7))
+ │ └── body: (length: 1)
+ │ └── @ CallNode (location: (2,2)-(2,7))
+ │ ├── flags: ∅
+ │ ├── receiver:
+ │ │ @ LocalVariableReadNode (location: (2,2)-(2,3))
+ │ │ ├── name: :x
+ │ │ └── depth: 0
+ │ ├── call_operator_loc: ∅
+ │ ├── name: :+
+ │ ├── message_loc: (2,4)-(2,5) = "+"
+ │ ├── opening_loc: ∅
+ │ ├── arguments:
+ │ │ @ ArgumentsNode (location: (2,6)-(2,7))
+ │ │ ├── flags: ∅
+ │ │ └── arguments: (length: 1)
+ │ │ └── @ LocalVariableReadNode (location: (2,6)-(2,7))
+ │ │ ├── name: :y
+ │ │ └── depth: 0
+ │ ├── closing_loc: ∅
+ │ └── block: ∅
+ ├── opening_loc: (1,2)-(1,4) = "do"
+ └── closing_loc: (3,0)-(3,3) = "end"
diff --git a/test/prism/snapshots/seattlerb/parse_line_defn_complex.txt b/test/prism/snapshots/seattlerb/parse_line_defn_complex.txt
index dda6852a0f..0ec63b3123 100644
--- a/test/prism/snapshots/seattlerb/parse_line_defn_complex.txt
+++ b/test/prism/snapshots/seattlerb/parse_line_defn_complex.txt
@@ -22,6 +22,7 @@
│ @ StatementsNode (location: (2,2)-(4,10))
│ └── body: (length: 3)
│ ├── @ CallNode (location: (2,2)-(2,6))
+ │ │ ├── flags: ∅
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
│ │ ├── name: :p
@@ -29,14 +30,13 @@
│ │ ├── opening_loc: (2,3)-(2,4) = "("
│ │ ├── arguments:
│ │ │ @ ArgumentsNode (location: (2,4)-(2,5))
- │ │ │ ├── arguments: (length: 1)
- │ │ │ │ └── @ LocalVariableReadNode (location: (2,4)-(2,5))
- │ │ │ │ ├── name: :y
- │ │ │ │ └── depth: 0
- │ │ │ └── flags: ∅
+ │ │ │ ├── flags: ∅
+ │ │ │ └── arguments: (length: 1)
+ │ │ │ └── @ LocalVariableReadNode (location: (2,4)-(2,5))
+ │ │ │ ├── name: :y
+ │ │ │ └── depth: 0
│ │ ├── closing_loc: (2,5)-(2,6) = ")"
- │ │ ├── block: ∅
- │ │ └── flags: ∅
+ │ │ └── block: ∅
│ ├── @ LocalVariableOperatorWriteNode (location: (3,2)-(3,8))
│ │ ├── name_loc: (3,2)-(3,3) = "y"
│ │ ├── operator_loc: (3,4)-(3,6) = "*="
@@ -50,11 +50,11 @@
│ ├── keyword_loc: (4,2)-(4,8) = "return"
│ └── arguments:
│ @ ArgumentsNode (location: (4,9)-(4,10))
- │ ├── arguments: (length: 1)
- │ │ └── @ LocalVariableReadNode (location: (4,9)-(4,10))
- │ │ ├── name: :y
- │ │ └── depth: 0
- │ └── flags: ∅
+ │ ├── flags: ∅
+ │ └── arguments: (length: 1)
+ │ └── @ LocalVariableReadNode (location: (4,9)-(4,10))
+ │ ├── name: :y
+ │ └── depth: 0
├── locals: [:y]
├── locals_body_index: 1
├── def_keyword_loc: (1,0)-(1,3) = "def"
diff --git a/test/prism/snapshots/seattlerb/parse_line_dot2.txt b/test/prism/snapshots/seattlerb/parse_line_dot2.txt
index 51276d2107..960369cfa5 100644
--- a/test/prism/snapshots/seattlerb/parse_line_dot2.txt
+++ b/test/prism/snapshots/seattlerb/parse_line_dot2.txt
@@ -4,17 +4,19 @@
@ StatementsNode (location: (1,0)-(5,1))
└── body: (length: 3)
├── @ RangeNode (location: (1,0)-(2,1))
+ │ ├── flags: ∅
│ ├── left:
│ │ @ IntegerNode (location: (1,0)-(1,1))
│ │ └── flags: decimal
│ ├── right:
│ │ @ IntegerNode (location: (2,0)-(2,1))
│ │ └── flags: decimal
- │ ├── operator_loc: (1,1)-(1,3) = ".."
- │ └── flags: ∅
+ │ └── operator_loc: (1,1)-(1,3) = ".."
├── @ RangeNode (location: (3,0)-(4,1))
+ │ ├── flags: ∅
│ ├── left:
│ │ @ CallNode (location: (3,0)-(3,1))
+ │ │ ├── flags: variable_call
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
│ │ ├── name: :a
@@ -22,10 +24,10 @@
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
- │ │ ├── block: ∅
- │ │ └── flags: variable_call
+ │ │ └── block: ∅
│ ├── right:
│ │ @ CallNode (location: (4,0)-(4,1))
+ │ │ ├── flags: variable_call
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
│ │ ├── name: :b
@@ -33,11 +35,10 @@
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
- │ │ ├── block: ∅
- │ │ └── flags: variable_call
- │ ├── operator_loc: (3,1)-(3,3) = ".."
- │ └── flags: ∅
+ │ │ └── block: ∅
+ │ └── operator_loc: (3,1)-(3,3) = ".."
└── @ CallNode (location: (5,0)-(5,1))
+ ├── flags: variable_call
├── receiver: ∅
├── call_operator_loc: ∅
├── name: :c
@@ -45,5 +46,4 @@
├── opening_loc: ∅
├── arguments: ∅
├── closing_loc: ∅
- ├── block: ∅
- └── flags: variable_call
+ └── block: ∅
diff --git a/test/prism/snapshots/seattlerb/parse_line_dot2_open.txt b/test/prism/snapshots/seattlerb/parse_line_dot2_open.txt
index 7383c1f88c..986f57136e 100644
--- a/test/prism/snapshots/seattlerb/parse_line_dot2_open.txt
+++ b/test/prism/snapshots/seattlerb/parse_line_dot2_open.txt
@@ -4,15 +4,17 @@
@ StatementsNode (location: (1,0)-(3,3))
└── body: (length: 3)
├── @ RangeNode (location: (1,0)-(1,3))
+ │ ├── flags: ∅
│ ├── left:
│ │ @ IntegerNode (location: (1,0)-(1,1))
│ │ └── flags: decimal
│ ├── right: ∅
- │ ├── operator_loc: (1,1)-(1,3) = ".."
- │ └── flags: ∅
+ │ └── operator_loc: (1,1)-(1,3) = ".."
├── @ RangeNode (location: (2,2)-(2,5))
+ │ ├── flags: ∅
│ ├── left:
│ │ @ CallNode (location: (2,2)-(2,3))
+ │ │ ├── flags: variable_call
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
│ │ ├── name: :a
@@ -20,12 +22,11 @@
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
- │ │ ├── block: ∅
- │ │ └── flags: variable_call
+ │ │ └── block: ∅
│ ├── right: ∅
- │ ├── operator_loc: (2,3)-(2,5) = ".."
- │ └── flags: ∅
+ │ └── operator_loc: (2,3)-(2,5) = ".."
└── @ CallNode (location: (3,2)-(3,3))
+ ├── flags: variable_call
├── receiver: ∅
├── call_operator_loc: ∅
├── name: :c
@@ -33,5 +34,4 @@
├── opening_loc: ∅
├── arguments: ∅
├── closing_loc: ∅
- ├── block: ∅
- └── flags: variable_call
+ └── block: ∅
diff --git a/test/prism/snapshots/seattlerb/parse_line_dot3.txt b/test/prism/snapshots/seattlerb/parse_line_dot3.txt
index 87b6642040..791618812d 100644
--- a/test/prism/snapshots/seattlerb/parse_line_dot3.txt
+++ b/test/prism/snapshots/seattlerb/parse_line_dot3.txt
@@ -4,17 +4,19 @@
@ StatementsNode (location: (1,0)-(5,1))
└── body: (length: 3)
├── @ RangeNode (location: (1,0)-(2,1))
+ │ ├── flags: exclude_end
│ ├── left:
│ │ @ IntegerNode (location: (1,0)-(1,1))
│ │ └── flags: decimal
│ ├── right:
│ │ @ IntegerNode (location: (2,0)-(2,1))
│ │ └── flags: decimal
- │ ├── operator_loc: (1,1)-(1,4) = "..."
- │ └── flags: exclude_end
+ │ └── operator_loc: (1,1)-(1,4) = "..."
├── @ RangeNode (location: (3,0)-(4,1))
+ │ ├── flags: exclude_end
│ ├── left:
│ │ @ CallNode (location: (3,0)-(3,1))
+ │ │ ├── flags: variable_call
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
│ │ ├── name: :a
@@ -22,10 +24,10 @@
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
- │ │ ├── block: ∅
- │ │ └── flags: variable_call
+ │ │ └── block: ∅
│ ├── right:
│ │ @ CallNode (location: (4,0)-(4,1))
+ │ │ ├── flags: variable_call
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
│ │ ├── name: :b
@@ -33,11 +35,10 @@
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
- │ │ ├── block: ∅
- │ │ └── flags: variable_call
- │ ├── operator_loc: (3,1)-(3,4) = "..."
- │ └── flags: exclude_end
+ │ │ └── block: ∅
+ │ └── operator_loc: (3,1)-(3,4) = "..."
└── @ CallNode (location: (5,0)-(5,1))
+ ├── flags: variable_call
├── receiver: ∅
├── call_operator_loc: ∅
├── name: :c
@@ -45,5 +46,4 @@
├── opening_loc: ∅
├── arguments: ∅
├── closing_loc: ∅
- ├── block: ∅
- └── flags: variable_call
+ └── block: ∅
diff --git a/test/prism/snapshots/seattlerb/parse_line_dot3_open.txt b/test/prism/snapshots/seattlerb/parse_line_dot3_open.txt
index 639917b5dc..49ce1b0bae 100644
--- a/test/prism/snapshots/seattlerb/parse_line_dot3_open.txt
+++ b/test/prism/snapshots/seattlerb/parse_line_dot3_open.txt
@@ -4,15 +4,17 @@
@ StatementsNode (location: (1,0)-(3,3))
└── body: (length: 3)
├── @ RangeNode (location: (1,0)-(1,4))
+ │ ├── flags: exclude_end
│ ├── left:
│ │ @ IntegerNode (location: (1,0)-(1,1))
│ │ └── flags: decimal
│ ├── right: ∅
- │ ├── operator_loc: (1,1)-(1,4) = "..."
- │ └── flags: exclude_end
+ │ └── operator_loc: (1,1)-(1,4) = "..."
├── @ RangeNode (location: (2,2)-(2,6))
+ │ ├── flags: exclude_end
│ ├── left:
│ │ @ CallNode (location: (2,2)-(2,3))
+ │ │ ├── flags: variable_call
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
│ │ ├── name: :a
@@ -20,12 +22,11 @@
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
- │ │ ├── block: ∅
- │ │ └── flags: variable_call
+ │ │ └── block: ∅
│ ├── right: ∅
- │ ├── operator_loc: (2,3)-(2,6) = "..."
- │ └── flags: exclude_end
+ │ └── operator_loc: (2,3)-(2,6) = "..."
└── @ CallNode (location: (3,2)-(3,3))
+ ├── flags: variable_call
├── receiver: ∅
├── call_operator_loc: ∅
├── name: :c
@@ -33,5 +34,4 @@
├── opening_loc: ∅
├── arguments: ∅
├── closing_loc: ∅
- ├── block: ∅
- └── flags: variable_call
+ └── block: ∅
diff --git a/test/prism/snapshots/seattlerb/parse_line_evstr_after_break.txt b/test/prism/snapshots/seattlerb/parse_line_evstr_after_break.txt
index 28d126b840..9a6cbfdb65 100644
--- a/test/prism/snapshots/seattlerb/parse_line_evstr_after_break.txt
+++ b/test/prism/snapshots/seattlerb/parse_line_evstr_after_break.txt
@@ -21,6 +21,7 @@
│ │ │ @ StatementsNode (location: (2,3)-(2,4))
│ │ │ └── body: (length: 1)
│ │ │ └── @ CallNode (location: (2,3)-(2,4))
+ │ │ │ ├── flags: variable_call
│ │ │ ├── receiver: ∅
│ │ │ ├── call_operator_loc: ∅
│ │ │ ├── name: :b
@@ -28,8 +29,7 @@
│ │ │ ├── opening_loc: ∅
│ │ │ ├── arguments: ∅
│ │ │ ├── closing_loc: ∅
- │ │ │ ├── block: ∅
- │ │ │ └── flags: variable_call
+ │ │ │ └── block: ∅
│ │ └── closing_loc: (2,4)-(2,5) = "}"
│ └── closing_loc: (2,5)-(2,6) = "\""
└── closing_loc: ∅
diff --git a/test/prism/snapshots/seattlerb/parse_line_heredoc.txt b/test/prism/snapshots/seattlerb/parse_line_heredoc.txt
index 8e5a8598d2..2b52a3b6fb 100644
--- a/test/prism/snapshots/seattlerb/parse_line_heredoc.txt
+++ b/test/prism/snapshots/seattlerb/parse_line_heredoc.txt
@@ -9,6 +9,7 @@
│ ├── name_loc: (1,6)-(1,12) = "string"
│ ├── value:
│ │ @ CallNode (location: (1,15)-(1,31))
+ │ │ ├── flags: ∅
│ │ ├── receiver:
│ │ │ @ StringNode (location: (1,15)-(1,25))
│ │ │ ├── flags: ∅
@@ -22,10 +23,10 @@
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
- │ │ ├── block: ∅
- │ │ └── flags: ∅
+ │ │ └── block: ∅
│ └── operator_loc: (1,13)-(1,14) = "="
└── @ CallNode (location: (4,6)-(4,17))
+ ├── flags: ∅
├── receiver: ∅
├── call_operator_loc: ∅
├── name: :puts
@@ -33,11 +34,10 @@
├── opening_loc: ∅
├── arguments:
│ @ ArgumentsNode (location: (4,11)-(4,17))
- │ ├── arguments: (length: 1)
- │ │ └── @ LocalVariableReadNode (location: (4,11)-(4,17))
- │ │ ├── name: :string
- │ │ └── depth: 0
- │ └── flags: ∅
+ │ ├── flags: ∅
+ │ └── arguments: (length: 1)
+ │ └── @ LocalVariableReadNode (location: (4,11)-(4,17))
+ │ ├── name: :string
+ │ └── depth: 0
├── closing_loc: ∅
- ├── block: ∅
- └── flags: ∅
+ └── block: ∅
diff --git a/test/prism/snapshots/seattlerb/parse_line_heredoc_evstr.txt b/test/prism/snapshots/seattlerb/parse_line_heredoc_evstr.txt
index 120560084a..0a96830a65 100644
--- a/test/prism/snapshots/seattlerb/parse_line_heredoc_evstr.txt
+++ b/test/prism/snapshots/seattlerb/parse_line_heredoc_evstr.txt
@@ -18,6 +18,7 @@
│ │ │ @ StatementsNode (location: (3,2)-(3,3))
│ │ │ └── body: (length: 1)
│ │ │ └── @ CallNode (location: (3,2)-(3,3))
+ │ │ │ ├── flags: variable_call
│ │ │ ├── receiver: ∅
│ │ │ ├── call_operator_loc: ∅
│ │ │ ├── name: :b
@@ -25,8 +26,7 @@
│ │ │ ├── opening_loc: ∅
│ │ │ ├── arguments: ∅
│ │ │ ├── closing_loc: ∅
- │ │ │ ├── block: ∅
- │ │ │ └── flags: variable_call
+ │ │ │ └── block: ∅
│ │ └── closing_loc: (3,3)-(3,4) = "}"
│ └── @ StringNode (location: (3,4)-(4,0))
│ ├── flags: ∅
diff --git a/test/prism/snapshots/seattlerb/parse_line_heredoc_regexp_chars.txt b/test/prism/snapshots/seattlerb/parse_line_heredoc_regexp_chars.txt
index b77d79519b..c762376f14 100644
--- a/test/prism/snapshots/seattlerb/parse_line_heredoc_regexp_chars.txt
+++ b/test/prism/snapshots/seattlerb/parse_line_heredoc_regexp_chars.txt
@@ -16,6 +16,7 @@
│ │ └── unescaped: " very long string\n"
│ └── operator_loc: (1,13)-(1,14) = "="
└── @ CallNode (location: (4,6)-(4,17))
+ ├── flags: ∅
├── receiver: ∅
├── call_operator_loc: ∅
├── name: :puts
@@ -23,11 +24,10 @@
├── opening_loc: ∅
├── arguments:
│ @ ArgumentsNode (location: (4,11)-(4,17))
- │ ├── arguments: (length: 1)
- │ │ └── @ LocalVariableReadNode (location: (4,11)-(4,17))
- │ │ ├── name: :string
- │ │ └── depth: 0
- │ └── flags: ∅
+ │ ├── flags: ∅
+ │ └── arguments: (length: 1)
+ │ └── @ LocalVariableReadNode (location: (4,11)-(4,17))
+ │ ├── name: :string
+ │ └── depth: 0
├── closing_loc: ∅
- ├── block: ∅
- └── flags: ∅
+ └── block: ∅
diff --git a/test/prism/snapshots/seattlerb/parse_line_iter_call_no_parens.txt b/test/prism/snapshots/seattlerb/parse_line_iter_call_no_parens.txt
index fc36ac7a5c..a22d252918 100644
--- a/test/prism/snapshots/seattlerb/parse_line_iter_call_no_parens.txt
+++ b/test/prism/snapshots/seattlerb/parse_line_iter_call_no_parens.txt
@@ -4,6 +4,7 @@
@ StatementsNode (location: (1,0)-(3,3))
└── body: (length: 1)
└── @ CallNode (location: (1,0)-(3,3))
+ ├── flags: ∅
├── receiver: ∅
├── call_operator_loc: ∅
├── name: :f
@@ -11,63 +12,62 @@
├── opening_loc: ∅
├── arguments:
│ @ ArgumentsNode (location: (1,2)-(1,3))
- │ ├── arguments: (length: 1)
- │ │ └── @ CallNode (location: (1,2)-(1,3))
- │ │ ├── receiver: ∅
- │ │ ├── call_operator_loc: ∅
- │ │ ├── name: :a
- │ │ ├── message_loc: (1,2)-(1,3) = "a"
- │ │ ├── opening_loc: ∅
- │ │ ├── arguments: ∅
- │ │ ├── closing_loc: ∅
- │ │ ├── block: ∅
- │ │ └── flags: variable_call
- │ └── flags: ∅
+ │ ├── flags: ∅
+ │ └── arguments: (length: 1)
+ │ └── @ CallNode (location: (1,2)-(1,3))
+ │ ├── flags: variable_call
+ │ ├── receiver: ∅
+ │ ├── call_operator_loc: ∅
+ │ ├── name: :a
+ │ ├── message_loc: (1,2)-(1,3) = "a"
+ │ ├── opening_loc: ∅
+ │ ├── arguments: ∅
+ │ ├── closing_loc: ∅
+ │ └── block: ∅
├── closing_loc: ∅
- ├── block:
- │ @ BlockNode (location: (1,4)-(3,3))
- │ ├── locals: [:x, :y]
- │ ├── locals_body_index: 2
- │ ├── parameters:
- │ │ @ BlockParametersNode (location: (1,7)-(1,13))
- │ │ ├── parameters:
- │ │ │ @ ParametersNode (location: (1,8)-(1,12))
- │ │ │ ├── requireds: (length: 2)
- │ │ │ │ ├── @ RequiredParameterNode (location: (1,8)-(1,9))
- │ │ │ │ │ └── name: :x
- │ │ │ │ └── @ RequiredParameterNode (location: (1,11)-(1,12))
- │ │ │ │ └── name: :y
- │ │ │ ├── optionals: (length: 0)
- │ │ │ ├── rest: ∅
- │ │ │ ├── posts: (length: 0)
- │ │ │ ├── keywords: (length: 0)
- │ │ │ ├── keyword_rest: ∅
- │ │ │ └── block: ∅
- │ │ ├── locals: (length: 0)
- │ │ ├── opening_loc: (1,7)-(1,8) = "|"
- │ │ └── closing_loc: (1,12)-(1,13) = "|"
- │ ├── body:
- │ │ @ StatementsNode (location: (2,2)-(2,7))
- │ │ └── body: (length: 1)
- │ │ └── @ CallNode (location: (2,2)-(2,7))
- │ │ ├── receiver:
- │ │ │ @ LocalVariableReadNode (location: (2,2)-(2,3))
- │ │ │ ├── name: :x
- │ │ │ └── depth: 0
- │ │ ├── call_operator_loc: ∅
- │ │ ├── name: :+
- │ │ ├── message_loc: (2,4)-(2,5) = "+"
- │ │ ├── opening_loc: ∅
- │ │ ├── arguments:
- │ │ │ @ ArgumentsNode (location: (2,6)-(2,7))
- │ │ │ ├── arguments: (length: 1)
- │ │ │ │ └── @ LocalVariableReadNode (location: (2,6)-(2,7))
- │ │ │ │ ├── name: :y
- │ │ │ │ └── depth: 0
- │ │ │ └── flags: ∅
- │ │ ├── closing_loc: ∅
- │ │ ├── block: ∅
- │ │ └── flags: ∅
- │ ├── opening_loc: (1,4)-(1,6) = "do"
- │ └── closing_loc: (3,0)-(3,3) = "end"
- └── flags: ∅
+ └── block:
+ @ BlockNode (location: (1,4)-(3,3))
+ ├── locals: [:x, :y]
+ ├── locals_body_index: 2
+ ├── parameters:
+ │ @ BlockParametersNode (location: (1,7)-(1,13))
+ │ ├── parameters:
+ │ │ @ ParametersNode (location: (1,8)-(1,12))
+ │ │ ├── requireds: (length: 2)
+ │ │ │ ├── @ RequiredParameterNode (location: (1,8)-(1,9))
+ │ │ │ │ └── name: :x
+ │ │ │ └── @ RequiredParameterNode (location: (1,11)-(1,12))
+ │ │ │ └── name: :y
+ │ │ ├── optionals: (length: 0)
+ │ │ ├── rest: ∅
+ │ │ ├── posts: (length: 0)
+ │ │ ├── keywords: (length: 0)
+ │ │ ├── keyword_rest: ∅
+ │ │ └── block: ∅
+ │ ├── locals: (length: 0)
+ │ ├── opening_loc: (1,7)-(1,8) = "|"
+ │ └── closing_loc: (1,12)-(1,13) = "|"
+ ├── body:
+ │ @ StatementsNode (location: (2,2)-(2,7))
+ │ └── body: (length: 1)
+ │ └── @ CallNode (location: (2,2)-(2,7))
+ │ ├── flags: ∅
+ │ ├── receiver:
+ │ │ @ LocalVariableReadNode (location: (2,2)-(2,3))
+ │ │ ├── name: :x
+ │ │ └── depth: 0
+ │ ├── call_operator_loc: ∅
+ │ ├── name: :+
+ │ ├── message_loc: (2,4)-(2,5) = "+"
+ │ ├── opening_loc: ∅
+ │ ├── arguments:
+ │ │ @ ArgumentsNode (location: (2,6)-(2,7))
+ │ │ ├── flags: ∅
+ │ │ └── arguments: (length: 1)
+ │ │ └── @ LocalVariableReadNode (location: (2,6)-(2,7))
+ │ │ ├── name: :y
+ │ │ └── depth: 0
+ │ ├── closing_loc: ∅
+ │ └── block: ∅
+ ├── opening_loc: (1,4)-(1,6) = "do"
+ └── closing_loc: (3,0)-(3,3) = "end"
diff --git a/test/prism/snapshots/seattlerb/parse_line_iter_call_parens.txt b/test/prism/snapshots/seattlerb/parse_line_iter_call_parens.txt
index ad318e4b05..e9a7b0140d 100644
--- a/test/prism/snapshots/seattlerb/parse_line_iter_call_parens.txt
+++ b/test/prism/snapshots/seattlerb/parse_line_iter_call_parens.txt
@@ -4,6 +4,7 @@
@ StatementsNode (location: (1,0)-(3,3))
└── body: (length: 1)
└── @ CallNode (location: (1,0)-(3,3))
+ ├── flags: ∅
├── receiver: ∅
├── call_operator_loc: ∅
├── name: :f
@@ -11,63 +12,62 @@
├── opening_loc: (1,1)-(1,2) = "("
├── arguments:
│ @ ArgumentsNode (location: (1,2)-(1,3))
- │ ├── arguments: (length: 1)
- │ │ └── @ CallNode (location: (1,2)-(1,3))
- │ │ ├── receiver: ∅
- │ │ ├── call_operator_loc: ∅
- │ │ ├── name: :a
- │ │ ├── message_loc: (1,2)-(1,3) = "a"
- │ │ ├── opening_loc: ∅
- │ │ ├── arguments: ∅
- │ │ ├── closing_loc: ∅
- │ │ ├── block: ∅
- │ │ └── flags: variable_call
- │ └── flags: ∅
+ │ ├── flags: ∅
+ │ └── arguments: (length: 1)
+ │ └── @ CallNode (location: (1,2)-(1,3))
+ │ ├── flags: variable_call
+ │ ├── receiver: ∅
+ │ ├── call_operator_loc: ∅
+ │ ├── name: :a
+ │ ├── message_loc: (1,2)-(1,3) = "a"
+ │ ├── opening_loc: ∅
+ │ ├── arguments: ∅
+ │ ├── closing_loc: ∅
+ │ └── block: ∅
├── closing_loc: (1,3)-(1,4) = ")"
- ├── block:
- │ @ BlockNode (location: (1,5)-(3,3))
- │ ├── locals: [:x, :y]
- │ ├── locals_body_index: 2
- │ ├── parameters:
- │ │ @ BlockParametersNode (location: (1,8)-(1,14))
- │ │ ├── parameters:
- │ │ │ @ ParametersNode (location: (1,9)-(1,13))
- │ │ │ ├── requireds: (length: 2)
- │ │ │ │ ├── @ RequiredParameterNode (location: (1,9)-(1,10))
- │ │ │ │ │ └── name: :x
- │ │ │ │ └── @ RequiredParameterNode (location: (1,12)-(1,13))
- │ │ │ │ └── name: :y
- │ │ │ ├── optionals: (length: 0)
- │ │ │ ├── rest: ∅
- │ │ │ ├── posts: (length: 0)
- │ │ │ ├── keywords: (length: 0)
- │ │ │ ├── keyword_rest: ∅
- │ │ │ └── block: ∅
- │ │ ├── locals: (length: 0)
- │ │ ├── opening_loc: (1,8)-(1,9) = "|"
- │ │ └── closing_loc: (1,13)-(1,14) = "|"
- │ ├── body:
- │ │ @ StatementsNode (location: (2,2)-(2,7))
- │ │ └── body: (length: 1)
- │ │ └── @ CallNode (location: (2,2)-(2,7))
- │ │ ├── receiver:
- │ │ │ @ LocalVariableReadNode (location: (2,2)-(2,3))
- │ │ │ ├── name: :x
- │ │ │ └── depth: 0
- │ │ ├── call_operator_loc: ∅
- │ │ ├── name: :+
- │ │ ├── message_loc: (2,4)-(2,5) = "+"
- │ │ ├── opening_loc: ∅
- │ │ ├── arguments:
- │ │ │ @ ArgumentsNode (location: (2,6)-(2,7))
- │ │ │ ├── arguments: (length: 1)
- │ │ │ │ └── @ LocalVariableReadNode (location: (2,6)-(2,7))
- │ │ │ │ ├── name: :y
- │ │ │ │ └── depth: 0
- │ │ │ └── flags: ∅
- │ │ ├── closing_loc: ∅
- │ │ ├── block: ∅
- │ │ └── flags: ∅
- │ ├── opening_loc: (1,5)-(1,7) = "do"
- │ └── closing_loc: (3,0)-(3,3) = "end"
- └── flags: ∅
+ └── block:
+ @ BlockNode (location: (1,5)-(3,3))
+ ├── locals: [:x, :y]
+ ├── locals_body_index: 2
+ ├── parameters:
+ │ @ BlockParametersNode (location: (1,8)-(1,14))
+ │ ├── parameters:
+ │ │ @ ParametersNode (location: (1,9)-(1,13))
+ │ │ ├── requireds: (length: 2)
+ │ │ │ ├── @ RequiredParameterNode (location: (1,9)-(1,10))
+ │ │ │ │ └── name: :x
+ │ │ │ └── @ RequiredParameterNode (location: (1,12)-(1,13))
+ │ │ │ └── name: :y
+ │ │ ├── optionals: (length: 0)
+ │ │ ├── rest: ∅
+ │ │ ├── posts: (length: 0)
+ │ │ ├── keywords: (length: 0)
+ │ │ ├── keyword_rest: ∅
+ │ │ └── block: ∅
+ │ ├── locals: (length: 0)
+ │ ├── opening_loc: (1,8)-(1,9) = "|"
+ │ └── closing_loc: (1,13)-(1,14) = "|"
+ ├── body:
+ │ @ StatementsNode (location: (2,2)-(2,7))
+ │ └── body: (length: 1)
+ │ └── @ CallNode (location: (2,2)-(2,7))
+ │ ├── flags: ∅
+ │ ├── receiver:
+ │ │ @ LocalVariableReadNode (location: (2,2)-(2,3))
+ │ │ ├── name: :x
+ │ │ └── depth: 0
+ │ ├── call_operator_loc: ∅
+ │ ├── name: :+
+ │ ├── message_loc: (2,4)-(2,5) = "+"
+ │ ├── opening_loc: ∅
+ │ ├── arguments:
+ │ │ @ ArgumentsNode (location: (2,6)-(2,7))
+ │ │ ├── flags: ∅
+ │ │ └── arguments: (length: 1)
+ │ │ └── @ LocalVariableReadNode (location: (2,6)-(2,7))
+ │ │ ├── name: :y
+ │ │ └── depth: 0
+ │ ├── closing_loc: ∅
+ │ └── block: ∅
+ ├── opening_loc: (1,5)-(1,7) = "do"
+ └── closing_loc: (3,0)-(3,3) = "end"
diff --git a/test/prism/snapshots/seattlerb/parse_line_op_asgn.txt b/test/prism/snapshots/seattlerb/parse_line_op_asgn.txt
index 46378fa9c4..63d52a477d 100644
--- a/test/prism/snapshots/seattlerb/parse_line_op_asgn.txt
+++ b/test/prism/snapshots/seattlerb/parse_line_op_asgn.txt
@@ -8,6 +8,7 @@
│ ├── operator_loc: (1,10)-(1,12) = "+="
│ ├── value:
│ │ @ CallNode (location: (2,8)-(2,11))
+ │ │ ├── flags: variable_call
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
│ │ ├── name: :bar
@@ -15,12 +16,12 @@
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
- │ │ ├── block: ∅
- │ │ └── flags: variable_call
+ │ │ └── block: ∅
│ ├── name: :foo
│ ├── operator: :+
│ └── depth: 0
└── @ CallNode (location: (3,6)-(3,9))
+ ├── flags: variable_call
├── receiver: ∅
├── call_operator_loc: ∅
├── name: :baz
@@ -28,5 +29,4 @@
├── opening_loc: ∅
├── arguments: ∅
├── closing_loc: ∅
- ├── block: ∅
- └── flags: variable_call
+ └── block: ∅
diff --git a/test/prism/snapshots/seattlerb/parse_line_postexe.txt b/test/prism/snapshots/seattlerb/parse_line_postexe.txt
index 37114601aa..3a5e0f084e 100644
--- a/test/prism/snapshots/seattlerb/parse_line_postexe.txt
+++ b/test/prism/snapshots/seattlerb/parse_line_postexe.txt
@@ -8,6 +8,7 @@
│ @ StatementsNode (location: (2,0)-(2,3))
│ └── body: (length: 1)
│ └── @ CallNode (location: (2,0)-(2,3))
+ │ ├── flags: variable_call
│ ├── receiver: ∅
│ ├── call_operator_loc: ∅
│ ├── name: :foo
@@ -15,8 +16,7 @@
│ ├── opening_loc: ∅
│ ├── arguments: ∅
│ ├── closing_loc: ∅
- │ ├── block: ∅
- │ └── flags: variable_call
+ │ └── block: ∅
├── keyword_loc: (1,0)-(1,3) = "END"
├── opening_loc: (1,4)-(1,5) = "{"
└── closing_loc: (3,0)-(3,1) = "}"
diff --git a/test/prism/snapshots/seattlerb/parse_line_preexe.txt b/test/prism/snapshots/seattlerb/parse_line_preexe.txt
index 9de912be8f..71ca121314 100644
--- a/test/prism/snapshots/seattlerb/parse_line_preexe.txt
+++ b/test/prism/snapshots/seattlerb/parse_line_preexe.txt
@@ -8,6 +8,7 @@
│ @ StatementsNode (location: (2,0)-(2,3))
│ └── body: (length: 1)
│ └── @ CallNode (location: (2,0)-(2,3))
+ │ ├── flags: variable_call
│ ├── receiver: ∅
│ ├── call_operator_loc: ∅
│ ├── name: :foo
@@ -15,8 +16,7 @@
│ ├── opening_loc: ∅
│ ├── arguments: ∅
│ ├── closing_loc: ∅
- │ ├── block: ∅
- │ └── flags: variable_call
+ │ └── block: ∅
├── keyword_loc: (1,0)-(1,5) = "BEGIN"
├── opening_loc: (1,6)-(1,7) = "{"
└── closing_loc: (3,0)-(3,1) = "}"
diff --git a/test/prism/snapshots/seattlerb/parse_line_rescue.txt b/test/prism/snapshots/seattlerb/parse_line_rescue.txt
index d269c2e820..a13ef4357d 100644
--- a/test/prism/snapshots/seattlerb/parse_line_rescue.txt
+++ b/test/prism/snapshots/seattlerb/parse_line_rescue.txt
@@ -9,6 +9,7 @@
│ @ StatementsNode (location: (2,2)-(2,3))
│ └── body: (length: 1)
│ └── @ CallNode (location: (2,2)-(2,3))
+ │ ├── flags: variable_call
│ ├── receiver: ∅
│ ├── call_operator_loc: ∅
│ ├── name: :a
@@ -16,8 +17,7 @@
│ ├── opening_loc: ∅
│ ├── arguments: ∅
│ ├── closing_loc: ∅
- │ ├── block: ∅
- │ └── flags: variable_call
+ │ └── block: ∅
├── rescue_clause:
│ @ RescueNode (location: (3,0)-(6,3))
│ ├── keyword_loc: (3,0)-(3,6) = "rescue"
@@ -28,6 +28,7 @@
│ │ @ StatementsNode (location: (4,2)-(4,3))
│ │ └── body: (length: 1)
│ │ └── @ CallNode (location: (4,2)-(4,3))
+ │ │ ├── flags: variable_call
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
│ │ ├── name: :b
@@ -35,8 +36,7 @@
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
- │ │ ├── block: ∅
- │ │ └── flags: variable_call
+ │ │ └── block: ∅
│ └── consequent:
│ @ RescueNode (location: (5,0)-(6,3))
│ ├── keyword_loc: (5,0)-(5,6) = "rescue"
@@ -47,6 +47,7 @@
│ │ @ StatementsNode (location: (6,2)-(6,3))
│ │ └── body: (length: 1)
│ │ └── @ CallNode (location: (6,2)-(6,3))
+ │ │ ├── flags: variable_call
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
│ │ ├── name: :c
@@ -54,8 +55,7 @@
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
- │ │ ├── block: ∅
- │ │ └── flags: variable_call
+ │ │ └── block: ∅
│ └── consequent: ∅
├── else_clause: ∅
├── ensure_clause: ∅
diff --git a/test/prism/snapshots/seattlerb/parse_line_return.txt b/test/prism/snapshots/seattlerb/parse_line_return.txt
index 46312194d5..fc83061d01 100644
--- a/test/prism/snapshots/seattlerb/parse_line_return.txt
+++ b/test/prism/snapshots/seattlerb/parse_line_return.txt
@@ -23,10 +23,10 @@
│ │ ├── keyword_loc: (3,10)-(3,16) = "return"
│ │ └── arguments:
│ │ @ ArgumentsNode (location: (3,17)-(3,19))
- │ │ ├── arguments: (length: 1)
- │ │ │ └── @ IntegerNode (location: (3,17)-(3,19))
- │ │ │ └── flags: decimal
- │ │ └── flags: ∅
+ │ │ ├── flags: ∅
+ │ │ └── arguments: (length: 1)
+ │ │ └── @ IntegerNode (location: (3,17)-(3,19))
+ │ │ └── flags: decimal
│ ├── consequent: ∅
│ └── end_keyword_loc: (4,8)-(4,11) = "end"
├── locals: []
diff --git a/test/prism/snapshots/seattlerb/parse_line_str_with_newline_escape.txt b/test/prism/snapshots/seattlerb/parse_line_str_with_newline_escape.txt
index c0b4f6cd3d..ee1fa91116 100644
--- a/test/prism/snapshots/seattlerb/parse_line_str_with_newline_escape.txt
+++ b/test/prism/snapshots/seattlerb/parse_line_str_with_newline_escape.txt
@@ -4,6 +4,7 @@
@ StatementsNode (location: (1,0)-(1,13))
└── body: (length: 1)
└── @ CallNode (location: (1,0)-(1,13))
+ ├── flags: ∅
├── receiver: ∅
├── call_operator_loc: ∅
├── name: :a
@@ -11,15 +12,14 @@
├── opening_loc: (1,1)-(1,2) = "("
├── arguments:
│ @ ArgumentsNode (location: (1,2)-(1,12))
- │ ├── arguments: (length: 2)
- │ │ ├── @ StringNode (location: (1,2)-(1,6))
- │ │ │ ├── flags: ∅
- │ │ │ ├── opening_loc: (1,2)-(1,3) = "\""
- │ │ │ ├── content_loc: (1,3)-(1,5) = "\\n"
- │ │ │ ├── closing_loc: (1,5)-(1,6) = "\""
- │ │ │ └── unescaped: "\n"
- │ │ └── @ TrueNode (location: (1,8)-(1,12))
- │ └── flags: ∅
+ │ ├── flags: ∅
+ │ └── arguments: (length: 2)
+ │ ├── @ StringNode (location: (1,2)-(1,6))
+ │ │ ├── flags: ∅
+ │ │ ├── opening_loc: (1,2)-(1,3) = "\""
+ │ │ ├── content_loc: (1,3)-(1,5) = "\\n"
+ │ │ ├── closing_loc: (1,5)-(1,6) = "\""
+ │ │ └── unescaped: "\n"
+ │ └── @ TrueNode (location: (1,8)-(1,12))
├── closing_loc: (1,12)-(1,13) = ")"
- ├── block: ∅
- └── flags: ∅
+ └── block: ∅
diff --git a/test/prism/snapshots/seattlerb/parse_line_to_ary.txt b/test/prism/snapshots/seattlerb/parse_line_to_ary.txt
index bedd6611f9..c0a7a6f631 100644
--- a/test/prism/snapshots/seattlerb/parse_line_to_ary.txt
+++ b/test/prism/snapshots/seattlerb/parse_line_to_ary.txt
@@ -18,6 +18,7 @@
│ ├── operator_loc: (2,2)-(2,3) = "="
│ └── value:
│ @ CallNode (location: (2,4)-(2,5))
+ │ ├── flags: variable_call
│ ├── receiver: ∅
│ ├── call_operator_loc: ∅
│ ├── name: :c
@@ -25,9 +26,9 @@
│ ├── opening_loc: ∅
│ ├── arguments: ∅
│ ├── closing_loc: ∅
- │ ├── block: ∅
- │ └── flags: variable_call
+ │ └── block: ∅
└── @ CallNode (location: (3,0)-(3,1))
+ ├── flags: variable_call
├── receiver: ∅
├── call_operator_loc: ∅
├── name: :d
@@ -35,5 +36,4 @@
├── opening_loc: ∅
├── arguments: ∅
├── closing_loc: ∅
- ├── block: ∅
- └── flags: variable_call
+ └── block: ∅
diff --git a/test/prism/snapshots/seattlerb/parse_line_trailing_newlines.txt b/test/prism/snapshots/seattlerb/parse_line_trailing_newlines.txt
index ab15f51526..355a0da11c 100644
--- a/test/prism/snapshots/seattlerb/parse_line_trailing_newlines.txt
+++ b/test/prism/snapshots/seattlerb/parse_line_trailing_newlines.txt
@@ -4,6 +4,7 @@
@ StatementsNode (location: (1,0)-(2,1))
└── body: (length: 2)
├── @ CallNode (location: (1,0)-(1,1))
+ │ ├── flags: variable_call
│ ├── receiver: ∅
│ ├── call_operator_loc: ∅
│ ├── name: :a
@@ -11,9 +12,9 @@
│ ├── opening_loc: ∅
│ ├── arguments: ∅
│ ├── closing_loc: ∅
- │ ├── block: ∅
- │ └── flags: variable_call
+ │ └── block: ∅
└── @ CallNode (location: (2,0)-(2,1))
+ ├── flags: variable_call
├── receiver: ∅
├── call_operator_loc: ∅
├── name: :b
@@ -21,5 +22,4 @@
├── opening_loc: ∅
├── arguments: ∅
├── closing_loc: ∅
- ├── block: ∅
- └── flags: variable_call
+ └── block: ∅
diff --git a/test/prism/snapshots/seattlerb/parse_opt_call_args_assocs_comma.txt b/test/prism/snapshots/seattlerb/parse_opt_call_args_assocs_comma.txt
index 5624d07a73..528ade93a7 100644
--- a/test/prism/snapshots/seattlerb/parse_opt_call_args_assocs_comma.txt
+++ b/test/prism/snapshots/seattlerb/parse_opt_call_args_assocs_comma.txt
@@ -4,6 +4,7 @@
@ StatementsNode (location: (1,0)-(1,8))
└── body: (length: 1)
└── @ CallNode (location: (1,0)-(1,8))
+ ├── flags: ∅
├── receiver:
│ @ IntegerNode (location: (1,0)-(1,1))
│ └── flags: decimal
@@ -13,18 +14,17 @@
├── opening_loc: (1,1)-(1,2) = "["
├── arguments:
│ @ ArgumentsNode (location: (1,2)-(1,6))
- │ ├── arguments: (length: 1)
- │ │ └── @ KeywordHashNode (location: (1,2)-(1,6))
- │ │ └── elements: (length: 1)
- │ │ └── @ AssocNode (location: (1,2)-(1,6))
- │ │ ├── key:
- │ │ │ @ IntegerNode (location: (1,2)-(1,3))
- │ │ │ └── flags: decimal
- │ │ ├── value:
- │ │ │ @ IntegerNode (location: (1,5)-(1,6))
- │ │ │ └── flags: decimal
- │ │ └── operator_loc: (1,3)-(1,5) = "=>"
- │ └── flags: ∅
+ │ ├── flags: ∅
+ │ └── arguments: (length: 1)
+ │ └── @ KeywordHashNode (location: (1,2)-(1,6))
+ │ └── elements: (length: 1)
+ │ └── @ AssocNode (location: (1,2)-(1,6))
+ │ ├── key:
+ │ │ @ IntegerNode (location: (1,2)-(1,3))
+ │ │ └── flags: decimal
+ │ ├── value:
+ │ │ @ IntegerNode (location: (1,5)-(1,6))
+ │ │ └── flags: decimal
+ │ └── operator_loc: (1,3)-(1,5) = "=>"
├── closing_loc: (1,7)-(1,8) = "]"
- ├── block: ∅
- └── flags: ∅
+ └── block: ∅
diff --git a/test/prism/snapshots/seattlerb/parse_opt_call_args_lit_comma.txt b/test/prism/snapshots/seattlerb/parse_opt_call_args_lit_comma.txt
index a16635a0eb..c1d086d5f3 100644
--- a/test/prism/snapshots/seattlerb/parse_opt_call_args_lit_comma.txt
+++ b/test/prism/snapshots/seattlerb/parse_opt_call_args_lit_comma.txt
@@ -4,6 +4,7 @@
@ StatementsNode (location: (1,0)-(1,5))
└── body: (length: 1)
└── @ CallNode (location: (1,0)-(1,5))
+ ├── flags: ∅
├── receiver:
│ @ IntegerNode (location: (1,0)-(1,1))
│ └── flags: decimal
@@ -13,10 +14,9 @@
├── opening_loc: (1,1)-(1,2) = "["
├── arguments:
│ @ ArgumentsNode (location: (1,2)-(1,3))
- │ ├── arguments: (length: 1)
- │ │ └── @ IntegerNode (location: (1,2)-(1,3))
- │ │ └── flags: decimal
- │ └── flags: ∅
+ │ ├── flags: ∅
+ │ └── arguments: (length: 1)
+ │ └── @ IntegerNode (location: (1,2)-(1,3))
+ │ └── flags: decimal
├── closing_loc: (1,4)-(1,5) = "]"
- ├── block: ∅
- └── flags: ∅
+ └── block: ∅
diff --git a/test/prism/snapshots/seattlerb/parse_pattern_019.txt b/test/prism/snapshots/seattlerb/parse_pattern_019.txt
index 196cb186b9..2ba406f186 100644
--- a/test/prism/snapshots/seattlerb/parse_pattern_019.txt
+++ b/test/prism/snapshots/seattlerb/parse_pattern_019.txt
@@ -11,14 +11,14 @@
│ └── @ InNode (location: (2,0)-(3,6))
│ ├── pattern:
│ │ @ RangeNode (location: (2,3)-(2,8))
+ │ │ ├── flags: ∅
│ │ ├── left:
│ │ │ @ IntegerNode (location: (2,3)-(2,5))
│ │ │ └── flags: decimal
│ │ ├── right:
│ │ │ @ IntegerNode (location: (2,7)-(2,8))
│ │ │ └── flags: decimal
- │ │ ├── operator_loc: (2,5)-(2,7) = ".."
- │ │ └── flags: ∅
+ │ │ └── operator_loc: (2,5)-(2,7) = ".."
│ ├── statements:
│ │ @ StatementsNode (location: (3,2)-(3,6))
│ │ └── body: (length: 1)
diff --git a/test/prism/snapshots/seattlerb/parse_pattern_044.txt b/test/prism/snapshots/seattlerb/parse_pattern_044.txt
index 36189b756d..1eeb954839 100644
--- a/test/prism/snapshots/seattlerb/parse_pattern_044.txt
+++ b/test/prism/snapshots/seattlerb/parse_pattern_044.txt
@@ -6,6 +6,7 @@
└── @ CaseMatchNode (location: (1,0)-(4,3))
├── predicate:
│ @ CallNode (location: (1,5)-(1,8))
+ │ ├── flags: variable_call
│ ├── receiver: ∅
│ ├── call_operator_loc: ∅
│ ├── name: :obj
@@ -13,8 +14,7 @@
│ ├── opening_loc: ∅
│ ├── arguments: ∅
│ ├── closing_loc: ∅
- │ ├── block: ∅
- │ └── flags: variable_call
+ │ └── block: ∅
├── conditions: (length: 1)
│ └── @ InNode (location: (2,0)-(3,6))
│ ├── pattern:
diff --git a/test/prism/snapshots/seattlerb/parse_pattern_051.txt b/test/prism/snapshots/seattlerb/parse_pattern_051.txt
index 6067c109e1..6ae0944d10 100644
--- a/test/prism/snapshots/seattlerb/parse_pattern_051.txt
+++ b/test/prism/snapshots/seattlerb/parse_pattern_051.txt
@@ -6,6 +6,7 @@
└── @ CaseMatchNode (location: (1,0)-(4,3))
├── predicate:
│ @ ArrayNode (location: (1,5)-(1,14))
+ │ ├── flags: ∅
│ ├── elements: (length: 3)
│ │ ├── @ IntegerNode (location: (1,6)-(1,7))
│ │ │ └── flags: decimal
@@ -14,8 +15,7 @@
│ │ └── @ IntegerNode (location: (1,12)-(1,13))
│ │ └── flags: decimal
│ ├── opening_loc: (1,5)-(1,6) = "["
- │ ├── closing_loc: (1,13)-(1,14) = "]"
- │ └── flags: ∅
+ │ └── closing_loc: (1,13)-(1,14) = "]"
├── conditions: (length: 1)
│ └── @ InNode (location: (2,0)-(3,6))
│ ├── pattern:
diff --git a/test/prism/snapshots/seattlerb/parse_pattern_058.txt b/test/prism/snapshots/seattlerb/parse_pattern_058.txt
index 4dee865a2b..830cdaef1d 100644
--- a/test/prism/snapshots/seattlerb/parse_pattern_058.txt
+++ b/test/prism/snapshots/seattlerb/parse_pattern_058.txt
@@ -48,6 +48,7 @@
│ │ @ StatementsNode (location: (3,2)-(3,11))
│ │ └── body: (length: 1)
│ │ └── @ ArrayNode (location: (3,2)-(3,11))
+ │ │ ├── flags: ∅
│ │ ├── elements: (length: 2)
│ │ │ ├── @ LocalVariableReadNode (location: (3,3)-(3,4))
│ │ │ │ ├── name: :a
@@ -56,8 +57,7 @@
│ │ │ ├── name: :rest
│ │ │ └── depth: 0
│ │ ├── opening_loc: (3,2)-(3,3) = "["
- │ │ ├── closing_loc: (3,10)-(3,11) = "]"
- │ │ └── flags: ∅
+ │ │ └── closing_loc: (3,10)-(3,11) = "]"
│ ├── in_loc: (2,0)-(2,2) = "in"
│ └── then_loc: ∅
├── consequent: ∅
diff --git a/test/prism/snapshots/seattlerb/parse_pattern_058_2.txt b/test/prism/snapshots/seattlerb/parse_pattern_058_2.txt
index f55300e6d1..18f3bde6aa 100644
--- a/test/prism/snapshots/seattlerb/parse_pattern_058_2.txt
+++ b/test/prism/snapshots/seattlerb/parse_pattern_058_2.txt
@@ -45,13 +45,13 @@
│ │ @ StatementsNode (location: (3,2)-(3,5))
│ │ └── body: (length: 1)
│ │ └── @ ArrayNode (location: (3,2)-(3,5))
+ │ │ ├── flags: ∅
│ │ ├── elements: (length: 1)
│ │ │ └── @ LocalVariableReadNode (location: (3,3)-(3,4))
│ │ │ ├── name: :a
│ │ │ └── depth: 0
│ │ ├── opening_loc: (3,2)-(3,3) = "["
- │ │ ├── closing_loc: (3,4)-(3,5) = "]"
- │ │ └── flags: ∅
+ │ │ └── closing_loc: (3,4)-(3,5) = "]"
│ ├── in_loc: (2,0)-(2,2) = "in"
│ └── then_loc: ∅
├── consequent: ∅
diff --git a/test/prism/snapshots/seattlerb/parse_until_not_canonical.txt b/test/prism/snapshots/seattlerb/parse_until_not_canonical.txt
index f7544713f1..71002ef207 100644
--- a/test/prism/snapshots/seattlerb/parse_until_not_canonical.txt
+++ b/test/prism/snapshots/seattlerb/parse_until_not_canonical.txt
@@ -4,14 +4,18 @@
@ StatementsNode (location: (1,0)-(3,3))
└── body: (length: 1)
└── @ UntilNode (location: (1,0)-(3,3))
+ ├── flags: ∅
├── keyword_loc: (1,0)-(1,5) = "until"
├── closing_loc: (3,0)-(3,3) = "end"
├── predicate:
│ @ CallNode (location: (1,6)-(1,18))
+ │ ├── flags: ∅
│ ├── receiver:
│ │ @ CallNode (location: (1,10)-(1,18))
+ │ │ ├── flags: ∅
│ │ ├── receiver:
│ │ │ @ CallNode (location: (1,10)-(1,13))
+ │ │ │ ├── flags: variable_call
│ │ │ ├── receiver: ∅
│ │ │ ├── call_operator_loc: ∅
│ │ │ ├── name: :var
@@ -19,31 +23,27 @@
│ │ │ ├── opening_loc: ∅
│ │ │ ├── arguments: ∅
│ │ │ ├── closing_loc: ∅
- │ │ │ ├── block: ∅
- │ │ │ └── flags: variable_call
+ │ │ │ └── block: ∅
│ │ ├── call_operator_loc: (1,13)-(1,14) = "."
│ │ ├── name: :nil?
│ │ ├── message_loc: (1,14)-(1,18) = "nil?"
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
- │ │ ├── block: ∅
- │ │ └── flags: ∅
+ │ │ └── block: ∅
│ ├── call_operator_loc: ∅
│ ├── name: :!
│ ├── message_loc: (1,6)-(1,9) = "not"
│ ├── opening_loc: ∅
│ ├── arguments: ∅
│ ├── closing_loc: ∅
- │ ├── block: ∅
- │ └── flags: ∅
- ├── statements:
- │ @ StatementsNode (location: (2,2)-(2,7))
- │ └── body: (length: 1)
- │ └── @ StringNode (location: (2,2)-(2,7))
- │ ├── flags: ∅
- │ ├── opening_loc: (2,2)-(2,3) = "'"
- │ ├── content_loc: (2,3)-(2,6) = "foo"
- │ ├── closing_loc: (2,6)-(2,7) = "'"
- │ └── unescaped: "foo"
- └── flags: ∅
+ │ └── block: ∅
+ └── statements:
+ @ StatementsNode (location: (2,2)-(2,7))
+ └── body: (length: 1)
+ └── @ StringNode (location: (2,2)-(2,7))
+ ├── flags: ∅
+ ├── opening_loc: (2,2)-(2,3) = "'"
+ ├── content_loc: (2,3)-(2,6) = "foo"
+ ├── closing_loc: (2,6)-(2,7) = "'"
+ └── unescaped: "foo"
diff --git a/test/prism/snapshots/seattlerb/parse_until_not_noncanonical.txt b/test/prism/snapshots/seattlerb/parse_until_not_noncanonical.txt
index f7544713f1..71002ef207 100644
--- a/test/prism/snapshots/seattlerb/parse_until_not_noncanonical.txt
+++ b/test/prism/snapshots/seattlerb/parse_until_not_noncanonical.txt
@@ -4,14 +4,18 @@
@ StatementsNode (location: (1,0)-(3,3))
└── body: (length: 1)
└── @ UntilNode (location: (1,0)-(3,3))
+ ├── flags: ∅
├── keyword_loc: (1,0)-(1,5) = "until"
├── closing_loc: (3,0)-(3,3) = "end"
├── predicate:
│ @ CallNode (location: (1,6)-(1,18))
+ │ ├── flags: ∅
│ ├── receiver:
│ │ @ CallNode (location: (1,10)-(1,18))
+ │ │ ├── flags: ∅
│ │ ├── receiver:
│ │ │ @ CallNode (location: (1,10)-(1,13))
+ │ │ │ ├── flags: variable_call
│ │ │ ├── receiver: ∅
│ │ │ ├── call_operator_loc: ∅
│ │ │ ├── name: :var
@@ -19,31 +23,27 @@
│ │ │ ├── opening_loc: ∅
│ │ │ ├── arguments: ∅
│ │ │ ├── closing_loc: ∅
- │ │ │ ├── block: ∅
- │ │ │ └── flags: variable_call
+ │ │ │ └── block: ∅
│ │ ├── call_operator_loc: (1,13)-(1,14) = "."
│ │ ├── name: :nil?
│ │ ├── message_loc: (1,14)-(1,18) = "nil?"
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
- │ │ ├── block: ∅
- │ │ └── flags: ∅
+ │ │ └── block: ∅
│ ├── call_operator_loc: ∅
│ ├── name: :!
│ ├── message_loc: (1,6)-(1,9) = "not"
│ ├── opening_loc: ∅
│ ├── arguments: ∅
│ ├── closing_loc: ∅
- │ ├── block: ∅
- │ └── flags: ∅
- ├── statements:
- │ @ StatementsNode (location: (2,2)-(2,7))
- │ └── body: (length: 1)
- │ └── @ StringNode (location: (2,2)-(2,7))
- │ ├── flags: ∅
- │ ├── opening_loc: (2,2)-(2,3) = "'"
- │ ├── content_loc: (2,3)-(2,6) = "foo"
- │ ├── closing_loc: (2,6)-(2,7) = "'"
- │ └── unescaped: "foo"
- └── flags: ∅
+ │ └── block: ∅
+ └── statements:
+ @ StatementsNode (location: (2,2)-(2,7))
+ └── body: (length: 1)
+ └── @ StringNode (location: (2,2)-(2,7))
+ ├── flags: ∅
+ ├── opening_loc: (2,2)-(2,3) = "'"
+ ├── content_loc: (2,3)-(2,6) = "foo"
+ ├── closing_loc: (2,6)-(2,7) = "'"
+ └── unescaped: "foo"
diff --git a/test/prism/snapshots/seattlerb/parse_while_not_canonical.txt b/test/prism/snapshots/seattlerb/parse_while_not_canonical.txt
index e745a865c9..973d32fe39 100644
--- a/test/prism/snapshots/seattlerb/parse_while_not_canonical.txt
+++ b/test/prism/snapshots/seattlerb/parse_while_not_canonical.txt
@@ -4,14 +4,18 @@
@ StatementsNode (location: (1,0)-(3,3))
└── body: (length: 1)
└── @ WhileNode (location: (1,0)-(3,3))
+ ├── flags: ∅
├── keyword_loc: (1,0)-(1,5) = "while"
├── closing_loc: (3,0)-(3,3) = "end"
├── predicate:
│ @ CallNode (location: (1,6)-(1,18))
+ │ ├── flags: ∅
│ ├── receiver:
│ │ @ CallNode (location: (1,10)-(1,18))
+ │ │ ├── flags: ∅
│ │ ├── receiver:
│ │ │ @ CallNode (location: (1,10)-(1,13))
+ │ │ │ ├── flags: variable_call
│ │ │ ├── receiver: ∅
│ │ │ ├── call_operator_loc: ∅
│ │ │ ├── name: :var
@@ -19,31 +23,27 @@
│ │ │ ├── opening_loc: ∅
│ │ │ ├── arguments: ∅
│ │ │ ├── closing_loc: ∅
- │ │ │ ├── block: ∅
- │ │ │ └── flags: variable_call
+ │ │ │ └── block: ∅
│ │ ├── call_operator_loc: (1,13)-(1,14) = "."
│ │ ├── name: :nil?
│ │ ├── message_loc: (1,14)-(1,18) = "nil?"
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
- │ │ ├── block: ∅
- │ │ └── flags: ∅
+ │ │ └── block: ∅
│ ├── call_operator_loc: ∅
│ ├── name: :!
│ ├── message_loc: (1,6)-(1,9) = "not"
│ ├── opening_loc: ∅
│ ├── arguments: ∅
│ ├── closing_loc: ∅
- │ ├── block: ∅
- │ └── flags: ∅
- ├── statements:
- │ @ StatementsNode (location: (2,2)-(2,7))
- │ └── body: (length: 1)
- │ └── @ StringNode (location: (2,2)-(2,7))
- │ ├── flags: ∅
- │ ├── opening_loc: (2,2)-(2,3) = "'"
- │ ├── content_loc: (2,3)-(2,6) = "foo"
- │ ├── closing_loc: (2,6)-(2,7) = "'"
- │ └── unescaped: "foo"
- └── flags: ∅
+ │ └── block: ∅
+ └── statements:
+ @ StatementsNode (location: (2,2)-(2,7))
+ └── body: (length: 1)
+ └── @ StringNode (location: (2,2)-(2,7))
+ ├── flags: ∅
+ ├── opening_loc: (2,2)-(2,3) = "'"
+ ├── content_loc: (2,3)-(2,6) = "foo"
+ ├── closing_loc: (2,6)-(2,7) = "'"
+ └── unescaped: "foo"
diff --git a/test/prism/snapshots/seattlerb/parse_while_not_noncanonical.txt b/test/prism/snapshots/seattlerb/parse_while_not_noncanonical.txt
index e745a865c9..973d32fe39 100644
--- a/test/prism/snapshots/seattlerb/parse_while_not_noncanonical.txt
+++ b/test/prism/snapshots/seattlerb/parse_while_not_noncanonical.txt
@@ -4,14 +4,18 @@
@ StatementsNode (location: (1,0)-(3,3))
└── body: (length: 1)
└── @ WhileNode (location: (1,0)-(3,3))
+ ├── flags: ∅
├── keyword_loc: (1,0)-(1,5) = "while"
├── closing_loc: (3,0)-(3,3) = "end"
├── predicate:
│ @ CallNode (location: (1,6)-(1,18))
+ │ ├── flags: ∅
│ ├── receiver:
│ │ @ CallNode (location: (1,10)-(1,18))
+ │ │ ├── flags: ∅
│ │ ├── receiver:
│ │ │ @ CallNode (location: (1,10)-(1,13))
+ │ │ │ ├── flags: variable_call
│ │ │ ├── receiver: ∅
│ │ │ ├── call_operator_loc: ∅
│ │ │ ├── name: :var
@@ -19,31 +23,27 @@
│ │ │ ├── opening_loc: ∅
│ │ │ ├── arguments: ∅
│ │ │ ├── closing_loc: ∅
- │ │ │ ├── block: ∅
- │ │ │ └── flags: variable_call
+ │ │ │ └── block: ∅
│ │ ├── call_operator_loc: (1,13)-(1,14) = "."
│ │ ├── name: :nil?
│ │ ├── message_loc: (1,14)-(1,18) = "nil?"
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
- │ │ ├── block: ∅
- │ │ └── flags: ∅
+ │ │ └── block: ∅
│ ├── call_operator_loc: ∅
│ ├── name: :!
│ ├── message_loc: (1,6)-(1,9) = "not"
│ ├── opening_loc: ∅
│ ├── arguments: ∅
│ ├── closing_loc: ∅
- │ ├── block: ∅
- │ └── flags: ∅
- ├── statements:
- │ @ StatementsNode (location: (2,2)-(2,7))
- │ └── body: (length: 1)
- │ └── @ StringNode (location: (2,2)-(2,7))
- │ ├── flags: ∅
- │ ├── opening_loc: (2,2)-(2,3) = "'"
- │ ├── content_loc: (2,3)-(2,6) = "foo"
- │ ├── closing_loc: (2,6)-(2,7) = "'"
- │ └── unescaped: "foo"
- └── flags: ∅
+ │ └── block: ∅
+ └── statements:
+ @ StatementsNode (location: (2,2)-(2,7))
+ └── body: (length: 1)
+ └── @ StringNode (location: (2,2)-(2,7))
+ ├── flags: ∅
+ ├── opening_loc: (2,2)-(2,3) = "'"
+ ├── content_loc: (2,3)-(2,6) = "foo"
+ ├── closing_loc: (2,6)-(2,7) = "'"
+ └── unescaped: "foo"
diff --git a/test/prism/snapshots/seattlerb/pctW_lineno.txt b/test/prism/snapshots/seattlerb/pctW_lineno.txt
index 6ec354bd0e..58efa9c59a 100644
--- a/test/prism/snapshots/seattlerb/pctW_lineno.txt
+++ b/test/prism/snapshots/seattlerb/pctW_lineno.txt
@@ -4,6 +4,7 @@
@ StatementsNode (location: (1,0)-(5,11))
└── body: (length: 1)
└── @ ArrayNode (location: (1,0)-(5,11))
+ ├── flags: ∅
├── elements: (length: 7)
│ ├── @ StringNode (location: (1,3)-(1,7))
│ │ ├── flags: ∅
@@ -48,5 +49,4 @@
│ ├── closing_loc: ∅
│ └── unescaped: "iy"
├── opening_loc: (1,0)-(1,3) = "%W("
- ├── closing_loc: (5,10)-(5,11) = ")"
- └── flags: ∅
+ └── closing_loc: (5,10)-(5,11) = ")"
diff --git a/test/prism/snapshots/seattlerb/pct_w_heredoc_interp_nested.txt b/test/prism/snapshots/seattlerb/pct_w_heredoc_interp_nested.txt
index 5ce3fa6c55..946f08bc3c 100644
--- a/test/prism/snapshots/seattlerb/pct_w_heredoc_interp_nested.txt
+++ b/test/prism/snapshots/seattlerb/pct_w_heredoc_interp_nested.txt
@@ -4,6 +4,7 @@
@ StatementsNode (location: (1,0)-(4,11))
└── body: (length: 1)
└── @ ArrayNode (location: (1,0)-(4,11))
+ ├── flags: ∅
├── elements: (length: 5)
│ ├── @ StringNode (location: (1,4)-(1,5))
│ │ ├── flags: ∅
@@ -46,5 +47,4 @@
│ ├── closing_loc: ∅
│ └── unescaped: "5"
├── opening_loc: (1,0)-(1,3) = "%W("
- ├── closing_loc: (4,10)-(4,11) = ")"
- └── flags: ∅
+ └── closing_loc: (4,10)-(4,11) = ")"
diff --git a/test/prism/snapshots/seattlerb/pipe_semicolon.txt b/test/prism/snapshots/seattlerb/pipe_semicolon.txt
index 18e7d25a27..3b611021c8 100644
--- a/test/prism/snapshots/seattlerb/pipe_semicolon.txt
+++ b/test/prism/snapshots/seattlerb/pipe_semicolon.txt
@@ -4,8 +4,10 @@
@ StatementsNode (location: (1,0)-(1,18))
└── body: (length: 1)
└── @ CallNode (location: (1,0)-(1,18))
+ ├── flags: ∅
├── receiver:
│ @ CallNode (location: (1,0)-(1,1))
+ │ ├── flags: variable_call
│ ├── receiver: ∅
│ ├── call_operator_loc: ∅
│ ├── name: :a
@@ -13,27 +15,25 @@
│ ├── opening_loc: ∅
│ ├── arguments: ∅
│ ├── closing_loc: ∅
- │ ├── block: ∅
- │ └── flags: variable_call
+ │ └── block: ∅
├── call_operator_loc: (1,1)-(1,2) = "."
├── name: :b
├── message_loc: (1,2)-(1,3) = "b"
├── opening_loc: ∅
├── arguments: ∅
├── closing_loc: ∅
- ├── block:
- │ @ BlockNode (location: (1,4)-(1,18))
- │ ├── locals: [:c]
- │ ├── locals_body_index: 1
- │ ├── parameters:
- │ │ @ BlockParametersNode (location: (1,7)-(1,14))
- │ │ ├── parameters: ∅
- │ │ ├── locals: (length: 1)
- │ │ │ └── @ BlockLocalVariableNode (location: (1,11)-(1,12))
- │ │ │ └── name: :c
- │ │ ├── opening_loc: (1,7)-(1,8) = "|"
- │ │ └── closing_loc: (1,13)-(1,14) = "|"
- │ ├── body: ∅
- │ ├── opening_loc: (1,4)-(1,6) = "do"
- │ └── closing_loc: (1,15)-(1,18) = "end"
- └── flags: ∅
+ └── block:
+ @ BlockNode (location: (1,4)-(1,18))
+ ├── locals: [:c]
+ ├── locals_body_index: 1
+ ├── parameters:
+ │ @ BlockParametersNode (location: (1,7)-(1,14))
+ │ ├── parameters: ∅
+ │ ├── locals: (length: 1)
+ │ │ └── @ BlockLocalVariableNode (location: (1,11)-(1,12))
+ │ │ └── name: :c
+ │ ├── opening_loc: (1,7)-(1,8) = "|"
+ │ └── closing_loc: (1,13)-(1,14) = "|"
+ ├── body: ∅
+ ├── opening_loc: (1,4)-(1,6) = "do"
+ └── closing_loc: (1,15)-(1,18) = "end"
diff --git a/test/prism/snapshots/seattlerb/pipe_space.txt b/test/prism/snapshots/seattlerb/pipe_space.txt
index c04ea4b775..c791d2b117 100644
--- a/test/prism/snapshots/seattlerb/pipe_space.txt
+++ b/test/prism/snapshots/seattlerb/pipe_space.txt
@@ -4,8 +4,10 @@
@ StatementsNode (location: (1,0)-(1,14))
└── body: (length: 1)
└── @ CallNode (location: (1,0)-(1,14))
+ ├── flags: ∅
├── receiver:
│ @ CallNode (location: (1,0)-(1,1))
+ │ ├── flags: variable_call
│ ├── receiver: ∅
│ ├── call_operator_loc: ∅
│ ├── name: :a
@@ -13,25 +15,23 @@
│ ├── opening_loc: ∅
│ ├── arguments: ∅
│ ├── closing_loc: ∅
- │ ├── block: ∅
- │ └── flags: variable_call
+ │ └── block: ∅
├── call_operator_loc: (1,1)-(1,2) = "."
├── name: :b
├── message_loc: (1,2)-(1,3) = "b"
├── opening_loc: ∅
├── arguments: ∅
├── closing_loc: ∅
- ├── block:
- │ @ BlockNode (location: (1,4)-(1,14))
- │ ├── locals: []
- │ ├── locals_body_index: 0
- │ ├── parameters:
- │ │ @ BlockParametersNode (location: (1,7)-(1,10))
- │ │ ├── parameters: ∅
- │ │ ├── locals: (length: 0)
- │ │ ├── opening_loc: (1,7)-(1,8) = "|"
- │ │ └── closing_loc: (1,9)-(1,10) = "|"
- │ ├── body: ∅
- │ ├── opening_loc: (1,4)-(1,6) = "do"
- │ └── closing_loc: (1,11)-(1,14) = "end"
- └── flags: ∅
+ └── block:
+ @ BlockNode (location: (1,4)-(1,14))
+ ├── locals: []
+ ├── locals_body_index: 0
+ ├── parameters:
+ │ @ BlockParametersNode (location: (1,7)-(1,10))
+ │ ├── parameters: ∅
+ │ ├── locals: (length: 0)
+ │ ├── opening_loc: (1,7)-(1,8) = "|"
+ │ └── closing_loc: (1,9)-(1,10) = "|"
+ ├── body: ∅
+ ├── opening_loc: (1,4)-(1,6) = "do"
+ └── closing_loc: (1,11)-(1,14) = "end"
diff --git a/test/prism/snapshots/seattlerb/qWords_space.txt b/test/prism/snapshots/seattlerb/qWords_space.txt
index d8ca822ac2..95ae6d4075 100644
--- a/test/prism/snapshots/seattlerb/qWords_space.txt
+++ b/test/prism/snapshots/seattlerb/qWords_space.txt
@@ -4,7 +4,7 @@
@ StatementsNode (location: (1,0)-(1,5))
└── body: (length: 1)
└── @ ArrayNode (location: (1,0)-(1,5))
+ ├── flags: ∅
├── elements: (length: 0)
├── opening_loc: (1,0)-(1,3) = "%W("
- ├── closing_loc: (1,4)-(1,5) = ")"
- └── flags: ∅
+ └── closing_loc: (1,4)-(1,5) = ")"
diff --git a/test/prism/snapshots/seattlerb/qsymbols.txt b/test/prism/snapshots/seattlerb/qsymbols.txt
index b22155d271..fea12b646a 100644
--- a/test/prism/snapshots/seattlerb/qsymbols.txt
+++ b/test/prism/snapshots/seattlerb/qsymbols.txt
@@ -4,6 +4,7 @@
@ StatementsNode (location: (1,0)-(1,9))
└── body: (length: 1)
└── @ ArrayNode (location: (1,0)-(1,9))
+ ├── flags: ∅
├── elements: (length: 3)
│ ├── @ SymbolNode (location: (1,3)-(1,4))
│ │ ├── opening_loc: ∅
@@ -21,5 +22,4 @@
│ ├── closing_loc: ∅
│ └── unescaped: "c"
├── opening_loc: (1,0)-(1,3) = "%I("
- ├── closing_loc: (1,8)-(1,9) = ")"
- └── flags: ∅
+ └── closing_loc: (1,8)-(1,9) = ")"
diff --git a/test/prism/snapshots/seattlerb/qsymbols_empty.txt b/test/prism/snapshots/seattlerb/qsymbols_empty.txt
index 8505453713..54aa3f77d7 100644
--- a/test/prism/snapshots/seattlerb/qsymbols_empty.txt
+++ b/test/prism/snapshots/seattlerb/qsymbols_empty.txt
@@ -4,7 +4,7 @@
@ StatementsNode (location: (1,0)-(1,4))
└── body: (length: 1)
└── @ ArrayNode (location: (1,0)-(1,4))
+ ├── flags: ∅
├── elements: (length: 0)
├── opening_loc: (1,0)-(1,3) = "%I("
- ├── closing_loc: (1,3)-(1,4) = ")"
- └── flags: ∅
+ └── closing_loc: (1,3)-(1,4) = ")"
diff --git a/test/prism/snapshots/seattlerb/qsymbols_empty_space.txt b/test/prism/snapshots/seattlerb/qsymbols_empty_space.txt
index 46ef892d65..624b922ce6 100644
--- a/test/prism/snapshots/seattlerb/qsymbols_empty_space.txt
+++ b/test/prism/snapshots/seattlerb/qsymbols_empty_space.txt
@@ -4,7 +4,7 @@
@ StatementsNode (location: (1,0)-(1,5))
└── body: (length: 1)
└── @ ArrayNode (location: (1,0)-(1,5))
+ ├── flags: ∅
├── elements: (length: 0)
├── opening_loc: (1,0)-(1,3) = "%I("
- ├── closing_loc: (1,4)-(1,5) = ")"
- └── flags: ∅
+ └── closing_loc: (1,4)-(1,5) = ")"
diff --git a/test/prism/snapshots/seattlerb/qsymbols_interp.txt b/test/prism/snapshots/seattlerb/qsymbols_interp.txt
index 6e240759dd..67645c4053 100644
--- a/test/prism/snapshots/seattlerb/qsymbols_interp.txt
+++ b/test/prism/snapshots/seattlerb/qsymbols_interp.txt
@@ -4,6 +4,7 @@
@ StatementsNode (location: (1,0)-(1,15))
└── body: (length: 1)
└── @ ArrayNode (location: (1,0)-(1,15))
+ ├── flags: ∅
├── elements: (length: 3)
│ ├── @ SymbolNode (location: (1,3)-(1,4))
│ │ ├── opening_loc: ∅
@@ -25,6 +26,7 @@
│ │ │ │ @ StatementsNode (location: (1,8)-(1,11))
│ │ │ │ └── body: (length: 1)
│ │ │ │ └── @ CallNode (location: (1,8)-(1,11))
+ │ │ │ │ ├── flags: ∅
│ │ │ │ ├── receiver:
│ │ │ │ │ @ IntegerNode (location: (1,8)-(1,9))
│ │ │ │ │ └── flags: decimal
@@ -34,13 +36,12 @@
│ │ │ │ ├── opening_loc: ∅
│ │ │ │ ├── arguments:
│ │ │ │ │ @ ArgumentsNode (location: (1,10)-(1,11))
- │ │ │ │ │ ├── arguments: (length: 1)
- │ │ │ │ │ │ └── @ IntegerNode (location: (1,10)-(1,11))
- │ │ │ │ │ │ └── flags: decimal
- │ │ │ │ │ └── flags: ∅
+ │ │ │ │ │ ├── flags: ∅
+ │ │ │ │ │ └── arguments: (length: 1)
+ │ │ │ │ │ └── @ IntegerNode (location: (1,10)-(1,11))
+ │ │ │ │ │ └── flags: decimal
│ │ │ │ ├── closing_loc: ∅
- │ │ │ │ ├── block: ∅
- │ │ │ │ └── flags: ∅
+ │ │ │ │ └── block: ∅
│ │ │ └── closing_loc: (1,11)-(1,12) = "}"
│ │ └── closing_loc: ∅
│ └── @ SymbolNode (location: (1,13)-(1,14))
@@ -49,5 +50,4 @@
│ ├── closing_loc: ∅
│ └── unescaped: "c"
├── opening_loc: (1,0)-(1,3) = "%I("
- ├── closing_loc: (1,14)-(1,15) = ")"
- └── flags: ∅
+ └── closing_loc: (1,14)-(1,15) = ")"
diff --git a/test/prism/snapshots/seattlerb/quoted_symbol_hash_arg.txt b/test/prism/snapshots/seattlerb/quoted_symbol_hash_arg.txt
index cdaf54b6c8..9727fac0a0 100644
--- a/test/prism/snapshots/seattlerb/quoted_symbol_hash_arg.txt
+++ b/test/prism/snapshots/seattlerb/quoted_symbol_hash_arg.txt
@@ -4,6 +4,7 @@
@ StatementsNode (location: (1,0)-(1,12))
└── body: (length: 1)
└── @ CallNode (location: (1,0)-(1,12))
+ ├── flags: ∅
├── receiver: ∅
├── call_operator_loc: ∅
├── name: :puts
@@ -11,23 +12,22 @@
├── opening_loc: ∅
├── arguments:
│ @ ArgumentsNode (location: (1,5)-(1,12))
- │ ├── arguments: (length: 1)
- │ │ └── @ KeywordHashNode (location: (1,5)-(1,12))
- │ │ └── elements: (length: 1)
- │ │ └── @ AssocNode (location: (1,5)-(1,12))
- │ │ ├── key:
- │ │ │ @ SymbolNode (location: (1,5)-(1,9))
- │ │ │ ├── opening_loc: (1,5)-(1,6) = "'"
- │ │ │ ├── value_loc: (1,6)-(1,7) = "a"
- │ │ │ ├── closing_loc: (1,7)-(1,9) = "':"
- │ │ │ └── unescaped: "a"
- │ │ ├── value:
- │ │ │ @ HashNode (location: (1,10)-(1,12))
- │ │ │ ├── opening_loc: (1,10)-(1,11) = "{"
- │ │ │ ├── elements: (length: 0)
- │ │ │ └── closing_loc: (1,11)-(1,12) = "}"
- │ │ └── operator_loc: ∅
- │ └── flags: ∅
+ │ ├── flags: ∅
+ │ └── arguments: (length: 1)
+ │ └── @ KeywordHashNode (location: (1,5)-(1,12))
+ │ └── elements: (length: 1)
+ │ └── @ AssocNode (location: (1,5)-(1,12))
+ │ ├── key:
+ │ │ @ SymbolNode (location: (1,5)-(1,9))
+ │ │ ├── opening_loc: (1,5)-(1,6) = "'"
+ │ │ ├── value_loc: (1,6)-(1,7) = "a"
+ │ │ ├── closing_loc: (1,7)-(1,9) = "':"
+ │ │ └── unescaped: "a"
+ │ ├── value:
+ │ │ @ HashNode (location: (1,10)-(1,12))
+ │ │ ├── opening_loc: (1,10)-(1,11) = "{"
+ │ │ ├── elements: (length: 0)
+ │ │ └── closing_loc: (1,11)-(1,12) = "}"
+ │ └── operator_loc: ∅
├── closing_loc: ∅
- ├── block: ∅
- └── flags: ∅
+ └── block: ∅
diff --git a/test/prism/snapshots/seattlerb/qwords_empty.txt b/test/prism/snapshots/seattlerb/qwords_empty.txt
index 4f50f52cbb..f9915c97c9 100644
--- a/test/prism/snapshots/seattlerb/qwords_empty.txt
+++ b/test/prism/snapshots/seattlerb/qwords_empty.txt
@@ -4,7 +4,7 @@
@ StatementsNode (location: (1,0)-(1,4))
└── body: (length: 1)
└── @ ArrayNode (location: (1,0)-(1,4))
+ ├── flags: ∅
├── elements: (length: 0)
├── opening_loc: (1,0)-(1,3) = "%w("
- ├── closing_loc: (1,3)-(1,4) = ")"
- └── flags: ∅
+ └── closing_loc: (1,3)-(1,4) = ")"
diff --git a/test/prism/snapshots/seattlerb/regexp.txt b/test/prism/snapshots/seattlerb/regexp.txt
index fead46a8be..abe17918e5 100644
--- a/test/prism/snapshots/seattlerb/regexp.txt
+++ b/test/prism/snapshots/seattlerb/regexp.txt
@@ -4,32 +4,32 @@
@ StatementsNode (location: (1,0)-(9,13))
└── body: (length: 5)
├── @ RegularExpressionNode (location: (1,0)-(1,5))
+ │ ├── flags: ∅
│ ├── opening_loc: (1,0)-(1,1) = "/"
│ ├── content_loc: (1,1)-(1,4) = "wtf"
│ ├── closing_loc: (1,4)-(1,5) = "/"
- │ ├── unescaped: "wtf"
- │ └── flags: ∅
+ │ └── unescaped: "wtf"
├── @ RegularExpressionNode (location: (3,0)-(3,6))
+ │ ├── flags: multi_line
│ ├── opening_loc: (3,0)-(3,1) = "/"
│ ├── content_loc: (3,1)-(3,4) = "wtf"
│ ├── closing_loc: (3,4)-(3,6) = "/m"
- │ ├── unescaped: "wtf"
- │ └── flags: multi_line
+ │ └── unescaped: "wtf"
├── @ RegularExpressionNode (location: (5,0)-(5,6))
+ │ ├── flags: ascii_8bit
│ ├── opening_loc: (5,0)-(5,1) = "/"
│ ├── content_loc: (5,1)-(5,4) = "wtf"
│ ├── closing_loc: (5,4)-(5,6) = "/n"
- │ ├── unescaped: "wtf"
- │ └── flags: ascii_8bit
+ │ └── unescaped: "wtf"
├── @ RegularExpressionNode (location: (7,0)-(7,7))
+ │ ├── flags: multi_line, ascii_8bit
│ ├── opening_loc: (7,0)-(7,1) = "/"
│ ├── content_loc: (7,1)-(7,4) = "wtf"
│ ├── closing_loc: (7,4)-(7,7) = "/nm"
- │ ├── unescaped: "wtf"
- │ └── flags: multi_line, ascii_8bit
+ │ └── unescaped: "wtf"
└── @ RegularExpressionNode (location: (9,0)-(9,13))
+ ├── flags: multi_line, ascii_8bit
├── opening_loc: (9,0)-(9,1) = "/"
├── content_loc: (9,1)-(9,4) = "wtf"
├── closing_loc: (9,4)-(9,13) = "/nmnmnmnm"
- ├── unescaped: "wtf"
- └── flags: multi_line, ascii_8bit
+ └── unescaped: "wtf"
diff --git a/test/prism/snapshots/seattlerb/regexp_esc_C_slash.txt b/test/prism/snapshots/seattlerb/regexp_esc_C_slash.txt
index caf67b892d..b6bf242612 100644
--- a/test/prism/snapshots/seattlerb/regexp_esc_C_slash.txt
+++ b/test/prism/snapshots/seattlerb/regexp_esc_C_slash.txt
@@ -4,8 +4,8 @@
@ StatementsNode (location: (1,0)-(1,7))
└── body: (length: 1)
└── @ RegularExpressionNode (location: (1,0)-(1,7))
+ ├── flags: ∅
├── opening_loc: (1,0)-(1,1) = "/"
├── content_loc: (1,1)-(1,6) = "\\cC\\d"
├── closing_loc: (1,6)-(1,7) = "/"
- ├── unescaped: "\\x03\\d"
- └── flags: ∅
+ └── unescaped: "\\x03\\d"
diff --git a/test/prism/snapshots/seattlerb/regexp_esc_u.txt b/test/prism/snapshots/seattlerb/regexp_esc_u.txt
index ea6bbb6141..7b1ebdc636 100644
--- a/test/prism/snapshots/seattlerb/regexp_esc_u.txt
+++ b/test/prism/snapshots/seattlerb/regexp_esc_u.txt
@@ -4,8 +4,8 @@
@ StatementsNode (location: (1,0)-(1,17))
└── body: (length: 1)
└── @ RegularExpressionNode (location: (1,0)-(1,17))
+ ├── flags: ∅
├── opening_loc: (1,0)-(1,1) = "/"
├── content_loc: (1,1)-(1,16) = "[\\u0021-\\u0027]"
├── closing_loc: (1,16)-(1,17) = "/"
- ├── unescaped: "[\\u0021-\\u0027]"
- └── flags: ∅
+ └── unescaped: "[\\u0021-\\u0027]"
diff --git a/test/prism/snapshots/seattlerb/regexp_escape_extended.txt b/test/prism/snapshots/seattlerb/regexp_escape_extended.txt
index a8fb9a56f0..6568d2bd92 100644
--- a/test/prism/snapshots/seattlerb/regexp_escape_extended.txt
+++ b/test/prism/snapshots/seattlerb/regexp_escape_extended.txt
@@ -4,8 +4,8 @@
@ StatementsNode (location: (1,0)-(1,6))
└── body: (length: 1)
└── @ RegularExpressionNode (location: (1,0)-(1,6))
+ ├── flags: ∅
├── opening_loc: (1,0)-(1,1) = "/"
├── content_loc: (1,1)-(1,5) = "\\“"
├── closing_loc: (1,5)-(1,6) = "/"
- ├── unescaped: "“"
- └── flags: ∅
+ └── unescaped: "“"
diff --git a/test/prism/snapshots/seattlerb/regexp_unicode_curlies.txt b/test/prism/snapshots/seattlerb/regexp_unicode_curlies.txt
index 74e8b52787..8dd265af5f 100644
--- a/test/prism/snapshots/seattlerb/regexp_unicode_curlies.txt
+++ b/test/prism/snapshots/seattlerb/regexp_unicode_curlies.txt
@@ -4,14 +4,14 @@
@ StatementsNode (location: (1,0)-(3,8))
└── body: (length: 2)
├── @ RegularExpressionNode (location: (1,0)-(1,15))
+ │ ├── flags: ∅
│ ├── opening_loc: (1,0)-(1,1) = "/"
│ ├── content_loc: (1,1)-(1,14) = "\\u{c0de babe}"
│ ├── closing_loc: (1,14)-(1,15) = "/"
- │ ├── unescaped: "\\u{c0de babe}"
- │ └── flags: ∅
+ │ └── unescaped: "\\u{c0de babe}"
└── @ RegularExpressionNode (location: (3,0)-(3,8))
+ ├── flags: ∅
├── opening_loc: (3,0)-(3,1) = "/"
├── content_loc: (3,1)-(3,7) = "\\u{df}"
├── closing_loc: (3,7)-(3,8) = "/"
- ├── unescaped: "\\u{df}"
- └── flags: ∅
+ └── unescaped: "\\u{df}"
diff --git a/test/prism/snapshots/seattlerb/rescue_do_end_ensure_result.txt b/test/prism/snapshots/seattlerb/rescue_do_end_ensure_result.txt
index fa67add940..4dd724b36b 100644
--- a/test/prism/snapshots/seattlerb/rescue_do_end_ensure_result.txt
+++ b/test/prism/snapshots/seattlerb/rescue_do_end_ensure_result.txt
@@ -4,8 +4,10 @@
@ StatementsNode (location: (1,0)-(5,8))
└── body: (length: 1)
└── @ CallNode (location: (1,0)-(5,8))
+ ├── flags: ∅
├── receiver:
│ @ CallNode (location: (1,0)-(5,3))
+ │ ├── flags: ∅
│ ├── receiver: ∅
│ ├── call_operator_loc: ∅
│ ├── name: :proc
@@ -13,45 +15,43 @@
│ ├── opening_loc: ∅
│ ├── arguments: ∅
│ ├── closing_loc: ∅
- │ ├── block:
- │ │ @ BlockNode (location: (1,5)-(5,3))
- │ │ ├── locals: []
- │ │ ├── locals_body_index: 0
- │ │ ├── parameters: ∅
- │ │ ├── body:
- │ │ │ @ BeginNode (location: (2,2)-(5,3))
- │ │ │ ├── begin_keyword_loc: ∅
- │ │ │ ├── statements:
- │ │ │ │ @ StatementsNode (location: (2,2)-(2,8))
- │ │ │ │ └── body: (length: 1)
- │ │ │ │ └── @ SymbolNode (location: (2,2)-(2,8))
- │ │ │ │ ├── opening_loc: (2,2)-(2,3) = ":"
- │ │ │ │ ├── value_loc: (2,3)-(2,8) = "begin"
- │ │ │ │ ├── closing_loc: ∅
- │ │ │ │ └── unescaped: "begin"
- │ │ │ ├── rescue_clause: ∅
- │ │ │ ├── else_clause: ∅
- │ │ │ ├── ensure_clause:
- │ │ │ │ @ EnsureNode (location: (3,0)-(5,3))
- │ │ │ │ ├── ensure_keyword_loc: (3,0)-(3,6) = "ensure"
- │ │ │ │ ├── statements:
- │ │ │ │ │ @ StatementsNode (location: (4,2)-(4,9))
- │ │ │ │ │ └── body: (length: 1)
- │ │ │ │ │ └── @ SymbolNode (location: (4,2)-(4,9))
- │ │ │ │ │ ├── opening_loc: (4,2)-(4,3) = ":"
- │ │ │ │ │ ├── value_loc: (4,3)-(4,9) = "ensure"
- │ │ │ │ │ ├── closing_loc: ∅
- │ │ │ │ │ └── unescaped: "ensure"
- │ │ │ │ └── end_keyword_loc: (5,0)-(5,3) = "end"
- │ │ │ └── end_keyword_loc: (5,0)-(5,3) = "end"
- │ │ ├── opening_loc: (1,5)-(1,7) = "do"
- │ │ └── closing_loc: (5,0)-(5,3) = "end"
- │ └── flags: ∅
+ │ └── block:
+ │ @ BlockNode (location: (1,5)-(5,3))
+ │ ├── locals: []
+ │ ├── locals_body_index: 0
+ │ ├── parameters: ∅
+ │ ├── body:
+ │ │ @ BeginNode (location: (2,2)-(5,3))
+ │ │ ├── begin_keyword_loc: ∅
+ │ │ ├── statements:
+ │ │ │ @ StatementsNode (location: (2,2)-(2,8))
+ │ │ │ └── body: (length: 1)
+ │ │ │ └── @ SymbolNode (location: (2,2)-(2,8))
+ │ │ │ ├── opening_loc: (2,2)-(2,3) = ":"
+ │ │ │ ├── value_loc: (2,3)-(2,8) = "begin"
+ │ │ │ ├── closing_loc: ∅
+ │ │ │ └── unescaped: "begin"
+ │ │ ├── rescue_clause: ∅
+ │ │ ├── else_clause: ∅
+ │ │ ├── ensure_clause:
+ │ │ │ @ EnsureNode (location: (3,0)-(5,3))
+ │ │ │ ├── ensure_keyword_loc: (3,0)-(3,6) = "ensure"
+ │ │ │ ├── statements:
+ │ │ │ │ @ StatementsNode (location: (4,2)-(4,9))
+ │ │ │ │ └── body: (length: 1)
+ │ │ │ │ └── @ SymbolNode (location: (4,2)-(4,9))
+ │ │ │ │ ├── opening_loc: (4,2)-(4,3) = ":"
+ │ │ │ │ ├── value_loc: (4,3)-(4,9) = "ensure"
+ │ │ │ │ ├── closing_loc: ∅
+ │ │ │ │ └── unescaped: "ensure"
+ │ │ │ └── end_keyword_loc: (5,0)-(5,3) = "end"
+ │ │ └── end_keyword_loc: (5,0)-(5,3) = "end"
+ │ ├── opening_loc: (1,5)-(1,7) = "do"
+ │ └── closing_loc: (5,0)-(5,3) = "end"
├── call_operator_loc: (5,3)-(5,4) = "."
├── name: :call
├── message_loc: (5,4)-(5,8) = "call"
├── opening_loc: ∅
├── arguments: ∅
├── closing_loc: ∅
- ├── block: ∅
- └── flags: ∅
+ └── block: ∅
diff --git a/test/prism/snapshots/seattlerb/rescue_do_end_no_raise.txt b/test/prism/snapshots/seattlerb/rescue_do_end_no_raise.txt
index 2f2b21602f..06cff0804b 100644
--- a/test/prism/snapshots/seattlerb/rescue_do_end_no_raise.txt
+++ b/test/prism/snapshots/seattlerb/rescue_do_end_no_raise.txt
@@ -4,6 +4,7 @@
@ StatementsNode (location: (1,0)-(9,3))
└── body: (length: 1)
└── @ CallNode (location: (1,0)-(9,3))
+ ├── flags: ∅
├── receiver: ∅
├── call_operator_loc: ∅
├── name: :tap
@@ -11,62 +12,61 @@
├── opening_loc: ∅
├── arguments: ∅
├── closing_loc: ∅
- ├── block:
- │ @ BlockNode (location: (1,4)-(9,3))
- │ ├── locals: []
- │ ├── locals_body_index: 0
- │ ├── parameters: ∅
- │ ├── body:
- │ │ @ BeginNode (location: (2,2)-(9,3))
- │ │ ├── begin_keyword_loc: ∅
- │ │ ├── statements:
- │ │ │ @ StatementsNode (location: (2,2)-(2,8))
- │ │ │ └── body: (length: 1)
- │ │ │ └── @ SymbolNode (location: (2,2)-(2,8))
- │ │ │ ├── opening_loc: (2,2)-(2,3) = ":"
- │ │ │ ├── value_loc: (2,3)-(2,8) = "begin"
- │ │ │ ├── closing_loc: ∅
- │ │ │ └── unescaped: "begin"
- │ │ ├── rescue_clause:
- │ │ │ @ RescueNode (location: (3,0)-(4,9))
- │ │ │ ├── keyword_loc: (3,0)-(3,6) = "rescue"
- │ │ │ ├── exceptions: (length: 0)
- │ │ │ ├── operator_loc: ∅
- │ │ │ ├── reference: ∅
- │ │ │ ├── statements:
- │ │ │ │ @ StatementsNode (location: (4,2)-(4,9))
- │ │ │ │ └── body: (length: 1)
- │ │ │ │ └── @ SymbolNode (location: (4,2)-(4,9))
- │ │ │ │ ├── opening_loc: (4,2)-(4,3) = ":"
- │ │ │ │ ├── value_loc: (4,3)-(4,9) = "rescue"
- │ │ │ │ ├── closing_loc: ∅
- │ │ │ │ └── unescaped: "rescue"
- │ │ │ └── consequent: ∅
- │ │ ├── else_clause:
- │ │ │ @ ElseNode (location: (5,0)-(7,6))
- │ │ │ ├── else_keyword_loc: (5,0)-(5,4) = "else"
- │ │ │ ├── statements:
- │ │ │ │ @ StatementsNode (location: (6,2)-(6,7))
- │ │ │ │ └── body: (length: 1)
- │ │ │ │ └── @ SymbolNode (location: (6,2)-(6,7))
- │ │ │ │ ├── opening_loc: (6,2)-(6,3) = ":"
- │ │ │ │ ├── value_loc: (6,3)-(6,7) = "else"
- │ │ │ │ ├── closing_loc: ∅
- │ │ │ │ └── unescaped: "else"
- │ │ │ └── end_keyword_loc: (7,0)-(7,6) = "ensure"
- │ │ ├── ensure_clause:
- │ │ │ @ EnsureNode (location: (7,0)-(9,3))
- │ │ │ ├── ensure_keyword_loc: (7,0)-(7,6) = "ensure"
- │ │ │ ├── statements:
- │ │ │ │ @ StatementsNode (location: (8,2)-(8,9))
- │ │ │ │ └── body: (length: 1)
- │ │ │ │ └── @ SymbolNode (location: (8,2)-(8,9))
- │ │ │ │ ├── opening_loc: (8,2)-(8,3) = ":"
- │ │ │ │ ├── value_loc: (8,3)-(8,9) = "ensure"
- │ │ │ │ ├── closing_loc: ∅
- │ │ │ │ └── unescaped: "ensure"
- │ │ │ └── end_keyword_loc: (9,0)-(9,3) = "end"
- │ │ └── end_keyword_loc: (9,0)-(9,3) = "end"
- │ ├── opening_loc: (1,4)-(1,6) = "do"
- │ └── closing_loc: (9,0)-(9,3) = "end"
- └── flags: ∅
+ └── block:
+ @ BlockNode (location: (1,4)-(9,3))
+ ├── locals: []
+ ├── locals_body_index: 0
+ ├── parameters: ∅
+ ├── body:
+ │ @ BeginNode (location: (2,2)-(9,3))
+ │ ├── begin_keyword_loc: ∅
+ │ ├── statements:
+ │ │ @ StatementsNode (location: (2,2)-(2,8))
+ │ │ └── body: (length: 1)
+ │ │ └── @ SymbolNode (location: (2,2)-(2,8))
+ │ │ ├── opening_loc: (2,2)-(2,3) = ":"
+ │ │ ├── value_loc: (2,3)-(2,8) = "begin"
+ │ │ ├── closing_loc: ∅
+ │ │ └── unescaped: "begin"
+ │ ├── rescue_clause:
+ │ │ @ RescueNode (location: (3,0)-(4,9))
+ │ │ ├── keyword_loc: (3,0)-(3,6) = "rescue"
+ │ │ ├── exceptions: (length: 0)
+ │ │ ├── operator_loc: ∅
+ │ │ ├── reference: ∅
+ │ │ ├── statements:
+ │ │ │ @ StatementsNode (location: (4,2)-(4,9))
+ │ │ │ └── body: (length: 1)
+ │ │ │ └── @ SymbolNode (location: (4,2)-(4,9))
+ │ │ │ ├── opening_loc: (4,2)-(4,3) = ":"
+ │ │ │ ├── value_loc: (4,3)-(4,9) = "rescue"
+ │ │ │ ├── closing_loc: ∅
+ │ │ │ └── unescaped: "rescue"
+ │ │ └── consequent: ∅
+ │ ├── else_clause:
+ │ │ @ ElseNode (location: (5,0)-(7,6))
+ │ │ ├── else_keyword_loc: (5,0)-(5,4) = "else"
+ │ │ ├── statements:
+ │ │ │ @ StatementsNode (location: (6,2)-(6,7))
+ │ │ │ └── body: (length: 1)
+ │ │ │ └── @ SymbolNode (location: (6,2)-(6,7))
+ │ │ │ ├── opening_loc: (6,2)-(6,3) = ":"
+ │ │ │ ├── value_loc: (6,3)-(6,7) = "else"
+ │ │ │ ├── closing_loc: ∅
+ │ │ │ └── unescaped: "else"
+ │ │ └── end_keyword_loc: (7,0)-(7,6) = "ensure"
+ │ ├── ensure_clause:
+ │ │ @ EnsureNode (location: (7,0)-(9,3))
+ │ │ ├── ensure_keyword_loc: (7,0)-(7,6) = "ensure"
+ │ │ ├── statements:
+ │ │ │ @ StatementsNode (location: (8,2)-(8,9))
+ │ │ │ └── body: (length: 1)
+ │ │ │ └── @ SymbolNode (location: (8,2)-(8,9))
+ │ │ │ ├── opening_loc: (8,2)-(8,3) = ":"
+ │ │ │ ├── value_loc: (8,3)-(8,9) = "ensure"
+ │ │ │ ├── closing_loc: ∅
+ │ │ │ └── unescaped: "ensure"
+ │ │ └── end_keyword_loc: (9,0)-(9,3) = "end"
+ │ └── end_keyword_loc: (9,0)-(9,3) = "end"
+ ├── opening_loc: (1,4)-(1,6) = "do"
+ └── closing_loc: (9,0)-(9,3) = "end"
diff --git a/test/prism/snapshots/seattlerb/rescue_do_end_raised.txt b/test/prism/snapshots/seattlerb/rescue_do_end_raised.txt
index ca565cb6d8..e4eedae9a8 100644
--- a/test/prism/snapshots/seattlerb/rescue_do_end_raised.txt
+++ b/test/prism/snapshots/seattlerb/rescue_do_end_raised.txt
@@ -4,6 +4,7 @@
@ StatementsNode (location: (1,0)-(5,3))
└── body: (length: 1)
└── @ CallNode (location: (1,0)-(5,3))
+ ├── flags: ∅
├── receiver: ∅
├── call_operator_loc: ∅
├── name: :tap
@@ -11,42 +12,41 @@
├── opening_loc: ∅
├── arguments: ∅
├── closing_loc: ∅
- ├── block:
- │ @ BlockNode (location: (1,4)-(5,3))
- │ ├── locals: []
- │ ├── locals_body_index: 0
- │ ├── parameters: ∅
- │ ├── body:
- │ │ @ BeginNode (location: (2,2)-(5,3))
- │ │ ├── begin_keyword_loc: ∅
- │ │ ├── statements:
- │ │ │ @ StatementsNode (location: (2,2)-(2,7))
- │ │ │ └── body: (length: 1)
- │ │ │ └── @ CallNode (location: (2,2)-(2,7))
- │ │ │ ├── receiver: ∅
- │ │ │ ├── call_operator_loc: ∅
- │ │ │ ├── name: :raise
- │ │ │ ├── message_loc: (2,2)-(2,7) = "raise"
- │ │ │ ├── opening_loc: ∅
- │ │ │ ├── arguments: ∅
- │ │ │ ├── closing_loc: ∅
- │ │ │ ├── block: ∅
- │ │ │ └── flags: variable_call
- │ │ ├── rescue_clause: ∅
- │ │ ├── else_clause: ∅
- │ │ ├── ensure_clause:
- │ │ │ @ EnsureNode (location: (3,0)-(5,3))
- │ │ │ ├── ensure_keyword_loc: (3,0)-(3,6) = "ensure"
- │ │ │ ├── statements:
- │ │ │ │ @ StatementsNode (location: (4,2)-(4,9))
- │ │ │ │ └── body: (length: 1)
- │ │ │ │ └── @ SymbolNode (location: (4,2)-(4,9))
- │ │ │ │ ├── opening_loc: (4,2)-(4,3) = ":"
- │ │ │ │ ├── value_loc: (4,3)-(4,9) = "ensure"
- │ │ │ │ ├── closing_loc: ∅
- │ │ │ │ └── unescaped: "ensure"
- │ │ │ └── end_keyword_loc: (5,0)-(5,3) = "end"
- │ │ └── end_keyword_loc: (5,0)-(5,3) = "end"
- │ ├── opening_loc: (1,4)-(1,6) = "do"
- │ └── closing_loc: (5,0)-(5,3) = "end"
- └── flags: ∅
+ └── block:
+ @ BlockNode (location: (1,4)-(5,3))
+ ├── locals: []
+ ├── locals_body_index: 0
+ ├── parameters: ∅
+ ├── body:
+ │ @ BeginNode (location: (2,2)-(5,3))
+ │ ├── begin_keyword_loc: ∅
+ │ ├── statements:
+ │ │ @ StatementsNode (location: (2,2)-(2,7))
+ │ │ └── body: (length: 1)
+ │ │ └── @ CallNode (location: (2,2)-(2,7))
+ │ │ ├── flags: variable_call
+ │ │ ├── receiver: ∅
+ │ │ ├── call_operator_loc: ∅
+ │ │ ├── name: :raise
+ │ │ ├── message_loc: (2,2)-(2,7) = "raise"
+ │ │ ├── opening_loc: ∅
+ │ │ ├── arguments: ∅
+ │ │ ├── closing_loc: ∅
+ │ │ └── block: ∅
+ │ ├── rescue_clause: ∅
+ │ ├── else_clause: ∅
+ │ ├── ensure_clause:
+ │ │ @ EnsureNode (location: (3,0)-(5,3))
+ │ │ ├── ensure_keyword_loc: (3,0)-(3,6) = "ensure"
+ │ │ ├── statements:
+ │ │ │ @ StatementsNode (location: (4,2)-(4,9))
+ │ │ │ └── body: (length: 1)
+ │ │ │ └── @ SymbolNode (location: (4,2)-(4,9))
+ │ │ │ ├── opening_loc: (4,2)-(4,3) = ":"
+ │ │ │ ├── value_loc: (4,3)-(4,9) = "ensure"
+ │ │ │ ├── closing_loc: ∅
+ │ │ │ └── unescaped: "ensure"
+ │ │ └── end_keyword_loc: (5,0)-(5,3) = "end"
+ │ └── end_keyword_loc: (5,0)-(5,3) = "end"
+ ├── opening_loc: (1,4)-(1,6) = "do"
+ └── closing_loc: (5,0)-(5,3) = "end"
diff --git a/test/prism/snapshots/seattlerb/rescue_do_end_rescued.txt b/test/prism/snapshots/seattlerb/rescue_do_end_rescued.txt
index 69ae4d1173..8beab662e6 100644
--- a/test/prism/snapshots/seattlerb/rescue_do_end_rescued.txt
+++ b/test/prism/snapshots/seattlerb/rescue_do_end_rescued.txt
@@ -4,6 +4,7 @@
@ StatementsNode (location: (1,0)-(9,3))
└── body: (length: 1)
└── @ CallNode (location: (1,0)-(9,3))
+ ├── flags: ∅
├── receiver: ∅
├── call_operator_loc: ∅
├── name: :tap
@@ -11,67 +12,66 @@
├── opening_loc: ∅
├── arguments: ∅
├── closing_loc: ∅
- ├── block:
- │ @ BlockNode (location: (1,4)-(9,3))
- │ ├── locals: []
- │ ├── locals_body_index: 0
- │ ├── parameters: ∅
- │ ├── body:
- │ │ @ BeginNode (location: (2,2)-(9,3))
- │ │ ├── begin_keyword_loc: ∅
- │ │ ├── statements:
- │ │ │ @ StatementsNode (location: (2,2)-(2,7))
- │ │ │ └── body: (length: 1)
- │ │ │ └── @ CallNode (location: (2,2)-(2,7))
- │ │ │ ├── receiver: ∅
- │ │ │ ├── call_operator_loc: ∅
- │ │ │ ├── name: :raise
- │ │ │ ├── message_loc: (2,2)-(2,7) = "raise"
- │ │ │ ├── opening_loc: ∅
- │ │ │ ├── arguments: ∅
- │ │ │ ├── closing_loc: ∅
- │ │ │ ├── block: ∅
- │ │ │ └── flags: variable_call
- │ │ ├── rescue_clause:
- │ │ │ @ RescueNode (location: (3,0)-(4,9))
- │ │ │ ├── keyword_loc: (3,0)-(3,6) = "rescue"
- │ │ │ ├── exceptions: (length: 0)
- │ │ │ ├── operator_loc: ∅
- │ │ │ ├── reference: ∅
- │ │ │ ├── statements:
- │ │ │ │ @ StatementsNode (location: (4,2)-(4,9))
- │ │ │ │ └── body: (length: 1)
- │ │ │ │ └── @ SymbolNode (location: (4,2)-(4,9))
- │ │ │ │ ├── opening_loc: (4,2)-(4,3) = ":"
- │ │ │ │ ├── value_loc: (4,3)-(4,9) = "rescue"
- │ │ │ │ ├── closing_loc: ∅
- │ │ │ │ └── unescaped: "rescue"
- │ │ │ └── consequent: ∅
- │ │ ├── else_clause:
- │ │ │ @ ElseNode (location: (5,0)-(7,6))
- │ │ │ ├── else_keyword_loc: (5,0)-(5,4) = "else"
- │ │ │ ├── statements:
- │ │ │ │ @ StatementsNode (location: (6,2)-(6,7))
- │ │ │ │ └── body: (length: 1)
- │ │ │ │ └── @ SymbolNode (location: (6,2)-(6,7))
- │ │ │ │ ├── opening_loc: (6,2)-(6,3) = ":"
- │ │ │ │ ├── value_loc: (6,3)-(6,7) = "else"
- │ │ │ │ ├── closing_loc: ∅
- │ │ │ │ └── unescaped: "else"
- │ │ │ └── end_keyword_loc: (7,0)-(7,6) = "ensure"
- │ │ ├── ensure_clause:
- │ │ │ @ EnsureNode (location: (7,0)-(9,3))
- │ │ │ ├── ensure_keyword_loc: (7,0)-(7,6) = "ensure"
- │ │ │ ├── statements:
- │ │ │ │ @ StatementsNode (location: (8,2)-(8,9))
- │ │ │ │ └── body: (length: 1)
- │ │ │ │ └── @ SymbolNode (location: (8,2)-(8,9))
- │ │ │ │ ├── opening_loc: (8,2)-(8,3) = ":"
- │ │ │ │ ├── value_loc: (8,3)-(8,9) = "ensure"
- │ │ │ │ ├── closing_loc: ∅
- │ │ │ │ └── unescaped: "ensure"
- │ │ │ └── end_keyword_loc: (9,0)-(9,3) = "end"
- │ │ └── end_keyword_loc: (9,0)-(9,3) = "end"
- │ ├── opening_loc: (1,4)-(1,6) = "do"
- │ └── closing_loc: (9,0)-(9,3) = "end"
- └── flags: ∅
+ └── block:
+ @ BlockNode (location: (1,4)-(9,3))
+ ├── locals: []
+ ├── locals_body_index: 0
+ ├── parameters: ∅
+ ├── body:
+ │ @ BeginNode (location: (2,2)-(9,3))
+ │ ├── begin_keyword_loc: ∅
+ │ ├── statements:
+ │ │ @ StatementsNode (location: (2,2)-(2,7))
+ │ │ └── body: (length: 1)
+ │ │ └── @ CallNode (location: (2,2)-(2,7))
+ │ │ ├── flags: variable_call
+ │ │ ├── receiver: ∅
+ │ │ ├── call_operator_loc: ∅
+ │ │ ├── name: :raise
+ │ │ ├── message_loc: (2,2)-(2,7) = "raise"
+ │ │ ├── opening_loc: ∅
+ │ │ ├── arguments: ∅
+ │ │ ├── closing_loc: ∅
+ │ │ └── block: ∅
+ │ ├── rescue_clause:
+ │ │ @ RescueNode (location: (3,0)-(4,9))
+ │ │ ├── keyword_loc: (3,0)-(3,6) = "rescue"
+ │ │ ├── exceptions: (length: 0)
+ │ │ ├── operator_loc: ∅
+ │ │ ├── reference: ∅
+ │ │ ├── statements:
+ │ │ │ @ StatementsNode (location: (4,2)-(4,9))
+ │ │ │ └── body: (length: 1)
+ │ │ │ └── @ SymbolNode (location: (4,2)-(4,9))
+ │ │ │ ├── opening_loc: (4,2)-(4,3) = ":"
+ │ │ │ ├── value_loc: (4,3)-(4,9) = "rescue"
+ │ │ │ ├── closing_loc: ∅
+ │ │ │ └── unescaped: "rescue"
+ │ │ └── consequent: ∅
+ │ ├── else_clause:
+ │ │ @ ElseNode (location: (5,0)-(7,6))
+ │ │ ├── else_keyword_loc: (5,0)-(5,4) = "else"
+ │ │ ├── statements:
+ │ │ │ @ StatementsNode (location: (6,2)-(6,7))
+ │ │ │ └── body: (length: 1)
+ │ │ │ └── @ SymbolNode (location: (6,2)-(6,7))
+ │ │ │ ├── opening_loc: (6,2)-(6,3) = ":"
+ │ │ │ ├── value_loc: (6,3)-(6,7) = "else"
+ │ │ │ ├── closing_loc: ∅
+ │ │ │ └── unescaped: "else"
+ │ │ └── end_keyword_loc: (7,0)-(7,6) = "ensure"
+ │ ├── ensure_clause:
+ │ │ @ EnsureNode (location: (7,0)-(9,3))
+ │ │ ├── ensure_keyword_loc: (7,0)-(7,6) = "ensure"
+ │ │ ├── statements:
+ │ │ │ @ StatementsNode (location: (8,2)-(8,9))
+ │ │ │ └── body: (length: 1)
+ │ │ │ └── @ SymbolNode (location: (8,2)-(8,9))
+ │ │ │ ├── opening_loc: (8,2)-(8,3) = ":"
+ │ │ │ ├── value_loc: (8,3)-(8,9) = "ensure"
+ │ │ │ ├── closing_loc: ∅
+ │ │ │ └── unescaped: "ensure"
+ │ │ └── end_keyword_loc: (9,0)-(9,3) = "end"
+ │ └── end_keyword_loc: (9,0)-(9,3) = "end"
+ ├── opening_loc: (1,4)-(1,6) = "do"
+ └── closing_loc: (9,0)-(9,3) = "end"
diff --git a/test/prism/snapshots/seattlerb/rescue_in_block.txt b/test/prism/snapshots/seattlerb/rescue_in_block.txt
index 7598ad6d45..10019765e3 100644
--- a/test/prism/snapshots/seattlerb/rescue_in_block.txt
+++ b/test/prism/snapshots/seattlerb/rescue_in_block.txt
@@ -4,6 +4,7 @@
@ StatementsNode (location: (1,0)-(4,3))
└── body: (length: 1)
└── @ CallNode (location: (1,0)-(4,3))
+ ├── flags: ∅
├── receiver: ∅
├── call_operator_loc: ∅
├── name: :blah
@@ -11,38 +12,37 @@
├── opening_loc: ∅
├── arguments: ∅
├── closing_loc: ∅
- ├── block:
- │ @ BlockNode (location: (1,5)-(4,3))
- │ ├── locals: []
- │ ├── locals_body_index: 0
- │ ├── parameters: ∅
- │ ├── body:
- │ │ @ BeginNode (location: (2,0)-(4,3))
- │ │ ├── begin_keyword_loc: ∅
- │ │ ├── statements: ∅
- │ │ ├── rescue_clause:
- │ │ │ @ RescueNode (location: (2,0)-(3,7))
- │ │ │ ├── keyword_loc: (2,0)-(2,6) = "rescue"
- │ │ │ ├── exceptions: (length: 0)
- │ │ │ ├── operator_loc: ∅
- │ │ │ ├── reference: ∅
- │ │ │ ├── statements:
- │ │ │ │ @ StatementsNode (location: (3,2)-(3,7))
- │ │ │ │ └── body: (length: 1)
- │ │ │ │ └── @ CallNode (location: (3,2)-(3,7))
- │ │ │ │ ├── receiver: ∅
- │ │ │ │ ├── call_operator_loc: ∅
- │ │ │ │ ├── name: :stuff
- │ │ │ │ ├── message_loc: (3,2)-(3,7) = "stuff"
- │ │ │ │ ├── opening_loc: ∅
- │ │ │ │ ├── arguments: ∅
- │ │ │ │ ├── closing_loc: ∅
- │ │ │ │ ├── block: ∅
- │ │ │ │ └── flags: variable_call
- │ │ │ └── consequent: ∅
- │ │ ├── else_clause: ∅
- │ │ ├── ensure_clause: ∅
- │ │ └── end_keyword_loc: (4,0)-(4,3) = "end"
- │ ├── opening_loc: (1,5)-(1,7) = "do"
- │ └── closing_loc: (4,0)-(4,3) = "end"
- └── flags: ∅
+ └── block:
+ @ BlockNode (location: (1,5)-(4,3))
+ ├── locals: []
+ ├── locals_body_index: 0
+ ├── parameters: ∅
+ ├── body:
+ │ @ BeginNode (location: (2,0)-(4,3))
+ │ ├── begin_keyword_loc: ∅
+ │ ├── statements: ∅
+ │ ├── rescue_clause:
+ │ │ @ RescueNode (location: (2,0)-(3,7))
+ │ │ ├── keyword_loc: (2,0)-(2,6) = "rescue"
+ │ │ ├── exceptions: (length: 0)
+ │ │ ├── operator_loc: ∅
+ │ │ ├── reference: ∅
+ │ │ ├── statements:
+ │ │ │ @ StatementsNode (location: (3,2)-(3,7))
+ │ │ │ └── body: (length: 1)
+ │ │ │ └── @ CallNode (location: (3,2)-(3,7))
+ │ │ │ ├── flags: variable_call
+ │ │ │ ├── receiver: ∅
+ │ │ │ ├── call_operator_loc: ∅
+ │ │ │ ├── name: :stuff
+ │ │ │ ├── message_loc: (3,2)-(3,7) = "stuff"
+ │ │ │ ├── opening_loc: ∅
+ │ │ │ ├── arguments: ∅
+ │ │ │ ├── closing_loc: ∅
+ │ │ │ └── block: ∅
+ │ │ └── consequent: ∅
+ │ ├── else_clause: ∅
+ │ ├── ensure_clause: ∅
+ │ └── end_keyword_loc: (4,0)-(4,3) = "end"
+ ├── opening_loc: (1,5)-(1,7) = "do"
+ └── closing_loc: (4,0)-(4,3) = "end"
diff --git a/test/prism/snapshots/seattlerb/rescue_parens.txt b/test/prism/snapshots/seattlerb/rescue_parens.txt
index 300627ac80..0471b8b36a 100644
--- a/test/prism/snapshots/seattlerb/rescue_parens.txt
+++ b/test/prism/snapshots/seattlerb/rescue_parens.txt
@@ -4,6 +4,7 @@
@ StatementsNode (location: (1,0)-(1,14))
└── body: (length: 1)
└── @ CallNode (location: (1,0)-(1,14))
+ ├── flags: ∅
├── receiver: ∅
├── call_operator_loc: ∅
├── name: :a
@@ -11,38 +12,37 @@
├── opening_loc: ∅
├── arguments:
│ @ ArgumentsNode (location: (1,2)-(1,14))
- │ ├── arguments: (length: 1)
- │ │ └── @ ParenthesesNode (location: (1,2)-(1,14))
- │ │ ├── body:
- │ │ │ @ StatementsNode (location: (1,3)-(1,13))
- │ │ │ └── body: (length: 1)
- │ │ │ └── @ RescueModifierNode (location: (1,3)-(1,13))
- │ │ │ ├── expression:
- │ │ │ │ @ CallNode (location: (1,3)-(1,4))
- │ │ │ │ ├── receiver: ∅
- │ │ │ │ ├── call_operator_loc: ∅
- │ │ │ │ ├── name: :b
- │ │ │ │ ├── message_loc: (1,3)-(1,4) = "b"
- │ │ │ │ ├── opening_loc: ∅
- │ │ │ │ ├── arguments: ∅
- │ │ │ │ ├── closing_loc: ∅
- │ │ │ │ ├── block: ∅
- │ │ │ │ └── flags: variable_call
- │ │ │ ├── keyword_loc: (1,5)-(1,11) = "rescue"
- │ │ │ └── rescue_expression:
- │ │ │ @ CallNode (location: (1,12)-(1,13))
- │ │ │ ├── receiver: ∅
- │ │ │ ├── call_operator_loc: ∅
- │ │ │ ├── name: :c
- │ │ │ ├── message_loc: (1,12)-(1,13) = "c"
- │ │ │ ├── opening_loc: ∅
- │ │ │ ├── arguments: ∅
- │ │ │ ├── closing_loc: ∅
- │ │ │ ├── block: ∅
- │ │ │ └── flags: variable_call
- │ │ ├── opening_loc: (1,2)-(1,3) = "("
- │ │ └── closing_loc: (1,13)-(1,14) = ")"
- │ └── flags: ∅
+ │ ├── flags: ∅
+ │ └── arguments: (length: 1)
+ │ └── @ ParenthesesNode (location: (1,2)-(1,14))
+ │ ├── body:
+ │ │ @ StatementsNode (location: (1,3)-(1,13))
+ │ │ └── body: (length: 1)
+ │ │ └── @ RescueModifierNode (location: (1,3)-(1,13))
+ │ │ ├── expression:
+ │ │ │ @ CallNode (location: (1,3)-(1,4))
+ │ │ │ ├── flags: variable_call
+ │ │ │ ├── receiver: ∅
+ │ │ │ ├── call_operator_loc: ∅
+ │ │ │ ├── name: :b
+ │ │ │ ├── message_loc: (1,3)-(1,4) = "b"
+ │ │ │ ├── opening_loc: ∅
+ │ │ │ ├── arguments: ∅
+ │ │ │ ├── closing_loc: ∅
+ │ │ │ └── block: ∅
+ │ │ ├── keyword_loc: (1,5)-(1,11) = "rescue"
+ │ │ └── rescue_expression:
+ │ │ @ CallNode (location: (1,12)-(1,13))
+ │ │ ├── flags: variable_call
+ │ │ ├── receiver: ∅
+ │ │ ├── call_operator_loc: ∅
+ │ │ ├── name: :c
+ │ │ ├── message_loc: (1,12)-(1,13) = "c"
+ │ │ ├── opening_loc: ∅
+ │ │ ├── arguments: ∅
+ │ │ ├── closing_loc: ∅
+ │ │ └── block: ∅
+ │ ├── opening_loc: (1,2)-(1,3) = "("
+ │ └── closing_loc: (1,13)-(1,14) = ")"
├── closing_loc: ∅
- ├── block: ∅
- └── flags: ∅
+ └── block: ∅
diff --git a/test/prism/snapshots/seattlerb/return_call_assocs.txt b/test/prism/snapshots/seattlerb/return_call_assocs.txt
index d67290ffb8..64ab636ffc 100644
--- a/test/prism/snapshots/seattlerb/return_call_assocs.txt
+++ b/test/prism/snapshots/seattlerb/return_call_assocs.txt
@@ -7,185 +7,185 @@
│ ├── keyword_loc: (1,0)-(1,6) = "return"
│ └── arguments:
│ @ ArgumentsNode (location: (1,7)-(1,17))
- │ ├── arguments: (length: 2)
- │ │ ├── @ IntegerNode (location: (1,7)-(1,8))
- │ │ │ └── flags: decimal
- │ │ └── @ KeywordHashNode (location: (1,10)-(1,17))
- │ │ └── elements: (length: 1)
- │ │ └── @ AssocNode (location: (1,10)-(1,17))
- │ │ ├── key:
- │ │ │ @ SymbolNode (location: (1,10)-(1,12))
- │ │ │ ├── opening_loc: (1,10)-(1,11) = ":"
- │ │ │ ├── value_loc: (1,11)-(1,12) = "z"
- │ │ │ ├── closing_loc: ∅
- │ │ │ └── unescaped: "z"
- │ │ ├── value:
- │ │ │ @ IntegerNode (location: (1,16)-(1,17))
- │ │ │ └── flags: decimal
- │ │ └── operator_loc: (1,13)-(1,15) = "=>"
- │ └── flags: ∅
+ │ ├── flags: ∅
+ │ └── arguments: (length: 2)
+ │ ├── @ IntegerNode (location: (1,7)-(1,8))
+ │ │ └── flags: decimal
+ │ └── @ KeywordHashNode (location: (1,10)-(1,17))
+ │ └── elements: (length: 1)
+ │ └── @ AssocNode (location: (1,10)-(1,17))
+ │ ├── key:
+ │ │ @ SymbolNode (location: (1,10)-(1,12))
+ │ │ ├── opening_loc: (1,10)-(1,11) = ":"
+ │ │ ├── value_loc: (1,11)-(1,12) = "z"
+ │ │ ├── closing_loc: ∅
+ │ │ └── unescaped: "z"
+ │ ├── value:
+ │ │ @ IntegerNode (location: (1,16)-(1,17))
+ │ │ └── flags: decimal
+ │ └── operator_loc: (1,13)-(1,15) = "=>"
├── @ ReturnNode (location: (3,0)-(3,26))
│ ├── keyword_loc: (3,0)-(3,6) = "return"
│ └── arguments:
│ @ ArgumentsNode (location: (3,7)-(3,26))
- │ ├── arguments: (length: 2)
- │ │ ├── @ IntegerNode (location: (3,7)-(3,8))
- │ │ │ └── flags: decimal
- │ │ └── @ KeywordHashNode (location: (3,10)-(3,26))
- │ │ └── elements: (length: 2)
- │ │ ├── @ AssocNode (location: (3,10)-(3,17))
- │ │ │ ├── key:
- │ │ │ │ @ SymbolNode (location: (3,10)-(3,12))
- │ │ │ │ ├── opening_loc: (3,10)-(3,11) = ":"
- │ │ │ │ ├── value_loc: (3,11)-(3,12) = "z"
- │ │ │ │ ├── closing_loc: ∅
- │ │ │ │ └── unescaped: "z"
- │ │ │ ├── value:
- │ │ │ │ @ IntegerNode (location: (3,16)-(3,17))
- │ │ │ │ └── flags: decimal
- │ │ │ └── operator_loc: (3,13)-(3,15) = "=>"
- │ │ └── @ AssocNode (location: (3,19)-(3,26))
- │ │ ├── key:
- │ │ │ @ SymbolNode (location: (3,19)-(3,21))
- │ │ │ ├── opening_loc: (3,19)-(3,20) = ":"
- │ │ │ ├── value_loc: (3,20)-(3,21) = "w"
- │ │ │ ├── closing_loc: ∅
- │ │ │ └── unescaped: "w"
- │ │ ├── value:
- │ │ │ @ IntegerNode (location: (3,25)-(3,26))
- │ │ │ └── flags: decimal
- │ │ └── operator_loc: (3,22)-(3,24) = "=>"
- │ └── flags: ∅
+ │ ├── flags: ∅
+ │ └── arguments: (length: 2)
+ │ ├── @ IntegerNode (location: (3,7)-(3,8))
+ │ │ └── flags: decimal
+ │ └── @ KeywordHashNode (location: (3,10)-(3,26))
+ │ └── elements: (length: 2)
+ │ ├── @ AssocNode (location: (3,10)-(3,17))
+ │ │ ├── key:
+ │ │ │ @ SymbolNode (location: (3,10)-(3,12))
+ │ │ │ ├── opening_loc: (3,10)-(3,11) = ":"
+ │ │ │ ├── value_loc: (3,11)-(3,12) = "z"
+ │ │ │ ├── closing_loc: ∅
+ │ │ │ └── unescaped: "z"
+ │ │ ├── value:
+ │ │ │ @ IntegerNode (location: (3,16)-(3,17))
+ │ │ │ └── flags: decimal
+ │ │ └── operator_loc: (3,13)-(3,15) = "=>"
+ │ └── @ AssocNode (location: (3,19)-(3,26))
+ │ ├── key:
+ │ │ @ SymbolNode (location: (3,19)-(3,21))
+ │ │ ├── opening_loc: (3,19)-(3,20) = ":"
+ │ │ ├── value_loc: (3,20)-(3,21) = "w"
+ │ │ ├── closing_loc: ∅
+ │ │ └── unescaped: "w"
+ │ ├── value:
+ │ │ @ IntegerNode (location: (3,25)-(3,26))
+ │ │ └── flags: decimal
+ │ └── operator_loc: (3,22)-(3,24) = "=>"
├── @ ReturnNode (location: (5,0)-(5,14))
│ ├── keyword_loc: (5,0)-(5,6) = "return"
│ └── arguments:
│ @ ArgumentsNode (location: (5,7)-(5,14))
- │ ├── arguments: (length: 1)
- │ │ └── @ CallNode (location: (5,7)-(5,14))
- │ │ ├── receiver: ∅
- │ │ ├── call_operator_loc: ∅
- │ │ ├── name: :y
- │ │ ├── message_loc: (5,7)-(5,8) = "y"
- │ │ ├── opening_loc: ∅
- │ │ ├── arguments:
- │ │ │ @ ArgumentsNode (location: (5,9)-(5,14))
- │ │ │ ├── arguments: (length: 1)
- │ │ │ │ └── @ KeywordHashNode (location: (5,9)-(5,14))
- │ │ │ │ └── elements: (length: 1)
- │ │ │ │ └── @ AssocNode (location: (5,9)-(5,14))
- │ │ │ │ ├── key:
- │ │ │ │ │ @ SymbolNode (location: (5,9)-(5,11))
- │ │ │ │ │ ├── opening_loc: (5,9)-(5,10) = ":"
- │ │ │ │ │ ├── value_loc: (5,10)-(5,11) = "z"
- │ │ │ │ │ ├── closing_loc: ∅
- │ │ │ │ │ └── unescaped: "z"
- │ │ │ │ ├── value:
- │ │ │ │ │ @ IntegerNode (location: (5,13)-(5,14))
- │ │ │ │ │ └── flags: decimal
- │ │ │ │ └── operator_loc: (5,11)-(5,13) = "=>"
- │ │ │ └── flags: ∅
- │ │ ├── closing_loc: ∅
- │ │ ├── block: ∅
- │ │ └── flags: ∅
- │ └── flags: ∅
+ │ ├── flags: ∅
+ │ └── arguments: (length: 1)
+ │ └── @ CallNode (location: (5,7)-(5,14))
+ │ ├── flags: ∅
+ │ ├── receiver: ∅
+ │ ├── call_operator_loc: ∅
+ │ ├── name: :y
+ │ ├── message_loc: (5,7)-(5,8) = "y"
+ │ ├── opening_loc: ∅
+ │ ├── arguments:
+ │ │ @ ArgumentsNode (location: (5,9)-(5,14))
+ │ │ ├── flags: ∅
+ │ │ └── arguments: (length: 1)
+ │ │ └── @ KeywordHashNode (location: (5,9)-(5,14))
+ │ │ └── elements: (length: 1)
+ │ │ └── @ AssocNode (location: (5,9)-(5,14))
+ │ │ ├── key:
+ │ │ │ @ SymbolNode (location: (5,9)-(5,11))
+ │ │ │ ├── opening_loc: (5,9)-(5,10) = ":"
+ │ │ │ ├── value_loc: (5,10)-(5,11) = "z"
+ │ │ │ ├── closing_loc: ∅
+ │ │ │ └── unescaped: "z"
+ │ │ ├── value:
+ │ │ │ @ IntegerNode (location: (5,13)-(5,14))
+ │ │ │ └── flags: decimal
+ │ │ └── operator_loc: (5,11)-(5,13) = "=>"
+ │ ├── closing_loc: ∅
+ │ └── block: ∅
├── @ ReturnNode (location: (7,0)-(7,12))
│ ├── keyword_loc: (7,0)-(7,6) = "return"
│ └── arguments:
│ @ ArgumentsNode (location: (7,7)-(7,12))
- │ ├── arguments: (length: 1)
- │ │ └── @ CallNode (location: (7,7)-(7,12))
- │ │ ├── receiver: ∅
- │ │ ├── call_operator_loc: ∅
- │ │ ├── name: :y
- │ │ ├── message_loc: (7,7)-(7,8) = "y"
- │ │ ├── opening_loc: ∅
- │ │ ├── arguments:
- │ │ │ @ ArgumentsNode (location: (7,9)-(7,12))
- │ │ │ ├── arguments: (length: 1)
- │ │ │ │ └── @ KeywordHashNode (location: (7,9)-(7,12))
- │ │ │ │ └── elements: (length: 1)
- │ │ │ │ └── @ AssocNode (location: (7,9)-(7,12))
- │ │ │ │ ├── key:
- │ │ │ │ │ @ SymbolNode (location: (7,9)-(7,11))
- │ │ │ │ │ ├── opening_loc: ∅
- │ │ │ │ │ ├── value_loc: (7,9)-(7,10) = "z"
- │ │ │ │ │ ├── closing_loc: (7,10)-(7,11) = ":"
- │ │ │ │ │ └── unescaped: "z"
- │ │ │ │ ├── value:
- │ │ │ │ │ @ IntegerNode (location: (7,11)-(7,12))
- │ │ │ │ │ └── flags: decimal
- │ │ │ │ └── operator_loc: ∅
- │ │ │ └── flags: ∅
- │ │ ├── closing_loc: ∅
- │ │ ├── block: ∅
- │ │ └── flags: ∅
- │ └── flags: ∅
+ │ ├── flags: ∅
+ │ └── arguments: (length: 1)
+ │ └── @ CallNode (location: (7,7)-(7,12))
+ │ ├── flags: ∅
+ │ ├── receiver: ∅
+ │ ├── call_operator_loc: ∅
+ │ ├── name: :y
+ │ ├── message_loc: (7,7)-(7,8) = "y"
+ │ ├── opening_loc: ∅
+ │ ├── arguments:
+ │ │ @ ArgumentsNode (location: (7,9)-(7,12))
+ │ │ ├── flags: ∅
+ │ │ └── arguments: (length: 1)
+ │ │ └── @ KeywordHashNode (location: (7,9)-(7,12))
+ │ │ └── elements: (length: 1)
+ │ │ └── @ AssocNode (location: (7,9)-(7,12))
+ │ │ ├── key:
+ │ │ │ @ SymbolNode (location: (7,9)-(7,11))
+ │ │ │ ├── opening_loc: ∅
+ │ │ │ ├── value_loc: (7,9)-(7,10) = "z"
+ │ │ │ ├── closing_loc: (7,10)-(7,11) = ":"
+ │ │ │ └── unescaped: "z"
+ │ │ ├── value:
+ │ │ │ @ IntegerNode (location: (7,11)-(7,12))
+ │ │ │ └── flags: decimal
+ │ │ └── operator_loc: ∅
+ │ ├── closing_loc: ∅
+ │ └── block: ∅
├── @ ReturnNode (location: (9,0)-(9,13))
│ ├── keyword_loc: (9,0)-(9,6) = "return"
│ └── arguments:
│ @ ArgumentsNode (location: (9,7)-(9,13))
- │ ├── arguments: (length: 1)
- │ │ └── @ CallNode (location: (9,7)-(9,13))
- │ │ ├── receiver: ∅
- │ │ ├── call_operator_loc: ∅
- │ │ ├── name: :y
- │ │ ├── message_loc: (9,7)-(9,8) = "y"
- │ │ ├── opening_loc: (9,8)-(9,9) = "("
- │ │ ├── arguments:
- │ │ │ @ ArgumentsNode (location: (9,9)-(9,12))
- │ │ │ ├── arguments: (length: 1)
- │ │ │ │ └── @ KeywordHashNode (location: (9,9)-(9,12))
- │ │ │ │ └── elements: (length: 1)
- │ │ │ │ └── @ AssocNode (location: (9,9)-(9,12))
- │ │ │ │ ├── key:
- │ │ │ │ │ @ SymbolNode (location: (9,9)-(9,11))
- │ │ │ │ │ ├── opening_loc: ∅
- │ │ │ │ │ ├── value_loc: (9,9)-(9,10) = "z"
- │ │ │ │ │ ├── closing_loc: (9,10)-(9,11) = ":"
- │ │ │ │ │ └── unescaped: "z"
- │ │ │ │ ├── value:
- │ │ │ │ │ @ IntegerNode (location: (9,11)-(9,12))
- │ │ │ │ │ └── flags: decimal
- │ │ │ │ └── operator_loc: ∅
- │ │ │ └── flags: ∅
- │ │ ├── closing_loc: (9,12)-(9,13) = ")"
- │ │ ├── block: ∅
- │ │ └── flags: ∅
- │ └── flags: ∅
+ │ ├── flags: ∅
+ │ └── arguments: (length: 1)
+ │ └── @ CallNode (location: (9,7)-(9,13))
+ │ ├── flags: ∅
+ │ ├── receiver: ∅
+ │ ├── call_operator_loc: ∅
+ │ ├── name: :y
+ │ ├── message_loc: (9,7)-(9,8) = "y"
+ │ ├── opening_loc: (9,8)-(9,9) = "("
+ │ ├── arguments:
+ │ │ @ ArgumentsNode (location: (9,9)-(9,12))
+ │ │ ├── flags: ∅
+ │ │ └── arguments: (length: 1)
+ │ │ └── @ KeywordHashNode (location: (9,9)-(9,12))
+ │ │ └── elements: (length: 1)
+ │ │ └── @ AssocNode (location: (9,9)-(9,12))
+ │ │ ├── key:
+ │ │ │ @ SymbolNode (location: (9,9)-(9,11))
+ │ │ │ ├── opening_loc: ∅
+ │ │ │ ├── value_loc: (9,9)-(9,10) = "z"
+ │ │ │ ├── closing_loc: (9,10)-(9,11) = ":"
+ │ │ │ └── unescaped: "z"
+ │ │ ├── value:
+ │ │ │ @ IntegerNode (location: (9,11)-(9,12))
+ │ │ │ └── flags: decimal
+ │ │ └── operator_loc: ∅
+ │ ├── closing_loc: (9,12)-(9,13) = ")"
+ │ └── block: ∅
└── @ ReturnNode (location: (11,0)-(11,14))
├── keyword_loc: (11,0)-(11,6) = "return"
└── arguments:
@ ArgumentsNode (location: (11,7)-(11,14))
- ├── arguments: (length: 1)
- │ └── @ CallNode (location: (11,7)-(11,14))
- │ ├── receiver: ∅
- │ ├── call_operator_loc: ∅
- │ ├── name: :y
- │ ├── message_loc: (11,7)-(11,8) = "y"
- │ ├── opening_loc: (11,8)-(11,9) = "("
- │ ├── arguments:
- │ │ @ ArgumentsNode (location: (11,9)-(11,13))
- │ │ ├── arguments: (length: 1)
- │ │ │ └── @ KeywordHashNode (location: (11,9)-(11,13))
- │ │ │ └── elements: (length: 1)
- │ │ │ └── @ AssocNode (location: (11,9)-(11,13))
- │ │ │ ├── key:
- │ │ │ │ @ CallNode (location: (11,9)-(11,10))
- │ │ │ │ ├── receiver: ∅
- │ │ │ │ ├── call_operator_loc: ∅
- │ │ │ │ ├── name: :z
- │ │ │ │ ├── message_loc: (11,9)-(11,10) = "z"
- │ │ │ │ ├── opening_loc: ∅
- │ │ │ │ ├── arguments: ∅
- │ │ │ │ ├── closing_loc: ∅
- │ │ │ │ ├── block: ∅
- │ │ │ │ └── flags: variable_call
- │ │ │ ├── value:
- │ │ │ │ @ IntegerNode (location: (11,12)-(11,13))
- │ │ │ │ └── flags: decimal
- │ │ │ └── operator_loc: (11,10)-(11,12) = "=>"
- │ │ └── flags: ∅
- │ ├── closing_loc: (11,13)-(11,14) = ")"
- │ ├── block: ∅
- │ └── flags: ∅
- └── flags: ∅
+ ├── flags: ∅
+ └── arguments: (length: 1)
+ └── @ CallNode (location: (11,7)-(11,14))
+ ├── flags: ∅
+ ├── receiver: ∅
+ ├── call_operator_loc: ∅
+ ├── name: :y
+ ├── message_loc: (11,7)-(11,8) = "y"
+ ├── opening_loc: (11,8)-(11,9) = "("
+ ├── arguments:
+ │ @ ArgumentsNode (location: (11,9)-(11,13))
+ │ ├── flags: ∅
+ │ └── arguments: (length: 1)
+ │ └── @ KeywordHashNode (location: (11,9)-(11,13))
+ │ └── elements: (length: 1)
+ │ └── @ AssocNode (location: (11,9)-(11,13))
+ │ ├── key:
+ │ │ @ CallNode (location: (11,9)-(11,10))
+ │ │ ├── flags: variable_call
+ │ │ ├── receiver: ∅
+ │ │ ├── call_operator_loc: ∅
+ │ │ ├── name: :z
+ │ │ ├── message_loc: (11,9)-(11,10) = "z"
+ │ │ ├── opening_loc: ∅
+ │ │ ├── arguments: ∅
+ │ │ ├── closing_loc: ∅
+ │ │ └── block: ∅
+ │ ├── value:
+ │ │ @ IntegerNode (location: (11,12)-(11,13))
+ │ │ └── flags: decimal
+ │ └── operator_loc: (11,10)-(11,12) = "=>"
+ ├── closing_loc: (11,13)-(11,14) = ")"
+ └── block: ∅
diff --git a/test/prism/snapshots/seattlerb/ruby21_numbers.txt b/test/prism/snapshots/seattlerb/ruby21_numbers.txt
index 3d1d1f0dd2..e1ad6b924c 100644
--- a/test/prism/snapshots/seattlerb/ruby21_numbers.txt
+++ b/test/prism/snapshots/seattlerb/ruby21_numbers.txt
@@ -4,6 +4,7 @@
@ StatementsNode (location: (1,0)-(1,13))
└── body: (length: 1)
└── @ ArrayNode (location: (1,0)-(1,13))
+ ├── flags: ∅
├── elements: (length: 3)
│ ├── @ ImaginaryNode (location: (1,1)-(1,3))
│ │ └── numeric:
@@ -20,5 +21,4 @@
│ @ IntegerNode (location: (1,9)-(1,10))
│ └── flags: decimal
├── opening_loc: (1,0)-(1,1) = "["
- ├── closing_loc: (1,12)-(1,13) = "]"
- └── flags: ∅
+ └── closing_loc: (1,12)-(1,13) = "]"
diff --git a/test/prism/snapshots/seattlerb/safe_attrasgn.txt b/test/prism/snapshots/seattlerb/safe_attrasgn.txt
index d7d36c5d7f..b29fef3feb 100644
--- a/test/prism/snapshots/seattlerb/safe_attrasgn.txt
+++ b/test/prism/snapshots/seattlerb/safe_attrasgn.txt
@@ -4,8 +4,10 @@
@ StatementsNode (location: (1,0)-(1,8))
└── body: (length: 1)
└── @ CallNode (location: (1,0)-(1,8))
+ ├── flags: safe_navigation
├── receiver:
│ @ CallNode (location: (1,0)-(1,1))
+ │ ├── flags: variable_call
│ ├── receiver: ∅
│ ├── call_operator_loc: ∅
│ ├── name: :a
@@ -13,18 +15,16 @@
│ ├── opening_loc: ∅
│ ├── arguments: ∅
│ ├── closing_loc: ∅
- │ ├── block: ∅
- │ └── flags: variable_call
+ │ └── block: ∅
├── call_operator_loc: (1,1)-(1,3) = "&."
├── name: :b=
├── message_loc: (1,3)-(1,4) = "b"
├── opening_loc: ∅
├── arguments:
│ @ ArgumentsNode (location: (1,7)-(1,8))
- │ ├── arguments: (length: 1)
- │ │ └── @ IntegerNode (location: (1,7)-(1,8))
- │ │ └── flags: decimal
- │ └── flags: ∅
+ │ ├── flags: ∅
+ │ └── arguments: (length: 1)
+ │ └── @ IntegerNode (location: (1,7)-(1,8))
+ │ └── flags: decimal
├── closing_loc: ∅
- ├── block: ∅
- └── flags: safe_navigation
+ └── block: ∅
diff --git a/test/prism/snapshots/seattlerb/safe_attrasgn_constant.txt b/test/prism/snapshots/seattlerb/safe_attrasgn_constant.txt
index c299e95929..39fb489e5e 100644
--- a/test/prism/snapshots/seattlerb/safe_attrasgn_constant.txt
+++ b/test/prism/snapshots/seattlerb/safe_attrasgn_constant.txt
@@ -4,8 +4,10 @@
@ StatementsNode (location: (1,0)-(1,8))
└── body: (length: 1)
└── @ CallNode (location: (1,0)-(1,8))
+ ├── flags: safe_navigation
├── receiver:
│ @ CallNode (location: (1,0)-(1,1))
+ │ ├── flags: variable_call
│ ├── receiver: ∅
│ ├── call_operator_loc: ∅
│ ├── name: :a
@@ -13,18 +15,16 @@
│ ├── opening_loc: ∅
│ ├── arguments: ∅
│ ├── closing_loc: ∅
- │ ├── block: ∅
- │ └── flags: variable_call
+ │ └── block: ∅
├── call_operator_loc: (1,1)-(1,3) = "&."
├── name: :B=
├── message_loc: (1,3)-(1,4) = "B"
├── opening_loc: ∅
├── arguments:
│ @ ArgumentsNode (location: (1,7)-(1,8))
- │ ├── arguments: (length: 1)
- │ │ └── @ IntegerNode (location: (1,7)-(1,8))
- │ │ └── flags: decimal
- │ └── flags: ∅
+ │ ├── flags: ∅
+ │ └── arguments: (length: 1)
+ │ └── @ IntegerNode (location: (1,7)-(1,8))
+ │ └── flags: decimal
├── closing_loc: ∅
- ├── block: ∅
- └── flags: safe_navigation
+ └── block: ∅
diff --git a/test/prism/snapshots/seattlerb/safe_call.txt b/test/prism/snapshots/seattlerb/safe_call.txt
index 108c6ca820..a6ba52bede 100644
--- a/test/prism/snapshots/seattlerb/safe_call.txt
+++ b/test/prism/snapshots/seattlerb/safe_call.txt
@@ -4,8 +4,10 @@
@ StatementsNode (location: (1,0)-(1,4))
└── body: (length: 1)
└── @ CallNode (location: (1,0)-(1,4))
+ ├── flags: safe_navigation
├── receiver:
│ @ CallNode (location: (1,0)-(1,1))
+ │ ├── flags: variable_call
│ ├── receiver: ∅
│ ├── call_operator_loc: ∅
│ ├── name: :a
@@ -13,13 +15,11 @@
│ ├── opening_loc: ∅
│ ├── arguments: ∅
│ ├── closing_loc: ∅
- │ ├── block: ∅
- │ └── flags: variable_call
+ │ └── block: ∅
├── call_operator_loc: (1,1)-(1,3) = "&."
├── name: :b
├── message_loc: (1,3)-(1,4) = "b"
├── opening_loc: ∅
├── arguments: ∅
├── closing_loc: ∅
- ├── block: ∅
- └── flags: safe_navigation
+ └── block: ∅
diff --git a/test/prism/snapshots/seattlerb/safe_call_after_newline.txt b/test/prism/snapshots/seattlerb/safe_call_after_newline.txt
index cee2dacb26..e9adf068c7 100644
--- a/test/prism/snapshots/seattlerb/safe_call_after_newline.txt
+++ b/test/prism/snapshots/seattlerb/safe_call_after_newline.txt
@@ -4,8 +4,10 @@
@ StatementsNode (location: (1,0)-(2,3))
└── body: (length: 1)
└── @ CallNode (location: (1,0)-(2,3))
+ ├── flags: safe_navigation
├── receiver:
│ @ CallNode (location: (1,0)-(1,1))
+ │ ├── flags: variable_call
│ ├── receiver: ∅
│ ├── call_operator_loc: ∅
│ ├── name: :a
@@ -13,13 +15,11 @@
│ ├── opening_loc: ∅
│ ├── arguments: ∅
│ ├── closing_loc: ∅
- │ ├── block: ∅
- │ └── flags: variable_call
+ │ └── block: ∅
├── call_operator_loc: (2,0)-(2,2) = "&."
├── name: :b
├── message_loc: (2,2)-(2,3) = "b"
├── opening_loc: ∅
├── arguments: ∅
├── closing_loc: ∅
- ├── block: ∅
- └── flags: safe_navigation
+ └── block: ∅
diff --git a/test/prism/snapshots/seattlerb/safe_call_dot_parens.txt b/test/prism/snapshots/seattlerb/safe_call_dot_parens.txt
index 1c8eade099..e46db2b102 100644
--- a/test/prism/snapshots/seattlerb/safe_call_dot_parens.txt
+++ b/test/prism/snapshots/seattlerb/safe_call_dot_parens.txt
@@ -4,8 +4,10 @@
@ StatementsNode (location: (1,0)-(1,5))
└── body: (length: 1)
└── @ CallNode (location: (1,0)-(1,5))
+ ├── flags: safe_navigation
├── receiver:
│ @ CallNode (location: (1,0)-(1,1))
+ │ ├── flags: variable_call
│ ├── receiver: ∅
│ ├── call_operator_loc: ∅
│ ├── name: :a
@@ -13,13 +15,11 @@
│ ├── opening_loc: ∅
│ ├── arguments: ∅
│ ├── closing_loc: ∅
- │ ├── block: ∅
- │ └── flags: variable_call
+ │ └── block: ∅
├── call_operator_loc: (1,1)-(1,3) = "&."
├── name: :call
├── message_loc: ∅
├── opening_loc: (1,3)-(1,4) = "("
├── arguments: ∅
├── closing_loc: (1,4)-(1,5) = ")"
- ├── block: ∅
- └── flags: safe_navigation
+ └── block: ∅
diff --git a/test/prism/snapshots/seattlerb/safe_call_newline.txt b/test/prism/snapshots/seattlerb/safe_call_newline.txt
index 108c6ca820..a6ba52bede 100644
--- a/test/prism/snapshots/seattlerb/safe_call_newline.txt
+++ b/test/prism/snapshots/seattlerb/safe_call_newline.txt
@@ -4,8 +4,10 @@
@ StatementsNode (location: (1,0)-(1,4))
└── body: (length: 1)
└── @ CallNode (location: (1,0)-(1,4))
+ ├── flags: safe_navigation
├── receiver:
│ @ CallNode (location: (1,0)-(1,1))
+ │ ├── flags: variable_call
│ ├── receiver: ∅
│ ├── call_operator_loc: ∅
│ ├── name: :a
@@ -13,13 +15,11 @@
│ ├── opening_loc: ∅
│ ├── arguments: ∅
│ ├── closing_loc: ∅
- │ ├── block: ∅
- │ └── flags: variable_call
+ │ └── block: ∅
├── call_operator_loc: (1,1)-(1,3) = "&."
├── name: :b
├── message_loc: (1,3)-(1,4) = "b"
├── opening_loc: ∅
├── arguments: ∅
├── closing_loc: ∅
- ├── block: ∅
- └── flags: safe_navigation
+ └── block: ∅
diff --git a/test/prism/snapshots/seattlerb/safe_call_operator.txt b/test/prism/snapshots/seattlerb/safe_call_operator.txt
index ed8a790add..f6027afefb 100644
--- a/test/prism/snapshots/seattlerb/safe_call_operator.txt
+++ b/test/prism/snapshots/seattlerb/safe_call_operator.txt
@@ -4,8 +4,10 @@
@ StatementsNode (location: (1,0)-(1,6))
└── body: (length: 1)
└── @ CallNode (location: (1,0)-(1,6))
+ ├── flags: safe_navigation
├── receiver:
│ @ CallNode (location: (1,0)-(1,1))
+ │ ├── flags: variable_call
│ ├── receiver: ∅
│ ├── call_operator_loc: ∅
│ ├── name: :a
@@ -13,18 +15,16 @@
│ ├── opening_loc: ∅
│ ├── arguments: ∅
│ ├── closing_loc: ∅
- │ ├── block: ∅
- │ └── flags: variable_call
+ │ └── block: ∅
├── call_operator_loc: (1,1)-(1,3) = "&."
├── name: :>
├── message_loc: (1,3)-(1,4) = ">"
├── opening_loc: ∅
├── arguments:
│ @ ArgumentsNode (location: (1,5)-(1,6))
- │ ├── arguments: (length: 1)
- │ │ └── @ IntegerNode (location: (1,5)-(1,6))
- │ │ └── flags: decimal
- │ └── flags: ∅
+ │ ├── flags: ∅
+ │ └── arguments: (length: 1)
+ │ └── @ IntegerNode (location: (1,5)-(1,6))
+ │ └── flags: decimal
├── closing_loc: ∅
- ├── block: ∅
- └── flags: safe_navigation
+ └── block: ∅
diff --git a/test/prism/snapshots/seattlerb/safe_call_rhs_newline.txt b/test/prism/snapshots/seattlerb/safe_call_rhs_newline.txt
index 41c17c6ef3..9acf398819 100644
--- a/test/prism/snapshots/seattlerb/safe_call_rhs_newline.txt
+++ b/test/prism/snapshots/seattlerb/safe_call_rhs_newline.txt
@@ -9,8 +9,10 @@
├── name_loc: (1,0)-(1,1) = "c"
├── value:
│ @ CallNode (location: (1,4)-(1,8))
+ │ ├── flags: safe_navigation
│ ├── receiver:
│ │ @ CallNode (location: (1,4)-(1,5))
+ │ │ ├── flags: variable_call
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
│ │ ├── name: :a
@@ -18,14 +20,12 @@
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
- │ │ ├── block: ∅
- │ │ └── flags: variable_call
+ │ │ └── block: ∅
│ ├── call_operator_loc: (1,5)-(1,7) = "&."
│ ├── name: :b
│ ├── message_loc: (1,7)-(1,8) = "b"
│ ├── opening_loc: ∅
│ ├── arguments: ∅
│ ├── closing_loc: ∅
- │ ├── block: ∅
- │ └── flags: safe_navigation
+ │ └── block: ∅
└── operator_loc: (1,2)-(1,3) = "="
diff --git a/test/prism/snapshots/seattlerb/safe_calls.txt b/test/prism/snapshots/seattlerb/safe_calls.txt
index 66d155db84..76931bd4fe 100644
--- a/test/prism/snapshots/seattlerb/safe_calls.txt
+++ b/test/prism/snapshots/seattlerb/safe_calls.txt
@@ -4,10 +4,13 @@
@ StatementsNode (location: (1,0)-(1,10))
└── body: (length: 1)
└── @ CallNode (location: (1,0)-(1,10))
+ ├── flags: safe_navigation
├── receiver:
│ @ CallNode (location: (1,0)-(1,4))
+ │ ├── flags: safe_navigation
│ ├── receiver:
│ │ @ CallNode (location: (1,0)-(1,1))
+ │ │ ├── flags: variable_call
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
│ │ ├── name: :a
@@ -15,26 +18,23 @@
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
- │ │ ├── block: ∅
- │ │ └── flags: variable_call
+ │ │ └── block: ∅
│ ├── call_operator_loc: (1,1)-(1,3) = "&."
│ ├── name: :b
│ ├── message_loc: (1,3)-(1,4) = "b"
│ ├── opening_loc: ∅
│ ├── arguments: ∅
│ ├── closing_loc: ∅
- │ ├── block: ∅
- │ └── flags: safe_navigation
+ │ └── block: ∅
├── call_operator_loc: (1,4)-(1,6) = "&."
├── name: :c
├── message_loc: (1,6)-(1,7) = "c"
├── opening_loc: (1,7)-(1,8) = "("
├── arguments:
│ @ ArgumentsNode (location: (1,8)-(1,9))
- │ ├── arguments: (length: 1)
- │ │ └── @ IntegerNode (location: (1,8)-(1,9))
- │ │ └── flags: decimal
- │ └── flags: ∅
+ │ ├── flags: ∅
+ │ └── arguments: (length: 1)
+ │ └── @ IntegerNode (location: (1,8)-(1,9))
+ │ └── flags: decimal
├── closing_loc: (1,9)-(1,10) = ")"
- ├── block: ∅
- └── flags: safe_navigation
+ └── block: ∅
diff --git a/test/prism/snapshots/seattlerb/safe_op_asgn.txt b/test/prism/snapshots/seattlerb/safe_op_asgn.txt
index 46cc542dfc..01b783642f 100644
--- a/test/prism/snapshots/seattlerb/safe_op_asgn.txt
+++ b/test/prism/snapshots/seattlerb/safe_op_asgn.txt
@@ -4,8 +4,10 @@
@ StatementsNode (location: (1,0)-(1,11))
└── body: (length: 1)
└── @ CallOperatorWriteNode (location: (1,0)-(1,11))
+ ├── flags: safe_navigation
├── receiver:
│ @ CallNode (location: (1,0)-(1,1))
+ │ ├── flags: variable_call
│ ├── receiver: ∅
│ ├── call_operator_loc: ∅
│ ├── name: :a
@@ -13,17 +15,16 @@
│ ├── opening_loc: ∅
│ ├── arguments: ∅
│ ├── closing_loc: ∅
- │ ├── block: ∅
- │ └── flags: variable_call
+ │ └── block: ∅
├── call_operator_loc: (1,1)-(1,3) = "&."
├── message_loc: (1,3)-(1,4) = "b"
- ├── flags: safe_navigation
├── read_name: :b
├── write_name: :b=
├── operator: :+
├── operator_loc: (1,5)-(1,7) = "+="
└── value:
@ CallNode (location: (1,8)-(1,11))
+ ├── flags: ∅
├── receiver: ∅
├── call_operator_loc: ∅
├── name: :x
@@ -31,10 +32,9 @@
├── opening_loc: ∅
├── arguments:
│ @ ArgumentsNode (location: (1,10)-(1,11))
- │ ├── arguments: (length: 1)
- │ │ └── @ IntegerNode (location: (1,10)-(1,11))
- │ │ └── flags: decimal
- │ └── flags: ∅
+ │ ├── flags: ∅
+ │ └── arguments: (length: 1)
+ │ └── @ IntegerNode (location: (1,10)-(1,11))
+ │ └── flags: decimal
├── closing_loc: ∅
- ├── block: ∅
- └── flags: ∅
+ └── block: ∅
diff --git a/test/prism/snapshots/seattlerb/safe_op_asgn2.txt b/test/prism/snapshots/seattlerb/safe_op_asgn2.txt
index 238153f9fb..9d350e53a1 100644
--- a/test/prism/snapshots/seattlerb/safe_op_asgn2.txt
+++ b/test/prism/snapshots/seattlerb/safe_op_asgn2.txt
@@ -4,8 +4,10 @@
@ StatementsNode (location: (1,0)-(2,1))
└── body: (length: 1)
└── @ CallOrWriteNode (location: (1,0)-(2,1))
+ ├── flags: safe_navigation
├── receiver:
│ @ CallNode (location: (1,0)-(1,1))
+ │ ├── flags: variable_call
│ ├── receiver: ∅
│ ├── call_operator_loc: ∅
│ ├── name: :a
@@ -13,16 +15,15 @@
│ ├── opening_loc: ∅
│ ├── arguments: ∅
│ ├── closing_loc: ∅
- │ ├── block: ∅
- │ └── flags: variable_call
+ │ └── block: ∅
├── call_operator_loc: (1,1)-(1,3) = "&."
├── message_loc: (1,3)-(1,4) = "b"
- ├── flags: safe_navigation
├── read_name: :b
├── write_name: :b=
├── operator_loc: (1,5)-(1,8) = "||="
└── value:
@ CallNode (location: (2,0)-(2,1))
+ ├── flags: variable_call
├── receiver: ∅
├── call_operator_loc: ∅
├── name: :x
@@ -30,5 +31,4 @@
├── opening_loc: ∅
├── arguments: ∅
├── closing_loc: ∅
- ├── block: ∅
- └── flags: variable_call
+ └── block: ∅
diff --git a/test/prism/snapshots/seattlerb/slashy_newlines_within_string.txt b/test/prism/snapshots/seattlerb/slashy_newlines_within_string.txt
index a8486b25c0..840b67ab1a 100644
--- a/test/prism/snapshots/seattlerb/slashy_newlines_within_string.txt
+++ b/test/prism/snapshots/seattlerb/slashy_newlines_within_string.txt
@@ -4,6 +4,7 @@
@ StatementsNode (location: (1,0)-(6,5))
└── body: (length: 2)
├── @ CallNode (location: (1,0)-(4,8))
+ │ ├── flags: ∅
│ ├── receiver: ∅
│ ├── call_operator_loc: ∅
│ ├── name: :puts
@@ -11,20 +12,21 @@
│ ├── opening_loc: ∅
│ ├── arguments:
│ │ @ ArgumentsNode (location: (1,5)-(4,8))
- │ │ ├── arguments: (length: 1)
- │ │ │ └── @ StringNode (location: (1,5)-(4,8))
- │ │ │ ├── flags: ∅
- │ │ │ ├── opening_loc: (1,5)-(1,6) = "\""
- │ │ │ ├── content_loc: (1,6)-(4,7) = "hello\\\n my\\\n dear\\\n friend"
- │ │ │ ├── closing_loc: (4,7)-(4,8) = "\""
- │ │ │ └── unescaped: "hello my dear friend"
- │ │ └── flags: ∅
+ │ │ ├── flags: ∅
+ │ │ └── arguments: (length: 1)
+ │ │ └── @ StringNode (location: (1,5)-(4,8))
+ │ │ ├── flags: ∅
+ │ │ ├── opening_loc: (1,5)-(1,6) = "\""
+ │ │ ├── content_loc: (1,6)-(4,7) = "hello\\\n my\\\n dear\\\n friend"
+ │ │ ├── closing_loc: (4,7)-(4,8) = "\""
+ │ │ └── unescaped: "hello my dear friend"
│ ├── closing_loc: ∅
- │ ├── block: ∅
- │ └── flags: ∅
+ │ └── block: ∅
└── @ CallNode (location: (6,0)-(6,5))
+ ├── flags: ∅
├── receiver:
│ @ CallNode (location: (6,0)-(6,1))
+ │ ├── flags: variable_call
│ ├── receiver: ∅
│ ├── call_operator_loc: ∅
│ ├── name: :a
@@ -32,26 +34,24 @@
│ ├── opening_loc: ∅
│ ├── arguments: ∅
│ ├── closing_loc: ∅
- │ ├── block: ∅
- │ └── flags: variable_call
+ │ └── block: ∅
├── call_operator_loc: ∅
├── name: :+
├── message_loc: (6,2)-(6,3) = "+"
├── opening_loc: ∅
├── arguments:
│ @ ArgumentsNode (location: (6,4)-(6,5))
- │ ├── arguments: (length: 1)
- │ │ └── @ CallNode (location: (6,4)-(6,5))
- │ │ ├── receiver: ∅
- │ │ ├── call_operator_loc: ∅
- │ │ ├── name: :b
- │ │ ├── message_loc: (6,4)-(6,5) = "b"
- │ │ ├── opening_loc: ∅
- │ │ ├── arguments: ∅
- │ │ ├── closing_loc: ∅
- │ │ ├── block: ∅
- │ │ └── flags: variable_call
- │ └── flags: ∅
+ │ ├── flags: ∅
+ │ └── arguments: (length: 1)
+ │ └── @ CallNode (location: (6,4)-(6,5))
+ │ ├── flags: variable_call
+ │ ├── receiver: ∅
+ │ ├── call_operator_loc: ∅
+ │ ├── name: :b
+ │ ├── message_loc: (6,4)-(6,5) = "b"
+ │ ├── opening_loc: ∅
+ │ ├── arguments: ∅
+ │ ├── closing_loc: ∅
+ │ └── block: ∅
├── closing_loc: ∅
- ├── block: ∅
- └── flags: ∅
+ └── block: ∅
diff --git a/test/prism/snapshots/seattlerb/stabby_block_iter_call.txt b/test/prism/snapshots/seattlerb/stabby_block_iter_call.txt
index f1c9237e32..0115ceb46a 100644
--- a/test/prism/snapshots/seattlerb/stabby_block_iter_call.txt
+++ b/test/prism/snapshots/seattlerb/stabby_block_iter_call.txt
@@ -4,6 +4,7 @@
@ StatementsNode (location: (1,0)-(4,3))
└── body: (length: 1)
└── @ CallNode (location: (1,0)-(4,3))
+ ├── flags: ∅
├── receiver: ∅
├── call_operator_loc: ∅
├── name: :x
@@ -11,50 +12,49 @@
├── opening_loc: ∅
├── arguments:
│ @ ArgumentsNode (location: (1,2)-(4,3))
- │ ├── arguments: (length: 1)
- │ │ └── @ LambdaNode (location: (1,2)-(4,3))
- │ │ ├── locals: []
- │ │ ├── locals_body_index: 0
- │ │ ├── operator_loc: (1,2)-(1,4) = "->"
- │ │ ├── opening_loc: (1,8)-(1,10) = "do"
- │ │ ├── closing_loc: (4,0)-(4,3) = "end"
- │ │ ├── parameters:
- │ │ │ @ BlockParametersNode (location: (1,5)-(1,7))
- │ │ │ ├── parameters: ∅
- │ │ │ ├── locals: (length: 0)
- │ │ │ ├── opening_loc: (1,5)-(1,6) = "("
- │ │ │ └── closing_loc: (1,6)-(1,7) = ")"
- │ │ └── body:
- │ │ @ StatementsNode (location: (2,0)-(3,3))
- │ │ └── body: (length: 1)
- │ │ └── @ CallNode (location: (2,0)-(3,3))
- │ │ ├── receiver:
- │ │ │ @ CallNode (location: (2,0)-(2,1))
- │ │ │ ├── receiver: ∅
- │ │ │ ├── call_operator_loc: ∅
- │ │ │ ├── name: :a
- │ │ │ ├── message_loc: (2,0)-(2,1) = "a"
- │ │ │ ├── opening_loc: ∅
- │ │ │ ├── arguments: ∅
- │ │ │ ├── closing_loc: ∅
- │ │ │ ├── block: ∅
- │ │ │ └── flags: variable_call
- │ │ ├── call_operator_loc: (2,1)-(2,2) = "."
- │ │ ├── name: :b
- │ │ ├── message_loc: (2,2)-(2,3) = "b"
- │ │ ├── opening_loc: ∅
- │ │ ├── arguments: ∅
- │ │ ├── closing_loc: ∅
- │ │ ├── block:
- │ │ │ @ BlockNode (location: (2,4)-(3,3))
- │ │ │ ├── locals: []
- │ │ │ ├── locals_body_index: 0
- │ │ │ ├── parameters: ∅
- │ │ │ ├── body: ∅
- │ │ │ ├── opening_loc: (2,4)-(2,6) = "do"
- │ │ │ └── closing_loc: (3,0)-(3,3) = "end"
- │ │ └── flags: ∅
- │ └── flags: ∅
+ │ ├── flags: ∅
+ │ └── arguments: (length: 1)
+ │ └── @ LambdaNode (location: (1,2)-(4,3))
+ │ ├── locals: []
+ │ ├── locals_body_index: 0
+ │ ├── operator_loc: (1,2)-(1,4) = "->"
+ │ ├── opening_loc: (1,8)-(1,10) = "do"
+ │ ├── closing_loc: (4,0)-(4,3) = "end"
+ │ ├── parameters:
+ │ │ @ BlockParametersNode (location: (1,5)-(1,7))
+ │ │ ├── parameters: ∅
+ │ │ ├── locals: (length: 0)
+ │ │ ├── opening_loc: (1,5)-(1,6) = "("
+ │ │ └── closing_loc: (1,6)-(1,7) = ")"
+ │ └── body:
+ │ @ StatementsNode (location: (2,0)-(3,3))
+ │ └── body: (length: 1)
+ │ └── @ CallNode (location: (2,0)-(3,3))
+ │ ├── flags: ∅
+ │ ├── receiver:
+ │ │ @ CallNode (location: (2,0)-(2,1))
+ │ │ ├── flags: variable_call
+ │ │ ├── receiver: ∅
+ │ │ ├── call_operator_loc: ∅
+ │ │ ├── name: :a
+ │ │ ├── message_loc: (2,0)-(2,1) = "a"
+ │ │ ├── opening_loc: ∅
+ │ │ ├── arguments: ∅
+ │ │ ├── closing_loc: ∅
+ │ │ └── block: ∅
+ │ ├── call_operator_loc: (2,1)-(2,2) = "."
+ │ ├── name: :b
+ │ ├── message_loc: (2,2)-(2,3) = "b"
+ │ ├── opening_loc: ∅
+ │ ├── arguments: ∅
+ │ ├── closing_loc: ∅
+ │ └── block:
+ │ @ BlockNode (location: (2,4)-(3,3))
+ │ ├── locals: []
+ │ ├── locals_body_index: 0
+ │ ├── parameters: ∅
+ │ ├── body: ∅
+ │ ├── opening_loc: (2,4)-(2,6) = "do"
+ │ └── closing_loc: (3,0)-(3,3) = "end"
├── closing_loc: ∅
- ├── block: ∅
- └── flags: ∅
+ └── block: ∅
diff --git a/test/prism/snapshots/seattlerb/stabby_block_iter_call_no_target_with_arg.txt b/test/prism/snapshots/seattlerb/stabby_block_iter_call_no_target_with_arg.txt
index 13062e1c5a..2c680db712 100644
--- a/test/prism/snapshots/seattlerb/stabby_block_iter_call_no_target_with_arg.txt
+++ b/test/prism/snapshots/seattlerb/stabby_block_iter_call_no_target_with_arg.txt
@@ -4,6 +4,7 @@
@ StatementsNode (location: (1,0)-(4,3))
└── body: (length: 1)
└── @ CallNode (location: (1,0)-(4,3))
+ ├── flags: ∅
├── receiver: ∅
├── call_operator_loc: ∅
├── name: :x
@@ -11,45 +12,44 @@
├── opening_loc: ∅
├── arguments:
│ @ ArgumentsNode (location: (1,2)-(4,3))
- │ ├── arguments: (length: 1)
- │ │ └── @ LambdaNode (location: (1,2)-(4,3))
- │ │ ├── locals: []
- │ │ ├── locals_body_index: 0
- │ │ ├── operator_loc: (1,2)-(1,4) = "->"
- │ │ ├── opening_loc: (1,8)-(1,10) = "do"
- │ │ ├── closing_loc: (4,0)-(4,3) = "end"
- │ │ ├── parameters:
- │ │ │ @ BlockParametersNode (location: (1,5)-(1,7))
- │ │ │ ├── parameters: ∅
- │ │ │ ├── locals: (length: 0)
- │ │ │ ├── opening_loc: (1,5)-(1,6) = "("
- │ │ │ └── closing_loc: (1,6)-(1,7) = ")"
- │ │ └── body:
- │ │ @ StatementsNode (location: (2,0)-(3,3))
- │ │ └── body: (length: 1)
- │ │ └── @ CallNode (location: (2,0)-(3,3))
- │ │ ├── receiver: ∅
- │ │ ├── call_operator_loc: ∅
- │ │ ├── name: :a
- │ │ ├── message_loc: (2,0)-(2,1) = "a"
- │ │ ├── opening_loc: (2,1)-(2,2) = "("
- │ │ ├── arguments:
- │ │ │ @ ArgumentsNode (location: (2,2)-(2,3))
- │ │ │ ├── arguments: (length: 1)
- │ │ │ │ └── @ IntegerNode (location: (2,2)-(2,3))
- │ │ │ │ └── flags: decimal
- │ │ │ └── flags: ∅
- │ │ ├── closing_loc: (2,3)-(2,4) = ")"
- │ │ ├── block:
- │ │ │ @ BlockNode (location: (2,5)-(3,3))
- │ │ │ ├── locals: []
- │ │ │ ├── locals_body_index: 0
- │ │ │ ├── parameters: ∅
- │ │ │ ├── body: ∅
- │ │ │ ├── opening_loc: (2,5)-(2,7) = "do"
- │ │ │ └── closing_loc: (3,0)-(3,3) = "end"
- │ │ └── flags: ∅
- │ └── flags: ∅
+ │ ├── flags: ∅
+ │ └── arguments: (length: 1)
+ │ └── @ LambdaNode (location: (1,2)-(4,3))
+ │ ├── locals: []
+ │ ├── locals_body_index: 0
+ │ ├── operator_loc: (1,2)-(1,4) = "->"
+ │ ├── opening_loc: (1,8)-(1,10) = "do"
+ │ ├── closing_loc: (4,0)-(4,3) = "end"
+ │ ├── parameters:
+ │ │ @ BlockParametersNode (location: (1,5)-(1,7))
+ │ │ ├── parameters: ∅
+ │ │ ├── locals: (length: 0)
+ │ │ ├── opening_loc: (1,5)-(1,6) = "("
+ │ │ └── closing_loc: (1,6)-(1,7) = ")"
+ │ └── body:
+ │ @ StatementsNode (location: (2,0)-(3,3))
+ │ └── body: (length: 1)
+ │ └── @ CallNode (location: (2,0)-(3,3))
+ │ ├── flags: ∅
+ │ ├── receiver: ∅
+ │ ├── call_operator_loc: ∅
+ │ ├── name: :a
+ │ ├── message_loc: (2,0)-(2,1) = "a"
+ │ ├── opening_loc: (2,1)-(2,2) = "("
+ │ ├── arguments:
+ │ │ @ ArgumentsNode (location: (2,2)-(2,3))
+ │ │ ├── flags: ∅
+ │ │ └── arguments: (length: 1)
+ │ │ └── @ IntegerNode (location: (2,2)-(2,3))
+ │ │ └── flags: decimal
+ │ ├── closing_loc: (2,3)-(2,4) = ")"
+ │ └── block:
+ │ @ BlockNode (location: (2,5)-(3,3))
+ │ ├── locals: []
+ │ ├── locals_body_index: 0
+ │ ├── parameters: ∅
+ │ ├── body: ∅
+ │ ├── opening_loc: (2,5)-(2,7) = "do"
+ │ └── closing_loc: (3,0)-(3,3) = "end"
├── closing_loc: ∅
- ├── block: ∅
- └── flags: ∅
+ └── block: ∅
diff --git a/test/prism/snapshots/seattlerb/str_backslashes.txt b/test/prism/snapshots/seattlerb/str_backslashes.txt
index 6cfb89875c..ce5160fd3b 100644
--- a/test/prism/snapshots/seattlerb/str_backslashes.txt
+++ b/test/prism/snapshots/seattlerb/str_backslashes.txt
@@ -4,6 +4,7 @@
@ StatementsNode (location: (1,0)-(1,204))
└── body: (length: 1)
└── @ CallNode (location: (1,0)-(1,204))
+ ├── flags: ∅
├── receiver: ∅
├── call_operator_loc: ∅
├── name: :x
@@ -11,14 +12,13 @@
├── opening_loc: ∅
├── arguments:
│ @ ArgumentsNode (location: (1,2)-(1,204))
- │ ├── arguments: (length: 1)
- │ │ └── @ StringNode (location: (1,2)-(1,204))
- │ │ ├── flags: ∅
- │ │ ├── opening_loc: (1,2)-(1,3) = "'"
- │ │ ├── content_loc: (1,3)-(1,203) = "\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n"
- │ │ ├── closing_loc: (1,203)-(1,204) = "'"
- │ │ └── unescaped: "\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n"
- │ └── flags: ∅
+ │ ├── flags: ∅
+ │ └── arguments: (length: 1)
+ │ └── @ StringNode (location: (1,2)-(1,204))
+ │ ├── flags: ∅
+ │ ├── opening_loc: (1,2)-(1,3) = "'"
+ │ ├── content_loc: (1,3)-(1,203) = "\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n"
+ │ ├── closing_loc: (1,203)-(1,204) = "'"
+ │ └── unescaped: "\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n"
├── closing_loc: ∅
- ├── block: ∅
- └── flags: ∅
+ └── block: ∅
diff --git a/test/prism/snapshots/seattlerb/str_double_double_escaped_newline.txt b/test/prism/snapshots/seattlerb/str_double_double_escaped_newline.txt
index 3e7ae51f77..2edea58cc1 100644
--- a/test/prism/snapshots/seattlerb/str_double_double_escaped_newline.txt
+++ b/test/prism/snapshots/seattlerb/str_double_double_escaped_newline.txt
@@ -4,6 +4,7 @@
@ StatementsNode (location: (1,0)-(1,9))
└── body: (length: 2)
├── @ CallNode (location: (1,0)-(1,7))
+ │ ├── flags: ∅
│ ├── receiver: ∅
│ ├── call_operator_loc: ∅
│ ├── name: :a
@@ -11,18 +12,18 @@
│ ├── opening_loc: ∅
│ ├── arguments:
│ │ @ ArgumentsNode (location: (1,2)-(1,7))
- │ │ ├── arguments: (length: 1)
- │ │ │ └── @ StringNode (location: (1,2)-(1,7))
- │ │ │ ├── flags: ∅
- │ │ │ ├── opening_loc: (1,2)-(1,3) = "\""
- │ │ │ ├── content_loc: (1,3)-(1,6) = "\\\\n"
- │ │ │ ├── closing_loc: (1,6)-(1,7) = "\""
- │ │ │ └── unescaped: "\\n"
- │ │ └── flags: ∅
+ │ │ ├── flags: ∅
+ │ │ └── arguments: (length: 1)
+ │ │ └── @ StringNode (location: (1,2)-(1,7))
+ │ │ ├── flags: ∅
+ │ │ ├── opening_loc: (1,2)-(1,3) = "\""
+ │ │ ├── content_loc: (1,3)-(1,6) = "\\\\n"
+ │ │ ├── closing_loc: (1,6)-(1,7) = "\""
+ │ │ └── unescaped: "\\n"
│ ├── closing_loc: ∅
- │ ├── block: ∅
- │ └── flags: ∅
+ │ └── block: ∅
└── @ CallNode (location: (1,8)-(1,9))
+ ├── flags: variable_call
├── receiver: ∅
├── call_operator_loc: ∅
├── name: :b
@@ -30,5 +31,4 @@
├── opening_loc: ∅
├── arguments: ∅
├── closing_loc: ∅
- ├── block: ∅
- └── flags: variable_call
+ └── block: ∅
diff --git a/test/prism/snapshots/seattlerb/str_double_escaped_newline.txt b/test/prism/snapshots/seattlerb/str_double_escaped_newline.txt
index 10563703a1..53d356ddaa 100644
--- a/test/prism/snapshots/seattlerb/str_double_escaped_newline.txt
+++ b/test/prism/snapshots/seattlerb/str_double_escaped_newline.txt
@@ -4,6 +4,7 @@
@ StatementsNode (location: (1,0)-(1,8))
└── body: (length: 2)
├── @ CallNode (location: (1,0)-(1,6))
+ │ ├── flags: ∅
│ ├── receiver: ∅
│ ├── call_operator_loc: ∅
│ ├── name: :a
@@ -11,18 +12,18 @@
│ ├── opening_loc: ∅
│ ├── arguments:
│ │ @ ArgumentsNode (location: (1,2)-(1,6))
- │ │ ├── arguments: (length: 1)
- │ │ │ └── @ StringNode (location: (1,2)-(1,6))
- │ │ │ ├── flags: ∅
- │ │ │ ├── opening_loc: (1,2)-(1,3) = "\""
- │ │ │ ├── content_loc: (1,3)-(1,5) = "\\n"
- │ │ │ ├── closing_loc: (1,5)-(1,6) = "\""
- │ │ │ └── unescaped: "\n"
- │ │ └── flags: ∅
+ │ │ ├── flags: ∅
+ │ │ └── arguments: (length: 1)
+ │ │ └── @ StringNode (location: (1,2)-(1,6))
+ │ │ ├── flags: ∅
+ │ │ ├── opening_loc: (1,2)-(1,3) = "\""
+ │ │ ├── content_loc: (1,3)-(1,5) = "\\n"
+ │ │ ├── closing_loc: (1,5)-(1,6) = "\""
+ │ │ └── unescaped: "\n"
│ ├── closing_loc: ∅
- │ ├── block: ∅
- │ └── flags: ∅
+ │ └── block: ∅
└── @ CallNode (location: (1,7)-(1,8))
+ ├── flags: variable_call
├── receiver: ∅
├── call_operator_loc: ∅
├── name: :b
@@ -30,5 +31,4 @@
├── opening_loc: ∅
├── arguments: ∅
├── closing_loc: ∅
- ├── block: ∅
- └── flags: variable_call
+ └── block: ∅
diff --git a/test/prism/snapshots/seattlerb/str_double_newline.txt b/test/prism/snapshots/seattlerb/str_double_newline.txt
index 3c35f62802..b5fd8fb582 100644
--- a/test/prism/snapshots/seattlerb/str_double_newline.txt
+++ b/test/prism/snapshots/seattlerb/str_double_newline.txt
@@ -4,6 +4,7 @@
@ StatementsNode (location: (1,0)-(2,3))
└── body: (length: 2)
├── @ CallNode (location: (1,0)-(2,1))
+ │ ├── flags: ∅
│ ├── receiver: ∅
│ ├── call_operator_loc: ∅
│ ├── name: :a
@@ -11,18 +12,18 @@
│ ├── opening_loc: ∅
│ ├── arguments:
│ │ @ ArgumentsNode (location: (1,2)-(2,1))
- │ │ ├── arguments: (length: 1)
- │ │ │ └── @ StringNode (location: (1,2)-(2,1))
- │ │ │ ├── flags: ∅
- │ │ │ ├── opening_loc: (1,2)-(1,3) = "\""
- │ │ │ ├── content_loc: (1,3)-(2,0) = "\n"
- │ │ │ ├── closing_loc: (2,0)-(2,1) = "\""
- │ │ │ └── unescaped: "\n"
- │ │ └── flags: ∅
+ │ │ ├── flags: ∅
+ │ │ └── arguments: (length: 1)
+ │ │ └── @ StringNode (location: (1,2)-(2,1))
+ │ │ ├── flags: ∅
+ │ │ ├── opening_loc: (1,2)-(1,3) = "\""
+ │ │ ├── content_loc: (1,3)-(2,0) = "\n"
+ │ │ ├── closing_loc: (2,0)-(2,1) = "\""
+ │ │ └── unescaped: "\n"
│ ├── closing_loc: ∅
- │ ├── block: ∅
- │ └── flags: ∅
+ │ └── block: ∅
└── @ CallNode (location: (2,2)-(2,3))
+ ├── flags: variable_call
├── receiver: ∅
├── call_operator_loc: ∅
├── name: :b
@@ -30,5 +31,4 @@
├── opening_loc: ∅
├── arguments: ∅
├── closing_loc: ∅
- ├── block: ∅
- └── flags: variable_call
+ └── block: ∅
diff --git a/test/prism/snapshots/seattlerb/str_evstr.txt b/test/prism/snapshots/seattlerb/str_evstr.txt
index 7dd048397e..48798a3ddb 100644
--- a/test/prism/snapshots/seattlerb/str_evstr.txt
+++ b/test/prism/snapshots/seattlerb/str_evstr.txt
@@ -18,6 +18,7 @@
│ │ @ StatementsNode (location: (1,5)-(1,6))
│ │ └── body: (length: 1)
│ │ └── @ CallNode (location: (1,5)-(1,6))
+ │ │ ├── flags: variable_call
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
│ │ ├── name: :b
@@ -25,7 +26,6 @@
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
- │ │ ├── block: ∅
- │ │ └── flags: variable_call
+ │ │ └── block: ∅
│ └── closing_loc: (1,6)-(1,7) = "}"
└── closing_loc: (1,7)-(1,8) = "\""
diff --git a/test/prism/snapshots/seattlerb/str_evstr_escape.txt b/test/prism/snapshots/seattlerb/str_evstr_escape.txt
index a71ab57cf5..f173c0269b 100644
--- a/test/prism/snapshots/seattlerb/str_evstr_escape.txt
+++ b/test/prism/snapshots/seattlerb/str_evstr_escape.txt
@@ -18,6 +18,7 @@
│ │ │ @ StatementsNode (location: (1,5)-(1,6))
│ │ │ └── body: (length: 1)
│ │ │ └── @ CallNode (location: (1,5)-(1,6))
+ │ │ │ ├── flags: variable_call
│ │ │ ├── receiver: ∅
│ │ │ ├── call_operator_loc: ∅
│ │ │ ├── name: :b
@@ -25,8 +26,7 @@
│ │ │ ├── opening_loc: ∅
│ │ │ ├── arguments: ∅
│ │ │ ├── closing_loc: ∅
- │ │ │ ├── block: ∅
- │ │ │ └── flags: variable_call
+ │ │ │ └── block: ∅
│ │ └── closing_loc: (1,6)-(1,7) = "}"
│ └── @ StringNode (location: (1,7)-(1,15))
│ ├── flags: forced_utf8_encoding
diff --git a/test/prism/snapshots/seattlerb/str_heredoc_interp.txt b/test/prism/snapshots/seattlerb/str_heredoc_interp.txt
index 03852bfcdd..eab9b874d6 100644
--- a/test/prism/snapshots/seattlerb/str_heredoc_interp.txt
+++ b/test/prism/snapshots/seattlerb/str_heredoc_interp.txt
@@ -12,6 +12,7 @@
│ │ │ @ StatementsNode (location: (2,2)-(2,3))
│ │ │ └── body: (length: 1)
│ │ │ └── @ CallNode (location: (2,2)-(2,3))
+ │ │ │ ├── flags: variable_call
│ │ │ ├── receiver: ∅
│ │ │ ├── call_operator_loc: ∅
│ │ │ ├── name: :x
@@ -19,8 +20,7 @@
│ │ │ ├── opening_loc: ∅
│ │ │ ├── arguments: ∅
│ │ │ ├── closing_loc: ∅
- │ │ │ ├── block: ∅
- │ │ │ └── flags: variable_call
+ │ │ │ └── block: ∅
│ │ └── closing_loc: (2,3)-(2,4) = "}"
│ └── @ StringNode (location: (2,4)-(4,0))
│ ├── flags: ∅
diff --git a/test/prism/snapshots/seattlerb/str_interp_ternary_or_label.txt b/test/prism/snapshots/seattlerb/str_interp_ternary_or_label.txt
index 5f6d628846..5fadc71333 100644
--- a/test/prism/snapshots/seattlerb/str_interp_ternary_or_label.txt
+++ b/test/prism/snapshots/seattlerb/str_interp_ternary_or_label.txt
@@ -15,8 +15,10 @@
│ │ ├── if_keyword_loc: ∅
│ │ ├── predicate:
│ │ │ @ CallNode (location: (1,3)-(1,7))
+ │ │ │ ├── flags: ∅
│ │ │ ├── receiver:
│ │ │ │ @ CallNode (location: (1,3)-(1,4))
+ │ │ │ │ ├── flags: variable_call
│ │ │ │ ├── receiver: ∅
│ │ │ │ ├── call_operator_loc: ∅
│ │ │ │ ├── name: :a
@@ -24,23 +26,23 @@
│ │ │ │ ├── opening_loc: ∅
│ │ │ │ ├── arguments: ∅
│ │ │ │ ├── closing_loc: ∅
- │ │ │ │ ├── block: ∅
- │ │ │ │ └── flags: variable_call
+ │ │ │ │ └── block: ∅
│ │ │ ├── call_operator_loc: (1,4)-(1,5) = "."
│ │ │ ├── name: :b?
│ │ │ ├── message_loc: (1,5)-(1,7) = "b?"
│ │ │ ├── opening_loc: ∅
│ │ │ ├── arguments: ∅
│ │ │ ├── closing_loc: ∅
- │ │ │ ├── block: ∅
- │ │ │ └── flags: ∅
+ │ │ │ └── block: ∅
│ │ ├── then_keyword_loc: (1,8)-(1,9) = "?"
│ │ ├── statements:
│ │ │ @ StatementsNode (location: (1,10)-(1,17))
│ │ │ └── body: (length: 1)
│ │ │ └── @ CallNode (location: (1,10)-(1,17))
+ │ │ │ ├── flags: ∅
│ │ │ ├── receiver:
│ │ │ │ @ CallNode (location: (1,10)-(1,14))
+ │ │ │ │ ├── flags: ∅
│ │ │ │ ├── receiver:
│ │ │ │ │ @ StringNode (location: (1,10)-(1,12))
│ │ │ │ │ ├── flags: ∅
@@ -54,38 +56,36 @@
│ │ │ │ ├── opening_loc: ∅
│ │ │ │ ├── arguments:
│ │ │ │ │ @ ArgumentsNode (location: (1,13)-(1,14))
- │ │ │ │ │ ├── arguments: (length: 1)
- │ │ │ │ │ │ └── @ CallNode (location: (1,13)-(1,14))
- │ │ │ │ │ │ ├── receiver: ∅
- │ │ │ │ │ │ ├── call_operator_loc: ∅
- │ │ │ │ │ │ ├── name: :a
- │ │ │ │ │ │ ├── message_loc: (1,13)-(1,14) = "a"
- │ │ │ │ │ │ ├── opening_loc: ∅
- │ │ │ │ │ │ ├── arguments: ∅
- │ │ │ │ │ │ ├── closing_loc: ∅
- │ │ │ │ │ │ ├── block: ∅
- │ │ │ │ │ │ └── flags: variable_call
- │ │ │ │ │ └── flags: ∅
+ │ │ │ │ │ ├── flags: ∅
+ │ │ │ │ │ └── arguments: (length: 1)
+ │ │ │ │ │ └── @ CallNode (location: (1,13)-(1,14))
+ │ │ │ │ │ ├── flags: variable_call
+ │ │ │ │ │ ├── receiver: ∅
+ │ │ │ │ │ ├── call_operator_loc: ∅
+ │ │ │ │ │ ├── name: :a
+ │ │ │ │ │ ├── message_loc: (1,13)-(1,14) = "a"
+ │ │ │ │ │ ├── opening_loc: ∅
+ │ │ │ │ │ ├── arguments: ∅
+ │ │ │ │ │ ├── closing_loc: ∅
+ │ │ │ │ │ └── block: ∅
│ │ │ │ ├── closing_loc: ∅
- │ │ │ │ ├── block: ∅
- │ │ │ │ └── flags: ∅
+ │ │ │ │ └── block: ∅
│ │ │ ├── call_operator_loc: ∅
│ │ │ ├── name: :+
│ │ │ ├── message_loc: (1,14)-(1,15) = "+"
│ │ │ ├── opening_loc: ∅
│ │ │ ├── arguments:
│ │ │ │ @ ArgumentsNode (location: (1,15)-(1,17))
- │ │ │ │ ├── arguments: (length: 1)
- │ │ │ │ │ └── @ StringNode (location: (1,15)-(1,17))
- │ │ │ │ │ ├── flags: ∅
- │ │ │ │ │ ├── opening_loc: (1,15)-(1,16) = "\""
- │ │ │ │ │ ├── content_loc: (1,16)-(1,16) = ""
- │ │ │ │ │ ├── closing_loc: (1,16)-(1,17) = "\""
- │ │ │ │ │ └── unescaped: ""
- │ │ │ │ └── flags: ∅
+ │ │ │ │ ├── flags: ∅
+ │ │ │ │ └── arguments: (length: 1)
+ │ │ │ │ └── @ StringNode (location: (1,15)-(1,17))
+ │ │ │ │ ├── flags: ∅
+ │ │ │ │ ├── opening_loc: (1,15)-(1,16) = "\""
+ │ │ │ │ ├── content_loc: (1,16)-(1,16) = ""
+ │ │ │ │ ├── closing_loc: (1,16)-(1,17) = "\""
+ │ │ │ │ └── unescaped: ""
│ │ │ ├── closing_loc: ∅
- │ │ │ ├── block: ∅
- │ │ │ └── flags: ∅
+ │ │ │ └── block: ∅
│ │ ├── consequent:
│ │ │ @ ElseNode (location: (1,17)-(1,21))
│ │ │ ├── else_keyword_loc: (1,17)-(1,18) = ":"
diff --git a/test/prism/snapshots/seattlerb/str_pct_Q_nested.txt b/test/prism/snapshots/seattlerb/str_pct_Q_nested.txt
index 9aec3ab503..edf51fff7b 100644
--- a/test/prism/snapshots/seattlerb/str_pct_Q_nested.txt
+++ b/test/prism/snapshots/seattlerb/str_pct_Q_nested.txt
@@ -18,6 +18,7 @@
│ │ │ @ StatementsNode (location: (1,13)-(1,17))
│ │ │ └── body: (length: 1)
│ │ │ └── @ CallNode (location: (1,13)-(1,17))
+ │ │ │ ├── flags: variable_call
│ │ │ ├── receiver: ∅
│ │ │ ├── call_operator_loc: ∅
│ │ │ ├── name: :nest
@@ -25,8 +26,7 @@
│ │ │ ├── opening_loc: ∅
│ │ │ ├── arguments: ∅
│ │ │ ├── closing_loc: ∅
- │ │ │ ├── block: ∅
- │ │ │ └── flags: variable_call
+ │ │ │ └── block: ∅
│ │ └── closing_loc: (1,17)-(1,18) = "}"
│ └── @ StringNode (location: (1,18)-(1,25))
│ ├── flags: ∅
diff --git a/test/prism/snapshots/seattlerb/str_single_double_escaped_newline.txt b/test/prism/snapshots/seattlerb/str_single_double_escaped_newline.txt
index a100d78b57..c519951ed0 100644
--- a/test/prism/snapshots/seattlerb/str_single_double_escaped_newline.txt
+++ b/test/prism/snapshots/seattlerb/str_single_double_escaped_newline.txt
@@ -4,6 +4,7 @@
@ StatementsNode (location: (1,0)-(1,9))
└── body: (length: 2)
├── @ CallNode (location: (1,0)-(1,7))
+ │ ├── flags: ∅
│ ├── receiver: ∅
│ ├── call_operator_loc: ∅
│ ├── name: :a
@@ -11,18 +12,18 @@
│ ├── opening_loc: ∅
│ ├── arguments:
│ │ @ ArgumentsNode (location: (1,2)-(1,7))
- │ │ ├── arguments: (length: 1)
- │ │ │ └── @ StringNode (location: (1,2)-(1,7))
- │ │ │ ├── flags: ∅
- │ │ │ ├── opening_loc: (1,2)-(1,3) = "'"
- │ │ │ ├── content_loc: (1,3)-(1,6) = "\\\\n"
- │ │ │ ├── closing_loc: (1,6)-(1,7) = "'"
- │ │ │ └── unescaped: "\\n"
- │ │ └── flags: ∅
+ │ │ ├── flags: ∅
+ │ │ └── arguments: (length: 1)
+ │ │ └── @ StringNode (location: (1,2)-(1,7))
+ │ │ ├── flags: ∅
+ │ │ ├── opening_loc: (1,2)-(1,3) = "'"
+ │ │ ├── content_loc: (1,3)-(1,6) = "\\\\n"
+ │ │ ├── closing_loc: (1,6)-(1,7) = "'"
+ │ │ └── unescaped: "\\n"
│ ├── closing_loc: ∅
- │ ├── block: ∅
- │ └── flags: ∅
+ │ └── block: ∅
└── @ CallNode (location: (1,8)-(1,9))
+ ├── flags: variable_call
├── receiver: ∅
├── call_operator_loc: ∅
├── name: :b
@@ -30,5 +31,4 @@
├── opening_loc: ∅
├── arguments: ∅
├── closing_loc: ∅
- ├── block: ∅
- └── flags: variable_call
+ └── block: ∅
diff --git a/test/prism/snapshots/seattlerb/str_single_escaped_newline.txt b/test/prism/snapshots/seattlerb/str_single_escaped_newline.txt
index 5e971dea47..80c4712a74 100644
--- a/test/prism/snapshots/seattlerb/str_single_escaped_newline.txt
+++ b/test/prism/snapshots/seattlerb/str_single_escaped_newline.txt
@@ -4,6 +4,7 @@
@ StatementsNode (location: (1,0)-(1,8))
└── body: (length: 2)
├── @ CallNode (location: (1,0)-(1,6))
+ │ ├── flags: ∅
│ ├── receiver: ∅
│ ├── call_operator_loc: ∅
│ ├── name: :a
@@ -11,18 +12,18 @@
│ ├── opening_loc: ∅
│ ├── arguments:
│ │ @ ArgumentsNode (location: (1,2)-(1,6))
- │ │ ├── arguments: (length: 1)
- │ │ │ └── @ StringNode (location: (1,2)-(1,6))
- │ │ │ ├── flags: ∅
- │ │ │ ├── opening_loc: (1,2)-(1,3) = "'"
- │ │ │ ├── content_loc: (1,3)-(1,5) = "\\n"
- │ │ │ ├── closing_loc: (1,5)-(1,6) = "'"
- │ │ │ └── unescaped: "\\n"
- │ │ └── flags: ∅
+ │ │ ├── flags: ∅
+ │ │ └── arguments: (length: 1)
+ │ │ └── @ StringNode (location: (1,2)-(1,6))
+ │ │ ├── flags: ∅
+ │ │ ├── opening_loc: (1,2)-(1,3) = "'"
+ │ │ ├── content_loc: (1,3)-(1,5) = "\\n"
+ │ │ ├── closing_loc: (1,5)-(1,6) = "'"
+ │ │ └── unescaped: "\\n"
│ ├── closing_loc: ∅
- │ ├── block: ∅
- │ └── flags: ∅
+ │ └── block: ∅
└── @ CallNode (location: (1,7)-(1,8))
+ ├── flags: variable_call
├── receiver: ∅
├── call_operator_loc: ∅
├── name: :b
@@ -30,5 +31,4 @@
├── opening_loc: ∅
├── arguments: ∅
├── closing_loc: ∅
- ├── block: ∅
- └── flags: variable_call
+ └── block: ∅
diff --git a/test/prism/snapshots/seattlerb/str_single_newline.txt b/test/prism/snapshots/seattlerb/str_single_newline.txt
index 32e95c6542..d9b8d69f99 100644
--- a/test/prism/snapshots/seattlerb/str_single_newline.txt
+++ b/test/prism/snapshots/seattlerb/str_single_newline.txt
@@ -4,6 +4,7 @@
@ StatementsNode (location: (1,0)-(2,3))
└── body: (length: 2)
├── @ CallNode (location: (1,0)-(2,1))
+ │ ├── flags: ∅
│ ├── receiver: ∅
│ ├── call_operator_loc: ∅
│ ├── name: :a
@@ -11,18 +12,18 @@
│ ├── opening_loc: ∅
│ ├── arguments:
│ │ @ ArgumentsNode (location: (1,2)-(2,1))
- │ │ ├── arguments: (length: 1)
- │ │ │ └── @ StringNode (location: (1,2)-(2,1))
- │ │ │ ├── flags: ∅
- │ │ │ ├── opening_loc: (1,2)-(1,3) = "'"
- │ │ │ ├── content_loc: (1,3)-(2,0) = "\n"
- │ │ │ ├── closing_loc: (2,0)-(2,1) = "'"
- │ │ │ └── unescaped: "\n"
- │ │ └── flags: ∅
+ │ │ ├── flags: ∅
+ │ │ └── arguments: (length: 1)
+ │ │ └── @ StringNode (location: (1,2)-(2,1))
+ │ │ ├── flags: ∅
+ │ │ ├── opening_loc: (1,2)-(1,3) = "'"
+ │ │ ├── content_loc: (1,3)-(2,0) = "\n"
+ │ │ ├── closing_loc: (2,0)-(2,1) = "'"
+ │ │ └── unescaped: "\n"
│ ├── closing_loc: ∅
- │ ├── block: ∅
- │ └── flags: ∅
+ │ └── block: ∅
└── @ CallNode (location: (2,2)-(2,3))
+ ├── flags: variable_call
├── receiver: ∅
├── call_operator_loc: ∅
├── name: :b
@@ -30,5 +31,4 @@
├── opening_loc: ∅
├── arguments: ∅
├── closing_loc: ∅
- ├── block: ∅
- └── flags: variable_call
+ └── block: ∅
diff --git a/test/prism/snapshots/seattlerb/super_arg.txt b/test/prism/snapshots/seattlerb/super_arg.txt
index f3b4faf572..a7f13a4adf 100644
--- a/test/prism/snapshots/seattlerb/super_arg.txt
+++ b/test/prism/snapshots/seattlerb/super_arg.txt
@@ -8,9 +8,9 @@
├── lparen_loc: ∅
├── arguments:
│ @ ArgumentsNode (location: (1,6)-(1,8))
- │ ├── arguments: (length: 1)
- │ │ └── @ IntegerNode (location: (1,6)-(1,8))
- │ │ └── flags: decimal
- │ └── flags: ∅
+ │ ├── flags: ∅
+ │ └── arguments: (length: 1)
+ │ └── @ IntegerNode (location: (1,6)-(1,8))
+ │ └── flags: decimal
├── rparen_loc: ∅
└── block: ∅
diff --git a/test/prism/snapshots/seattlerb/symbol_list.txt b/test/prism/snapshots/seattlerb/symbol_list.txt
index bdb901daaf..212edfcbc7 100644
--- a/test/prism/snapshots/seattlerb/symbol_list.txt
+++ b/test/prism/snapshots/seattlerb/symbol_list.txt
@@ -4,6 +4,7 @@
@ StatementsNode (location: (1,0)-(1,13))
└── body: (length: 1)
└── @ ArrayNode (location: (1,0)-(1,13))
+ ├── flags: ∅
├── elements: (length: 2)
│ ├── @ InterpolatedSymbolNode (location: (1,3)-(1,7))
│ │ ├── opening_loc: ∅
@@ -14,6 +15,7 @@
│ │ │ │ @ StatementsNode (location: (1,5)-(1,6))
│ │ │ │ └── body: (length: 1)
│ │ │ │ └── @ CallNode (location: (1,5)-(1,6))
+ │ │ │ │ ├── flags: variable_call
│ │ │ │ ├── receiver: ∅
│ │ │ │ ├── call_operator_loc: ∅
│ │ │ │ ├── name: :a
@@ -21,8 +23,7 @@
│ │ │ │ ├── opening_loc: ∅
│ │ │ │ ├── arguments: ∅
│ │ │ │ ├── closing_loc: ∅
- │ │ │ │ ├── block: ∅
- │ │ │ │ └── flags: variable_call
+ │ │ │ │ └── block: ∅
│ │ │ └── closing_loc: (1,6)-(1,7) = "}"
│ │ └── closing_loc: ∅
│ └── @ InterpolatedSymbolNode (location: (1,8)-(1,12))
@@ -34,6 +35,7 @@
│ │ │ @ StatementsNode (location: (1,10)-(1,11))
│ │ │ └── body: (length: 1)
│ │ │ └── @ CallNode (location: (1,10)-(1,11))
+ │ │ │ ├── flags: variable_call
│ │ │ ├── receiver: ∅
│ │ │ ├── call_operator_loc: ∅
│ │ │ ├── name: :b
@@ -41,10 +43,8 @@
│ │ │ ├── opening_loc: ∅
│ │ │ ├── arguments: ∅
│ │ │ ├── closing_loc: ∅
- │ │ │ ├── block: ∅
- │ │ │ └── flags: variable_call
+ │ │ │ └── block: ∅
│ │ └── closing_loc: (1,11)-(1,12) = "}"
│ └── closing_loc: ∅
├── opening_loc: (1,0)-(1,3) = "%I["
- ├── closing_loc: (1,12)-(1,13) = "]"
- └── flags: ∅
+ └── closing_loc: (1,12)-(1,13) = "]"
diff --git a/test/prism/snapshots/seattlerb/symbols.txt b/test/prism/snapshots/seattlerb/symbols.txt
index 2eb9da1be9..936acc01f3 100644
--- a/test/prism/snapshots/seattlerb/symbols.txt
+++ b/test/prism/snapshots/seattlerb/symbols.txt
@@ -4,6 +4,7 @@
@ StatementsNode (location: (1,0)-(1,9))
└── body: (length: 1)
└── @ ArrayNode (location: (1,0)-(1,9))
+ ├── flags: ∅
├── elements: (length: 3)
│ ├── @ SymbolNode (location: (1,3)-(1,4))
│ │ ├── opening_loc: ∅
@@ -21,5 +22,4 @@
│ ├── closing_loc: ∅
│ └── unescaped: "c"
├── opening_loc: (1,0)-(1,3) = "%i("
- ├── closing_loc: (1,8)-(1,9) = ")"
- └── flags: ∅
+ └── closing_loc: (1,8)-(1,9) = ")"
diff --git a/test/prism/snapshots/seattlerb/symbols_empty.txt b/test/prism/snapshots/seattlerb/symbols_empty.txt
index 93db50109f..dc743e2be5 100644
--- a/test/prism/snapshots/seattlerb/symbols_empty.txt
+++ b/test/prism/snapshots/seattlerb/symbols_empty.txt
@@ -4,7 +4,7 @@
@ StatementsNode (location: (1,0)-(1,4))
└── body: (length: 1)
└── @ ArrayNode (location: (1,0)-(1,4))
+ ├── flags: ∅
├── elements: (length: 0)
├── opening_loc: (1,0)-(1,3) = "%i("
- ├── closing_loc: (1,3)-(1,4) = ")"
- └── flags: ∅
+ └── closing_loc: (1,3)-(1,4) = ")"
diff --git a/test/prism/snapshots/seattlerb/symbols_empty_space.txt b/test/prism/snapshots/seattlerb/symbols_empty_space.txt
index a74d76649d..ea7ada9446 100644
--- a/test/prism/snapshots/seattlerb/symbols_empty_space.txt
+++ b/test/prism/snapshots/seattlerb/symbols_empty_space.txt
@@ -4,7 +4,7 @@
@ StatementsNode (location: (1,0)-(1,5))
└── body: (length: 1)
└── @ ArrayNode (location: (1,0)-(1,5))
+ ├── flags: ∅
├── elements: (length: 0)
├── opening_loc: (1,0)-(1,3) = "%i("
- ├── closing_loc: (1,4)-(1,5) = ")"
- └── flags: ∅
+ └── closing_loc: (1,4)-(1,5) = ")"
diff --git a/test/prism/snapshots/seattlerb/symbols_interp.txt b/test/prism/snapshots/seattlerb/symbols_interp.txt
index c7a0b41c3b..a86d41f448 100644
--- a/test/prism/snapshots/seattlerb/symbols_interp.txt
+++ b/test/prism/snapshots/seattlerb/symbols_interp.txt
@@ -4,6 +4,7 @@
@ StatementsNode (location: (1,0)-(1,15))
└── body: (length: 1)
└── @ ArrayNode (location: (1,0)-(1,15))
+ ├── flags: ∅
├── elements: (length: 3)
│ ├── @ SymbolNode (location: (1,3)-(1,4))
│ │ ├── opening_loc: ∅
@@ -21,5 +22,4 @@
│ ├── closing_loc: ∅
│ └── unescaped: "c"
├── opening_loc: (1,0)-(1,3) = "%i("
- ├── closing_loc: (1,14)-(1,15) = ")"
- └── flags: ∅
+ └── closing_loc: (1,14)-(1,15) = ")"
diff --git a/test/prism/snapshots/seattlerb/thingy.txt b/test/prism/snapshots/seattlerb/thingy.txt
index 244d858e2e..63ec8c7e36 100644
--- a/test/prism/snapshots/seattlerb/thingy.txt
+++ b/test/prism/snapshots/seattlerb/thingy.txt
@@ -4,8 +4,10 @@
@ StatementsNode (location: (1,0)-(3,7))
└── body: (length: 2)
├── @ CallNode (location: (1,0)-(1,6))
+ │ ├── flags: ∅
│ ├── receiver:
│ │ @ CallNode (location: (1,0)-(1,1))
+ │ │ ├── flags: variable_call
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
│ │ ├── name: :f
@@ -13,24 +15,24 @@
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
- │ │ ├── block: ∅
- │ │ └── flags: variable_call
+ │ │ └── block: ∅
│ ├── call_operator_loc: (1,1)-(1,2) = "."
│ ├── name: :call
│ ├── message_loc: ∅
│ ├── opening_loc: (1,2)-(1,3) = "("
│ ├── arguments:
│ │ @ ArgumentsNode (location: (1,3)-(1,5))
- │ │ ├── arguments: (length: 1)
- │ │ │ └── @ IntegerNode (location: (1,3)-(1,5))
- │ │ │ └── flags: decimal
- │ │ └── flags: ∅
+ │ │ ├── flags: ∅
+ │ │ └── arguments: (length: 1)
+ │ │ └── @ IntegerNode (location: (1,3)-(1,5))
+ │ │ └── flags: decimal
│ ├── closing_loc: (1,5)-(1,6) = ")"
- │ ├── block: ∅
- │ └── flags: ∅
+ │ └── block: ∅
└── @ CallNode (location: (3,0)-(3,7))
+ ├── flags: ∅
├── receiver:
│ @ CallNode (location: (3,0)-(3,1))
+ │ ├── flags: variable_call
│ ├── receiver: ∅
│ ├── call_operator_loc: ∅
│ ├── name: :f
@@ -38,18 +40,16 @@
│ ├── opening_loc: ∅
│ ├── arguments: ∅
│ ├── closing_loc: ∅
- │ ├── block: ∅
- │ └── flags: variable_call
+ │ └── block: ∅
├── call_operator_loc: (3,1)-(3,3) = "::"
├── name: :call
├── message_loc: ∅
├── opening_loc: (3,3)-(3,4) = "("
├── arguments:
│ @ ArgumentsNode (location: (3,4)-(3,6))
- │ ├── arguments: (length: 1)
- │ │ └── @ IntegerNode (location: (3,4)-(3,6))
- │ │ └── flags: decimal
- │ └── flags: ∅
+ │ ├── flags: ∅
+ │ └── arguments: (length: 1)
+ │ └── @ IntegerNode (location: (3,4)-(3,6))
+ │ └── flags: decimal
├── closing_loc: (3,6)-(3,7) = ")"
- ├── block: ∅
- └── flags: ∅
+ └── block: ∅
diff --git a/test/prism/snapshots/seattlerb/unary_minus.txt b/test/prism/snapshots/seattlerb/unary_minus.txt
index d68788f89b..53fe7a65f2 100644
--- a/test/prism/snapshots/seattlerb/unary_minus.txt
+++ b/test/prism/snapshots/seattlerb/unary_minus.txt
@@ -4,8 +4,10 @@
@ StatementsNode (location: (1,0)-(1,2))
└── body: (length: 1)
└── @ CallNode (location: (1,0)-(1,2))
+ ├── flags: ∅
├── receiver:
│ @ CallNode (location: (1,1)-(1,2))
+ │ ├── flags: variable_call
│ ├── receiver: ∅
│ ├── call_operator_loc: ∅
│ ├── name: :a
@@ -13,13 +15,11 @@
│ ├── opening_loc: ∅
│ ├── arguments: ∅
│ ├── closing_loc: ∅
- │ ├── block: ∅
- │ └── flags: variable_call
+ │ └── block: ∅
├── call_operator_loc: ∅
├── name: :-@
├── message_loc: (1,0)-(1,1) = "-"
├── opening_loc: ∅
├── arguments: ∅
├── closing_loc: ∅
- ├── block: ∅
- └── flags: ∅
+ └── block: ∅
diff --git a/test/prism/snapshots/seattlerb/unary_plus.txt b/test/prism/snapshots/seattlerb/unary_plus.txt
index 9061198242..34ea027ce3 100644
--- a/test/prism/snapshots/seattlerb/unary_plus.txt
+++ b/test/prism/snapshots/seattlerb/unary_plus.txt
@@ -4,8 +4,10 @@
@ StatementsNode (location: (1,0)-(1,2))
└── body: (length: 1)
└── @ CallNode (location: (1,0)-(1,2))
+ ├── flags: ∅
├── receiver:
│ @ CallNode (location: (1,1)-(1,2))
+ │ ├── flags: variable_call
│ ├── receiver: ∅
│ ├── call_operator_loc: ∅
│ ├── name: :a
@@ -13,13 +15,11 @@
│ ├── opening_loc: ∅
│ ├── arguments: ∅
│ ├── closing_loc: ∅
- │ ├── block: ∅
- │ └── flags: variable_call
+ │ └── block: ∅
├── call_operator_loc: ∅
├── name: :+@
├── message_loc: (1,0)-(1,1) = "+"
├── opening_loc: ∅
├── arguments: ∅
├── closing_loc: ∅
- ├── block: ∅
- └── flags: ∅
+ └── block: ∅
diff --git a/test/prism/snapshots/seattlerb/unary_plus_on_literal.txt b/test/prism/snapshots/seattlerb/unary_plus_on_literal.txt
index f910059153..7564d00ba1 100644
--- a/test/prism/snapshots/seattlerb/unary_plus_on_literal.txt
+++ b/test/prism/snapshots/seattlerb/unary_plus_on_literal.txt
@@ -4,6 +4,7 @@
@ StatementsNode (location: (1,0)-(1,3))
└── body: (length: 1)
└── @ CallNode (location: (1,0)-(1,3))
+ ├── flags: ∅
├── receiver:
│ @ SymbolNode (location: (1,1)-(1,3))
│ ├── opening_loc: (1,1)-(1,2) = ":"
@@ -16,5 +17,4 @@
├── opening_loc: ∅
├── arguments: ∅
├── closing_loc: ∅
- ├── block: ∅
- └── flags: ∅
+ └── block: ∅
diff --git a/test/prism/snapshots/seattlerb/unary_tilde.txt b/test/prism/snapshots/seattlerb/unary_tilde.txt
index 5ba20eb961..7268b99cd3 100644
--- a/test/prism/snapshots/seattlerb/unary_tilde.txt
+++ b/test/prism/snapshots/seattlerb/unary_tilde.txt
@@ -4,8 +4,10 @@
@ StatementsNode (location: (1,0)-(1,2))
└── body: (length: 1)
└── @ CallNode (location: (1,0)-(1,2))
+ ├── flags: ∅
├── receiver:
│ @ CallNode (location: (1,1)-(1,2))
+ │ ├── flags: variable_call
│ ├── receiver: ∅
│ ├── call_operator_loc: ∅
│ ├── name: :a
@@ -13,13 +15,11 @@
│ ├── opening_loc: ∅
│ ├── arguments: ∅
│ ├── closing_loc: ∅
- │ ├── block: ∅
- │ └── flags: variable_call
+ │ └── block: ∅
├── call_operator_loc: ∅
├── name: :~
├── message_loc: (1,0)-(1,1) = "~"
├── opening_loc: ∅
├── arguments: ∅
├── closing_loc: ∅
- ├── block: ∅
- └── flags: ∅
+ └── block: ∅
diff --git a/test/prism/snapshots/seattlerb/utf8_bom.txt b/test/prism/snapshots/seattlerb/utf8_bom.txt
index af5ce88bdb..ad48aa068f 100644
--- a/test/prism/snapshots/seattlerb/utf8_bom.txt
+++ b/test/prism/snapshots/seattlerb/utf8_bom.txt
@@ -4,6 +4,7 @@
@ StatementsNode (location: (2,0)-(2,3))
└── body: (length: 1)
└── @ CallNode (location: (2,0)-(2,3))
+ ├── flags: ∅
├── receiver: ∅
├── call_operator_loc: ∅
├── name: :p
@@ -11,10 +12,9 @@
├── opening_loc: ∅
├── arguments:
│ @ ArgumentsNode (location: (2,2)-(2,3))
- │ ├── arguments: (length: 1)
- │ │ └── @ IntegerNode (location: (2,2)-(2,3))
- │ │ └── flags: decimal
- │ └── flags: ∅
+ │ ├── flags: ∅
+ │ └── arguments: (length: 1)
+ │ └── @ IntegerNode (location: (2,2)-(2,3))
+ │ └── flags: decimal
├── closing_loc: ∅
- ├── block: ∅
- └── flags: ∅
+ └── block: ∅
diff --git a/test/prism/snapshots/seattlerb/when_splat.txt b/test/prism/snapshots/seattlerb/when_splat.txt
index f47f501738..bd5928ca8b 100644
--- a/test/prism/snapshots/seattlerb/when_splat.txt
+++ b/test/prism/snapshots/seattlerb/when_splat.txt
@@ -6,6 +6,7 @@
└── @ CaseNode (location: (1,0)-(1,25))
├── predicate:
│ @ CallNode (location: (1,5)-(1,6))
+ │ ├── flags: variable_call
│ ├── receiver: ∅
│ ├── call_operator_loc: ∅
│ ├── name: :a
@@ -13,8 +14,7 @@
│ ├── opening_loc: ∅
│ ├── arguments: ∅
│ ├── closing_loc: ∅
- │ ├── block: ∅
- │ └── flags: variable_call
+ │ └── block: ∅
├── conditions: (length: 1)
│ └── @ WhenNode (location: (1,8)-(1,15))
│ ├── keyword_loc: (1,8)-(1,12) = "when"
@@ -23,6 +23,7 @@
│ │ ├── operator_loc: (1,13)-(1,14) = "*"
│ │ └── expression:
│ │ @ CallNode (location: (1,14)-(1,15))
+ │ │ ├── flags: variable_call
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
│ │ ├── name: :b
@@ -30,8 +31,7 @@
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
- │ │ ├── block: ∅
- │ │ └── flags: variable_call
+ │ │ └── block: ∅
│ └── statements: ∅
├── consequent: ∅
├── case_keyword_loc: (1,0)-(1,4) = "case"
diff --git a/test/prism/snapshots/seattlerb/words_interp.txt b/test/prism/snapshots/seattlerb/words_interp.txt
index c47cc6b5f7..864f826dcb 100644
--- a/test/prism/snapshots/seattlerb/words_interp.txt
+++ b/test/prism/snapshots/seattlerb/words_interp.txt
@@ -4,6 +4,7 @@
@ StatementsNode (location: (1,0)-(1,9))
└── body: (length: 1)
└── @ ArrayNode (location: (1,0)-(1,9))
+ ├── flags: ∅
├── elements: (length: 1)
│ └── @ InterpolatedStringNode (location: (1,3)-(1,8))
│ ├── opening_loc: ∅
@@ -24,5 +25,4 @@
│ │ └── unescaped: "b"
│ └── closing_loc: ∅
├── opening_loc: (1,0)-(1,3) = "%W("
- ├── closing_loc: (1,8)-(1,9) = ")"
- └── flags: ∅
+ └── closing_loc: (1,8)-(1,9) = ")"
diff --git a/test/prism/snapshots/seattlerb/yield_arg.txt b/test/prism/snapshots/seattlerb/yield_arg.txt
index 808af4c91c..d297e5acdb 100644
--- a/test/prism/snapshots/seattlerb/yield_arg.txt
+++ b/test/prism/snapshots/seattlerb/yield_arg.txt
@@ -8,8 +8,8 @@
├── lparen_loc: ∅
├── arguments:
│ @ ArgumentsNode (location: (1,6)-(1,8))
- │ ├── arguments: (length: 1)
- │ │ └── @ IntegerNode (location: (1,6)-(1,8))
- │ │ └── flags: decimal
- │ └── flags: ∅
+ │ ├── flags: ∅
+ │ └── arguments: (length: 1)
+ │ └── @ IntegerNode (location: (1,6)-(1,8))
+ │ └── flags: decimal
└── rparen_loc: ∅
diff --git a/test/prism/snapshots/seattlerb/yield_call_assocs.txt b/test/prism/snapshots/seattlerb/yield_call_assocs.txt
index 5424c5558e..cade701ce3 100644
--- a/test/prism/snapshots/seattlerb/yield_call_assocs.txt
+++ b/test/prism/snapshots/seattlerb/yield_call_assocs.txt
@@ -8,196 +8,196 @@
│ ├── lparen_loc: ∅
│ ├── arguments:
│ │ @ ArgumentsNode (location: (1,6)-(1,16))
- │ │ ├── arguments: (length: 2)
- │ │ │ ├── @ IntegerNode (location: (1,6)-(1,7))
- │ │ │ │ └── flags: decimal
- │ │ │ └── @ KeywordHashNode (location: (1,9)-(1,16))
- │ │ │ └── elements: (length: 1)
- │ │ │ └── @ AssocNode (location: (1,9)-(1,16))
- │ │ │ ├── key:
- │ │ │ │ @ SymbolNode (location: (1,9)-(1,11))
- │ │ │ │ ├── opening_loc: (1,9)-(1,10) = ":"
- │ │ │ │ ├── value_loc: (1,10)-(1,11) = "z"
- │ │ │ │ ├── closing_loc: ∅
- │ │ │ │ └── unescaped: "z"
- │ │ │ ├── value:
- │ │ │ │ @ IntegerNode (location: (1,15)-(1,16))
- │ │ │ │ └── flags: decimal
- │ │ │ └── operator_loc: (1,12)-(1,14) = "=>"
- │ │ └── flags: ∅
+ │ │ ├── flags: ∅
+ │ │ └── arguments: (length: 2)
+ │ │ ├── @ IntegerNode (location: (1,6)-(1,7))
+ │ │ │ └── flags: decimal
+ │ │ └── @ KeywordHashNode (location: (1,9)-(1,16))
+ │ │ └── elements: (length: 1)
+ │ │ └── @ AssocNode (location: (1,9)-(1,16))
+ │ │ ├── key:
+ │ │ │ @ SymbolNode (location: (1,9)-(1,11))
+ │ │ │ ├── opening_loc: (1,9)-(1,10) = ":"
+ │ │ │ ├── value_loc: (1,10)-(1,11) = "z"
+ │ │ │ ├── closing_loc: ∅
+ │ │ │ └── unescaped: "z"
+ │ │ ├── value:
+ │ │ │ @ IntegerNode (location: (1,15)-(1,16))
+ │ │ │ └── flags: decimal
+ │ │ └── operator_loc: (1,12)-(1,14) = "=>"
│ └── rparen_loc: ∅
├── @ YieldNode (location: (3,0)-(3,25))
│ ├── keyword_loc: (3,0)-(3,5) = "yield"
│ ├── lparen_loc: ∅
│ ├── arguments:
│ │ @ ArgumentsNode (location: (3,6)-(3,25))
- │ │ ├── arguments: (length: 2)
- │ │ │ ├── @ IntegerNode (location: (3,6)-(3,7))
- │ │ │ │ └── flags: decimal
- │ │ │ └── @ KeywordHashNode (location: (3,9)-(3,25))
- │ │ │ └── elements: (length: 2)
- │ │ │ ├── @ AssocNode (location: (3,9)-(3,16))
- │ │ │ │ ├── key:
- │ │ │ │ │ @ SymbolNode (location: (3,9)-(3,11))
- │ │ │ │ │ ├── opening_loc: (3,9)-(3,10) = ":"
- │ │ │ │ │ ├── value_loc: (3,10)-(3,11) = "z"
- │ │ │ │ │ ├── closing_loc: ∅
- │ │ │ │ │ └── unescaped: "z"
- │ │ │ │ ├── value:
- │ │ │ │ │ @ IntegerNode (location: (3,15)-(3,16))
- │ │ │ │ │ └── flags: decimal
- │ │ │ │ └── operator_loc: (3,12)-(3,14) = "=>"
- │ │ │ └── @ AssocNode (location: (3,18)-(3,25))
- │ │ │ ├── key:
- │ │ │ │ @ SymbolNode (location: (3,18)-(3,20))
- │ │ │ │ ├── opening_loc: (3,18)-(3,19) = ":"
- │ │ │ │ ├── value_loc: (3,19)-(3,20) = "w"
- │ │ │ │ ├── closing_loc: ∅
- │ │ │ │ └── unescaped: "w"
- │ │ │ ├── value:
- │ │ │ │ @ IntegerNode (location: (3,24)-(3,25))
- │ │ │ │ └── flags: decimal
- │ │ │ └── operator_loc: (3,21)-(3,23) = "=>"
- │ │ └── flags: ∅
+ │ │ ├── flags: ∅
+ │ │ └── arguments: (length: 2)
+ │ │ ├── @ IntegerNode (location: (3,6)-(3,7))
+ │ │ │ └── flags: decimal
+ │ │ └── @ KeywordHashNode (location: (3,9)-(3,25))
+ │ │ └── elements: (length: 2)
+ │ │ ├── @ AssocNode (location: (3,9)-(3,16))
+ │ │ │ ├── key:
+ │ │ │ │ @ SymbolNode (location: (3,9)-(3,11))
+ │ │ │ │ ├── opening_loc: (3,9)-(3,10) = ":"
+ │ │ │ │ ├── value_loc: (3,10)-(3,11) = "z"
+ │ │ │ │ ├── closing_loc: ∅
+ │ │ │ │ └── unescaped: "z"
+ │ │ │ ├── value:
+ │ │ │ │ @ IntegerNode (location: (3,15)-(3,16))
+ │ │ │ │ └── flags: decimal
+ │ │ │ └── operator_loc: (3,12)-(3,14) = "=>"
+ │ │ └── @ AssocNode (location: (3,18)-(3,25))
+ │ │ ├── key:
+ │ │ │ @ SymbolNode (location: (3,18)-(3,20))
+ │ │ │ ├── opening_loc: (3,18)-(3,19) = ":"
+ │ │ │ ├── value_loc: (3,19)-(3,20) = "w"
+ │ │ │ ├── closing_loc: ∅
+ │ │ │ └── unescaped: "w"
+ │ │ ├── value:
+ │ │ │ @ IntegerNode (location: (3,24)-(3,25))
+ │ │ │ └── flags: decimal
+ │ │ └── operator_loc: (3,21)-(3,23) = "=>"
│ └── rparen_loc: ∅
├── @ YieldNode (location: (5,0)-(5,13))
│ ├── keyword_loc: (5,0)-(5,5) = "yield"
│ ├── lparen_loc: ∅
│ ├── arguments:
│ │ @ ArgumentsNode (location: (5,6)-(5,13))
- │ │ ├── arguments: (length: 1)
- │ │ │ └── @ CallNode (location: (5,6)-(5,13))
- │ │ │ ├── receiver: ∅
- │ │ │ ├── call_operator_loc: ∅
- │ │ │ ├── name: :y
- │ │ │ ├── message_loc: (5,6)-(5,7) = "y"
- │ │ │ ├── opening_loc: ∅
- │ │ │ ├── arguments:
- │ │ │ │ @ ArgumentsNode (location: (5,8)-(5,13))
- │ │ │ │ ├── arguments: (length: 1)
- │ │ │ │ │ └── @ KeywordHashNode (location: (5,8)-(5,13))
- │ │ │ │ │ └── elements: (length: 1)
- │ │ │ │ │ └── @ AssocNode (location: (5,8)-(5,13))
- │ │ │ │ │ ├── key:
- │ │ │ │ │ │ @ SymbolNode (location: (5,8)-(5,10))
- │ │ │ │ │ │ ├── opening_loc: (5,8)-(5,9) = ":"
- │ │ │ │ │ │ ├── value_loc: (5,9)-(5,10) = "z"
- │ │ │ │ │ │ ├── closing_loc: ∅
- │ │ │ │ │ │ └── unescaped: "z"
- │ │ │ │ │ ├── value:
- │ │ │ │ │ │ @ IntegerNode (location: (5,12)-(5,13))
- │ │ │ │ │ │ └── flags: decimal
- │ │ │ │ │ └── operator_loc: (5,10)-(5,12) = "=>"
- │ │ │ │ └── flags: ∅
- │ │ │ ├── closing_loc: ∅
- │ │ │ ├── block: ∅
- │ │ │ └── flags: ∅
- │ │ └── flags: ∅
+ │ │ ├── flags: ∅
+ │ │ └── arguments: (length: 1)
+ │ │ └── @ CallNode (location: (5,6)-(5,13))
+ │ │ ├── flags: ∅
+ │ │ ├── receiver: ∅
+ │ │ ├── call_operator_loc: ∅
+ │ │ ├── name: :y
+ │ │ ├── message_loc: (5,6)-(5,7) = "y"
+ │ │ ├── opening_loc: ∅
+ │ │ ├── arguments:
+ │ │ │ @ ArgumentsNode (location: (5,8)-(5,13))
+ │ │ │ ├── flags: ∅
+ │ │ │ └── arguments: (length: 1)
+ │ │ │ └── @ KeywordHashNode (location: (5,8)-(5,13))
+ │ │ │ └── elements: (length: 1)
+ │ │ │ └── @ AssocNode (location: (5,8)-(5,13))
+ │ │ │ ├── key:
+ │ │ │ │ @ SymbolNode (location: (5,8)-(5,10))
+ │ │ │ │ ├── opening_loc: (5,8)-(5,9) = ":"
+ │ │ │ │ ├── value_loc: (5,9)-(5,10) = "z"
+ │ │ │ │ ├── closing_loc: ∅
+ │ │ │ │ └── unescaped: "z"
+ │ │ │ ├── value:
+ │ │ │ │ @ IntegerNode (location: (5,12)-(5,13))
+ │ │ │ │ └── flags: decimal
+ │ │ │ └── operator_loc: (5,10)-(5,12) = "=>"
+ │ │ ├── closing_loc: ∅
+ │ │ └── block: ∅
│ └── rparen_loc: ∅
├── @ YieldNode (location: (7,0)-(7,11))
│ ├── keyword_loc: (7,0)-(7,5) = "yield"
│ ├── lparen_loc: ∅
│ ├── arguments:
│ │ @ ArgumentsNode (location: (7,6)-(7,11))
- │ │ ├── arguments: (length: 1)
- │ │ │ └── @ CallNode (location: (7,6)-(7,11))
- │ │ │ ├── receiver: ∅
- │ │ │ ├── call_operator_loc: ∅
- │ │ │ ├── name: :y
- │ │ │ ├── message_loc: (7,6)-(7,7) = "y"
- │ │ │ ├── opening_loc: ∅
- │ │ │ ├── arguments:
- │ │ │ │ @ ArgumentsNode (location: (7,8)-(7,11))
- │ │ │ │ ├── arguments: (length: 1)
- │ │ │ │ │ └── @ KeywordHashNode (location: (7,8)-(7,11))
- │ │ │ │ │ └── elements: (length: 1)
- │ │ │ │ │ └── @ AssocNode (location: (7,8)-(7,11))
- │ │ │ │ │ ├── key:
- │ │ │ │ │ │ @ SymbolNode (location: (7,8)-(7,10))
- │ │ │ │ │ │ ├── opening_loc: ∅
- │ │ │ │ │ │ ├── value_loc: (7,8)-(7,9) = "z"
- │ │ │ │ │ │ ├── closing_loc: (7,9)-(7,10) = ":"
- │ │ │ │ │ │ └── unescaped: "z"
- │ │ │ │ │ ├── value:
- │ │ │ │ │ │ @ IntegerNode (location: (7,10)-(7,11))
- │ │ │ │ │ │ └── flags: decimal
- │ │ │ │ │ └── operator_loc: ∅
- │ │ │ │ └── flags: ∅
- │ │ │ ├── closing_loc: ∅
- │ │ │ ├── block: ∅
- │ │ │ └── flags: ∅
- │ │ └── flags: ∅
+ │ │ ├── flags: ∅
+ │ │ └── arguments: (length: 1)
+ │ │ └── @ CallNode (location: (7,6)-(7,11))
+ │ │ ├── flags: ∅
+ │ │ ├── receiver: ∅
+ │ │ ├── call_operator_loc: ∅
+ │ │ ├── name: :y
+ │ │ ├── message_loc: (7,6)-(7,7) = "y"
+ │ │ ├── opening_loc: ∅
+ │ │ ├── arguments:
+ │ │ │ @ ArgumentsNode (location: (7,8)-(7,11))
+ │ │ │ ├── flags: ∅
+ │ │ │ └── arguments: (length: 1)
+ │ │ │ └── @ KeywordHashNode (location: (7,8)-(7,11))
+ │ │ │ └── elements: (length: 1)
+ │ │ │ └── @ AssocNode (location: (7,8)-(7,11))
+ │ │ │ ├── key:
+ │ │ │ │ @ SymbolNode (location: (7,8)-(7,10))
+ │ │ │ │ ├── opening_loc: ∅
+ │ │ │ │ ├── value_loc: (7,8)-(7,9) = "z"
+ │ │ │ │ ├── closing_loc: (7,9)-(7,10) = ":"
+ │ │ │ │ └── unescaped: "z"
+ │ │ │ ├── value:
+ │ │ │ │ @ IntegerNode (location: (7,10)-(7,11))
+ │ │ │ │ └── flags: decimal
+ │ │ │ └── operator_loc: ∅
+ │ │ ├── closing_loc: ∅
+ │ │ └── block: ∅
│ └── rparen_loc: ∅
├── @ YieldNode (location: (9,0)-(9,12))
│ ├── keyword_loc: (9,0)-(9,5) = "yield"
│ ├── lparen_loc: ∅
│ ├── arguments:
│ │ @ ArgumentsNode (location: (9,6)-(9,12))
- │ │ ├── arguments: (length: 1)
- │ │ │ └── @ CallNode (location: (9,6)-(9,12))
- │ │ │ ├── receiver: ∅
- │ │ │ ├── call_operator_loc: ∅
- │ │ │ ├── name: :y
- │ │ │ ├── message_loc: (9,6)-(9,7) = "y"
- │ │ │ ├── opening_loc: (9,7)-(9,8) = "("
- │ │ │ ├── arguments:
- │ │ │ │ @ ArgumentsNode (location: (9,8)-(9,11))
- │ │ │ │ ├── arguments: (length: 1)
- │ │ │ │ │ └── @ KeywordHashNode (location: (9,8)-(9,11))
- │ │ │ │ │ └── elements: (length: 1)
- │ │ │ │ │ └── @ AssocNode (location: (9,8)-(9,11))
- │ │ │ │ │ ├── key:
- │ │ │ │ │ │ @ SymbolNode (location: (9,8)-(9,10))
- │ │ │ │ │ │ ├── opening_loc: ∅
- │ │ │ │ │ │ ├── value_loc: (9,8)-(9,9) = "z"
- │ │ │ │ │ │ ├── closing_loc: (9,9)-(9,10) = ":"
- │ │ │ │ │ │ └── unescaped: "z"
- │ │ │ │ │ ├── value:
- │ │ │ │ │ │ @ IntegerNode (location: (9,10)-(9,11))
- │ │ │ │ │ │ └── flags: decimal
- │ │ │ │ │ └── operator_loc: ∅
- │ │ │ │ └── flags: ∅
- │ │ │ ├── closing_loc: (9,11)-(9,12) = ")"
- │ │ │ ├── block: ∅
- │ │ │ └── flags: ∅
- │ │ └── flags: ∅
+ │ │ ├── flags: ∅
+ │ │ └── arguments: (length: 1)
+ │ │ └── @ CallNode (location: (9,6)-(9,12))
+ │ │ ├── flags: ∅
+ │ │ ├── receiver: ∅
+ │ │ ├── call_operator_loc: ∅
+ │ │ ├── name: :y
+ │ │ ├── message_loc: (9,6)-(9,7) = "y"
+ │ │ ├── opening_loc: (9,7)-(9,8) = "("
+ │ │ ├── arguments:
+ │ │ │ @ ArgumentsNode (location: (9,8)-(9,11))
+ │ │ │ ├── flags: ∅
+ │ │ │ └── arguments: (length: 1)
+ │ │ │ └── @ KeywordHashNode (location: (9,8)-(9,11))
+ │ │ │ └── elements: (length: 1)
+ │ │ │ └── @ AssocNode (location: (9,8)-(9,11))
+ │ │ │ ├── key:
+ │ │ │ │ @ SymbolNode (location: (9,8)-(9,10))
+ │ │ │ │ ├── opening_loc: ∅
+ │ │ │ │ ├── value_loc: (9,8)-(9,9) = "z"
+ │ │ │ │ ├── closing_loc: (9,9)-(9,10) = ":"
+ │ │ │ │ └── unescaped: "z"
+ │ │ │ ├── value:
+ │ │ │ │ @ IntegerNode (location: (9,10)-(9,11))
+ │ │ │ │ └── flags: decimal
+ │ │ │ └── operator_loc: ∅
+ │ │ ├── closing_loc: (9,11)-(9,12) = ")"
+ │ │ └── block: ∅
│ └── rparen_loc: ∅
└── @ YieldNode (location: (11,0)-(11,13))
├── keyword_loc: (11,0)-(11,5) = "yield"
├── lparen_loc: ∅
├── arguments:
│ @ ArgumentsNode (location: (11,6)-(11,13))
- │ ├── arguments: (length: 1)
- │ │ └── @ CallNode (location: (11,6)-(11,13))
- │ │ ├── receiver: ∅
- │ │ ├── call_operator_loc: ∅
- │ │ ├── name: :y
- │ │ ├── message_loc: (11,6)-(11,7) = "y"
- │ │ ├── opening_loc: (11,7)-(11,8) = "("
- │ │ ├── arguments:
- │ │ │ @ ArgumentsNode (location: (11,8)-(11,12))
- │ │ │ ├── arguments: (length: 1)
- │ │ │ │ └── @ KeywordHashNode (location: (11,8)-(11,12))
- │ │ │ │ └── elements: (length: 1)
- │ │ │ │ └── @ AssocNode (location: (11,8)-(11,12))
- │ │ │ │ ├── key:
- │ │ │ │ │ @ CallNode (location: (11,8)-(11,9))
- │ │ │ │ │ ├── receiver: ∅
- │ │ │ │ │ ├── call_operator_loc: ∅
- │ │ │ │ │ ├── name: :z
- │ │ │ │ │ ├── message_loc: (11,8)-(11,9) = "z"
- │ │ │ │ │ ├── opening_loc: ∅
- │ │ │ │ │ ├── arguments: ∅
- │ │ │ │ │ ├── closing_loc: ∅
- │ │ │ │ │ ├── block: ∅
- │ │ │ │ │ └── flags: variable_call
- │ │ │ │ ├── value:
- │ │ │ │ │ @ IntegerNode (location: (11,11)-(11,12))
- │ │ │ │ │ └── flags: decimal
- │ │ │ │ └── operator_loc: (11,9)-(11,11) = "=>"
- │ │ │ └── flags: ∅
- │ │ ├── closing_loc: (11,12)-(11,13) = ")"
- │ │ ├── block: ∅
- │ │ └── flags: ∅
- │ └── flags: ∅
+ │ ├── flags: ∅
+ │ └── arguments: (length: 1)
+ │ └── @ CallNode (location: (11,6)-(11,13))
+ │ ├── flags: ∅
+ │ ├── receiver: ∅
+ │ ├── call_operator_loc: ∅
+ │ ├── name: :y
+ │ ├── message_loc: (11,6)-(11,7) = "y"
+ │ ├── opening_loc: (11,7)-(11,8) = "("
+ │ ├── arguments:
+ │ │ @ ArgumentsNode (location: (11,8)-(11,12))
+ │ │ ├── flags: ∅
+ │ │ └── arguments: (length: 1)
+ │ │ └── @ KeywordHashNode (location: (11,8)-(11,12))
+ │ │ └── elements: (length: 1)
+ │ │ └── @ AssocNode (location: (11,8)-(11,12))
+ │ │ ├── key:
+ │ │ │ @ CallNode (location: (11,8)-(11,9))
+ │ │ │ ├── flags: variable_call
+ │ │ │ ├── receiver: ∅
+ │ │ │ ├── call_operator_loc: ∅
+ │ │ │ ├── name: :z
+ │ │ │ ├── message_loc: (11,8)-(11,9) = "z"
+ │ │ │ ├── opening_loc: ∅
+ │ │ │ ├── arguments: ∅
+ │ │ │ ├── closing_loc: ∅
+ │ │ │ └── block: ∅
+ │ │ ├── value:
+ │ │ │ @ IntegerNode (location: (11,11)-(11,12))
+ │ │ │ └── flags: decimal
+ │ │ └── operator_loc: (11,9)-(11,11) = "=>"
+ │ ├── closing_loc: (11,12)-(11,13) = ")"
+ │ └── block: ∅
└── rparen_loc: ∅
diff --git a/test/prism/snapshots/spanning_heredoc.txt b/test/prism/snapshots/spanning_heredoc.txt
index c28def31ad..f203e5ac26 100644
--- a/test/prism/snapshots/spanning_heredoc.txt
+++ b/test/prism/snapshots/spanning_heredoc.txt
@@ -4,6 +4,7 @@
@ StatementsNode (location: (4,0)-(55,13))
└── body: (length: 10)
├── @ CallNode (location: (4,0)-(7,7))
+ │ ├── flags: ∅
│ ├── receiver: ∅
│ ├── call_operator_loc: ∅
│ ├── name: :pp
@@ -11,54 +12,54 @@
│ ├── opening_loc: ∅
│ ├── arguments:
│ │ @ ArgumentsNode (location: (4,3)-(7,7))
- │ │ ├── arguments: (length: 1)
- │ │ │ └── @ CallNode (location: (4,3)-(7,7))
- │ │ │ ├── receiver:
- │ │ │ │ @ StringNode (location: (4,3)-(4,7))
- │ │ │ │ ├── flags: ∅
- │ │ │ │ ├── opening_loc: (4,3)-(4,7) = "<<-A"
- │ │ │ │ ├── content_loc: (5,0)-(6,0) = "a\n"
- │ │ │ │ ├── closing_loc: (6,0)-(7,0) = "A\n"
- │ │ │ │ └── unescaped: "a\n"
- │ │ │ ├── call_operator_loc: (4,7)-(4,8) = "."
- │ │ │ ├── name: :gsub
- │ │ │ ├── message_loc: (4,8)-(4,12) = "gsub"
- │ │ │ ├── opening_loc: (4,12)-(4,13) = "("
- │ │ │ ├── arguments:
- │ │ │ │ @ ArgumentsNode (location: (4,13)-(7,6))
- │ │ │ │ ├── arguments: (length: 2)
- │ │ │ │ │ ├── @ InterpolatedRegularExpressionNode (location: (4,13)-(7,2))
- │ │ │ │ │ │ ├── opening_loc: (4,13)-(4,14) = "/"
- │ │ │ │ │ │ ├── parts: (length: 2)
- │ │ │ │ │ │ │ ├── @ StringNode (location: (4,14)-(4,16))
- │ │ │ │ │ │ │ │ ├── flags: ∅
- │ │ │ │ │ │ │ │ ├── opening_loc: ∅
- │ │ │ │ │ │ │ │ ├── content_loc: (4,14)-(4,16) = "b\\"
- │ │ │ │ │ │ │ │ ├── closing_loc: ∅
- │ │ │ │ │ │ │ │ └── unescaped: "b"
- │ │ │ │ │ │ │ └── @ StringNode (location: (7,0)-(7,1))
- │ │ │ │ │ │ │ ├── flags: ∅
- │ │ │ │ │ │ │ ├── opening_loc: ∅
- │ │ │ │ │ │ │ ├── content_loc: (7,0)-(7,1) = "b"
- │ │ │ │ │ │ │ ├── closing_loc: ∅
- │ │ │ │ │ │ │ └── unescaped: "b"
- │ │ │ │ │ │ ├── closing_loc: (7,1)-(7,2) = "/"
- │ │ │ │ │ │ └── flags: ∅
- │ │ │ │ │ └── @ StringNode (location: (7,4)-(7,6))
- │ │ │ │ │ ├── flags: ∅
- │ │ │ │ │ ├── opening_loc: (7,4)-(7,5) = "\""
- │ │ │ │ │ ├── content_loc: (7,5)-(7,5) = ""
- │ │ │ │ │ ├── closing_loc: (7,5)-(7,6) = "\""
- │ │ │ │ │ └── unescaped: ""
- │ │ │ │ └── flags: ∅
- │ │ │ ├── closing_loc: (7,6)-(7,7) = ")"
- │ │ │ ├── block: ∅
- │ │ │ └── flags: ∅
- │ │ └── flags: ∅
+ │ │ ├── flags: ∅
+ │ │ └── arguments: (length: 1)
+ │ │ └── @ CallNode (location: (4,3)-(7,7))
+ │ │ ├── flags: ∅
+ │ │ ├── receiver:
+ │ │ │ @ StringNode (location: (4,3)-(4,7))
+ │ │ │ ├── flags: ∅
+ │ │ │ ├── opening_loc: (4,3)-(4,7) = "<<-A"
+ │ │ │ ├── content_loc: (5,0)-(6,0) = "a\n"
+ │ │ │ ├── closing_loc: (6,0)-(7,0) = "A\n"
+ │ │ │ └── unescaped: "a\n"
+ │ │ ├── call_operator_loc: (4,7)-(4,8) = "."
+ │ │ ├── name: :gsub
+ │ │ ├── message_loc: (4,8)-(4,12) = "gsub"
+ │ │ ├── opening_loc: (4,12)-(4,13) = "("
+ │ │ ├── arguments:
+ │ │ │ @ ArgumentsNode (location: (4,13)-(7,6))
+ │ │ │ ├── flags: ∅
+ │ │ │ └── arguments: (length: 2)
+ │ │ │ ├── @ InterpolatedRegularExpressionNode (location: (4,13)-(7,2))
+ │ │ │ │ ├── flags: ∅
+ │ │ │ │ ├── opening_loc: (4,13)-(4,14) = "/"
+ │ │ │ │ ├── parts: (length: 2)
+ │ │ │ │ │ ├── @ StringNode (location: (4,14)-(4,16))
+ │ │ │ │ │ │ ├── flags: ∅
+ │ │ │ │ │ │ ├── opening_loc: ∅
+ │ │ │ │ │ │ ├── content_loc: (4,14)-(4,16) = "b\\"
+ │ │ │ │ │ │ ├── closing_loc: ∅
+ │ │ │ │ │ │ └── unescaped: "b"
+ │ │ │ │ │ └── @ StringNode (location: (7,0)-(7,1))
+ │ │ │ │ │ ├── flags: ∅
+ │ │ │ │ │ ├── opening_loc: ∅
+ │ │ │ │ │ ├── content_loc: (7,0)-(7,1) = "b"
+ │ │ │ │ │ ├── closing_loc: ∅
+ │ │ │ │ │ └── unescaped: "b"
+ │ │ │ │ └── closing_loc: (7,1)-(7,2) = "/"
+ │ │ │ └── @ StringNode (location: (7,4)-(7,6))
+ │ │ │ ├── flags: ∅
+ │ │ │ ├── opening_loc: (7,4)-(7,5) = "\""
+ │ │ │ ├── content_loc: (7,5)-(7,5) = ""
+ │ │ │ ├── closing_loc: (7,5)-(7,6) = "\""
+ │ │ │ └── unescaped: ""
+ │ │ ├── closing_loc: (7,6)-(7,7) = ")"
+ │ │ └── block: ∅
│ ├── closing_loc: ∅
- │ ├── block: ∅
- │ └── flags: ∅
+ │ └── block: ∅
├── @ CallNode (location: (10,0)-(13,2))
+ │ ├── flags: ∅
│ ├── receiver: ∅
│ ├── call_operator_loc: ∅
│ ├── name: :pp
@@ -66,34 +67,34 @@
│ ├── opening_loc: ∅
│ ├── arguments:
│ │ @ ArgumentsNode (location: (10,3)-(13,2))
- │ │ ├── arguments: (length: 2)
- │ │ │ ├── @ StringNode (location: (10,3)-(10,7))
- │ │ │ │ ├── flags: ∅
- │ │ │ │ ├── opening_loc: (10,3)-(10,7) = "<<-A"
- │ │ │ │ ├── content_loc: (11,0)-(12,0) = "c\n"
- │ │ │ │ ├── closing_loc: (12,0)-(13,0) = "A\n"
- │ │ │ │ └── unescaped: "c\n"
- │ │ │ └── @ InterpolatedStringNode (location: (10,9)-(13,2))
- │ │ │ ├── opening_loc: (10,9)-(10,10) = "\""
- │ │ │ ├── parts: (length: 2)
- │ │ │ │ ├── @ StringNode (location: (10,10)-(10,12))
- │ │ │ │ │ ├── flags: ∅
- │ │ │ │ │ ├── opening_loc: ∅
- │ │ │ │ │ ├── content_loc: (10,10)-(10,12) = "d\\"
- │ │ │ │ │ ├── closing_loc: ∅
- │ │ │ │ │ └── unescaped: "d"
- │ │ │ │ └── @ StringNode (location: (13,0)-(13,1))
- │ │ │ │ ├── flags: ∅
- │ │ │ │ ├── opening_loc: ∅
- │ │ │ │ ├── content_loc: (13,0)-(13,1) = "d"
- │ │ │ │ ├── closing_loc: ∅
- │ │ │ │ └── unescaped: "d"
- │ │ │ └── closing_loc: (13,1)-(13,2) = "\""
- │ │ └── flags: ∅
+ │ │ ├── flags: ∅
+ │ │ └── arguments: (length: 2)
+ │ │ ├── @ StringNode (location: (10,3)-(10,7))
+ │ │ │ ├── flags: ∅
+ │ │ │ ├── opening_loc: (10,3)-(10,7) = "<<-A"
+ │ │ │ ├── content_loc: (11,0)-(12,0) = "c\n"
+ │ │ │ ├── closing_loc: (12,0)-(13,0) = "A\n"
+ │ │ │ └── unescaped: "c\n"
+ │ │ └── @ InterpolatedStringNode (location: (10,9)-(13,2))
+ │ │ ├── opening_loc: (10,9)-(10,10) = "\""
+ │ │ ├── parts: (length: 2)
+ │ │ │ ├── @ StringNode (location: (10,10)-(10,12))
+ │ │ │ │ ├── flags: ∅
+ │ │ │ │ ├── opening_loc: ∅
+ │ │ │ │ ├── content_loc: (10,10)-(10,12) = "d\\"
+ │ │ │ │ ├── closing_loc: ∅
+ │ │ │ │ └── unescaped: "d"
+ │ │ │ └── @ StringNode (location: (13,0)-(13,1))
+ │ │ │ ├── flags: ∅
+ │ │ │ ├── opening_loc: ∅
+ │ │ │ ├── content_loc: (13,0)-(13,1) = "d"
+ │ │ │ ├── closing_loc: ∅
+ │ │ │ └── unescaped: "d"
+ │ │ └── closing_loc: (13,1)-(13,2) = "\""
│ ├── closing_loc: ∅
- │ ├── block: ∅
- │ └── flags: ∅
+ │ └── block: ∅
├── @ CallNode (location: (16,0)-(19,2))
+ │ ├── flags: ∅
│ ├── receiver: ∅
│ ├── call_operator_loc: ∅
│ ├── name: :pp
@@ -101,34 +102,34 @@
│ ├── opening_loc: ∅
│ ├── arguments:
│ │ @ ArgumentsNode (location: (16,3)-(19,2))
- │ │ ├── arguments: (length: 2)
- │ │ │ ├── @ StringNode (location: (16,3)-(16,7))
- │ │ │ │ ├── flags: ∅
- │ │ │ │ ├── opening_loc: (16,3)-(16,7) = "<<-A"
- │ │ │ │ ├── content_loc: (17,0)-(18,0) = "e\n"
- │ │ │ │ ├── closing_loc: (18,0)-(19,0) = "A\n"
- │ │ │ │ └── unescaped: "e\n"
- │ │ │ └── @ InterpolatedStringNode (location: (16,9)-(19,2))
- │ │ │ ├── opening_loc: (16,9)-(16,12) = "%q["
- │ │ │ ├── parts: (length: 2)
- │ │ │ │ ├── @ StringNode (location: (16,12)-(16,14))
- │ │ │ │ │ ├── flags: ∅
- │ │ │ │ │ ├── opening_loc: ∅
- │ │ │ │ │ ├── content_loc: (16,12)-(16,14) = "f\\"
- │ │ │ │ │ ├── closing_loc: ∅
- │ │ │ │ │ └── unescaped: "f\\\n"
- │ │ │ │ └── @ StringNode (location: (19,0)-(19,1))
- │ │ │ │ ├── flags: ∅
- │ │ │ │ ├── opening_loc: ∅
- │ │ │ │ ├── content_loc: (19,0)-(19,1) = "f"
- │ │ │ │ ├── closing_loc: ∅
- │ │ │ │ └── unescaped: "f"
- │ │ │ └── closing_loc: (19,1)-(19,2) = "]"
- │ │ └── flags: ∅
+ │ │ ├── flags: ∅
+ │ │ └── arguments: (length: 2)
+ │ │ ├── @ StringNode (location: (16,3)-(16,7))
+ │ │ │ ├── flags: ∅
+ │ │ │ ├── opening_loc: (16,3)-(16,7) = "<<-A"
+ │ │ │ ├── content_loc: (17,0)-(18,0) = "e\n"
+ │ │ │ ├── closing_loc: (18,0)-(19,0) = "A\n"
+ │ │ │ └── unescaped: "e\n"
+ │ │ └── @ InterpolatedStringNode (location: (16,9)-(19,2))
+ │ │ ├── opening_loc: (16,9)-(16,12) = "%q["
+ │ │ ├── parts: (length: 2)
+ │ │ │ ├── @ StringNode (location: (16,12)-(16,14))
+ │ │ │ │ ├── flags: ∅
+ │ │ │ │ ├── opening_loc: ∅
+ │ │ │ │ ├── content_loc: (16,12)-(16,14) = "f\\"
+ │ │ │ │ ├── closing_loc: ∅
+ │ │ │ │ └── unescaped: "f\\\n"
+ │ │ │ └── @ StringNode (location: (19,0)-(19,1))
+ │ │ │ ├── flags: ∅
+ │ │ │ ├── opening_loc: ∅
+ │ │ │ ├── content_loc: (19,0)-(19,1) = "f"
+ │ │ │ ├── closing_loc: ∅
+ │ │ │ └── unescaped: "f"
+ │ │ └── closing_loc: (19,1)-(19,2) = "]"
│ ├── closing_loc: ∅
- │ ├── block: ∅
- │ └── flags: ∅
+ │ └── block: ∅
├── @ CallNode (location: (22,0)-(25,2))
+ │ ├── flags: ∅
│ ├── receiver: ∅
│ ├── call_operator_loc: ∅
│ ├── name: :pp
@@ -136,34 +137,34 @@
│ ├── opening_loc: ∅
│ ├── arguments:
│ │ @ ArgumentsNode (location: (22,3)-(25,2))
- │ │ ├── arguments: (length: 2)
- │ │ │ ├── @ StringNode (location: (22,3)-(22,7))
- │ │ │ │ ├── flags: ∅
- │ │ │ │ ├── opening_loc: (22,3)-(22,7) = "<<-A"
- │ │ │ │ ├── content_loc: (23,0)-(24,0) = "g\n"
- │ │ │ │ ├── closing_loc: (24,0)-(25,0) = "A\n"
- │ │ │ │ └── unescaped: "g\n"
- │ │ │ └── @ InterpolatedStringNode (location: (22,9)-(25,2))
- │ │ │ ├── opening_loc: (22,9)-(22,12) = "%Q["
- │ │ │ ├── parts: (length: 2)
- │ │ │ │ ├── @ StringNode (location: (22,12)-(22,14))
- │ │ │ │ │ ├── flags: ∅
- │ │ │ │ │ ├── opening_loc: ∅
- │ │ │ │ │ ├── content_loc: (22,12)-(22,14) = "h\\"
- │ │ │ │ │ ├── closing_loc: ∅
- │ │ │ │ │ └── unescaped: "h"
- │ │ │ │ └── @ StringNode (location: (25,0)-(25,1))
- │ │ │ │ ├── flags: ∅
- │ │ │ │ ├── opening_loc: ∅
- │ │ │ │ ├── content_loc: (25,0)-(25,1) = "h"
- │ │ │ │ ├── closing_loc: ∅
- │ │ │ │ └── unescaped: "h"
- │ │ │ └── closing_loc: (25,1)-(25,2) = "]"
- │ │ └── flags: ∅
+ │ │ ├── flags: ∅
+ │ │ └── arguments: (length: 2)
+ │ │ ├── @ StringNode (location: (22,3)-(22,7))
+ │ │ │ ├── flags: ∅
+ │ │ │ ├── opening_loc: (22,3)-(22,7) = "<<-A"
+ │ │ │ ├── content_loc: (23,0)-(24,0) = "g\n"
+ │ │ │ ├── closing_loc: (24,0)-(25,0) = "A\n"
+ │ │ │ └── unescaped: "g\n"
+ │ │ └── @ InterpolatedStringNode (location: (22,9)-(25,2))
+ │ │ ├── opening_loc: (22,9)-(22,12) = "%Q["
+ │ │ ├── parts: (length: 2)
+ │ │ │ ├── @ StringNode (location: (22,12)-(22,14))
+ │ │ │ │ ├── flags: ∅
+ │ │ │ │ ├── opening_loc: ∅
+ │ │ │ │ ├── content_loc: (22,12)-(22,14) = "h\\"
+ │ │ │ │ ├── closing_loc: ∅
+ │ │ │ │ └── unescaped: "h"
+ │ │ │ └── @ StringNode (location: (25,0)-(25,1))
+ │ │ │ ├── flags: ∅
+ │ │ │ ├── opening_loc: ∅
+ │ │ │ ├── content_loc: (25,0)-(25,1) = "h"
+ │ │ │ ├── closing_loc: ∅
+ │ │ │ └── unescaped: "h"
+ │ │ └── closing_loc: (25,1)-(25,2) = "]"
│ ├── closing_loc: ∅
- │ ├── block: ∅
- │ └── flags: ∅
+ │ └── block: ∅
├── @ CallNode (location: (28,0)-(31,2))
+ │ ├── flags: ∅
│ ├── receiver: ∅
│ ├── call_operator_loc: ∅
│ ├── name: :pp
@@ -171,35 +172,35 @@
│ ├── opening_loc: ∅
│ ├── arguments:
│ │ @ ArgumentsNode (location: (28,3)-(31,2))
- │ │ ├── arguments: (length: 2)
- │ │ │ ├── @ StringNode (location: (28,3)-(28,7))
- │ │ │ │ ├── flags: ∅
- │ │ │ │ ├── opening_loc: (28,3)-(28,7) = "<<-A"
- │ │ │ │ ├── content_loc: (29,0)-(30,0) = "i\n"
- │ │ │ │ ├── closing_loc: (30,0)-(31,0) = "A\n"
- │ │ │ │ └── unescaped: "i\n"
- │ │ │ └── @ ArrayNode (location: (28,9)-(31,2))
- │ │ │ ├── elements: (length: 2)
- │ │ │ │ ├── @ StringNode (location: (28,12)-(28,14))
- │ │ │ │ │ ├── flags: ∅
- │ │ │ │ │ ├── opening_loc: ∅
- │ │ │ │ │ ├── content_loc: (28,12)-(28,14) = "j\\"
- │ │ │ │ │ ├── closing_loc: ∅
- │ │ │ │ │ └── unescaped: "j\n"
- │ │ │ │ └── @ StringNode (location: (31,0)-(31,1))
- │ │ │ │ ├── flags: ∅
- │ │ │ │ ├── opening_loc: ∅
- │ │ │ │ ├── content_loc: (31,0)-(31,1) = "j"
- │ │ │ │ ├── closing_loc: ∅
- │ │ │ │ └── unescaped: "j"
- │ │ │ ├── opening_loc: (28,9)-(28,12) = "%w["
- │ │ │ ├── closing_loc: (31,1)-(31,2) = "]"
- │ │ │ └── flags: ∅
- │ │ └── flags: ∅
+ │ │ ├── flags: ∅
+ │ │ └── arguments: (length: 2)
+ │ │ ├── @ StringNode (location: (28,3)-(28,7))
+ │ │ │ ├── flags: ∅
+ │ │ │ ├── opening_loc: (28,3)-(28,7) = "<<-A"
+ │ │ │ ├── content_loc: (29,0)-(30,0) = "i\n"
+ │ │ │ ├── closing_loc: (30,0)-(31,0) = "A\n"
+ │ │ │ └── unescaped: "i\n"
+ │ │ └── @ ArrayNode (location: (28,9)-(31,2))
+ │ │ ├── flags: ∅
+ │ │ ├── elements: (length: 2)
+ │ │ │ ├── @ StringNode (location: (28,12)-(28,14))
+ │ │ │ │ ├── flags: ∅
+ │ │ │ │ ├── opening_loc: ∅
+ │ │ │ │ ├── content_loc: (28,12)-(28,14) = "j\\"
+ │ │ │ │ ├── closing_loc: ∅
+ │ │ │ │ └── unescaped: "j\n"
+ │ │ │ └── @ StringNode (location: (31,0)-(31,1))
+ │ │ │ ├── flags: ∅
+ │ │ │ ├── opening_loc: ∅
+ │ │ │ ├── content_loc: (31,0)-(31,1) = "j"
+ │ │ │ ├── closing_loc: ∅
+ │ │ │ └── unescaped: "j"
+ │ │ ├── opening_loc: (28,9)-(28,12) = "%w["
+ │ │ └── closing_loc: (31,1)-(31,2) = "]"
│ ├── closing_loc: ∅
- │ ├── block: ∅
- │ └── flags: ∅
+ │ └── block: ∅
├── @ CallNode (location: (35,0)-(38,2))
+ │ ├── flags: ∅
│ ├── receiver: ∅
│ ├── call_operator_loc: ∅
│ ├── name: :pp
@@ -207,39 +208,39 @@
│ ├── opening_loc: ∅
│ ├── arguments:
│ │ @ ArgumentsNode (location: (35,3)-(38,2))
- │ │ ├── arguments: (length: 2)
- │ │ │ ├── @ StringNode (location: (35,3)-(35,7))
- │ │ │ │ ├── flags: ∅
- │ │ │ │ ├── opening_loc: (35,3)-(35,7) = "<<-A"
- │ │ │ │ ├── content_loc: (36,0)-(37,0) = "k\n"
- │ │ │ │ ├── closing_loc: (37,0)-(38,0) = "A\n"
- │ │ │ │ └── unescaped: "k\n"
- │ │ │ └── @ ArrayNode (location: (35,9)-(38,2))
- │ │ │ ├── elements: (length: 1)
- │ │ │ │ └── @ InterpolatedStringNode (location: (35,12)-(38,1))
- │ │ │ │ ├── opening_loc: ∅
- │ │ │ │ ├── parts: (length: 2)
- │ │ │ │ │ ├── @ StringNode (location: (35,12)-(35,14))
- │ │ │ │ │ │ ├── flags: ∅
- │ │ │ │ │ │ ├── opening_loc: ∅
- │ │ │ │ │ │ ├── content_loc: (35,12)-(35,14) = "l\\"
- │ │ │ │ │ │ ├── closing_loc: ∅
- │ │ │ │ │ │ └── unescaped: "l\n"
- │ │ │ │ │ └── @ StringNode (location: (38,0)-(38,1))
- │ │ │ │ │ ├── flags: ∅
- │ │ │ │ │ ├── opening_loc: ∅
- │ │ │ │ │ ├── content_loc: (38,0)-(38,1) = "l"
- │ │ │ │ │ ├── closing_loc: ∅
- │ │ │ │ │ └── unescaped: "l"
- │ │ │ │ └── closing_loc: ∅
- │ │ │ ├── opening_loc: (35,9)-(35,12) = "%W["
- │ │ │ ├── closing_loc: (38,1)-(38,2) = "]"
- │ │ │ └── flags: ∅
- │ │ └── flags: ∅
+ │ │ ├── flags: ∅
+ │ │ └── arguments: (length: 2)
+ │ │ ├── @ StringNode (location: (35,3)-(35,7))
+ │ │ │ ├── flags: ∅
+ │ │ │ ├── opening_loc: (35,3)-(35,7) = "<<-A"
+ │ │ │ ├── content_loc: (36,0)-(37,0) = "k\n"
+ │ │ │ ├── closing_loc: (37,0)-(38,0) = "A\n"
+ │ │ │ └── unescaped: "k\n"
+ │ │ └── @ ArrayNode (location: (35,9)-(38,2))
+ │ │ ├── flags: ∅
+ │ │ ├── elements: (length: 1)
+ │ │ │ └── @ InterpolatedStringNode (location: (35,12)-(38,1))
+ │ │ │ ├── opening_loc: ∅
+ │ │ │ ├── parts: (length: 2)
+ │ │ │ │ ├── @ StringNode (location: (35,12)-(35,14))
+ │ │ │ │ │ ├── flags: ∅
+ │ │ │ │ │ ├── opening_loc: ∅
+ │ │ │ │ │ ├── content_loc: (35,12)-(35,14) = "l\\"
+ │ │ │ │ │ ├── closing_loc: ∅
+ │ │ │ │ │ └── unescaped: "l\n"
+ │ │ │ │ └── @ StringNode (location: (38,0)-(38,1))
+ │ │ │ │ ├── flags: ∅
+ │ │ │ │ ├── opening_loc: ∅
+ │ │ │ │ ├── content_loc: (38,0)-(38,1) = "l"
+ │ │ │ │ ├── closing_loc: ∅
+ │ │ │ │ └── unescaped: "l"
+ │ │ │ └── closing_loc: ∅
+ │ │ ├── opening_loc: (35,9)-(35,12) = "%W["
+ │ │ └── closing_loc: (38,1)-(38,2) = "]"
│ ├── closing_loc: ∅
- │ ├── block: ∅
- │ └── flags: ∅
+ │ └── block: ∅
├── @ CallNode (location: (41,0)-(44,2))
+ │ ├── flags: ∅
│ ├── receiver: ∅
│ ├── call_operator_loc: ∅
│ ├── name: :pp
@@ -247,33 +248,33 @@
│ ├── opening_loc: ∅
│ ├── arguments:
│ │ @ ArgumentsNode (location: (41,3)-(44,2))
- │ │ ├── arguments: (length: 2)
- │ │ │ ├── @ StringNode (location: (41,3)-(41,7))
- │ │ │ │ ├── flags: ∅
- │ │ │ │ ├── opening_loc: (41,3)-(41,7) = "<<-A"
- │ │ │ │ ├── content_loc: (42,0)-(43,0) = "m\n"
- │ │ │ │ ├── closing_loc: (43,0)-(44,0) = "A\n"
- │ │ │ │ └── unescaped: "m\n"
- │ │ │ └── @ ArrayNode (location: (41,9)-(44,2))
- │ │ │ ├── elements: (length: 2)
- │ │ │ │ ├── @ SymbolNode (location: (41,12)-(41,14))
- │ │ │ │ │ ├── opening_loc: ∅
- │ │ │ │ │ ├── value_loc: (41,12)-(41,14) = "n\\"
- │ │ │ │ │ ├── closing_loc: ∅
- │ │ │ │ │ └── unescaped: "n\n"
- │ │ │ │ └── @ SymbolNode (location: (44,0)-(44,1))
- │ │ │ │ ├── opening_loc: ∅
- │ │ │ │ ├── value_loc: (44,0)-(44,1) = "n"
- │ │ │ │ ├── closing_loc: ∅
- │ │ │ │ └── unescaped: "n"
- │ │ │ ├── opening_loc: (41,9)-(41,12) = "%i["
- │ │ │ ├── closing_loc: (44,1)-(44,2) = "]"
- │ │ │ └── flags: ∅
- │ │ └── flags: ∅
+ │ │ ├── flags: ∅
+ │ │ └── arguments: (length: 2)
+ │ │ ├── @ StringNode (location: (41,3)-(41,7))
+ │ │ │ ├── flags: ∅
+ │ │ │ ├── opening_loc: (41,3)-(41,7) = "<<-A"
+ │ │ │ ├── content_loc: (42,0)-(43,0) = "m\n"
+ │ │ │ ├── closing_loc: (43,0)-(44,0) = "A\n"
+ │ │ │ └── unescaped: "m\n"
+ │ │ └── @ ArrayNode (location: (41,9)-(44,2))
+ │ │ ├── flags: ∅
+ │ │ ├── elements: (length: 2)
+ │ │ │ ├── @ SymbolNode (location: (41,12)-(41,14))
+ │ │ │ │ ├── opening_loc: ∅
+ │ │ │ │ ├── value_loc: (41,12)-(41,14) = "n\\"
+ │ │ │ │ ├── closing_loc: ∅
+ │ │ │ │ └── unescaped: "n\n"
+ │ │ │ └── @ SymbolNode (location: (44,0)-(44,1))
+ │ │ │ ├── opening_loc: ∅
+ │ │ │ ├── value_loc: (44,0)-(44,1) = "n"
+ │ │ │ ├── closing_loc: ∅
+ │ │ │ └── unescaped: "n"
+ │ │ ├── opening_loc: (41,9)-(41,12) = "%i["
+ │ │ └── closing_loc: (44,1)-(44,2) = "]"
│ ├── closing_loc: ∅
- │ ├── block: ∅
- │ └── flags: ∅
+ │ └── block: ∅
├── @ CallNode (location: (48,0)-(51,2))
+ │ ├── flags: ∅
│ ├── receiver: ∅
│ ├── call_operator_loc: ∅
│ ├── name: :pp
@@ -281,37 +282,36 @@
│ ├── opening_loc: ∅
│ ├── arguments:
│ │ @ ArgumentsNode (location: (48,3)-(51,2))
- │ │ ├── arguments: (length: 2)
- │ │ │ ├── @ StringNode (location: (48,3)-(48,7))
- │ │ │ │ ├── flags: ∅
- │ │ │ │ ├── opening_loc: (48,3)-(48,7) = "<<-A"
- │ │ │ │ ├── content_loc: (49,0)-(50,0) = "o\n"
- │ │ │ │ ├── closing_loc: (50,0)-(51,0) = "A\n"
- │ │ │ │ └── unescaped: "o\n"
- │ │ │ └── @ ArrayNode (location: (48,9)-(51,2))
- │ │ │ ├── elements: (length: 1)
- │ │ │ │ └── @ InterpolatedSymbolNode (location: (48,12)-(48,14))
- │ │ │ │ ├── opening_loc: ∅
- │ │ │ │ ├── parts: (length: 2)
- │ │ │ │ │ ├── @ SymbolNode (location: (48,12)-(48,14))
- │ │ │ │ │ │ ├── opening_loc: ∅
- │ │ │ │ │ │ ├── value_loc: (48,12)-(48,14) = "p\\"
- │ │ │ │ │ │ ├── closing_loc: ∅
- │ │ │ │ │ │ └── unescaped: "p\n"
- │ │ │ │ │ └── @ StringNode (location: (48,12)-(48,14))
- │ │ │ │ │ ├── flags: ∅
- │ │ │ │ │ ├── opening_loc: ∅
- │ │ │ │ │ ├── content_loc: (48,12)-(48,14) = "p\\"
- │ │ │ │ │ ├── closing_loc: ∅
- │ │ │ │ │ └── unescaped: "p"
- │ │ │ │ └── closing_loc: ∅
- │ │ │ ├── opening_loc: (48,9)-(48,12) = "%I["
- │ │ │ ├── closing_loc: (51,1)-(51,2) = "]"
- │ │ │ └── flags: ∅
- │ │ └── flags: ∅
+ │ │ ├── flags: ∅
+ │ │ └── arguments: (length: 2)
+ │ │ ├── @ StringNode (location: (48,3)-(48,7))
+ │ │ │ ├── flags: ∅
+ │ │ │ ├── opening_loc: (48,3)-(48,7) = "<<-A"
+ │ │ │ ├── content_loc: (49,0)-(50,0) = "o\n"
+ │ │ │ ├── closing_loc: (50,0)-(51,0) = "A\n"
+ │ │ │ └── unescaped: "o\n"
+ │ │ └── @ ArrayNode (location: (48,9)-(51,2))
+ │ │ ├── flags: ∅
+ │ │ ├── elements: (length: 1)
+ │ │ │ └── @ InterpolatedSymbolNode (location: (48,12)-(48,14))
+ │ │ │ ├── opening_loc: ∅
+ │ │ │ ├── parts: (length: 2)
+ │ │ │ │ ├── @ SymbolNode (location: (48,12)-(48,14))
+ │ │ │ │ │ ├── opening_loc: ∅
+ │ │ │ │ │ ├── value_loc: (48,12)-(48,14) = "p\\"
+ │ │ │ │ │ ├── closing_loc: ∅
+ │ │ │ │ │ └── unescaped: "p\n"
+ │ │ │ │ └── @ StringNode (location: (48,12)-(48,14))
+ │ │ │ │ ├── flags: ∅
+ │ │ │ │ ├── opening_loc: ∅
+ │ │ │ │ ├── content_loc: (48,12)-(48,14) = "p\\"
+ │ │ │ │ ├── closing_loc: ∅
+ │ │ │ │ └── unescaped: "p"
+ │ │ │ └── closing_loc: ∅
+ │ │ ├── opening_loc: (48,9)-(48,12) = "%I["
+ │ │ └── closing_loc: (51,1)-(51,2) = "]"
│ ├── closing_loc: ∅
- │ ├── block: ∅
- │ └── flags: ∅
+ │ └── block: ∅
├── @ StringNode (location: (53,0)-(53,3))
│ ├── flags: ∅
│ ├── opening_loc: (53,0)-(53,3) = "<<A"
@@ -321,8 +321,10 @@
└── @ MatchWriteNode (location: (53,5)-(55,13))
├── call:
│ @ CallNode (location: (53,5)-(55,13))
+ │ ├── flags: ∅
│ ├── receiver:
│ │ @ InterpolatedRegularExpressionNode (location: (53,5)-(55,7))
+ │ │ ├── flags: ∅
│ │ ├── opening_loc: (53,5)-(53,6) = "/"
│ │ ├── parts: (length: 2)
│ │ │ ├── @ StringNode (location: (53,6)-(53,7))
@@ -337,25 +339,23 @@
│ │ │ ├── content_loc: (55,0)-(55,6) = "(?<a>)"
│ │ │ ├── closing_loc: ∅
│ │ │ └── unescaped: "(?<a>)"
- │ │ ├── closing_loc: (55,6)-(55,7) = "/"
- │ │ └── flags: ∅
+ │ │ └── closing_loc: (55,6)-(55,7) = "/"
│ ├── call_operator_loc: ∅
│ ├── name: :=~
│ ├── message_loc: (55,8)-(55,10) = "=~"
│ ├── opening_loc: ∅
│ ├── arguments:
│ │ @ ArgumentsNode (location: (55,11)-(55,13))
- │ │ ├── arguments: (length: 1)
- │ │ │ └── @ StringNode (location: (55,11)-(55,13))
- │ │ │ ├── flags: ∅
- │ │ │ ├── opening_loc: (55,11)-(55,12) = "'"
- │ │ │ ├── content_loc: (55,12)-(55,12) = ""
- │ │ │ ├── closing_loc: (55,12)-(55,13) = "'"
- │ │ │ └── unescaped: ""
- │ │ └── flags: ∅
+ │ │ ├── flags: ∅
+ │ │ └── arguments: (length: 1)
+ │ │ └── @ StringNode (location: (55,11)-(55,13))
+ │ │ ├── flags: ∅
+ │ │ ├── opening_loc: (55,11)-(55,12) = "'"
+ │ │ ├── content_loc: (55,12)-(55,12) = ""
+ │ │ ├── closing_loc: (55,12)-(55,13) = "'"
+ │ │ └── unescaped: ""
│ ├── closing_loc: ∅
- │ ├── block: ∅
- │ └── flags: ∅
+ │ └── block: ∅
└── targets: (length: 1)
└── @ LocalVariableTargetNode (location: (53,5)-(55,7))
├── name: :a
diff --git a/test/prism/snapshots/strings.txt b/test/prism/snapshots/strings.txt
index aab888f57f..d625fa0d58 100644
--- a/test/prism/snapshots/strings.txt
+++ b/test/prism/snapshots/strings.txt
@@ -76,10 +76,10 @@
│ ├── closing_loc: (23,5)-(23,6) = "?"
│ └── unescaped: "abc"
├── @ ArrayNode (location: (25,0)-(25,8))
+ │ ├── flags: ∅
│ ├── elements: (length: 0)
│ ├── opening_loc: (25,0)-(25,3) = "%w{"
- │ ├── closing_loc: (25,7)-(25,8) = "}"
- │ └── flags: ∅
+ │ └── closing_loc: (25,7)-(25,8) = "}"
├── @ StringNode (location: (27,0)-(27,6))
│ ├── flags: ∅
│ ├── opening_loc: (27,0)-(27,2) = "%/"
@@ -122,6 +122,7 @@
│ │ │ │ @ StatementsNode (location: (35,8)-(35,11))
│ │ │ │ └── body: (length: 1)
│ │ │ │ └── @ CallNode (location: (35,8)-(35,11))
+ │ │ │ │ ├── flags: variable_call
│ │ │ │ ├── receiver: ∅
│ │ │ │ ├── call_operator_loc: ∅
│ │ │ │ ├── name: :bbb
@@ -129,8 +130,7 @@
│ │ │ │ ├── opening_loc: ∅
│ │ │ │ ├── arguments: ∅
│ │ │ │ ├── closing_loc: ∅
- │ │ │ │ ├── block: ∅
- │ │ │ │ └── flags: variable_call
+ │ │ │ │ └── block: ∅
│ │ │ └── closing_loc: (35,11)-(35,12) = "}"
│ │ └── @ StringNode (location: (35,12)-(35,16))
│ │ ├── flags: ∅
@@ -146,6 +146,7 @@
│ ├── closing_loc: (37,7)-(37,8) = "]"
│ └── unescaped: "foo[]"
├── @ CallNode (location: (39,0)-(41,5))
+ │ ├── flags: ∅
│ ├── receiver:
│ │ @ StringNode (location: (39,0)-(39,5))
│ │ ├── flags: ∅
@@ -159,17 +160,16 @@
│ ├── opening_loc: ∅
│ ├── arguments:
│ │ @ ArgumentsNode (location: (41,0)-(41,5))
- │ │ ├── arguments: (length: 1)
- │ │ │ └── @ StringNode (location: (41,0)-(41,5))
- │ │ │ ├── flags: ∅
- │ │ │ ├── opening_loc: (41,0)-(41,1) = "\""
- │ │ │ ├── content_loc: (41,1)-(41,4) = "bar"
- │ │ │ ├── closing_loc: (41,4)-(41,5) = "\""
- │ │ │ └── unescaped: "bar"
- │ │ └── flags: ∅
+ │ │ ├── flags: ∅
+ │ │ └── arguments: (length: 1)
+ │ │ └── @ StringNode (location: (41,0)-(41,5))
+ │ │ ├── flags: ∅
+ │ │ ├── opening_loc: (41,0)-(41,1) = "\""
+ │ │ ├── content_loc: (41,1)-(41,4) = "bar"
+ │ │ ├── closing_loc: (41,4)-(41,5) = "\""
+ │ │ └── unescaped: "bar"
│ ├── closing_loc: ∅
- │ ├── block: ∅
- │ └── flags: ∅
+ │ └── block: ∅
├── @ StringNode (location: (43,0)-(43,7))
│ ├── flags: ∅
│ ├── opening_loc: (43,0)-(43,3) = "%q{"
@@ -220,6 +220,7 @@
│ │ │ │ @ StatementsNode (location: (55,7)-(55,10))
│ │ │ │ └── body: (length: 1)
│ │ │ │ └── @ CallNode (location: (55,7)-(55,10))
+ │ │ │ │ ├── flags: variable_call
│ │ │ │ ├── receiver: ∅
│ │ │ │ ├── call_operator_loc: ∅
│ │ │ │ ├── name: :bbb
@@ -227,8 +228,7 @@
│ │ │ │ ├── opening_loc: ∅
│ │ │ │ ├── arguments: ∅
│ │ │ │ ├── closing_loc: ∅
- │ │ │ │ ├── block: ∅
- │ │ │ │ └── flags: variable_call
+ │ │ │ │ └── block: ∅
│ │ │ └── closing_loc: (55,10)-(55,11) = "}"
│ │ └── @ StringNode (location: (55,11)-(55,15))
│ │ ├── flags: ∅
@@ -244,6 +244,7 @@
│ ├── closing_loc: (57,4)-(57,5) = "'"
│ └── unescaped: "abc"
├── @ ArrayNode (location: (59,0)-(59,9))
+ │ ├── flags: ∅
│ ├── elements: (length: 3)
│ │ ├── @ StringNode (location: (59,3)-(59,4))
│ │ │ ├── flags: ∅
@@ -264,9 +265,9 @@
│ │ ├── closing_loc: ∅
│ │ └── unescaped: "c"
│ ├── opening_loc: (59,0)-(59,3) = "%w["
- │ ├── closing_loc: (59,8)-(59,9) = "]"
- │ └── flags: ∅
+ │ └── closing_loc: (59,8)-(59,9) = "]"
├── @ ArrayNode (location: (61,0)-(61,17))
+ │ ├── flags: ∅
│ ├── elements: (length: 3)
│ │ ├── @ StringNode (location: (61,3)-(61,6))
│ │ │ ├── flags: ∅
@@ -287,9 +288,9 @@
│ │ ├── closing_loc: ∅
│ │ └── unescaped: "c[]"
│ ├── opening_loc: (61,0)-(61,3) = "%w["
- │ ├── closing_loc: (61,16)-(61,17) = "]"
- │ └── flags: ∅
+ │ └── closing_loc: (61,16)-(61,17) = "]"
├── @ ArrayNode (location: (63,0)-(63,18))
+ │ ├── flags: ∅
│ ├── elements: (length: 2)
│ │ ├── @ StringNode (location: (63,3)-(63,11))
│ │ │ ├── flags: ∅
@@ -304,9 +305,9 @@
│ │ ├── closing_loc: ∅
│ │ └── unescaped: "\\\#{1}"
│ ├── opening_loc: (63,0)-(63,3) = "%w["
- │ ├── closing_loc: (63,17)-(63,18) = "]"
- │ └── flags: ∅
+ │ └── closing_loc: (63,17)-(63,18) = "]"
├── @ ArrayNode (location: (65,0)-(65,16))
+ │ ├── flags: ∅
│ ├── elements: (length: 2)
│ │ ├── @ StringNode (location: (65,3)-(65,11))
│ │ │ ├── flags: ∅
@@ -321,9 +322,9 @@
│ │ ├── closing_loc: ∅
│ │ └── unescaped: "baz"
│ ├── opening_loc: (65,0)-(65,3) = "%w["
- │ ├── closing_loc: (65,15)-(65,16) = "]"
- │ └── flags: ∅
+ │ └── closing_loc: (65,15)-(65,16) = "]"
├── @ ArrayNode (location: (67,0)-(67,14))
+ │ ├── flags: ∅
│ ├── elements: (length: 3)
│ │ ├── @ StringNode (location: (67,3)-(67,4))
│ │ │ ├── flags: ∅
@@ -346,6 +347,7 @@
│ │ │ │ │ │ @ StatementsNode (location: (67,8)-(67,9))
│ │ │ │ │ │ └── body: (length: 1)
│ │ │ │ │ │ └── @ CallNode (location: (67,8)-(67,9))
+ │ │ │ │ │ │ ├── flags: variable_call
│ │ │ │ │ │ ├── receiver: ∅
│ │ │ │ │ │ ├── call_operator_loc: ∅
│ │ │ │ │ │ ├── name: :c
@@ -353,8 +355,7 @@
│ │ │ │ │ │ ├── opening_loc: ∅
│ │ │ │ │ │ ├── arguments: ∅
│ │ │ │ │ │ ├── closing_loc: ∅
- │ │ │ │ │ │ ├── block: ∅
- │ │ │ │ │ │ └── flags: variable_call
+ │ │ │ │ │ │ └── block: ∅
│ │ │ │ │ └── closing_loc: (67,9)-(67,10) = "}"
│ │ │ │ └── @ StringNode (location: (67,10)-(67,11))
│ │ │ │ ├── flags: ∅
@@ -370,9 +371,9 @@
│ │ ├── closing_loc: ∅
│ │ └── unescaped: "e"
│ ├── opening_loc: (67,0)-(67,3) = "%W["
- │ ├── closing_loc: (67,13)-(67,14) = "]"
- │ └── flags: ∅
+ │ └── closing_loc: (67,13)-(67,14) = "]"
├── @ ArrayNode (location: (69,0)-(69,9))
+ │ ├── flags: ∅
│ ├── elements: (length: 3)
│ │ ├── @ StringNode (location: (69,3)-(69,4))
│ │ │ ├── flags: ∅
@@ -393,9 +394,9 @@
│ │ ├── closing_loc: ∅
│ │ └── unescaped: "c"
│ ├── opening_loc: (69,0)-(69,3) = "%W["
- │ ├── closing_loc: (69,8)-(69,9) = "]"
- │ └── flags: ∅
+ │ └── closing_loc: (69,8)-(69,9) = "]"
├── @ ArrayNode (location: (71,0)-(75,1))
+ │ ├── flags: ∅
│ ├── elements: (length: 3)
│ │ ├── @ StringNode (location: (72,2)-(72,3))
│ │ │ ├── flags: ∅
@@ -416,8 +417,7 @@
│ │ ├── closing_loc: ∅
│ │ └── unescaped: "c"
│ ├── opening_loc: (71,0)-(71,3) = "%w["
- │ ├── closing_loc: (75,0)-(75,1) = "]"
- │ └── flags: ∅
+ │ └── closing_loc: (75,0)-(75,1) = "]"
├── @ StringNode (location: (77,0)-(77,15))
│ ├── flags: ∅
│ ├── opening_loc: (77,0)-(77,1) = "'"
diff --git a/test/prism/snapshots/super.txt b/test/prism/snapshots/super.txt
index cc18ac15ff..940acd5beb 100644
--- a/test/prism/snapshots/super.txt
+++ b/test/prism/snapshots/super.txt
@@ -16,10 +16,10 @@
│ ├── lparen_loc: (5,5)-(5,6) = "("
│ ├── arguments:
│ │ @ ArgumentsNode (location: (5,6)-(5,7))
- │ │ ├── arguments: (length: 1)
- │ │ │ └── @ IntegerNode (location: (5,6)-(5,7))
- │ │ │ └── flags: decimal
- │ │ └── flags: ∅
+ │ │ ├── flags: ∅
+ │ │ └── arguments: (length: 1)
+ │ │ └── @ IntegerNode (location: (5,6)-(5,7))
+ │ │ └── flags: decimal
│ ├── rparen_loc: (5,7)-(5,8) = ")"
│ └── block: ∅
├── @ SuperNode (location: (7,0)-(7,14))
@@ -27,14 +27,14 @@
│ ├── lparen_loc: (7,5)-(7,6) = "("
│ ├── arguments:
│ │ @ ArgumentsNode (location: (7,6)-(7,13))
- │ │ ├── arguments: (length: 3)
- │ │ │ ├── @ IntegerNode (location: (7,6)-(7,7))
- │ │ │ │ └── flags: decimal
- │ │ │ ├── @ IntegerNode (location: (7,9)-(7,10))
- │ │ │ │ └── flags: decimal
- │ │ │ └── @ IntegerNode (location: (7,12)-(7,13))
- │ │ │ └── flags: decimal
- │ │ └── flags: ∅
+ │ │ ├── flags: ∅
+ │ │ └── arguments: (length: 3)
+ │ │ ├── @ IntegerNode (location: (7,6)-(7,7))
+ │ │ │ └── flags: decimal
+ │ │ ├── @ IntegerNode (location: (7,9)-(7,10))
+ │ │ │ └── flags: decimal
+ │ │ └── @ IntegerNode (location: (7,12)-(7,13))
+ │ │ └── flags: decimal
│ ├── rparen_loc: (7,13)-(7,14) = ")"
│ └── block: ∅
├── @ SuperNode (location: (9,0)-(9,11))
@@ -79,14 +79,14 @@
│ ├── lparen_loc: (15,5)-(15,6) = "("
│ ├── arguments:
│ │ @ ArgumentsNode (location: (15,6)-(15,13))
- │ │ ├── arguments: (length: 3)
- │ │ │ ├── @ IntegerNode (location: (15,6)-(15,7))
- │ │ │ │ └── flags: decimal
- │ │ │ ├── @ IntegerNode (location: (15,9)-(15,10))
- │ │ │ │ └── flags: decimal
- │ │ │ └── @ IntegerNode (location: (15,12)-(15,13))
- │ │ │ └── flags: decimal
- │ │ └── flags: ∅
+ │ │ ├── flags: ∅
+ │ │ └── arguments: (length: 3)
+ │ │ ├── @ IntegerNode (location: (15,6)-(15,7))
+ │ │ │ └── flags: decimal
+ │ │ ├── @ IntegerNode (location: (15,9)-(15,10))
+ │ │ │ └── flags: decimal
+ │ │ └── @ IntegerNode (location: (15,12)-(15,13))
+ │ │ └── flags: decimal
│ ├── rparen_loc: (15,13)-(15,14) = ")"
│ └── block:
│ @ BlockNode (location: (15,15)-(15,17))
@@ -101,14 +101,14 @@
├── lparen_loc: (17,5)-(17,6) = "("
├── arguments:
│ @ ArgumentsNode (location: (17,6)-(17,13))
- │ ├── arguments: (length: 3)
- │ │ ├── @ IntegerNode (location: (17,6)-(17,7))
- │ │ │ └── flags: decimal
- │ │ ├── @ IntegerNode (location: (17,9)-(17,10))
- │ │ │ └── flags: decimal
- │ │ └── @ IntegerNode (location: (17,12)-(17,13))
- │ │ └── flags: decimal
- │ └── flags: ∅
+ │ ├── flags: ∅
+ │ └── arguments: (length: 3)
+ │ ├── @ IntegerNode (location: (17,6)-(17,7))
+ │ │ └── flags: decimal
+ │ ├── @ IntegerNode (location: (17,9)-(17,10))
+ │ │ └── flags: decimal
+ │ └── @ IntegerNode (location: (17,12)-(17,13))
+ │ └── flags: decimal
├── rparen_loc: (17,20)-(17,21) = ")"
└── block:
@ BlockArgumentNode (location: (17,15)-(17,20))
diff --git a/test/prism/snapshots/symbols.txt b/test/prism/snapshots/symbols.txt
index 3770cad292..0cf1757e6b 100644
--- a/test/prism/snapshots/symbols.txt
+++ b/test/prism/snapshots/symbols.txt
@@ -17,6 +17,7 @@
│ │ │ @ StatementsNode (location: (3,4)-(3,7))
│ │ │ └── body: (length: 1)
│ │ │ └── @ CallNode (location: (3,4)-(3,7))
+ │ │ │ ├── flags: variable_call
│ │ │ ├── receiver: ∅
│ │ │ ├── call_operator_loc: ∅
│ │ │ ├── name: :var
@@ -24,8 +25,7 @@
│ │ │ ├── opening_loc: ∅
│ │ │ ├── arguments: ∅
│ │ │ ├── closing_loc: ∅
- │ │ │ ├── block: ∅
- │ │ │ └── flags: variable_call
+ │ │ │ └── block: ∅
│ │ └── closing_loc: (3,7)-(3,8) = "}"
│ └── closing_loc: (3,8)-(3,9) = "\""
├── @ InterpolatedSymbolNode (location: (5,0)-(5,10))
@@ -47,6 +47,7 @@
│ │ └── closing_loc: (5,8)-(5,9) = "}"
│ └── closing_loc: (5,9)-(5,10) = "\""
├── @ ArrayNode (location: (7,0)-(7,20))
+ │ ├── flags: ∅
│ ├── elements: (length: 4)
│ │ ├── @ SymbolNode (location: (7,1)-(7,4))
│ │ │ ├── opening_loc: (7,1)-(7,2) = ":"
@@ -69,8 +70,7 @@
│ │ ├── closing_loc: ∅
│ │ └── unescaped: "ρ"
│ ├── opening_loc: (7,0)-(7,1) = "["
- │ ├── closing_loc: (7,19)-(7,20) = "]"
- │ └── flags: ∅
+ │ └── closing_loc: (7,19)-(7,20) = "]"
├── @ SymbolNode (location: (9,0)-(9,3))
│ ├── opening_loc: (9,0)-(9,1) = ":"
│ ├── value_loc: (9,1)-(9,3) = "-@"
@@ -122,6 +122,7 @@
│ ├── closing_loc: ∅
│ └── unescaped: "~@"
├── @ ArrayNode (location: (29,0)-(29,16))
+ │ ├── flags: ∅
│ ├── elements: (length: 4)
│ │ ├── @ IntegerNode (location: (29,1)-(29,2))
│ │ │ └── flags: decimal
@@ -135,8 +136,7 @@
│ │ @ IntegerNode (location: (29,13)-(29,14))
│ │ └── flags: decimal
│ ├── opening_loc: (29,0)-(29,1) = "["
- │ ├── closing_loc: (29,15)-(29,16) = "]"
- │ └── flags: ∅
+ │ └── closing_loc: (29,15)-(29,16) = "]"
├── @ SymbolNode (location: (31,0)-(31,2))
│ ├── opening_loc: (31,0)-(31,1) = ":"
│ ├── value_loc: (31,1)-(31,2) = "~"
@@ -148,6 +148,7 @@
│ ├── closing_loc: ∅
│ └── unescaped: "a"
├── @ ArrayNode (location: (35,0)-(35,9))
+ │ ├── flags: ∅
│ ├── elements: (length: 3)
│ │ ├── @ SymbolNode (location: (35,3)-(35,4))
│ │ │ ├── opening_loc: ∅
@@ -165,9 +166,9 @@
│ │ ├── closing_loc: ∅
│ │ └── unescaped: "c"
│ ├── opening_loc: (35,0)-(35,3) = "%i["
- │ ├── closing_loc: (35,8)-(35,9) = "]"
- │ └── flags: ∅
+ │ └── closing_loc: (35,8)-(35,9) = "]"
├── @ ArrayNode (location: (37,0)-(37,24))
+ │ ├── flags: ∅
│ ├── elements: (length: 4)
│ │ ├── @ SymbolNode (location: (37,3)-(37,4))
│ │ │ ├── opening_loc: ∅
@@ -190,9 +191,9 @@
│ │ ├── closing_loc: ∅
│ │ └── unescaped: "d\#{3}f"
│ ├── opening_loc: (37,0)-(37,3) = "%i["
- │ ├── closing_loc: (37,23)-(37,24) = "]"
- │ └── flags: ∅
+ │ └── closing_loc: (37,23)-(37,24) = "]"
├── @ ArrayNode (location: (39,0)-(39,24))
+ │ ├── flags: ∅
│ ├── elements: (length: 4)
│ │ ├── @ SymbolNode (location: (39,3)-(39,4))
│ │ │ ├── opening_loc: ∅
@@ -260,8 +261,7 @@
│ │ │ └── unescaped: "f"
│ │ └── closing_loc: ∅
│ ├── opening_loc: (39,0)-(39,3) = "%I["
- │ ├── closing_loc: (39,23)-(39,24) = "]"
- │ └── flags: ∅
+ │ └── closing_loc: (39,23)-(39,24) = "]"
├── @ SymbolNode (location: (41,0)-(41,4))
│ ├── opening_loc: (41,0)-(41,1) = ":"
│ ├── value_loc: (41,1)-(41,4) = "@@a"
@@ -273,6 +273,7 @@
│ ├── closing_loc: ∅
│ └── unescaped: "👍"
├── @ ArrayNode (location: (45,0)-(45,7))
+ │ ├── flags: ∅
│ ├── elements: (length: 1)
│ │ └── @ SymbolNode (location: (45,3)-(45,6))
│ │ ├── opening_loc: ∅
@@ -280,8 +281,7 @@
│ │ ├── closing_loc: ∅
│ │ └── unescaped: "a\\b"
│ ├── opening_loc: (45,0)-(45,3) = "%i["
- │ ├── closing_loc: (45,6)-(45,7) = "]"
- │ └── flags: ∅
+ │ └── closing_loc: (45,6)-(45,7) = "]"
├── @ SymbolNode (location: (47,0)-(47,3))
│ ├── opening_loc: (47,0)-(47,1) = ":"
│ ├── value_loc: (47,1)-(47,3) = "$a"
diff --git a/test/prism/snapshots/ternary_operator.txt b/test/prism/snapshots/ternary_operator.txt
index d26b425187..541bd8c792 100644
--- a/test/prism/snapshots/ternary_operator.txt
+++ b/test/prism/snapshots/ternary_operator.txt
@@ -7,6 +7,7 @@
│ ├── if_keyword_loc: ∅
│ ├── predicate:
│ │ @ CallNode (location: (1,0)-(1,1))
+ │ │ ├── flags: variable_call
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
│ │ ├── name: :a
@@ -14,13 +15,13 @@
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
- │ │ ├── block: ∅
- │ │ └── flags: variable_call
+ │ │ └── block: ∅
│ ├── then_keyword_loc: (1,2)-(1,3) = "?"
│ ├── statements:
│ │ @ StatementsNode (location: (1,4)-(1,5))
│ │ └── body: (length: 1)
│ │ └── @ CallNode (location: (1,4)-(1,5))
+ │ │ ├── flags: variable_call
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
│ │ ├── name: :b
@@ -28,8 +29,7 @@
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
- │ │ ├── block: ∅
- │ │ └── flags: variable_call
+ │ │ └── block: ∅
│ ├── consequent:
│ │ @ ElseNode (location: (1,6)-(1,9))
│ │ ├── else_keyword_loc: (1,6)-(1,7) = ":"
@@ -37,6 +37,7 @@
│ │ │ @ StatementsNode (location: (1,8)-(1,9))
│ │ │ └── body: (length: 1)
│ │ │ └── @ CallNode (location: (1,8)-(1,9))
+ │ │ │ ├── flags: variable_call
│ │ │ ├── receiver: ∅
│ │ │ ├── call_operator_loc: ∅
│ │ │ ├── name: :c
@@ -44,14 +45,14 @@
│ │ │ ├── opening_loc: ∅
│ │ │ ├── arguments: ∅
│ │ │ ├── closing_loc: ∅
- │ │ │ ├── block: ∅
- │ │ │ └── flags: variable_call
+ │ │ │ └── block: ∅
│ │ └── end_keyword_loc: ∅
│ └── end_keyword_loc: ∅
├── @ IfNode (location: (3,0)-(3,27))
│ ├── if_keyword_loc: ∅
│ ├── predicate:
│ │ @ CallNode (location: (3,0)-(3,1))
+ │ │ ├── flags: variable_call
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
│ │ ├── name: :a
@@ -59,8 +60,7 @@
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
- │ │ ├── block: ∅
- │ │ └── flags: variable_call
+ │ │ └── block: ∅
│ ├── then_keyword_loc: (3,2)-(3,3) = "?"
│ ├── statements:
│ │ @ StatementsNode (location: (3,4)-(3,14))
@@ -69,6 +69,7 @@
│ │ ├── lparen_loc: ∅
│ │ ├── value:
│ │ │ @ CallNode (location: (3,13)-(3,14))
+ │ │ │ ├── flags: variable_call
│ │ │ ├── receiver: ∅
│ │ │ ├── call_operator_loc: ∅
│ │ │ ├── name: :b
@@ -76,8 +77,7 @@
│ │ │ ├── opening_loc: ∅
│ │ │ ├── arguments: ∅
│ │ │ ├── closing_loc: ∅
- │ │ │ ├── block: ∅
- │ │ │ └── flags: variable_call
+ │ │ │ └── block: ∅
│ │ ├── rparen_loc: ∅
│ │ └── keyword_loc: (3,4)-(3,12) = "defined?"
│ ├── consequent:
@@ -90,6 +90,7 @@
│ │ │ ├── lparen_loc: ∅
│ │ │ ├── value:
│ │ │ │ @ CallNode (location: (3,26)-(3,27))
+ │ │ │ │ ├── flags: variable_call
│ │ │ │ ├── receiver: ∅
│ │ │ │ ├── call_operator_loc: ∅
│ │ │ │ ├── name: :c
@@ -97,8 +98,7 @@
│ │ │ │ ├── opening_loc: ∅
│ │ │ │ ├── arguments: ∅
│ │ │ │ ├── closing_loc: ∅
- │ │ │ │ ├── block: ∅
- │ │ │ │ └── flags: variable_call
+ │ │ │ │ └── block: ∅
│ │ │ ├── rparen_loc: ∅
│ │ │ └── keyword_loc: (3,17)-(3,25) = "defined?"
│ │ └── end_keyword_loc: ∅
@@ -107,6 +107,7 @@
│ ├── if_keyword_loc: ∅
│ ├── predicate:
│ │ @ CallNode (location: (5,0)-(5,6))
+ │ │ ├── flags: ∅
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
│ │ ├── name: :empty?
@@ -114,8 +115,7 @@
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
- │ │ ├── block: ∅
- │ │ └── flags: ∅
+ │ │ └── block: ∅
│ ├── then_keyword_loc: (5,6)-(5,7) = "?"
│ ├── statements:
│ │ @ StatementsNode (location: (5,7)-(5,11))
@@ -134,6 +134,7 @@
│ ├── if_keyword_loc: ∅
│ ├── predicate:
│ │ @ CallNode (location: (7,0)-(7,6))
+ │ │ ├── flags: ∅
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
│ │ ├── name: :empty?
@@ -141,8 +142,7 @@
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
- │ │ ├── block: ∅
- │ │ └── flags: ∅
+ │ │ └── block: ∅
│ ├── then_keyword_loc: (7,6)-(7,7) = "?"
│ ├── statements:
│ │ @ StatementsNode (location: (7,7)-(7,12))
@@ -161,6 +161,7 @@
│ ├── if_keyword_loc: ∅
│ ├── predicate:
│ │ @ CallNode (location: (9,0)-(9,6))
+ │ │ ├── flags: ∅
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
│ │ ├── name: :empty?
@@ -168,8 +169,7 @@
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
- │ │ ├── block: ∅
- │ │ └── flags: ∅
+ │ │ └── block: ∅
│ ├── then_keyword_loc: (9,6)-(9,7) = "?"
│ ├── statements:
│ │ @ StatementsNode (location: (9,7)-(9,10))
@@ -188,6 +188,7 @@
│ ├── if_keyword_loc: ∅
│ ├── predicate:
│ │ @ CallNode (location: (11,0)-(11,2))
+ │ │ ├── flags: ∅
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
│ │ ├── name: :a?
@@ -195,8 +196,7 @@
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
- │ │ ├── block: ∅
- │ │ └── flags: ∅
+ │ │ └── block: ∅
│ ├── then_keyword_loc: (11,2)-(11,3) = "?"
│ ├── statements:
│ │ @ StatementsNode (location: (11,3)-(11,6))
@@ -215,6 +215,7 @@
│ ├── if_keyword_loc: ∅
│ ├── predicate:
│ │ @ CallNode (location: (13,0)-(13,1))
+ │ │ ├── flags: variable_call
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
│ │ ├── name: :a
@@ -222,13 +223,13 @@
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
- │ │ ├── block: ∅
- │ │ └── flags: variable_call
+ │ │ └── block: ∅
│ ├── then_keyword_loc: (13,2)-(13,3) = "?"
│ ├── statements:
│ │ @ StatementsNode (location: (13,3)-(13,7))
│ │ └── body: (length: 1)
│ │ └── @ CallNode (location: (13,3)-(13,7))
+ │ │ ├── flags: variable_call
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
│ │ ├── name: :var1
@@ -236,8 +237,7 @@
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
- │ │ ├── block: ∅
- │ │ └── flags: variable_call
+ │ │ └── block: ∅
│ ├── consequent:
│ │ @ ElseNode (location: (13,8)-(13,14))
│ │ ├── else_keyword_loc: (13,8)-(13,9) = ":"
@@ -245,6 +245,7 @@
│ │ │ @ StatementsNode (location: (13,10)-(13,14))
│ │ │ └── body: (length: 1)
│ │ │ └── @ CallNode (location: (13,10)-(13,14))
+ │ │ │ ├── flags: variable_call
│ │ │ ├── receiver: ∅
│ │ │ ├── call_operator_loc: ∅
│ │ │ ├── name: :var2
@@ -252,14 +253,14 @@
│ │ │ ├── opening_loc: ∅
│ │ │ ├── arguments: ∅
│ │ │ ├── closing_loc: ∅
- │ │ │ ├── block: ∅
- │ │ │ └── flags: variable_call
+ │ │ │ └── block: ∅
│ │ └── end_keyword_loc: ∅
│ └── end_keyword_loc: ∅
└── @ IfNode (location: (15,0)-(15,12))
├── if_keyword_loc: ∅
├── predicate:
│ @ CallNode (location: (15,0)-(15,4))
+ │ ├── flags: ∅
│ ├── receiver: ∅
│ ├── call_operator_loc: ∅
│ ├── name: :nil?
@@ -267,8 +268,7 @@
│ ├── opening_loc: ∅
│ ├── arguments: ∅
│ ├── closing_loc: ∅
- │ ├── block: ∅
- │ └── flags: ∅
+ │ └── block: ∅
├── then_keyword_loc: (15,4)-(15,5) = "?"
├── statements:
│ @ StatementsNode (location: (15,5)-(15,10))
diff --git a/test/prism/snapshots/unescaping.txt b/test/prism/snapshots/unescaping.txt
index 3821a36c20..00c5f59cd1 100644
--- a/test/prism/snapshots/unescaping.txt
+++ b/test/prism/snapshots/unescaping.txt
@@ -4,6 +4,7 @@
@ StatementsNode (location: (1,0)-(7,7))
└── body: (length: 4)
├── @ ArrayNode (location: (1,0)-(1,10))
+ │ ├── flags: ∅
│ ├── elements: (length: 1)
│ │ └── @ StringNode (location: (1,1)-(1,9))
│ │ ├── flags: ∅
@@ -12,14 +13,13 @@
│ │ ├── closing_loc: (1,8)-(1,9) = "\""
│ │ └── unescaped: "\u0003{1}"
│ ├── opening_loc: (1,0)-(1,1) = "["
- │ ├── closing_loc: (1,9)-(1,10) = "]"
- │ └── flags: ∅
+ │ └── closing_loc: (1,9)-(1,10) = "]"
├── @ RegularExpressionNode (location: (3,0)-(3,8))
+ │ ├── flags: ∅
│ ├── opening_loc: (3,0)-(3,1) = "/"
│ ├── content_loc: (3,1)-(3,7) = "\\c\#{1}"
│ ├── closing_loc: (3,7)-(3,8) = "/"
- │ ├── unescaped: "\\x03{1}"
- │ └── flags: ∅
+ │ └── unescaped: "\\x03{1}"
├── @ StringNode (location: (5,0)-(5,8))
│ ├── flags: ∅
│ ├── opening_loc: (5,0)-(5,1) = "\""
diff --git a/test/prism/snapshots/unless.txt b/test/prism/snapshots/unless.txt
index e37fee8ff6..571f595af5 100644
--- a/test/prism/snapshots/unless.txt
+++ b/test/prism/snapshots/unless.txt
@@ -90,6 +90,7 @@
├── keyword_loc: (14,11)-(14,17) = "unless"
├── predicate:
│ @ CallNode (location: (14,18)-(14,22))
+ │ ├── flags: ∅
│ ├── receiver: ∅
│ ├── call_operator_loc: ∅
│ ├── name: :bar?
@@ -97,13 +98,13 @@
│ ├── opening_loc: ∅
│ ├── arguments: ∅
│ ├── closing_loc: ∅
- │ ├── block: ∅
- │ └── flags: ∅
+ │ └── block: ∅
├── then_keyword_loc: ∅
├── statements:
│ @ StatementsNode (location: (14,0)-(14,10))
│ └── body: (length: 1)
│ └── @ CallNode (location: (14,0)-(14,10))
+ │ ├── flags: ∅
│ ├── receiver: ∅
│ ├── call_operator_loc: ∅
│ ├── name: :foo
@@ -111,20 +112,19 @@
│ ├── opening_loc: ∅
│ ├── arguments:
│ │ @ ArgumentsNode (location: (14,4)-(14,10))
- │ │ ├── arguments: (length: 2)
- │ │ │ ├── @ SymbolNode (location: (14,4)-(14,6))
- │ │ │ │ ├── opening_loc: (14,4)-(14,5) = ":"
- │ │ │ │ ├── value_loc: (14,5)-(14,6) = "a"
- │ │ │ │ ├── closing_loc: ∅
- │ │ │ │ └── unescaped: "a"
- │ │ │ └── @ SymbolNode (location: (14,8)-(14,10))
- │ │ │ ├── opening_loc: (14,8)-(14,9) = ":"
- │ │ │ ├── value_loc: (14,9)-(14,10) = "b"
- │ │ │ ├── closing_loc: ∅
- │ │ │ └── unescaped: "b"
- │ │ └── flags: ∅
+ │ │ ├── flags: ∅
+ │ │ └── arguments: (length: 2)
+ │ │ ├── @ SymbolNode (location: (14,4)-(14,6))
+ │ │ │ ├── opening_loc: (14,4)-(14,5) = ":"
+ │ │ │ ├── value_loc: (14,5)-(14,6) = "a"
+ │ │ │ ├── closing_loc: ∅
+ │ │ │ └── unescaped: "a"
+ │ │ └── @ SymbolNode (location: (14,8)-(14,10))
+ │ │ ├── opening_loc: (14,8)-(14,9) = ":"
+ │ │ ├── value_loc: (14,9)-(14,10) = "b"
+ │ │ ├── closing_loc: ∅
+ │ │ └── unescaped: "b"
│ ├── closing_loc: ∅
- │ ├── block: ∅
- │ └── flags: ∅
+ │ └── block: ∅
├── consequent: ∅
└── end_keyword_loc: ∅
diff --git a/test/prism/snapshots/unparser/corpus/literal/assignment.txt b/test/prism/snapshots/unparser/corpus/literal/assignment.txt
index 7890d308b2..fc88d69c5d 100644
--- a/test/prism/snapshots/unparser/corpus/literal/assignment.txt
+++ b/test/prism/snapshots/unparser/corpus/literal/assignment.txt
@@ -23,14 +23,14 @@
│ ├── operator_loc: (2,9)-(2,10) = "="
│ └── value:
│ @ ArrayNode (location: (2,11)-(2,17))
+ │ ├── flags: ∅
│ ├── elements: (length: 2)
│ │ ├── @ IntegerNode (location: (2,12)-(2,13))
│ │ │ └── flags: decimal
│ │ └── @ IntegerNode (location: (2,15)-(2,16))
│ │ └── flags: decimal
│ ├── opening_loc: (2,11)-(2,12) = "["
- │ ├── closing_loc: (2,16)-(2,17) = "]"
- │ └── flags: ∅
+ │ └── closing_loc: (2,16)-(2,17) = "]"
├── @ MultiWriteNode (location: (3,0)-(3,13))
│ ├── lefts: (length: 2)
│ │ ├── @ MultiTargetNode (location: (3,1)-(3,5))
@@ -69,10 +69,10 @@
│ ├── operator_loc: (4,5)-(4,6) = "="
│ └── value:
│ @ ArrayNode (location: (4,7)-(4,9))
+ │ ├── flags: ∅
│ ├── elements: (length: 0)
│ ├── opening_loc: (4,7)-(4,8) = "["
- │ ├── closing_loc: (4,8)-(4,9) = "]"
- │ └── flags: ∅
+ │ └── closing_loc: (4,8)-(4,9) = "]"
├── @ MultiWriteNode (location: (5,0)-(5,15))
│ ├── lefts: (length: 0)
│ ├── rest:
@@ -88,14 +88,14 @@
│ ├── operator_loc: (5,7)-(5,8) = "="
│ └── value:
│ @ ArrayNode (location: (5,9)-(5,15))
+ │ ├── flags: ∅
│ ├── elements: (length: 2)
│ │ ├── @ IntegerNode (location: (5,10)-(5,11))
│ │ │ └── flags: decimal
│ │ └── @ IntegerNode (location: (5,13)-(5,14))
│ │ └── flags: decimal
│ ├── opening_loc: (5,9)-(5,10) = "["
- │ ├── closing_loc: (5,14)-(5,15) = "]"
- │ └── flags: ∅
+ │ └── closing_loc: (5,14)-(5,15) = "]"
├── @ MultiWriteNode (location: (6,0)-(6,19))
│ ├── lefts: (length: 2)
│ │ ├── @ ClassVariableTargetNode (location: (6,1)-(6,4))
@@ -109,14 +109,14 @@
│ ├── operator_loc: (6,11)-(6,12) = "="
│ └── value:
│ @ ArrayNode (location: (6,13)-(6,19))
+ │ ├── flags: ∅
│ ├── elements: (length: 2)
│ │ ├── @ IntegerNode (location: (6,14)-(6,15))
│ │ │ └── flags: decimal
│ │ └── @ IntegerNode (location: (6,17)-(6,18))
│ │ └── flags: decimal
│ ├── opening_loc: (6,13)-(6,14) = "["
- │ ├── closing_loc: (6,18)-(6,19) = "]"
- │ └── flags: ∅
+ │ └── closing_loc: (6,18)-(6,19) = "]"
├── @ MultiWriteNode (location: (7,0)-(7,17))
│ ├── lefts: (length: 2)
│ │ ├── @ InstanceVariableTargetNode (location: (7,1)-(7,3))
@@ -130,14 +130,14 @@
│ ├── operator_loc: (7,9)-(7,10) = "="
│ └── value:
│ @ ArrayNode (location: (7,11)-(7,17))
+ │ ├── flags: ∅
│ ├── elements: (length: 2)
│ │ ├── @ IntegerNode (location: (7,12)-(7,13))
│ │ │ └── flags: decimal
│ │ └── @ IntegerNode (location: (7,15)-(7,16))
│ │ └── flags: decimal
│ ├── opening_loc: (7,11)-(7,12) = "["
- │ ├── closing_loc: (7,16)-(7,17) = "]"
- │ └── flags: ∅
+ │ └── closing_loc: (7,16)-(7,17) = "]"
├── @ MultiWriteNode (location: (8,0)-(8,25))
│ ├── lefts: (length: 2)
│ │ ├── @ LocalVariableTargetNode (location: (8,1)-(8,2))
@@ -162,21 +162,21 @@
│ ├── operator_loc: (8,12)-(8,13) = "="
│ └── value:
│ @ ArrayNode (location: (8,14)-(8,25))
+ │ ├── flags: ∅
│ ├── elements: (length: 2)
│ │ ├── @ IntegerNode (location: (8,15)-(8,16))
│ │ │ └── flags: decimal
│ │ └── @ ArrayNode (location: (8,18)-(8,24))
+ │ │ ├── flags: ∅
│ │ ├── elements: (length: 2)
│ │ │ ├── @ IntegerNode (location: (8,19)-(8,20))
│ │ │ │ └── flags: decimal
│ │ │ └── @ IntegerNode (location: (8,22)-(8,23))
│ │ │ └── flags: decimal
│ │ ├── opening_loc: (8,18)-(8,19) = "["
- │ │ ├── closing_loc: (8,23)-(8,24) = "]"
- │ │ └── flags: ∅
+ │ │ └── closing_loc: (8,23)-(8,24) = "]"
│ ├── opening_loc: (8,14)-(8,15) = "["
- │ ├── closing_loc: (8,24)-(8,25) = "]"
- │ └── flags: ∅
+ │ └── closing_loc: (8,24)-(8,25) = "]"
├── @ MultiWriteNode (location: (9,0)-(9,15))
│ ├── lefts: (length: 1)
│ │ └── @ LocalVariableTargetNode (location: (9,1)-(9,2))
@@ -192,14 +192,14 @@
│ ├── operator_loc: (9,7)-(9,8) = "="
│ └── value:
│ @ ArrayNode (location: (9,9)-(9,15))
+ │ ├── flags: ∅
│ ├── elements: (length: 2)
│ │ ├── @ IntegerNode (location: (9,10)-(9,11))
│ │ │ └── flags: decimal
│ │ └── @ IntegerNode (location: (9,13)-(9,14))
│ │ └── flags: decimal
│ ├── opening_loc: (9,9)-(9,10) = "["
- │ ├── closing_loc: (9,14)-(9,15) = "]"
- │ └── flags: ∅
+ │ └── closing_loc: (9,14)-(9,15) = "]"
├── @ MultiWriteNode (location: (10,0)-(10,18))
│ ├── lefts: (length: 1)
│ │ └── @ LocalVariableTargetNode (location: (10,1)-(10,2))
@@ -218,14 +218,14 @@
│ ├── operator_loc: (10,10)-(10,11) = "="
│ └── value:
│ @ ArrayNode (location: (10,12)-(10,18))
+ │ ├── flags: ∅
│ ├── elements: (length: 2)
│ │ ├── @ IntegerNode (location: (10,13)-(10,14))
│ │ │ └── flags: decimal
│ │ └── @ IntegerNode (location: (10,16)-(10,17))
│ │ └── flags: decimal
│ ├── opening_loc: (10,12)-(10,13) = "["
- │ ├── closing_loc: (10,17)-(10,18) = "]"
- │ └── flags: ∅
+ │ └── closing_loc: (10,17)-(10,18) = "]"
├── @ MultiWriteNode (location: (11,0)-(11,15))
│ ├── lefts: (length: 2)
│ │ ├── @ LocalVariableTargetNode (location: (11,1)-(11,2))
@@ -241,14 +241,14 @@
│ ├── operator_loc: (11,7)-(11,8) = "="
│ └── value:
│ @ ArrayNode (location: (11,9)-(11,15))
+ │ ├── flags: ∅
│ ├── elements: (length: 2)
│ │ ├── @ IntegerNode (location: (11,10)-(11,11))
│ │ │ └── flags: decimal
│ │ └── @ IntegerNode (location: (11,13)-(11,14))
│ │ └── flags: decimal
│ ├── opening_loc: (11,9)-(11,10) = "["
- │ ├── closing_loc: (11,14)-(11,15) = "]"
- │ └── flags: ∅
+ │ └── closing_loc: (11,14)-(11,15) = "]"
├── @ MultiWriteNode (location: (12,0)-(12,12))
│ ├── lefts: (length: 2)
│ │ ├── @ LocalVariableTargetNode (location: (12,1)-(12,2))
@@ -284,6 +284,7 @@
├── @ MultiWriteNode (location: (14,0)-(14,23))
│ ├── lefts: (length: 2)
│ │ ├── @ CallNode (location: (14,1)-(14,6))
+ │ │ │ ├── flags: ∅
│ │ │ ├── receiver:
│ │ │ │ @ LocalVariableReadNode (location: (14,1)-(14,2))
│ │ │ │ ├── name: :a
@@ -294,9 +295,9 @@
│ │ │ ├── opening_loc: ∅
│ │ │ ├── arguments: ∅
│ │ │ ├── closing_loc: ∅
- │ │ │ ├── block: ∅
- │ │ │ └── flags: ∅
+ │ │ │ └── block: ∅
│ │ └── @ CallNode (location: (14,8)-(14,13))
+ │ │ ├── flags: ∅
│ │ ├── receiver:
│ │ │ @ LocalVariableReadNode (location: (14,8)-(14,9))
│ │ │ ├── name: :a
@@ -307,8 +308,7 @@
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
- │ │ ├── block: ∅
- │ │ └── flags: ∅
+ │ │ └── block: ∅
│ ├── rest: ∅
│ ├── rights: (length: 0)
│ ├── lparen_loc: (14,0)-(14,1) = "("
@@ -316,17 +316,18 @@
│ ├── operator_loc: (14,15)-(14,16) = "="
│ └── value:
│ @ ArrayNode (location: (14,17)-(14,23))
+ │ ├── flags: ∅
│ ├── elements: (length: 2)
│ │ ├── @ IntegerNode (location: (14,18)-(14,19))
│ │ │ └── flags: decimal
│ │ └── @ IntegerNode (location: (14,21)-(14,22))
│ │ └── flags: decimal
│ ├── opening_loc: (14,17)-(14,18) = "["
- │ ├── closing_loc: (14,22)-(14,23) = "]"
- │ └── flags: ∅
+ │ └── closing_loc: (14,22)-(14,23) = "]"
├── @ MultiWriteNode (location: (15,0)-(15,24))
│ ├── lefts: (length: 2)
│ │ ├── @ CallNode (location: (15,1)-(15,8))
+ │ │ │ ├── flags: ∅
│ │ │ ├── receiver:
│ │ │ │ @ LocalVariableReadNode (location: (15,1)-(15,2))
│ │ │ │ ├── name: :a
@@ -337,18 +338,18 @@
│ │ │ ├── opening_loc: (15,2)-(15,3) = "["
│ │ │ ├── arguments:
│ │ │ │ @ ArgumentsNode (location: (15,3)-(15,7))
- │ │ │ │ ├── arguments: (length: 1)
- │ │ │ │ │ └── @ SplatNode (location: (15,3)-(15,7))
- │ │ │ │ │ ├── operator_loc: (15,3)-(15,4) = "*"
- │ │ │ │ │ └── expression:
- │ │ │ │ │ @ LocalVariableReadNode (location: (15,4)-(15,7))
- │ │ │ │ │ ├── name: :foo
- │ │ │ │ │ └── depth: 0
- │ │ │ │ └── flags: ∅
+ │ │ │ │ ├── flags: ∅
+ │ │ │ │ └── arguments: (length: 1)
+ │ │ │ │ └── @ SplatNode (location: (15,3)-(15,7))
+ │ │ │ │ ├── operator_loc: (15,3)-(15,4) = "*"
+ │ │ │ │ └── expression:
+ │ │ │ │ @ LocalVariableReadNode (location: (15,4)-(15,7))
+ │ │ │ │ ├── name: :foo
+ │ │ │ │ └── depth: 0
│ │ │ ├── closing_loc: (15,7)-(15,8) = "]"
- │ │ │ ├── block: ∅
- │ │ │ └── flags: ∅
+ │ │ │ └── block: ∅
│ │ └── @ CallNode (location: (15,10)-(15,14))
+ │ │ ├── flags: ∅
│ │ ├── receiver:
│ │ │ @ LocalVariableReadNode (location: (15,10)-(15,11))
│ │ │ ├── name: :a
@@ -359,13 +360,12 @@
│ │ ├── opening_loc: (15,11)-(15,12) = "["
│ │ ├── arguments:
│ │ │ @ ArgumentsNode (location: (15,12)-(15,13))
- │ │ │ ├── arguments: (length: 1)
- │ │ │ │ └── @ IntegerNode (location: (15,12)-(15,13))
- │ │ │ │ └── flags: decimal
- │ │ │ └── flags: ∅
+ │ │ │ ├── flags: ∅
+ │ │ │ └── arguments: (length: 1)
+ │ │ │ └── @ IntegerNode (location: (15,12)-(15,13))
+ │ │ │ └── flags: decimal
│ │ ├── closing_loc: (15,13)-(15,14) = "]"
- │ │ ├── block: ∅
- │ │ └── flags: ∅
+ │ │ └── block: ∅
│ ├── rest: ∅
│ ├── rights: (length: 0)
│ ├── lparen_loc: (15,0)-(15,1) = "("
@@ -373,17 +373,18 @@
│ ├── operator_loc: (15,16)-(15,17) = "="
│ └── value:
│ @ ArrayNode (location: (15,18)-(15,24))
+ │ ├── flags: ∅
│ ├── elements: (length: 2)
│ │ ├── @ IntegerNode (location: (15,19)-(15,20))
│ │ │ └── flags: decimal
│ │ └── @ IntegerNode (location: (15,22)-(15,23))
│ │ └── flags: decimal
│ ├── opening_loc: (15,18)-(15,19) = "["
- │ ├── closing_loc: (15,23)-(15,24) = "]"
- │ └── flags: ∅
+ │ └── closing_loc: (15,23)-(15,24) = "]"
├── @ MultiWriteNode (location: (16,0)-(16,21))
│ ├── lefts: (length: 2)
│ │ ├── @ CallNode (location: (16,1)-(16,5))
+ │ │ │ ├── flags: ∅
│ │ │ ├── receiver:
│ │ │ │ @ LocalVariableReadNode (location: (16,1)-(16,2))
│ │ │ │ ├── name: :a
@@ -394,14 +395,14 @@
│ │ │ ├── opening_loc: (16,2)-(16,3) = "["
│ │ │ ├── arguments:
│ │ │ │ @ ArgumentsNode (location: (16,3)-(16,4))
- │ │ │ │ ├── arguments: (length: 1)
- │ │ │ │ │ └── @ IntegerNode (location: (16,3)-(16,4))
- │ │ │ │ │ └── flags: decimal
- │ │ │ │ └── flags: ∅
+ │ │ │ │ ├── flags: ∅
+ │ │ │ │ └── arguments: (length: 1)
+ │ │ │ │ └── @ IntegerNode (location: (16,3)-(16,4))
+ │ │ │ │ └── flags: decimal
│ │ │ ├── closing_loc: (16,4)-(16,5) = "]"
- │ │ │ ├── block: ∅
- │ │ │ └── flags: ∅
+ │ │ │ └── block: ∅
│ │ └── @ CallNode (location: (16,7)-(16,11))
+ │ │ ├── flags: ∅
│ │ ├── receiver:
│ │ │ @ LocalVariableReadNode (location: (16,7)-(16,8))
│ │ │ ├── name: :a
@@ -412,13 +413,12 @@
│ │ ├── opening_loc: (16,8)-(16,9) = "["
│ │ ├── arguments:
│ │ │ @ ArgumentsNode (location: (16,9)-(16,10))
- │ │ │ ├── arguments: (length: 1)
- │ │ │ │ └── @ IntegerNode (location: (16,9)-(16,10))
- │ │ │ │ └── flags: decimal
- │ │ │ └── flags: ∅
+ │ │ │ ├── flags: ∅
+ │ │ │ └── arguments: (length: 1)
+ │ │ │ └── @ IntegerNode (location: (16,9)-(16,10))
+ │ │ │ └── flags: decimal
│ │ ├── closing_loc: (16,10)-(16,11) = "]"
- │ │ ├── block: ∅
- │ │ └── flags: ∅
+ │ │ └── block: ∅
│ ├── rest: ∅
│ ├── rights: (length: 0)
│ ├── lparen_loc: (16,0)-(16,1) = "("
@@ -426,14 +426,14 @@
│ ├── operator_loc: (16,13)-(16,14) = "="
│ └── value:
│ @ ArrayNode (location: (16,15)-(16,21))
+ │ ├── flags: ∅
│ ├── elements: (length: 2)
│ │ ├── @ IntegerNode (location: (16,16)-(16,17))
│ │ │ └── flags: decimal
│ │ └── @ IntegerNode (location: (16,19)-(16,20))
│ │ └── flags: decimal
│ ├── opening_loc: (16,15)-(16,16) = "["
- │ ├── closing_loc: (16,20)-(16,21) = "]"
- │ └── flags: ∅
+ │ └── closing_loc: (16,20)-(16,21) = "]"
├── @ MultiWriteNode (location: (17,0)-(17,12))
│ ├── lefts: (length: 0)
│ ├── rest:
@@ -441,6 +441,7 @@
│ │ ├── operator_loc: (17,1)-(17,2) = "*"
│ │ └── expression:
│ │ @ CallNode (location: (17,2)-(17,7))
+ │ │ ├── flags: ∅
│ │ ├── receiver:
│ │ │ @ LocalVariableReadNode (location: (17,2)-(17,3))
│ │ │ ├── name: :c
@@ -451,8 +452,7 @@
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
- │ │ ├── block: ∅
- │ │ └── flags: ∅
+ │ │ └── block: ∅
│ ├── rights: (length: 0)
│ ├── lparen_loc: (17,0)-(17,1) = "("
│ ├── rparen_loc: (17,7)-(17,8) = ")"
@@ -559,6 +559,7 @@
│ ├── name_loc: (25,0)-(25,3) = "foo"
│ ├── value:
│ │ @ CallNode (location: (25,6)-(25,11))
+ │ │ ├── flags: ∅
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
│ │ ├── name: :foo
@@ -566,10 +567,10 @@
│ │ ├── opening_loc: (25,9)-(25,10) = "("
│ │ ├── arguments: ∅
│ │ ├── closing_loc: (25,10)-(25,11) = ")"
- │ │ ├── block: ∅
- │ │ └── flags: ∅
+ │ │ └── block: ∅
│ └── operator_loc: (25,4)-(25,5) = "="
├── @ CallNode (location: (26,0)-(26,9))
+ │ ├── flags: ∅
│ ├── receiver:
│ │ @ LocalVariableReadNode (location: (26,0)-(26,3))
│ │ ├── name: :foo
@@ -580,9 +581,9 @@
│ ├── opening_loc: (26,7)-(26,8) = "("
│ ├── arguments: ∅
│ ├── closing_loc: (26,8)-(26,9) = ")"
- │ ├── block: ∅
- │ └── flags: ∅
+ │ └── block: ∅
├── @ CallNode (location: (27,0)-(27,13))
+ │ ├── flags: ∅
│ ├── receiver:
│ │ @ LocalVariableReadNode (location: (27,0)-(27,3))
│ │ ├── name: :foo
@@ -593,16 +594,16 @@
│ ├── opening_loc: (27,7)-(27,8) = "("
│ ├── arguments:
│ │ @ ArgumentsNode (location: (27,8)-(27,12))
- │ │ ├── arguments: (length: 2)
- │ │ │ ├── @ IntegerNode (location: (27,8)-(27,9))
- │ │ │ │ └── flags: decimal
- │ │ │ └── @ IntegerNode (location: (27,11)-(27,12))
- │ │ │ └── flags: decimal
- │ │ └── flags: ∅
+ │ │ ├── flags: ∅
+ │ │ └── arguments: (length: 2)
+ │ │ ├── @ IntegerNode (location: (27,8)-(27,9))
+ │ │ │ └── flags: decimal
+ │ │ └── @ IntegerNode (location: (27,11)-(27,12))
+ │ │ └── flags: decimal
│ ├── closing_loc: (27,12)-(27,13) = ")"
- │ ├── block: ∅
- │ └── flags: ∅
+ │ └── block: ∅
├── @ CallNode (location: (28,0)-(28,11))
+ │ ├── flags: ∅
│ ├── receiver:
│ │ @ LocalVariableReadNode (location: (28,0)-(28,3))
│ │ ├── name: :foo
@@ -613,13 +614,13 @@
│ ├── opening_loc: ∅
│ ├── arguments:
│ │ @ ArgumentsNode (location: (28,7)-(28,11))
- │ │ ├── arguments: (length: 1)
- │ │ │ └── @ TrueNode (location: (28,7)-(28,11))
- │ │ └── flags: ∅
+ │ │ ├── flags: ∅
+ │ │ └── arguments: (length: 1)
+ │ │ └── @ TrueNode (location: (28,7)-(28,11))
│ ├── closing_loc: ∅
- │ ├── block: ∅
- │ └── flags: ∅
+ │ └── block: ∅
├── @ CallNode (location: (29,0)-(29,19))
+ │ ├── flags: ∅
│ ├── receiver:
│ │ @ LocalVariableReadNode (location: (29,0)-(29,3))
│ │ ├── name: :foo
@@ -630,35 +631,35 @@
│ ├── opening_loc: (29,3)-(29,4) = "["
│ ├── arguments:
│ │ @ ArgumentsNode (location: (29,4)-(29,19))
- │ │ ├── arguments: (length: 2)
- │ │ │ ├── @ SplatNode (location: (29,4)-(29,10))
- │ │ │ │ ├── operator_loc: (29,4)-(29,5) = "*"
- │ │ │ │ └── expression:
- │ │ │ │ @ CallNode (location: (29,5)-(29,10))
- │ │ │ │ ├── receiver: ∅
- │ │ │ │ ├── call_operator_loc: ∅
- │ │ │ │ ├── name: :index
- │ │ │ │ ├── message_loc: (29,5)-(29,10) = "index"
- │ │ │ │ ├── opening_loc: ∅
- │ │ │ │ ├── arguments: ∅
- │ │ │ │ ├── closing_loc: ∅
- │ │ │ │ ├── block: ∅
- │ │ │ │ └── flags: variable_call
- │ │ │ └── @ CallNode (location: (29,14)-(29,19))
- │ │ │ ├── receiver: ∅
- │ │ │ ├── call_operator_loc: ∅
- │ │ │ ├── name: :value
- │ │ │ ├── message_loc: (29,14)-(29,19) = "value"
- │ │ │ ├── opening_loc: ∅
- │ │ │ ├── arguments: ∅
- │ │ │ ├── closing_loc: ∅
- │ │ │ ├── block: ∅
- │ │ │ └── flags: variable_call
- │ │ └── flags: ∅
+ │ │ ├── flags: ∅
+ │ │ └── arguments: (length: 2)
+ │ │ ├── @ SplatNode (location: (29,4)-(29,10))
+ │ │ │ ├── operator_loc: (29,4)-(29,5) = "*"
+ │ │ │ └── expression:
+ │ │ │ @ CallNode (location: (29,5)-(29,10))
+ │ │ │ ├── flags: variable_call
+ │ │ │ ├── receiver: ∅
+ │ │ │ ├── call_operator_loc: ∅
+ │ │ │ ├── name: :index
+ │ │ │ ├── message_loc: (29,5)-(29,10) = "index"
+ │ │ │ ├── opening_loc: ∅
+ │ │ │ ├── arguments: ∅
+ │ │ │ ├── closing_loc: ∅
+ │ │ │ └── block: ∅
+ │ │ └── @ CallNode (location: (29,14)-(29,19))
+ │ │ ├── flags: variable_call
+ │ │ ├── receiver: ∅
+ │ │ ├── call_operator_loc: ∅
+ │ │ ├── name: :value
+ │ │ ├── message_loc: (29,14)-(29,19) = "value"
+ │ │ ├── opening_loc: ∅
+ │ │ ├── arguments: ∅
+ │ │ ├── closing_loc: ∅
+ │ │ └── block: ∅
│ ├── closing_loc: (29,10)-(29,11) = "]"
- │ ├── block: ∅
- │ └── flags: ∅
+ │ └── block: ∅
├── @ CallNode (location: (30,0)-(30,17))
+ │ ├── flags: ∅
│ ├── receiver:
│ │ @ LocalVariableReadNode (location: (30,0)-(30,3))
│ │ ├── name: :foo
@@ -669,31 +670,31 @@
│ ├── opening_loc: (30,3)-(30,4) = "["
│ ├── arguments:
│ │ @ ArgumentsNode (location: (30,4)-(30,17))
- │ │ ├── arguments: (length: 2)
- │ │ │ ├── @ RangeNode (location: (30,4)-(30,8))
- │ │ │ │ ├── left:
- │ │ │ │ │ @ IntegerNode (location: (30,4)-(30,5))
- │ │ │ │ │ └── flags: decimal
- │ │ │ │ ├── right:
- │ │ │ │ │ @ IntegerNode (location: (30,7)-(30,8))
- │ │ │ │ │ └── flags: decimal
- │ │ │ │ ├── operator_loc: (30,5)-(30,7) = ".."
- │ │ │ │ └── flags: ∅
- │ │ │ └── @ CallNode (location: (30,12)-(30,17))
- │ │ │ ├── receiver: ∅
- │ │ │ ├── call_operator_loc: ∅
- │ │ │ ├── name: :value
- │ │ │ ├── message_loc: (30,12)-(30,17) = "value"
- │ │ │ ├── opening_loc: ∅
- │ │ │ ├── arguments: ∅
- │ │ │ ├── closing_loc: ∅
- │ │ │ ├── block: ∅
- │ │ │ └── flags: variable_call
- │ │ └── flags: ∅
+ │ │ ├── flags: ∅
+ │ │ └── arguments: (length: 2)
+ │ │ ├── @ RangeNode (location: (30,4)-(30,8))
+ │ │ │ ├── flags: ∅
+ │ │ │ ├── left:
+ │ │ │ │ @ IntegerNode (location: (30,4)-(30,5))
+ │ │ │ │ └── flags: decimal
+ │ │ │ ├── right:
+ │ │ │ │ @ IntegerNode (location: (30,7)-(30,8))
+ │ │ │ │ └── flags: decimal
+ │ │ │ └── operator_loc: (30,5)-(30,7) = ".."
+ │ │ └── @ CallNode (location: (30,12)-(30,17))
+ │ │ ├── flags: variable_call
+ │ │ ├── receiver: ∅
+ │ │ ├── call_operator_loc: ∅
+ │ │ ├── name: :value
+ │ │ ├── message_loc: (30,12)-(30,17) = "value"
+ │ │ ├── opening_loc: ∅
+ │ │ ├── arguments: ∅
+ │ │ ├── closing_loc: ∅
+ │ │ └── block: ∅
│ ├── closing_loc: (30,8)-(30,9) = "]"
- │ ├── block: ∅
- │ └── flags: ∅
+ │ └── block: ∅
├── @ CallNode (location: (31,0)-(31,9))
+ │ ├── flags: ∅
│ ├── receiver:
│ │ @ LocalVariableReadNode (location: (31,0)-(31,3))
│ │ ├── name: :foo
@@ -704,14 +705,14 @@
│ ├── opening_loc: (31,3)-(31,4) = "["
│ ├── arguments:
│ │ @ ArgumentsNode (location: (31,8)-(31,9))
- │ │ ├── arguments: (length: 1)
- │ │ │ └── @ IntegerNode (location: (31,8)-(31,9))
- │ │ │ └── flags: decimal
- │ │ └── flags: ∅
+ │ │ ├── flags: ∅
+ │ │ └── arguments: (length: 1)
+ │ │ └── @ IntegerNode (location: (31,8)-(31,9))
+ │ │ └── flags: decimal
│ ├── closing_loc: (31,4)-(31,5) = "]"
- │ ├── block: ∅
- │ └── flags: ∅
+ │ └── block: ∅
├── @ CallNode (location: (32,0)-(32,17))
+ │ ├── flags: ∅
│ ├── receiver:
│ │ @ LocalVariableReadNode (location: (32,0)-(32,3))
│ │ ├── name: :foo
@@ -722,28 +723,28 @@
│ ├── opening_loc: (32,3)-(32,4) = "["
│ ├── arguments:
│ │ @ ArgumentsNode (location: (32,4)-(32,17))
- │ │ ├── arguments: (length: 3)
- │ │ │ ├── @ LocalVariableReadNode (location: (32,4)-(32,5))
- │ │ │ │ ├── name: :a
- │ │ │ │ └── depth: 0
- │ │ │ ├── @ LocalVariableReadNode (location: (32,7)-(32,8))
- │ │ │ │ ├── name: :b
- │ │ │ │ └── depth: 0
- │ │ │ └── @ CallNode (location: (32,12)-(32,17))
- │ │ │ ├── receiver: ∅
- │ │ │ ├── call_operator_loc: ∅
- │ │ │ ├── name: :value
- │ │ │ ├── message_loc: (32,12)-(32,17) = "value"
- │ │ │ ├── opening_loc: ∅
- │ │ │ ├── arguments: ∅
- │ │ │ ├── closing_loc: ∅
- │ │ │ ├── block: ∅
- │ │ │ └── flags: variable_call
- │ │ └── flags: ∅
+ │ │ ├── flags: ∅
+ │ │ └── arguments: (length: 3)
+ │ │ ├── @ LocalVariableReadNode (location: (32,4)-(32,5))
+ │ │ │ ├── name: :a
+ │ │ │ └── depth: 0
+ │ │ ├── @ LocalVariableReadNode (location: (32,7)-(32,8))
+ │ │ │ ├── name: :b
+ │ │ │ └── depth: 0
+ │ │ └── @ CallNode (location: (32,12)-(32,17))
+ │ │ ├── flags: variable_call
+ │ │ ├── receiver: ∅
+ │ │ ├── call_operator_loc: ∅
+ │ │ ├── name: :value
+ │ │ ├── message_loc: (32,12)-(32,17) = "value"
+ │ │ ├── opening_loc: ∅
+ │ │ ├── arguments: ∅
+ │ │ ├── closing_loc: ∅
+ │ │ └── block: ∅
│ ├── closing_loc: (32,8)-(32,9) = "]"
- │ ├── block: ∅
- │ └── flags: ∅
+ │ └── block: ∅
├── @ CallNode (location: (33,0)-(33,18))
+ │ ├── flags: ∅
│ ├── receiver:
│ │ @ LocalVariableReadNode (location: (33,0)-(33,3))
│ │ ├── name: :foo
@@ -754,31 +755,30 @@
│ ├── opening_loc: (33,3)-(33,4) = "["
│ ├── arguments:
│ │ @ ArgumentsNode (location: (33,4)-(33,18))
- │ │ ├── arguments: (length: 2)
- │ │ │ ├── @ CallNode (location: (33,4)-(33,9))
- │ │ │ │ ├── receiver: ∅
- │ │ │ │ ├── call_operator_loc: ∅
- │ │ │ │ ├── name: :index
- │ │ │ │ ├── message_loc: (33,4)-(33,9) = "index"
- │ │ │ │ ├── opening_loc: ∅
- │ │ │ │ ├── arguments: ∅
- │ │ │ │ ├── closing_loc: ∅
- │ │ │ │ ├── block: ∅
- │ │ │ │ └── flags: variable_call
- │ │ │ └── @ CallNode (location: (33,13)-(33,18))
- │ │ │ ├── receiver: ∅
- │ │ │ ├── call_operator_loc: ∅
- │ │ │ ├── name: :value
- │ │ │ ├── message_loc: (33,13)-(33,18) = "value"
- │ │ │ ├── opening_loc: ∅
- │ │ │ ├── arguments: ∅
- │ │ │ ├── closing_loc: ∅
- │ │ │ ├── block: ∅
- │ │ │ └── flags: variable_call
- │ │ └── flags: ∅
+ │ │ ├── flags: ∅
+ │ │ └── arguments: (length: 2)
+ │ │ ├── @ CallNode (location: (33,4)-(33,9))
+ │ │ │ ├── flags: variable_call
+ │ │ │ ├── receiver: ∅
+ │ │ │ ├── call_operator_loc: ∅
+ │ │ │ ├── name: :index
+ │ │ │ ├── message_loc: (33,4)-(33,9) = "index"
+ │ │ │ ├── opening_loc: ∅
+ │ │ │ ├── arguments: ∅
+ │ │ │ ├── closing_loc: ∅
+ │ │ │ └── block: ∅
+ │ │ └── @ CallNode (location: (33,13)-(33,18))
+ │ │ ├── flags: variable_call
+ │ │ ├── receiver: ∅
+ │ │ ├── call_operator_loc: ∅
+ │ │ ├── name: :value
+ │ │ ├── message_loc: (33,13)-(33,18) = "value"
+ │ │ ├── opening_loc: ∅
+ │ │ ├── arguments: ∅
+ │ │ ├── closing_loc: ∅
+ │ │ └── block: ∅
│ ├── closing_loc: (33,9)-(33,10) = "]"
- │ ├── block: ∅
- │ └── flags: ∅
+ │ └── block: ∅
├── @ LocalVariableWriteNode (location: (34,0)-(34,7))
│ ├── name: :x
│ ├── depth: 0
@@ -792,6 +792,7 @@
│ │ └── unescaped: ""
│ └── operator_loc: (34,2)-(34,3) = "="
├── @ CallNode (location: (35,0)-(35,7))
+ │ ├── flags: ∅
│ ├── receiver:
│ │ @ LocalVariableReadNode (location: (35,0)-(35,1))
│ │ ├── name: :x
@@ -802,18 +803,18 @@
│ ├── opening_loc: ∅
│ ├── arguments:
│ │ @ ArgumentsNode (location: (35,4)-(35,7))
- │ │ ├── arguments: (length: 1)
- │ │ │ └── @ StringNode (location: (35,4)-(35,7))
- │ │ │ ├── flags: ∅
- │ │ │ ├── opening_loc: (35,4)-(35,6) = "%("
- │ │ │ ├── content_loc: (35,6)-(35,6) = ""
- │ │ │ ├── closing_loc: (35,6)-(35,7) = ")"
- │ │ │ └── unescaped: ""
- │ │ └── flags: ∅
+ │ │ ├── flags: ∅
+ │ │ └── arguments: (length: 1)
+ │ │ └── @ StringNode (location: (35,4)-(35,7))
+ │ │ ├── flags: ∅
+ │ │ ├── opening_loc: (35,4)-(35,6) = "%("
+ │ │ ├── content_loc: (35,6)-(35,6) = ""
+ │ │ ├── closing_loc: (35,6)-(35,7) = ")"
+ │ │ └── unescaped: ""
│ ├── closing_loc: ∅
- │ ├── block: ∅
- │ └── flags: ∅
+ │ └── block: ∅
├── @ CallNode (location: (36,0)-(36,12))
+ │ ├── flags: ∅
│ ├── receiver:
│ │ @ LocalVariableReadNode (location: (36,0)-(36,1))
│ │ ├── name: :x
@@ -824,28 +825,28 @@
│ ├── opening_loc: (36,1)-(36,2) = "["
│ ├── arguments:
│ │ @ ArgumentsNode (location: (36,2)-(36,12))
- │ │ ├── arguments: (length: 2)
- │ │ │ ├── @ StringNode (location: (36,2)-(36,5))
- │ │ │ │ ├── flags: ∅
- │ │ │ │ ├── opening_loc: (36,2)-(36,4) = "%("
- │ │ │ │ ├── content_loc: (36,4)-(36,4) = ""
- │ │ │ │ ├── closing_loc: (36,4)-(36,5) = ")"
- │ │ │ │ └── unescaped: ""
- │ │ │ └── @ CallNode (location: (36,9)-(36,12))
- │ │ │ ├── receiver: ∅
- │ │ │ ├── call_operator_loc: ∅
- │ │ │ ├── name: :bar
- │ │ │ ├── message_loc: (36,9)-(36,12) = "bar"
- │ │ │ ├── opening_loc: ∅
- │ │ │ ├── arguments: ∅
- │ │ │ ├── closing_loc: ∅
- │ │ │ ├── block: ∅
- │ │ │ └── flags: variable_call
- │ │ └── flags: ∅
+ │ │ ├── flags: ∅
+ │ │ └── arguments: (length: 2)
+ │ │ ├── @ StringNode (location: (36,2)-(36,5))
+ │ │ │ ├── flags: ∅
+ │ │ │ ├── opening_loc: (36,2)-(36,4) = "%("
+ │ │ │ ├── content_loc: (36,4)-(36,4) = ""
+ │ │ │ ├── closing_loc: (36,4)-(36,5) = ")"
+ │ │ │ └── unescaped: ""
+ │ │ └── @ CallNode (location: (36,9)-(36,12))
+ │ │ ├── flags: variable_call
+ │ │ ├── receiver: ∅
+ │ │ ├── call_operator_loc: ∅
+ │ │ ├── name: :bar
+ │ │ ├── message_loc: (36,9)-(36,12) = "bar"
+ │ │ ├── opening_loc: ∅
+ │ │ ├── arguments: ∅
+ │ │ ├── closing_loc: ∅
+ │ │ └── block: ∅
│ ├── closing_loc: (36,5)-(36,6) = "]"
- │ ├── block: ∅
- │ └── flags: ∅
+ │ └── block: ∅
├── @ IndexOrWriteNode (location: (37,0)-(37,14))
+ │ ├── flags: ∅
│ ├── receiver:
│ │ @ LocalVariableReadNode (location: (37,0)-(37,1))
│ │ ├── name: :a
@@ -854,20 +855,20 @@
│ ├── opening_loc: (37,1)-(37,2) = "["
│ ├── arguments:
│ │ @ ArgumentsNode (location: (37,2)-(37,5))
- │ │ ├── arguments: (length: 1)
- │ │ │ └── @ StringNode (location: (37,2)-(37,5))
- │ │ │ ├── flags: ∅
- │ │ │ ├── opening_loc: (37,2)-(37,4) = "%("
- │ │ │ ├── content_loc: (37,4)-(37,4) = ""
- │ │ │ ├── closing_loc: (37,4)-(37,5) = ")"
- │ │ │ └── unescaped: ""
- │ │ └── flags: ∅
+ │ │ ├── flags: ∅
+ │ │ └── arguments: (length: 1)
+ │ │ └── @ StringNode (location: (37,2)-(37,5))
+ │ │ ├── flags: ∅
+ │ │ ├── opening_loc: (37,2)-(37,4) = "%("
+ │ │ ├── content_loc: (37,4)-(37,4) = ""
+ │ │ ├── closing_loc: (37,4)-(37,5) = ")"
+ │ │ └── unescaped: ""
│ ├── closing_loc: (37,5)-(37,6) = "]"
│ ├── block: ∅
- │ ├── flags: ∅
│ ├── operator_loc: (37,7)-(37,10) = "||="
│ └── value:
│ @ CallNode (location: (37,11)-(37,14))
+ │ ├── flags: variable_call
│ ├── receiver: ∅
│ ├── call_operator_loc: ∅
│ ├── name: :bar
@@ -875,8 +876,7 @@
│ ├── opening_loc: ∅
│ ├── arguments: ∅
│ ├── closing_loc: ∅
- │ ├── block: ∅
- │ └── flags: variable_call
+ │ └── block: ∅
├── @ InstanceVariableOrWriteNode (location: (38,0)-(38,10))
│ ├── name: :@a
│ ├── name_loc: (38,0)-(38,2) = "@a"
@@ -915,6 +915,7 @@
│ │ └── closing_loc: (41,0)-(42,0) = "HEREDOC\n"
│ └── operator_loc: (39,2)-(39,3) = "="
├── @ CallNode (location: (42,0)-(42,14))
+ │ ├── flags: ∅
│ ├── receiver:
│ │ @ LocalVariableReadNode (location: (42,0)-(42,1))
│ │ ├── name: :x
@@ -925,32 +926,32 @@
│ ├── opening_loc: ∅
│ ├── arguments:
│ │ @ ArgumentsNode (location: (42,4)-(42,14))
- │ │ ├── arguments: (length: 1)
- │ │ │ └── @ InterpolatedStringNode (location: (42,4)-(42,14))
- │ │ │ ├── opening_loc: (42,4)-(42,14) = "<<-HEREDOC"
- │ │ │ ├── parts: (length: 3)
- │ │ │ │ ├── @ StringNode (location: (43,0)-(43,2))
- │ │ │ │ │ ├── flags: ∅
- │ │ │ │ │ ├── opening_loc: ∅
- │ │ │ │ │ ├── content_loc: (43,0)-(43,2) = " "
- │ │ │ │ │ ├── closing_loc: ∅
- │ │ │ │ │ └── unescaped: " "
- │ │ │ │ ├── @ EmbeddedStatementsNode (location: (43,2)-(43,5))
- │ │ │ │ │ ├── opening_loc: (43,2)-(43,4) = "\#{"
- │ │ │ │ │ ├── statements: ∅
- │ │ │ │ │ └── closing_loc: (43,4)-(43,5) = "}"
- │ │ │ │ └── @ StringNode (location: (43,5)-(44,0))
- │ │ │ │ ├── flags: ∅
- │ │ │ │ ├── opening_loc: ∅
- │ │ │ │ ├── content_loc: (43,5)-(44,0) = "\n"
- │ │ │ │ ├── closing_loc: ∅
- │ │ │ │ └── unescaped: "\n"
- │ │ │ └── closing_loc: (44,0)-(45,0) = "HEREDOC\n"
- │ │ └── flags: ∅
+ │ │ ├── flags: ∅
+ │ │ └── arguments: (length: 1)
+ │ │ └── @ InterpolatedStringNode (location: (42,4)-(42,14))
+ │ │ ├── opening_loc: (42,4)-(42,14) = "<<-HEREDOC"
+ │ │ ├── parts: (length: 3)
+ │ │ │ ├── @ StringNode (location: (43,0)-(43,2))
+ │ │ │ │ ├── flags: ∅
+ │ │ │ │ ├── opening_loc: ∅
+ │ │ │ │ ├── content_loc: (43,0)-(43,2) = " "
+ │ │ │ │ ├── closing_loc: ∅
+ │ │ │ │ └── unescaped: " "
+ │ │ │ ├── @ EmbeddedStatementsNode (location: (43,2)-(43,5))
+ │ │ │ │ ├── opening_loc: (43,2)-(43,4) = "\#{"
+ │ │ │ │ ├── statements: ∅
+ │ │ │ │ └── closing_loc: (43,4)-(43,5) = "}"
+ │ │ │ └── @ StringNode (location: (43,5)-(44,0))
+ │ │ │ ├── flags: ∅
+ │ │ │ ├── opening_loc: ∅
+ │ │ │ ├── content_loc: (43,5)-(44,0) = "\n"
+ │ │ │ ├── closing_loc: ∅
+ │ │ │ └── unescaped: "\n"
+ │ │ └── closing_loc: (44,0)-(45,0) = "HEREDOC\n"
│ ├── closing_loc: ∅
- │ ├── block: ∅
- │ └── flags: ∅
+ │ └── block: ∅
├── @ CallNode (location: (45,0)-(45,16))
+ │ ├── flags: ∅
│ ├── receiver:
│ │ @ LocalVariableReadNode (location: (45,0)-(45,1))
│ │ ├── name: :x
@@ -961,32 +962,32 @@
│ ├── opening_loc: (45,1)-(45,2) = "["
│ ├── arguments:
│ │ @ ArgumentsNode (location: (45,6)-(45,16))
- │ │ ├── arguments: (length: 1)
- │ │ │ └── @ InterpolatedStringNode (location: (45,6)-(45,16))
- │ │ │ ├── opening_loc: (45,6)-(45,16) = "<<-HEREDOC"
- │ │ │ ├── parts: (length: 3)
- │ │ │ │ ├── @ StringNode (location: (46,0)-(46,2))
- │ │ │ │ │ ├── flags: ∅
- │ │ │ │ │ ├── opening_loc: ∅
- │ │ │ │ │ ├── content_loc: (46,0)-(46,2) = " "
- │ │ │ │ │ ├── closing_loc: ∅
- │ │ │ │ │ └── unescaped: " "
- │ │ │ │ ├── @ EmbeddedStatementsNode (location: (46,2)-(46,5))
- │ │ │ │ │ ├── opening_loc: (46,2)-(46,4) = "\#{"
- │ │ │ │ │ ├── statements: ∅
- │ │ │ │ │ └── closing_loc: (46,4)-(46,5) = "}"
- │ │ │ │ └── @ StringNode (location: (46,5)-(47,0))
- │ │ │ │ ├── flags: ∅
- │ │ │ │ ├── opening_loc: ∅
- │ │ │ │ ├── content_loc: (46,5)-(47,0) = "\n"
- │ │ │ │ ├── closing_loc: ∅
- │ │ │ │ └── unescaped: "\n"
- │ │ │ └── closing_loc: (47,0)-(48,0) = "HEREDOC\n"
- │ │ └── flags: ∅
+ │ │ ├── flags: ∅
+ │ │ └── arguments: (length: 1)
+ │ │ └── @ InterpolatedStringNode (location: (45,6)-(45,16))
+ │ │ ├── opening_loc: (45,6)-(45,16) = "<<-HEREDOC"
+ │ │ ├── parts: (length: 3)
+ │ │ │ ├── @ StringNode (location: (46,0)-(46,2))
+ │ │ │ │ ├── flags: ∅
+ │ │ │ │ ├── opening_loc: ∅
+ │ │ │ │ ├── content_loc: (46,0)-(46,2) = " "
+ │ │ │ │ ├── closing_loc: ∅
+ │ │ │ │ └── unescaped: " "
+ │ │ │ ├── @ EmbeddedStatementsNode (location: (46,2)-(46,5))
+ │ │ │ │ ├── opening_loc: (46,2)-(46,4) = "\#{"
+ │ │ │ │ ├── statements: ∅
+ │ │ │ │ └── closing_loc: (46,4)-(46,5) = "}"
+ │ │ │ └── @ StringNode (location: (46,5)-(47,0))
+ │ │ │ ├── flags: ∅
+ │ │ │ ├── opening_loc: ∅
+ │ │ │ ├── content_loc: (46,5)-(47,0) = "\n"
+ │ │ │ ├── closing_loc: ∅
+ │ │ │ └── unescaped: "\n"
+ │ │ └── closing_loc: (47,0)-(48,0) = "HEREDOC\n"
│ ├── closing_loc: (45,2)-(45,3) = "]"
- │ ├── block: ∅
- │ └── flags: ∅
+ │ └── block: ∅
├── @ IndexOrWriteNode (location: (48,0)-(48,21))
+ │ ├── flags: ∅
│ ├── receiver:
│ │ @ LocalVariableReadNode (location: (48,0)-(48,1))
│ │ ├── name: :a
@@ -995,34 +996,34 @@
│ ├── opening_loc: (48,1)-(48,2) = "["
│ ├── arguments:
│ │ @ ArgumentsNode (location: (48,2)-(48,12))
- │ │ ├── arguments: (length: 1)
- │ │ │ └── @ InterpolatedStringNode (location: (48,2)-(48,12))
- │ │ │ ├── opening_loc: (48,2)-(48,12) = "<<-HEREDOC"
- │ │ │ ├── parts: (length: 3)
- │ │ │ │ ├── @ StringNode (location: (49,0)-(49,2))
- │ │ │ │ │ ├── flags: ∅
- │ │ │ │ │ ├── opening_loc: ∅
- │ │ │ │ │ ├── content_loc: (49,0)-(49,2) = " "
- │ │ │ │ │ ├── closing_loc: ∅
- │ │ │ │ │ └── unescaped: " "
- │ │ │ │ ├── @ EmbeddedStatementsNode (location: (49,2)-(49,5))
- │ │ │ │ │ ├── opening_loc: (49,2)-(49,4) = "\#{"
- │ │ │ │ │ ├── statements: ∅
- │ │ │ │ │ └── closing_loc: (49,4)-(49,5) = "}"
- │ │ │ │ └── @ StringNode (location: (49,5)-(50,0))
- │ │ │ │ ├── flags: ∅
- │ │ │ │ ├── opening_loc: ∅
- │ │ │ │ ├── content_loc: (49,5)-(50,0) = "\n"
- │ │ │ │ ├── closing_loc: ∅
- │ │ │ │ └── unescaped: "\n"
- │ │ │ └── closing_loc: (50,0)-(51,0) = "HEREDOC\n"
- │ │ └── flags: ∅
+ │ │ ├── flags: ∅
+ │ │ └── arguments: (length: 1)
+ │ │ └── @ InterpolatedStringNode (location: (48,2)-(48,12))
+ │ │ ├── opening_loc: (48,2)-(48,12) = "<<-HEREDOC"
+ │ │ ├── parts: (length: 3)
+ │ │ │ ├── @ StringNode (location: (49,0)-(49,2))
+ │ │ │ │ ├── flags: ∅
+ │ │ │ │ ├── opening_loc: ∅
+ │ │ │ │ ├── content_loc: (49,0)-(49,2) = " "
+ │ │ │ │ ├── closing_loc: ∅
+ │ │ │ │ └── unescaped: " "
+ │ │ │ ├── @ EmbeddedStatementsNode (location: (49,2)-(49,5))
+ │ │ │ │ ├── opening_loc: (49,2)-(49,4) = "\#{"
+ │ │ │ │ ├── statements: ∅
+ │ │ │ │ └── closing_loc: (49,4)-(49,5) = "}"
+ │ │ │ └── @ StringNode (location: (49,5)-(50,0))
+ │ │ │ ├── flags: ∅
+ │ │ │ ├── opening_loc: ∅
+ │ │ │ ├── content_loc: (49,5)-(50,0) = "\n"
+ │ │ │ ├── closing_loc: ∅
+ │ │ │ └── unescaped: "\n"
+ │ │ └── closing_loc: (50,0)-(51,0) = "HEREDOC\n"
│ ├── closing_loc: (48,12)-(48,13) = "]"
│ ├── block: ∅
- │ ├── flags: ∅
│ ├── operator_loc: (48,14)-(48,17) = "||="
│ └── value:
│ @ CallNode (location: (48,18)-(48,21))
+ │ ├── flags: variable_call
│ ├── receiver: ∅
│ ├── call_operator_loc: ∅
│ ├── name: :bar
@@ -1030,8 +1031,7 @@
│ ├── opening_loc: ∅
│ ├── arguments: ∅
│ ├── closing_loc: ∅
- │ ├── block: ∅
- │ └── flags: variable_call
+ │ └── block: ∅
└── @ InstanceVariableOrWriteNode (location: (51,0)-(51,17))
├── name: :@a
├── name_loc: (51,0)-(51,2) = "@a"
diff --git a/test/prism/snapshots/unparser/corpus/literal/block.txt b/test/prism/snapshots/unparser/corpus/literal/block.txt
index 610af9dd55..63fcfd23dd 100644
--- a/test/prism/snapshots/unparser/corpus/literal/block.txt
+++ b/test/prism/snapshots/unparser/corpus/literal/block.txt
@@ -4,6 +4,7 @@
@ StatementsNode (location: (1,0)-(96,1))
└── body: (length: 30)
├── @ CallNode (location: (1,0)-(2,1))
+ │ ├── flags: ∅
│ ├── receiver: ∅
│ ├── call_operator_loc: ∅
│ ├── name: :foo
@@ -11,16 +12,16 @@
│ ├── opening_loc: ∅
│ ├── arguments: ∅
│ ├── closing_loc: ∅
- │ ├── block:
- │ │ @ BlockNode (location: (1,4)-(2,1))
- │ │ ├── locals: []
- │ │ ├── locals_body_index: 0
- │ │ ├── parameters: ∅
- │ │ ├── body: ∅
- │ │ ├── opening_loc: (1,4)-(1,5) = "{"
- │ │ └── closing_loc: (2,0)-(2,1) = "}"
- │ └── flags: ∅
+ │ └── block:
+ │ @ BlockNode (location: (1,4)-(2,1))
+ │ ├── locals: []
+ │ ├── locals_body_index: 0
+ │ ├── parameters: ∅
+ │ ├── body: ∅
+ │ ├── opening_loc: (1,4)-(1,5) = "{"
+ │ └── closing_loc: (2,0)-(2,1) = "}"
├── @ CallNode (location: (3,0)-(4,1))
+ │ ├── flags: ∅
│ ├── receiver: ∅
│ ├── call_operator_loc: ∅
│ ├── name: :foo
@@ -28,31 +29,31 @@
│ ├── opening_loc: ∅
│ ├── arguments: ∅
│ ├── closing_loc: ∅
- │ ├── block:
- │ │ @ BlockNode (location: (3,4)-(4,1))
- │ │ ├── locals: [:a]
- │ │ ├── locals_body_index: 1
- │ │ ├── parameters:
- │ │ │ @ BlockParametersNode (location: (3,6)-(3,9))
- │ │ │ ├── parameters:
- │ │ │ │ @ ParametersNode (location: (3,7)-(3,8))
- │ │ │ │ ├── requireds: (length: 1)
- │ │ │ │ │ └── @ RequiredParameterNode (location: (3,7)-(3,8))
- │ │ │ │ │ └── name: :a
- │ │ │ │ ├── optionals: (length: 0)
- │ │ │ │ ├── rest: ∅
- │ │ │ │ ├── posts: (length: 0)
- │ │ │ │ ├── keywords: (length: 0)
- │ │ │ │ ├── keyword_rest: ∅
- │ │ │ │ └── block: ∅
- │ │ │ ├── locals: (length: 0)
- │ │ │ ├── opening_loc: (3,6)-(3,7) = "|"
- │ │ │ └── closing_loc: (3,8)-(3,9) = "|"
- │ │ ├── body: ∅
- │ │ ├── opening_loc: (3,4)-(3,5) = "{"
- │ │ └── closing_loc: (4,0)-(4,1) = "}"
- │ └── flags: ∅
+ │ └── block:
+ │ @ BlockNode (location: (3,4)-(4,1))
+ │ ├── locals: [:a]
+ │ ├── locals_body_index: 1
+ │ ├── parameters:
+ │ │ @ BlockParametersNode (location: (3,6)-(3,9))
+ │ │ ├── parameters:
+ │ │ │ @ ParametersNode (location: (3,7)-(3,8))
+ │ │ │ ├── requireds: (length: 1)
+ │ │ │ │ └── @ RequiredParameterNode (location: (3,7)-(3,8))
+ │ │ │ │ └── name: :a
+ │ │ │ ├── optionals: (length: 0)
+ │ │ │ ├── rest: ∅
+ │ │ │ ├── posts: (length: 0)
+ │ │ │ ├── keywords: (length: 0)
+ │ │ │ ├── keyword_rest: ∅
+ │ │ │ └── block: ∅
+ │ │ ├── locals: (length: 0)
+ │ │ ├── opening_loc: (3,6)-(3,7) = "|"
+ │ │ └── closing_loc: (3,8)-(3,9) = "|"
+ │ ├── body: ∅
+ │ ├── opening_loc: (3,4)-(3,5) = "{"
+ │ └── closing_loc: (4,0)-(4,1) = "}"
├── @ CallNode (location: (5,0)-(6,1))
+ │ ├── flags: ∅
│ ├── receiver: ∅
│ ├── call_operator_loc: ∅
│ ├── name: :foo
@@ -60,32 +61,32 @@
│ ├── opening_loc: ∅
│ ├── arguments: ∅
│ ├── closing_loc: ∅
- │ ├── block:
- │ │ @ BlockNode (location: (5,4)-(6,1))
- │ │ ├── locals: [:a]
- │ │ ├── locals_body_index: 1
- │ │ ├── parameters:
- │ │ │ @ BlockParametersNode (location: (5,6)-(5,10))
- │ │ │ ├── parameters:
- │ │ │ │ @ ParametersNode (location: (5,7)-(5,9))
- │ │ │ │ ├── requireds: (length: 1)
- │ │ │ │ │ └── @ RequiredParameterNode (location: (5,7)-(5,8))
- │ │ │ │ │ └── name: :a
- │ │ │ │ ├── optionals: (length: 0)
- │ │ │ │ ├── rest:
- │ │ │ │ │ @ ImplicitRestNode (location: (5,8)-(5,9))
- │ │ │ │ ├── posts: (length: 0)
- │ │ │ │ ├── keywords: (length: 0)
- │ │ │ │ ├── keyword_rest: ∅
- │ │ │ │ └── block: ∅
- │ │ │ ├── locals: (length: 0)
- │ │ │ ├── opening_loc: (5,6)-(5,7) = "|"
- │ │ │ └── closing_loc: (5,9)-(5,10) = "|"
- │ │ ├── body: ∅
- │ │ ├── opening_loc: (5,4)-(5,5) = "{"
- │ │ └── closing_loc: (6,0)-(6,1) = "}"
- │ └── flags: ∅
+ │ └── block:
+ │ @ BlockNode (location: (5,4)-(6,1))
+ │ ├── locals: [:a]
+ │ ├── locals_body_index: 1
+ │ ├── parameters:
+ │ │ @ BlockParametersNode (location: (5,6)-(5,10))
+ │ │ ├── parameters:
+ │ │ │ @ ParametersNode (location: (5,7)-(5,9))
+ │ │ │ ├── requireds: (length: 1)
+ │ │ │ │ └── @ RequiredParameterNode (location: (5,7)-(5,8))
+ │ │ │ │ └── name: :a
+ │ │ │ ├── optionals: (length: 0)
+ │ │ │ ├── rest:
+ │ │ │ │ @ ImplicitRestNode (location: (5,8)-(5,9))
+ │ │ │ ├── posts: (length: 0)
+ │ │ │ ├── keywords: (length: 0)
+ │ │ │ ├── keyword_rest: ∅
+ │ │ │ └── block: ∅
+ │ │ ├── locals: (length: 0)
+ │ │ ├── opening_loc: (5,6)-(5,7) = "|"
+ │ │ └── closing_loc: (5,9)-(5,10) = "|"
+ │ ├── body: ∅
+ │ ├── opening_loc: (5,4)-(5,5) = "{"
+ │ └── closing_loc: (6,0)-(6,1) = "}"
├── @ CallNode (location: (7,0)-(8,1))
+ │ ├── flags: ∅
│ ├── receiver: ∅
│ ├── call_operator_loc: ∅
│ ├── name: :foo
@@ -93,34 +94,34 @@
│ ├── opening_loc: ∅
│ ├── arguments: ∅
│ ├── closing_loc: ∅
- │ ├── block:
- │ │ @ BlockNode (location: (7,4)-(8,1))
- │ │ ├── locals: [:a, :x]
- │ │ ├── locals_body_index: 2
- │ │ ├── parameters:
- │ │ │ @ BlockParametersNode (location: (7,6)-(7,13))
- │ │ │ ├── parameters:
- │ │ │ │ @ ParametersNode (location: (7,7)-(7,9))
- │ │ │ │ ├── requireds: (length: 1)
- │ │ │ │ │ └── @ RequiredParameterNode (location: (7,7)-(7,8))
- │ │ │ │ │ └── name: :a
- │ │ │ │ ├── optionals: (length: 0)
- │ │ │ │ ├── rest:
- │ │ │ │ │ @ ImplicitRestNode (location: (7,8)-(7,9))
- │ │ │ │ ├── posts: (length: 0)
- │ │ │ │ ├── keywords: (length: 0)
- │ │ │ │ ├── keyword_rest: ∅
- │ │ │ │ └── block: ∅
- │ │ │ ├── locals: (length: 1)
- │ │ │ │ └── @ BlockLocalVariableNode (location: (7,11)-(7,12))
- │ │ │ │ └── name: :x
- │ │ │ ├── opening_loc: (7,6)-(7,7) = "|"
- │ │ │ └── closing_loc: (7,12)-(7,13) = "|"
- │ │ ├── body: ∅
- │ │ ├── opening_loc: (7,4)-(7,5) = "{"
- │ │ └── closing_loc: (8,0)-(8,1) = "}"
- │ └── flags: ∅
+ │ └── block:
+ │ @ BlockNode (location: (7,4)-(8,1))
+ │ ├── locals: [:a, :x]
+ │ ├── locals_body_index: 2
+ │ ├── parameters:
+ │ │ @ BlockParametersNode (location: (7,6)-(7,13))
+ │ │ ├── parameters:
+ │ │ │ @ ParametersNode (location: (7,7)-(7,9))
+ │ │ │ ├── requireds: (length: 1)
+ │ │ │ │ └── @ RequiredParameterNode (location: (7,7)-(7,8))
+ │ │ │ │ └── name: :a
+ │ │ │ ├── optionals: (length: 0)
+ │ │ │ ├── rest:
+ │ │ │ │ @ ImplicitRestNode (location: (7,8)-(7,9))
+ │ │ │ ├── posts: (length: 0)
+ │ │ │ ├── keywords: (length: 0)
+ │ │ │ ├── keyword_rest: ∅
+ │ │ │ └── block: ∅
+ │ │ ├── locals: (length: 1)
+ │ │ │ └── @ BlockLocalVariableNode (location: (7,11)-(7,12))
+ │ │ │ └── name: :x
+ │ │ ├── opening_loc: (7,6)-(7,7) = "|"
+ │ │ └── closing_loc: (7,12)-(7,13) = "|"
+ │ ├── body: ∅
+ │ ├── opening_loc: (7,4)-(7,5) = "{"
+ │ └── closing_loc: (8,0)-(8,1) = "}"
├── @ CallNode (location: (9,0)-(10,1))
+ │ ├── flags: ∅
│ ├── receiver: ∅
│ ├── call_operator_loc: ∅
│ ├── name: :foo
@@ -128,33 +129,33 @@
│ ├── opening_loc: ∅
│ ├── arguments: ∅
│ ├── closing_loc: ∅
- │ ├── block:
- │ │ @ BlockNode (location: (9,4)-(10,1))
- │ │ ├── locals: [:a, :b]
- │ │ ├── locals_body_index: 2
- │ │ ├── parameters:
- │ │ │ @ BlockParametersNode (location: (9,6)-(9,12))
- │ │ │ ├── parameters:
- │ │ │ │ @ ParametersNode (location: (9,7)-(9,11))
- │ │ │ │ ├── requireds: (length: 2)
- │ │ │ │ │ ├── @ RequiredParameterNode (location: (9,7)-(9,8))
- │ │ │ │ │ │ └── name: :a
- │ │ │ │ │ └── @ RequiredParameterNode (location: (9,10)-(9,11))
- │ │ │ │ │ └── name: :b
- │ │ │ │ ├── optionals: (length: 0)
- │ │ │ │ ├── rest: ∅
- │ │ │ │ ├── posts: (length: 0)
- │ │ │ │ ├── keywords: (length: 0)
- │ │ │ │ ├── keyword_rest: ∅
- │ │ │ │ └── block: ∅
- │ │ │ ├── locals: (length: 0)
- │ │ │ ├── opening_loc: (9,6)-(9,7) = "|"
- │ │ │ └── closing_loc: (9,11)-(9,12) = "|"
- │ │ ├── body: ∅
- │ │ ├── opening_loc: (9,4)-(9,5) = "{"
- │ │ └── closing_loc: (10,0)-(10,1) = "}"
- │ └── flags: ∅
+ │ └── block:
+ │ @ BlockNode (location: (9,4)-(10,1))
+ │ ├── locals: [:a, :b]
+ │ ├── locals_body_index: 2
+ │ ├── parameters:
+ │ │ @ BlockParametersNode (location: (9,6)-(9,12))
+ │ │ ├── parameters:
+ │ │ │ @ ParametersNode (location: (9,7)-(9,11))
+ │ │ │ ├── requireds: (length: 2)
+ │ │ │ │ ├── @ RequiredParameterNode (location: (9,7)-(9,8))
+ │ │ │ │ │ └── name: :a
+ │ │ │ │ └── @ RequiredParameterNode (location: (9,10)-(9,11))
+ │ │ │ │ └── name: :b
+ │ │ │ ├── optionals: (length: 0)
+ │ │ │ ├── rest: ∅
+ │ │ │ ├── posts: (length: 0)
+ │ │ │ ├── keywords: (length: 0)
+ │ │ │ ├── keyword_rest: ∅
+ │ │ │ └── block: ∅
+ │ │ ├── locals: (length: 0)
+ │ │ ├── opening_loc: (9,6)-(9,7) = "|"
+ │ │ └── closing_loc: (9,11)-(9,12) = "|"
+ │ ├── body: ∅
+ │ ├── opening_loc: (9,4)-(9,5) = "{"
+ │ └── closing_loc: (10,0)-(10,1) = "}"
├── @ CallNode (location: (11,0)-(13,1))
+ │ ├── flags: ∅
│ ├── receiver: ∅
│ ├── call_operator_loc: ∅
│ ├── name: :foo
@@ -162,24 +163,24 @@
│ ├── opening_loc: (11,3)-(11,4) = "("
│ ├── arguments:
│ │ @ ArgumentsNode (location: (11,4)-(11,5))
- │ │ ├── arguments: (length: 1)
- │ │ │ └── @ IntegerNode (location: (11,4)-(11,5))
- │ │ │ └── flags: decimal
- │ │ └── flags: ∅
+ │ │ ├── flags: ∅
+ │ │ └── arguments: (length: 1)
+ │ │ └── @ IntegerNode (location: (11,4)-(11,5))
+ │ │ └── flags: decimal
│ ├── closing_loc: (11,5)-(11,6) = ")"
- │ ├── block:
- │ │ @ BlockNode (location: (11,7)-(13,1))
- │ │ ├── locals: []
- │ │ ├── locals_body_index: 0
- │ │ ├── parameters: ∅
- │ │ ├── body:
- │ │ │ @ StatementsNode (location: (12,2)-(12,5))
- │ │ │ └── body: (length: 1)
- │ │ │ └── @ NilNode (location: (12,2)-(12,5))
- │ │ ├── opening_loc: (11,7)-(11,8) = "{"
- │ │ └── closing_loc: (13,0)-(13,1) = "}"
- │ └── flags: ∅
+ │ └── block:
+ │ @ BlockNode (location: (11,7)-(13,1))
+ │ ├── locals: []
+ │ ├── locals_body_index: 0
+ │ ├── parameters: ∅
+ │ ├── body:
+ │ │ @ StatementsNode (location: (12,2)-(12,5))
+ │ │ └── body: (length: 1)
+ │ │ └── @ NilNode (location: (12,2)-(12,5))
+ │ ├── opening_loc: (11,7)-(11,8) = "{"
+ │ └── closing_loc: (13,0)-(13,1) = "}"
├── @ CallNode (location: (14,0)-(16,1))
+ │ ├── flags: ∅
│ ├── receiver: ∅
│ ├── call_operator_loc: ∅
│ ├── name: :foo
@@ -187,38 +188,38 @@
│ ├── opening_loc: ∅
│ ├── arguments: ∅
│ ├── closing_loc: ∅
- │ ├── block:
- │ │ @ BlockNode (location: (14,4)-(16,1))
- │ │ ├── locals: [:a, :b]
- │ │ ├── locals_body_index: 2
- │ │ ├── parameters:
- │ │ │ @ BlockParametersNode (location: (14,6)-(14,13))
- │ │ │ ├── parameters:
- │ │ │ │ @ ParametersNode (location: (14,7)-(14,12))
- │ │ │ │ ├── requireds: (length: 1)
- │ │ │ │ │ └── @ RequiredParameterNode (location: (14,7)-(14,8))
- │ │ │ │ │ └── name: :a
- │ │ │ │ ├── optionals: (length: 0)
- │ │ │ │ ├── rest:
- │ │ │ │ │ @ RestParameterNode (location: (14,10)-(14,12))
- │ │ │ │ │ ├── name: :b
- │ │ │ │ │ ├── name_loc: (14,11)-(14,12) = "b"
- │ │ │ │ │ └── operator_loc: (14,10)-(14,11) = "*"
- │ │ │ │ ├── posts: (length: 0)
- │ │ │ │ ├── keywords: (length: 0)
- │ │ │ │ ├── keyword_rest: ∅
- │ │ │ │ └── block: ∅
- │ │ │ ├── locals: (length: 0)
- │ │ │ ├── opening_loc: (14,6)-(14,7) = "|"
- │ │ │ └── closing_loc: (14,12)-(14,13) = "|"
- │ │ ├── body:
- │ │ │ @ StatementsNode (location: (15,2)-(15,5))
- │ │ │ └── body: (length: 1)
- │ │ │ └── @ NilNode (location: (15,2)-(15,5))
- │ │ ├── opening_loc: (14,4)-(14,5) = "{"
- │ │ └── closing_loc: (16,0)-(16,1) = "}"
- │ └── flags: ∅
+ │ └── block:
+ │ @ BlockNode (location: (14,4)-(16,1))
+ │ ├── locals: [:a, :b]
+ │ ├── locals_body_index: 2
+ │ ├── parameters:
+ │ │ @ BlockParametersNode (location: (14,6)-(14,13))
+ │ │ ├── parameters:
+ │ │ │ @ ParametersNode (location: (14,7)-(14,12))
+ │ │ │ ├── requireds: (length: 1)
+ │ │ │ │ └── @ RequiredParameterNode (location: (14,7)-(14,8))
+ │ │ │ │ └── name: :a
+ │ │ │ ├── optionals: (length: 0)
+ │ │ │ ├── rest:
+ │ │ │ │ @ RestParameterNode (location: (14,10)-(14,12))
+ │ │ │ │ ├── name: :b
+ │ │ │ │ ├── name_loc: (14,11)-(14,12) = "b"
+ │ │ │ │ └── operator_loc: (14,10)-(14,11) = "*"
+ │ │ │ ├── posts: (length: 0)
+ │ │ │ ├── keywords: (length: 0)
+ │ │ │ ├── keyword_rest: ∅
+ │ │ │ └── block: ∅
+ │ │ ├── locals: (length: 0)
+ │ │ ├── opening_loc: (14,6)-(14,7) = "|"
+ │ │ └── closing_loc: (14,12)-(14,13) = "|"
+ │ ├── body:
+ │ │ @ StatementsNode (location: (15,2)-(15,5))
+ │ │ └── body: (length: 1)
+ │ │ └── @ NilNode (location: (15,2)-(15,5))
+ │ ├── opening_loc: (14,4)-(14,5) = "{"
+ │ └── closing_loc: (16,0)-(16,1) = "}"
├── @ CallNode (location: (17,0)-(19,1))
+ │ ├── flags: ∅
│ ├── receiver: ∅
│ ├── call_operator_loc: ∅
│ ├── name: :foo
@@ -226,38 +227,38 @@
│ ├── opening_loc: ∅
│ ├── arguments: ∅
│ ├── closing_loc: ∅
- │ ├── block:
- │ │ @ BlockNode (location: (17,4)-(19,1))
- │ │ ├── locals: [:a]
- │ │ ├── locals_body_index: 1
- │ │ ├── parameters:
- │ │ │ @ BlockParametersNode (location: (17,6)-(17,12))
- │ │ │ ├── parameters:
- │ │ │ │ @ ParametersNode (location: (17,7)-(17,11))
- │ │ │ │ ├── requireds: (length: 1)
- │ │ │ │ │ └── @ RequiredParameterNode (location: (17,7)-(17,8))
- │ │ │ │ │ └── name: :a
- │ │ │ │ ├── optionals: (length: 0)
- │ │ │ │ ├── rest:
- │ │ │ │ │ @ RestParameterNode (location: (17,10)-(17,11))
- │ │ │ │ │ ├── name: ∅
- │ │ │ │ │ ├── name_loc: ∅
- │ │ │ │ │ └── operator_loc: (17,10)-(17,11) = "*"
- │ │ │ │ ├── posts: (length: 0)
- │ │ │ │ ├── keywords: (length: 0)
- │ │ │ │ ├── keyword_rest: ∅
- │ │ │ │ └── block: ∅
- │ │ │ ├── locals: (length: 0)
- │ │ │ ├── opening_loc: (17,6)-(17,7) = "|"
- │ │ │ └── closing_loc: (17,11)-(17,12) = "|"
- │ │ ├── body:
- │ │ │ @ StatementsNode (location: (18,2)-(18,5))
- │ │ │ └── body: (length: 1)
- │ │ │ └── @ NilNode (location: (18,2)-(18,5))
- │ │ ├── opening_loc: (17,4)-(17,5) = "{"
- │ │ └── closing_loc: (19,0)-(19,1) = "}"
- │ └── flags: ∅
+ │ └── block:
+ │ @ BlockNode (location: (17,4)-(19,1))
+ │ ├── locals: [:a]
+ │ ├── locals_body_index: 1
+ │ ├── parameters:
+ │ │ @ BlockParametersNode (location: (17,6)-(17,12))
+ │ │ ├── parameters:
+ │ │ │ @ ParametersNode (location: (17,7)-(17,11))
+ │ │ │ ├── requireds: (length: 1)
+ │ │ │ │ └── @ RequiredParameterNode (location: (17,7)-(17,8))
+ │ │ │ │ └── name: :a
+ │ │ │ ├── optionals: (length: 0)
+ │ │ │ ├── rest:
+ │ │ │ │ @ RestParameterNode (location: (17,10)-(17,11))
+ │ │ │ │ ├── name: ∅
+ │ │ │ │ ├── name_loc: ∅
+ │ │ │ │ └── operator_loc: (17,10)-(17,11) = "*"
+ │ │ │ ├── posts: (length: 0)
+ │ │ │ ├── keywords: (length: 0)
+ │ │ │ ├── keyword_rest: ∅
+ │ │ │ └── block: ∅
+ │ │ ├── locals: (length: 0)
+ │ │ ├── opening_loc: (17,6)-(17,7) = "|"
+ │ │ └── closing_loc: (17,11)-(17,12) = "|"
+ │ ├── body:
+ │ │ @ StatementsNode (location: (18,2)-(18,5))
+ │ │ └── body: (length: 1)
+ │ │ └── @ NilNode (location: (18,2)-(18,5))
+ │ ├── opening_loc: (17,4)-(17,5) = "{"
+ │ └── closing_loc: (19,0)-(19,1) = "}"
├── @ CallNode (location: (20,0)-(22,1))
+ │ ├── flags: ∅
│ ├── receiver: ∅
│ ├── call_operator_loc: ∅
│ ├── name: :foo
@@ -265,30 +266,31 @@
│ ├── opening_loc: ∅
│ ├── arguments: ∅
│ ├── closing_loc: ∅
- │ ├── block:
- │ │ @ BlockNode (location: (20,4)-(22,1))
- │ │ ├── locals: []
- │ │ ├── locals_body_index: 0
- │ │ ├── parameters: ∅
- │ │ ├── body:
- │ │ │ @ StatementsNode (location: (21,2)-(21,5))
- │ │ │ └── body: (length: 1)
- │ │ │ └── @ CallNode (location: (21,2)-(21,5))
- │ │ │ ├── receiver: ∅
- │ │ │ ├── call_operator_loc: ∅
- │ │ │ ├── name: :bar
- │ │ │ ├── message_loc: (21,2)-(21,5) = "bar"
- │ │ │ ├── opening_loc: ∅
- │ │ │ ├── arguments: ∅
- │ │ │ ├── closing_loc: ∅
- │ │ │ ├── block: ∅
- │ │ │ └── flags: variable_call
- │ │ ├── opening_loc: (20,4)-(20,5) = "{"
- │ │ └── closing_loc: (22,0)-(22,1) = "}"
- │ └── flags: ∅
+ │ └── block:
+ │ @ BlockNode (location: (20,4)-(22,1))
+ │ ├── locals: []
+ │ ├── locals_body_index: 0
+ │ ├── parameters: ∅
+ │ ├── body:
+ │ │ @ StatementsNode (location: (21,2)-(21,5))
+ │ │ └── body: (length: 1)
+ │ │ └── @ CallNode (location: (21,2)-(21,5))
+ │ │ ├── flags: variable_call
+ │ │ ├── receiver: ∅
+ │ │ ├── call_operator_loc: ∅
+ │ │ ├── name: :bar
+ │ │ ├── message_loc: (21,2)-(21,5) = "bar"
+ │ │ ├── opening_loc: ∅
+ │ │ ├── arguments: ∅
+ │ │ ├── closing_loc: ∅
+ │ │ └── block: ∅
+ │ ├── opening_loc: (20,4)-(20,5) = "{"
+ │ └── closing_loc: (22,0)-(22,1) = "}"
├── @ CallNode (location: (23,0)-(25,1))
+ │ ├── flags: ∅
│ ├── receiver:
│ │ @ CallNode (location: (23,0)-(23,3))
+ │ │ ├── flags: variable_call
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
│ │ ├── name: :foo
@@ -296,63 +298,63 @@
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
- │ │ ├── block: ∅
- │ │ └── flags: variable_call
+ │ │ └── block: ∅
│ ├── call_operator_loc: (23,3)-(23,4) = "."
│ ├── name: :bar
│ ├── message_loc: (23,4)-(23,7) = "bar"
│ ├── opening_loc: ∅
│ ├── arguments: ∅
│ ├── closing_loc: ∅
- │ ├── block:
- │ │ @ BlockNode (location: (23,8)-(25,1))
- │ │ ├── locals: [:a, :b, :c]
- │ │ ├── locals_body_index: 3
- │ │ ├── parameters:
- │ │ │ @ BlockParametersNode (location: (23,10)-(23,21))
- │ │ │ ├── parameters:
- │ │ │ │ @ ParametersNode (location: (23,11)-(23,20))
- │ │ │ │ ├── requireds: (length: 2)
- │ │ │ │ │ ├── @ MultiTargetNode (location: (23,11)-(23,17))
- │ │ │ │ │ │ ├── lefts: (length: 2)
- │ │ │ │ │ │ │ ├── @ RequiredParameterNode (location: (23,12)-(23,13))
- │ │ │ │ │ │ │ │ └── name: :a
- │ │ │ │ │ │ │ └── @ RequiredParameterNode (location: (23,15)-(23,16))
- │ │ │ │ │ │ │ └── name: :b
- │ │ │ │ │ │ ├── rest: ∅
- │ │ │ │ │ │ ├── rights: (length: 0)
- │ │ │ │ │ │ ├── lparen_loc: (23,11)-(23,12) = "("
- │ │ │ │ │ │ └── rparen_loc: (23,16)-(23,17) = ")"
- │ │ │ │ │ └── @ RequiredParameterNode (location: (23,19)-(23,20))
- │ │ │ │ │ └── name: :c
- │ │ │ │ ├── optionals: (length: 0)
- │ │ │ │ ├── rest: ∅
- │ │ │ │ ├── posts: (length: 0)
- │ │ │ │ ├── keywords: (length: 0)
- │ │ │ │ ├── keyword_rest: ∅
- │ │ │ │ └── block: ∅
- │ │ │ ├── locals: (length: 0)
- │ │ │ ├── opening_loc: (23,10)-(23,11) = "|"
- │ │ │ └── closing_loc: (23,20)-(23,21) = "|"
- │ │ ├── body:
- │ │ │ @ StatementsNode (location: (24,2)-(24,3))
- │ │ │ └── body: (length: 1)
- │ │ │ └── @ CallNode (location: (24,2)-(24,3))
- │ │ │ ├── receiver: ∅
- │ │ │ ├── call_operator_loc: ∅
- │ │ │ ├── name: :d
- │ │ │ ├── message_loc: (24,2)-(24,3) = "d"
- │ │ │ ├── opening_loc: ∅
- │ │ │ ├── arguments: ∅
- │ │ │ ├── closing_loc: ∅
- │ │ │ ├── block: ∅
- │ │ │ └── flags: variable_call
- │ │ ├── opening_loc: (23,8)-(23,9) = "{"
- │ │ └── closing_loc: (25,0)-(25,1) = "}"
- │ └── flags: ∅
+ │ └── block:
+ │ @ BlockNode (location: (23,8)-(25,1))
+ │ ├── locals: [:a, :b, :c]
+ │ ├── locals_body_index: 3
+ │ ├── parameters:
+ │ │ @ BlockParametersNode (location: (23,10)-(23,21))
+ │ │ ├── parameters:
+ │ │ │ @ ParametersNode (location: (23,11)-(23,20))
+ │ │ │ ├── requireds: (length: 2)
+ │ │ │ │ ├── @ MultiTargetNode (location: (23,11)-(23,17))
+ │ │ │ │ │ ├── lefts: (length: 2)
+ │ │ │ │ │ │ ├── @ RequiredParameterNode (location: (23,12)-(23,13))
+ │ │ │ │ │ │ │ └── name: :a
+ │ │ │ │ │ │ └── @ RequiredParameterNode (location: (23,15)-(23,16))
+ │ │ │ │ │ │ └── name: :b
+ │ │ │ │ │ ├── rest: ∅
+ │ │ │ │ │ ├── rights: (length: 0)
+ │ │ │ │ │ ├── lparen_loc: (23,11)-(23,12) = "("
+ │ │ │ │ │ └── rparen_loc: (23,16)-(23,17) = ")"
+ │ │ │ │ └── @ RequiredParameterNode (location: (23,19)-(23,20))
+ │ │ │ │ └── name: :c
+ │ │ │ ├── optionals: (length: 0)
+ │ │ │ ├── rest: ∅
+ │ │ │ ├── posts: (length: 0)
+ │ │ │ ├── keywords: (length: 0)
+ │ │ │ ├── keyword_rest: ∅
+ │ │ │ └── block: ∅
+ │ │ ├── locals: (length: 0)
+ │ │ ├── opening_loc: (23,10)-(23,11) = "|"
+ │ │ └── closing_loc: (23,20)-(23,21) = "|"
+ │ ├── body:
+ │ │ @ StatementsNode (location: (24,2)-(24,3))
+ │ │ └── body: (length: 1)
+ │ │ └── @ CallNode (location: (24,2)-(24,3))
+ │ │ ├── flags: variable_call
+ │ │ ├── receiver: ∅
+ │ │ ├── call_operator_loc: ∅
+ │ │ ├── name: :d
+ │ │ ├── message_loc: (24,2)-(24,3) = "d"
+ │ │ ├── opening_loc: ∅
+ │ │ ├── arguments: ∅
+ │ │ ├── closing_loc: ∅
+ │ │ └── block: ∅
+ │ ├── opening_loc: (23,8)-(23,9) = "{"
+ │ └── closing_loc: (25,0)-(25,1) = "}"
├── @ CallNode (location: (26,0)-(27,1))
+ │ ├── flags: ∅
│ ├── receiver:
│ │ @ CallNode (location: (26,0)-(26,3))
+ │ │ ├── flags: variable_call
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
│ │ ├── name: :foo
@@ -360,45 +362,45 @@
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
- │ │ ├── block: ∅
- │ │ └── flags: variable_call
+ │ │ └── block: ∅
│ ├── call_operator_loc: (26,3)-(26,4) = "."
│ ├── name: :bar
│ ├── message_loc: (26,4)-(26,7) = "bar"
│ ├── opening_loc: ∅
│ ├── arguments: ∅
│ ├── closing_loc: ∅
- │ ├── block:
- │ │ @ BlockNode (location: (26,8)-(27,1))
- │ │ ├── locals: [:a, :b]
- │ │ ├── locals_body_index: 2
- │ │ ├── parameters:
- │ │ │ @ BlockParametersNode (location: (26,10)-(26,17))
- │ │ │ ├── parameters:
- │ │ │ │ @ ParametersNode (location: (26,11)-(26,13))
- │ │ │ │ ├── requireds: (length: 0)
- │ │ │ │ ├── optionals: (length: 0)
- │ │ │ │ ├── rest:
- │ │ │ │ │ @ RestParameterNode (location: (26,11)-(26,13))
- │ │ │ │ │ ├── name: :a
- │ │ │ │ │ ├── name_loc: (26,12)-(26,13) = "a"
- │ │ │ │ │ └── operator_loc: (26,11)-(26,12) = "*"
- │ │ │ │ ├── posts: (length: 0)
- │ │ │ │ ├── keywords: (length: 0)
- │ │ │ │ ├── keyword_rest: ∅
- │ │ │ │ └── block: ∅
- │ │ │ ├── locals: (length: 1)
- │ │ │ │ └── @ BlockLocalVariableNode (location: (26,15)-(26,16))
- │ │ │ │ └── name: :b
- │ │ │ ├── opening_loc: (26,10)-(26,11) = "|"
- │ │ │ └── closing_loc: (26,16)-(26,17) = "|"
- │ │ ├── body: ∅
- │ │ ├── opening_loc: (26,8)-(26,9) = "{"
- │ │ └── closing_loc: (27,0)-(27,1) = "}"
- │ └── flags: ∅
+ │ └── block:
+ │ @ BlockNode (location: (26,8)-(27,1))
+ │ ├── locals: [:a, :b]
+ │ ├── locals_body_index: 2
+ │ ├── parameters:
+ │ │ @ BlockParametersNode (location: (26,10)-(26,17))
+ │ │ ├── parameters:
+ │ │ │ @ ParametersNode (location: (26,11)-(26,13))
+ │ │ │ ├── requireds: (length: 0)
+ │ │ │ ├── optionals: (length: 0)
+ │ │ │ ├── rest:
+ │ │ │ │ @ RestParameterNode (location: (26,11)-(26,13))
+ │ │ │ │ ├── name: :a
+ │ │ │ │ ├── name_loc: (26,12)-(26,13) = "a"
+ │ │ │ │ └── operator_loc: (26,11)-(26,12) = "*"
+ │ │ │ ├── posts: (length: 0)
+ │ │ │ ├── keywords: (length: 0)
+ │ │ │ ├── keyword_rest: ∅
+ │ │ │ └── block: ∅
+ │ │ ├── locals: (length: 1)
+ │ │ │ └── @ BlockLocalVariableNode (location: (26,15)-(26,16))
+ │ │ │ └── name: :b
+ │ │ ├── opening_loc: (26,10)-(26,11) = "|"
+ │ │ └── closing_loc: (26,16)-(26,17) = "|"
+ │ ├── body: ∅
+ │ ├── opening_loc: (26,8)-(26,9) = "{"
+ │ └── closing_loc: (27,0)-(27,1) = "}"
├── @ CallNode (location: (28,0)-(29,1))
+ │ ├── flags: ∅
│ ├── receiver:
│ │ @ CallNode (location: (28,0)-(28,3))
+ │ │ ├── flags: variable_call
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
│ │ ├── name: :foo
@@ -406,43 +408,43 @@
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
- │ │ ├── block: ∅
- │ │ └── flags: variable_call
+ │ │ └── block: ∅
│ ├── call_operator_loc: (28,3)-(28,4) = "."
│ ├── name: :bar
│ ├── message_loc: (28,4)-(28,7) = "bar"
│ ├── opening_loc: ∅
│ ├── arguments: ∅
│ ├── closing_loc: ∅
- │ ├── block:
- │ │ @ BlockNode (location: (28,8)-(29,1))
- │ │ ├── locals: [:a, :b]
- │ │ ├── locals_body_index: 2
- │ │ ├── parameters:
- │ │ │ @ BlockParametersNode (location: (28,10)-(28,16))
- │ │ │ ├── parameters:
- │ │ │ │ @ ParametersNode (location: (28,11)-(28,12))
- │ │ │ │ ├── requireds: (length: 1)
- │ │ │ │ │ └── @ RequiredParameterNode (location: (28,11)-(28,12))
- │ │ │ │ │ └── name: :a
- │ │ │ │ ├── optionals: (length: 0)
- │ │ │ │ ├── rest: ∅
- │ │ │ │ ├── posts: (length: 0)
- │ │ │ │ ├── keywords: (length: 0)
- │ │ │ │ ├── keyword_rest: ∅
- │ │ │ │ └── block: ∅
- │ │ │ ├── locals: (length: 1)
- │ │ │ │ └── @ BlockLocalVariableNode (location: (28,14)-(28,15))
- │ │ │ │ └── name: :b
- │ │ │ ├── opening_loc: (28,10)-(28,11) = "|"
- │ │ │ └── closing_loc: (28,15)-(28,16) = "|"
- │ │ ├── body: ∅
- │ │ ├── opening_loc: (28,8)-(28,9) = "{"
- │ │ └── closing_loc: (29,0)-(29,1) = "}"
- │ └── flags: ∅
+ │ └── block:
+ │ @ BlockNode (location: (28,8)-(29,1))
+ │ ├── locals: [:a, :b]
+ │ ├── locals_body_index: 2
+ │ ├── parameters:
+ │ │ @ BlockParametersNode (location: (28,10)-(28,16))
+ │ │ ├── parameters:
+ │ │ │ @ ParametersNode (location: (28,11)-(28,12))
+ │ │ │ ├── requireds: (length: 1)
+ │ │ │ │ └── @ RequiredParameterNode (location: (28,11)-(28,12))
+ │ │ │ │ └── name: :a
+ │ │ │ ├── optionals: (length: 0)
+ │ │ │ ├── rest: ∅
+ │ │ │ ├── posts: (length: 0)
+ │ │ │ ├── keywords: (length: 0)
+ │ │ │ ├── keyword_rest: ∅
+ │ │ │ └── block: ∅
+ │ │ ├── locals: (length: 1)
+ │ │ │ └── @ BlockLocalVariableNode (location: (28,14)-(28,15))
+ │ │ │ └── name: :b
+ │ │ ├── opening_loc: (28,10)-(28,11) = "|"
+ │ │ └── closing_loc: (28,15)-(28,16) = "|"
+ │ ├── body: ∅
+ │ ├── opening_loc: (28,8)-(28,9) = "{"
+ │ └── closing_loc: (29,0)-(29,1) = "}"
├── @ CallNode (location: (30,0)-(31,1))
+ │ ├── flags: ∅
│ ├── receiver:
│ │ @ CallNode (location: (30,0)-(30,3))
+ │ │ ├── flags: variable_call
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
│ │ ├── name: :foo
@@ -450,35 +452,35 @@
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
- │ │ ├── block: ∅
- │ │ └── flags: variable_call
+ │ │ └── block: ∅
│ ├── call_operator_loc: (30,3)-(30,4) = "."
│ ├── name: :bar
│ ├── message_loc: (30,4)-(30,7) = "bar"
│ ├── opening_loc: ∅
│ ├── arguments: ∅
│ ├── closing_loc: ∅
- │ ├── block:
- │ │ @ BlockNode (location: (30,8)-(31,1))
- │ │ ├── locals: [:a, :b]
- │ │ ├── locals_body_index: 2
- │ │ ├── parameters:
- │ │ │ @ BlockParametersNode (location: (30,10)-(30,18))
- │ │ │ ├── parameters: ∅
- │ │ │ ├── locals: (length: 2)
- │ │ │ │ ├── @ BlockLocalVariableNode (location: (30,13)-(30,14))
- │ │ │ │ │ └── name: :a
- │ │ │ │ └── @ BlockLocalVariableNode (location: (30,16)-(30,17))
- │ │ │ │ └── name: :b
- │ │ │ ├── opening_loc: (30,10)-(30,11) = "|"
- │ │ │ └── closing_loc: (30,17)-(30,18) = "|"
- │ │ ├── body: ∅
- │ │ ├── opening_loc: (30,8)-(30,9) = "{"
- │ │ └── closing_loc: (31,0)-(31,1) = "}"
- │ └── flags: ∅
+ │ └── block:
+ │ @ BlockNode (location: (30,8)-(31,1))
+ │ ├── locals: [:a, :b]
+ │ ├── locals_body_index: 2
+ │ ├── parameters:
+ │ │ @ BlockParametersNode (location: (30,10)-(30,18))
+ │ │ ├── parameters: ∅
+ │ │ ├── locals: (length: 2)
+ │ │ │ ├── @ BlockLocalVariableNode (location: (30,13)-(30,14))
+ │ │ │ │ └── name: :a
+ │ │ │ └── @ BlockLocalVariableNode (location: (30,16)-(30,17))
+ │ │ │ └── name: :b
+ │ │ ├── opening_loc: (30,10)-(30,11) = "|"
+ │ │ └── closing_loc: (30,17)-(30,18) = "|"
+ │ ├── body: ∅
+ │ ├── opening_loc: (30,8)-(30,9) = "{"
+ │ └── closing_loc: (31,0)-(31,1) = "}"
├── @ CallNode (location: (32,0)-(34,1))
+ │ ├── flags: ∅
│ ├── receiver:
│ │ @ CallNode (location: (32,0)-(32,3))
+ │ │ ├── flags: variable_call
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
│ │ ├── name: :foo
@@ -486,55 +488,55 @@
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
- │ │ ├── block: ∅
- │ │ └── flags: variable_call
+ │ │ └── block: ∅
│ ├── call_operator_loc: (32,3)-(32,4) = "."
│ ├── name: :bar
│ ├── message_loc: (32,4)-(32,7) = "bar"
│ ├── opening_loc: ∅
│ ├── arguments: ∅
│ ├── closing_loc: ∅
- │ ├── block:
- │ │ @ BlockNode (location: (32,8)-(34,1))
- │ │ ├── locals: []
- │ │ ├── locals_body_index: 0
- │ │ ├── parameters:
- │ │ │ @ BlockParametersNode (location: (32,10)-(32,13))
- │ │ │ ├── parameters:
- │ │ │ │ @ ParametersNode (location: (32,11)-(32,12))
- │ │ │ │ ├── requireds: (length: 0)
- │ │ │ │ ├── optionals: (length: 0)
- │ │ │ │ ├── rest:
- │ │ │ │ │ @ RestParameterNode (location: (32,11)-(32,12))
- │ │ │ │ │ ├── name: ∅
- │ │ │ │ │ ├── name_loc: ∅
- │ │ │ │ │ └── operator_loc: (32,11)-(32,12) = "*"
- │ │ │ │ ├── posts: (length: 0)
- │ │ │ │ ├── keywords: (length: 0)
- │ │ │ │ ├── keyword_rest: ∅
- │ │ │ │ └── block: ∅
- │ │ │ ├── locals: (length: 0)
- │ │ │ ├── opening_loc: (32,10)-(32,11) = "|"
- │ │ │ └── closing_loc: (32,12)-(32,13) = "|"
- │ │ ├── body:
- │ │ │ @ StatementsNode (location: (33,2)-(33,3))
- │ │ │ └── body: (length: 1)
- │ │ │ └── @ CallNode (location: (33,2)-(33,3))
- │ │ │ ├── receiver: ∅
- │ │ │ ├── call_operator_loc: ∅
- │ │ │ ├── name: :d
- │ │ │ ├── message_loc: (33,2)-(33,3) = "d"
- │ │ │ ├── opening_loc: ∅
- │ │ │ ├── arguments: ∅
- │ │ │ ├── closing_loc: ∅
- │ │ │ ├── block: ∅
- │ │ │ └── flags: variable_call
- │ │ ├── opening_loc: (32,8)-(32,9) = "{"
- │ │ └── closing_loc: (34,0)-(34,1) = "}"
- │ └── flags: ∅
+ │ └── block:
+ │ @ BlockNode (location: (32,8)-(34,1))
+ │ ├── locals: []
+ │ ├── locals_body_index: 0
+ │ ├── parameters:
+ │ │ @ BlockParametersNode (location: (32,10)-(32,13))
+ │ │ ├── parameters:
+ │ │ │ @ ParametersNode (location: (32,11)-(32,12))
+ │ │ │ ├── requireds: (length: 0)
+ │ │ │ ├── optionals: (length: 0)
+ │ │ │ ├── rest:
+ │ │ │ │ @ RestParameterNode (location: (32,11)-(32,12))
+ │ │ │ │ ├── name: ∅
+ │ │ │ │ ├── name_loc: ∅
+ │ │ │ │ └── operator_loc: (32,11)-(32,12) = "*"
+ │ │ │ ├── posts: (length: 0)
+ │ │ │ ├── keywords: (length: 0)
+ │ │ │ ├── keyword_rest: ∅
+ │ │ │ └── block: ∅
+ │ │ ├── locals: (length: 0)
+ │ │ ├── opening_loc: (32,10)-(32,11) = "|"
+ │ │ └── closing_loc: (32,12)-(32,13) = "|"
+ │ ├── body:
+ │ │ @ StatementsNode (location: (33,2)-(33,3))
+ │ │ └── body: (length: 1)
+ │ │ └── @ CallNode (location: (33,2)-(33,3))
+ │ │ ├── flags: variable_call
+ │ │ ├── receiver: ∅
+ │ │ ├── call_operator_loc: ∅
+ │ │ ├── name: :d
+ │ │ ├── message_loc: (33,2)-(33,3) = "d"
+ │ │ ├── opening_loc: ∅
+ │ │ ├── arguments: ∅
+ │ │ ├── closing_loc: ∅
+ │ │ └── block: ∅
+ │ ├── opening_loc: (32,8)-(32,9) = "{"
+ │ └── closing_loc: (34,0)-(34,1) = "}"
├── @ CallNode (location: (35,0)-(37,1))
+ │ ├── flags: ∅
│ ├── receiver:
│ │ @ CallNode (location: (35,0)-(35,3))
+ │ │ ├── flags: variable_call
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
│ │ ├── name: :foo
@@ -542,60 +544,60 @@
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
- │ │ ├── block: ∅
- │ │ └── flags: variable_call
+ │ │ └── block: ∅
│ ├── call_operator_loc: (35,3)-(35,4) = "."
│ ├── name: :bar
│ ├── message_loc: (35,4)-(35,7) = "bar"
│ ├── opening_loc: ∅
│ ├── arguments: ∅
│ ├── closing_loc: ∅
- │ ├── block:
- │ │ @ BlockNode (location: (35,8)-(37,1))
- │ │ ├── locals: []
- │ │ ├── locals_body_index: 0
- │ │ ├── parameters:
- │ │ │ @ BlockParametersNode (location: (35,10)-(35,15))
- │ │ │ ├── parameters:
- │ │ │ │ @ ParametersNode (location: (35,11)-(35,14))
- │ │ │ │ ├── requireds: (length: 1)
- │ │ │ │ │ └── @ MultiTargetNode (location: (35,11)-(35,14))
- │ │ │ │ │ ├── lefts: (length: 0)
- │ │ │ │ │ ├── rest:
- │ │ │ │ │ │ @ SplatNode (location: (35,12)-(35,13))
- │ │ │ │ │ │ ├── operator_loc: (35,12)-(35,13) = "*"
- │ │ │ │ │ │ └── expression: ∅
- │ │ │ │ │ ├── rights: (length: 0)
- │ │ │ │ │ ├── lparen_loc: (35,11)-(35,12) = "("
- │ │ │ │ │ └── rparen_loc: (35,13)-(35,14) = ")"
- │ │ │ │ ├── optionals: (length: 0)
- │ │ │ │ ├── rest: ∅
- │ │ │ │ ├── posts: (length: 0)
- │ │ │ │ ├── keywords: (length: 0)
- │ │ │ │ ├── keyword_rest: ∅
- │ │ │ │ └── block: ∅
- │ │ │ ├── locals: (length: 0)
- │ │ │ ├── opening_loc: (35,10)-(35,11) = "|"
- │ │ │ └── closing_loc: (35,14)-(35,15) = "|"
- │ │ ├── body:
- │ │ │ @ StatementsNode (location: (36,2)-(36,3))
- │ │ │ └── body: (length: 1)
- │ │ │ └── @ CallNode (location: (36,2)-(36,3))
- │ │ │ ├── receiver: ∅
- │ │ │ ├── call_operator_loc: ∅
- │ │ │ ├── name: :d
- │ │ │ ├── message_loc: (36,2)-(36,3) = "d"
- │ │ │ ├── opening_loc: ∅
- │ │ │ ├── arguments: ∅
- │ │ │ ├── closing_loc: ∅
- │ │ │ ├── block: ∅
- │ │ │ └── flags: variable_call
- │ │ ├── opening_loc: (35,8)-(35,9) = "{"
- │ │ └── closing_loc: (37,0)-(37,1) = "}"
- │ └── flags: ∅
+ │ └── block:
+ │ @ BlockNode (location: (35,8)-(37,1))
+ │ ├── locals: []
+ │ ├── locals_body_index: 0
+ │ ├── parameters:
+ │ │ @ BlockParametersNode (location: (35,10)-(35,15))
+ │ │ ├── parameters:
+ │ │ │ @ ParametersNode (location: (35,11)-(35,14))
+ │ │ │ ├── requireds: (length: 1)
+ │ │ │ │ └── @ MultiTargetNode (location: (35,11)-(35,14))
+ │ │ │ │ ├── lefts: (length: 0)
+ │ │ │ │ ├── rest:
+ │ │ │ │ │ @ SplatNode (location: (35,12)-(35,13))
+ │ │ │ │ │ ├── operator_loc: (35,12)-(35,13) = "*"
+ │ │ │ │ │ └── expression: ∅
+ │ │ │ │ ├── rights: (length: 0)
+ │ │ │ │ ├── lparen_loc: (35,11)-(35,12) = "("
+ │ │ │ │ └── rparen_loc: (35,13)-(35,14) = ")"
+ │ │ │ ├── optionals: (length: 0)
+ │ │ │ ├── rest: ∅
+ │ │ │ ├── posts: (length: 0)
+ │ │ │ ├── keywords: (length: 0)
+ │ │ │ ├── keyword_rest: ∅
+ │ │ │ └── block: ∅
+ │ │ ├── locals: (length: 0)
+ │ │ ├── opening_loc: (35,10)-(35,11) = "|"
+ │ │ └── closing_loc: (35,14)-(35,15) = "|"
+ │ ├── body:
+ │ │ @ StatementsNode (location: (36,2)-(36,3))
+ │ │ └── body: (length: 1)
+ │ │ └── @ CallNode (location: (36,2)-(36,3))
+ │ │ ├── flags: variable_call
+ │ │ ├── receiver: ∅
+ │ │ ├── call_operator_loc: ∅
+ │ │ ├── name: :d
+ │ │ ├── message_loc: (36,2)-(36,3) = "d"
+ │ │ ├── opening_loc: ∅
+ │ │ ├── arguments: ∅
+ │ │ ├── closing_loc: ∅
+ │ │ └── block: ∅
+ │ ├── opening_loc: (35,8)-(35,9) = "{"
+ │ └── closing_loc: (37,0)-(37,1) = "}"
├── @ CallNode (location: (38,0)-(40,1))
+ │ ├── flags: ∅
│ ├── receiver:
│ │ @ CallNode (location: (38,0)-(38,3))
+ │ │ ├── flags: variable_call
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
│ │ ├── name: :foo
@@ -603,66 +605,66 @@
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
- │ │ ├── block: ∅
- │ │ └── flags: variable_call
+ │ │ └── block: ∅
│ ├── call_operator_loc: (38,3)-(38,4) = "."
│ ├── name: :bar
│ ├── message_loc: (38,4)-(38,7) = "bar"
│ ├── opening_loc: ∅
│ ├── arguments: ∅
│ ├── closing_loc: ∅
- │ ├── block:
- │ │ @ BlockNode (location: (38,8)-(40,1))
- │ │ ├── locals: []
- │ │ ├── locals_body_index: 0
- │ │ ├── parameters:
- │ │ │ @ BlockParametersNode (location: (38,10)-(38,17))
- │ │ │ ├── parameters:
- │ │ │ │ @ ParametersNode (location: (38,11)-(38,16))
- │ │ │ │ ├── requireds: (length: 1)
- │ │ │ │ │ └── @ MultiTargetNode (location: (38,11)-(38,16))
- │ │ │ │ │ ├── lefts: (length: 1)
- │ │ │ │ │ │ └── @ MultiTargetNode (location: (38,12)-(38,15))
- │ │ │ │ │ │ ├── lefts: (length: 0)
- │ │ │ │ │ │ ├── rest:
- │ │ │ │ │ │ │ @ SplatNode (location: (38,13)-(38,14))
- │ │ │ │ │ │ │ ├── operator_loc: (38,13)-(38,14) = "*"
- │ │ │ │ │ │ │ └── expression: ∅
- │ │ │ │ │ │ ├── rights: (length: 0)
- │ │ │ │ │ │ ├── lparen_loc: (38,12)-(38,13) = "("
- │ │ │ │ │ │ └── rparen_loc: (38,14)-(38,15) = ")"
- │ │ │ │ │ ├── rest: ∅
- │ │ │ │ │ ├── rights: (length: 0)
- │ │ │ │ │ ├── lparen_loc: (38,11)-(38,12) = "("
- │ │ │ │ │ └── rparen_loc: (38,15)-(38,16) = ")"
- │ │ │ │ ├── optionals: (length: 0)
- │ │ │ │ ├── rest: ∅
- │ │ │ │ ├── posts: (length: 0)
- │ │ │ │ ├── keywords: (length: 0)
- │ │ │ │ ├── keyword_rest: ∅
- │ │ │ │ └── block: ∅
- │ │ │ ├── locals: (length: 0)
- │ │ │ ├── opening_loc: (38,10)-(38,11) = "|"
- │ │ │ └── closing_loc: (38,16)-(38,17) = "|"
- │ │ ├── body:
- │ │ │ @ StatementsNode (location: (39,2)-(39,3))
- │ │ │ └── body: (length: 1)
- │ │ │ └── @ CallNode (location: (39,2)-(39,3))
- │ │ │ ├── receiver: ∅
- │ │ │ ├── call_operator_loc: ∅
- │ │ │ ├── name: :d
- │ │ │ ├── message_loc: (39,2)-(39,3) = "d"
- │ │ │ ├── opening_loc: ∅
- │ │ │ ├── arguments: ∅
- │ │ │ ├── closing_loc: ∅
- │ │ │ ├── block: ∅
- │ │ │ └── flags: variable_call
- │ │ ├── opening_loc: (38,8)-(38,9) = "{"
- │ │ └── closing_loc: (40,0)-(40,1) = "}"
- │ └── flags: ∅
+ │ └── block:
+ │ @ BlockNode (location: (38,8)-(40,1))
+ │ ├── locals: []
+ │ ├── locals_body_index: 0
+ │ ├── parameters:
+ │ │ @ BlockParametersNode (location: (38,10)-(38,17))
+ │ │ ├── parameters:
+ │ │ │ @ ParametersNode (location: (38,11)-(38,16))
+ │ │ │ ├── requireds: (length: 1)
+ │ │ │ │ └── @ MultiTargetNode (location: (38,11)-(38,16))
+ │ │ │ │ ├── lefts: (length: 1)
+ │ │ │ │ │ └── @ MultiTargetNode (location: (38,12)-(38,15))
+ │ │ │ │ │ ├── lefts: (length: 0)
+ │ │ │ │ │ ├── rest:
+ │ │ │ │ │ │ @ SplatNode (location: (38,13)-(38,14))
+ │ │ │ │ │ │ ├── operator_loc: (38,13)-(38,14) = "*"
+ │ │ │ │ │ │ └── expression: ∅
+ │ │ │ │ │ ├── rights: (length: 0)
+ │ │ │ │ │ ├── lparen_loc: (38,12)-(38,13) = "("
+ │ │ │ │ │ └── rparen_loc: (38,14)-(38,15) = ")"
+ │ │ │ │ ├── rest: ∅
+ │ │ │ │ ├── rights: (length: 0)
+ │ │ │ │ ├── lparen_loc: (38,11)-(38,12) = "("
+ │ │ │ │ └── rparen_loc: (38,15)-(38,16) = ")"
+ │ │ │ ├── optionals: (length: 0)
+ │ │ │ ├── rest: ∅
+ │ │ │ ├── posts: (length: 0)
+ │ │ │ ├── keywords: (length: 0)
+ │ │ │ ├── keyword_rest: ∅
+ │ │ │ └── block: ∅
+ │ │ ├── locals: (length: 0)
+ │ │ ├── opening_loc: (38,10)-(38,11) = "|"
+ │ │ └── closing_loc: (38,16)-(38,17) = "|"
+ │ ├── body:
+ │ │ @ StatementsNode (location: (39,2)-(39,3))
+ │ │ └── body: (length: 1)
+ │ │ └── @ CallNode (location: (39,2)-(39,3))
+ │ │ ├── flags: variable_call
+ │ │ ├── receiver: ∅
+ │ │ ├── call_operator_loc: ∅
+ │ │ ├── name: :d
+ │ │ ├── message_loc: (39,2)-(39,3) = "d"
+ │ │ ├── opening_loc: ∅
+ │ │ ├── arguments: ∅
+ │ │ ├── closing_loc: ∅
+ │ │ └── block: ∅
+ │ ├── opening_loc: (38,8)-(38,9) = "{"
+ │ └── closing_loc: (40,0)-(40,1) = "}"
├── @ CallNode (location: (41,0)-(43,1))
+ │ ├── flags: ∅
│ ├── receiver:
│ │ @ CallNode (location: (41,0)-(41,3))
+ │ │ ├── flags: variable_call
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
│ │ ├── name: :foo
@@ -670,68 +672,68 @@
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
- │ │ ├── block: ∅
- │ │ └── flags: variable_call
+ │ │ └── block: ∅
│ ├── call_operator_loc: (41,3)-(41,4) = "."
│ ├── name: :bar
│ ├── message_loc: (41,4)-(41,7) = "bar"
│ ├── opening_loc: ∅
│ ├── arguments: ∅
│ ├── closing_loc: ∅
- │ ├── block:
- │ │ @ BlockNode (location: (41,8)-(43,1))
- │ │ ├── locals: [:a]
- │ │ ├── locals_body_index: 1
- │ │ ├── parameters:
- │ │ │ @ BlockParametersNode (location: (41,10)-(41,20))
- │ │ │ ├── parameters:
- │ │ │ │ @ ParametersNode (location: (41,11)-(41,19))
- │ │ │ │ ├── requireds: (length: 1)
- │ │ │ │ │ └── @ MultiTargetNode (location: (41,11)-(41,19))
- │ │ │ │ │ ├── lefts: (length: 2)
- │ │ │ │ │ │ ├── @ RequiredParameterNode (location: (41,12)-(41,13))
- │ │ │ │ │ │ │ └── name: :a
- │ │ │ │ │ │ └── @ MultiTargetNode (location: (41,15)-(41,18))
- │ │ │ │ │ │ ├── lefts: (length: 0)
- │ │ │ │ │ │ ├── rest:
- │ │ │ │ │ │ │ @ SplatNode (location: (41,16)-(41,17))
- │ │ │ │ │ │ │ ├── operator_loc: (41,16)-(41,17) = "*"
- │ │ │ │ │ │ │ └── expression: ∅
- │ │ │ │ │ │ ├── rights: (length: 0)
- │ │ │ │ │ │ ├── lparen_loc: (41,15)-(41,16) = "("
- │ │ │ │ │ │ └── rparen_loc: (41,17)-(41,18) = ")"
- │ │ │ │ │ ├── rest: ∅
- │ │ │ │ │ ├── rights: (length: 0)
- │ │ │ │ │ ├── lparen_loc: (41,11)-(41,12) = "("
- │ │ │ │ │ └── rparen_loc: (41,18)-(41,19) = ")"
- │ │ │ │ ├── optionals: (length: 0)
- │ │ │ │ ├── rest: ∅
- │ │ │ │ ├── posts: (length: 0)
- │ │ │ │ ├── keywords: (length: 0)
- │ │ │ │ ├── keyword_rest: ∅
- │ │ │ │ └── block: ∅
- │ │ │ ├── locals: (length: 0)
- │ │ │ ├── opening_loc: (41,10)-(41,11) = "|"
- │ │ │ └── closing_loc: (41,19)-(41,20) = "|"
- │ │ ├── body:
- │ │ │ @ StatementsNode (location: (42,2)-(42,3))
- │ │ │ └── body: (length: 1)
- │ │ │ └── @ CallNode (location: (42,2)-(42,3))
- │ │ │ ├── receiver: ∅
- │ │ │ ├── call_operator_loc: ∅
- │ │ │ ├── name: :d
- │ │ │ ├── message_loc: (42,2)-(42,3) = "d"
- │ │ │ ├── opening_loc: ∅
- │ │ │ ├── arguments: ∅
- │ │ │ ├── closing_loc: ∅
- │ │ │ ├── block: ∅
- │ │ │ └── flags: variable_call
- │ │ ├── opening_loc: (41,8)-(41,9) = "{"
- │ │ └── closing_loc: (43,0)-(43,1) = "}"
- │ └── flags: ∅
+ │ └── block:
+ │ @ BlockNode (location: (41,8)-(43,1))
+ │ ├── locals: [:a]
+ │ ├── locals_body_index: 1
+ │ ├── parameters:
+ │ │ @ BlockParametersNode (location: (41,10)-(41,20))
+ │ │ ├── parameters:
+ │ │ │ @ ParametersNode (location: (41,11)-(41,19))
+ │ │ │ ├── requireds: (length: 1)
+ │ │ │ │ └── @ MultiTargetNode (location: (41,11)-(41,19))
+ │ │ │ │ ├── lefts: (length: 2)
+ │ │ │ │ │ ├── @ RequiredParameterNode (location: (41,12)-(41,13))
+ │ │ │ │ │ │ └── name: :a
+ │ │ │ │ │ └── @ MultiTargetNode (location: (41,15)-(41,18))
+ │ │ │ │ │ ├── lefts: (length: 0)
+ │ │ │ │ │ ├── rest:
+ │ │ │ │ │ │ @ SplatNode (location: (41,16)-(41,17))
+ │ │ │ │ │ │ ├── operator_loc: (41,16)-(41,17) = "*"
+ │ │ │ │ │ │ └── expression: ∅
+ │ │ │ │ │ ├── rights: (length: 0)
+ │ │ │ │ │ ├── lparen_loc: (41,15)-(41,16) = "("
+ │ │ │ │ │ └── rparen_loc: (41,17)-(41,18) = ")"
+ │ │ │ │ ├── rest: ∅
+ │ │ │ │ ├── rights: (length: 0)
+ │ │ │ │ ├── lparen_loc: (41,11)-(41,12) = "("
+ │ │ │ │ └── rparen_loc: (41,18)-(41,19) = ")"
+ │ │ │ ├── optionals: (length: 0)
+ │ │ │ ├── rest: ∅
+ │ │ │ ├── posts: (length: 0)
+ │ │ │ ├── keywords: (length: 0)
+ │ │ │ ├── keyword_rest: ∅
+ │ │ │ └── block: ∅
+ │ │ ├── locals: (length: 0)
+ │ │ ├── opening_loc: (41,10)-(41,11) = "|"
+ │ │ └── closing_loc: (41,19)-(41,20) = "|"
+ │ ├── body:
+ │ │ @ StatementsNode (location: (42,2)-(42,3))
+ │ │ └── body: (length: 1)
+ │ │ └── @ CallNode (location: (42,2)-(42,3))
+ │ │ ├── flags: variable_call
+ │ │ ├── receiver: ∅
+ │ │ ├── call_operator_loc: ∅
+ │ │ ├── name: :d
+ │ │ ├── message_loc: (42,2)-(42,3) = "d"
+ │ │ ├── opening_loc: ∅
+ │ │ ├── arguments: ∅
+ │ │ ├── closing_loc: ∅
+ │ │ └── block: ∅
+ │ ├── opening_loc: (41,8)-(41,9) = "{"
+ │ └── closing_loc: (43,0)-(43,1) = "}"
├── @ CallNode (location: (44,0)-(46,1))
+ │ ├── flags: ∅
│ ├── receiver:
│ │ @ CallNode (location: (44,0)-(44,3))
+ │ │ ├── flags: variable_call
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
│ │ ├── name: :foo
@@ -739,63 +741,64 @@
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
- │ │ ├── block: ∅
- │ │ └── flags: variable_call
+ │ │ └── block: ∅
│ ├── call_operator_loc: (44,3)-(44,4) = "."
│ ├── name: :bar
│ ├── message_loc: (44,4)-(44,7) = "bar"
│ ├── opening_loc: ∅
│ ├── arguments: ∅
│ ├── closing_loc: ∅
- │ ├── block:
- │ │ @ BlockNode (location: (44,8)-(46,1))
- │ │ ├── locals: [:a, :b]
- │ │ ├── locals_body_index: 2
- │ │ ├── parameters:
- │ │ │ @ BlockParametersNode (location: (44,10)-(44,18))
- │ │ │ ├── parameters:
- │ │ │ │ @ ParametersNode (location: (44,11)-(44,17))
- │ │ │ │ ├── requireds: (length: 1)
- │ │ │ │ │ └── @ MultiTargetNode (location: (44,11)-(44,17))
- │ │ │ │ │ ├── lefts: (length: 2)
- │ │ │ │ │ │ ├── @ RequiredParameterNode (location: (44,12)-(44,13))
- │ │ │ │ │ │ │ └── name: :a
- │ │ │ │ │ │ └── @ RequiredParameterNode (location: (44,15)-(44,16))
- │ │ │ │ │ │ └── name: :b
- │ │ │ │ │ ├── rest: ∅
- │ │ │ │ │ ├── rights: (length: 0)
- │ │ │ │ │ ├── lparen_loc: (44,11)-(44,12) = "("
- │ │ │ │ │ └── rparen_loc: (44,16)-(44,17) = ")"
- │ │ │ │ ├── optionals: (length: 0)
- │ │ │ │ ├── rest: ∅
- │ │ │ │ ├── posts: (length: 0)
- │ │ │ │ ├── keywords: (length: 0)
- │ │ │ │ ├── keyword_rest: ∅
- │ │ │ │ └── block: ∅
- │ │ │ ├── locals: (length: 0)
- │ │ │ ├── opening_loc: (44,10)-(44,11) = "|"
- │ │ │ └── closing_loc: (44,17)-(44,18) = "|"
- │ │ ├── body:
- │ │ │ @ StatementsNode (location: (45,2)-(45,3))
- │ │ │ └── body: (length: 1)
- │ │ │ └── @ CallNode (location: (45,2)-(45,3))
- │ │ │ ├── receiver: ∅
- │ │ │ ├── call_operator_loc: ∅
- │ │ │ ├── name: :d
- │ │ │ ├── message_loc: (45,2)-(45,3) = "d"
- │ │ │ ├── opening_loc: ∅
- │ │ │ ├── arguments: ∅
- │ │ │ ├── closing_loc: ∅
- │ │ │ ├── block: ∅
- │ │ │ └── flags: variable_call
- │ │ ├── opening_loc: (44,8)-(44,9) = "{"
- │ │ └── closing_loc: (46,0)-(46,1) = "}"
- │ └── flags: ∅
+ │ └── block:
+ │ @ BlockNode (location: (44,8)-(46,1))
+ │ ├── locals: [:a, :b]
+ │ ├── locals_body_index: 2
+ │ ├── parameters:
+ │ │ @ BlockParametersNode (location: (44,10)-(44,18))
+ │ │ ├── parameters:
+ │ │ │ @ ParametersNode (location: (44,11)-(44,17))
+ │ │ │ ├── requireds: (length: 1)
+ │ │ │ │ └── @ MultiTargetNode (location: (44,11)-(44,17))
+ │ │ │ │ ├── lefts: (length: 2)
+ │ │ │ │ │ ├── @ RequiredParameterNode (location: (44,12)-(44,13))
+ │ │ │ │ │ │ └── name: :a
+ │ │ │ │ │ └── @ RequiredParameterNode (location: (44,15)-(44,16))
+ │ │ │ │ │ └── name: :b
+ │ │ │ │ ├── rest: ∅
+ │ │ │ │ ├── rights: (length: 0)
+ │ │ │ │ ├── lparen_loc: (44,11)-(44,12) = "("
+ │ │ │ │ └── rparen_loc: (44,16)-(44,17) = ")"
+ │ │ │ ├── optionals: (length: 0)
+ │ │ │ ├── rest: ∅
+ │ │ │ ├── posts: (length: 0)
+ │ │ │ ├── keywords: (length: 0)
+ │ │ │ ├── keyword_rest: ∅
+ │ │ │ └── block: ∅
+ │ │ ├── locals: (length: 0)
+ │ │ ├── opening_loc: (44,10)-(44,11) = "|"
+ │ │ └── closing_loc: (44,17)-(44,18) = "|"
+ │ ├── body:
+ │ │ @ StatementsNode (location: (45,2)-(45,3))
+ │ │ └── body: (length: 1)
+ │ │ └── @ CallNode (location: (45,2)-(45,3))
+ │ │ ├── flags: variable_call
+ │ │ ├── receiver: ∅
+ │ │ ├── call_operator_loc: ∅
+ │ │ ├── name: :d
+ │ │ ├── message_loc: (45,2)-(45,3) = "d"
+ │ │ ├── opening_loc: ∅
+ │ │ ├── arguments: ∅
+ │ │ ├── closing_loc: ∅
+ │ │ └── block: ∅
+ │ ├── opening_loc: (44,8)-(44,9) = "{"
+ │ └── closing_loc: (46,0)-(46,1) = "}"
├── @ CallNode (location: (47,0)-(48,5))
+ │ ├── flags: ∅
│ ├── receiver:
│ │ @ CallNode (location: (47,0)-(48,1))
+ │ │ ├── flags: ∅
│ │ ├── receiver:
│ │ │ @ CallNode (location: (47,0)-(47,3))
+ │ │ │ ├── flags: variable_call
│ │ │ ├── receiver: ∅
│ │ │ ├── call_operator_loc: ∅
│ │ │ ├── name: :foo
@@ -803,32 +806,30 @@
│ │ │ ├── opening_loc: ∅
│ │ │ ├── arguments: ∅
│ │ │ ├── closing_loc: ∅
- │ │ │ ├── block: ∅
- │ │ │ └── flags: variable_call
+ │ │ │ └── block: ∅
│ │ ├── call_operator_loc: (47,3)-(47,4) = "."
│ │ ├── name: :bar
│ │ ├── message_loc: (47,4)-(47,7) = "bar"
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
- │ │ ├── block:
- │ │ │ @ BlockNode (location: (47,8)-(48,1))
- │ │ │ ├── locals: []
- │ │ │ ├── locals_body_index: 0
- │ │ │ ├── parameters: ∅
- │ │ │ ├── body: ∅
- │ │ │ ├── opening_loc: (47,8)-(47,9) = "{"
- │ │ │ └── closing_loc: (48,0)-(48,1) = "}"
- │ │ └── flags: ∅
+ │ │ └── block:
+ │ │ @ BlockNode (location: (47,8)-(48,1))
+ │ │ ├── locals: []
+ │ │ ├── locals_body_index: 0
+ │ │ ├── parameters: ∅
+ │ │ ├── body: ∅
+ │ │ ├── opening_loc: (47,8)-(47,9) = "{"
+ │ │ └── closing_loc: (48,0)-(48,1) = "}"
│ ├── call_operator_loc: (48,1)-(48,2) = "."
│ ├── name: :baz
│ ├── message_loc: (48,2)-(48,5) = "baz"
│ ├── opening_loc: ∅
│ ├── arguments: ∅
│ ├── closing_loc: ∅
- │ ├── block: ∅
- │ └── flags: ∅
+ │ └── block: ∅
├── @ CallNode (location: (49,0)-(51,3))
+ │ ├── flags: ∅
│ ├── receiver: ∅
│ ├── call_operator_loc: ∅
│ ├── name: :m
@@ -836,35 +837,35 @@
│ ├── opening_loc: ∅
│ ├── arguments: ∅
│ ├── closing_loc: ∅
- │ ├── block:
- │ │ @ BlockNode (location: (49,2)-(51,3))
- │ │ ├── locals: [:e]
- │ │ ├── locals_body_index: 0
- │ │ ├── parameters: ∅
- │ │ ├── body:
- │ │ │ @ BeginNode (location: (50,0)-(51,3))
- │ │ │ ├── begin_keyword_loc: ∅
- │ │ │ ├── statements: ∅
- │ │ │ ├── rescue_clause:
- │ │ │ │ @ RescueNode (location: (50,0)-(50,21))
- │ │ │ │ ├── keyword_loc: (50,0)-(50,6) = "rescue"
- │ │ │ │ ├── exceptions: (length: 1)
- │ │ │ │ │ └── @ ConstantReadNode (location: (50,7)-(50,16))
- │ │ │ │ │ └── name: :Exception
- │ │ │ │ ├── operator_loc: (50,17)-(50,19) = "=>"
- │ │ │ │ ├── reference:
- │ │ │ │ │ @ LocalVariableTargetNode (location: (50,20)-(50,21))
- │ │ │ │ │ ├── name: :e
- │ │ │ │ │ └── depth: 0
- │ │ │ │ ├── statements: ∅
- │ │ │ │ └── consequent: ∅
- │ │ │ ├── else_clause: ∅
- │ │ │ ├── ensure_clause: ∅
- │ │ │ └── end_keyword_loc: (51,0)-(51,3) = "end"
- │ │ ├── opening_loc: (49,2)-(49,4) = "do"
- │ │ └── closing_loc: (51,0)-(51,3) = "end"
- │ └── flags: ∅
+ │ └── block:
+ │ @ BlockNode (location: (49,2)-(51,3))
+ │ ├── locals: [:e]
+ │ ├── locals_body_index: 0
+ │ ├── parameters: ∅
+ │ ├── body:
+ │ │ @ BeginNode (location: (50,0)-(51,3))
+ │ │ ├── begin_keyword_loc: ∅
+ │ │ ├── statements: ∅
+ │ │ ├── rescue_clause:
+ │ │ │ @ RescueNode (location: (50,0)-(50,21))
+ │ │ │ ├── keyword_loc: (50,0)-(50,6) = "rescue"
+ │ │ │ ├── exceptions: (length: 1)
+ │ │ │ │ └── @ ConstantReadNode (location: (50,7)-(50,16))
+ │ │ │ │ └── name: :Exception
+ │ │ │ ├── operator_loc: (50,17)-(50,19) = "=>"
+ │ │ │ ├── reference:
+ │ │ │ │ @ LocalVariableTargetNode (location: (50,20)-(50,21))
+ │ │ │ │ ├── name: :e
+ │ │ │ │ └── depth: 0
+ │ │ │ ├── statements: ∅
+ │ │ │ └── consequent: ∅
+ │ │ ├── else_clause: ∅
+ │ │ ├── ensure_clause: ∅
+ │ │ └── end_keyword_loc: (51,0)-(51,3) = "end"
+ │ ├── opening_loc: (49,2)-(49,4) = "do"
+ │ └── closing_loc: (51,0)-(51,3) = "end"
├── @ CallNode (location: (52,0)-(56,3))
+ │ ├── flags: ∅
│ ├── receiver: ∅
│ ├── call_operator_loc: ∅
│ ├── name: :m
@@ -872,52 +873,52 @@
│ ├── opening_loc: ∅
│ ├── arguments: ∅
│ ├── closing_loc: ∅
- │ ├── block:
- │ │ @ BlockNode (location: (52,2)-(56,3))
- │ │ ├── locals: [:bar]
- │ │ ├── locals_body_index: 0
- │ │ ├── parameters: ∅
- │ │ ├── body:
- │ │ │ @ BeginNode (location: (53,2)-(56,3))
- │ │ │ ├── begin_keyword_loc: ∅
- │ │ │ ├── statements:
- │ │ │ │ @ StatementsNode (location: (53,2)-(53,5))
- │ │ │ │ └── body: (length: 1)
- │ │ │ │ └── @ CallNode (location: (53,2)-(53,5))
- │ │ │ │ ├── receiver: ∅
- │ │ │ │ ├── call_operator_loc: ∅
- │ │ │ │ ├── name: :foo
- │ │ │ │ ├── message_loc: (53,2)-(53,5) = "foo"
- │ │ │ │ ├── opening_loc: ∅
- │ │ │ │ ├── arguments: ∅
- │ │ │ │ ├── closing_loc: ∅
- │ │ │ │ ├── block: ∅
- │ │ │ │ └── flags: variable_call
- │ │ │ ├── rescue_clause:
- │ │ │ │ @ RescueNode (location: (54,0)-(55,5))
- │ │ │ │ ├── keyword_loc: (54,0)-(54,6) = "rescue"
- │ │ │ │ ├── exceptions: (length: 1)
- │ │ │ │ │ └── @ ConstantReadNode (location: (54,7)-(54,16))
- │ │ │ │ │ └── name: :Exception
- │ │ │ │ ├── operator_loc: (54,17)-(54,19) = "=>"
- │ │ │ │ ├── reference:
- │ │ │ │ │ @ LocalVariableTargetNode (location: (54,20)-(54,23))
- │ │ │ │ │ ├── name: :bar
- │ │ │ │ │ └── depth: 0
- │ │ │ │ ├── statements:
- │ │ │ │ │ @ StatementsNode (location: (55,2)-(55,5))
- │ │ │ │ │ └── body: (length: 1)
- │ │ │ │ │ └── @ LocalVariableReadNode (location: (55,2)-(55,5))
- │ │ │ │ │ ├── name: :bar
- │ │ │ │ │ └── depth: 0
- │ │ │ │ └── consequent: ∅
- │ │ │ ├── else_clause: ∅
- │ │ │ ├── ensure_clause: ∅
- │ │ │ └── end_keyword_loc: (56,0)-(56,3) = "end"
- │ │ ├── opening_loc: (52,2)-(52,4) = "do"
- │ │ └── closing_loc: (56,0)-(56,3) = "end"
- │ └── flags: ∅
+ │ └── block:
+ │ @ BlockNode (location: (52,2)-(56,3))
+ │ ├── locals: [:bar]
+ │ ├── locals_body_index: 0
+ │ ├── parameters: ∅
+ │ ├── body:
+ │ │ @ BeginNode (location: (53,2)-(56,3))
+ │ │ ├── begin_keyword_loc: ∅
+ │ │ ├── statements:
+ │ │ │ @ StatementsNode (location: (53,2)-(53,5))
+ │ │ │ └── body: (length: 1)
+ │ │ │ └── @ CallNode (location: (53,2)-(53,5))
+ │ │ │ ├── flags: variable_call
+ │ │ │ ├── receiver: ∅
+ │ │ │ ├── call_operator_loc: ∅
+ │ │ │ ├── name: :foo
+ │ │ │ ├── message_loc: (53,2)-(53,5) = "foo"
+ │ │ │ ├── opening_loc: ∅
+ │ │ │ ├── arguments: ∅
+ │ │ │ ├── closing_loc: ∅
+ │ │ │ └── block: ∅
+ │ │ ├── rescue_clause:
+ │ │ │ @ RescueNode (location: (54,0)-(55,5))
+ │ │ │ ├── keyword_loc: (54,0)-(54,6) = "rescue"
+ │ │ │ ├── exceptions: (length: 1)
+ │ │ │ │ └── @ ConstantReadNode (location: (54,7)-(54,16))
+ │ │ │ │ └── name: :Exception
+ │ │ │ ├── operator_loc: (54,17)-(54,19) = "=>"
+ │ │ │ ├── reference:
+ │ │ │ │ @ LocalVariableTargetNode (location: (54,20)-(54,23))
+ │ │ │ │ ├── name: :bar
+ │ │ │ │ └── depth: 0
+ │ │ │ ├── statements:
+ │ │ │ │ @ StatementsNode (location: (55,2)-(55,5))
+ │ │ │ │ └── body: (length: 1)
+ │ │ │ │ └── @ LocalVariableReadNode (location: (55,2)-(55,5))
+ │ │ │ │ ├── name: :bar
+ │ │ │ │ └── depth: 0
+ │ │ │ └── consequent: ∅
+ │ │ ├── else_clause: ∅
+ │ │ ├── ensure_clause: ∅
+ │ │ └── end_keyword_loc: (56,0)-(56,3) = "end"
+ │ ├── opening_loc: (52,2)-(52,4) = "do"
+ │ └── closing_loc: (56,0)-(56,3) = "end"
├── @ CallNode (location: (57,0)-(61,3))
+ │ ├── flags: ∅
│ ├── receiver: ∅
│ ├── call_operator_loc: ∅
│ ├── name: :m
@@ -925,69 +926,69 @@
│ ├── opening_loc: ∅
│ ├── arguments: ∅
│ ├── closing_loc: ∅
- │ ├── block:
- │ │ @ BlockNode (location: (57,2)-(61,3))
- │ │ ├── locals: []
- │ │ ├── locals_body_index: 0
- │ │ ├── parameters: ∅
- │ │ ├── body:
- │ │ │ @ BeginNode (location: (58,2)-(61,3))
- │ │ │ ├── begin_keyword_loc: ∅
- │ │ │ ├── statements:
- │ │ │ │ @ StatementsNode (location: (58,2)-(58,5))
- │ │ │ │ └── body: (length: 1)
- │ │ │ │ └── @ CallNode (location: (58,2)-(58,5))
- │ │ │ │ ├── receiver: ∅
- │ │ │ │ ├── call_operator_loc: ∅
- │ │ │ │ ├── name: :bar
- │ │ │ │ ├── message_loc: (58,2)-(58,5) = "bar"
- │ │ │ │ ├── opening_loc: ∅
- │ │ │ │ ├── arguments: ∅
- │ │ │ │ ├── closing_loc: ∅
- │ │ │ │ ├── block: ∅
- │ │ │ │ └── flags: variable_call
- │ │ │ ├── rescue_clause:
- │ │ │ │ @ RescueNode (location: (59,0)-(60,5))
- │ │ │ │ ├── keyword_loc: (59,0)-(59,6) = "rescue"
- │ │ │ │ ├── exceptions: (length: 2)
- │ │ │ │ │ ├── @ ConstantReadNode (location: (59,7)-(59,16))
- │ │ │ │ │ │ └── name: :SomeError
- │ │ │ │ │ └── @ SplatNode (location: (59,18)-(59,22))
- │ │ │ │ │ ├── operator_loc: (59,18)-(59,19) = "*"
- │ │ │ │ │ └── expression:
- │ │ │ │ │ @ CallNode (location: (59,19)-(59,22))
- │ │ │ │ │ ├── receiver: ∅
- │ │ │ │ │ ├── call_operator_loc: ∅
- │ │ │ │ │ ├── name: :bar
- │ │ │ │ │ ├── message_loc: (59,19)-(59,22) = "bar"
- │ │ │ │ │ ├── opening_loc: ∅
- │ │ │ │ │ ├── arguments: ∅
- │ │ │ │ │ ├── closing_loc: ∅
- │ │ │ │ │ ├── block: ∅
- │ │ │ │ │ └── flags: variable_call
- │ │ │ │ ├── operator_loc: ∅
- │ │ │ │ ├── reference: ∅
- │ │ │ │ ├── statements:
- │ │ │ │ │ @ StatementsNode (location: (60,2)-(60,5))
- │ │ │ │ │ └── body: (length: 1)
- │ │ │ │ │ └── @ CallNode (location: (60,2)-(60,5))
- │ │ │ │ │ ├── receiver: ∅
- │ │ │ │ │ ├── call_operator_loc: ∅
- │ │ │ │ │ ├── name: :baz
- │ │ │ │ │ ├── message_loc: (60,2)-(60,5) = "baz"
- │ │ │ │ │ ├── opening_loc: ∅
- │ │ │ │ │ ├── arguments: ∅
- │ │ │ │ │ ├── closing_loc: ∅
- │ │ │ │ │ ├── block: ∅
- │ │ │ │ │ └── flags: variable_call
- │ │ │ │ └── consequent: ∅
- │ │ │ ├── else_clause: ∅
- │ │ │ ├── ensure_clause: ∅
- │ │ │ └── end_keyword_loc: (61,0)-(61,3) = "end"
- │ │ ├── opening_loc: (57,2)-(57,4) = "do"
- │ │ └── closing_loc: (61,0)-(61,3) = "end"
- │ └── flags: ∅
+ │ └── block:
+ │ @ BlockNode (location: (57,2)-(61,3))
+ │ ├── locals: []
+ │ ├── locals_body_index: 0
+ │ ├── parameters: ∅
+ │ ├── body:
+ │ │ @ BeginNode (location: (58,2)-(61,3))
+ │ │ ├── begin_keyword_loc: ∅
+ │ │ ├── statements:
+ │ │ │ @ StatementsNode (location: (58,2)-(58,5))
+ │ │ │ └── body: (length: 1)
+ │ │ │ └── @ CallNode (location: (58,2)-(58,5))
+ │ │ │ ├── flags: variable_call
+ │ │ │ ├── receiver: ∅
+ │ │ │ ├── call_operator_loc: ∅
+ │ │ │ ├── name: :bar
+ │ │ │ ├── message_loc: (58,2)-(58,5) = "bar"
+ │ │ │ ├── opening_loc: ∅
+ │ │ │ ├── arguments: ∅
+ │ │ │ ├── closing_loc: ∅
+ │ │ │ └── block: ∅
+ │ │ ├── rescue_clause:
+ │ │ │ @ RescueNode (location: (59,0)-(60,5))
+ │ │ │ ├── keyword_loc: (59,0)-(59,6) = "rescue"
+ │ │ │ ├── exceptions: (length: 2)
+ │ │ │ │ ├── @ ConstantReadNode (location: (59,7)-(59,16))
+ │ │ │ │ │ └── name: :SomeError
+ │ │ │ │ └── @ SplatNode (location: (59,18)-(59,22))
+ │ │ │ │ ├── operator_loc: (59,18)-(59,19) = "*"
+ │ │ │ │ └── expression:
+ │ │ │ │ @ CallNode (location: (59,19)-(59,22))
+ │ │ │ │ ├── flags: variable_call
+ │ │ │ │ ├── receiver: ∅
+ │ │ │ │ ├── call_operator_loc: ∅
+ │ │ │ │ ├── name: :bar
+ │ │ │ │ ├── message_loc: (59,19)-(59,22) = "bar"
+ │ │ │ │ ├── opening_loc: ∅
+ │ │ │ │ ├── arguments: ∅
+ │ │ │ │ ├── closing_loc: ∅
+ │ │ │ │ └── block: ∅
+ │ │ │ ├── operator_loc: ∅
+ │ │ │ ├── reference: ∅
+ │ │ │ ├── statements:
+ │ │ │ │ @ StatementsNode (location: (60,2)-(60,5))
+ │ │ │ │ └── body: (length: 1)
+ │ │ │ │ └── @ CallNode (location: (60,2)-(60,5))
+ │ │ │ │ ├── flags: variable_call
+ │ │ │ │ ├── receiver: ∅
+ │ │ │ │ ├── call_operator_loc: ∅
+ │ │ │ │ ├── name: :baz
+ │ │ │ │ ├── message_loc: (60,2)-(60,5) = "baz"
+ │ │ │ │ ├── opening_loc: ∅
+ │ │ │ │ ├── arguments: ∅
+ │ │ │ │ ├── closing_loc: ∅
+ │ │ │ │ └── block: ∅
+ │ │ │ └── consequent: ∅
+ │ │ ├── else_clause: ∅
+ │ │ ├── ensure_clause: ∅
+ │ │ └── end_keyword_loc: (61,0)-(61,3) = "end"
+ │ ├── opening_loc: (57,2)-(57,4) = "do"
+ │ └── closing_loc: (61,0)-(61,3) = "end"
├── @ CallNode (location: (62,0)-(66,3))
+ │ ├── flags: ∅
│ ├── receiver: ∅
│ ├── call_operator_loc: ∅
│ ├── name: :m
@@ -995,72 +996,72 @@
│ ├── opening_loc: ∅
│ ├── arguments: ∅
│ ├── closing_loc: ∅
- │ ├── block:
- │ │ @ BlockNode (location: (62,2)-(66,3))
- │ │ ├── locals: [:exception]
- │ │ ├── locals_body_index: 0
- │ │ ├── parameters: ∅
- │ │ ├── body:
- │ │ │ @ BeginNode (location: (63,2)-(66,3))
- │ │ │ ├── begin_keyword_loc: ∅
- │ │ │ ├── statements:
- │ │ │ │ @ StatementsNode (location: (63,2)-(63,5))
- │ │ │ │ └── body: (length: 1)
- │ │ │ │ └── @ CallNode (location: (63,2)-(63,5))
- │ │ │ │ ├── receiver: ∅
- │ │ │ │ ├── call_operator_loc: ∅
- │ │ │ │ ├── name: :bar
- │ │ │ │ ├── message_loc: (63,2)-(63,5) = "bar"
- │ │ │ │ ├── opening_loc: ∅
- │ │ │ │ ├── arguments: ∅
- │ │ │ │ ├── closing_loc: ∅
- │ │ │ │ ├── block: ∅
- │ │ │ │ └── flags: variable_call
- │ │ │ ├── rescue_clause:
- │ │ │ │ @ RescueNode (location: (64,0)-(65,5))
- │ │ │ │ ├── keyword_loc: (64,0)-(64,6) = "rescue"
- │ │ │ │ ├── exceptions: (length: 2)
- │ │ │ │ │ ├── @ ConstantReadNode (location: (64,7)-(64,16))
- │ │ │ │ │ │ └── name: :SomeError
- │ │ │ │ │ └── @ SplatNode (location: (64,18)-(64,22))
- │ │ │ │ │ ├── operator_loc: (64,18)-(64,19) = "*"
- │ │ │ │ │ └── expression:
- │ │ │ │ │ @ CallNode (location: (64,19)-(64,22))
- │ │ │ │ │ ├── receiver: ∅
- │ │ │ │ │ ├── call_operator_loc: ∅
- │ │ │ │ │ ├── name: :bar
- │ │ │ │ │ ├── message_loc: (64,19)-(64,22) = "bar"
- │ │ │ │ │ ├── opening_loc: ∅
- │ │ │ │ │ ├── arguments: ∅
- │ │ │ │ │ ├── closing_loc: ∅
- │ │ │ │ │ ├── block: ∅
- │ │ │ │ │ └── flags: variable_call
- │ │ │ │ ├── operator_loc: (64,23)-(64,25) = "=>"
- │ │ │ │ ├── reference:
- │ │ │ │ │ @ LocalVariableTargetNode (location: (64,26)-(64,35))
- │ │ │ │ │ ├── name: :exception
- │ │ │ │ │ └── depth: 0
- │ │ │ │ ├── statements:
- │ │ │ │ │ @ StatementsNode (location: (65,2)-(65,5))
- │ │ │ │ │ └── body: (length: 1)
- │ │ │ │ │ └── @ CallNode (location: (65,2)-(65,5))
- │ │ │ │ │ ├── receiver: ∅
- │ │ │ │ │ ├── call_operator_loc: ∅
- │ │ │ │ │ ├── name: :baz
- │ │ │ │ │ ├── message_loc: (65,2)-(65,5) = "baz"
- │ │ │ │ │ ├── opening_loc: ∅
- │ │ │ │ │ ├── arguments: ∅
- │ │ │ │ │ ├── closing_loc: ∅
- │ │ │ │ │ ├── block: ∅
- │ │ │ │ │ └── flags: variable_call
- │ │ │ │ └── consequent: ∅
- │ │ │ ├── else_clause: ∅
- │ │ │ ├── ensure_clause: ∅
- │ │ │ └── end_keyword_loc: (66,0)-(66,3) = "end"
- │ │ ├── opening_loc: (62,2)-(62,4) = "do"
- │ │ └── closing_loc: (66,0)-(66,3) = "end"
- │ └── flags: ∅
+ │ └── block:
+ │ @ BlockNode (location: (62,2)-(66,3))
+ │ ├── locals: [:exception]
+ │ ├── locals_body_index: 0
+ │ ├── parameters: ∅
+ │ ├── body:
+ │ │ @ BeginNode (location: (63,2)-(66,3))
+ │ │ ├── begin_keyword_loc: ∅
+ │ │ ├── statements:
+ │ │ │ @ StatementsNode (location: (63,2)-(63,5))
+ │ │ │ └── body: (length: 1)
+ │ │ │ └── @ CallNode (location: (63,2)-(63,5))
+ │ │ │ ├── flags: variable_call
+ │ │ │ ├── receiver: ∅
+ │ │ │ ├── call_operator_loc: ∅
+ │ │ │ ├── name: :bar
+ │ │ │ ├── message_loc: (63,2)-(63,5) = "bar"
+ │ │ │ ├── opening_loc: ∅
+ │ │ │ ├── arguments: ∅
+ │ │ │ ├── closing_loc: ∅
+ │ │ │ └── block: ∅
+ │ │ ├── rescue_clause:
+ │ │ │ @ RescueNode (location: (64,0)-(65,5))
+ │ │ │ ├── keyword_loc: (64,0)-(64,6) = "rescue"
+ │ │ │ ├── exceptions: (length: 2)
+ │ │ │ │ ├── @ ConstantReadNode (location: (64,7)-(64,16))
+ │ │ │ │ │ └── name: :SomeError
+ │ │ │ │ └── @ SplatNode (location: (64,18)-(64,22))
+ │ │ │ │ ├── operator_loc: (64,18)-(64,19) = "*"
+ │ │ │ │ └── expression:
+ │ │ │ │ @ CallNode (location: (64,19)-(64,22))
+ │ │ │ │ ├── flags: variable_call
+ │ │ │ │ ├── receiver: ∅
+ │ │ │ │ ├── call_operator_loc: ∅
+ │ │ │ │ ├── name: :bar
+ │ │ │ │ ├── message_loc: (64,19)-(64,22) = "bar"
+ │ │ │ │ ├── opening_loc: ∅
+ │ │ │ │ ├── arguments: ∅
+ │ │ │ │ ├── closing_loc: ∅
+ │ │ │ │ └── block: ∅
+ │ │ │ ├── operator_loc: (64,23)-(64,25) = "=>"
+ │ │ │ ├── reference:
+ │ │ │ │ @ LocalVariableTargetNode (location: (64,26)-(64,35))
+ │ │ │ │ ├── name: :exception
+ │ │ │ │ └── depth: 0
+ │ │ │ ├── statements:
+ │ │ │ │ @ StatementsNode (location: (65,2)-(65,5))
+ │ │ │ │ └── body: (length: 1)
+ │ │ │ │ └── @ CallNode (location: (65,2)-(65,5))
+ │ │ │ │ ├── flags: variable_call
+ │ │ │ │ ├── receiver: ∅
+ │ │ │ │ ├── call_operator_loc: ∅
+ │ │ │ │ ├── name: :baz
+ │ │ │ │ ├── message_loc: (65,2)-(65,5) = "baz"
+ │ │ │ │ ├── opening_loc: ∅
+ │ │ │ │ ├── arguments: ∅
+ │ │ │ │ ├── closing_loc: ∅
+ │ │ │ │ └── block: ∅
+ │ │ │ └── consequent: ∅
+ │ │ ├── else_clause: ∅
+ │ │ ├── ensure_clause: ∅
+ │ │ └── end_keyword_loc: (66,0)-(66,3) = "end"
+ │ ├── opening_loc: (62,2)-(62,4) = "do"
+ │ └── closing_loc: (66,0)-(66,3) = "end"
├── @ CallNode (location: (67,0)-(71,3))
+ │ ├── flags: ∅
│ ├── receiver: ∅
│ ├── call_operator_loc: ∅
│ ├── name: :m
@@ -1068,67 +1069,67 @@
│ ├── opening_loc: ∅
│ ├── arguments: ∅
│ ├── closing_loc: ∅
- │ ├── block:
- │ │ @ BlockNode (location: (67,2)-(71,3))
- │ │ ├── locals: []
- │ │ ├── locals_body_index: 0
- │ │ ├── parameters: ∅
- │ │ ├── body:
- │ │ │ @ BeginNode (location: (68,2)-(71,3))
- │ │ │ ├── begin_keyword_loc: ∅
- │ │ │ ├── statements:
- │ │ │ │ @ StatementsNode (location: (68,2)-(68,5))
- │ │ │ │ └── body: (length: 1)
- │ │ │ │ └── @ CallNode (location: (68,2)-(68,5))
- │ │ │ │ ├── receiver: ∅
- │ │ │ │ ├── call_operator_loc: ∅
- │ │ │ │ ├── name: :bar
- │ │ │ │ ├── message_loc: (68,2)-(68,5) = "bar"
- │ │ │ │ ├── opening_loc: ∅
- │ │ │ │ ├── arguments: ∅
- │ │ │ │ ├── closing_loc: ∅
- │ │ │ │ ├── block: ∅
- │ │ │ │ └── flags: variable_call
- │ │ │ ├── rescue_clause:
- │ │ │ │ @ RescueNode (location: (69,0)-(70,5))
- │ │ │ │ ├── keyword_loc: (69,0)-(69,6) = "rescue"
- │ │ │ │ ├── exceptions: (length: 1)
- │ │ │ │ │ └── @ SplatNode (location: (69,7)-(69,11))
- │ │ │ │ │ ├── operator_loc: (69,7)-(69,8) = "*"
- │ │ │ │ │ └── expression:
- │ │ │ │ │ @ CallNode (location: (69,8)-(69,11))
- │ │ │ │ │ ├── receiver: ∅
- │ │ │ │ │ ├── call_operator_loc: ∅
- │ │ │ │ │ ├── name: :bar
- │ │ │ │ │ ├── message_loc: (69,8)-(69,11) = "bar"
- │ │ │ │ │ ├── opening_loc: ∅
- │ │ │ │ │ ├── arguments: ∅
- │ │ │ │ │ ├── closing_loc: ∅
- │ │ │ │ │ ├── block: ∅
- │ │ │ │ │ └── flags: variable_call
- │ │ │ │ ├── operator_loc: ∅
- │ │ │ │ ├── reference: ∅
- │ │ │ │ ├── statements:
- │ │ │ │ │ @ StatementsNode (location: (70,2)-(70,5))
- │ │ │ │ │ └── body: (length: 1)
- │ │ │ │ │ └── @ CallNode (location: (70,2)-(70,5))
- │ │ │ │ │ ├── receiver: ∅
- │ │ │ │ │ ├── call_operator_loc: ∅
- │ │ │ │ │ ├── name: :baz
- │ │ │ │ │ ├── message_loc: (70,2)-(70,5) = "baz"
- │ │ │ │ │ ├── opening_loc: ∅
- │ │ │ │ │ ├── arguments: ∅
- │ │ │ │ │ ├── closing_loc: ∅
- │ │ │ │ │ ├── block: ∅
- │ │ │ │ │ └── flags: variable_call
- │ │ │ │ └── consequent: ∅
- │ │ │ ├── else_clause: ∅
- │ │ │ ├── ensure_clause: ∅
- │ │ │ └── end_keyword_loc: (71,0)-(71,3) = "end"
- │ │ ├── opening_loc: (67,2)-(67,4) = "do"
- │ │ └── closing_loc: (71,0)-(71,3) = "end"
- │ └── flags: ∅
+ │ └── block:
+ │ @ BlockNode (location: (67,2)-(71,3))
+ │ ├── locals: []
+ │ ├── locals_body_index: 0
+ │ ├── parameters: ∅
+ │ ├── body:
+ │ │ @ BeginNode (location: (68,2)-(71,3))
+ │ │ ├── begin_keyword_loc: ∅
+ │ │ ├── statements:
+ │ │ │ @ StatementsNode (location: (68,2)-(68,5))
+ │ │ │ └── body: (length: 1)
+ │ │ │ └── @ CallNode (location: (68,2)-(68,5))
+ │ │ │ ├── flags: variable_call
+ │ │ │ ├── receiver: ∅
+ │ │ │ ├── call_operator_loc: ∅
+ │ │ │ ├── name: :bar
+ │ │ │ ├── message_loc: (68,2)-(68,5) = "bar"
+ │ │ │ ├── opening_loc: ∅
+ │ │ │ ├── arguments: ∅
+ │ │ │ ├── closing_loc: ∅
+ │ │ │ └── block: ∅
+ │ │ ├── rescue_clause:
+ │ │ │ @ RescueNode (location: (69,0)-(70,5))
+ │ │ │ ├── keyword_loc: (69,0)-(69,6) = "rescue"
+ │ │ │ ├── exceptions: (length: 1)
+ │ │ │ │ └── @ SplatNode (location: (69,7)-(69,11))
+ │ │ │ │ ├── operator_loc: (69,7)-(69,8) = "*"
+ │ │ │ │ └── expression:
+ │ │ │ │ @ CallNode (location: (69,8)-(69,11))
+ │ │ │ │ ├── flags: variable_call
+ │ │ │ │ ├── receiver: ∅
+ │ │ │ │ ├── call_operator_loc: ∅
+ │ │ │ │ ├── name: :bar
+ │ │ │ │ ├── message_loc: (69,8)-(69,11) = "bar"
+ │ │ │ │ ├── opening_loc: ∅
+ │ │ │ │ ├── arguments: ∅
+ │ │ │ │ ├── closing_loc: ∅
+ │ │ │ │ └── block: ∅
+ │ │ │ ├── operator_loc: ∅
+ │ │ │ ├── reference: ∅
+ │ │ │ ├── statements:
+ │ │ │ │ @ StatementsNode (location: (70,2)-(70,5))
+ │ │ │ │ └── body: (length: 1)
+ │ │ │ │ └── @ CallNode (location: (70,2)-(70,5))
+ │ │ │ │ ├── flags: variable_call
+ │ │ │ │ ├── receiver: ∅
+ │ │ │ │ ├── call_operator_loc: ∅
+ │ │ │ │ ├── name: :baz
+ │ │ │ │ ├── message_loc: (70,2)-(70,5) = "baz"
+ │ │ │ │ ├── opening_loc: ∅
+ │ │ │ │ ├── arguments: ∅
+ │ │ │ │ ├── closing_loc: ∅
+ │ │ │ │ └── block: ∅
+ │ │ │ └── consequent: ∅
+ │ │ ├── else_clause: ∅
+ │ │ ├── ensure_clause: ∅
+ │ │ └── end_keyword_loc: (71,0)-(71,3) = "end"
+ │ ├── opening_loc: (67,2)-(67,4) = "do"
+ │ └── closing_loc: (71,0)-(71,3) = "end"
├── @ CallNode (location: (72,0)-(75,3))
+ │ ├── flags: ∅
│ ├── receiver: ∅
│ ├── call_operator_loc: ∅
│ ├── name: :m
@@ -1136,44 +1137,44 @@
│ ├── opening_loc: ∅
│ ├── arguments: ∅
│ ├── closing_loc: ∅
- │ ├── block:
- │ │ @ BlockNode (location: (72,2)-(75,3))
- │ │ ├── locals: []
- │ │ ├── locals_body_index: 0
- │ │ ├── parameters: ∅
- │ │ ├── body:
- │ │ │ @ BeginNode (location: (73,2)-(75,3))
- │ │ │ ├── begin_keyword_loc: ∅
- │ │ │ ├── statements:
- │ │ │ │ @ StatementsNode (location: (73,2)-(73,5))
- │ │ │ │ └── body: (length: 1)
- │ │ │ │ └── @ CallNode (location: (73,2)-(73,5))
- │ │ │ │ ├── receiver: ∅
- │ │ │ │ ├── call_operator_loc: ∅
- │ │ │ │ ├── name: :bar
- │ │ │ │ ├── message_loc: (73,2)-(73,5) = "bar"
- │ │ │ │ ├── opening_loc: ∅
- │ │ │ │ ├── arguments: ∅
- │ │ │ │ ├── closing_loc: ∅
- │ │ │ │ ├── block: ∅
- │ │ │ │ └── flags: variable_call
- │ │ │ ├── rescue_clause:
- │ │ │ │ @ RescueNode (location: (74,0)-(74,16))
- │ │ │ │ ├── keyword_loc: (74,0)-(74,6) = "rescue"
- │ │ │ │ ├── exceptions: (length: 1)
- │ │ │ │ │ └── @ ConstantReadNode (location: (74,7)-(74,16))
- │ │ │ │ │ └── name: :LoadError
- │ │ │ │ ├── operator_loc: ∅
- │ │ │ │ ├── reference: ∅
- │ │ │ │ ├── statements: ∅
- │ │ │ │ └── consequent: ∅
- │ │ │ ├── else_clause: ∅
- │ │ │ ├── ensure_clause: ∅
- │ │ │ └── end_keyword_loc: (75,0)-(75,3) = "end"
- │ │ ├── opening_loc: (72,2)-(72,4) = "do"
- │ │ └── closing_loc: (75,0)-(75,3) = "end"
- │ └── flags: ∅
+ │ └── block:
+ │ @ BlockNode (location: (72,2)-(75,3))
+ │ ├── locals: []
+ │ ├── locals_body_index: 0
+ │ ├── parameters: ∅
+ │ ├── body:
+ │ │ @ BeginNode (location: (73,2)-(75,3))
+ │ │ ├── begin_keyword_loc: ∅
+ │ │ ├── statements:
+ │ │ │ @ StatementsNode (location: (73,2)-(73,5))
+ │ │ │ └── body: (length: 1)
+ │ │ │ └── @ CallNode (location: (73,2)-(73,5))
+ │ │ │ ├── flags: variable_call
+ │ │ │ ├── receiver: ∅
+ │ │ │ ├── call_operator_loc: ∅
+ │ │ │ ├── name: :bar
+ │ │ │ ├── message_loc: (73,2)-(73,5) = "bar"
+ │ │ │ ├── opening_loc: ∅
+ │ │ │ ├── arguments: ∅
+ │ │ │ ├── closing_loc: ∅
+ │ │ │ └── block: ∅
+ │ │ ├── rescue_clause:
+ │ │ │ @ RescueNode (location: (74,0)-(74,16))
+ │ │ │ ├── keyword_loc: (74,0)-(74,6) = "rescue"
+ │ │ │ ├── exceptions: (length: 1)
+ │ │ │ │ └── @ ConstantReadNode (location: (74,7)-(74,16))
+ │ │ │ │ └── name: :LoadError
+ │ │ │ ├── operator_loc: ∅
+ │ │ │ ├── reference: ∅
+ │ │ │ ├── statements: ∅
+ │ │ │ └── consequent: ∅
+ │ │ ├── else_clause: ∅
+ │ │ ├── ensure_clause: ∅
+ │ │ └── end_keyword_loc: (75,0)-(75,3) = "end"
+ │ ├── opening_loc: (72,2)-(72,4) = "do"
+ │ └── closing_loc: (75,0)-(75,3) = "end"
├── @ CallNode (location: (76,0)-(81,3))
+ │ ├── flags: ∅
│ ├── receiver: ∅
│ ├── call_operator_loc: ∅
│ ├── name: :m
@@ -1181,58 +1182,58 @@
│ ├── opening_loc: ∅
│ ├── arguments: ∅
│ ├── closing_loc: ∅
- │ ├── block:
- │ │ @ BlockNode (location: (76,2)-(81,3))
- │ │ ├── locals: []
- │ │ ├── locals_body_index: 0
- │ │ ├── parameters: ∅
- │ │ ├── body:
- │ │ │ @ BeginNode (location: (77,2)-(81,3))
- │ │ │ ├── begin_keyword_loc: ∅
- │ │ │ ├── statements:
- │ │ │ │ @ StatementsNode (location: (77,2)-(77,5))
- │ │ │ │ └── body: (length: 1)
- │ │ │ │ └── @ CallNode (location: (77,2)-(77,5))
- │ │ │ │ ├── receiver: ∅
- │ │ │ │ ├── call_operator_loc: ∅
- │ │ │ │ ├── name: :bar
- │ │ │ │ ├── message_loc: (77,2)-(77,5) = "bar"
- │ │ │ │ ├── opening_loc: ∅
- │ │ │ │ ├── arguments: ∅
- │ │ │ │ ├── closing_loc: ∅
- │ │ │ │ ├── block: ∅
- │ │ │ │ └── flags: variable_call
- │ │ │ ├── rescue_clause:
- │ │ │ │ @ RescueNode (location: (78,0)-(78,6))
- │ │ │ │ ├── keyword_loc: (78,0)-(78,6) = "rescue"
- │ │ │ │ ├── exceptions: (length: 0)
- │ │ │ │ ├── operator_loc: ∅
- │ │ │ │ ├── reference: ∅
- │ │ │ │ ├── statements: ∅
- │ │ │ │ └── consequent: ∅
- │ │ │ ├── else_clause:
- │ │ │ │ @ ElseNode (location: (79,0)-(81,3))
- │ │ │ │ ├── else_keyword_loc: (79,0)-(79,4) = "else"
- │ │ │ │ ├── statements:
- │ │ │ │ │ @ StatementsNode (location: (80,2)-(80,5))
- │ │ │ │ │ └── body: (length: 1)
- │ │ │ │ │ └── @ CallNode (location: (80,2)-(80,5))
- │ │ │ │ │ ├── receiver: ∅
- │ │ │ │ │ ├── call_operator_loc: ∅
- │ │ │ │ │ ├── name: :baz
- │ │ │ │ │ ├── message_loc: (80,2)-(80,5) = "baz"
- │ │ │ │ │ ├── opening_loc: ∅
- │ │ │ │ │ ├── arguments: ∅
- │ │ │ │ │ ├── closing_loc: ∅
- │ │ │ │ │ ├── block: ∅
- │ │ │ │ │ └── flags: variable_call
- │ │ │ │ └── end_keyword_loc: (81,0)-(81,3) = "end"
- │ │ │ ├── ensure_clause: ∅
- │ │ │ └── end_keyword_loc: (81,0)-(81,3) = "end"
- │ │ ├── opening_loc: (76,2)-(76,4) = "do"
- │ │ └── closing_loc: (81,0)-(81,3) = "end"
- │ └── flags: ∅
+ │ └── block:
+ │ @ BlockNode (location: (76,2)-(81,3))
+ │ ├── locals: []
+ │ ├── locals_body_index: 0
+ │ ├── parameters: ∅
+ │ ├── body:
+ │ │ @ BeginNode (location: (77,2)-(81,3))
+ │ │ ├── begin_keyword_loc: ∅
+ │ │ ├── statements:
+ │ │ │ @ StatementsNode (location: (77,2)-(77,5))
+ │ │ │ └── body: (length: 1)
+ │ │ │ └── @ CallNode (location: (77,2)-(77,5))
+ │ │ │ ├── flags: variable_call
+ │ │ │ ├── receiver: ∅
+ │ │ │ ├── call_operator_loc: ∅
+ │ │ │ ├── name: :bar
+ │ │ │ ├── message_loc: (77,2)-(77,5) = "bar"
+ │ │ │ ├── opening_loc: ∅
+ │ │ │ ├── arguments: ∅
+ │ │ │ ├── closing_loc: ∅
+ │ │ │ └── block: ∅
+ │ │ ├── rescue_clause:
+ │ │ │ @ RescueNode (location: (78,0)-(78,6))
+ │ │ │ ├── keyword_loc: (78,0)-(78,6) = "rescue"
+ │ │ │ ├── exceptions: (length: 0)
+ │ │ │ ├── operator_loc: ∅
+ │ │ │ ├── reference: ∅
+ │ │ │ ├── statements: ∅
+ │ │ │ └── consequent: ∅
+ │ │ ├── else_clause:
+ │ │ │ @ ElseNode (location: (79,0)-(81,3))
+ │ │ │ ├── else_keyword_loc: (79,0)-(79,4) = "else"
+ │ │ │ ├── statements:
+ │ │ │ │ @ StatementsNode (location: (80,2)-(80,5))
+ │ │ │ │ └── body: (length: 1)
+ │ │ │ │ └── @ CallNode (location: (80,2)-(80,5))
+ │ │ │ │ ├── flags: variable_call
+ │ │ │ │ ├── receiver: ∅
+ │ │ │ │ ├── call_operator_loc: ∅
+ │ │ │ │ ├── name: :baz
+ │ │ │ │ ├── message_loc: (80,2)-(80,5) = "baz"
+ │ │ │ │ ├── opening_loc: ∅
+ │ │ │ │ ├── arguments: ∅
+ │ │ │ │ ├── closing_loc: ∅
+ │ │ │ │ └── block: ∅
+ │ │ │ └── end_keyword_loc: (81,0)-(81,3) = "end"
+ │ │ ├── ensure_clause: ∅
+ │ │ └── end_keyword_loc: (81,0)-(81,3) = "end"
+ │ ├── opening_loc: (76,2)-(76,4) = "do"
+ │ └── closing_loc: (81,0)-(81,3) = "end"
├── @ CallNode (location: (82,0)-(86,3))
+ │ ├── flags: ∅
│ ├── receiver: ∅
│ ├── call_operator_loc: ∅
│ ├── name: :m
@@ -1240,70 +1241,70 @@
│ ├── opening_loc: ∅
│ ├── arguments: ∅
│ ├── closing_loc: ∅
- │ ├── block:
- │ │ @ BlockNode (location: (82,2)-(86,3))
- │ │ ├── locals: [:exception]
- │ │ ├── locals_body_index: 0
- │ │ ├── parameters: ∅
- │ │ ├── body:
- │ │ │ @ BeginNode (location: (83,2)-(86,3))
- │ │ │ ├── begin_keyword_loc: ∅
- │ │ │ ├── statements:
- │ │ │ │ @ StatementsNode (location: (83,2)-(83,5))
- │ │ │ │ └── body: (length: 1)
- │ │ │ │ └── @ CallNode (location: (83,2)-(83,5))
- │ │ │ │ ├── receiver: ∅
- │ │ │ │ ├── call_operator_loc: ∅
- │ │ │ │ ├── name: :bar
- │ │ │ │ ├── message_loc: (83,2)-(83,5) = "bar"
- │ │ │ │ ├── opening_loc: ∅
- │ │ │ │ ├── arguments: ∅
- │ │ │ │ ├── closing_loc: ∅
- │ │ │ │ ├── block: ∅
- │ │ │ │ └── flags: variable_call
- │ │ │ ├── rescue_clause:
- │ │ │ │ @ RescueNode (location: (84,0)-(85,5))
- │ │ │ │ ├── keyword_loc: (84,0)-(84,6) = "rescue"
- │ │ │ │ ├── exceptions: (length: 1)
- │ │ │ │ │ └── @ SplatNode (location: (84,7)-(84,11))
- │ │ │ │ │ ├── operator_loc: (84,7)-(84,8) = "*"
- │ │ │ │ │ └── expression:
- │ │ │ │ │ @ CallNode (location: (84,8)-(84,11))
- │ │ │ │ │ ├── receiver: ∅
- │ │ │ │ │ ├── call_operator_loc: ∅
- │ │ │ │ │ ├── name: :bar
- │ │ │ │ │ ├── message_loc: (84,8)-(84,11) = "bar"
- │ │ │ │ │ ├── opening_loc: ∅
- │ │ │ │ │ ├── arguments: ∅
- │ │ │ │ │ ├── closing_loc: ∅
- │ │ │ │ │ ├── block: ∅
- │ │ │ │ │ └── flags: variable_call
- │ │ │ │ ├── operator_loc: (84,12)-(84,14) = "=>"
- │ │ │ │ ├── reference:
- │ │ │ │ │ @ LocalVariableTargetNode (location: (84,15)-(84,24))
- │ │ │ │ │ ├── name: :exception
- │ │ │ │ │ └── depth: 0
- │ │ │ │ ├── statements:
- │ │ │ │ │ @ StatementsNode (location: (85,2)-(85,5))
- │ │ │ │ │ └── body: (length: 1)
- │ │ │ │ │ └── @ CallNode (location: (85,2)-(85,5))
- │ │ │ │ │ ├── receiver: ∅
- │ │ │ │ │ ├── call_operator_loc: ∅
- │ │ │ │ │ ├── name: :baz
- │ │ │ │ │ ├── message_loc: (85,2)-(85,5) = "baz"
- │ │ │ │ │ ├── opening_loc: ∅
- │ │ │ │ │ ├── arguments: ∅
- │ │ │ │ │ ├── closing_loc: ∅
- │ │ │ │ │ ├── block: ∅
- │ │ │ │ │ └── flags: variable_call
- │ │ │ │ └── consequent: ∅
- │ │ │ ├── else_clause: ∅
- │ │ │ ├── ensure_clause: ∅
- │ │ │ └── end_keyword_loc: (86,0)-(86,3) = "end"
- │ │ ├── opening_loc: (82,2)-(82,4) = "do"
- │ │ └── closing_loc: (86,0)-(86,3) = "end"
- │ └── flags: ∅
+ │ └── block:
+ │ @ BlockNode (location: (82,2)-(86,3))
+ │ ├── locals: [:exception]
+ │ ├── locals_body_index: 0
+ │ ├── parameters: ∅
+ │ ├── body:
+ │ │ @ BeginNode (location: (83,2)-(86,3))
+ │ │ ├── begin_keyword_loc: ∅
+ │ │ ├── statements:
+ │ │ │ @ StatementsNode (location: (83,2)-(83,5))
+ │ │ │ └── body: (length: 1)
+ │ │ │ └── @ CallNode (location: (83,2)-(83,5))
+ │ │ │ ├── flags: variable_call
+ │ │ │ ├── receiver: ∅
+ │ │ │ ├── call_operator_loc: ∅
+ │ │ │ ├── name: :bar
+ │ │ │ ├── message_loc: (83,2)-(83,5) = "bar"
+ │ │ │ ├── opening_loc: ∅
+ │ │ │ ├── arguments: ∅
+ │ │ │ ├── closing_loc: ∅
+ │ │ │ └── block: ∅
+ │ │ ├── rescue_clause:
+ │ │ │ @ RescueNode (location: (84,0)-(85,5))
+ │ │ │ ├── keyword_loc: (84,0)-(84,6) = "rescue"
+ │ │ │ ├── exceptions: (length: 1)
+ │ │ │ │ └── @ SplatNode (location: (84,7)-(84,11))
+ │ │ │ │ ├── operator_loc: (84,7)-(84,8) = "*"
+ │ │ │ │ └── expression:
+ │ │ │ │ @ CallNode (location: (84,8)-(84,11))
+ │ │ │ │ ├── flags: variable_call
+ │ │ │ │ ├── receiver: ∅
+ │ │ │ │ ├── call_operator_loc: ∅
+ │ │ │ │ ├── name: :bar
+ │ │ │ │ ├── message_loc: (84,8)-(84,11) = "bar"
+ │ │ │ │ ├── opening_loc: ∅
+ │ │ │ │ ├── arguments: ∅
+ │ │ │ │ ├── closing_loc: ∅
+ │ │ │ │ └── block: ∅
+ │ │ │ ├── operator_loc: (84,12)-(84,14) = "=>"
+ │ │ │ ├── reference:
+ │ │ │ │ @ LocalVariableTargetNode (location: (84,15)-(84,24))
+ │ │ │ │ ├── name: :exception
+ │ │ │ │ └── depth: 0
+ │ │ │ ├── statements:
+ │ │ │ │ @ StatementsNode (location: (85,2)-(85,5))
+ │ │ │ │ └── body: (length: 1)
+ │ │ │ │ └── @ CallNode (location: (85,2)-(85,5))
+ │ │ │ │ ├── flags: variable_call
+ │ │ │ │ ├── receiver: ∅
+ │ │ │ │ ├── call_operator_loc: ∅
+ │ │ │ │ ├── name: :baz
+ │ │ │ │ ├── message_loc: (85,2)-(85,5) = "baz"
+ │ │ │ │ ├── opening_loc: ∅
+ │ │ │ │ ├── arguments: ∅
+ │ │ │ │ ├── closing_loc: ∅
+ │ │ │ │ └── block: ∅
+ │ │ │ └── consequent: ∅
+ │ │ ├── else_clause: ∅
+ │ │ ├── ensure_clause: ∅
+ │ │ └── end_keyword_loc: (86,0)-(86,3) = "end"
+ │ ├── opening_loc: (82,2)-(82,4) = "do"
+ │ └── closing_loc: (86,0)-(86,3) = "end"
├── @ CallNode (location: (87,0)-(89,3))
+ │ ├── flags: ∅
│ ├── receiver: ∅
│ ├── call_operator_loc: ∅
│ ├── name: :m
@@ -1311,27 +1312,27 @@
│ ├── opening_loc: ∅
│ ├── arguments: ∅
│ ├── closing_loc: ∅
- │ ├── block:
- │ │ @ BlockNode (location: (87,2)-(89,3))
- │ │ ├── locals: []
- │ │ ├── locals_body_index: 0
- │ │ ├── parameters: ∅
- │ │ ├── body:
- │ │ │ @ BeginNode (location: (88,0)-(89,3))
- │ │ │ ├── begin_keyword_loc: ∅
- │ │ │ ├── statements: ∅
- │ │ │ ├── rescue_clause: ∅
- │ │ │ ├── else_clause: ∅
- │ │ │ ├── ensure_clause:
- │ │ │ │ @ EnsureNode (location: (88,0)-(89,3))
- │ │ │ │ ├── ensure_keyword_loc: (88,0)-(88,6) = "ensure"
- │ │ │ │ ├── statements: ∅
- │ │ │ │ └── end_keyword_loc: (89,0)-(89,3) = "end"
- │ │ │ └── end_keyword_loc: (89,0)-(89,3) = "end"
- │ │ ├── opening_loc: (87,2)-(87,4) = "do"
- │ │ └── closing_loc: (89,0)-(89,3) = "end"
- │ └── flags: ∅
+ │ └── block:
+ │ @ BlockNode (location: (87,2)-(89,3))
+ │ ├── locals: []
+ │ ├── locals_body_index: 0
+ │ ├── parameters: ∅
+ │ ├── body:
+ │ │ @ BeginNode (location: (88,0)-(89,3))
+ │ │ ├── begin_keyword_loc: ∅
+ │ │ ├── statements: ∅
+ │ │ ├── rescue_clause: ∅
+ │ │ ├── else_clause: ∅
+ │ │ ├── ensure_clause:
+ │ │ │ @ EnsureNode (location: (88,0)-(89,3))
+ │ │ │ ├── ensure_keyword_loc: (88,0)-(88,6) = "ensure"
+ │ │ │ ├── statements: ∅
+ │ │ │ └── end_keyword_loc: (89,0)-(89,3) = "end"
+ │ │ └── end_keyword_loc: (89,0)-(89,3) = "end"
+ │ ├── opening_loc: (87,2)-(87,4) = "do"
+ │ └── closing_loc: (89,0)-(89,3) = "end"
├── @ CallNode (location: (90,0)-(93,3))
+ │ ├── flags: ∅
│ ├── receiver: ∅
│ ├── call_operator_loc: ∅
│ ├── name: :m
@@ -1339,34 +1340,34 @@
│ ├── opening_loc: ∅
│ ├── arguments: ∅
│ ├── closing_loc: ∅
- │ ├── block:
- │ │ @ BlockNode (location: (90,2)-(93,3))
- │ │ ├── locals: []
- │ │ ├── locals_body_index: 0
- │ │ ├── parameters: ∅
- │ │ ├── body:
- │ │ │ @ BeginNode (location: (91,0)-(93,3))
- │ │ │ ├── begin_keyword_loc: ∅
- │ │ │ ├── statements: ∅
- │ │ │ ├── rescue_clause:
- │ │ │ │ @ RescueNode (location: (91,0)-(91,6))
- │ │ │ │ ├── keyword_loc: (91,0)-(91,6) = "rescue"
- │ │ │ │ ├── exceptions: (length: 0)
- │ │ │ │ ├── operator_loc: ∅
- │ │ │ │ ├── reference: ∅
- │ │ │ │ ├── statements: ∅
- │ │ │ │ └── consequent: ∅
- │ │ │ ├── else_clause: ∅
- │ │ │ ├── ensure_clause:
- │ │ │ │ @ EnsureNode (location: (92,0)-(93,3))
- │ │ │ │ ├── ensure_keyword_loc: (92,0)-(92,6) = "ensure"
- │ │ │ │ ├── statements: ∅
- │ │ │ │ └── end_keyword_loc: (93,0)-(93,3) = "end"
- │ │ │ └── end_keyword_loc: (93,0)-(93,3) = "end"
- │ │ ├── opening_loc: (90,2)-(90,4) = "do"
- │ │ └── closing_loc: (93,0)-(93,3) = "end"
- │ └── flags: ∅
+ │ └── block:
+ │ @ BlockNode (location: (90,2)-(93,3))
+ │ ├── locals: []
+ │ ├── locals_body_index: 0
+ │ ├── parameters: ∅
+ │ ├── body:
+ │ │ @ BeginNode (location: (91,0)-(93,3))
+ │ │ ├── begin_keyword_loc: ∅
+ │ │ ├── statements: ∅
+ │ │ ├── rescue_clause:
+ │ │ │ @ RescueNode (location: (91,0)-(91,6))
+ │ │ │ ├── keyword_loc: (91,0)-(91,6) = "rescue"
+ │ │ │ ├── exceptions: (length: 0)
+ │ │ │ ├── operator_loc: ∅
+ │ │ │ ├── reference: ∅
+ │ │ │ ├── statements: ∅
+ │ │ │ └── consequent: ∅
+ │ │ ├── else_clause: ∅
+ │ │ ├── ensure_clause:
+ │ │ │ @ EnsureNode (location: (92,0)-(93,3))
+ │ │ │ ├── ensure_keyword_loc: (92,0)-(92,6) = "ensure"
+ │ │ │ ├── statements: ∅
+ │ │ │ └── end_keyword_loc: (93,0)-(93,3) = "end"
+ │ │ └── end_keyword_loc: (93,0)-(93,3) = "end"
+ │ ├── opening_loc: (90,2)-(90,4) = "do"
+ │ └── closing_loc: (93,0)-(93,3) = "end"
└── @ CallNode (location: (94,0)-(96,1))
+ ├── flags: ∅
├── receiver: ∅
├── call_operator_loc: ∅
├── name: :bar
@@ -1374,35 +1375,34 @@
├── opening_loc: ∅
├── arguments: ∅
├── closing_loc: ∅
- ├── block:
- │ @ BlockNode (location: (94,4)-(96,1))
- │ ├── locals: [:_1, :_2]
- │ ├── locals_body_index: 2
- │ ├── parameters:
- │ │ @ NumberedParametersNode (location: (94,4)-(96,1))
- │ │ └── maximum: 2
- │ ├── body:
- │ │ @ StatementsNode (location: (95,2)-(95,9))
- │ │ └── body: (length: 1)
- │ │ └── @ CallNode (location: (95,2)-(95,9))
- │ │ ├── receiver:
- │ │ │ @ LocalVariableReadNode (location: (95,2)-(95,4))
- │ │ │ ├── name: :_1
- │ │ │ └── depth: 0
- │ │ ├── call_operator_loc: ∅
- │ │ ├── name: :+
- │ │ ├── message_loc: (95,5)-(95,6) = "+"
- │ │ ├── opening_loc: ∅
- │ │ ├── arguments:
- │ │ │ @ ArgumentsNode (location: (95,7)-(95,9))
- │ │ │ ├── arguments: (length: 1)
- │ │ │ │ └── @ LocalVariableReadNode (location: (95,7)-(95,9))
- │ │ │ │ ├── name: :_2
- │ │ │ │ └── depth: 0
- │ │ │ └── flags: ∅
- │ │ ├── closing_loc: ∅
- │ │ ├── block: ∅
- │ │ └── flags: ∅
- │ ├── opening_loc: (94,4)-(94,5) = "{"
- │ └── closing_loc: (96,0)-(96,1) = "}"
- └── flags: ∅
+ └── block:
+ @ BlockNode (location: (94,4)-(96,1))
+ ├── locals: [:_1, :_2]
+ ├── locals_body_index: 2
+ ├── parameters:
+ │ @ NumberedParametersNode (location: (94,4)-(96,1))
+ │ └── maximum: 2
+ ├── body:
+ │ @ StatementsNode (location: (95,2)-(95,9))
+ │ └── body: (length: 1)
+ │ └── @ CallNode (location: (95,2)-(95,9))
+ │ ├── flags: ∅
+ │ ├── receiver:
+ │ │ @ LocalVariableReadNode (location: (95,2)-(95,4))
+ │ │ ├── name: :_1
+ │ │ └── depth: 0
+ │ ├── call_operator_loc: ∅
+ │ ├── name: :+
+ │ ├── message_loc: (95,5)-(95,6) = "+"
+ │ ├── opening_loc: ∅
+ │ ├── arguments:
+ │ │ @ ArgumentsNode (location: (95,7)-(95,9))
+ │ │ ├── flags: ∅
+ │ │ └── arguments: (length: 1)
+ │ │ └── @ LocalVariableReadNode (location: (95,7)-(95,9))
+ │ │ ├── name: :_2
+ │ │ └── depth: 0
+ │ ├── closing_loc: ∅
+ │ └── block: ∅
+ ├── opening_loc: (94,4)-(94,5) = "{"
+ └── closing_loc: (96,0)-(96,1) = "}"
diff --git a/test/prism/snapshots/unparser/corpus/literal/case.txt b/test/prism/snapshots/unparser/corpus/literal/case.txt
index 6d56f7edcc..4e07760e85 100644
--- a/test/prism/snapshots/unparser/corpus/literal/case.txt
+++ b/test/prism/snapshots/unparser/corpus/literal/case.txt
@@ -10,6 +10,7 @@
│ │ │ ├── keyword_loc: (2,0)-(2,4) = "when"
│ │ │ ├── conditions: (length: 1)
│ │ │ │ └── @ CallNode (location: (2,5)-(2,8))
+ │ │ │ │ ├── flags: variable_call
│ │ │ │ ├── receiver: ∅
│ │ │ │ ├── call_operator_loc: ∅
│ │ │ │ ├── name: :bar
@@ -17,12 +18,12 @@
│ │ │ │ ├── opening_loc: ∅
│ │ │ │ ├── arguments: ∅
│ │ │ │ ├── closing_loc: ∅
- │ │ │ │ ├── block: ∅
- │ │ │ │ └── flags: variable_call
+ │ │ │ │ └── block: ∅
│ │ │ └── statements:
│ │ │ @ StatementsNode (location: (3,2)-(3,5))
│ │ │ └── body: (length: 1)
│ │ │ └── @ CallNode (location: (3,2)-(3,5))
+ │ │ │ ├── flags: variable_call
│ │ │ ├── receiver: ∅
│ │ │ ├── call_operator_loc: ∅
│ │ │ ├── name: :baz
@@ -30,12 +31,12 @@
│ │ │ ├── opening_loc: ∅
│ │ │ ├── arguments: ∅
│ │ │ ├── closing_loc: ∅
- │ │ │ ├── block: ∅
- │ │ │ └── flags: variable_call
+ │ │ │ └── block: ∅
│ │ └── @ WhenNode (location: (4,0)-(5,5))
│ │ ├── keyword_loc: (4,0)-(4,4) = "when"
│ │ ├── conditions: (length: 1)
│ │ │ └── @ CallNode (location: (4,5)-(4,8))
+ │ │ │ ├── flags: variable_call
│ │ │ ├── receiver: ∅
│ │ │ ├── call_operator_loc: ∅
│ │ │ ├── name: :baz
@@ -43,12 +44,12 @@
│ │ │ ├── opening_loc: ∅
│ │ │ ├── arguments: ∅
│ │ │ ├── closing_loc: ∅
- │ │ │ ├── block: ∅
- │ │ │ └── flags: variable_call
+ │ │ │ └── block: ∅
│ │ └── statements:
│ │ @ StatementsNode (location: (5,2)-(5,5))
│ │ └── body: (length: 1)
│ │ └── @ CallNode (location: (5,2)-(5,5))
+ │ │ ├── flags: variable_call
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
│ │ ├── name: :bar
@@ -56,14 +57,14 @@
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
- │ │ ├── block: ∅
- │ │ └── flags: variable_call
+ │ │ └── block: ∅
│ ├── consequent: ∅
│ ├── case_keyword_loc: (1,0)-(1,4) = "case"
│ └── end_keyword_loc: (6,0)-(6,3) = "end"
├── @ CaseNode (location: (7,0)-(11,3))
│ ├── predicate:
│ │ @ CallNode (location: (7,5)-(7,8))
+ │ │ ├── flags: variable_call
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
│ │ ├── name: :foo
@@ -71,13 +72,13 @@
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
- │ │ ├── block: ∅
- │ │ └── flags: variable_call
+ │ │ └── block: ∅
│ ├── conditions: (length: 2)
│ │ ├── @ WhenNode (location: (8,0)-(8,8))
│ │ │ ├── keyword_loc: (8,0)-(8,4) = "when"
│ │ │ ├── conditions: (length: 1)
│ │ │ │ └── @ CallNode (location: (8,5)-(8,8))
+ │ │ │ │ ├── flags: variable_call
│ │ │ │ ├── receiver: ∅
│ │ │ │ ├── call_operator_loc: ∅
│ │ │ │ ├── name: :bar
@@ -85,13 +86,13 @@
│ │ │ │ ├── opening_loc: ∅
│ │ │ │ ├── arguments: ∅
│ │ │ │ ├── closing_loc: ∅
- │ │ │ │ ├── block: ∅
- │ │ │ │ └── flags: variable_call
+ │ │ │ │ └── block: ∅
│ │ │ └── statements: ∅
│ │ └── @ WhenNode (location: (9,0)-(10,5))
│ │ ├── keyword_loc: (9,0)-(9,4) = "when"
│ │ ├── conditions: (length: 1)
│ │ │ └── @ CallNode (location: (9,5)-(9,8))
+ │ │ │ ├── flags: variable_call
│ │ │ ├── receiver: ∅
│ │ │ ├── call_operator_loc: ∅
│ │ │ ├── name: :baz
@@ -99,12 +100,12 @@
│ │ │ ├── opening_loc: ∅
│ │ │ ├── arguments: ∅
│ │ │ ├── closing_loc: ∅
- │ │ │ ├── block: ∅
- │ │ │ └── flags: variable_call
+ │ │ │ └── block: ∅
│ │ └── statements:
│ │ @ StatementsNode (location: (10,2)-(10,5))
│ │ └── body: (length: 1)
│ │ └── @ CallNode (location: (10,2)-(10,5))
+ │ │ ├── flags: variable_call
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
│ │ ├── name: :bar
@@ -112,14 +113,14 @@
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
- │ │ ├── block: ∅
- │ │ └── flags: variable_call
+ │ │ └── block: ∅
│ ├── consequent: ∅
│ ├── case_keyword_loc: (7,0)-(7,4) = "case"
│ └── end_keyword_loc: (11,0)-(11,3) = "end"
├── @ CaseNode (location: (12,0)-(17,3))
│ ├── predicate:
│ │ @ CallNode (location: (12,5)-(12,8))
+ │ │ ├── flags: variable_call
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
│ │ ├── name: :foo
@@ -127,13 +128,13 @@
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
- │ │ ├── block: ∅
- │ │ └── flags: variable_call
+ │ │ └── block: ∅
│ ├── conditions: (length: 2)
│ │ ├── @ WhenNode (location: (13,0)-(14,5))
│ │ │ ├── keyword_loc: (13,0)-(13,4) = "when"
│ │ │ ├── conditions: (length: 1)
│ │ │ │ └── @ CallNode (location: (13,5)-(13,8))
+ │ │ │ │ ├── flags: variable_call
│ │ │ │ ├── receiver: ∅
│ │ │ │ ├── call_operator_loc: ∅
│ │ │ │ ├── name: :bar
@@ -141,12 +142,12 @@
│ │ │ │ ├── opening_loc: ∅
│ │ │ │ ├── arguments: ∅
│ │ │ │ ├── closing_loc: ∅
- │ │ │ │ ├── block: ∅
- │ │ │ │ └── flags: variable_call
+ │ │ │ │ └── block: ∅
│ │ │ └── statements:
│ │ │ @ StatementsNode (location: (14,2)-(14,5))
│ │ │ └── body: (length: 1)
│ │ │ └── @ CallNode (location: (14,2)-(14,5))
+ │ │ │ ├── flags: variable_call
│ │ │ ├── receiver: ∅
│ │ │ ├── call_operator_loc: ∅
│ │ │ ├── name: :baz
@@ -154,12 +155,12 @@
│ │ │ ├── opening_loc: ∅
│ │ │ ├── arguments: ∅
│ │ │ ├── closing_loc: ∅
- │ │ │ ├── block: ∅
- │ │ │ └── flags: variable_call
+ │ │ │ └── block: ∅
│ │ └── @ WhenNode (location: (15,0)-(16,5))
│ │ ├── keyword_loc: (15,0)-(15,4) = "when"
│ │ ├── conditions: (length: 1)
│ │ │ └── @ CallNode (location: (15,5)-(15,8))
+ │ │ │ ├── flags: variable_call
│ │ │ ├── receiver: ∅
│ │ │ ├── call_operator_loc: ∅
│ │ │ ├── name: :baz
@@ -167,12 +168,12 @@
│ │ │ ├── opening_loc: ∅
│ │ │ ├── arguments: ∅
│ │ │ ├── closing_loc: ∅
- │ │ │ ├── block: ∅
- │ │ │ └── flags: variable_call
+ │ │ │ └── block: ∅
│ │ └── statements:
│ │ @ StatementsNode (location: (16,2)-(16,5))
│ │ └── body: (length: 1)
│ │ └── @ CallNode (location: (16,2)-(16,5))
+ │ │ ├── flags: variable_call
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
│ │ ├── name: :bar
@@ -180,14 +181,14 @@
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
- │ │ ├── block: ∅
- │ │ └── flags: variable_call
+ │ │ └── block: ∅
│ ├── consequent: ∅
│ ├── case_keyword_loc: (12,0)-(12,4) = "case"
│ └── end_keyword_loc: (17,0)-(17,3) = "end"
├── @ CaseNode (location: (18,0)-(21,3))
│ ├── predicate:
│ │ @ CallNode (location: (18,5)-(18,8))
+ │ │ ├── flags: variable_call
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
│ │ ├── name: :foo
@@ -195,13 +196,13 @@
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
- │ │ ├── block: ∅
- │ │ └── flags: variable_call
+ │ │ └── block: ∅
│ ├── conditions: (length: 1)
│ │ └── @ WhenNode (location: (19,0)-(20,8))
│ │ ├── keyword_loc: (19,0)-(19,4) = "when"
│ │ ├── conditions: (length: 2)
│ │ │ ├── @ CallNode (location: (19,5)-(19,8))
+ │ │ │ │ ├── flags: variable_call
│ │ │ │ ├── receiver: ∅
│ │ │ │ ├── call_operator_loc: ∅
│ │ │ │ ├── name: :bar
@@ -209,9 +210,9 @@
│ │ │ │ ├── opening_loc: ∅
│ │ │ │ ├── arguments: ∅
│ │ │ │ ├── closing_loc: ∅
- │ │ │ │ ├── block: ∅
- │ │ │ │ └── flags: variable_call
+ │ │ │ │ └── block: ∅
│ │ │ └── @ CallNode (location: (19,10)-(19,13))
+ │ │ │ ├── flags: variable_call
│ │ │ ├── receiver: ∅
│ │ │ ├── call_operator_loc: ∅
│ │ │ ├── name: :baz
@@ -219,8 +220,7 @@
│ │ │ ├── opening_loc: ∅
│ │ │ ├── arguments: ∅
│ │ │ ├── closing_loc: ∅
- │ │ │ ├── block: ∅
- │ │ │ └── flags: variable_call
+ │ │ │ └── block: ∅
│ │ └── statements:
│ │ @ StatementsNode (location: (20,2)-(20,8))
│ │ └── body: (length: 1)
@@ -235,6 +235,7 @@
├── @ CaseNode (location: (22,0)-(25,3))
│ ├── predicate:
│ │ @ CallNode (location: (22,5)-(22,8))
+ │ │ ├── flags: variable_call
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
│ │ ├── name: :foo
@@ -242,8 +243,7 @@
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
- │ │ ├── block: ∅
- │ │ └── flags: variable_call
+ │ │ └── block: ∅
│ ├── conditions: (length: 1)
│ │ └── @ WhenNode (location: (23,0)-(24,8))
│ │ ├── keyword_loc: (23,0)-(23,4) = "when"
@@ -252,6 +252,7 @@
│ │ │ ├── operator_loc: (23,5)-(23,6) = "*"
│ │ │ └── expression:
│ │ │ @ CallNode (location: (23,6)-(23,9))
+ │ │ │ ├── flags: variable_call
│ │ │ ├── receiver: ∅
│ │ │ ├── call_operator_loc: ∅
│ │ │ ├── name: :bar
@@ -259,8 +260,7 @@
│ │ │ ├── opening_loc: ∅
│ │ │ ├── arguments: ∅
│ │ │ ├── closing_loc: ∅
- │ │ │ ├── block: ∅
- │ │ │ └── flags: variable_call
+ │ │ │ └── block: ∅
│ │ └── statements:
│ │ @ StatementsNode (location: (24,2)-(24,8))
│ │ └── body: (length: 1)
@@ -275,6 +275,7 @@
├── @ CaseNode (location: (26,0)-(31,3))
│ ├── predicate:
│ │ @ CallNode (location: (26,5)-(26,8))
+ │ │ ├── flags: variable_call
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
│ │ ├── name: :foo
@@ -282,13 +283,13 @@
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
- │ │ ├── block: ∅
- │ │ └── flags: variable_call
+ │ │ └── block: ∅
│ ├── conditions: (length: 1)
│ │ └── @ WhenNode (location: (27,0)-(28,5))
│ │ ├── keyword_loc: (27,0)-(27,4) = "when"
│ │ ├── conditions: (length: 1)
│ │ │ └── @ CallNode (location: (27,5)-(27,8))
+ │ │ │ ├── flags: variable_call
│ │ │ ├── receiver: ∅
│ │ │ ├── call_operator_loc: ∅
│ │ │ ├── name: :bar
@@ -296,12 +297,12 @@
│ │ │ ├── opening_loc: ∅
│ │ │ ├── arguments: ∅
│ │ │ ├── closing_loc: ∅
- │ │ │ ├── block: ∅
- │ │ │ └── flags: variable_call
+ │ │ │ └── block: ∅
│ │ └── statements:
│ │ @ StatementsNode (location: (28,2)-(28,5))
│ │ └── body: (length: 1)
│ │ └── @ CallNode (location: (28,2)-(28,5))
+ │ │ ├── flags: variable_call
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
│ │ ├── name: :baz
@@ -309,8 +310,7 @@
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
- │ │ ├── block: ∅
- │ │ └── flags: variable_call
+ │ │ └── block: ∅
│ ├── consequent:
│ │ @ ElseNode (location: (29,0)-(31,3))
│ │ ├── else_keyword_loc: (29,0)-(29,4) = "else"
@@ -328,6 +328,7 @@
├── @ CaseNode (location: (32,0)-(34,3))
│ ├── predicate:
│ │ @ CallNode (location: (32,5)-(32,8))
+ │ │ ├── flags: variable_call
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
│ │ ├── name: :foo
@@ -335,8 +336,7 @@
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
- │ │ ├── block: ∅
- │ │ └── flags: variable_call
+ │ │ └── block: ∅
│ ├── conditions: (length: 1)
│ │ └── @ WhenNode (location: (33,0)-(33,15))
│ │ ├── keyword_loc: (33,0)-(33,4) = "when"
@@ -345,8 +345,10 @@
│ │ │ ├── operator_loc: (33,5)-(33,6) = "*"
│ │ │ └── expression:
│ │ │ @ CallNode (location: (33,6)-(33,15))
+ │ │ │ ├── flags: ∅
│ │ │ ├── receiver:
│ │ │ │ @ CallNode (location: (33,6)-(33,9))
+ │ │ │ │ ├── flags: variable_call
│ │ │ │ ├── receiver: ∅
│ │ │ │ ├── call_operator_loc: ∅
│ │ │ │ ├── name: :bar
@@ -354,29 +356,27 @@
│ │ │ │ ├── opening_loc: ∅
│ │ │ │ ├── arguments: ∅
│ │ │ │ ├── closing_loc: ∅
- │ │ │ │ ├── block: ∅
- │ │ │ │ └── flags: variable_call
+ │ │ │ │ └── block: ∅
│ │ │ ├── call_operator_loc: ∅
│ │ │ ├── name: :|
│ │ │ ├── message_loc: (33,10)-(33,11) = "|"
│ │ │ ├── opening_loc: ∅
│ │ │ ├── arguments:
│ │ │ │ @ ArgumentsNode (location: (33,12)-(33,15))
- │ │ │ │ ├── arguments: (length: 1)
- │ │ │ │ │ └── @ CallNode (location: (33,12)-(33,15))
- │ │ │ │ │ ├── receiver: ∅
- │ │ │ │ │ ├── call_operator_loc: ∅
- │ │ │ │ │ ├── name: :baz
- │ │ │ │ │ ├── message_loc: (33,12)-(33,15) = "baz"
- │ │ │ │ │ ├── opening_loc: ∅
- │ │ │ │ │ ├── arguments: ∅
- │ │ │ │ │ ├── closing_loc: ∅
- │ │ │ │ │ ├── block: ∅
- │ │ │ │ │ └── flags: variable_call
- │ │ │ │ └── flags: ∅
+ │ │ │ │ ├── flags: ∅
+ │ │ │ │ └── arguments: (length: 1)
+ │ │ │ │ └── @ CallNode (location: (33,12)-(33,15))
+ │ │ │ │ ├── flags: variable_call
+ │ │ │ │ ├── receiver: ∅
+ │ │ │ │ ├── call_operator_loc: ∅
+ │ │ │ │ ├── name: :baz
+ │ │ │ │ ├── message_loc: (33,12)-(33,15) = "baz"
+ │ │ │ │ ├── opening_loc: ∅
+ │ │ │ │ ├── arguments: ∅
+ │ │ │ │ ├── closing_loc: ∅
+ │ │ │ │ └── block: ∅
│ │ │ ├── closing_loc: ∅
- │ │ │ ├── block: ∅
- │ │ │ └── flags: ∅
+ │ │ │ └── block: ∅
│ │ └── statements: ∅
│ ├── consequent: ∅
│ ├── case_keyword_loc: (32,0)-(32,4) = "case"
@@ -384,6 +384,7 @@
└── @ CaseNode (location: (35,0)-(37,3))
├── predicate:
│ @ CallNode (location: (35,5)-(35,8))
+ │ ├── flags: variable_call
│ ├── receiver: ∅
│ ├── call_operator_loc: ∅
│ ├── name: :foo
@@ -391,8 +392,7 @@
│ ├── opening_loc: ∅
│ ├── arguments: ∅
│ ├── closing_loc: ∅
- │ ├── block: ∅
- │ └── flags: variable_call
+ │ └── block: ∅
├── conditions: (length: 1)
│ └── @ WhenNode (location: (36,0)-(36,15))
│ ├── keyword_loc: (36,0)-(36,4) = "when"
@@ -401,8 +401,10 @@
│ │ ├── operator_loc: (36,5)-(36,6) = "*"
│ │ └── expression:
│ │ @ CallNode (location: (36,6)-(36,15))
+ │ │ ├── flags: ∅
│ │ ├── receiver:
│ │ │ @ CallNode (location: (36,6)-(36,9))
+ │ │ │ ├── flags: variable_call
│ │ │ ├── receiver: ∅
│ │ │ ├── call_operator_loc: ∅
│ │ │ ├── name: :bar
@@ -410,21 +412,19 @@
│ │ │ ├── opening_loc: ∅
│ │ │ ├── arguments: ∅
│ │ │ ├── closing_loc: ∅
- │ │ │ ├── block: ∅
- │ │ │ └── flags: variable_call
+ │ │ │ └── block: ∅
│ │ ├── call_operator_loc: (36,9)-(36,10) = "."
│ │ ├── name: :baz=
│ │ ├── message_loc: (36,10)-(36,13) = "baz"
│ │ ├── opening_loc: ∅
│ │ ├── arguments:
│ │ │ @ ArgumentsNode (location: (36,14)-(36,15))
- │ │ │ ├── arguments: (length: 1)
- │ │ │ │ └── @ IntegerNode (location: (36,14)-(36,15))
- │ │ │ │ └── flags: decimal
- │ │ │ └── flags: ∅
+ │ │ │ ├── flags: ∅
+ │ │ │ └── arguments: (length: 1)
+ │ │ │ └── @ IntegerNode (location: (36,14)-(36,15))
+ │ │ │ └── flags: decimal
│ │ ├── closing_loc: ∅
- │ │ ├── block: ∅
- │ │ └── flags: ∅
+ │ │ └── block: ∅
│ └── statements: ∅
├── consequent: ∅
├── case_keyword_loc: (35,0)-(35,4) = "case"
diff --git a/test/prism/snapshots/unparser/corpus/literal/class.txt b/test/prism/snapshots/unparser/corpus/literal/class.txt
index 63cb4a7d76..6698b6ac40 100644
--- a/test/prism/snapshots/unparser/corpus/literal/class.txt
+++ b/test/prism/snapshots/unparser/corpus/literal/class.txt
@@ -20,6 +20,7 @@
│ ├── operator_loc: (4,6)-(4,8) = "<<"
│ ├── expression:
│ │ @ CallNode (location: (4,9)-(4,10))
+ │ │ ├── flags: variable_call
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
│ │ ├── name: :a
@@ -27,8 +28,7 @@
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
- │ │ ├── block: ∅
- │ │ └── flags: variable_call
+ │ │ └── block: ∅
│ ├── body: ∅
│ └── end_keyword_loc: (5,0)-(5,3) = "end"
├── @ SingletonClassNode (location: (7,0)-(9,3))
@@ -37,6 +37,7 @@
│ ├── operator_loc: (7,6)-(7,8) = "<<"
│ ├── expression:
│ │ @ CallNode (location: (7,9)-(7,10))
+ │ │ ├── flags: variable_call
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
│ │ ├── name: :a
@@ -44,12 +45,12 @@
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
- │ │ ├── block: ∅
- │ │ └── flags: variable_call
+ │ │ └── block: ∅
│ ├── body:
│ │ @ StatementsNode (location: (8,2)-(8,3))
│ │ └── body: (length: 1)
│ │ └── @ CallNode (location: (8,2)-(8,3))
+ │ │ ├── flags: variable_call
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
│ │ ├── name: :b
@@ -57,8 +58,7 @@
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
- │ │ ├── block: ∅
- │ │ └── flags: variable_call
+ │ │ └── block: ∅
│ └── end_keyword_loc: (9,0)-(9,3) = "end"
├── @ ClassNode (location: (11,0)-(12,3))
│ ├── locals: []
@@ -169,6 +169,7 @@
│ │ @ StatementsNode (location: (27,2)-(31,5))
│ │ └── body: (length: 2)
│ │ ├── @ CallNode (location: (27,2)-(27,16))
+ │ │ │ ├── flags: ∅
│ │ │ ├── receiver: ∅
│ │ │ ├── call_operator_loc: ∅
│ │ │ ├── name: :include
@@ -176,23 +177,22 @@
│ │ │ ├── opening_loc: (27,9)-(27,10) = "("
│ │ │ ├── arguments:
│ │ │ │ @ ArgumentsNode (location: (27,10)-(27,15))
- │ │ │ │ ├── arguments: (length: 1)
- │ │ │ │ │ └── @ CallNode (location: (27,10)-(27,15))
- │ │ │ │ │ ├── receiver:
- │ │ │ │ │ │ @ ConstantReadNode (location: (27,10)-(27,11))
- │ │ │ │ │ │ └── name: :B
- │ │ │ │ │ ├── call_operator_loc: (27,11)-(27,12) = "."
- │ │ │ │ │ ├── name: :new
- │ │ │ │ │ ├── message_loc: (27,12)-(27,15) = "new"
- │ │ │ │ │ ├── opening_loc: ∅
- │ │ │ │ │ ├── arguments: ∅
- │ │ │ │ │ ├── closing_loc: ∅
- │ │ │ │ │ ├── block: ∅
- │ │ │ │ │ └── flags: ∅
- │ │ │ │ └── flags: ∅
+ │ │ │ │ ├── flags: ∅
+ │ │ │ │ └── arguments: (length: 1)
+ │ │ │ │ └── @ CallNode (location: (27,10)-(27,15))
+ │ │ │ │ ├── flags: ∅
+ │ │ │ │ ├── receiver:
+ │ │ │ │ │ @ ConstantReadNode (location: (27,10)-(27,11))
+ │ │ │ │ │ └── name: :B
+ │ │ │ │ ├── call_operator_loc: (27,11)-(27,12) = "."
+ │ │ │ │ ├── name: :new
+ │ │ │ │ ├── message_loc: (27,12)-(27,15) = "new"
+ │ │ │ │ ├── opening_loc: ∅
+ │ │ │ │ ├── arguments: ∅
+ │ │ │ │ ├── closing_loc: ∅
+ │ │ │ │ └── block: ∅
│ │ │ ├── closing_loc: (27,15)-(27,16) = ")"
- │ │ │ ├── block: ∅
- │ │ │ └── flags: ∅
+ │ │ │ └── block: ∅
│ │ └── @ DefNode (location: (29,2)-(31,5))
│ │ ├── name: :foo
│ │ ├── name_loc: (29,6)-(29,9) = "foo"
diff --git a/test/prism/snapshots/unparser/corpus/literal/control.txt b/test/prism/snapshots/unparser/corpus/literal/control.txt
index 9e4b52341e..3f667bd431 100644
--- a/test/prism/snapshots/unparser/corpus/literal/control.txt
+++ b/test/prism/snapshots/unparser/corpus/literal/control.txt
@@ -18,122 +18,122 @@
│ ├── keyword_loc: (6,0)-(6,6) = "return"
│ └── arguments:
│ @ ArgumentsNode (location: (6,7)-(6,8))
- │ ├── arguments: (length: 1)
- │ │ └── @ IntegerNode (location: (6,7)-(6,8))
- │ │ └── flags: decimal
- │ └── flags: ∅
+ │ ├── flags: ∅
+ │ └── arguments: (length: 1)
+ │ └── @ IntegerNode (location: (6,7)-(6,8))
+ │ └── flags: decimal
├── @ ReturnNode (location: (7,0)-(7,11))
│ ├── keyword_loc: (7,0)-(7,6) = "return"
│ └── arguments:
│ @ ArgumentsNode (location: (7,7)-(7,11))
- │ ├── arguments: (length: 2)
- │ │ ├── @ IntegerNode (location: (7,7)-(7,8))
- │ │ │ └── flags: decimal
- │ │ └── @ IntegerNode (location: (7,10)-(7,11))
- │ │ └── flags: decimal
- │ └── flags: ∅
+ │ ├── flags: ∅
+ │ └── arguments: (length: 2)
+ │ ├── @ IntegerNode (location: (7,7)-(7,8))
+ │ │ └── flags: decimal
+ │ └── @ IntegerNode (location: (7,10)-(7,11))
+ │ └── flags: decimal
├── @ ReturnNode (location: (8,0)-(8,19))
│ ├── keyword_loc: (8,0)-(8,6) = "return"
│ └── arguments:
│ @ ArgumentsNode (location: (8,7)-(8,19))
- │ ├── arguments: (length: 1)
- │ │ └── @ IfNode (location: (8,7)-(8,19))
- │ │ ├── if_keyword_loc: ∅
- │ │ ├── predicate:
- │ │ │ @ TrueNode (location: (8,7)-(8,11))
- │ │ ├── then_keyword_loc: (8,12)-(8,13) = "?"
- │ │ ├── statements:
- │ │ │ @ StatementsNode (location: (8,14)-(8,15))
- │ │ │ └── body: (length: 1)
- │ │ │ └── @ IntegerNode (location: (8,14)-(8,15))
- │ │ │ └── flags: decimal
- │ │ ├── consequent:
- │ │ │ @ ElseNode (location: (8,16)-(8,19))
- │ │ │ ├── else_keyword_loc: (8,16)-(8,17) = ":"
- │ │ │ ├── statements:
- │ │ │ │ @ StatementsNode (location: (8,18)-(8,19))
- │ │ │ │ └── body: (length: 1)
- │ │ │ │ └── @ IntegerNode (location: (8,18)-(8,19))
- │ │ │ │ └── flags: decimal
- │ │ │ └── end_keyword_loc: ∅
- │ │ └── end_keyword_loc: ∅
- │ └── flags: ∅
+ │ ├── flags: ∅
+ │ └── arguments: (length: 1)
+ │ └── @ IfNode (location: (8,7)-(8,19))
+ │ ├── if_keyword_loc: ∅
+ │ ├── predicate:
+ │ │ @ TrueNode (location: (8,7)-(8,11))
+ │ ├── then_keyword_loc: (8,12)-(8,13) = "?"
+ │ ├── statements:
+ │ │ @ StatementsNode (location: (8,14)-(8,15))
+ │ │ └── body: (length: 1)
+ │ │ └── @ IntegerNode (location: (8,14)-(8,15))
+ │ │ └── flags: decimal
+ │ ├── consequent:
+ │ │ @ ElseNode (location: (8,16)-(8,19))
+ │ │ ├── else_keyword_loc: (8,16)-(8,17) = ":"
+ │ │ ├── statements:
+ │ │ │ @ StatementsNode (location: (8,18)-(8,19))
+ │ │ │ └── body: (length: 1)
+ │ │ │ └── @ IntegerNode (location: (8,18)-(8,19))
+ │ │ │ └── flags: decimal
+ │ │ └── end_keyword_loc: ∅
+ │ └── end_keyword_loc: ∅
├── @ BreakNode (location: (9,0)-(9,18))
│ ├── arguments:
│ │ @ ArgumentsNode (location: (9,6)-(9,18))
- │ │ ├── arguments: (length: 1)
- │ │ │ └── @ IfNode (location: (9,6)-(9,18))
- │ │ │ ├── if_keyword_loc: ∅
- │ │ │ ├── predicate:
- │ │ │ │ @ TrueNode (location: (9,6)-(9,10))
- │ │ │ ├── then_keyword_loc: (9,11)-(9,12) = "?"
- │ │ │ ├── statements:
- │ │ │ │ @ StatementsNode (location: (9,13)-(9,14))
- │ │ │ │ └── body: (length: 1)
- │ │ │ │ └── @ IntegerNode (location: (9,13)-(9,14))
- │ │ │ │ └── flags: decimal
- │ │ │ ├── consequent:
- │ │ │ │ @ ElseNode (location: (9,15)-(9,18))
- │ │ │ │ ├── else_keyword_loc: (9,15)-(9,16) = ":"
- │ │ │ │ ├── statements:
- │ │ │ │ │ @ StatementsNode (location: (9,17)-(9,18))
- │ │ │ │ │ └── body: (length: 1)
- │ │ │ │ │ └── @ IntegerNode (location: (9,17)-(9,18))
- │ │ │ │ │ └── flags: decimal
- │ │ │ │ └── end_keyword_loc: ∅
- │ │ │ └── end_keyword_loc: ∅
- │ │ └── flags: ∅
+ │ │ ├── flags: ∅
+ │ │ └── arguments: (length: 1)
+ │ │ └── @ IfNode (location: (9,6)-(9,18))
+ │ │ ├── if_keyword_loc: ∅
+ │ │ ├── predicate:
+ │ │ │ @ TrueNode (location: (9,6)-(9,10))
+ │ │ ├── then_keyword_loc: (9,11)-(9,12) = "?"
+ │ │ ├── statements:
+ │ │ │ @ StatementsNode (location: (9,13)-(9,14))
+ │ │ │ └── body: (length: 1)
+ │ │ │ └── @ IntegerNode (location: (9,13)-(9,14))
+ │ │ │ └── flags: decimal
+ │ │ ├── consequent:
+ │ │ │ @ ElseNode (location: (9,15)-(9,18))
+ │ │ │ ├── else_keyword_loc: (9,15)-(9,16) = ":"
+ │ │ │ ├── statements:
+ │ │ │ │ @ StatementsNode (location: (9,17)-(9,18))
+ │ │ │ │ └── body: (length: 1)
+ │ │ │ │ └── @ IntegerNode (location: (9,17)-(9,18))
+ │ │ │ │ └── flags: decimal
+ │ │ │ └── end_keyword_loc: ∅
+ │ │ └── end_keyword_loc: ∅
│ └── keyword_loc: (9,0)-(9,5) = "break"
├── @ NextNode (location: (10,0)-(10,17))
│ ├── arguments:
│ │ @ ArgumentsNode (location: (10,5)-(10,17))
- │ │ ├── arguments: (length: 1)
- │ │ │ └── @ IfNode (location: (10,5)-(10,17))
- │ │ │ ├── if_keyword_loc: ∅
- │ │ │ ├── predicate:
- │ │ │ │ @ TrueNode (location: (10,5)-(10,9))
- │ │ │ ├── then_keyword_loc: (10,10)-(10,11) = "?"
- │ │ │ ├── statements:
- │ │ │ │ @ StatementsNode (location: (10,12)-(10,13))
- │ │ │ │ └── body: (length: 1)
- │ │ │ │ └── @ IntegerNode (location: (10,12)-(10,13))
- │ │ │ │ └── flags: decimal
- │ │ │ ├── consequent:
- │ │ │ │ @ ElseNode (location: (10,14)-(10,17))
- │ │ │ │ ├── else_keyword_loc: (10,14)-(10,15) = ":"
- │ │ │ │ ├── statements:
- │ │ │ │ │ @ StatementsNode (location: (10,16)-(10,17))
- │ │ │ │ │ └── body: (length: 1)
- │ │ │ │ │ └── @ IntegerNode (location: (10,16)-(10,17))
- │ │ │ │ │ └── flags: decimal
- │ │ │ │ └── end_keyword_loc: ∅
- │ │ │ └── end_keyword_loc: ∅
- │ │ └── flags: ∅
+ │ │ ├── flags: ∅
+ │ │ └── arguments: (length: 1)
+ │ │ └── @ IfNode (location: (10,5)-(10,17))
+ │ │ ├── if_keyword_loc: ∅
+ │ │ ├── predicate:
+ │ │ │ @ TrueNode (location: (10,5)-(10,9))
+ │ │ ├── then_keyword_loc: (10,10)-(10,11) = "?"
+ │ │ ├── statements:
+ │ │ │ @ StatementsNode (location: (10,12)-(10,13))
+ │ │ │ └── body: (length: 1)
+ │ │ │ └── @ IntegerNode (location: (10,12)-(10,13))
+ │ │ │ └── flags: decimal
+ │ │ ├── consequent:
+ │ │ │ @ ElseNode (location: (10,14)-(10,17))
+ │ │ │ ├── else_keyword_loc: (10,14)-(10,15) = ":"
+ │ │ │ ├── statements:
+ │ │ │ │ @ StatementsNode (location: (10,16)-(10,17))
+ │ │ │ │ └── body: (length: 1)
+ │ │ │ │ └── @ IntegerNode (location: (10,16)-(10,17))
+ │ │ │ │ └── flags: decimal
+ │ │ │ └── end_keyword_loc: ∅
+ │ │ └── end_keyword_loc: ∅
│ └── keyword_loc: (10,0)-(10,4) = "next"
└── @ ReturnNode (location: (11,0)-(15,3))
├── keyword_loc: (11,0)-(11,6) = "return"
└── arguments:
@ ArgumentsNode (location: (11,7)-(15,3))
- ├── arguments: (length: 2)
- │ ├── @ TrueNode (location: (11,7)-(11,11))
- │ └── @ IfNode (location: (11,13)-(15,3))
- │ ├── if_keyword_loc: (11,13)-(11,15) = "if"
- │ ├── predicate:
- │ │ @ TrueNode (location: (11,16)-(11,20))
- │ ├── then_keyword_loc: ∅
- │ ├── statements:
- │ │ @ StatementsNode (location: (12,2)-(12,3))
- │ │ └── body: (length: 1)
- │ │ └── @ IntegerNode (location: (12,2)-(12,3))
- │ │ └── flags: decimal
- │ ├── consequent:
- │ │ @ ElseNode (location: (13,0)-(15,3))
- │ │ ├── else_keyword_loc: (13,0)-(13,4) = "else"
- │ │ ├── statements:
- │ │ │ @ StatementsNode (location: (14,2)-(14,3))
- │ │ │ └── body: (length: 1)
- │ │ │ └── @ IntegerNode (location: (14,2)-(14,3))
- │ │ │ └── flags: decimal
- │ │ └── end_keyword_loc: (15,0)-(15,3) = "end"
- │ └── end_keyword_loc: (15,0)-(15,3) = "end"
- └── flags: ∅
+ ├── flags: ∅
+ └── arguments: (length: 2)
+ ├── @ TrueNode (location: (11,7)-(11,11))
+ └── @ IfNode (location: (11,13)-(15,3))
+ ├── if_keyword_loc: (11,13)-(11,15) = "if"
+ ├── predicate:
+ │ @ TrueNode (location: (11,16)-(11,20))
+ ├── then_keyword_loc: ∅
+ ├── statements:
+ │ @ StatementsNode (location: (12,2)-(12,3))
+ │ └── body: (length: 1)
+ │ └── @ IntegerNode (location: (12,2)-(12,3))
+ │ └── flags: decimal
+ ├── consequent:
+ │ @ ElseNode (location: (13,0)-(15,3))
+ │ ├── else_keyword_loc: (13,0)-(13,4) = "else"
+ │ ├── statements:
+ │ │ @ StatementsNode (location: (14,2)-(14,3))
+ │ │ └── body: (length: 1)
+ │ │ └── @ IntegerNode (location: (14,2)-(14,3))
+ │ │ └── flags: decimal
+ │ └── end_keyword_loc: (15,0)-(15,3) = "end"
+ └── end_keyword_loc: (15,0)-(15,3) = "end"
diff --git a/test/prism/snapshots/unparser/corpus/literal/def.txt b/test/prism/snapshots/unparser/corpus/literal/def.txt
index 1c8c461a8e..0648be1293 100644
--- a/test/prism/snapshots/unparser/corpus/literal/def.txt
+++ b/test/prism/snapshots/unparser/corpus/literal/def.txt
@@ -15,6 +15,7 @@
│ │ │ @ StatementsNode (location: (2,2)-(2,3))
│ │ │ └── body: (length: 1)
│ │ │ └── @ CallNode (location: (2,2)-(2,3))
+ │ │ │ ├── flags: variable_call
│ │ │ ├── receiver: ∅
│ │ │ ├── call_operator_loc: ∅
│ │ │ ├── name: :a
@@ -22,8 +23,7 @@
│ │ │ ├── opening_loc: ∅
│ │ │ ├── arguments: ∅
│ │ │ ├── closing_loc: ∅
- │ │ │ ├── block: ∅
- │ │ │ └── flags: variable_call
+ │ │ │ └── block: ∅
│ │ ├── rescue_clause:
│ │ │ @ RescueNode (location: (3,0)-(4,3))
│ │ │ ├── keyword_loc: (3,0)-(3,6) = "rescue"
@@ -34,6 +34,7 @@
│ │ │ │ @ StatementsNode (location: (4,2)-(4,3))
│ │ │ │ └── body: (length: 1)
│ │ │ │ └── @ CallNode (location: (4,2)-(4,3))
+ │ │ │ │ ├── flags: variable_call
│ │ │ │ ├── receiver: ∅
│ │ │ │ ├── call_operator_loc: ∅
│ │ │ │ ├── name: :b
@@ -41,8 +42,7 @@
│ │ │ │ ├── opening_loc: ∅
│ │ │ │ ├── arguments: ∅
│ │ │ │ ├── closing_loc: ∅
- │ │ │ │ ├── block: ∅
- │ │ │ │ └── flags: variable_call
+ │ │ │ │ └── block: ∅
│ │ │ └── consequent: ∅
│ │ ├── else_clause:
│ │ │ @ ElseNode (location: (5,0)-(7,6))
@@ -51,6 +51,7 @@
│ │ │ │ @ StatementsNode (location: (6,2)-(6,3))
│ │ │ │ └── body: (length: 1)
│ │ │ │ └── @ CallNode (location: (6,2)-(6,3))
+ │ │ │ │ ├── flags: variable_call
│ │ │ │ ├── receiver: ∅
│ │ │ │ ├── call_operator_loc: ∅
│ │ │ │ ├── name: :c
@@ -58,8 +59,7 @@
│ │ │ │ ├── opening_loc: ∅
│ │ │ │ ├── arguments: ∅
│ │ │ │ ├── closing_loc: ∅
- │ │ │ │ ├── block: ∅
- │ │ │ │ └── flags: variable_call
+ │ │ │ │ └── block: ∅
│ │ │ └── end_keyword_loc: (7,0)-(7,6) = "ensure"
│ │ ├── ensure_clause:
│ │ │ @ EnsureNode (location: (7,0)-(9,3))
@@ -68,6 +68,7 @@
│ │ │ │ @ StatementsNode (location: (8,2)-(8,3))
│ │ │ │ └── body: (length: 1)
│ │ │ │ └── @ CallNode (location: (8,2)-(8,3))
+ │ │ │ │ ├── flags: variable_call
│ │ │ │ ├── receiver: ∅
│ │ │ │ ├── call_operator_loc: ∅
│ │ │ │ ├── name: :d
@@ -75,8 +76,7 @@
│ │ │ │ ├── opening_loc: ∅
│ │ │ │ ├── arguments: ∅
│ │ │ │ ├── closing_loc: ∅
- │ │ │ │ ├── block: ∅
- │ │ │ │ └── flags: variable_call
+ │ │ │ │ └── block: ∅
│ │ │ └── end_keyword_loc: (9,0)-(9,3) = "end"
│ │ └── end_keyword_loc: (9,0)-(9,3) = "end"
│ ├── locals: []
@@ -101,6 +101,7 @@
│ │ │ └── @ RescueModifierNode (location: (12,2)-(12,12))
│ │ │ ├── expression:
│ │ │ │ @ CallNode (location: (12,2)-(12,3))
+ │ │ │ │ ├── flags: variable_call
│ │ │ │ ├── receiver: ∅
│ │ │ │ ├── call_operator_loc: ∅
│ │ │ │ ├── name: :a
@@ -108,11 +109,11 @@
│ │ │ │ ├── opening_loc: ∅
│ │ │ │ ├── arguments: ∅
│ │ │ │ ├── closing_loc: ∅
- │ │ │ │ ├── block: ∅
- │ │ │ │ └── flags: variable_call
+ │ │ │ │ └── block: ∅
│ │ │ ├── keyword_loc: (12,4)-(12,10) = "rescue"
│ │ │ └── rescue_expression:
│ │ │ @ CallNode (location: (12,11)-(12,12))
+ │ │ │ ├── flags: variable_call
│ │ │ ├── receiver: ∅
│ │ │ ├── call_operator_loc: ∅
│ │ │ ├── name: :b
@@ -120,8 +121,7 @@
│ │ │ ├── opening_loc: ∅
│ │ │ ├── arguments: ∅
│ │ │ ├── closing_loc: ∅
- │ │ │ ├── block: ∅
- │ │ │ └── flags: variable_call
+ │ │ │ └── block: ∅
│ │ ├── rescue_clause:
│ │ │ @ RescueNode (location: (13,0)-(14,3))
│ │ │ ├── keyword_loc: (13,0)-(13,6) = "rescue"
@@ -132,6 +132,7 @@
│ │ │ │ @ StatementsNode (location: (14,2)-(14,3))
│ │ │ │ └── body: (length: 1)
│ │ │ │ └── @ CallNode (location: (14,2)-(14,3))
+ │ │ │ │ ├── flags: variable_call
│ │ │ │ ├── receiver: ∅
│ │ │ │ ├── call_operator_loc: ∅
│ │ │ │ ├── name: :b
@@ -139,8 +140,7 @@
│ │ │ │ ├── opening_loc: ∅
│ │ │ │ ├── arguments: ∅
│ │ │ │ ├── closing_loc: ∅
- │ │ │ │ ├── block: ∅
- │ │ │ │ └── flags: variable_call
+ │ │ │ │ └── block: ∅
│ │ │ └── consequent: ∅
│ │ ├── else_clause:
│ │ │ @ ElseNode (location: (15,0)-(17,6))
@@ -149,6 +149,7 @@
│ │ │ │ @ StatementsNode (location: (16,2)-(16,3))
│ │ │ │ └── body: (length: 1)
│ │ │ │ └── @ CallNode (location: (16,2)-(16,3))
+ │ │ │ │ ├── flags: variable_call
│ │ │ │ ├── receiver: ∅
│ │ │ │ ├── call_operator_loc: ∅
│ │ │ │ ├── name: :c
@@ -156,8 +157,7 @@
│ │ │ │ ├── opening_loc: ∅
│ │ │ │ ├── arguments: ∅
│ │ │ │ ├── closing_loc: ∅
- │ │ │ │ ├── block: ∅
- │ │ │ │ └── flags: variable_call
+ │ │ │ │ └── block: ∅
│ │ │ └── end_keyword_loc: (17,0)-(17,6) = "ensure"
│ │ ├── ensure_clause:
│ │ │ @ EnsureNode (location: (17,0)-(19,3))
@@ -166,6 +166,7 @@
│ │ │ │ @ StatementsNode (location: (18,2)-(18,3))
│ │ │ │ └── body: (length: 1)
│ │ │ │ └── @ CallNode (location: (18,2)-(18,3))
+ │ │ │ │ ├── flags: variable_call
│ │ │ │ ├── receiver: ∅
│ │ │ │ ├── call_operator_loc: ∅
│ │ │ │ ├── name: :d
@@ -173,8 +174,7 @@
│ │ │ │ ├── opening_loc: ∅
│ │ │ │ ├── arguments: ∅
│ │ │ │ ├── closing_loc: ∅
- │ │ │ │ ├── block: ∅
- │ │ │ │ └── flags: variable_call
+ │ │ │ │ └── block: ∅
│ │ │ └── end_keyword_loc: (19,0)-(19,3) = "end"
│ │ └── end_keyword_loc: (19,0)-(19,3) = "end"
│ ├── locals: []
@@ -236,6 +236,7 @@
│ │ @ StatementsNode (location: (28,2)-(28,5))
│ │ └── body: (length: 1)
│ │ └── @ CallNode (location: (28,2)-(28,5))
+ │ │ ├── flags: variable_call
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
│ │ ├── name: :bar
@@ -243,8 +244,7 @@
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
- │ │ ├── block: ∅
- │ │ └── flags: variable_call
+ │ │ └── block: ∅
│ ├── locals: []
│ ├── locals_body_index: 0
│ ├── def_keyword_loc: (27,0)-(27,3) = "def"
@@ -265,6 +265,7 @@
│ │ │ @ StatementsNode (location: (32,2)-(32,5))
│ │ │ └── body: (length: 1)
│ │ │ └── @ CallNode (location: (32,2)-(32,5))
+ │ │ │ ├── flags: variable_call
│ │ │ ├── receiver: ∅
│ │ │ ├── call_operator_loc: ∅
│ │ │ ├── name: :foo
@@ -272,8 +273,7 @@
│ │ │ ├── opening_loc: ∅
│ │ │ ├── arguments: ∅
│ │ │ ├── closing_loc: ∅
- │ │ │ ├── block: ∅
- │ │ │ └── flags: variable_call
+ │ │ │ └── block: ∅
│ │ ├── rescue_clause:
│ │ │ @ RescueNode (location: (33,0)-(34,5))
│ │ │ ├── keyword_loc: (33,0)-(33,6) = "rescue"
@@ -284,6 +284,7 @@
│ │ │ │ @ StatementsNode (location: (34,2)-(34,5))
│ │ │ │ └── body: (length: 1)
│ │ │ │ └── @ CallNode (location: (34,2)-(34,5))
+ │ │ │ │ ├── flags: variable_call
│ │ │ │ ├── receiver: ∅
│ │ │ │ ├── call_operator_loc: ∅
│ │ │ │ ├── name: :bar
@@ -291,8 +292,7 @@
│ │ │ │ ├── opening_loc: ∅
│ │ │ │ ├── arguments: ∅
│ │ │ │ ├── closing_loc: ∅
- │ │ │ │ ├── block: ∅
- │ │ │ │ └── flags: variable_call
+ │ │ │ │ └── block: ∅
│ │ │ └── consequent: ∅
│ │ ├── else_clause: ∅
│ │ ├── ensure_clause:
@@ -302,6 +302,7 @@
│ │ │ │ @ StatementsNode (location: (36,2)-(36,5))
│ │ │ │ └── body: (length: 1)
│ │ │ │ └── @ CallNode (location: (36,2)-(36,5))
+ │ │ │ │ ├── flags: variable_call
│ │ │ │ ├── receiver: ∅
│ │ │ │ ├── call_operator_loc: ∅
│ │ │ │ ├── name: :baz
@@ -309,8 +310,7 @@
│ │ │ │ ├── opening_loc: ∅
│ │ │ │ ├── arguments: ∅
│ │ │ │ ├── closing_loc: ∅
- │ │ │ │ ├── block: ∅
- │ │ │ │ └── flags: variable_call
+ │ │ │ │ └── block: ∅
│ │ │ └── end_keyword_loc: (37,0)-(37,3) = "end"
│ │ └── end_keyword_loc: (37,0)-(37,3) = "end"
│ ├── locals: []
@@ -333,6 +333,7 @@
│ │ │ @ StatementsNode (location: (40,2)-(40,5))
│ │ │ └── body: (length: 1)
│ │ │ └── @ CallNode (location: (40,2)-(40,5))
+ │ │ │ ├── flags: variable_call
│ │ │ ├── receiver: ∅
│ │ │ ├── call_operator_loc: ∅
│ │ │ ├── name: :bar
@@ -340,8 +341,7 @@
│ │ │ ├── opening_loc: ∅
│ │ │ ├── arguments: ∅
│ │ │ ├── closing_loc: ∅
- │ │ │ ├── block: ∅
- │ │ │ └── flags: variable_call
+ │ │ │ └── block: ∅
│ │ ├── rescue_clause: ∅
│ │ ├── else_clause: ∅
│ │ ├── ensure_clause:
@@ -351,6 +351,7 @@
│ │ │ │ @ StatementsNode (location: (42,2)-(42,5))
│ │ │ │ └── body: (length: 1)
│ │ │ │ └── @ CallNode (location: (42,2)-(42,5))
+ │ │ │ │ ├── flags: variable_call
│ │ │ │ ├── receiver: ∅
│ │ │ │ ├── call_operator_loc: ∅
│ │ │ │ ├── name: :baz
@@ -358,8 +359,7 @@
│ │ │ │ ├── opening_loc: ∅
│ │ │ │ ├── arguments: ∅
│ │ │ │ ├── closing_loc: ∅
- │ │ │ │ ├── block: ∅
- │ │ │ │ └── flags: variable_call
+ │ │ │ │ └── block: ∅
│ │ │ └── end_keyword_loc: (43,0)-(43,3) = "end"
│ │ └── end_keyword_loc: (43,0)-(43,3) = "end"
│ ├── locals: []
@@ -382,6 +382,7 @@
│ │ │ @ StatementsNode (location: (46,2)-(46,5))
│ │ │ └── body: (length: 1)
│ │ │ └── @ CallNode (location: (46,2)-(46,5))
+ │ │ │ ├── flags: variable_call
│ │ │ ├── receiver: ∅
│ │ │ ├── call_operator_loc: ∅
│ │ │ ├── name: :bar
@@ -389,8 +390,7 @@
│ │ │ ├── opening_loc: ∅
│ │ │ ├── arguments: ∅
│ │ │ ├── closing_loc: ∅
- │ │ │ ├── block: ∅
- │ │ │ └── flags: variable_call
+ │ │ │ └── block: ∅
│ │ ├── rescue_clause:
│ │ │ @ RescueNode (location: (47,0)-(48,5))
│ │ │ ├── keyword_loc: (47,0)-(47,6) = "rescue"
@@ -401,6 +401,7 @@
│ │ │ │ @ StatementsNode (location: (48,2)-(48,5))
│ │ │ │ └── body: (length: 1)
│ │ │ │ └── @ CallNode (location: (48,2)-(48,5))
+ │ │ │ │ ├── flags: variable_call
│ │ │ │ ├── receiver: ∅
│ │ │ │ ├── call_operator_loc: ∅
│ │ │ │ ├── name: :baz
@@ -408,8 +409,7 @@
│ │ │ │ ├── opening_loc: ∅
│ │ │ │ ├── arguments: ∅
│ │ │ │ ├── closing_loc: ∅
- │ │ │ │ ├── block: ∅
- │ │ │ │ └── flags: variable_call
+ │ │ │ │ └── block: ∅
│ │ │ └── consequent: ∅
│ │ ├── else_clause: ∅
│ │ ├── ensure_clause: ∅
@@ -536,6 +536,7 @@
│ │ │ │ @ StatementsNode (location: (63,15)-(63,23))
│ │ │ │ └── body: (length: 2)
│ │ │ │ ├── @ CallNode (location: (63,15)-(63,18))
+ │ │ │ │ │ ├── flags: variable_call
│ │ │ │ │ ├── receiver: ∅
│ │ │ │ │ ├── call_operator_loc: ∅
│ │ │ │ │ ├── name: :baz
@@ -543,8 +544,7 @@
│ │ │ │ │ ├── opening_loc: ∅
│ │ │ │ │ ├── arguments: ∅
│ │ │ │ │ ├── closing_loc: ∅
- │ │ │ │ │ ├── block: ∅
- │ │ │ │ │ └── flags: variable_call
+ │ │ │ │ │ └── block: ∅
│ │ │ │ └── @ NilNode (location: (63,20)-(63,23))
│ │ │ ├── opening_loc: (63,14)-(63,15) = "("
│ │ │ └── closing_loc: (63,23)-(63,24) = ")"
@@ -674,6 +674,7 @@
│ │ │ ├── name_loc: (77,8)-(77,12) = "bar:"
│ │ │ └── value:
│ │ │ @ CallNode (location: (77,13)-(77,16))
+ │ │ │ ├── flags: variable_call
│ │ │ ├── receiver: ∅
│ │ │ ├── call_operator_loc: ∅
│ │ │ ├── name: :baz
@@ -681,8 +682,7 @@
│ │ │ ├── opening_loc: ∅
│ │ │ ├── arguments: ∅
│ │ │ ├── closing_loc: ∅
- │ │ │ ├── block: ∅
- │ │ │ └── flags: variable_call
+ │ │ │ └── block: ∅
│ │ ├── keyword_rest: ∅
│ │ └── block: ∅
│ ├── body: ∅
@@ -710,6 +710,7 @@
│ │ │ ├── name_loc: (80,8)-(80,12) = "bar:"
│ │ │ └── value:
│ │ │ @ CallNode (location: (80,13)-(80,18))
+ │ │ │ ├── flags: ∅
│ │ │ ├── receiver: ∅
│ │ │ ├── call_operator_loc: ∅
│ │ │ ├── name: :bar
@@ -717,8 +718,7 @@
│ │ │ ├── opening_loc: (80,16)-(80,17) = "("
│ │ │ ├── arguments: ∅
│ │ │ ├── closing_loc: (80,17)-(80,18) = ")"
- │ │ │ ├── block: ∅
- │ │ │ └── flags: ∅
+ │ │ │ └── block: ∅
│ │ ├── keyword_rest: ∅
│ │ └── block: ∅
│ ├── body: ∅
@@ -751,6 +751,7 @@
│ │ @ StatementsNode (location: (84,2)-(84,5))
│ │ └── body: (length: 1)
│ │ └── @ CallNode (location: (84,2)-(84,5))
+ │ │ ├── flags: variable_call
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
│ │ ├── name: :bar
@@ -758,8 +759,7 @@
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
- │ │ ├── block: ∅
- │ │ └── flags: variable_call
+ │ │ └── block: ∅
│ ├── locals: [:*]
│ ├── locals_body_index: 1
│ ├── def_keyword_loc: (83,0)-(83,3) = "def"
@@ -859,6 +859,7 @@
│ │ @ StatementsNode (location: (96,2)-(96,5))
│ │ └── body: (length: 1)
│ │ └── @ CallNode (location: (96,2)-(96,5))
+ │ │ ├── flags: variable_call
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
│ │ ├── name: :bar
@@ -866,8 +867,7 @@
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
- │ │ ├── block: ∅
- │ │ └── flags: variable_call
+ │ │ └── block: ∅
│ ├── locals: [:baz, :bor]
│ ├── locals_body_index: 2
│ ├── def_keyword_loc: (95,0)-(95,3) = "def"
@@ -907,6 +907,7 @@
│ │ @ StatementsNode (location: (100,2)-(100,5))
│ │ └── body: (length: 1)
│ │ └── @ CallNode (location: (100,2)-(100,5))
+ │ │ ├── flags: variable_call
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
│ │ ├── name: :bar
@@ -914,8 +915,7 @@
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
- │ │ ├── block: ∅
- │ │ └── flags: variable_call
+ │ │ └── block: ∅
│ ├── locals: [:baz, :bor, :block]
│ ├── locals_body_index: 3
│ ├── def_keyword_loc: (99,0)-(99,3) = "def"
@@ -984,6 +984,7 @@
│ │ @ StatementsNode (location: (108,2)-(108,5))
│ │ └── body: (length: 1)
│ │ └── @ CallNode (location: (108,2)-(108,5))
+ │ │ ├── flags: variable_call
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
│ │ ├── name: :bar
@@ -991,8 +992,7 @@
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
- │ │ ├── block: ∅
- │ │ └── flags: variable_call
+ │ │ └── block: ∅
│ ├── locals: [:block]
│ ├── locals_body_index: 1
│ ├── def_keyword_loc: (107,0)-(107,3) = "def"
@@ -1043,6 +1043,7 @@
│ │ @ StatementsNode (location: (116,2)-(117,5))
│ │ └── body: (length: 2)
│ │ ├── @ CallNode (location: (116,2)-(116,5))
+ │ │ │ ├── flags: variable_call
│ │ │ ├── receiver: ∅
│ │ │ ├── call_operator_loc: ∅
│ │ │ ├── name: :bar
@@ -1050,9 +1051,9 @@
│ │ │ ├── opening_loc: ∅
│ │ │ ├── arguments: ∅
│ │ │ ├── closing_loc: ∅
- │ │ │ ├── block: ∅
- │ │ │ └── flags: variable_call
+ │ │ │ └── block: ∅
│ │ └── @ CallNode (location: (117,2)-(117,5))
+ │ │ ├── flags: variable_call
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
│ │ ├── name: :baz
@@ -1060,8 +1061,7 @@
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
- │ │ ├── block: ∅
- │ │ └── flags: variable_call
+ │ │ └── block: ∅
│ ├── locals: []
│ ├── locals_body_index: 0
│ ├── def_keyword_loc: (115,0)-(115,3) = "def"
diff --git a/test/prism/snapshots/unparser/corpus/literal/defined.txt b/test/prism/snapshots/unparser/corpus/literal/defined.txt
index 11bf07c9fe..f2a19370e5 100644
--- a/test/prism/snapshots/unparser/corpus/literal/defined.txt
+++ b/test/prism/snapshots/unparser/corpus/literal/defined.txt
@@ -39,14 +39,14 @@
│ │ ├── operator_loc: (3,17)-(3,18) = "="
│ │ └── value:
│ │ @ ArrayNode (location: (3,19)-(3,25))
+ │ │ ├── flags: ∅
│ │ ├── elements: (length: 2)
│ │ │ ├── @ IntegerNode (location: (3,20)-(3,21))
│ │ │ │ └── flags: decimal
│ │ │ └── @ IntegerNode (location: (3,23)-(3,24))
│ │ │ └── flags: decimal
│ │ ├── opening_loc: (3,19)-(3,20) = "["
- │ │ ├── closing_loc: (3,24)-(3,25) = "]"
- │ │ └── flags: ∅
+ │ │ └── closing_loc: (3,24)-(3,25) = "]"
│ ├── opening_loc: (3,9)-(3,10) = "("
│ └── closing_loc: (3,25)-(3,26) = ")"
├── rparen_loc: (3,26)-(3,27) = ")"
diff --git a/test/prism/snapshots/unparser/corpus/literal/defs.txt b/test/prism/snapshots/unparser/corpus/literal/defs.txt
index 3dd422c51a..8b8dcf2f28 100644
--- a/test/prism/snapshots/unparser/corpus/literal/defs.txt
+++ b/test/prism/snapshots/unparser/corpus/literal/defs.txt
@@ -28,6 +28,7 @@
│ │ @ StatementsNode (location: (5,2)-(5,5))
│ │ └── body: (length: 1)
│ │ └── @ CallNode (location: (5,2)-(5,5))
+ │ │ ├── flags: variable_call
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
│ │ ├── name: :bar
@@ -35,8 +36,7 @@
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
- │ │ ├── block: ∅
- │ │ └── flags: variable_call
+ │ │ └── block: ∅
│ ├── locals: []
│ ├── locals_body_index: 0
│ ├── def_keyword_loc: (4,0)-(4,3) = "def"
@@ -55,6 +55,7 @@
│ │ @ StatementsNode (location: (9,2)-(10,5))
│ │ └── body: (length: 2)
│ │ ├── @ CallNode (location: (9,2)-(9,5))
+ │ │ │ ├── flags: variable_call
│ │ │ ├── receiver: ∅
│ │ │ ├── call_operator_loc: ∅
│ │ │ ├── name: :bar
@@ -62,9 +63,9 @@
│ │ │ ├── opening_loc: ∅
│ │ │ ├── arguments: ∅
│ │ │ ├── closing_loc: ∅
- │ │ │ ├── block: ∅
- │ │ │ └── flags: variable_call
+ │ │ │ └── block: ∅
│ │ └── @ CallNode (location: (10,2)-(10,5))
+ │ │ ├── flags: variable_call
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
│ │ ├── name: :baz
@@ -72,8 +73,7 @@
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
- │ │ ├── block: ∅
- │ │ └── flags: variable_call
+ │ │ └── block: ∅
│ ├── locals: []
│ ├── locals_body_index: 0
│ ├── def_keyword_loc: (8,0)-(8,3) = "def"
@@ -93,6 +93,7 @@
│ │ @ StatementsNode (location: (14,2)-(14,5))
│ │ └── body: (length: 1)
│ │ └── @ CallNode (location: (14,2)-(14,5))
+ │ │ ├── flags: variable_call
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
│ │ ├── name: :bar
@@ -100,8 +101,7 @@
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
- │ │ ├── block: ∅
- │ │ └── flags: variable_call
+ │ │ └── block: ∅
│ ├── locals: []
│ ├── locals_body_index: 0
│ ├── def_keyword_loc: (13,0)-(13,3) = "def"
@@ -117,6 +117,7 @@
│ │ @ ParenthesesNode (location: (17,4)-(18,2))
│ │ ├── body:
│ │ │ @ CallNode (location: (17,5)-(18,1))
+ │ │ │ ├── flags: ∅
│ │ │ ├── receiver: ∅
│ │ │ ├── call_operator_loc: ∅
│ │ │ ├── name: :foo
@@ -124,30 +125,29 @@
│ │ │ ├── opening_loc: ∅
│ │ │ ├── arguments: ∅
│ │ │ ├── closing_loc: ∅
- │ │ │ ├── block:
- │ │ │ │ @ BlockNode (location: (17,9)-(18,1))
- │ │ │ │ ├── locals: [:bar]
- │ │ │ │ ├── locals_body_index: 1
- │ │ │ │ ├── parameters:
- │ │ │ │ │ @ BlockParametersNode (location: (17,11)-(17,16))
- │ │ │ │ │ ├── parameters:
- │ │ │ │ │ │ @ ParametersNode (location: (17,12)-(17,15))
- │ │ │ │ │ │ ├── requireds: (length: 1)
- │ │ │ │ │ │ │ └── @ RequiredParameterNode (location: (17,12)-(17,15))
- │ │ │ │ │ │ │ └── name: :bar
- │ │ │ │ │ │ ├── optionals: (length: 0)
- │ │ │ │ │ │ ├── rest: ∅
- │ │ │ │ │ │ ├── posts: (length: 0)
- │ │ │ │ │ │ ├── keywords: (length: 0)
- │ │ │ │ │ │ ├── keyword_rest: ∅
- │ │ │ │ │ │ └── block: ∅
- │ │ │ │ │ ├── locals: (length: 0)
- │ │ │ │ │ ├── opening_loc: (17,11)-(17,12) = "|"
- │ │ │ │ │ └── closing_loc: (17,15)-(17,16) = "|"
- │ │ │ │ ├── body: ∅
- │ │ │ │ ├── opening_loc: (17,9)-(17,10) = "{"
- │ │ │ │ └── closing_loc: (18,0)-(18,1) = "}"
- │ │ │ └── flags: ∅
+ │ │ │ └── block:
+ │ │ │ @ BlockNode (location: (17,9)-(18,1))
+ │ │ │ ├── locals: [:bar]
+ │ │ │ ├── locals_body_index: 1
+ │ │ │ ├── parameters:
+ │ │ │ │ @ BlockParametersNode (location: (17,11)-(17,16))
+ │ │ │ │ ├── parameters:
+ │ │ │ │ │ @ ParametersNode (location: (17,12)-(17,15))
+ │ │ │ │ │ ├── requireds: (length: 1)
+ │ │ │ │ │ │ └── @ RequiredParameterNode (location: (17,12)-(17,15))
+ │ │ │ │ │ │ └── name: :bar
+ │ │ │ │ │ ├── optionals: (length: 0)
+ │ │ │ │ │ ├── rest: ∅
+ │ │ │ │ │ ├── posts: (length: 0)
+ │ │ │ │ │ ├── keywords: (length: 0)
+ │ │ │ │ │ ├── keyword_rest: ∅
+ │ │ │ │ │ └── block: ∅
+ │ │ │ │ ├── locals: (length: 0)
+ │ │ │ │ ├── opening_loc: (17,11)-(17,12) = "|"
+ │ │ │ │ └── closing_loc: (17,15)-(17,16) = "|"
+ │ │ │ ├── body: ∅
+ │ │ │ ├── opening_loc: (17,9)-(17,10) = "{"
+ │ │ │ └── closing_loc: (18,0)-(18,1) = "}"
│ │ ├── opening_loc: (17,4)-(17,5) = "("
│ │ └── closing_loc: (18,1)-(18,2) = ")"
│ ├── parameters: ∅
@@ -155,6 +155,7 @@
│ │ @ StatementsNode (location: (19,2)-(19,5))
│ │ └── body: (length: 1)
│ │ └── @ CallNode (location: (19,2)-(19,5))
+ │ │ ├── flags: variable_call
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
│ │ ├── name: :bar
@@ -162,8 +163,7 @@
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
- │ │ ├── block: ∅
- │ │ └── flags: variable_call
+ │ │ └── block: ∅
│ ├── locals: []
│ ├── locals_body_index: 0
│ ├── def_keyword_loc: (17,0)-(17,3) = "def"
@@ -179,6 +179,7 @@
│ │ @ ParenthesesNode (location: (22,4)-(22,12))
│ │ ├── body:
│ │ │ @ CallNode (location: (22,5)-(22,11))
+ │ │ │ ├── flags: ∅
│ │ │ ├── receiver: ∅
│ │ │ ├── call_operator_loc: ∅
│ │ │ ├── name: :foo
@@ -186,13 +187,12 @@
│ │ │ ├── opening_loc: (22,8)-(22,9) = "("
│ │ │ ├── arguments:
│ │ │ │ @ ArgumentsNode (location: (22,9)-(22,10))
- │ │ │ │ ├── arguments: (length: 1)
- │ │ │ │ │ └── @ IntegerNode (location: (22,9)-(22,10))
- │ │ │ │ │ └── flags: decimal
- │ │ │ │ └── flags: ∅
+ │ │ │ │ ├── flags: ∅
+ │ │ │ │ └── arguments: (length: 1)
+ │ │ │ │ └── @ IntegerNode (location: (22,9)-(22,10))
+ │ │ │ │ └── flags: decimal
│ │ │ ├── closing_loc: (22,10)-(22,11) = ")"
- │ │ │ ├── block: ∅
- │ │ │ └── flags: ∅
+ │ │ │ └── block: ∅
│ │ ├── opening_loc: (22,4)-(22,5) = "("
│ │ └── closing_loc: (22,11)-(22,12) = ")"
│ ├── parameters: ∅
@@ -200,6 +200,7 @@
│ │ @ StatementsNode (location: (23,2)-(23,5))
│ │ └── body: (length: 1)
│ │ └── @ CallNode (location: (23,2)-(23,5))
+ │ │ ├── flags: variable_call
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
│ │ ├── name: :bar
@@ -207,8 +208,7 @@
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
- │ │ ├── block: ∅
- │ │ └── flags: variable_call
+ │ │ └── block: ∅
│ ├── locals: []
│ ├── locals_body_index: 0
│ ├── def_keyword_loc: (22,0)-(22,3) = "def"
@@ -224,6 +224,7 @@
│ │ @ ParenthesesNode (location: (26,4)-(26,18))
│ │ ├── body:
│ │ │ @ CallNode (location: (26,5)-(26,17))
+ │ │ │ ├── flags: ∅
│ │ │ ├── receiver:
│ │ │ │ @ ConstantPathNode (location: (26,5)-(26,13))
│ │ │ │ ├── parent:
@@ -239,8 +240,7 @@
│ │ │ ├── opening_loc: ∅
│ │ │ ├── arguments: ∅
│ │ │ ├── closing_loc: ∅
- │ │ │ ├── block: ∅
- │ │ │ └── flags: ∅
+ │ │ │ └── block: ∅
│ │ ├── opening_loc: (26,4)-(26,5) = "("
│ │ └── closing_loc: (26,17)-(26,18) = ")"
│ ├── parameters: ∅
@@ -248,6 +248,7 @@
│ │ @ StatementsNode (location: (27,2)-(27,5))
│ │ └── body: (length: 1)
│ │ └── @ CallNode (location: (27,2)-(27,5))
+ │ │ ├── flags: variable_call
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
│ │ ├── name: :baz
@@ -255,8 +256,7 @@
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
- │ │ ├── block: ∅
- │ │ └── flags: variable_call
+ │ │ └── block: ∅
│ ├── locals: []
│ ├── locals_body_index: 0
│ ├── def_keyword_loc: (26,0)-(26,3) = "def"
@@ -286,6 +286,7 @@
│ │ @ StatementsNode (location: (31,2)-(31,5))
│ │ └── body: (length: 1)
│ │ └── @ CallNode (location: (31,2)-(31,5))
+ │ │ ├── flags: variable_call
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
│ │ ├── name: :baz
@@ -293,8 +294,7 @@
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
- │ │ ├── block: ∅
- │ │ └── flags: variable_call
+ │ │ └── block: ∅
│ ├── locals: []
│ ├── locals_body_index: 0
│ ├── def_keyword_loc: (30,0)-(30,3) = "def"
@@ -314,6 +314,7 @@
│ │ @ StatementsNode (location: (35,2)-(35,5))
│ │ └── body: (length: 1)
│ │ └── @ CallNode (location: (35,2)-(35,5))
+ │ │ ├── flags: variable_call
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
│ │ ├── name: :baz
@@ -321,8 +322,7 @@
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
- │ │ ├── block: ∅
- │ │ └── flags: variable_call
+ │ │ └── block: ∅
│ ├── locals: []
│ ├── locals_body_index: 0
│ ├── def_keyword_loc: (34,0)-(34,3) = "def"
@@ -336,6 +336,7 @@
├── name_loc: (38,8)-(38,11) = "bar"
├── receiver:
│ @ CallNode (location: (38,4)-(38,7))
+ │ ├── flags: variable_call
│ ├── receiver: ∅
│ ├── call_operator_loc: ∅
│ ├── name: :foo
@@ -343,13 +344,13 @@
│ ├── opening_loc: ∅
│ ├── arguments: ∅
│ ├── closing_loc: ∅
- │ ├── block: ∅
- │ └── flags: variable_call
+ │ └── block: ∅
├── parameters: ∅
├── body:
│ @ StatementsNode (location: (39,2)-(39,5))
│ └── body: (length: 1)
│ └── @ CallNode (location: (39,2)-(39,5))
+ │ ├── flags: variable_call
│ ├── receiver: ∅
│ ├── call_operator_loc: ∅
│ ├── name: :baz
@@ -357,8 +358,7 @@
│ ├── opening_loc: ∅
│ ├── arguments: ∅
│ ├── closing_loc: ∅
- │ ├── block: ∅
- │ └── flags: variable_call
+ │ └── block: ∅
├── locals: []
├── locals_body_index: 0
├── def_keyword_loc: (38,0)-(38,3) = "def"
diff --git a/test/prism/snapshots/unparser/corpus/literal/dstr.txt b/test/prism/snapshots/unparser/corpus/literal/dstr.txt
index 6bcdd0ce62..f4fbe11140 100644
--- a/test/prism/snapshots/unparser/corpus/literal/dstr.txt
+++ b/test/prism/snapshots/unparser/corpus/literal/dstr.txt
@@ -56,6 +56,7 @@
│ │ │ │ └── unescaped: "a\nb\n"
│ │ │ └── closing_loc: (9,0)-(10,0) = " HEREDOC\n"
│ │ └── @ CallNode (location: (10,2)-(10,3))
+ │ │ ├── flags: variable_call
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
│ │ ├── name: :x
@@ -63,8 +64,7 @@
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
- │ │ ├── block: ∅
- │ │ └── flags: variable_call
+ │ │ └── block: ∅
│ ├── consequent: ∅
│ └── end_keyword_loc: (11,0)-(11,3) = "end"
├── @ InterpolatedStringNode (location: (12,0)-(12,10))
@@ -198,35 +198,36 @@
│ │ ├── keyword_loc: (27,2)-(27,8) = "return"
│ │ └── arguments:
│ │ @ ArgumentsNode (location: (27,9)-(27,19))
- │ │ ├── arguments: (length: 1)
- │ │ │ └── @ InterpolatedStringNode (location: (27,9)-(27,19))
- │ │ │ ├── opening_loc: (27,9)-(27,19) = "<<-HEREDOC"
- │ │ │ ├── parts: (length: 3)
- │ │ │ │ ├── @ StringNode (location: (28,0)-(28,4))
- │ │ │ │ │ ├── flags: ∅
- │ │ │ │ │ ├── opening_loc: ∅
- │ │ │ │ │ ├── content_loc: (28,0)-(28,4) = " "
- │ │ │ │ │ ├── closing_loc: ∅
- │ │ │ │ │ └── unescaped: " "
- │ │ │ │ ├── @ EmbeddedStatementsNode (location: (28,4)-(28,9))
- │ │ │ │ │ ├── opening_loc: (28,4)-(28,6) = "\#{"
- │ │ │ │ │ ├── statements:
- │ │ │ │ │ │ @ StatementsNode (location: (28,6)-(28,8))
- │ │ │ │ │ │ └── body: (length: 1)
- │ │ │ │ │ │ └── @ IntegerNode (location: (28,6)-(28,8))
- │ │ │ │ │ │ └── flags: decimal
- │ │ │ │ │ └── closing_loc: (28,8)-(28,9) = "}"
- │ │ │ │ └── @ StringNode (location: (28,9)-(29,0))
- │ │ │ │ ├── flags: ∅
- │ │ │ │ ├── opening_loc: ∅
- │ │ │ │ ├── content_loc: (28,9)-(29,0) = "\n"
- │ │ │ │ ├── closing_loc: ∅
- │ │ │ │ └── unescaped: "\n"
- │ │ │ └── closing_loc: (29,0)-(30,0) = " HEREDOC\n"
- │ │ └── flags: ∅
+ │ │ ├── flags: ∅
+ │ │ └── arguments: (length: 1)
+ │ │ └── @ InterpolatedStringNode (location: (27,9)-(27,19))
+ │ │ ├── opening_loc: (27,9)-(27,19) = "<<-HEREDOC"
+ │ │ ├── parts: (length: 3)
+ │ │ │ ├── @ StringNode (location: (28,0)-(28,4))
+ │ │ │ │ ├── flags: ∅
+ │ │ │ │ ├── opening_loc: ∅
+ │ │ │ │ ├── content_loc: (28,0)-(28,4) = " "
+ │ │ │ │ ├── closing_loc: ∅
+ │ │ │ │ └── unescaped: " "
+ │ │ │ ├── @ EmbeddedStatementsNode (location: (28,4)-(28,9))
+ │ │ │ │ ├── opening_loc: (28,4)-(28,6) = "\#{"
+ │ │ │ │ ├── statements:
+ │ │ │ │ │ @ StatementsNode (location: (28,6)-(28,8))
+ │ │ │ │ │ └── body: (length: 1)
+ │ │ │ │ │ └── @ IntegerNode (location: (28,6)-(28,8))
+ │ │ │ │ │ └── flags: decimal
+ │ │ │ │ └── closing_loc: (28,8)-(28,9) = "}"
+ │ │ │ └── @ StringNode (location: (28,9)-(29,0))
+ │ │ │ ├── flags: ∅
+ │ │ │ ├── opening_loc: ∅
+ │ │ │ ├── content_loc: (28,9)-(29,0) = "\n"
+ │ │ │ ├── closing_loc: ∅
+ │ │ │ └── unescaped: "\n"
+ │ │ └── closing_loc: (29,0)-(30,0) = " HEREDOC\n"
│ ├── consequent: ∅
│ └── end_keyword_loc: (30,0)-(30,3) = "end"
├── @ CallNode (location: (31,0)-(31,15))
+ │ ├── flags: ∅
│ ├── receiver: ∅
│ ├── call_operator_loc: ∅
│ ├── name: :foo
@@ -234,44 +235,44 @@
│ ├── opening_loc: (31,3)-(31,4) = "("
│ ├── arguments:
│ │ @ ArgumentsNode (location: (31,4)-(31,14))
- │ │ ├── arguments: (length: 1)
- │ │ │ └── @ InterpolatedStringNode (location: (31,4)-(31,14))
- │ │ │ ├── opening_loc: (31,4)-(31,14) = "<<-HEREDOC"
- │ │ │ ├── parts: (length: 3)
- │ │ │ │ ├── @ StringNode (location: (32,0)-(32,2))
- │ │ │ │ │ ├── flags: ∅
- │ │ │ │ │ ├── opening_loc: ∅
- │ │ │ │ │ ├── content_loc: (32,0)-(32,2) = " "
- │ │ │ │ │ ├── closing_loc: ∅
- │ │ │ │ │ └── unescaped: " "
- │ │ │ │ ├── @ EmbeddedStatementsNode (location: (32,2)-(32,8))
- │ │ │ │ │ ├── opening_loc: (32,2)-(32,4) = "\#{"
- │ │ │ │ │ ├── statements:
- │ │ │ │ │ │ @ StatementsNode (location: (32,4)-(32,7))
- │ │ │ │ │ │ └── body: (length: 1)
- │ │ │ │ │ │ └── @ CallNode (location: (32,4)-(32,7))
- │ │ │ │ │ │ ├── receiver: ∅
- │ │ │ │ │ │ ├── call_operator_loc: ∅
- │ │ │ │ │ │ ├── name: :bar
- │ │ │ │ │ │ ├── message_loc: (32,4)-(32,7) = "bar"
- │ │ │ │ │ │ ├── opening_loc: ∅
- │ │ │ │ │ │ ├── arguments: ∅
- │ │ │ │ │ │ ├── closing_loc: ∅
- │ │ │ │ │ │ ├── block: ∅
- │ │ │ │ │ │ └── flags: variable_call
- │ │ │ │ │ └── closing_loc: (32,7)-(32,8) = "}"
- │ │ │ │ └── @ StringNode (location: (32,8)-(33,0))
- │ │ │ │ ├── flags: ∅
- │ │ │ │ ├── opening_loc: ∅
- │ │ │ │ ├── content_loc: (32,8)-(33,0) = "\n"
- │ │ │ │ ├── closing_loc: ∅
- │ │ │ │ └── unescaped: "\n"
- │ │ │ └── closing_loc: (33,0)-(34,0) = "HEREDOC\n"
- │ │ └── flags: ∅
+ │ │ ├── flags: ∅
+ │ │ └── arguments: (length: 1)
+ │ │ └── @ InterpolatedStringNode (location: (31,4)-(31,14))
+ │ │ ├── opening_loc: (31,4)-(31,14) = "<<-HEREDOC"
+ │ │ ├── parts: (length: 3)
+ │ │ │ ├── @ StringNode (location: (32,0)-(32,2))
+ │ │ │ │ ├── flags: ∅
+ │ │ │ │ ├── opening_loc: ∅
+ │ │ │ │ ├── content_loc: (32,0)-(32,2) = " "
+ │ │ │ │ ├── closing_loc: ∅
+ │ │ │ │ └── unescaped: " "
+ │ │ │ ├── @ EmbeddedStatementsNode (location: (32,2)-(32,8))
+ │ │ │ │ ├── opening_loc: (32,2)-(32,4) = "\#{"
+ │ │ │ │ ├── statements:
+ │ │ │ │ │ @ StatementsNode (location: (32,4)-(32,7))
+ │ │ │ │ │ └── body: (length: 1)
+ │ │ │ │ │ └── @ CallNode (location: (32,4)-(32,7))
+ │ │ │ │ │ ├── flags: variable_call
+ │ │ │ │ │ ├── receiver: ∅
+ │ │ │ │ │ ├── call_operator_loc: ∅
+ │ │ │ │ │ ├── name: :bar
+ │ │ │ │ │ ├── message_loc: (32,4)-(32,7) = "bar"
+ │ │ │ │ │ ├── opening_loc: ∅
+ │ │ │ │ │ ├── arguments: ∅
+ │ │ │ │ │ ├── closing_loc: ∅
+ │ │ │ │ │ └── block: ∅
+ │ │ │ │ └── closing_loc: (32,7)-(32,8) = "}"
+ │ │ │ └── @ StringNode (location: (32,8)-(33,0))
+ │ │ │ ├── flags: ∅
+ │ │ │ ├── opening_loc: ∅
+ │ │ │ ├── content_loc: (32,8)-(33,0) = "\n"
+ │ │ │ ├── closing_loc: ∅
+ │ │ │ └── unescaped: "\n"
+ │ │ └── closing_loc: (33,0)-(34,0) = "HEREDOC\n"
│ ├── closing_loc: (31,14)-(31,15) = ")"
- │ ├── block: ∅
- │ └── flags: ∅
+ │ └── block: ∅
└── @ CallNode (location: (34,0)-(37,1))
+ ├── flags: ∅
├── receiver: ∅
├── call_operator_loc: ∅
├── name: :foo
@@ -279,62 +280,61 @@
├── opening_loc: (34,3)-(34,4) = "("
├── arguments:
│ @ ArgumentsNode (location: (34,4)-(34,14))
- │ ├── arguments: (length: 1)
- │ │ └── @ InterpolatedStringNode (location: (34,4)-(34,14))
- │ │ ├── opening_loc: (34,4)-(34,14) = "<<-HEREDOC"
- │ │ ├── parts: (length: 3)
- │ │ │ ├── @ StringNode (location: (35,0)-(35,2))
- │ │ │ │ ├── flags: ∅
- │ │ │ │ ├── opening_loc: ∅
- │ │ │ │ ├── content_loc: (35,0)-(35,2) = " "
- │ │ │ │ ├── closing_loc: ∅
- │ │ │ │ └── unescaped: " "
- │ │ │ ├── @ EmbeddedStatementsNode (location: (35,2)-(35,8))
- │ │ │ │ ├── opening_loc: (35,2)-(35,4) = "\#{"
- │ │ │ │ ├── statements:
- │ │ │ │ │ @ StatementsNode (location: (35,4)-(35,7))
- │ │ │ │ │ └── body: (length: 1)
- │ │ │ │ │ └── @ CallNode (location: (35,4)-(35,7))
- │ │ │ │ │ ├── receiver: ∅
- │ │ │ │ │ ├── call_operator_loc: ∅
- │ │ │ │ │ ├── name: :bar
- │ │ │ │ │ ├── message_loc: (35,4)-(35,7) = "bar"
- │ │ │ │ │ ├── opening_loc: ∅
- │ │ │ │ │ ├── arguments: ∅
- │ │ │ │ │ ├── closing_loc: ∅
- │ │ │ │ │ ├── block: ∅
- │ │ │ │ │ └── flags: variable_call
- │ │ │ │ └── closing_loc: (35,7)-(35,8) = "}"
- │ │ │ └── @ StringNode (location: (35,8)-(36,0))
- │ │ │ ├── flags: ∅
- │ │ │ ├── opening_loc: ∅
- │ │ │ ├── content_loc: (35,8)-(36,0) = "\n"
- │ │ │ ├── closing_loc: ∅
- │ │ │ └── unescaped: "\n"
- │ │ └── closing_loc: (36,0)-(37,0) = "HEREDOC\n"
- │ └── flags: ∅
+ │ ├── flags: ∅
+ │ └── arguments: (length: 1)
+ │ └── @ InterpolatedStringNode (location: (34,4)-(34,14))
+ │ ├── opening_loc: (34,4)-(34,14) = "<<-HEREDOC"
+ │ ├── parts: (length: 3)
+ │ │ ├── @ StringNode (location: (35,0)-(35,2))
+ │ │ │ ├── flags: ∅
+ │ │ │ ├── opening_loc: ∅
+ │ │ │ ├── content_loc: (35,0)-(35,2) = " "
+ │ │ │ ├── closing_loc: ∅
+ │ │ │ └── unescaped: " "
+ │ │ ├── @ EmbeddedStatementsNode (location: (35,2)-(35,8))
+ │ │ │ ├── opening_loc: (35,2)-(35,4) = "\#{"
+ │ │ │ ├── statements:
+ │ │ │ │ @ StatementsNode (location: (35,4)-(35,7))
+ │ │ │ │ └── body: (length: 1)
+ │ │ │ │ └── @ CallNode (location: (35,4)-(35,7))
+ │ │ │ │ ├── flags: variable_call
+ │ │ │ │ ├── receiver: ∅
+ │ │ │ │ ├── call_operator_loc: ∅
+ │ │ │ │ ├── name: :bar
+ │ │ │ │ ├── message_loc: (35,4)-(35,7) = "bar"
+ │ │ │ │ ├── opening_loc: ∅
+ │ │ │ │ ├── arguments: ∅
+ │ │ │ │ ├── closing_loc: ∅
+ │ │ │ │ └── block: ∅
+ │ │ │ └── closing_loc: (35,7)-(35,8) = "}"
+ │ │ └── @ StringNode (location: (35,8)-(36,0))
+ │ │ ├── flags: ∅
+ │ │ ├── opening_loc: ∅
+ │ │ ├── content_loc: (35,8)-(36,0) = "\n"
+ │ │ ├── closing_loc: ∅
+ │ │ └── unescaped: "\n"
+ │ └── closing_loc: (36,0)-(37,0) = "HEREDOC\n"
├── closing_loc: (34,14)-(34,15) = ")"
- ├── block:
- │ @ BlockNode (location: (34,16)-(37,1))
- │ ├── locals: [:x]
- │ ├── locals_body_index: 1
- │ ├── parameters:
- │ │ @ BlockParametersNode (location: (34,18)-(34,21))
- │ │ ├── parameters:
- │ │ │ @ ParametersNode (location: (34,19)-(34,20))
- │ │ │ ├── requireds: (length: 1)
- │ │ │ │ └── @ RequiredParameterNode (location: (34,19)-(34,20))
- │ │ │ │ └── name: :x
- │ │ │ ├── optionals: (length: 0)
- │ │ │ ├── rest: ∅
- │ │ │ ├── posts: (length: 0)
- │ │ │ ├── keywords: (length: 0)
- │ │ │ ├── keyword_rest: ∅
- │ │ │ └── block: ∅
- │ │ ├── locals: (length: 0)
- │ │ ├── opening_loc: (34,18)-(34,19) = "|"
- │ │ └── closing_loc: (34,20)-(34,21) = "|"
- │ ├── body: ∅
- │ ├── opening_loc: (34,16)-(34,17) = "{"
- │ └── closing_loc: (37,0)-(37,1) = "}"
- └── flags: ∅
+ └── block:
+ @ BlockNode (location: (34,16)-(37,1))
+ ├── locals: [:x]
+ ├── locals_body_index: 1
+ ├── parameters:
+ │ @ BlockParametersNode (location: (34,18)-(34,21))
+ │ ├── parameters:
+ │ │ @ ParametersNode (location: (34,19)-(34,20))
+ │ │ ├── requireds: (length: 1)
+ │ │ │ └── @ RequiredParameterNode (location: (34,19)-(34,20))
+ │ │ │ └── name: :x
+ │ │ ├── optionals: (length: 0)
+ │ │ ├── rest: ∅
+ │ │ ├── posts: (length: 0)
+ │ │ ├── keywords: (length: 0)
+ │ │ ├── keyword_rest: ∅
+ │ │ └── block: ∅
+ │ ├── locals: (length: 0)
+ │ ├── opening_loc: (34,18)-(34,19) = "|"
+ │ └── closing_loc: (34,20)-(34,21) = "|"
+ ├── body: ∅
+ ├── opening_loc: (34,16)-(34,17) = "{"
+ └── closing_loc: (37,0)-(37,1) = "}"
diff --git a/test/prism/snapshots/unparser/corpus/literal/flipflop.txt b/test/prism/snapshots/unparser/corpus/literal/flipflop.txt
index 0343232a5a..45b2ed0c94 100644
--- a/test/prism/snapshots/unparser/corpus/literal/flipflop.txt
+++ b/test/prism/snapshots/unparser/corpus/literal/flipflop.txt
@@ -11,14 +11,17 @@
│ │ │ @ StatementsNode (location: (1,4)-(1,22))
│ │ │ └── body: (length: 1)
│ │ │ └── @ FlipFlopNode (location: (1,4)-(1,22))
+ │ │ │ ├── flags: ∅
│ │ │ ├── left:
│ │ │ │ @ ParenthesesNode (location: (1,4)-(1,12))
│ │ │ │ ├── body:
│ │ │ │ │ @ StatementsNode (location: (1,5)-(1,11))
│ │ │ │ │ └── body: (length: 1)
│ │ │ │ │ └── @ CallNode (location: (1,5)-(1,11))
+ │ │ │ │ │ ├── flags: ∅
│ │ │ │ │ ├── receiver:
│ │ │ │ │ │ @ CallNode (location: (1,5)-(1,6))
+ │ │ │ │ │ │ ├── flags: variable_call
│ │ │ │ │ │ ├── receiver: ∅
│ │ │ │ │ │ ├── call_operator_loc: ∅
│ │ │ │ │ │ ├── name: :i
@@ -26,21 +29,19 @@
│ │ │ │ │ │ ├── opening_loc: ∅
│ │ │ │ │ │ ├── arguments: ∅
│ │ │ │ │ │ ├── closing_loc: ∅
- │ │ │ │ │ │ ├── block: ∅
- │ │ │ │ │ │ └── flags: variable_call
+ │ │ │ │ │ │ └── block: ∅
│ │ │ │ │ ├── call_operator_loc: ∅
│ │ │ │ │ ├── name: :==
│ │ │ │ │ ├── message_loc: (1,7)-(1,9) = "=="
│ │ │ │ │ ├── opening_loc: ∅
│ │ │ │ │ ├── arguments:
│ │ │ │ │ │ @ ArgumentsNode (location: (1,10)-(1,11))
- │ │ │ │ │ │ ├── arguments: (length: 1)
- │ │ │ │ │ │ │ └── @ IntegerNode (location: (1,10)-(1,11))
- │ │ │ │ │ │ │ └── flags: decimal
- │ │ │ │ │ │ └── flags: ∅
+ │ │ │ │ │ │ ├── flags: ∅
+ │ │ │ │ │ │ └── arguments: (length: 1)
+ │ │ │ │ │ │ └── @ IntegerNode (location: (1,10)-(1,11))
+ │ │ │ │ │ │ └── flags: decimal
│ │ │ │ │ ├── closing_loc: ∅
- │ │ │ │ │ ├── block: ∅
- │ │ │ │ │ └── flags: ∅
+ │ │ │ │ │ └── block: ∅
│ │ │ │ ├── opening_loc: (1,4)-(1,5) = "("
│ │ │ │ └── closing_loc: (1,11)-(1,12) = ")"
│ │ │ ├── right:
@@ -49,8 +50,10 @@
│ │ │ │ │ @ StatementsNode (location: (1,15)-(1,21))
│ │ │ │ │ └── body: (length: 1)
│ │ │ │ │ └── @ CallNode (location: (1,15)-(1,21))
+ │ │ │ │ │ ├── flags: ∅
│ │ │ │ │ ├── receiver:
│ │ │ │ │ │ @ CallNode (location: (1,15)-(1,16))
+ │ │ │ │ │ │ ├── flags: variable_call
│ │ │ │ │ │ ├── receiver: ∅
│ │ │ │ │ │ ├── call_operator_loc: ∅
│ │ │ │ │ │ ├── name: :i
@@ -58,25 +61,22 @@
│ │ │ │ │ │ ├── opening_loc: ∅
│ │ │ │ │ │ ├── arguments: ∅
│ │ │ │ │ │ ├── closing_loc: ∅
- │ │ │ │ │ │ ├── block: ∅
- │ │ │ │ │ │ └── flags: variable_call
+ │ │ │ │ │ │ └── block: ∅
│ │ │ │ │ ├── call_operator_loc: ∅
│ │ │ │ │ ├── name: :==
│ │ │ │ │ ├── message_loc: (1,17)-(1,19) = "=="
│ │ │ │ │ ├── opening_loc: ∅
│ │ │ │ │ ├── arguments:
│ │ │ │ │ │ @ ArgumentsNode (location: (1,20)-(1,21))
- │ │ │ │ │ │ ├── arguments: (length: 1)
- │ │ │ │ │ │ │ └── @ IntegerNode (location: (1,20)-(1,21))
- │ │ │ │ │ │ │ └── flags: decimal
- │ │ │ │ │ │ └── flags: ∅
+ │ │ │ │ │ │ ├── flags: ∅
+ │ │ │ │ │ │ └── arguments: (length: 1)
+ │ │ │ │ │ │ └── @ IntegerNode (location: (1,20)-(1,21))
+ │ │ │ │ │ │ └── flags: decimal
│ │ │ │ │ ├── closing_loc: ∅
- │ │ │ │ │ ├── block: ∅
- │ │ │ │ │ └── flags: ∅
+ │ │ │ │ │ └── block: ∅
│ │ │ │ ├── opening_loc: (1,14)-(1,15) = "("
│ │ │ │ └── closing_loc: (1,21)-(1,22) = ")"
- │ │ │ ├── operator_loc: (1,12)-(1,14) = ".."
- │ │ │ └── flags: ∅
+ │ │ │ └── operator_loc: (1,12)-(1,14) = ".."
│ │ ├── opening_loc: (1,3)-(1,4) = "("
│ │ └── closing_loc: (1,22)-(1,23) = ")"
│ ├── then_keyword_loc: ∅
@@ -84,6 +84,7 @@
│ │ @ StatementsNode (location: (2,2)-(2,5))
│ │ └── body: (length: 1)
│ │ └── @ CallNode (location: (2,2)-(2,5))
+ │ │ ├── flags: variable_call
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
│ │ ├── name: :foo
@@ -91,8 +92,7 @@
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
- │ │ ├── block: ∅
- │ │ └── flags: variable_call
+ │ │ └── block: ∅
│ ├── consequent: ∅
│ └── end_keyword_loc: (3,0)-(3,3) = "end"
└── @ IfNode (location: (4,0)-(6,3))
@@ -103,14 +103,17 @@
│ │ @ StatementsNode (location: (4,4)-(4,23))
│ │ └── body: (length: 1)
│ │ └── @ FlipFlopNode (location: (4,4)-(4,23))
+ │ │ ├── flags: exclude_end
│ │ ├── left:
│ │ │ @ ParenthesesNode (location: (4,4)-(4,12))
│ │ │ ├── body:
│ │ │ │ @ StatementsNode (location: (4,5)-(4,11))
│ │ │ │ └── body: (length: 1)
│ │ │ │ └── @ CallNode (location: (4,5)-(4,11))
+ │ │ │ │ ├── flags: ∅
│ │ │ │ ├── receiver:
│ │ │ │ │ @ CallNode (location: (4,5)-(4,6))
+ │ │ │ │ │ ├── flags: variable_call
│ │ │ │ │ ├── receiver: ∅
│ │ │ │ │ ├── call_operator_loc: ∅
│ │ │ │ │ ├── name: :i
@@ -118,21 +121,19 @@
│ │ │ │ │ ├── opening_loc: ∅
│ │ │ │ │ ├── arguments: ∅
│ │ │ │ │ ├── closing_loc: ∅
- │ │ │ │ │ ├── block: ∅
- │ │ │ │ │ └── flags: variable_call
+ │ │ │ │ │ └── block: ∅
│ │ │ │ ├── call_operator_loc: ∅
│ │ │ │ ├── name: :==
│ │ │ │ ├── message_loc: (4,7)-(4,9) = "=="
│ │ │ │ ├── opening_loc: ∅
│ │ │ │ ├── arguments:
│ │ │ │ │ @ ArgumentsNode (location: (4,10)-(4,11))
- │ │ │ │ │ ├── arguments: (length: 1)
- │ │ │ │ │ │ └── @ IntegerNode (location: (4,10)-(4,11))
- │ │ │ │ │ │ └── flags: decimal
- │ │ │ │ │ └── flags: ∅
+ │ │ │ │ │ ├── flags: ∅
+ │ │ │ │ │ └── arguments: (length: 1)
+ │ │ │ │ │ └── @ IntegerNode (location: (4,10)-(4,11))
+ │ │ │ │ │ └── flags: decimal
│ │ │ │ ├── closing_loc: ∅
- │ │ │ │ ├── block: ∅
- │ │ │ │ └── flags: ∅
+ │ │ │ │ └── block: ∅
│ │ │ ├── opening_loc: (4,4)-(4,5) = "("
│ │ │ └── closing_loc: (4,11)-(4,12) = ")"
│ │ ├── right:
@@ -141,8 +142,10 @@
│ │ │ │ @ StatementsNode (location: (4,16)-(4,22))
│ │ │ │ └── body: (length: 1)
│ │ │ │ └── @ CallNode (location: (4,16)-(4,22))
+ │ │ │ │ ├── flags: ∅
│ │ │ │ ├── receiver:
│ │ │ │ │ @ CallNode (location: (4,16)-(4,17))
+ │ │ │ │ │ ├── flags: variable_call
│ │ │ │ │ ├── receiver: ∅
│ │ │ │ │ ├── call_operator_loc: ∅
│ │ │ │ │ ├── name: :i
@@ -150,25 +153,22 @@
│ │ │ │ │ ├── opening_loc: ∅
│ │ │ │ │ ├── arguments: ∅
│ │ │ │ │ ├── closing_loc: ∅
- │ │ │ │ │ ├── block: ∅
- │ │ │ │ │ └── flags: variable_call
+ │ │ │ │ │ └── block: ∅
│ │ │ │ ├── call_operator_loc: ∅
│ │ │ │ ├── name: :==
│ │ │ │ ├── message_loc: (4,18)-(4,20) = "=="
│ │ │ │ ├── opening_loc: ∅
│ │ │ │ ├── arguments:
│ │ │ │ │ @ ArgumentsNode (location: (4,21)-(4,22))
- │ │ │ │ │ ├── arguments: (length: 1)
- │ │ │ │ │ │ └── @ IntegerNode (location: (4,21)-(4,22))
- │ │ │ │ │ │ └── flags: decimal
- │ │ │ │ │ └── flags: ∅
+ │ │ │ │ │ ├── flags: ∅
+ │ │ │ │ │ └── arguments: (length: 1)
+ │ │ │ │ │ └── @ IntegerNode (location: (4,21)-(4,22))
+ │ │ │ │ │ └── flags: decimal
│ │ │ │ ├── closing_loc: ∅
- │ │ │ │ ├── block: ∅
- │ │ │ │ └── flags: ∅
+ │ │ │ │ └── block: ∅
│ │ │ ├── opening_loc: (4,15)-(4,16) = "("
│ │ │ └── closing_loc: (4,22)-(4,23) = ")"
- │ │ ├── operator_loc: (4,12)-(4,15) = "..."
- │ │ └── flags: exclude_end
+ │ │ └── operator_loc: (4,12)-(4,15) = "..."
│ ├── opening_loc: (4,3)-(4,4) = "("
│ └── closing_loc: (4,23)-(4,24) = ")"
├── then_keyword_loc: ∅
@@ -176,6 +176,7 @@
│ @ StatementsNode (location: (5,2)-(5,5))
│ └── body: (length: 1)
│ └── @ CallNode (location: (5,2)-(5,5))
+ │ ├── flags: variable_call
│ ├── receiver: ∅
│ ├── call_operator_loc: ∅
│ ├── name: :foo
@@ -183,7 +184,6 @@
│ ├── opening_loc: ∅
│ ├── arguments: ∅
│ ├── closing_loc: ∅
- │ ├── block: ∅
- │ └── flags: variable_call
+ │ └── block: ∅
├── consequent: ∅
└── end_keyword_loc: (6,0)-(6,3) = "end"
diff --git a/test/prism/snapshots/unparser/corpus/literal/for.txt b/test/prism/snapshots/unparser/corpus/literal/for.txt
index c2501a5440..626a97fe55 100644
--- a/test/prism/snapshots/unparser/corpus/literal/for.txt
+++ b/test/prism/snapshots/unparser/corpus/literal/for.txt
@@ -4,6 +4,7 @@
@ StatementsNode (location: (1,0)-(12,3))
└── body: (length: 4)
├── @ CallNode (location: (1,0)-(3,4))
+ │ ├── flags: ∅
│ ├── receiver: ∅
│ ├── call_operator_loc: ∅
│ ├── name: :bar
@@ -11,44 +12,43 @@
│ ├── opening_loc: (1,3)-(1,4) = "("
│ ├── arguments:
│ │ @ ArgumentsNode (location: (1,4)-(3,3))
- │ │ ├── arguments: (length: 1)
- │ │ │ └── @ ForNode (location: (1,4)-(3,3))
- │ │ │ ├── index:
- │ │ │ │ @ LocalVariableTargetNode (location: (1,8)-(1,9))
- │ │ │ │ ├── name: :a
- │ │ │ │ └── depth: 0
- │ │ │ ├── collection:
- │ │ │ │ @ CallNode (location: (1,13)-(1,16))
- │ │ │ │ ├── receiver: ∅
- │ │ │ │ ├── call_operator_loc: ∅
- │ │ │ │ ├── name: :bar
- │ │ │ │ ├── message_loc: (1,13)-(1,16) = "bar"
- │ │ │ │ ├── opening_loc: ∅
- │ │ │ │ ├── arguments: ∅
- │ │ │ │ ├── closing_loc: ∅
- │ │ │ │ ├── block: ∅
- │ │ │ │ └── flags: variable_call
- │ │ │ ├── statements:
- │ │ │ │ @ StatementsNode (location: (2,2)-(2,5))
- │ │ │ │ └── body: (length: 1)
- │ │ │ │ └── @ CallNode (location: (2,2)-(2,5))
- │ │ │ │ ├── receiver: ∅
- │ │ │ │ ├── call_operator_loc: ∅
- │ │ │ │ ├── name: :baz
- │ │ │ │ ├── message_loc: (2,2)-(2,5) = "baz"
- │ │ │ │ ├── opening_loc: ∅
- │ │ │ │ ├── arguments: ∅
- │ │ │ │ ├── closing_loc: ∅
- │ │ │ │ ├── block: ∅
- │ │ │ │ └── flags: variable_call
- │ │ │ ├── for_keyword_loc: (1,4)-(1,7) = "for"
- │ │ │ ├── in_keyword_loc: (1,10)-(1,12) = "in"
- │ │ │ ├── do_keyword_loc: (1,17)-(1,19) = "do"
- │ │ │ └── end_keyword_loc: (3,0)-(3,3) = "end"
- │ │ └── flags: ∅
+ │ │ ├── flags: ∅
+ │ │ └── arguments: (length: 1)
+ │ │ └── @ ForNode (location: (1,4)-(3,3))
+ │ │ ├── index:
+ │ │ │ @ LocalVariableTargetNode (location: (1,8)-(1,9))
+ │ │ │ ├── name: :a
+ │ │ │ └── depth: 0
+ │ │ ├── collection:
+ │ │ │ @ CallNode (location: (1,13)-(1,16))
+ │ │ │ ├── flags: variable_call
+ │ │ │ ├── receiver: ∅
+ │ │ │ ├── call_operator_loc: ∅
+ │ │ │ ├── name: :bar
+ │ │ │ ├── message_loc: (1,13)-(1,16) = "bar"
+ │ │ │ ├── opening_loc: ∅
+ │ │ │ ├── arguments: ∅
+ │ │ │ ├── closing_loc: ∅
+ │ │ │ └── block: ∅
+ │ │ ├── statements:
+ │ │ │ @ StatementsNode (location: (2,2)-(2,5))
+ │ │ │ └── body: (length: 1)
+ │ │ │ └── @ CallNode (location: (2,2)-(2,5))
+ │ │ │ ├── flags: variable_call
+ │ │ │ ├── receiver: ∅
+ │ │ │ ├── call_operator_loc: ∅
+ │ │ │ ├── name: :baz
+ │ │ │ ├── message_loc: (2,2)-(2,5) = "baz"
+ │ │ │ ├── opening_loc: ∅
+ │ │ │ ├── arguments: ∅
+ │ │ │ ├── closing_loc: ∅
+ │ │ │ └── block: ∅
+ │ │ ├── for_keyword_loc: (1,4)-(1,7) = "for"
+ │ │ ├── in_keyword_loc: (1,10)-(1,12) = "in"
+ │ │ ├── do_keyword_loc: (1,17)-(1,19) = "do"
+ │ │ └── end_keyword_loc: (3,0)-(3,3) = "end"
│ ├── closing_loc: (3,3)-(3,4) = ")"
- │ ├── block: ∅
- │ └── flags: ∅
+ │ └── block: ∅
├── @ ForNode (location: (4,0)-(6,3))
│ ├── index:
│ │ @ LocalVariableTargetNode (location: (4,4)-(4,5))
@@ -56,6 +56,7 @@
│ │ └── depth: 0
│ ├── collection:
│ │ @ CallNode (location: (4,9)-(4,12))
+ │ │ ├── flags: variable_call
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
│ │ ├── name: :bar
@@ -63,12 +64,12 @@
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
- │ │ ├── block: ∅
- │ │ └── flags: variable_call
+ │ │ └── block: ∅
│ ├── statements:
│ │ @ StatementsNode (location: (5,2)-(5,5))
│ │ └── body: (length: 1)
│ │ └── @ CallNode (location: (5,2)-(5,5))
+ │ │ ├── flags: variable_call
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
│ │ ├── name: :baz
@@ -76,8 +77,7 @@
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
- │ │ ├── block: ∅
- │ │ └── flags: variable_call
+ │ │ └── block: ∅
│ ├── for_keyword_loc: (4,0)-(4,3) = "for"
│ ├── in_keyword_loc: (4,6)-(4,8) = "in"
│ ├── do_keyword_loc: (4,13)-(4,15) = "do"
@@ -101,6 +101,7 @@
│ │ └── rparen_loc: (7,10)-(7,11) = ")"
│ ├── collection:
│ │ @ CallNode (location: (7,15)-(7,18))
+ │ │ ├── flags: variable_call
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
│ │ ├── name: :bar
@@ -108,12 +109,12 @@
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
- │ │ ├── block: ∅
- │ │ └── flags: variable_call
+ │ │ └── block: ∅
│ ├── statements:
│ │ @ StatementsNode (location: (8,2)-(8,5))
│ │ └── body: (length: 1)
│ │ └── @ CallNode (location: (8,2)-(8,5))
+ │ │ ├── flags: variable_call
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
│ │ ├── name: :baz
@@ -121,8 +122,7 @@
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
- │ │ ├── block: ∅
- │ │ └── flags: variable_call
+ │ │ └── block: ∅
│ ├── for_keyword_loc: (7,0)-(7,3) = "for"
│ ├── in_keyword_loc: (7,12)-(7,14) = "in"
│ ├── do_keyword_loc: (7,19)-(7,21) = "do"
@@ -143,6 +143,7 @@
│ └── rparen_loc: (10,9)-(10,10) = ")"
├── collection:
│ @ CallNode (location: (10,14)-(10,17))
+ │ ├── flags: variable_call
│ ├── receiver: ∅
│ ├── call_operator_loc: ∅
│ ├── name: :bar
@@ -150,12 +151,12 @@
│ ├── opening_loc: ∅
│ ├── arguments: ∅
│ ├── closing_loc: ∅
- │ ├── block: ∅
- │ └── flags: variable_call
+ │ └── block: ∅
├── statements:
│ @ StatementsNode (location: (11,2)-(11,5))
│ └── body: (length: 1)
│ └── @ CallNode (location: (11,2)-(11,5))
+ │ ├── flags: variable_call
│ ├── receiver: ∅
│ ├── call_operator_loc: ∅
│ ├── name: :baz
@@ -163,8 +164,7 @@
│ ├── opening_loc: ∅
│ ├── arguments: ∅
│ ├── closing_loc: ∅
- │ ├── block: ∅
- │ └── flags: variable_call
+ │ └── block: ∅
├── for_keyword_loc: (10,0)-(10,3) = "for"
├── in_keyword_loc: (10,11)-(10,13) = "in"
├── do_keyword_loc: (10,18)-(10,20) = "do"
diff --git a/test/prism/snapshots/unparser/corpus/literal/hookexe.txt b/test/prism/snapshots/unparser/corpus/literal/hookexe.txt
index 2fe6ef2311..0ff57fb213 100644
--- a/test/prism/snapshots/unparser/corpus/literal/hookexe.txt
+++ b/test/prism/snapshots/unparser/corpus/literal/hookexe.txt
@@ -8,6 +8,7 @@
│ │ @ StatementsNode (location: (2,2)-(2,5))
│ │ └── body: (length: 1)
│ │ └── @ CallNode (location: (2,2)-(2,5))
+ │ │ ├── flags: variable_call
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
│ │ ├── name: :foo
@@ -15,12 +16,12 @@
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
- │ │ ├── block: ∅
- │ │ └── flags: variable_call
+ │ │ └── block: ∅
│ ├── keyword_loc: (1,0)-(1,5) = "BEGIN"
│ ├── opening_loc: (1,6)-(1,7) = "{"
│ └── closing_loc: (3,0)-(3,1) = "}"
├── @ CallNode (location: (4,0)-(4,3))
+ │ ├── flags: variable_call
│ ├── receiver: ∅
│ ├── call_operator_loc: ∅
│ ├── name: :bar
@@ -28,13 +29,13 @@
│ ├── opening_loc: ∅
│ ├── arguments: ∅
│ ├── closing_loc: ∅
- │ ├── block: ∅
- │ └── flags: variable_call
+ │ └── block: ∅
└── @ PostExecutionNode (location: (5,0)-(7,1))
├── statements:
│ @ StatementsNode (location: (6,2)-(6,5))
│ └── body: (length: 1)
│ └── @ CallNode (location: (6,2)-(6,5))
+ │ ├── flags: variable_call
│ ├── receiver: ∅
│ ├── call_operator_loc: ∅
│ ├── name: :baz
@@ -42,8 +43,7 @@
│ ├── opening_loc: ∅
│ ├── arguments: ∅
│ ├── closing_loc: ∅
- │ ├── block: ∅
- │ └── flags: variable_call
+ │ └── block: ∅
├── keyword_loc: (5,0)-(5,3) = "END"
├── opening_loc: (5,4)-(5,5) = "{"
└── closing_loc: (7,0)-(7,1) = "}"
diff --git a/test/prism/snapshots/unparser/corpus/literal/if.txt b/test/prism/snapshots/unparser/corpus/literal/if.txt
index dcf15b406a..cf49a6b328 100644
--- a/test/prism/snapshots/unparser/corpus/literal/if.txt
+++ b/test/prism/snapshots/unparser/corpus/literal/if.txt
@@ -7,16 +7,17 @@
│ ├── if_keyword_loc: (1,0)-(1,2) = "if"
│ ├── predicate:
│ │ @ MatchLastLineNode (location: (1,3)-(1,8))
+ │ │ ├── flags: ∅
│ │ ├── opening_loc: (1,3)-(1,4) = "/"
│ │ ├── content_loc: (1,4)-(1,7) = "foo"
│ │ ├── closing_loc: (1,7)-(1,8) = "/"
- │ │ ├── unescaped: "foo"
- │ │ └── flags: ∅
+ │ │ └── unescaped: "foo"
│ ├── then_keyword_loc: ∅
│ ├── statements:
│ │ @ StatementsNode (location: (2,2)-(2,5))
│ │ └── body: (length: 1)
│ │ └── @ CallNode (location: (2,2)-(2,5))
+ │ │ ├── flags: variable_call
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
│ │ ├── name: :bar
@@ -24,8 +25,7 @@
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
- │ │ ├── block: ∅
- │ │ └── flags: variable_call
+ │ │ └── block: ∅
│ ├── consequent: ∅
│ └── end_keyword_loc: (3,0)-(3,3) = "end"
├── @ IfNode (location: (4,0)-(6,3))
@@ -91,6 +91,7 @@
│ ├── if_keyword_loc: (18,0)-(18,2) = "if"
│ ├── predicate:
│ │ @ CallNode (location: (18,3)-(18,6))
+ │ │ ├── flags: variable_call
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
│ │ ├── name: :foo
@@ -98,8 +99,7 @@
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
- │ │ ├── block: ∅
- │ │ └── flags: variable_call
+ │ │ └── block: ∅
│ ├── then_keyword_loc: ∅
│ ├── statements: ∅
│ ├── consequent: ∅
@@ -129,6 +129,7 @@
│ │ │ ├── name_loc: (22,2)-(22,5) = "foo"
│ │ │ ├── value:
│ │ │ │ @ CallNode (location: (22,8)-(22,11))
+ │ │ │ │ ├── flags: variable_call
│ │ │ │ ├── receiver: ∅
│ │ │ │ ├── call_operator_loc: ∅
│ │ │ │ ├── name: :bar
@@ -136,8 +137,7 @@
│ │ │ │ ├── opening_loc: ∅
│ │ │ │ ├── arguments: ∅
│ │ │ │ ├── closing_loc: ∅
- │ │ │ │ ├── block: ∅
- │ │ │ │ └── flags: variable_call
+ │ │ │ │ └── block: ∅
│ │ │ └── operator_loc: (22,6)-(22,7) = "="
│ │ ├── consequent: ∅
│ │ └── end_keyword_loc: ∅
@@ -168,6 +168,7 @@
│ │ │ ├── name_loc: (26,2)-(26,5) = "foo"
│ │ │ ├── value:
│ │ │ │ @ CallNode (location: (26,8)-(26,11))
+ │ │ │ │ ├── flags: variable_call
│ │ │ │ ├── receiver: ∅
│ │ │ │ ├── call_operator_loc: ∅
│ │ │ │ ├── name: :bar
@@ -175,8 +176,7 @@
│ │ │ │ ├── opening_loc: ∅
│ │ │ │ ├── arguments: ∅
│ │ │ │ ├── closing_loc: ∅
- │ │ │ │ ├── block: ∅
- │ │ │ │ └── flags: variable_call
+ │ │ │ │ └── block: ∅
│ │ │ └── operator_loc: (26,6)-(26,7) = "="
│ │ ├── consequent: ∅
│ │ └── end_keyword_loc: ∅
@@ -186,6 +186,7 @@
│ ├── keyword_loc: (28,0)-(28,6) = "unless"
│ ├── predicate:
│ │ @ CallNode (location: (28,7)-(28,10))
+ │ │ ├── flags: variable_call
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
│ │ ├── name: :foo
@@ -193,8 +194,7 @@
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
- │ │ ├── block: ∅
- │ │ └── flags: variable_call
+ │ │ └── block: ∅
│ ├── then_keyword_loc: ∅
│ ├── statements:
│ │ @ StatementsNode (location: (29,2)-(29,11))
@@ -205,6 +205,7 @@
│ │ ├── name_loc: (29,2)-(29,5) = "foo"
│ │ ├── value:
│ │ │ @ CallNode (location: (29,8)-(29,11))
+ │ │ │ ├── flags: variable_call
│ │ │ ├── receiver: ∅
│ │ │ ├── call_operator_loc: ∅
│ │ │ ├── name: :bar
@@ -212,8 +213,7 @@
│ │ │ ├── opening_loc: ∅
│ │ │ ├── arguments: ∅
│ │ │ ├── closing_loc: ∅
- │ │ │ ├── block: ∅
- │ │ │ └── flags: variable_call
+ │ │ │ └── block: ∅
│ │ └── operator_loc: (29,6)-(29,7) = "="
│ ├── consequent: ∅
│ └── end_keyword_loc: (30,0)-(30,3) = "end"
@@ -221,6 +221,7 @@
├── if_keyword_loc: (31,0)-(31,2) = "if"
├── predicate:
│ @ CallNode (location: (31,3)-(33,1))
+ │ ├── flags: ∅
│ ├── receiver: ∅
│ ├── call_operator_loc: ∅
│ ├── name: :foo
@@ -228,35 +229,34 @@
│ ├── opening_loc: ∅
│ ├── arguments: ∅
│ ├── closing_loc: ∅
- │ ├── block:
- │ │ @ BlockNode (location: (31,7)-(33,1))
- │ │ ├── locals: [:pair]
- │ │ ├── locals_body_index: 1
- │ │ ├── parameters:
- │ │ │ @ BlockParametersNode (location: (31,9)-(31,15))
- │ │ │ ├── parameters:
- │ │ │ │ @ ParametersNode (location: (31,10)-(31,14))
- │ │ │ │ ├── requireds: (length: 1)
- │ │ │ │ │ └── @ RequiredParameterNode (location: (31,10)-(31,14))
- │ │ │ │ │ └── name: :pair
- │ │ │ │ ├── optionals: (length: 0)
- │ │ │ │ ├── rest: ∅
- │ │ │ │ ├── posts: (length: 0)
- │ │ │ │ ├── keywords: (length: 0)
- │ │ │ │ ├── keyword_rest: ∅
- │ │ │ │ └── block: ∅
- │ │ │ ├── locals: (length: 0)
- │ │ │ ├── opening_loc: (31,9)-(31,10) = "|"
- │ │ │ └── closing_loc: (31,14)-(31,15) = "|"
- │ │ ├── body:
- │ │ │ @ StatementsNode (location: (32,2)-(32,6))
- │ │ │ └── body: (length: 1)
- │ │ │ └── @ LocalVariableReadNode (location: (32,2)-(32,6))
- │ │ │ ├── name: :pair
- │ │ │ └── depth: 0
- │ │ ├── opening_loc: (31,7)-(31,8) = "{"
- │ │ └── closing_loc: (33,0)-(33,1) = "}"
- │ └── flags: ∅
+ │ └── block:
+ │ @ BlockNode (location: (31,7)-(33,1))
+ │ ├── locals: [:pair]
+ │ ├── locals_body_index: 1
+ │ ├── parameters:
+ │ │ @ BlockParametersNode (location: (31,9)-(31,15))
+ │ │ ├── parameters:
+ │ │ │ @ ParametersNode (location: (31,10)-(31,14))
+ │ │ │ ├── requireds: (length: 1)
+ │ │ │ │ └── @ RequiredParameterNode (location: (31,10)-(31,14))
+ │ │ │ │ └── name: :pair
+ │ │ │ ├── optionals: (length: 0)
+ │ │ │ ├── rest: ∅
+ │ │ │ ├── posts: (length: 0)
+ │ │ │ ├── keywords: (length: 0)
+ │ │ │ ├── keyword_rest: ∅
+ │ │ │ └── block: ∅
+ │ │ ├── locals: (length: 0)
+ │ │ ├── opening_loc: (31,9)-(31,10) = "|"
+ │ │ └── closing_loc: (31,14)-(31,15) = "|"
+ │ ├── body:
+ │ │ @ StatementsNode (location: (32,2)-(32,6))
+ │ │ └── body: (length: 1)
+ │ │ └── @ LocalVariableReadNode (location: (32,2)-(32,6))
+ │ │ ├── name: :pair
+ │ │ └── depth: 0
+ │ ├── opening_loc: (31,7)-(31,8) = "{"
+ │ └── closing_loc: (33,0)-(33,1) = "}"
├── then_keyword_loc: ∅
├── statements:
│ @ StatementsNode (location: (34,2)-(35,5))
diff --git a/test/prism/snapshots/unparser/corpus/literal/kwbegin.txt b/test/prism/snapshots/unparser/corpus/literal/kwbegin.txt
index db2bd0414f..75f97923ad 100644
--- a/test/prism/snapshots/unparser/corpus/literal/kwbegin.txt
+++ b/test/prism/snapshots/unparser/corpus/literal/kwbegin.txt
@@ -34,6 +34,7 @@
│ │ @ StatementsNode (location: (10,2)-(10,3))
│ │ └── body: (length: 1)
│ │ └── @ CallNode (location: (10,2)-(10,3))
+ │ │ ├── flags: variable_call
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
│ │ ├── name: :a
@@ -41,8 +42,7 @@
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
- │ │ ├── block: ∅
- │ │ └── flags: variable_call
+ │ │ └── block: ∅
│ ├── rescue_clause: ∅
│ ├── else_clause: ∅
│ ├── ensure_clause: ∅
@@ -53,6 +53,7 @@
│ │ @ StatementsNode (location: (14,2)-(14,3))
│ │ └── body: (length: 1)
│ │ └── @ CallNode (location: (14,2)-(14,3))
+ │ │ ├── flags: variable_call
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
│ │ ├── name: :a
@@ -60,8 +61,7 @@
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
- │ │ ├── block: ∅
- │ │ └── flags: variable_call
+ │ │ └── block: ∅
│ ├── rescue_clause:
│ │ @ RescueNode (location: (15,0)-(16,3))
│ │ ├── keyword_loc: (15,0)-(15,6) = "rescue"
@@ -72,6 +72,7 @@
│ │ │ @ StatementsNode (location: (16,2)-(16,3))
│ │ │ └── body: (length: 1)
│ │ │ └── @ CallNode (location: (16,2)-(16,3))
+ │ │ │ ├── flags: variable_call
│ │ │ ├── receiver: ∅
│ │ │ ├── call_operator_loc: ∅
│ │ │ ├── name: :b
@@ -79,8 +80,7 @@
│ │ │ ├── opening_loc: ∅
│ │ │ ├── arguments: ∅
│ │ │ ├── closing_loc: ∅
- │ │ │ ├── block: ∅
- │ │ │ └── flags: variable_call
+ │ │ │ └── block: ∅
│ │ └── consequent: ∅
│ ├── else_clause: ∅
│ ├── ensure_clause: ∅
@@ -91,6 +91,7 @@
│ │ @ StatementsNode (location: (20,2)-(21,3))
│ │ └── body: (length: 2)
│ │ ├── @ CallNode (location: (20,2)-(20,3))
+ │ │ │ ├── flags: variable_call
│ │ │ ├── receiver: ∅
│ │ │ ├── call_operator_loc: ∅
│ │ │ ├── name: :a
@@ -98,9 +99,9 @@
│ │ │ ├── opening_loc: ∅
│ │ │ ├── arguments: ∅
│ │ │ ├── closing_loc: ∅
- │ │ │ ├── block: ∅
- │ │ │ └── flags: variable_call
+ │ │ │ └── block: ∅
│ │ └── @ CallNode (location: (21,2)-(21,3))
+ │ │ ├── flags: variable_call
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
│ │ ├── name: :b
@@ -108,8 +109,7 @@
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
- │ │ ├── block: ∅
- │ │ └── flags: variable_call
+ │ │ └── block: ∅
│ ├── rescue_clause:
│ │ @ RescueNode (location: (22,0)-(23,3))
│ │ ├── keyword_loc: (22,0)-(22,6) = "rescue"
@@ -120,6 +120,7 @@
│ │ │ @ StatementsNode (location: (23,2)-(23,3))
│ │ │ └── body: (length: 1)
│ │ │ └── @ CallNode (location: (23,2)-(23,3))
+ │ │ │ ├── flags: variable_call
│ │ │ ├── receiver: ∅
│ │ │ ├── call_operator_loc: ∅
│ │ │ ├── name: :b
@@ -127,8 +128,7 @@
│ │ │ ├── opening_loc: ∅
│ │ │ ├── arguments: ∅
│ │ │ ├── closing_loc: ∅
- │ │ │ ├── block: ∅
- │ │ │ └── flags: variable_call
+ │ │ │ └── block: ∅
│ │ └── consequent: ∅
│ ├── else_clause: ∅
│ ├── ensure_clause: ∅
@@ -174,6 +174,7 @@
│ │ @ StatementsNode (location: (35,2)-(35,3))
│ │ └── body: (length: 1)
│ │ └── @ CallNode (location: (35,2)-(35,3))
+ │ │ ├── flags: variable_call
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
│ │ ├── name: :a
@@ -181,8 +182,7 @@
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
- │ │ ├── block: ∅
- │ │ └── flags: variable_call
+ │ │ └── block: ∅
│ ├── rescue_clause:
│ │ @ RescueNode (location: (36,0)-(39,3))
│ │ ├── keyword_loc: (36,0)-(36,6) = "rescue"
@@ -195,6 +195,7 @@
│ │ │ @ StatementsNode (location: (37,2)-(37,3))
│ │ │ └── body: (length: 1)
│ │ │ └── @ CallNode (location: (37,2)-(37,3))
+ │ │ │ ├── flags: variable_call
│ │ │ ├── receiver: ∅
│ │ │ ├── call_operator_loc: ∅
│ │ │ ├── name: :b
@@ -202,8 +203,7 @@
│ │ │ ├── opening_loc: ∅
│ │ │ ├── arguments: ∅
│ │ │ ├── closing_loc: ∅
- │ │ │ ├── block: ∅
- │ │ │ └── flags: variable_call
+ │ │ │ └── block: ∅
│ │ └── consequent:
│ │ @ RescueNode (location: (38,0)-(39,3))
│ │ ├── keyword_loc: (38,0)-(38,6) = "rescue"
@@ -216,6 +216,7 @@
│ │ │ @ StatementsNode (location: (39,2)-(39,3))
│ │ │ └── body: (length: 1)
│ │ │ └── @ CallNode (location: (39,2)-(39,3))
+ │ │ │ ├── flags: variable_call
│ │ │ ├── receiver: ∅
│ │ │ ├── call_operator_loc: ∅
│ │ │ ├── name: :c
@@ -223,8 +224,7 @@
│ │ │ ├── opening_loc: ∅
│ │ │ ├── arguments: ∅
│ │ │ ├── closing_loc: ∅
- │ │ │ ├── block: ∅
- │ │ │ └── flags: variable_call
+ │ │ │ └── block: ∅
│ │ └── consequent: ∅
│ ├── else_clause: ∅
│ ├── ensure_clause:
@@ -234,6 +234,7 @@
│ │ │ @ StatementsNode (location: (41,2)-(41,3))
│ │ │ └── body: (length: 1)
│ │ │ └── @ CallNode (location: (41,2)-(41,3))
+ │ │ │ ├── flags: variable_call
│ │ │ ├── receiver: ∅
│ │ │ ├── call_operator_loc: ∅
│ │ │ ├── name: :d
@@ -241,8 +242,7 @@
│ │ │ ├── opening_loc: ∅
│ │ │ ├── arguments: ∅
│ │ │ ├── closing_loc: ∅
- │ │ │ ├── block: ∅
- │ │ │ └── flags: variable_call
+ │ │ │ └── block: ∅
│ │ └── end_keyword_loc: (42,0)-(42,3) = "end"
│ └── end_keyword_loc: (42,0)-(42,3) = "end"
├── @ BeginNode (location: (44,0)-(53,3))
@@ -259,6 +259,7 @@
│ │ │ │ ├── name: :foo
│ │ │ │ └── depth: 0
│ │ │ └── @ CallNode (location: (47,4)-(47,7))
+ │ │ │ ├── flags: variable_call
│ │ │ ├── receiver: ∅
│ │ │ ├── call_operator_loc: ∅
│ │ │ ├── name: :bar
@@ -266,8 +267,7 @@
│ │ │ ├── opening_loc: ∅
│ │ │ ├── arguments: ∅
│ │ │ ├── closing_loc: ∅
- │ │ │ ├── block: ∅
- │ │ │ └── flags: variable_call
+ │ │ │ └── block: ∅
│ │ ├── rescue_clause:
│ │ │ @ RescueNode (location: (48,2)-(48,8))
│ │ │ ├── keyword_loc: (48,2)-(48,8) = "rescue"
@@ -289,6 +289,7 @@
│ │ │ @ StatementsNode (location: (51,2)-(52,5))
│ │ │ └── body: (length: 2)
│ │ │ ├── @ CallNode (location: (51,2)-(51,5))
+ │ │ │ │ ├── flags: variable_call
│ │ │ │ ├── receiver: ∅
│ │ │ │ ├── call_operator_loc: ∅
│ │ │ │ ├── name: :baz
@@ -296,9 +297,9 @@
│ │ │ │ ├── opening_loc: ∅
│ │ │ │ ├── arguments: ∅
│ │ │ │ ├── closing_loc: ∅
- │ │ │ │ ├── block: ∅
- │ │ │ │ └── flags: variable_call
+ │ │ │ │ └── block: ∅
│ │ │ └── @ CallNode (location: (52,2)-(52,5))
+ │ │ │ ├── flags: variable_call
│ │ │ ├── receiver: ∅
│ │ │ ├── call_operator_loc: ∅
│ │ │ ├── name: :bar
@@ -306,8 +307,7 @@
│ │ │ ├── opening_loc: ∅
│ │ │ ├── arguments: ∅
│ │ │ ├── closing_loc: ∅
- │ │ │ ├── block: ∅
- │ │ │ └── flags: variable_call
+ │ │ │ └── block: ∅
│ │ └── consequent: ∅
│ ├── else_clause: ∅
│ ├── ensure_clause: ∅
@@ -320,6 +320,7 @@
│ │ └── @ RescueModifierNode (location: (56,2)-(56,35))
│ │ ├── expression:
│ │ │ @ CallNode (location: (56,2)-(56,18))
+ │ │ │ ├── flags: ∅
│ │ │ ├── receiver: ∅
│ │ │ ├── call_operator_loc: ∅
│ │ │ ├── name: :raise
@@ -327,13 +328,12 @@
│ │ │ ├── opening_loc: (56,7)-(56,8) = "("
│ │ │ ├── arguments:
│ │ │ │ @ ArgumentsNode (location: (56,8)-(56,17))
- │ │ │ │ ├── arguments: (length: 1)
- │ │ │ │ │ └── @ ConstantReadNode (location: (56,8)-(56,17))
- │ │ │ │ │ └── name: :Exception
- │ │ │ │ └── flags: ∅
+ │ │ │ │ ├── flags: ∅
+ │ │ │ │ └── arguments: (length: 1)
+ │ │ │ │ └── @ ConstantReadNode (location: (56,8)-(56,17))
+ │ │ │ │ └── name: :Exception
│ │ │ ├── closing_loc: (56,17)-(56,18) = ")"
- │ │ │ ├── block: ∅
- │ │ │ └── flags: ∅
+ │ │ │ └── block: ∅
│ │ ├── keyword_loc: (56,19)-(56,25) = "rescue"
│ │ └── rescue_expression:
│ │ @ LocalVariableWriteNode (location: (56,26)-(56,35))
@@ -342,6 +342,7 @@
│ │ ├── name_loc: (56,26)-(56,29) = "foo"
│ │ ├── value:
│ │ │ @ CallNode (location: (56,32)-(56,35))
+ │ │ │ ├── flags: variable_call
│ │ │ ├── receiver: ∅
│ │ │ ├── call_operator_loc: ∅
│ │ │ ├── name: :bar
@@ -349,8 +350,7 @@
│ │ │ ├── opening_loc: ∅
│ │ │ ├── arguments: ∅
│ │ │ ├── closing_loc: ∅
- │ │ │ ├── block: ∅
- │ │ │ └── flags: variable_call
+ │ │ │ └── block: ∅
│ │ └── operator_loc: (56,30)-(56,31) = "="
│ ├── rescue_clause:
│ │ @ RescueNode (location: (57,0)-(57,16))
@@ -452,6 +452,7 @@
│ │ │ @ StatementsNode (location: (75,2)-(75,5))
│ │ │ └── body: (length: 1)
│ │ │ └── @ CallNode (location: (75,2)-(75,5))
+ │ │ │ ├── flags: variable_call
│ │ │ ├── receiver: ∅
│ │ │ ├── call_operator_loc: ∅
│ │ │ ├── name: :baz
@@ -459,8 +460,7 @@
│ │ │ ├── opening_loc: ∅
│ │ │ ├── arguments: ∅
│ │ │ ├── closing_loc: ∅
- │ │ │ ├── block: ∅
- │ │ │ └── flags: variable_call
+ │ │ │ └── block: ∅
│ │ └── consequent: ∅
│ ├── else_clause: ∅
│ ├── ensure_clause: ∅
diff --git a/test/prism/snapshots/unparser/corpus/literal/lambda.txt b/test/prism/snapshots/unparser/corpus/literal/lambda.txt
index 97b4cfcfe6..a8b58e5574 100644
--- a/test/prism/snapshots/unparser/corpus/literal/lambda.txt
+++ b/test/prism/snapshots/unparser/corpus/literal/lambda.txt
@@ -4,6 +4,7 @@
@ StatementsNode (location: (1,0)-(13,1))
└── body: (length: 6)
├── @ CallNode (location: (1,0)-(2,1))
+ │ ├── flags: ∅
│ ├── receiver: ∅
│ ├── call_operator_loc: ∅
│ ├── name: :lambda
@@ -11,16 +12,16 @@
│ ├── opening_loc: ∅
│ ├── arguments: ∅
│ ├── closing_loc: ∅
- │ ├── block:
- │ │ @ BlockNode (location: (1,7)-(2,1))
- │ │ ├── locals: []
- │ │ ├── locals_body_index: 0
- │ │ ├── parameters: ∅
- │ │ ├── body: ∅
- │ │ ├── opening_loc: (1,7)-(1,8) = "{"
- │ │ └── closing_loc: (2,0)-(2,1) = "}"
- │ └── flags: ∅
+ │ └── block:
+ │ @ BlockNode (location: (1,7)-(2,1))
+ │ ├── locals: []
+ │ ├── locals_body_index: 0
+ │ ├── parameters: ∅
+ │ ├── body: ∅
+ │ ├── opening_loc: (1,7)-(1,8) = "{"
+ │ └── closing_loc: (2,0)-(2,1) = "}"
├── @ CallNode (location: (3,0)-(5,1))
+ │ ├── flags: ∅
│ ├── receiver: ∅
│ ├── call_operator_loc: ∅
│ ├── name: :lambda
@@ -28,37 +29,36 @@
│ ├── opening_loc: ∅
│ ├── arguments: ∅
│ ├── closing_loc: ∅
- │ ├── block:
- │ │ @ BlockNode (location: (3,7)-(5,1))
- │ │ ├── locals: [:a, :b]
- │ │ ├── locals_body_index: 2
- │ │ ├── parameters:
- │ │ │ @ BlockParametersNode (location: (3,9)-(3,15))
- │ │ │ ├── parameters:
- │ │ │ │ @ ParametersNode (location: (3,10)-(3,14))
- │ │ │ │ ├── requireds: (length: 2)
- │ │ │ │ │ ├── @ RequiredParameterNode (location: (3,10)-(3,11))
- │ │ │ │ │ │ └── name: :a
- │ │ │ │ │ └── @ RequiredParameterNode (location: (3,13)-(3,14))
- │ │ │ │ │ └── name: :b
- │ │ │ │ ├── optionals: (length: 0)
- │ │ │ │ ├── rest: ∅
- │ │ │ │ ├── posts: (length: 0)
- │ │ │ │ ├── keywords: (length: 0)
- │ │ │ │ ├── keyword_rest: ∅
- │ │ │ │ └── block: ∅
- │ │ │ ├── locals: (length: 0)
- │ │ │ ├── opening_loc: (3,9)-(3,10) = "|"
- │ │ │ └── closing_loc: (3,14)-(3,15) = "|"
- │ │ ├── body:
- │ │ │ @ StatementsNode (location: (4,2)-(4,3))
- │ │ │ └── body: (length: 1)
- │ │ │ └── @ LocalVariableReadNode (location: (4,2)-(4,3))
- │ │ │ ├── name: :a
- │ │ │ └── depth: 0
- │ │ ├── opening_loc: (3,7)-(3,8) = "{"
- │ │ └── closing_loc: (5,0)-(5,1) = "}"
- │ └── flags: ∅
+ │ └── block:
+ │ @ BlockNode (location: (3,7)-(5,1))
+ │ ├── locals: [:a, :b]
+ │ ├── locals_body_index: 2
+ │ ├── parameters:
+ │ │ @ BlockParametersNode (location: (3,9)-(3,15))
+ │ │ ├── parameters:
+ │ │ │ @ ParametersNode (location: (3,10)-(3,14))
+ │ │ │ ├── requireds: (length: 2)
+ │ │ │ │ ├── @ RequiredParameterNode (location: (3,10)-(3,11))
+ │ │ │ │ │ └── name: :a
+ │ │ │ │ └── @ RequiredParameterNode (location: (3,13)-(3,14))
+ │ │ │ │ └── name: :b
+ │ │ │ ├── optionals: (length: 0)
+ │ │ │ ├── rest: ∅
+ │ │ │ ├── posts: (length: 0)
+ │ │ │ ├── keywords: (length: 0)
+ │ │ │ ├── keyword_rest: ∅
+ │ │ │ └── block: ∅
+ │ │ ├── locals: (length: 0)
+ │ │ ├── opening_loc: (3,9)-(3,10) = "|"
+ │ │ └── closing_loc: (3,14)-(3,15) = "|"
+ │ ├── body:
+ │ │ @ StatementsNode (location: (4,2)-(4,3))
+ │ │ └── body: (length: 1)
+ │ │ └── @ LocalVariableReadNode (location: (4,2)-(4,3))
+ │ │ ├── name: :a
+ │ │ └── depth: 0
+ │ ├── opening_loc: (3,7)-(3,8) = "{"
+ │ └── closing_loc: (5,0)-(5,1) = "}"
├── @ LambdaNode (location: (6,0)-(7,1))
│ ├── locals: []
│ ├── locals_body_index: 0
diff --git a/test/prism/snapshots/unparser/corpus/literal/literal.txt b/test/prism/snapshots/unparser/corpus/literal/literal.txt
index eb7e734787..472ecc3bed 100644
--- a/test/prism/snapshots/unparser/corpus/literal/literal.txt
+++ b/test/prism/snapshots/unparser/corpus/literal/literal.txt
@@ -88,6 +88,7 @@
│ │ └── operator_loc: (4,22)-(4,24) = "=>"
│ └── closing_loc: (4,30)-(4,31) = "}"
├── @ ArrayNode (location: (5,0)-(5,12))
+ │ ├── flags: ∅
│ ├── elements: (length: 2)
│ │ ├── @ StringNode (location: (5,1)-(5,6))
│ │ │ ├── flags: ∅
@@ -102,11 +103,12 @@
│ │ ├── closing_loc: (5,10)-(5,11) = ")"
│ │ └── unescaped: ""
│ ├── opening_loc: (5,0)-(5,1) = "["
- │ ├── closing_loc: (5,11)-(5,12) = "]"
- │ └── flags: ∅
+ │ └── closing_loc: (5,11)-(5,12) = "]"
├── @ CallNode (location: (6,0)-(6,15))
+ │ ├── flags: ∅
│ ├── receiver:
│ │ @ CallNode (location: (6,0)-(6,13))
+ │ │ ├── flags: ∅
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
│ │ ├── name: :a
@@ -114,42 +116,42 @@
│ │ ├── opening_loc: (6,1)-(6,2) = "("
│ │ ├── arguments:
│ │ │ @ ArgumentsNode (location: (6,2)-(6,12))
- │ │ │ ├── arguments: (length: 1)
- │ │ │ │ └── @ InterpolatedStringNode (location: (6,2)-(6,12))
- │ │ │ │ ├── opening_loc: (6,2)-(6,12) = "<<-HEREDOC"
- │ │ │ │ ├── parts: (length: 3)
- │ │ │ │ │ ├── @ StringNode (location: (7,0)-(7,2))
- │ │ │ │ │ │ ├── flags: ∅
- │ │ │ │ │ │ ├── opening_loc: ∅
- │ │ │ │ │ │ ├── content_loc: (7,0)-(7,2) = " "
- │ │ │ │ │ │ ├── closing_loc: ∅
- │ │ │ │ │ │ └── unescaped: " "
- │ │ │ │ │ ├── @ EmbeddedStatementsNode (location: (7,2)-(7,5))
- │ │ │ │ │ │ ├── opening_loc: (7,2)-(7,4) = "\#{"
- │ │ │ │ │ │ ├── statements: ∅
- │ │ │ │ │ │ └── closing_loc: (7,4)-(7,5) = "}"
- │ │ │ │ │ └── @ StringNode (location: (7,5)-(8,0))
- │ │ │ │ │ ├── flags: ∅
- │ │ │ │ │ ├── opening_loc: ∅
- │ │ │ │ │ ├── content_loc: (7,5)-(8,0) = "\n"
- │ │ │ │ │ ├── closing_loc: ∅
- │ │ │ │ │ └── unescaped: "\n"
- │ │ │ │ └── closing_loc: (8,0)-(9,0) = "HEREDOC\n"
- │ │ │ └── flags: ∅
+ │ │ │ ├── flags: ∅
+ │ │ │ └── arguments: (length: 1)
+ │ │ │ └── @ InterpolatedStringNode (location: (6,2)-(6,12))
+ │ │ │ ├── opening_loc: (6,2)-(6,12) = "<<-HEREDOC"
+ │ │ │ ├── parts: (length: 3)
+ │ │ │ │ ├── @ StringNode (location: (7,0)-(7,2))
+ │ │ │ │ │ ├── flags: ∅
+ │ │ │ │ │ ├── opening_loc: ∅
+ │ │ │ │ │ ├── content_loc: (7,0)-(7,2) = " "
+ │ │ │ │ │ ├── closing_loc: ∅
+ │ │ │ │ │ └── unescaped: " "
+ │ │ │ │ ├── @ EmbeddedStatementsNode (location: (7,2)-(7,5))
+ │ │ │ │ │ ├── opening_loc: (7,2)-(7,4) = "\#{"
+ │ │ │ │ │ ├── statements: ∅
+ │ │ │ │ │ └── closing_loc: (7,4)-(7,5) = "}"
+ │ │ │ │ └── @ StringNode (location: (7,5)-(8,0))
+ │ │ │ │ ├── flags: ∅
+ │ │ │ │ ├── opening_loc: ∅
+ │ │ │ │ ├── content_loc: (7,5)-(8,0) = "\n"
+ │ │ │ │ ├── closing_loc: ∅
+ │ │ │ │ └── unescaped: "\n"
+ │ │ │ └── closing_loc: (8,0)-(9,0) = "HEREDOC\n"
│ │ ├── closing_loc: (6,12)-(6,13) = ")"
- │ │ ├── block: ∅
- │ │ └── flags: ∅
+ │ │ └── block: ∅
│ ├── call_operator_loc: (6,13)-(6,14) = "."
│ ├── name: :a
│ ├── message_loc: (6,14)-(6,15) = "a"
│ ├── opening_loc: ∅
│ ├── arguments: ∅
│ ├── closing_loc: ∅
- │ ├── block: ∅
- │ └── flags: ∅
+ │ └── block: ∅
├── @ CallNode (location: (9,0)-(9,8))
+ │ ├── flags: ∅
│ ├── receiver:
│ │ @ CallNode (location: (9,0)-(9,6))
+ │ │ ├── flags: ∅
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
│ │ ├── name: :a
@@ -157,25 +159,23 @@
│ │ ├── opening_loc: (9,1)-(9,2) = "("
│ │ ├── arguments:
│ │ │ @ ArgumentsNode (location: (9,2)-(9,5))
- │ │ │ ├── arguments: (length: 1)
- │ │ │ │ └── @ StringNode (location: (9,2)-(9,5))
- │ │ │ │ ├── flags: ∅
- │ │ │ │ ├── opening_loc: (9,2)-(9,4) = "%("
- │ │ │ │ ├── content_loc: (9,4)-(9,4) = ""
- │ │ │ │ ├── closing_loc: (9,4)-(9,5) = ")"
- │ │ │ │ └── unescaped: ""
- │ │ │ └── flags: ∅
+ │ │ │ ├── flags: ∅
+ │ │ │ └── arguments: (length: 1)
+ │ │ │ └── @ StringNode (location: (9,2)-(9,5))
+ │ │ │ ├── flags: ∅
+ │ │ │ ├── opening_loc: (9,2)-(9,4) = "%("
+ │ │ │ ├── content_loc: (9,4)-(9,4) = ""
+ │ │ │ ├── closing_loc: (9,4)-(9,5) = ")"
+ │ │ │ └── unescaped: ""
│ │ ├── closing_loc: (9,5)-(9,6) = ")"
- │ │ ├── block: ∅
- │ │ └── flags: ∅
+ │ │ └── block: ∅
│ ├── call_operator_loc: (9,6)-(9,7) = "."
│ ├── name: :a
│ ├── message_loc: (9,7)-(9,8) = "a"
│ ├── opening_loc: ∅
│ ├── arguments: ∅
│ ├── closing_loc: ∅
- │ ├── block: ∅
- │ └── flags: ∅
+ │ └── block: ∅
├── @ HashNode (location: (10,0)-(10,30))
│ ├── opening_loc: (10,0)-(10,1) = "{"
│ ├── elements: (length: 2)
@@ -212,6 +212,7 @@
│ │ └── @ AssocSplatNode (location: (10,23)-(10,28))
│ │ ├── value:
│ │ │ @ CallNode (location: (10,25)-(10,28))
+ │ │ │ ├── flags: variable_call
│ │ │ ├── receiver: ∅
│ │ │ ├── call_operator_loc: ∅
│ │ │ ├── name: :baz
@@ -219,8 +220,7 @@
│ │ │ ├── opening_loc: ∅
│ │ │ ├── arguments: ∅
│ │ │ ├── closing_loc: ∅
- │ │ │ ├── block: ∅
- │ │ │ └── flags: variable_call
+ │ │ │ └── block: ∅
│ │ └── operator_loc: (10,23)-(10,25) = "**"
│ └── closing_loc: (10,29)-(10,30) = "}"
├── @ HashNode (location: (13,0)-(13,23))
@@ -245,6 +245,7 @@
│ │ └── @ AssocSplatNode (location: (13,16)-(13,21))
│ │ ├── value:
│ │ │ @ CallNode (location: (13,18)-(13,21))
+ │ │ │ ├── flags: variable_call
│ │ │ ├── receiver: ∅
│ │ │ ├── call_operator_loc: ∅
│ │ │ ├── name: :baz
@@ -252,8 +253,7 @@
│ │ │ ├── opening_loc: ∅
│ │ │ ├── arguments: ∅
│ │ │ ├── closing_loc: ∅
- │ │ │ ├── block: ∅
- │ │ │ └── flags: variable_call
+ │ │ │ └── block: ∅
│ │ └── operator_loc: (13,16)-(13,18) = "**"
│ └── closing_loc: (13,22)-(13,23) = "}"
├── @ InterpolatedStringNode (location: (14,0)-(14,14))
@@ -290,6 +290,7 @@
├── @ IntegerNode (location: (15,0)-(15,1))
│ └── flags: decimal
├── @ CallNode (location: (16,0)-(16,3))
+ │ ├── flags: ∅
│ ├── receiver:
│ │ @ IntegerNode (location: (16,1)-(16,3))
│ │ └── flags: decimal
@@ -299,8 +300,7 @@
│ ├── opening_loc: ∅
│ ├── arguments: ∅
│ ├── closing_loc: ∅
- │ ├── block: ∅
- │ └── flags: ∅
+ │ └── block: ∅
├── @ IntegerNode (location: (17,0)-(17,1))
│ └── flags: decimal
├── @ IntegerNode (location: (18,0)-(18,1))
@@ -370,6 +370,7 @@
│ │ │ @ StatementsNode (location: (29,10)-(29,13))
│ │ │ └── body: (length: 1)
│ │ │ └── @ CallNode (location: (29,10)-(29,13))
+ │ │ │ ├── flags: variable_call
│ │ │ ├── receiver: ∅
│ │ │ ├── call_operator_loc: ∅
│ │ │ ├── name: :baz
@@ -377,8 +378,7 @@
│ │ │ ├── opening_loc: ∅
│ │ │ ├── arguments: ∅
│ │ │ ├── closing_loc: ∅
- │ │ │ ├── block: ∅
- │ │ │ └── flags: variable_call
+ │ │ │ └── block: ∅
│ │ └── closing_loc: (29,13)-(29,14) = "}"
│ └── closing_loc: (29,14)-(29,15) = "\""
├── @ InterpolatedStringNode (location: (30,0)-(30,12))
@@ -544,18 +544,19 @@
│ ├── closing_loc: (48,2)-(48,3) = "\""
│ └── unescaped: ""
├── @ RegularExpressionNode (location: (49,0)-(49,5))
+ │ ├── flags: ∅
│ ├── opening_loc: (49,0)-(49,1) = "/"
│ ├── content_loc: (49,1)-(49,4) = "foo"
│ ├── closing_loc: (49,4)-(49,5) = "/"
- │ ├── unescaped: "foo"
- │ └── flags: ∅
+ │ └── unescaped: "foo"
├── @ RegularExpressionNode (location: (50,0)-(50,28))
+ │ ├── flags: ∅
│ ├── opening_loc: (50,0)-(50,1) = "/"
│ ├── content_loc: (50,1)-(50,27) = "[^-+',.\\/:@[:alnum:]\\[\\]]+"
│ ├── closing_loc: (50,27)-(50,28) = "/"
- │ ├── unescaped: "[^-+',./:@[:alnum:]\\[\\]]+"
- │ └── flags: ∅
+ │ └── unescaped: "[^-+',./:@[:alnum:]\\[\\]]+"
├── @ InterpolatedRegularExpressionNode (location: (51,0)-(51,12))
+ │ ├── flags: ∅
│ ├── opening_loc: (51,0)-(51,1) = "/"
│ ├── parts: (length: 2)
│ │ ├── @ StringNode (location: (51,1)-(51,4))
@@ -572,9 +573,9 @@
│ │ │ └── @ InstanceVariableReadNode (location: (51,6)-(51,10))
│ │ │ └── name: :@bar
│ │ └── closing_loc: (51,10)-(51,11) = "}"
- │ ├── closing_loc: (51,11)-(51,12) = "/"
- │ └── flags: ∅
+ │ └── closing_loc: (51,11)-(51,12) = "/"
├── @ InterpolatedRegularExpressionNode (location: (52,0)-(52,15))
+ │ ├── flags: ignore_case, extended, multi_line
│ ├── opening_loc: (52,0)-(52,1) = "/"
│ ├── parts: (length: 2)
│ │ ├── @ StringNode (location: (52,1)-(52,4))
@@ -591,9 +592,9 @@
│ │ │ └── @ InstanceVariableReadNode (location: (52,6)-(52,10))
│ │ │ └── name: :@bar
│ │ └── closing_loc: (52,10)-(52,11) = "}"
- │ ├── closing_loc: (52,11)-(52,15) = "/imx"
- │ └── flags: ignore_case, extended, multi_line
+ │ └── closing_loc: (52,11)-(52,15) = "/imx"
├── @ InterpolatedRegularExpressionNode (location: (53,0)-(53,13))
+ │ ├── flags: ∅
│ ├── opening_loc: (53,0)-(53,1) = "/"
│ ├── parts: (length: 1)
│ │ └── @ EmbeddedStatementsNode (location: (53,1)-(53,12))
@@ -608,32 +609,31 @@
│ │ │ ├── closing_loc: (53,10)-(53,11) = "\""
│ │ │ └── unescaped: "\u0000"
│ │ └── closing_loc: (53,11)-(53,12) = "}"
- │ ├── closing_loc: (53,12)-(53,13) = "/"
- │ └── flags: ∅
+ │ └── closing_loc: (53,12)-(53,13) = "/"
├── @ RegularExpressionNode (location: (54,0)-(54,4))
+ │ ├── flags: ∅
│ ├── opening_loc: (54,0)-(54,1) = "/"
│ ├── content_loc: (54,1)-(54,3) = "\\n"
│ ├── closing_loc: (54,3)-(54,4) = "/"
- │ ├── unescaped: "\\n"
- │ └── flags: ∅
+ │ └── unescaped: "\\n"
├── @ RegularExpressionNode (location: (55,0)-(55,4))
+ │ ├── flags: ∅
│ ├── opening_loc: (55,0)-(55,1) = "/"
│ ├── content_loc: (55,1)-(55,3) = "\\n"
│ ├── closing_loc: (55,3)-(55,4) = "/"
- │ ├── unescaped: "\\n"
- │ └── flags: ∅
+ │ └── unescaped: "\\n"
├── @ RegularExpressionNode (location: (56,0)-(56,5))
+ │ ├── flags: extended
│ ├── opening_loc: (56,0)-(56,1) = "/"
│ ├── content_loc: (56,1)-(56,3) = "\\n"
│ ├── closing_loc: (56,3)-(56,5) = "/x"
- │ ├── unescaped: "\\n"
- │ └── flags: extended
+ │ └── unescaped: "\\n"
├── @ RegularExpressionNode (location: (57,0)-(57,7))
+ │ ├── flags: extended
│ ├── opening_loc: (57,0)-(57,1) = "/"
│ ├── content_loc: (57,1)-(57,5) = "\\/\\/"
│ ├── closing_loc: (57,5)-(57,7) = "/x"
- │ ├── unescaped: "//"
- │ └── flags: extended
+ │ └── unescaped: "//"
├── @ InterpolatedSymbolNode (location: (58,0)-(58,15))
│ ├── opening_loc: (58,0)-(58,2) = ":\""
│ ├── parts: (length: 3)
@@ -649,6 +649,7 @@
│ │ │ │ @ StatementsNode (location: (58,7)-(58,10))
│ │ │ │ └── body: (length: 1)
│ │ │ │ └── @ CallNode (location: (58,7)-(58,10))
+ │ │ │ │ ├── flags: variable_call
│ │ │ │ ├── receiver: ∅
│ │ │ │ ├── call_operator_loc: ∅
│ │ │ │ ├── name: :bar
@@ -656,8 +657,7 @@
│ │ │ │ ├── opening_loc: ∅
│ │ │ │ ├── arguments: ∅
│ │ │ │ ├── closing_loc: ∅
- │ │ │ │ ├── block: ∅
- │ │ │ │ └── flags: variable_call
+ │ │ │ │ └── block: ∅
│ │ │ └── closing_loc: (58,10)-(58,11) = "}"
│ │ └── @ StringNode (location: (58,11)-(58,14))
│ │ ├── flags: ∅
@@ -683,12 +683,14 @@
│ │ └── closing_loc: (59,9)-(59,10) = "}"
│ └── closing_loc: (59,10)-(59,11) = "\""
├── @ RangeNode (location: (60,0)-(60,14))
+ │ ├── flags: ∅
│ ├── left:
│ │ @ ParenthesesNode (location: (60,0)-(60,11))
│ │ ├── body:
│ │ │ @ StatementsNode (location: (60,1)-(60,10))
│ │ │ └── body: (length: 1)
│ │ │ └── @ CallNode (location: (60,1)-(60,10))
+ │ │ │ ├── flags: ∅
│ │ │ ├── receiver:
│ │ │ │ @ FloatNode (location: (60,1)-(60,4))
│ │ │ ├── call_operator_loc: ∅
@@ -697,20 +699,19 @@
│ │ │ ├── opening_loc: ∅
│ │ │ ├── arguments:
│ │ │ │ @ ArgumentsNode (location: (60,7)-(60,10))
- │ │ │ │ ├── arguments: (length: 1)
- │ │ │ │ │ └── @ FloatNode (location: (60,7)-(60,10))
- │ │ │ │ └── flags: ∅
+ │ │ │ │ ├── flags: ∅
+ │ │ │ │ └── arguments: (length: 1)
+ │ │ │ │ └── @ FloatNode (location: (60,7)-(60,10))
│ │ │ ├── closing_loc: ∅
- │ │ │ ├── block: ∅
- │ │ │ └── flags: ∅
+ │ │ │ └── block: ∅
│ │ ├── opening_loc: (60,0)-(60,1) = "("
│ │ └── closing_loc: (60,10)-(60,11) = ")"
│ ├── right:
│ │ @ IntegerNode (location: (60,13)-(60,14))
│ │ └── flags: decimal
- │ ├── operator_loc: (60,11)-(60,13) = ".."
- │ └── flags: ∅
+ │ └── operator_loc: (60,11)-(60,13) = ".."
├── @ RangeNode (location: (61,0)-(61,14))
+ │ ├── flags: ∅
│ ├── left:
│ │ @ IntegerNode (location: (61,0)-(61,1))
│ │ └── flags: decimal
@@ -720,6 +721,7 @@
│ │ │ @ StatementsNode (location: (61,4)-(61,13))
│ │ │ └── body: (length: 1)
│ │ │ └── @ CallNode (location: (61,4)-(61,13))
+ │ │ │ ├── flags: ∅
│ │ │ ├── receiver:
│ │ │ │ @ FloatNode (location: (61,4)-(61,7))
│ │ │ ├── call_operator_loc: ∅
@@ -728,23 +730,23 @@
│ │ │ ├── opening_loc: ∅
│ │ │ ├── arguments:
│ │ │ │ @ ArgumentsNode (location: (61,10)-(61,13))
- │ │ │ │ ├── arguments: (length: 1)
- │ │ │ │ │ └── @ FloatNode (location: (61,10)-(61,13))
- │ │ │ │ └── flags: ∅
+ │ │ │ │ ├── flags: ∅
+ │ │ │ │ └── arguments: (length: 1)
+ │ │ │ │ └── @ FloatNode (location: (61,10)-(61,13))
│ │ │ ├── closing_loc: ∅
- │ │ │ ├── block: ∅
- │ │ │ └── flags: ∅
+ │ │ │ └── block: ∅
│ │ ├── opening_loc: (61,3)-(61,4) = "("
│ │ └── closing_loc: (61,13)-(61,14) = ")"
- │ ├── operator_loc: (61,1)-(61,3) = ".."
- │ └── flags: ∅
+ │ └── operator_loc: (61,1)-(61,3) = ".."
├── @ RangeNode (location: (62,0)-(62,16))
+ │ ├── flags: ∅
│ ├── left:
│ │ @ ParenthesesNode (location: (62,0)-(62,11))
│ │ ├── body:
│ │ │ @ StatementsNode (location: (62,1)-(62,10))
│ │ │ └── body: (length: 1)
│ │ │ └── @ CallNode (location: (62,1)-(62,10))
+ │ │ │ ├── flags: ∅
│ │ │ ├── receiver:
│ │ │ │ @ FloatNode (location: (62,1)-(62,4))
│ │ │ ├── call_operator_loc: ∅
@@ -753,31 +755,30 @@
│ │ │ ├── opening_loc: ∅
│ │ │ ├── arguments:
│ │ │ │ @ ArgumentsNode (location: (62,7)-(62,10))
- │ │ │ │ ├── arguments: (length: 1)
- │ │ │ │ │ └── @ FloatNode (location: (62,7)-(62,10))
- │ │ │ │ └── flags: ∅
+ │ │ │ │ ├── flags: ∅
+ │ │ │ │ └── arguments: (length: 1)
+ │ │ │ │ └── @ FloatNode (location: (62,7)-(62,10))
│ │ │ ├── closing_loc: ∅
- │ │ │ ├── block: ∅
- │ │ │ └── flags: ∅
+ │ │ │ └── block: ∅
│ │ ├── opening_loc: (62,0)-(62,1) = "("
│ │ └── closing_loc: (62,10)-(62,11) = ")"
│ ├── right:
│ │ @ IntegerNode (location: (62,13)-(62,16))
│ │ └── flags: decimal
- │ ├── operator_loc: (62,11)-(62,13) = ".."
- │ └── flags: ∅
+ │ └── operator_loc: (62,11)-(62,13) = ".."
├── @ FloatNode (location: (63,0)-(63,4))
├── @ FloatNode (location: (64,0)-(64,3))
├── @ ArrayNode (location: (65,0)-(65,6))
+ │ ├── flags: ∅
│ ├── elements: (length: 2)
│ │ ├── @ IntegerNode (location: (65,1)-(65,2))
│ │ │ └── flags: decimal
│ │ └── @ IntegerNode (location: (65,4)-(65,5))
│ │ └── flags: decimal
│ ├── opening_loc: (65,0)-(65,1) = "["
- │ ├── closing_loc: (65,5)-(65,6) = "]"
- │ └── flags: ∅
+ │ └── closing_loc: (65,5)-(65,6) = "]"
├── @ ArrayNode (location: (66,0)-(66,11))
+ │ ├── flags: ∅
│ ├── elements: (length: 3)
│ │ ├── @ IntegerNode (location: (66,1)-(66,2))
│ │ │ └── flags: decimal
@@ -786,6 +787,7 @@
│ │ │ ├── opening_loc: (66,4)-(66,5) = "("
│ │ │ └── closing_loc: (66,5)-(66,6) = ")"
│ │ └── @ CallNode (location: (66,8)-(66,10))
+ │ │ ├── flags: variable_call
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
│ │ ├── name: :n2
@@ -793,24 +795,23 @@
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
- │ │ ├── block: ∅
- │ │ └── flags: variable_call
+ │ │ └── block: ∅
│ ├── opening_loc: (66,0)-(66,1) = "["
- │ ├── closing_loc: (66,10)-(66,11) = "]"
- │ └── flags: ∅
+ │ └── closing_loc: (66,10)-(66,11) = "]"
├── @ ArrayNode (location: (67,0)-(67,3))
+ │ ├── flags: ∅
│ ├── elements: (length: 1)
│ │ └── @ IntegerNode (location: (67,1)-(67,2))
│ │ └── flags: decimal
│ ├── opening_loc: (67,0)-(67,1) = "["
- │ ├── closing_loc: (67,2)-(67,3) = "]"
- │ └── flags: ∅
+ │ └── closing_loc: (67,2)-(67,3) = "]"
├── @ ArrayNode (location: (68,0)-(68,2))
+ │ ├── flags: ∅
│ ├── elements: (length: 0)
│ ├── opening_loc: (68,0)-(68,1) = "["
- │ ├── closing_loc: (68,1)-(68,2) = "]"
- │ └── flags: ∅
+ │ └── closing_loc: (68,1)-(68,2) = "]"
├── @ ArrayNode (location: (69,0)-(69,10))
+ │ ├── flags: contains_splat
│ ├── elements: (length: 2)
│ │ ├── @ IntegerNode (location: (69,1)-(69,2))
│ │ │ └── flags: decimal
@@ -820,9 +821,9 @@
│ │ @ InstanceVariableReadNode (location: (69,5)-(69,9))
│ │ └── name: :@foo
│ ├── opening_loc: (69,0)-(69,1) = "["
- │ ├── closing_loc: (69,9)-(69,10) = "]"
- │ └── flags: contains_splat
+ │ └── closing_loc: (69,9)-(69,10) = "]"
├── @ ArrayNode (location: (70,0)-(70,10))
+ │ ├── flags: contains_splat
│ ├── elements: (length: 2)
│ │ ├── @ SplatNode (location: (70,1)-(70,6))
│ │ │ ├── operator_loc: (70,1)-(70,2) = "*"
@@ -832,9 +833,9 @@
│ │ └── @ IntegerNode (location: (70,8)-(70,9))
│ │ └── flags: decimal
│ ├── opening_loc: (70,0)-(70,1) = "["
- │ ├── closing_loc: (70,9)-(70,10) = "]"
- │ └── flags: contains_splat
+ │ └── closing_loc: (70,9)-(70,10) = "]"
├── @ ArrayNode (location: (71,0)-(71,14))
+ │ ├── flags: contains_splat
│ ├── elements: (length: 2)
│ │ ├── @ SplatNode (location: (71,1)-(71,6))
│ │ │ ├── operator_loc: (71,1)-(71,2) = "*"
@@ -847,8 +848,7 @@
│ │ @ InstanceVariableReadNode (location: (71,9)-(71,13))
│ │ └── name: :@baz
│ ├── opening_loc: (71,0)-(71,1) = "["
- │ ├── closing_loc: (71,13)-(71,14) = "]"
- │ └── flags: contains_splat
+ │ └── closing_loc: (71,13)-(71,14) = "]"
├── @ HashNode (location: (72,0)-(72,2))
│ ├── opening_loc: (72,0)-(72,1) = "{"
│ ├── elements: (length: 0)
@@ -923,6 +923,7 @@
│ │ │ │ │ ├── keyword_loc: (76,8)-(76,14) = "rescue"
│ │ │ │ │ └── rescue_expression:
│ │ │ │ │ @ CallNode (location: (76,15)-(76,18))
+ │ │ │ │ │ ├── flags: variable_call
│ │ │ │ │ ├── receiver: ∅
│ │ │ │ │ ├── call_operator_loc: ∅
│ │ │ │ │ ├── name: :foo
@@ -930,8 +931,7 @@
│ │ │ │ │ ├── opening_loc: ∅
│ │ │ │ │ ├── arguments: ∅
│ │ │ │ │ ├── closing_loc: ∅
- │ │ │ │ │ ├── block: ∅
- │ │ │ │ │ └── flags: variable_call
+ │ │ │ │ │ └── block: ∅
│ │ │ │ ├── opening_loc: (76,5)-(76,6) = "("
│ │ │ │ └── closing_loc: (76,18)-(76,19) = ")"
│ │ │ └── operator_loc: ∅
@@ -1046,6 +1046,7 @@
│ │ └── unescaped: "\na"
│ └── closing_loc: (82,6)-(82,7) = "\""
├── @ CallNode (location: (83,0)-(86,1))
+ │ ├── flags: ∅
│ ├── receiver: ∅
│ ├── call_operator_loc: ∅
│ ├── name: :foo
@@ -1053,41 +1054,40 @@
│ ├── opening_loc: ∅
│ ├── arguments: ∅
│ ├── closing_loc: ∅
- │ ├── block:
- │ │ @ BlockNode (location: (83,4)-(86,1))
- │ │ ├── locals: []
- │ │ ├── locals_body_index: 0
- │ │ ├── parameters: ∅
- │ │ ├── body:
- │ │ │ @ StatementsNode (location: (84,2)-(85,7))
- │ │ │ └── body: (length: 1)
- │ │ │ └── @ InterpolatedStringNode (location: (84,2)-(85,7))
- │ │ │ ├── opening_loc: (84,2)-(84,3) = "\""
- │ │ │ ├── parts: (length: 4)
- │ │ │ │ ├── @ EmbeddedStatementsNode (location: (84,3)-(84,6))
- │ │ │ │ │ ├── opening_loc: (84,3)-(84,5) = "\#{"
- │ │ │ │ │ ├── statements: ∅
- │ │ │ │ │ └── closing_loc: (84,5)-(84,6) = "}"
- │ │ │ │ ├── @ StringNode (location: (84,6)-(85,0))
- │ │ │ │ │ ├── flags: ∅
- │ │ │ │ │ ├── opening_loc: ∅
- │ │ │ │ │ ├── content_loc: (84,6)-(85,0) = "\n"
- │ │ │ │ │ ├── closing_loc: ∅
- │ │ │ │ │ └── unescaped: "\n"
- │ │ │ │ ├── @ EmbeddedStatementsNode (location: (85,0)-(85,3))
- │ │ │ │ │ ├── opening_loc: (85,0)-(85,2) = "\#{"
- │ │ │ │ │ ├── statements: ∅
- │ │ │ │ │ └── closing_loc: (85,2)-(85,3) = "}"
- │ │ │ │ └── @ StringNode (location: (85,3)-(85,6))
- │ │ │ │ ├── flags: ∅
- │ │ │ │ ├── opening_loc: ∅
- │ │ │ │ ├── content_loc: (85,3)-(85,6) = "\\na"
- │ │ │ │ ├── closing_loc: ∅
- │ │ │ │ └── unescaped: "\na"
- │ │ │ └── closing_loc: (85,6)-(85,7) = "\""
- │ │ ├── opening_loc: (83,4)-(83,5) = "{"
- │ │ └── closing_loc: (86,0)-(86,1) = "}"
- │ └── flags: ∅
+ │ └── block:
+ │ @ BlockNode (location: (83,4)-(86,1))
+ │ ├── locals: []
+ │ ├── locals_body_index: 0
+ │ ├── parameters: ∅
+ │ ├── body:
+ │ │ @ StatementsNode (location: (84,2)-(85,7))
+ │ │ └── body: (length: 1)
+ │ │ └── @ InterpolatedStringNode (location: (84,2)-(85,7))
+ │ │ ├── opening_loc: (84,2)-(84,3) = "\""
+ │ │ ├── parts: (length: 4)
+ │ │ │ ├── @ EmbeddedStatementsNode (location: (84,3)-(84,6))
+ │ │ │ │ ├── opening_loc: (84,3)-(84,5) = "\#{"
+ │ │ │ │ ├── statements: ∅
+ │ │ │ │ └── closing_loc: (84,5)-(84,6) = "}"
+ │ │ │ ├── @ StringNode (location: (84,6)-(85,0))
+ │ │ │ │ ├── flags: ∅
+ │ │ │ │ ├── opening_loc: ∅
+ │ │ │ │ ├── content_loc: (84,6)-(85,0) = "\n"
+ │ │ │ │ ├── closing_loc: ∅
+ │ │ │ │ └── unescaped: "\n"
+ │ │ │ ├── @ EmbeddedStatementsNode (location: (85,0)-(85,3))
+ │ │ │ │ ├── opening_loc: (85,0)-(85,2) = "\#{"
+ │ │ │ │ ├── statements: ∅
+ │ │ │ │ └── closing_loc: (85,2)-(85,3) = "}"
+ │ │ │ └── @ StringNode (location: (85,3)-(85,6))
+ │ │ │ ├── flags: ∅
+ │ │ │ ├── opening_loc: ∅
+ │ │ │ ├── content_loc: (85,3)-(85,6) = "\\na"
+ │ │ │ ├── closing_loc: ∅
+ │ │ │ └── unescaped: "\na"
+ │ │ └── closing_loc: (85,6)-(85,7) = "\""
+ │ ├── opening_loc: (83,4)-(83,5) = "{"
+ │ └── closing_loc: (86,0)-(86,1) = "}"
├── @ SymbolNode (location: (87,0)-(88,2))
│ ├── opening_loc: (87,0)-(87,2) = ":\""
│ ├── value_loc: (87,2)-(88,1) = "a\\\\\nb"
@@ -1108,6 +1108,7 @@
│ │ │ @ StatementsNode (location: (90,2)-(90,5))
│ │ │ └── body: (length: 1)
│ │ │ └── @ CallNode (location: (90,2)-(90,5))
+ │ │ │ ├── flags: variable_call
│ │ │ ├── receiver: ∅
│ │ │ ├── call_operator_loc: ∅
│ │ │ ├── name: :foo
@@ -1115,8 +1116,7 @@
│ │ │ ├── opening_loc: ∅
│ │ │ ├── arguments: ∅
│ │ │ ├── closing_loc: ∅
- │ │ │ ├── block: ∅
- │ │ │ └── flags: variable_call
+ │ │ │ └── block: ∅
│ │ └── closing_loc: (90,5)-(90,6) = "}"
│ └── @ StringNode (location: (90,6)-(91,1))
│ ├── flags: ∅
diff --git a/test/prism/snapshots/unparser/corpus/literal/module.txt b/test/prism/snapshots/unparser/corpus/literal/module.txt
index a417284cad..205f5453ed 100644
--- a/test/prism/snapshots/unparser/corpus/literal/module.txt
+++ b/test/prism/snapshots/unparser/corpus/literal/module.txt
@@ -58,6 +58,7 @@
│ @ StatementsNode (location: (11,2)-(15,5))
│ └── body: (length: 2)
│ ├── @ CallNode (location: (11,2)-(11,16))
+ │ │ ├── flags: ∅
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
│ │ ├── name: :include
@@ -65,23 +66,22 @@
│ │ ├── opening_loc: (11,9)-(11,10) = "("
│ │ ├── arguments:
│ │ │ @ ArgumentsNode (location: (11,10)-(11,15))
- │ │ │ ├── arguments: (length: 1)
- │ │ │ │ └── @ CallNode (location: (11,10)-(11,15))
- │ │ │ │ ├── receiver:
- │ │ │ │ │ @ ConstantReadNode (location: (11,10)-(11,11))
- │ │ │ │ │ └── name: :B
- │ │ │ │ ├── call_operator_loc: (11,11)-(11,12) = "."
- │ │ │ │ ├── name: :new
- │ │ │ │ ├── message_loc: (11,12)-(11,15) = "new"
- │ │ │ │ ├── opening_loc: ∅
- │ │ │ │ ├── arguments: ∅
- │ │ │ │ ├── closing_loc: ∅
- │ │ │ │ ├── block: ∅
- │ │ │ │ └── flags: ∅
- │ │ │ └── flags: ∅
+ │ │ │ ├── flags: ∅
+ │ │ │ └── arguments: (length: 1)
+ │ │ │ └── @ CallNode (location: (11,10)-(11,15))
+ │ │ │ ├── flags: ∅
+ │ │ │ ├── receiver:
+ │ │ │ │ @ ConstantReadNode (location: (11,10)-(11,11))
+ │ │ │ │ └── name: :B
+ │ │ │ ├── call_operator_loc: (11,11)-(11,12) = "."
+ │ │ │ ├── name: :new
+ │ │ │ ├── message_loc: (11,12)-(11,15) = "new"
+ │ │ │ ├── opening_loc: ∅
+ │ │ │ ├── arguments: ∅
+ │ │ │ ├── closing_loc: ∅
+ │ │ │ └── block: ∅
│ │ ├── closing_loc: (11,15)-(11,16) = ")"
- │ │ ├── block: ∅
- │ │ └── flags: ∅
+ │ │ └── block: ∅
│ └── @ DefNode (location: (13,2)-(15,5))
│ ├── name: :foo
│ ├── name_loc: (13,6)-(13,9) = "foo"
diff --git a/test/prism/snapshots/unparser/corpus/literal/opasgn.txt b/test/prism/snapshots/unparser/corpus/literal/opasgn.txt
index 662caa0ced..764ae3adc2 100644
--- a/test/prism/snapshots/unparser/corpus/literal/opasgn.txt
+++ b/test/prism/snapshots/unparser/corpus/literal/opasgn.txt
@@ -53,6 +53,7 @@
│ ├── operator_loc: (6,2)-(6,5) = "&&="
│ ├── value:
│ │ @ CallNode (location: (6,6)-(6,7))
+ │ │ ├── flags: variable_call
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
│ │ ├── name: :b
@@ -60,8 +61,7 @@
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
- │ │ ├── block: ∅
- │ │ └── flags: variable_call
+ │ │ └── block: ∅
│ ├── name: :a
│ └── depth: 0
├── @ LocalVariableOrWriteNode (location: (7,0)-(7,7))
@@ -73,6 +73,7 @@
│ ├── name: :a
│ └── depth: 0
├── @ CallNode (location: (8,0)-(8,13))
+ │ ├── flags: ∅
│ ├── receiver:
│ │ @ ParenthesesNode (location: (8,0)-(8,9))
│ │ ├── body:
@@ -94,9 +95,9 @@
│ ├── opening_loc: ∅
│ ├── arguments: ∅
│ ├── closing_loc: ∅
- │ ├── block: ∅
- │ └── flags: ∅
+ │ └── block: ∅
├── @ CallNode (location: (9,0)-(9,17))
+ │ ├── flags: ∅
│ ├── receiver:
│ │ @ ParenthesesNode (location: (9,0)-(9,10))
│ │ ├── body:
@@ -120,39 +121,38 @@
│ ├── opening_loc: (9,10)-(9,11) = "["
│ ├── arguments:
│ │ @ ArgumentsNode (location: (9,11)-(9,17))
- │ │ ├── arguments: (length: 2)
- │ │ │ ├── @ CallNode (location: (9,11)-(9,12))
- │ │ │ │ ├── receiver: ∅
- │ │ │ │ ├── call_operator_loc: ∅
- │ │ │ │ ├── name: :k
- │ │ │ │ ├── message_loc: (9,11)-(9,12) = "k"
- │ │ │ │ ├── opening_loc: ∅
- │ │ │ │ ├── arguments: ∅
- │ │ │ │ ├── closing_loc: ∅
- │ │ │ │ ├── block: ∅
- │ │ │ │ └── flags: variable_call
- │ │ │ └── @ CallNode (location: (9,16)-(9,17))
- │ │ │ ├── receiver: ∅
- │ │ │ ├── call_operator_loc: ∅
- │ │ │ ├── name: :v
- │ │ │ ├── message_loc: (9,16)-(9,17) = "v"
- │ │ │ ├── opening_loc: ∅
- │ │ │ ├── arguments: ∅
- │ │ │ ├── closing_loc: ∅
- │ │ │ ├── block: ∅
- │ │ │ └── flags: variable_call
- │ │ └── flags: ∅
+ │ │ ├── flags: ∅
+ │ │ └── arguments: (length: 2)
+ │ │ ├── @ CallNode (location: (9,11)-(9,12))
+ │ │ │ ├── flags: variable_call
+ │ │ │ ├── receiver: ∅
+ │ │ │ ├── call_operator_loc: ∅
+ │ │ │ ├── name: :k
+ │ │ │ ├── message_loc: (9,11)-(9,12) = "k"
+ │ │ │ ├── opening_loc: ∅
+ │ │ │ ├── arguments: ∅
+ │ │ │ ├── closing_loc: ∅
+ │ │ │ └── block: ∅
+ │ │ └── @ CallNode (location: (9,16)-(9,17))
+ │ │ ├── flags: variable_call
+ │ │ ├── receiver: ∅
+ │ │ ├── call_operator_loc: ∅
+ │ │ ├── name: :v
+ │ │ ├── message_loc: (9,16)-(9,17) = "v"
+ │ │ ├── opening_loc: ∅
+ │ │ ├── arguments: ∅
+ │ │ ├── closing_loc: ∅
+ │ │ └── block: ∅
│ ├── closing_loc: (9,12)-(9,13) = "]"
- │ ├── block: ∅
- │ └── flags: ∅
+ │ └── block: ∅
├── @ CallOperatorWriteNode (location: (10,0)-(10,8))
+ │ ├── flags: ∅
│ ├── receiver:
│ │ @ LocalVariableReadNode (location: (10,0)-(10,1))
│ │ ├── name: :a
│ │ └── depth: 0
│ ├── call_operator_loc: (10,1)-(10,2) = "."
│ ├── message_loc: (10,2)-(10,3) = "b"
- │ ├── flags: ∅
│ ├── read_name: :b
│ ├── write_name: :b=
│ ├── operator: :+
@@ -161,13 +161,13 @@
│ @ IntegerNode (location: (10,7)-(10,8))
│ └── flags: decimal
├── @ CallOperatorWriteNode (location: (11,0)-(11,8))
+ │ ├── flags: ∅
│ ├── receiver:
│ │ @ LocalVariableReadNode (location: (11,0)-(11,1))
│ │ ├── name: :a
│ │ └── depth: 0
│ ├── call_operator_loc: (11,1)-(11,2) = "."
│ ├── message_loc: (11,2)-(11,3) = "b"
- │ ├── flags: ∅
│ ├── read_name: :b
│ ├── write_name: :b=
│ ├── operator: :-
@@ -176,13 +176,13 @@
│ @ IntegerNode (location: (11,7)-(11,8))
│ └── flags: decimal
├── @ CallOperatorWriteNode (location: (12,0)-(12,9))
+ │ ├── flags: ∅
│ ├── receiver:
│ │ @ LocalVariableReadNode (location: (12,0)-(12,1))
│ │ ├── name: :a
│ │ └── depth: 0
│ ├── call_operator_loc: (12,1)-(12,2) = "."
│ ├── message_loc: (12,2)-(12,3) = "b"
- │ ├── flags: ∅
│ ├── read_name: :b
│ ├── write_name: :b=
│ ├── operator: :**
@@ -191,13 +191,13 @@
│ @ IntegerNode (location: (12,8)-(12,9))
│ └── flags: decimal
├── @ CallOperatorWriteNode (location: (13,0)-(13,8))
+ │ ├── flags: ∅
│ ├── receiver:
│ │ @ LocalVariableReadNode (location: (13,0)-(13,1))
│ │ ├── name: :a
│ │ └── depth: 0
│ ├── call_operator_loc: (13,1)-(13,2) = "."
│ ├── message_loc: (13,2)-(13,3) = "b"
- │ ├── flags: ∅
│ ├── read_name: :b
│ ├── write_name: :b=
│ ├── operator: :*
@@ -206,13 +206,13 @@
│ @ IntegerNode (location: (13,7)-(13,8))
│ └── flags: decimal
├── @ CallOperatorWriteNode (location: (14,0)-(14,8))
+ │ ├── flags: ∅
│ ├── receiver:
│ │ @ LocalVariableReadNode (location: (14,0)-(14,1))
│ │ ├── name: :a
│ │ └── depth: 0
│ ├── call_operator_loc: (14,1)-(14,2) = "."
│ ├── message_loc: (14,2)-(14,3) = "b"
- │ ├── flags: ∅
│ ├── read_name: :b
│ ├── write_name: :b=
│ ├── operator: :/
@@ -221,18 +221,19 @@
│ @ IntegerNode (location: (14,7)-(14,8))
│ └── flags: decimal
├── @ CallAndWriteNode (location: (15,0)-(15,9))
+ │ ├── flags: ∅
│ ├── receiver:
│ │ @ LocalVariableReadNode (location: (15,0)-(15,1))
│ │ ├── name: :a
│ │ └── depth: 0
│ ├── call_operator_loc: (15,1)-(15,2) = "."
│ ├── message_loc: (15,2)-(15,3) = "b"
- │ ├── flags: ∅
│ ├── read_name: :b
│ ├── write_name: :b=
│ ├── operator_loc: (15,4)-(15,7) = "&&="
│ └── value:
│ @ CallNode (location: (15,8)-(15,9))
+ │ ├── flags: variable_call
│ ├── receiver: ∅
│ ├── call_operator_loc: ∅
│ ├── name: :b
@@ -240,16 +241,15 @@
│ ├── opening_loc: ∅
│ ├── arguments: ∅
│ ├── closing_loc: ∅
- │ ├── block: ∅
- │ └── flags: variable_call
+ │ └── block: ∅
├── @ CallOrWriteNode (location: (16,0)-(16,9))
+ │ ├── flags: ∅
│ ├── receiver:
│ │ @ LocalVariableReadNode (location: (16,0)-(16,1))
│ │ ├── name: :a
│ │ └── depth: 0
│ ├── call_operator_loc: (16,1)-(16,2) = "."
│ ├── message_loc: (16,2)-(16,3) = "b"
- │ ├── flags: ∅
│ ├── read_name: :b
│ ├── write_name: :b=
│ ├── operator_loc: (16,4)-(16,7) = "||="
@@ -257,6 +257,7 @@
│ @ IntegerNode (location: (16,8)-(16,9))
│ └── flags: decimal
├── @ IndexOperatorWriteNode (location: (17,0)-(17,9))
+ │ ├── flags: ∅
│ ├── receiver:
│ │ @ LocalVariableReadNode (location: (17,0)-(17,1))
│ │ ├── name: :a
@@ -265,27 +266,27 @@
│ ├── opening_loc: (17,1)-(17,2) = "["
│ ├── arguments:
│ │ @ ArgumentsNode (location: (17,2)-(17,3))
- │ │ ├── arguments: (length: 1)
- │ │ │ └── @ CallNode (location: (17,2)-(17,3))
- │ │ │ ├── receiver: ∅
- │ │ │ ├── call_operator_loc: ∅
- │ │ │ ├── name: :b
- │ │ │ ├── message_loc: (17,2)-(17,3) = "b"
- │ │ │ ├── opening_loc: ∅
- │ │ │ ├── arguments: ∅
- │ │ │ ├── closing_loc: ∅
- │ │ │ ├── block: ∅
- │ │ │ └── flags: variable_call
- │ │ └── flags: ∅
+ │ │ ├── flags: ∅
+ │ │ └── arguments: (length: 1)
+ │ │ └── @ CallNode (location: (17,2)-(17,3))
+ │ │ ├── flags: variable_call
+ │ │ ├── receiver: ∅
+ │ │ ├── call_operator_loc: ∅
+ │ │ ├── name: :b
+ │ │ ├── message_loc: (17,2)-(17,3) = "b"
+ │ │ ├── opening_loc: ∅
+ │ │ ├── arguments: ∅
+ │ │ ├── closing_loc: ∅
+ │ │ └── block: ∅
│ ├── closing_loc: (17,3)-(17,4) = "]"
│ ├── block: ∅
- │ ├── flags: ∅
│ ├── operator: :+
│ ├── operator_loc: (17,5)-(17,7) = "+="
│ └── value:
│ @ IntegerNode (location: (17,8)-(17,9))
│ └── flags: decimal
├── @ IndexOperatorWriteNode (location: (18,0)-(18,9))
+ │ ├── flags: ∅
│ ├── receiver:
│ │ @ LocalVariableReadNode (location: (18,0)-(18,1))
│ │ ├── name: :a
@@ -294,27 +295,27 @@
│ ├── opening_loc: (18,1)-(18,2) = "["
│ ├── arguments:
│ │ @ ArgumentsNode (location: (18,2)-(18,3))
- │ │ ├── arguments: (length: 1)
- │ │ │ └── @ CallNode (location: (18,2)-(18,3))
- │ │ │ ├── receiver: ∅
- │ │ │ ├── call_operator_loc: ∅
- │ │ │ ├── name: :b
- │ │ │ ├── message_loc: (18,2)-(18,3) = "b"
- │ │ │ ├── opening_loc: ∅
- │ │ │ ├── arguments: ∅
- │ │ │ ├── closing_loc: ∅
- │ │ │ ├── block: ∅
- │ │ │ └── flags: variable_call
- │ │ └── flags: ∅
+ │ │ ├── flags: ∅
+ │ │ └── arguments: (length: 1)
+ │ │ └── @ CallNode (location: (18,2)-(18,3))
+ │ │ ├── flags: variable_call
+ │ │ ├── receiver: ∅
+ │ │ ├── call_operator_loc: ∅
+ │ │ ├── name: :b
+ │ │ ├── message_loc: (18,2)-(18,3) = "b"
+ │ │ ├── opening_loc: ∅
+ │ │ ├── arguments: ∅
+ │ │ ├── closing_loc: ∅
+ │ │ └── block: ∅
│ ├── closing_loc: (18,3)-(18,4) = "]"
│ ├── block: ∅
- │ ├── flags: ∅
│ ├── operator: :-
│ ├── operator_loc: (18,5)-(18,7) = "-="
│ └── value:
│ @ IntegerNode (location: (18,8)-(18,9))
│ └── flags: decimal
├── @ IndexOperatorWriteNode (location: (19,0)-(19,10))
+ │ ├── flags: ∅
│ ├── receiver:
│ │ @ LocalVariableReadNode (location: (19,0)-(19,1))
│ │ ├── name: :a
@@ -323,27 +324,27 @@
│ ├── opening_loc: (19,1)-(19,2) = "["
│ ├── arguments:
│ │ @ ArgumentsNode (location: (19,2)-(19,3))
- │ │ ├── arguments: (length: 1)
- │ │ │ └── @ CallNode (location: (19,2)-(19,3))
- │ │ │ ├── receiver: ∅
- │ │ │ ├── call_operator_loc: ∅
- │ │ │ ├── name: :b
- │ │ │ ├── message_loc: (19,2)-(19,3) = "b"
- │ │ │ ├── opening_loc: ∅
- │ │ │ ├── arguments: ∅
- │ │ │ ├── closing_loc: ∅
- │ │ │ ├── block: ∅
- │ │ │ └── flags: variable_call
- │ │ └── flags: ∅
+ │ │ ├── flags: ∅
+ │ │ └── arguments: (length: 1)
+ │ │ └── @ CallNode (location: (19,2)-(19,3))
+ │ │ ├── flags: variable_call
+ │ │ ├── receiver: ∅
+ │ │ ├── call_operator_loc: ∅
+ │ │ ├── name: :b
+ │ │ ├── message_loc: (19,2)-(19,3) = "b"
+ │ │ ├── opening_loc: ∅
+ │ │ ├── arguments: ∅
+ │ │ ├── closing_loc: ∅
+ │ │ └── block: ∅
│ ├── closing_loc: (19,3)-(19,4) = "]"
│ ├── block: ∅
- │ ├── flags: ∅
│ ├── operator: :**
│ ├── operator_loc: (19,5)-(19,8) = "**="
│ └── value:
│ @ IntegerNode (location: (19,9)-(19,10))
│ └── flags: decimal
├── @ IndexOperatorWriteNode (location: (20,0)-(20,9))
+ │ ├── flags: ∅
│ ├── receiver:
│ │ @ LocalVariableReadNode (location: (20,0)-(20,1))
│ │ ├── name: :a
@@ -352,27 +353,27 @@
│ ├── opening_loc: (20,1)-(20,2) = "["
│ ├── arguments:
│ │ @ ArgumentsNode (location: (20,2)-(20,3))
- │ │ ├── arguments: (length: 1)
- │ │ │ └── @ CallNode (location: (20,2)-(20,3))
- │ │ │ ├── receiver: ∅
- │ │ │ ├── call_operator_loc: ∅
- │ │ │ ├── name: :b
- │ │ │ ├── message_loc: (20,2)-(20,3) = "b"
- │ │ │ ├── opening_loc: ∅
- │ │ │ ├── arguments: ∅
- │ │ │ ├── closing_loc: ∅
- │ │ │ ├── block: ∅
- │ │ │ └── flags: variable_call
- │ │ └── flags: ∅
+ │ │ ├── flags: ∅
+ │ │ └── arguments: (length: 1)
+ │ │ └── @ CallNode (location: (20,2)-(20,3))
+ │ │ ├── flags: variable_call
+ │ │ ├── receiver: ∅
+ │ │ ├── call_operator_loc: ∅
+ │ │ ├── name: :b
+ │ │ ├── message_loc: (20,2)-(20,3) = "b"
+ │ │ ├── opening_loc: ∅
+ │ │ ├── arguments: ∅
+ │ │ ├── closing_loc: ∅
+ │ │ └── block: ∅
│ ├── closing_loc: (20,3)-(20,4) = "]"
│ ├── block: ∅
- │ ├── flags: ∅
│ ├── operator: :*
│ ├── operator_loc: (20,5)-(20,7) = "*="
│ └── value:
│ @ IntegerNode (location: (20,8)-(20,9))
│ └── flags: decimal
├── @ IndexOperatorWriteNode (location: (21,0)-(21,9))
+ │ ├── flags: ∅
│ ├── receiver:
│ │ @ LocalVariableReadNode (location: (21,0)-(21,1))
│ │ ├── name: :a
@@ -381,27 +382,27 @@
│ ├── opening_loc: (21,1)-(21,2) = "["
│ ├── arguments:
│ │ @ ArgumentsNode (location: (21,2)-(21,3))
- │ │ ├── arguments: (length: 1)
- │ │ │ └── @ CallNode (location: (21,2)-(21,3))
- │ │ │ ├── receiver: ∅
- │ │ │ ├── call_operator_loc: ∅
- │ │ │ ├── name: :b
- │ │ │ ├── message_loc: (21,2)-(21,3) = "b"
- │ │ │ ├── opening_loc: ∅
- │ │ │ ├── arguments: ∅
- │ │ │ ├── closing_loc: ∅
- │ │ │ ├── block: ∅
- │ │ │ └── flags: variable_call
- │ │ └── flags: ∅
+ │ │ ├── flags: ∅
+ │ │ └── arguments: (length: 1)
+ │ │ └── @ CallNode (location: (21,2)-(21,3))
+ │ │ ├── flags: variable_call
+ │ │ ├── receiver: ∅
+ │ │ ├── call_operator_loc: ∅
+ │ │ ├── name: :b
+ │ │ ├── message_loc: (21,2)-(21,3) = "b"
+ │ │ ├── opening_loc: ∅
+ │ │ ├── arguments: ∅
+ │ │ ├── closing_loc: ∅
+ │ │ └── block: ∅
│ ├── closing_loc: (21,3)-(21,4) = "]"
│ ├── block: ∅
- │ ├── flags: ∅
│ ├── operator: :/
│ ├── operator_loc: (21,5)-(21,7) = "/="
│ └── value:
│ @ IntegerNode (location: (21,8)-(21,9))
│ └── flags: decimal
├── @ IndexAndWriteNode (location: (22,0)-(22,10))
+ │ ├── flags: ∅
│ ├── receiver:
│ │ @ LocalVariableReadNode (location: (22,0)-(22,1))
│ │ ├── name: :a
@@ -410,24 +411,24 @@
│ ├── opening_loc: (22,1)-(22,2) = "["
│ ├── arguments:
│ │ @ ArgumentsNode (location: (22,2)-(22,3))
- │ │ ├── arguments: (length: 1)
- │ │ │ └── @ CallNode (location: (22,2)-(22,3))
- │ │ │ ├── receiver: ∅
- │ │ │ ├── call_operator_loc: ∅
- │ │ │ ├── name: :b
- │ │ │ ├── message_loc: (22,2)-(22,3) = "b"
- │ │ │ ├── opening_loc: ∅
- │ │ │ ├── arguments: ∅
- │ │ │ ├── closing_loc: ∅
- │ │ │ ├── block: ∅
- │ │ │ └── flags: variable_call
- │ │ └── flags: ∅
+ │ │ ├── flags: ∅
+ │ │ └── arguments: (length: 1)
+ │ │ └── @ CallNode (location: (22,2)-(22,3))
+ │ │ ├── flags: variable_call
+ │ │ ├── receiver: ∅
+ │ │ ├── call_operator_loc: ∅
+ │ │ ├── name: :b
+ │ │ ├── message_loc: (22,2)-(22,3) = "b"
+ │ │ ├── opening_loc: ∅
+ │ │ ├── arguments: ∅
+ │ │ ├── closing_loc: ∅
+ │ │ └── block: ∅
│ ├── closing_loc: (22,3)-(22,4) = "]"
│ ├── block: ∅
- │ ├── flags: ∅
│ ├── operator_loc: (22,5)-(22,8) = "&&="
│ └── value:
│ @ CallNode (location: (22,9)-(22,10))
+ │ ├── flags: variable_call
│ ├── receiver: ∅
│ ├── call_operator_loc: ∅
│ ├── name: :b
@@ -435,9 +436,9 @@
│ ├── opening_loc: ∅
│ ├── arguments: ∅
│ ├── closing_loc: ∅
- │ ├── block: ∅
- │ └── flags: variable_call
+ │ └── block: ∅
├── @ IndexOrWriteNode (location: (23,0)-(23,10))
+ │ ├── flags: ∅
│ ├── receiver:
│ │ @ LocalVariableReadNode (location: (23,0)-(23,1))
│ │ ├── name: :a
@@ -446,28 +447,29 @@
│ ├── opening_loc: (23,1)-(23,2) = "["
│ ├── arguments:
│ │ @ ArgumentsNode (location: (23,2)-(23,3))
- │ │ ├── arguments: (length: 1)
- │ │ │ └── @ CallNode (location: (23,2)-(23,3))
- │ │ │ ├── receiver: ∅
- │ │ │ ├── call_operator_loc: ∅
- │ │ │ ├── name: :b
- │ │ │ ├── message_loc: (23,2)-(23,3) = "b"
- │ │ │ ├── opening_loc: ∅
- │ │ │ ├── arguments: ∅
- │ │ │ ├── closing_loc: ∅
- │ │ │ ├── block: ∅
- │ │ │ └── flags: variable_call
- │ │ └── flags: ∅
+ │ │ ├── flags: ∅
+ │ │ └── arguments: (length: 1)
+ │ │ └── @ CallNode (location: (23,2)-(23,3))
+ │ │ ├── flags: variable_call
+ │ │ ├── receiver: ∅
+ │ │ ├── call_operator_loc: ∅
+ │ │ ├── name: :b
+ │ │ ├── message_loc: (23,2)-(23,3) = "b"
+ │ │ ├── opening_loc: ∅
+ │ │ ├── arguments: ∅
+ │ │ ├── closing_loc: ∅
+ │ │ └── block: ∅
│ ├── closing_loc: (23,3)-(23,4) = "]"
│ ├── block: ∅
- │ ├── flags: ∅
│ ├── operator_loc: (23,5)-(23,8) = "||="
│ └── value:
│ @ IntegerNode (location: (23,9)-(23,10))
│ └── flags: decimal
└── @ CallOperatorWriteNode (location: (24,0)-(24,10))
+ ├── flags: ∅
├── receiver:
│ @ CallNode (location: (24,0)-(24,3))
+ │ ├── flags: variable_call
│ ├── receiver: ∅
│ ├── call_operator_loc: ∅
│ ├── name: :foo
@@ -475,11 +477,9 @@
│ ├── opening_loc: ∅
│ ├── arguments: ∅
│ ├── closing_loc: ∅
- │ ├── block: ∅
- │ └── flags: variable_call
+ │ └── block: ∅
├── call_operator_loc: (24,3)-(24,4) = "."
├── message_loc: (24,4)-(24,5) = "A"
- ├── flags: ∅
├── read_name: :A
├── write_name: :A=
├── operator: :+
diff --git a/test/prism/snapshots/unparser/corpus/literal/pattern.txt b/test/prism/snapshots/unparser/corpus/literal/pattern.txt
index 983ec43050..36f3c548ca 100644
--- a/test/prism/snapshots/unparser/corpus/literal/pattern.txt
+++ b/test/prism/snapshots/unparser/corpus/literal/pattern.txt
@@ -6,6 +6,7 @@
├── @ CaseMatchNode (location: (1,0)-(33,3))
│ ├── predicate:
│ │ @ CallNode (location: (1,5)-(1,8))
+ │ │ ├── flags: variable_call
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
│ │ ├── name: :foo
@@ -13,8 +14,7 @@
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
- │ │ ├── block: ∅
- │ │ └── flags: variable_call
+ │ │ └── block: ∅
│ ├── conditions: (length: 15)
│ │ ├── @ InNode (location: (2,0)-(3,6))
│ │ │ ├── pattern:
@@ -63,6 +63,7 @@
│ │ │ │ @ StatementsNode (location: (5,2)-(5,3))
│ │ │ │ └── body: (length: 1)
│ │ │ │ └── @ CallNode (location: (5,2)-(5,3))
+ │ │ │ │ ├── flags: variable_call
│ │ │ │ ├── receiver: ∅
│ │ │ │ ├── call_operator_loc: ∅
│ │ │ │ ├── name: :y
@@ -70,8 +71,7 @@
│ │ │ │ ├── opening_loc: ∅
│ │ │ │ ├── arguments: ∅
│ │ │ │ ├── closing_loc: ∅
- │ │ │ │ ├── block: ∅
- │ │ │ │ └── flags: variable_call
+ │ │ │ │ └── block: ∅
│ │ │ ├── in_loc: (4,0)-(4,2) = "in"
│ │ │ └── then_loc: (4,12)-(4,16) = "then"
│ │ ├── @ InNode (location: (6,0)-(7,6))
@@ -336,6 +336,7 @@
├── @ CaseMatchNode (location: (34,0)-(36,3))
│ ├── predicate:
│ │ @ CallNode (location: (34,5)-(34,8))
+ │ │ ├── flags: variable_call
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
│ │ ├── name: :foo
@@ -343,8 +344,7 @@
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
- │ │ ├── block: ∅
- │ │ └── flags: variable_call
+ │ │ └── block: ∅
│ ├── conditions: (length: 1)
│ │ └── @ InNode (location: (35,0)-(35,17))
│ │ ├── pattern:
@@ -378,6 +378,7 @@
├── @ CaseMatchNode (location: (37,0)-(40,3))
│ ├── predicate:
│ │ @ CallNode (location: (37,5)-(37,8))
+ │ │ ├── flags: variable_call
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
│ │ ├── name: :foo
@@ -385,8 +386,7 @@
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
- │ │ ├── block: ∅
- │ │ └── flags: variable_call
+ │ │ └── block: ∅
│ ├── conditions: (length: 1)
│ │ └── @ InNode (location: (38,0)-(38,4))
│ │ ├── pattern:
diff --git a/test/prism/snapshots/unparser/corpus/literal/pragma.txt b/test/prism/snapshots/unparser/corpus/literal/pragma.txt
index 6d76480eca..49a790c20f 100644
--- a/test/prism/snapshots/unparser/corpus/literal/pragma.txt
+++ b/test/prism/snapshots/unparser/corpus/literal/pragma.txt
@@ -8,6 +8,7 @@
│ └── filepath: "unparser/corpus/literal/pragma.txt"
├── @ SourceLineNode (location: (3,0)-(3,8))
└── @ CallNode (location: (4,0)-(4,7))
+ ├── flags: variable_call
├── receiver: ∅
├── call_operator_loc: ∅
├── name: :__dir__
@@ -15,5 +16,4 @@
├── opening_loc: ∅
├── arguments: ∅
├── closing_loc: ∅
- ├── block: ∅
- └── flags: variable_call
+ └── block: ∅
diff --git a/test/prism/snapshots/unparser/corpus/literal/range.txt b/test/prism/snapshots/unparser/corpus/literal/range.txt
index 8d22fd530e..5bf208d962 100644
--- a/test/prism/snapshots/unparser/corpus/literal/range.txt
+++ b/test/prism/snapshots/unparser/corpus/literal/range.txt
@@ -8,42 +8,42 @@
│ │ @ StatementsNode (location: (1,1)-(1,4))
│ │ └── body: (length: 1)
│ │ └── @ RangeNode (location: (1,1)-(1,4))
+ │ │ ├── flags: ∅
│ │ ├── left:
│ │ │ @ IntegerNode (location: (1,1)-(1,2))
│ │ │ └── flags: decimal
│ │ ├── right: ∅
- │ │ ├── operator_loc: (1,2)-(1,4) = ".."
- │ │ └── flags: ∅
+ │ │ └── operator_loc: (1,2)-(1,4) = ".."
│ ├── opening_loc: (1,0)-(1,1) = "("
│ └── closing_loc: (1,4)-(1,5) = ")"
├── @ RangeNode (location: (2,0)-(2,4))
+ │ ├── flags: ∅
│ ├── left:
│ │ @ IntegerNode (location: (2,0)-(2,1))
│ │ └── flags: decimal
│ ├── right:
│ │ @ IntegerNode (location: (2,3)-(2,4))
│ │ └── flags: decimal
- │ ├── operator_loc: (2,1)-(2,3) = ".."
- │ └── flags: ∅
+ │ └── operator_loc: (2,1)-(2,3) = ".."
├── @ ParenthesesNode (location: (3,0)-(3,6))
│ ├── body:
│ │ @ StatementsNode (location: (3,1)-(3,5))
│ │ └── body: (length: 1)
│ │ └── @ RangeNode (location: (3,1)-(3,5))
+ │ │ ├── flags: exclude_end
│ │ ├── left:
│ │ │ @ IntegerNode (location: (3,1)-(3,2))
│ │ │ └── flags: decimal
│ │ ├── right: ∅
- │ │ ├── operator_loc: (3,2)-(3,5) = "..."
- │ │ └── flags: exclude_end
+ │ │ └── operator_loc: (3,2)-(3,5) = "..."
│ ├── opening_loc: (3,0)-(3,1) = "("
│ └── closing_loc: (3,5)-(3,6) = ")"
└── @ RangeNode (location: (4,0)-(4,5))
+ ├── flags: exclude_end
├── left:
│ @ IntegerNode (location: (4,0)-(4,1))
│ └── flags: decimal
├── right:
│ @ IntegerNode (location: (4,4)-(4,5))
│ └── flags: decimal
- ├── operator_loc: (4,1)-(4,4) = "..."
- └── flags: exclude_end
+ └── operator_loc: (4,1)-(4,4) = "..."
diff --git a/test/prism/snapshots/unparser/corpus/literal/rescue.txt b/test/prism/snapshots/unparser/corpus/literal/rescue.txt
index 3f0dfedd59..80fd34f321 100644
--- a/test/prism/snapshots/unparser/corpus/literal/rescue.txt
+++ b/test/prism/snapshots/unparser/corpus/literal/rescue.txt
@@ -6,6 +6,7 @@
├── @ RescueModifierNode (location: (1,0)-(1,14))
│ ├── expression:
│ │ @ CallNode (location: (1,0)-(1,3))
+ │ │ ├── flags: variable_call
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
│ │ ├── name: :foo
@@ -13,11 +14,11 @@
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
- │ │ ├── block: ∅
- │ │ └── flags: variable_call
+ │ │ └── block: ∅
│ ├── keyword_loc: (1,4)-(1,10) = "rescue"
│ └── rescue_expression:
│ @ CallNode (location: (1,11)-(1,14))
+ │ ├── flags: variable_call
│ ├── receiver: ∅
│ ├── call_operator_loc: ∅
│ ├── name: :bar
@@ -25,11 +26,11 @@
│ ├── opening_loc: ∅
│ ├── arguments: ∅
│ ├── closing_loc: ∅
- │ ├── block: ∅
- │ └── flags: variable_call
+ │ └── block: ∅
├── @ RescueModifierNode (location: (2,0)-(2,21))
│ ├── expression:
│ │ @ CallNode (location: (2,0)-(2,3))
+ │ │ ├── flags: variable_call
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
│ │ ├── name: :foo
@@ -37,26 +38,25 @@
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
- │ │ ├── block: ∅
- │ │ └── flags: variable_call
+ │ │ └── block: ∅
│ ├── keyword_loc: (2,4)-(2,10) = "rescue"
│ └── rescue_expression:
│ @ ReturnNode (location: (2,11)-(2,21))
│ ├── keyword_loc: (2,11)-(2,17) = "return"
│ └── arguments:
│ @ ArgumentsNode (location: (2,18)-(2,21))
- │ ├── arguments: (length: 1)
- │ │ └── @ CallNode (location: (2,18)-(2,21))
- │ │ ├── receiver: ∅
- │ │ ├── call_operator_loc: ∅
- │ │ ├── name: :bar
- │ │ ├── message_loc: (2,18)-(2,21) = "bar"
- │ │ ├── opening_loc: ∅
- │ │ ├── arguments: ∅
- │ │ ├── closing_loc: ∅
- │ │ ├── block: ∅
- │ │ └── flags: variable_call
- │ └── flags: ∅
+ │ ├── flags: ∅
+ │ └── arguments: (length: 1)
+ │ └── @ CallNode (location: (2,18)-(2,21))
+ │ ├── flags: variable_call
+ │ ├── receiver: ∅
+ │ ├── call_operator_loc: ∅
+ │ ├── name: :bar
+ │ ├── message_loc: (2,18)-(2,21) = "bar"
+ │ ├── opening_loc: ∅
+ │ ├── arguments: ∅
+ │ ├── closing_loc: ∅
+ │ └── block: ∅
└── @ LocalVariableWriteNode (location: (3,0)-(3,27))
├── name: :x
├── depth: 0
@@ -69,6 +69,7 @@
│ │ └── @ RescueModifierNode (location: (3,5)-(3,26))
│ │ ├── expression:
│ │ │ @ CallNode (location: (3,5)-(3,8))
+ │ │ │ ├── flags: variable_call
│ │ │ ├── receiver: ∅
│ │ │ ├── call_operator_loc: ∅
│ │ │ ├── name: :foo
@@ -76,26 +77,25 @@
│ │ │ ├── opening_loc: ∅
│ │ │ ├── arguments: ∅
│ │ │ ├── closing_loc: ∅
- │ │ │ ├── block: ∅
- │ │ │ └── flags: variable_call
+ │ │ │ └── block: ∅
│ │ ├── keyword_loc: (3,9)-(3,15) = "rescue"
│ │ └── rescue_expression:
│ │ @ ReturnNode (location: (3,16)-(3,26))
│ │ ├── keyword_loc: (3,16)-(3,22) = "return"
│ │ └── arguments:
│ │ @ ArgumentsNode (location: (3,23)-(3,26))
- │ │ ├── arguments: (length: 1)
- │ │ │ └── @ CallNode (location: (3,23)-(3,26))
- │ │ │ ├── receiver: ∅
- │ │ │ ├── call_operator_loc: ∅
- │ │ │ ├── name: :bar
- │ │ │ ├── message_loc: (3,23)-(3,26) = "bar"
- │ │ │ ├── opening_loc: ∅
- │ │ │ ├── arguments: ∅
- │ │ │ ├── closing_loc: ∅
- │ │ │ ├── block: ∅
- │ │ │ └── flags: variable_call
- │ │ └── flags: ∅
+ │ │ ├── flags: ∅
+ │ │ └── arguments: (length: 1)
+ │ │ └── @ CallNode (location: (3,23)-(3,26))
+ │ │ ├── flags: variable_call
+ │ │ ├── receiver: ∅
+ │ │ ├── call_operator_loc: ∅
+ │ │ ├── name: :bar
+ │ │ ├── message_loc: (3,23)-(3,26) = "bar"
+ │ │ ├── opening_loc: ∅
+ │ │ ├── arguments: ∅
+ │ │ ├── closing_loc: ∅
+ │ │ └── block: ∅
│ ├── opening_loc: (3,4)-(3,5) = "("
│ └── closing_loc: (3,26)-(3,27) = ")"
└── operator_loc: (3,2)-(3,3) = "="
diff --git a/test/prism/snapshots/unparser/corpus/literal/send.txt b/test/prism/snapshots/unparser/corpus/literal/send.txt
index c372f967bb..d637c84518 100644
--- a/test/prism/snapshots/unparser/corpus/literal/send.txt
+++ b/test/prism/snapshots/unparser/corpus/literal/send.txt
@@ -35,6 +35,7 @@
│ │ │ │ ├── operator_loc: (2,18)-(2,19) = "="
│ │ │ │ └── value:
│ │ │ │ @ CallNode (location: (2,20)-(2,21))
+ │ │ │ │ ├── flags: variable_call
│ │ │ │ ├── receiver: ∅
│ │ │ │ ├── call_operator_loc: ∅
│ │ │ │ ├── name: :b
@@ -42,8 +43,7 @@
│ │ │ │ ├── opening_loc: ∅
│ │ │ │ ├── arguments: ∅
│ │ │ │ ├── closing_loc: ∅
- │ │ │ │ ├── block: ∅
- │ │ │ │ └── flags: variable_call
+ │ │ │ │ └── block: ∅
│ │ │ ├── opening_loc: (2,10)-(2,11) = "("
│ │ │ └── closing_loc: (2,21)-(2,22) = ")"
│ │ ├── name: :foo
@@ -68,6 +68,7 @@
│ │ │ │ └── flags: decimal
│ │ │ └── operator_loc: (6,8)-(6,9) = "="
│ │ └── @ CallNode (location: (7,2)-(7,11))
+ │ │ ├── flags: ∅
│ │ ├── receiver:
│ │ │ @ LocalVariableReadNode (location: (7,2)-(7,7))
│ │ │ ├── name: :local
@@ -78,11 +79,11 @@
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
- │ │ ├── block: ∅
- │ │ └── flags: ∅
+ │ │ └── block: ∅
│ ├── end_keyword_loc: (8,0)-(8,3) = "end"
│ └── name: :A
├── @ CallNode (location: (9,0)-(10,7))
+ │ ├── flags: ∅
│ ├── receiver:
│ │ @ ClassNode (location: (9,0)-(10,3))
│ │ ├── locals: []
@@ -101,9 +102,9 @@
│ ├── opening_loc: ∅
│ ├── arguments: ∅
│ ├── closing_loc: ∅
- │ ├── block: ∅
- │ └── flags: ∅
+ │ └── block: ∅
├── @ CallNode (location: (11,0)-(12,7))
+ │ ├── flags: ∅
│ ├── receiver:
│ │ @ ModuleNode (location: (11,0)-(12,3))
│ │ ├── locals: []
@@ -120,9 +121,9 @@
│ ├── opening_loc: ∅
│ ├── arguments: ∅
│ ├── closing_loc: ∅
- │ ├── block: ∅
- │ └── flags: ∅
+ │ └── block: ∅
├── @ CallNode (location: (13,0)-(15,7))
+ │ ├── flags: ∅
│ ├── receiver:
│ │ @ BeginNode (location: (13,0)-(15,3))
│ │ ├── begin_keyword_loc: (13,0)-(13,5) = "begin"
@@ -144,9 +145,9 @@
│ ├── opening_loc: ∅
│ ├── arguments: ∅
│ ├── closing_loc: ∅
- │ ├── block: ∅
- │ └── flags: ∅
+ │ └── block: ∅
├── @ CallNode (location: (16,0)-(19,7))
+ │ ├── flags: ∅
│ ├── receiver:
│ │ @ CaseNode (location: (16,0)-(19,3))
│ │ ├── predicate:
@@ -180,6 +181,7 @@
│ │ │ ├── keyword_loc: (18,0)-(18,4) = "when"
│ │ │ ├── conditions: (length: 1)
│ │ │ │ └── @ CallNode (location: (18,5)-(18,8))
+ │ │ │ │ ├── flags: variable_call
│ │ │ │ ├── receiver: ∅
│ │ │ │ ├── call_operator_loc: ∅
│ │ │ │ ├── name: :bar
@@ -187,8 +189,7 @@
│ │ │ │ ├── opening_loc: ∅
│ │ │ │ ├── arguments: ∅
│ │ │ │ ├── closing_loc: ∅
- │ │ │ │ ├── block: ∅
- │ │ │ │ └── flags: variable_call
+ │ │ │ │ └── block: ∅
│ │ │ └── statements: ∅
│ │ ├── consequent: ∅
│ │ ├── case_keyword_loc: (16,0)-(16,4) = "case"
@@ -199,13 +200,14 @@
│ ├── opening_loc: ∅
│ ├── arguments: ∅
│ ├── closing_loc: ∅
- │ ├── block: ∅
- │ └── flags: ∅
+ │ └── block: ∅
├── @ CallNode (location: (20,0)-(22,7))
+ │ ├── flags: ∅
│ ├── receiver:
│ │ @ CaseNode (location: (20,0)-(22,3))
│ │ ├── predicate:
│ │ │ @ CallNode (location: (20,5)-(20,8))
+ │ │ │ ├── flags: variable_call
│ │ │ ├── receiver: ∅
│ │ │ ├── call_operator_loc: ∅
│ │ │ ├── name: :foo
@@ -213,13 +215,13 @@
│ │ │ ├── opening_loc: ∅
│ │ │ ├── arguments: ∅
│ │ │ ├── closing_loc: ∅
- │ │ │ ├── block: ∅
- │ │ │ └── flags: variable_call
+ │ │ │ └── block: ∅
│ │ ├── conditions: (length: 1)
│ │ │ └── @ WhenNode (location: (21,0)-(21,8))
│ │ │ ├── keyword_loc: (21,0)-(21,4) = "when"
│ │ │ ├── conditions: (length: 1)
│ │ │ │ └── @ CallNode (location: (21,5)-(21,8))
+ │ │ │ │ ├── flags: variable_call
│ │ │ │ ├── receiver: ∅
│ │ │ │ ├── call_operator_loc: ∅
│ │ │ │ ├── name: :bar
@@ -227,8 +229,7 @@
│ │ │ │ ├── opening_loc: ∅
│ │ │ │ ├── arguments: ∅
│ │ │ │ ├── closing_loc: ∅
- │ │ │ │ ├── block: ∅
- │ │ │ │ └── flags: variable_call
+ │ │ │ │ └── block: ∅
│ │ │ └── statements: ∅
│ │ ├── consequent: ∅
│ │ ├── case_keyword_loc: (20,0)-(20,4) = "case"
@@ -239,9 +240,9 @@
│ ├── opening_loc: ∅
│ ├── arguments: ∅
│ ├── closing_loc: ∅
- │ ├── block: ∅
- │ └── flags: ∅
+ │ └── block: ∅
├── @ CallNode (location: (23,0)-(24,7))
+ │ ├── flags: ∅
│ ├── receiver:
│ │ @ SingletonClassNode (location: (23,0)-(24,3))
│ │ ├── locals: []
@@ -257,9 +258,9 @@
│ ├── opening_loc: ∅
│ ├── arguments: ∅
│ ├── closing_loc: ∅
- │ ├── block: ∅
- │ └── flags: ∅
+ │ └── block: ∅
├── @ CallNode (location: (25,0)-(26,7))
+ │ ├── flags: ∅
│ ├── receiver:
│ │ @ DefNode (location: (25,0)-(26,3))
│ │ ├── name: :foo
@@ -282,9 +283,9 @@
│ ├── opening_loc: ∅
│ ├── arguments: ∅
│ ├── closing_loc: ∅
- │ ├── block: ∅
- │ └── flags: ∅
+ │ └── block: ∅
├── @ CallNode (location: (27,0)-(28,7))
+ │ ├── flags: ∅
│ ├── receiver:
│ │ @ DefNode (location: (27,0)-(28,3))
│ │ ├── name: :foo
@@ -306,15 +307,17 @@
│ ├── opening_loc: ∅
│ ├── arguments: ∅
│ ├── closing_loc: ∅
- │ ├── block: ∅
- │ └── flags: ∅
+ │ └── block: ∅
├── @ CallNode (location: (29,0)-(30,7))
+ │ ├── flags: ∅
│ ├── receiver:
│ │ @ UntilNode (location: (29,0)-(30,3))
+ │ │ ├── flags: ∅
│ │ ├── keyword_loc: (29,0)-(29,5) = "until"
│ │ ├── closing_loc: (30,0)-(30,3) = "end"
│ │ ├── predicate:
│ │ │ @ CallNode (location: (29,6)-(29,9))
+ │ │ │ ├── flags: variable_call
│ │ │ ├── receiver: ∅
│ │ │ ├── call_operator_loc: ∅
│ │ │ ├── name: :foo
@@ -322,25 +325,25 @@
│ │ │ ├── opening_loc: ∅
│ │ │ ├── arguments: ∅
│ │ │ ├── closing_loc: ∅
- │ │ │ ├── block: ∅
- │ │ │ └── flags: variable_call
- │ │ ├── statements: ∅
- │ │ └── flags: ∅
+ │ │ │ └── block: ∅
+ │ │ └── statements: ∅
│ ├── call_operator_loc: (30,3)-(30,4) = "."
│ ├── name: :bar
│ ├── message_loc: (30,4)-(30,7) = "bar"
│ ├── opening_loc: ∅
│ ├── arguments: ∅
│ ├── closing_loc: ∅
- │ ├── block: ∅
- │ └── flags: ∅
+ │ └── block: ∅
├── @ CallNode (location: (31,0)-(32,7))
+ │ ├── flags: ∅
│ ├── receiver:
│ │ @ WhileNode (location: (31,0)-(32,3))
+ │ │ ├── flags: ∅
│ │ ├── keyword_loc: (31,0)-(31,5) = "while"
│ │ ├── closing_loc: (32,0)-(32,3) = "end"
│ │ ├── predicate:
│ │ │ @ CallNode (location: (31,6)-(31,9))
+ │ │ │ ├── flags: variable_call
│ │ │ ├── receiver: ∅
│ │ │ ├── call_operator_loc: ∅
│ │ │ ├── name: :foo
@@ -348,21 +351,20 @@
│ │ │ ├── opening_loc: ∅
│ │ │ ├── arguments: ∅
│ │ │ ├── closing_loc: ∅
- │ │ │ ├── block: ∅
- │ │ │ └── flags: variable_call
- │ │ ├── statements: ∅
- │ │ └── flags: ∅
+ │ │ │ └── block: ∅
+ │ │ └── statements: ∅
│ ├── call_operator_loc: (32,3)-(32,4) = "."
│ ├── name: :bar
│ ├── message_loc: (32,4)-(32,7) = "bar"
│ ├── opening_loc: ∅
│ ├── arguments: ∅
│ ├── closing_loc: ∅
- │ ├── block: ∅
- │ └── flags: ∅
+ │ └── block: ∅
├── @ CallNode (location: (33,0)-(34,5))
+ │ ├── flags: ∅
│ ├── receiver:
│ │ @ CallNode (location: (33,0)-(34,1))
+ │ │ ├── flags: ∅
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
│ │ ├── name: :loop
@@ -370,29 +372,29 @@
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
- │ │ ├── block:
- │ │ │ @ BlockNode (location: (33,5)-(34,1))
- │ │ │ ├── locals: []
- │ │ │ ├── locals_body_index: 0
- │ │ │ ├── parameters: ∅
- │ │ │ ├── body: ∅
- │ │ │ ├── opening_loc: (33,5)-(33,6) = "{"
- │ │ │ └── closing_loc: (34,0)-(34,1) = "}"
- │ │ └── flags: ∅
+ │ │ └── block:
+ │ │ @ BlockNode (location: (33,5)-(34,1))
+ │ │ ├── locals: []
+ │ │ ├── locals_body_index: 0
+ │ │ ├── parameters: ∅
+ │ │ ├── body: ∅
+ │ │ ├── opening_loc: (33,5)-(33,6) = "{"
+ │ │ └── closing_loc: (34,0)-(34,1) = "}"
│ ├── call_operator_loc: (34,1)-(34,2) = "."
│ ├── name: :bar
│ ├── message_loc: (34,2)-(34,5) = "bar"
│ ├── opening_loc: ∅
│ ├── arguments: ∅
│ ├── closing_loc: ∅
- │ ├── block: ∅
- │ └── flags: ∅
+ │ └── block: ∅
├── @ CallNode (location: (35,0)-(36,7))
+ │ ├── flags: ∅
│ ├── receiver:
│ │ @ IfNode (location: (35,0)-(36,3))
│ │ ├── if_keyword_loc: (35,0)-(35,2) = "if"
│ │ ├── predicate:
│ │ │ @ CallNode (location: (35,3)-(35,6))
+ │ │ │ ├── flags: variable_call
│ │ │ ├── receiver: ∅
│ │ │ ├── call_operator_loc: ∅
│ │ │ ├── name: :foo
@@ -400,8 +402,7 @@
│ │ │ ├── opening_loc: ∅
│ │ │ ├── arguments: ∅
│ │ │ ├── closing_loc: ∅
- │ │ │ ├── block: ∅
- │ │ │ └── flags: variable_call
+ │ │ │ └── block: ∅
│ │ ├── then_keyword_loc: ∅
│ │ ├── statements: ∅
│ │ ├── consequent: ∅
@@ -412,38 +413,38 @@
│ ├── opening_loc: ∅
│ ├── arguments: ∅
│ ├── closing_loc: ∅
- │ ├── block: ∅
- │ └── flags: ∅
+ │ └── block: ∅
├── @ CallNode (location: (37,0)-(37,19))
+ │ ├── flags: ∅
│ ├── receiver:
│ │ @ ParenthesesNode (location: (37,0)-(37,15))
│ │ ├── body:
│ │ │ @ StatementsNode (location: (37,1)-(37,14))
│ │ │ └── body: (length: 1)
│ │ │ └── @ CallNode (location: (37,1)-(37,14))
+ │ │ │ ├── flags: ∅
│ │ │ ├── receiver:
│ │ │ │ @ RegularExpressionNode (location: (37,1)-(37,6))
+ │ │ │ │ ├── flags: ∅
│ │ │ │ ├── opening_loc: (37,1)-(37,2) = "/"
│ │ │ │ ├── content_loc: (37,2)-(37,5) = "bar"
│ │ │ │ ├── closing_loc: (37,5)-(37,6) = "/"
- │ │ │ │ ├── unescaped: "bar"
- │ │ │ │ └── flags: ∅
+ │ │ │ │ └── unescaped: "bar"
│ │ │ ├── call_operator_loc: ∅
│ │ │ ├── name: :=~
│ │ │ ├── message_loc: (37,7)-(37,9) = "=~"
│ │ │ ├── opening_loc: ∅
│ │ │ ├── arguments:
│ │ │ │ @ ArgumentsNode (location: (37,10)-(37,14))
- │ │ │ │ ├── arguments: (length: 1)
- │ │ │ │ │ └── @ SymbolNode (location: (37,10)-(37,14))
- │ │ │ │ │ ├── opening_loc: (37,10)-(37,11) = ":"
- │ │ │ │ │ ├── value_loc: (37,11)-(37,14) = "foo"
- │ │ │ │ │ ├── closing_loc: ∅
- │ │ │ │ │ └── unescaped: "foo"
- │ │ │ │ └── flags: ∅
+ │ │ │ │ ├── flags: ∅
+ │ │ │ │ └── arguments: (length: 1)
+ │ │ │ │ └── @ SymbolNode (location: (37,10)-(37,14))
+ │ │ │ │ ├── opening_loc: (37,10)-(37,11) = ":"
+ │ │ │ │ ├── value_loc: (37,11)-(37,14) = "foo"
+ │ │ │ │ ├── closing_loc: ∅
+ │ │ │ │ └── unescaped: "foo"
│ │ │ ├── closing_loc: ∅
- │ │ │ ├── block: ∅
- │ │ │ └── flags: ∅
+ │ │ │ └── block: ∅
│ │ ├── opening_loc: (37,0)-(37,1) = "("
│ │ └── closing_loc: (37,14)-(37,15) = ")"
│ ├── call_operator_loc: (37,15)-(37,16) = "."
@@ -452,23 +453,23 @@
│ ├── opening_loc: ∅
│ ├── arguments: ∅
│ ├── closing_loc: ∅
- │ ├── block: ∅
- │ └── flags: ∅
+ │ └── block: ∅
├── @ CallNode (location: (38,0)-(38,10))
+ │ ├── flags: ∅
│ ├── receiver:
│ │ @ ParenthesesNode (location: (38,0)-(38,6))
│ │ ├── body:
│ │ │ @ StatementsNode (location: (38,1)-(38,5))
│ │ │ └── body: (length: 1)
│ │ │ └── @ RangeNode (location: (38,1)-(38,5))
+ │ │ │ ├── flags: ∅
│ │ │ ├── left:
│ │ │ │ @ IntegerNode (location: (38,1)-(38,2))
│ │ │ │ └── flags: decimal
│ │ │ ├── right:
│ │ │ │ @ IntegerNode (location: (38,4)-(38,5))
│ │ │ │ └── flags: decimal
- │ │ │ ├── operator_loc: (38,2)-(38,4) = ".."
- │ │ │ └── flags: ∅
+ │ │ │ └── operator_loc: (38,2)-(38,4) = ".."
│ │ ├── opening_loc: (38,0)-(38,1) = "("
│ │ └── closing_loc: (38,5)-(38,6) = ")"
│ ├── call_operator_loc: (38,6)-(38,7) = "."
@@ -477,17 +478,19 @@
│ ├── opening_loc: ∅
│ ├── arguments: ∅
│ ├── closing_loc: ∅
- │ ├── block: ∅
- │ └── flags: ∅
+ │ └── block: ∅
├── @ CallNode (location: (39,0)-(39,18))
+ │ ├── flags: ∅
│ ├── receiver:
│ │ @ ParenthesesNode (location: (39,0)-(39,14))
│ │ ├── body:
│ │ │ @ StatementsNode (location: (39,1)-(39,13))
│ │ │ └── body: (length: 1)
│ │ │ └── @ CallNode (location: (39,1)-(39,13))
+ │ │ │ ├── flags: ∅
│ │ │ ├── receiver:
│ │ │ │ @ CallNode (location: (39,1)-(39,4))
+ │ │ │ │ ├── flags: variable_call
│ │ │ │ ├── receiver: ∅
│ │ │ │ ├── call_operator_loc: ∅
│ │ │ │ ├── name: :foo
@@ -495,25 +498,23 @@
│ │ │ │ ├── opening_loc: ∅
│ │ │ │ ├── arguments: ∅
│ │ │ │ ├── closing_loc: ∅
- │ │ │ │ ├── block: ∅
- │ │ │ │ └── flags: variable_call
+ │ │ │ │ └── block: ∅
│ │ │ ├── call_operator_loc: ∅
│ │ │ ├── name: :=~
│ │ │ ├── message_loc: (39,5)-(39,7) = "=~"
│ │ │ ├── opening_loc: ∅
│ │ │ ├── arguments:
│ │ │ │ @ ArgumentsNode (location: (39,8)-(39,13))
- │ │ │ │ ├── arguments: (length: 1)
- │ │ │ │ │ └── @ RegularExpressionNode (location: (39,8)-(39,13))
- │ │ │ │ │ ├── opening_loc: (39,8)-(39,9) = "/"
- │ │ │ │ │ ├── content_loc: (39,9)-(39,12) = "bar"
- │ │ │ │ │ ├── closing_loc: (39,12)-(39,13) = "/"
- │ │ │ │ │ ├── unescaped: "bar"
- │ │ │ │ │ └── flags: ∅
- │ │ │ │ └── flags: ∅
+ │ │ │ │ ├── flags: ∅
+ │ │ │ │ └── arguments: (length: 1)
+ │ │ │ │ └── @ RegularExpressionNode (location: (39,8)-(39,13))
+ │ │ │ │ ├── flags: ∅
+ │ │ │ │ ├── opening_loc: (39,8)-(39,9) = "/"
+ │ │ │ │ ├── content_loc: (39,9)-(39,12) = "bar"
+ │ │ │ │ ├── closing_loc: (39,12)-(39,13) = "/"
+ │ │ │ │ └── unescaped: "bar"
│ │ │ ├── closing_loc: ∅
- │ │ │ ├── block: ∅
- │ │ │ └── flags: ∅
+ │ │ │ └── block: ∅
│ │ ├── opening_loc: (39,0)-(39,1) = "("
│ │ └── closing_loc: (39,13)-(39,14) = ")"
│ ├── call_operator_loc: (39,14)-(39,15) = "."
@@ -522,67 +523,68 @@
│ ├── opening_loc: ∅
│ ├── arguments: ∅
│ ├── closing_loc: ∅
- │ ├── block: ∅
- │ └── flags: ∅
+ │ └── block: ∅
├── @ CallNode (location: (40,0)-(40,13))
+ │ ├── flags: ∅
│ ├── receiver:
│ │ @ RegularExpressionNode (location: (40,0)-(40,5))
+ │ │ ├── flags: ∅
│ │ ├── opening_loc: (40,0)-(40,1) = "/"
│ │ ├── content_loc: (40,1)-(40,4) = "bar"
│ │ ├── closing_loc: (40,4)-(40,5) = "/"
- │ │ ├── unescaped: "bar"
- │ │ └── flags: ∅
+ │ │ └── unescaped: "bar"
│ ├── call_operator_loc: ∅
│ ├── name: :=~
│ ├── message_loc: (40,6)-(40,8) = "=~"
│ ├── opening_loc: ∅
│ ├── arguments:
│ │ @ ArgumentsNode (location: (40,9)-(40,13))
- │ │ ├── arguments: (length: 1)
- │ │ │ └── @ SymbolNode (location: (40,9)-(40,13))
- │ │ │ ├── opening_loc: (40,9)-(40,10) = ":"
- │ │ │ ├── value_loc: (40,10)-(40,13) = "foo"
- │ │ │ ├── closing_loc: ∅
- │ │ │ └── unescaped: "foo"
- │ │ └── flags: ∅
+ │ │ ├── flags: ∅
+ │ │ └── arguments: (length: 1)
+ │ │ └── @ SymbolNode (location: (40,9)-(40,13))
+ │ │ ├── opening_loc: (40,9)-(40,10) = ":"
+ │ │ ├── value_loc: (40,10)-(40,13) = "foo"
+ │ │ ├── closing_loc: ∅
+ │ │ └── unescaped: "foo"
│ ├── closing_loc: ∅
- │ ├── block: ∅
- │ └── flags: ∅
+ │ └── block: ∅
├── @ CallNode (location: (41,0)-(41,12))
+ │ ├── flags: ∅
│ ├── receiver:
│ │ @ RegularExpressionNode (location: (41,0)-(41,5))
+ │ │ ├── flags: ∅
│ │ ├── opening_loc: (41,0)-(41,1) = "/"
│ │ ├── content_loc: (41,1)-(41,4) = "bar"
│ │ ├── closing_loc: (41,4)-(41,5) = "/"
- │ │ ├── unescaped: "bar"
- │ │ └── flags: ∅
+ │ │ └── unescaped: "bar"
│ ├── call_operator_loc: ∅
│ ├── name: :=~
│ ├── message_loc: (41,6)-(41,8) = "=~"
│ ├── opening_loc: ∅
│ ├── arguments:
│ │ @ ArgumentsNode (location: (41,9)-(41,12))
- │ │ ├── arguments: (length: 1)
- │ │ │ └── @ CallNode (location: (41,9)-(41,12))
- │ │ │ ├── receiver: ∅
- │ │ │ ├── call_operator_loc: ∅
- │ │ │ ├── name: :foo
- │ │ │ ├── message_loc: (41,9)-(41,12) = "foo"
- │ │ │ ├── opening_loc: ∅
- │ │ │ ├── arguments: ∅
- │ │ │ ├── closing_loc: ∅
- │ │ │ ├── block: ∅
- │ │ │ └── flags: variable_call
- │ │ └── flags: ∅
+ │ │ ├── flags: ∅
+ │ │ └── arguments: (length: 1)
+ │ │ └── @ CallNode (location: (41,9)-(41,12))
+ │ │ ├── flags: variable_call
+ │ │ ├── receiver: ∅
+ │ │ ├── call_operator_loc: ∅
+ │ │ ├── name: :foo
+ │ │ ├── message_loc: (41,9)-(41,12) = "foo"
+ │ │ ├── opening_loc: ∅
+ │ │ ├── arguments: ∅
+ │ │ ├── closing_loc: ∅
+ │ │ └── block: ∅
│ ├── closing_loc: ∅
- │ ├── block: ∅
- │ └── flags: ∅
+ │ └── block: ∅
├── @ RangeNode (location: (42,0)-(42,8))
+ │ ├── flags: ∅
│ ├── left:
│ │ @ IntegerNode (location: (42,0)-(42,1))
│ │ └── flags: decimal
│ ├── right:
│ │ @ CallNode (location: (42,3)-(42,8))
+ │ │ ├── flags: ∅
│ │ ├── receiver:
│ │ │ @ IntegerNode (location: (42,3)-(42,4))
│ │ │ └── flags: decimal
@@ -592,11 +594,10 @@
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
- │ │ ├── block: ∅
- │ │ └── flags: ∅
- │ ├── operator_loc: (42,1)-(42,3) = ".."
- │ └── flags: ∅
+ │ │ └── block: ∅
+ │ └── operator_loc: (42,1)-(42,3) = ".."
├── @ CallNode (location: (43,0)-(43,5))
+ │ ├── flags: ∅
│ ├── receiver:
│ │ @ ConstantReadNode (location: (43,0)-(43,1))
│ │ └── name: :A
@@ -606,9 +607,9 @@
│ ├── opening_loc: ∅
│ ├── arguments: ∅
│ ├── closing_loc: ∅
- │ ├── block: ∅
- │ └── flags: ∅
+ │ └── block: ∅
├── @ CallNode (location: (44,0)-(44,5))
+ │ ├── flags: ∅
│ ├── receiver: ∅
│ ├── call_operator_loc: ∅
│ ├── name: :FOO
@@ -616,11 +617,12 @@
│ ├── opening_loc: (44,3)-(44,4) = "("
│ ├── arguments: ∅
│ ├── closing_loc: (44,4)-(44,5) = ")"
- │ ├── block: ∅
- │ └── flags: ∅
+ │ └── block: ∅
├── @ CallNode (location: (45,0)-(45,4))
+ │ ├── flags: safe_navigation
│ ├── receiver:
│ │ @ CallNode (location: (45,0)-(45,1))
+ │ │ ├── flags: variable_call
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
│ │ ├── name: :a
@@ -628,19 +630,19 @@
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
- │ │ ├── block: ∅
- │ │ └── flags: variable_call
+ │ │ └── block: ∅
│ ├── call_operator_loc: (45,1)-(45,3) = "&."
│ ├── name: :b
│ ├── message_loc: (45,3)-(45,4) = "b"
│ ├── opening_loc: ∅
│ ├── arguments: ∅
│ ├── closing_loc: ∅
- │ ├── block: ∅
- │ └── flags: safe_navigation
+ │ └── block: ∅
├── @ CallNode (location: (46,0)-(46,5))
+ │ ├── flags: ∅
│ ├── receiver:
│ │ @ CallNode (location: (46,0)-(46,1))
+ │ │ ├── flags: variable_call
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
│ │ ├── name: :a
@@ -648,17 +650,16 @@
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
- │ │ ├── block: ∅
- │ │ └── flags: variable_call
+ │ │ └── block: ∅
│ ├── call_operator_loc: (46,1)-(46,2) = "."
│ ├── name: :foo
│ ├── message_loc: (46,2)-(46,5) = "foo"
│ ├── opening_loc: ∅
│ ├── arguments: ∅
│ ├── closing_loc: ∅
- │ ├── block: ∅
- │ └── flags: ∅
+ │ └── block: ∅
├── @ CallNode (location: (47,0)-(47,3))
+ │ ├── flags: variable_call
│ ├── receiver: ∅
│ ├── call_operator_loc: ∅
│ ├── name: :foo
@@ -666,11 +667,12 @@
│ ├── opening_loc: ∅
│ ├── arguments: ∅
│ ├── closing_loc: ∅
- │ ├── block: ∅
- │ └── flags: variable_call
+ │ └── block: ∅
├── @ CallNode (location: (48,0)-(48,18))
+ │ ├── flags: ∅
│ ├── receiver:
│ │ @ CallNode (location: (48,0)-(48,3))
+ │ │ ├── flags: variable_call
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
│ │ ├── name: :foo
@@ -678,61 +680,61 @@
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
- │ │ ├── block: ∅
- │ │ └── flags: variable_call
+ │ │ └── block: ∅
│ ├── call_operator_loc: ∅
│ ├── name: :<<
│ ├── message_loc: (48,4)-(48,6) = "<<"
│ ├── opening_loc: ∅
│ ├── arguments:
│ │ @ ArgumentsNode (location: (48,7)-(48,18))
- │ │ ├── arguments: (length: 1)
- │ │ │ └── @ ParenthesesNode (location: (48,7)-(48,18))
- │ │ │ ├── body:
- │ │ │ │ @ StatementsNode (location: (48,8)-(48,17))
- │ │ │ │ └── body: (length: 1)
- │ │ │ │ └── @ CallNode (location: (48,8)-(48,17))
- │ │ │ │ ├── receiver:
- │ │ │ │ │ @ CallNode (location: (48,8)-(48,11))
- │ │ │ │ │ ├── receiver: ∅
- │ │ │ │ │ ├── call_operator_loc: ∅
- │ │ │ │ │ ├── name: :bar
- │ │ │ │ │ ├── message_loc: (48,8)-(48,11) = "bar"
- │ │ │ │ │ ├── opening_loc: ∅
- │ │ │ │ │ ├── arguments: ∅
- │ │ │ │ │ ├── closing_loc: ∅
- │ │ │ │ │ ├── block: ∅
- │ │ │ │ │ └── flags: variable_call
- │ │ │ │ ├── call_operator_loc: ∅
- │ │ │ │ ├── name: :*
- │ │ │ │ ├── message_loc: (48,12)-(48,13) = "*"
- │ │ │ │ ├── opening_loc: ∅
- │ │ │ │ ├── arguments:
- │ │ │ │ │ @ ArgumentsNode (location: (48,14)-(48,17))
- │ │ │ │ │ ├── arguments: (length: 1)
- │ │ │ │ │ │ └── @ CallNode (location: (48,14)-(48,17))
- │ │ │ │ │ │ ├── receiver: ∅
- │ │ │ │ │ │ ├── call_operator_loc: ∅
- │ │ │ │ │ │ ├── name: :baz
- │ │ │ │ │ │ ├── message_loc: (48,14)-(48,17) = "baz"
- │ │ │ │ │ │ ├── opening_loc: ∅
- │ │ │ │ │ │ ├── arguments: ∅
- │ │ │ │ │ │ ├── closing_loc: ∅
- │ │ │ │ │ │ ├── block: ∅
- │ │ │ │ │ │ └── flags: variable_call
- │ │ │ │ │ └── flags: ∅
- │ │ │ │ ├── closing_loc: ∅
- │ │ │ │ ├── block: ∅
- │ │ │ │ └── flags: ∅
- │ │ │ ├── opening_loc: (48,7)-(48,8) = "("
- │ │ │ └── closing_loc: (48,17)-(48,18) = ")"
- │ │ └── flags: ∅
+ │ │ ├── flags: ∅
+ │ │ └── arguments: (length: 1)
+ │ │ └── @ ParenthesesNode (location: (48,7)-(48,18))
+ │ │ ├── body:
+ │ │ │ @ StatementsNode (location: (48,8)-(48,17))
+ │ │ │ └── body: (length: 1)
+ │ │ │ └── @ CallNode (location: (48,8)-(48,17))
+ │ │ │ ├── flags: ∅
+ │ │ │ ├── receiver:
+ │ │ │ │ @ CallNode (location: (48,8)-(48,11))
+ │ │ │ │ ├── flags: variable_call
+ │ │ │ │ ├── receiver: ∅
+ │ │ │ │ ├── call_operator_loc: ∅
+ │ │ │ │ ├── name: :bar
+ │ │ │ │ ├── message_loc: (48,8)-(48,11) = "bar"
+ │ │ │ │ ├── opening_loc: ∅
+ │ │ │ │ ├── arguments: ∅
+ │ │ │ │ ├── closing_loc: ∅
+ │ │ │ │ └── block: ∅
+ │ │ │ ├── call_operator_loc: ∅
+ │ │ │ ├── name: :*
+ │ │ │ ├── message_loc: (48,12)-(48,13) = "*"
+ │ │ │ ├── opening_loc: ∅
+ │ │ │ ├── arguments:
+ │ │ │ │ @ ArgumentsNode (location: (48,14)-(48,17))
+ │ │ │ │ ├── flags: ∅
+ │ │ │ │ └── arguments: (length: 1)
+ │ │ │ │ └── @ CallNode (location: (48,14)-(48,17))
+ │ │ │ │ ├── flags: variable_call
+ │ │ │ │ ├── receiver: ∅
+ │ │ │ │ ├── call_operator_loc: ∅
+ │ │ │ │ ├── name: :baz
+ │ │ │ │ ├── message_loc: (48,14)-(48,17) = "baz"
+ │ │ │ │ ├── opening_loc: ∅
+ │ │ │ │ ├── arguments: ∅
+ │ │ │ │ ├── closing_loc: ∅
+ │ │ │ │ └── block: ∅
+ │ │ │ ├── closing_loc: ∅
+ │ │ │ └── block: ∅
+ │ │ ├── opening_loc: (48,7)-(48,8) = "("
+ │ │ └── closing_loc: (48,17)-(48,18) = ")"
│ ├── closing_loc: ∅
- │ ├── block: ∅
- │ └── flags: ∅
+ │ └── block: ∅
├── @ CallNode (location: (49,0)-(49,12))
+ │ ├── flags: ∅
│ ├── receiver:
│ │ @ CallNode (location: (49,0)-(49,3))
+ │ │ ├── flags: variable_call
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
│ │ ├── name: :foo
@@ -740,26 +742,25 @@
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
- │ │ ├── block: ∅
- │ │ └── flags: variable_call
+ │ │ └── block: ∅
│ ├── call_operator_loc: ∅
│ ├── name: :=~
│ ├── message_loc: (49,4)-(49,6) = "=~"
│ ├── opening_loc: ∅
│ ├── arguments:
│ │ @ ArgumentsNode (location: (49,7)-(49,12))
- │ │ ├── arguments: (length: 1)
- │ │ │ └── @ RegularExpressionNode (location: (49,7)-(49,12))
- │ │ │ ├── opening_loc: (49,7)-(49,8) = "/"
- │ │ │ ├── content_loc: (49,8)-(49,11) = "bar"
- │ │ │ ├── closing_loc: (49,11)-(49,12) = "/"
- │ │ │ ├── unescaped: "bar"
- │ │ │ └── flags: ∅
- │ │ └── flags: ∅
+ │ │ ├── flags: ∅
+ │ │ └── arguments: (length: 1)
+ │ │ └── @ RegularExpressionNode (location: (49,7)-(49,12))
+ │ │ ├── flags: ∅
+ │ │ ├── opening_loc: (49,7)-(49,8) = "/"
+ │ │ ├── content_loc: (49,8)-(49,11) = "bar"
+ │ │ ├── closing_loc: (49,11)-(49,12) = "/"
+ │ │ └── unescaped: "bar"
│ ├── closing_loc: ∅
- │ ├── block: ∅
- │ └── flags: ∅
+ │ └── block: ∅
├── @ CallNode (location: (50,0)-(50,17))
+ │ ├── flags: ∅
│ ├── receiver: ∅
│ ├── call_operator_loc: ∅
│ ├── name: :foo
@@ -767,42 +768,42 @@
│ ├── opening_loc: (50,3)-(50,4) = "("
│ ├── arguments: ∅
│ ├── closing_loc: (50,17)-(50,18) = ")"
- │ ├── block:
- │ │ @ BlockArgumentNode (location: (50,4)-(50,17))
- │ │ ├── expression:
- │ │ │ @ ParenthesesNode (location: (50,5)-(50,17))
- │ │ │ ├── body:
- │ │ │ │ @ StatementsNode (location: (50,6)-(50,16))
- │ │ │ │ └── body: (length: 1)
- │ │ │ │ └── @ OrNode (location: (50,6)-(50,16))
- │ │ │ │ ├── left:
- │ │ │ │ │ @ CallNode (location: (50,6)-(50,9))
- │ │ │ │ │ ├── receiver: ∅
- │ │ │ │ │ ├── call_operator_loc: ∅
- │ │ │ │ │ ├── name: :foo
- │ │ │ │ │ ├── message_loc: (50,6)-(50,9) = "foo"
- │ │ │ │ │ ├── opening_loc: ∅
- │ │ │ │ │ ├── arguments: ∅
- │ │ │ │ │ ├── closing_loc: ∅
- │ │ │ │ │ ├── block: ∅
- │ │ │ │ │ └── flags: variable_call
- │ │ │ │ ├── right:
- │ │ │ │ │ @ CallNode (location: (50,13)-(50,16))
- │ │ │ │ │ ├── receiver: ∅
- │ │ │ │ │ ├── call_operator_loc: ∅
- │ │ │ │ │ ├── name: :bar
- │ │ │ │ │ ├── message_loc: (50,13)-(50,16) = "bar"
- │ │ │ │ │ ├── opening_loc: ∅
- │ │ │ │ │ ├── arguments: ∅
- │ │ │ │ │ ├── closing_loc: ∅
- │ │ │ │ │ ├── block: ∅
- │ │ │ │ │ └── flags: variable_call
- │ │ │ │ └── operator_loc: (50,10)-(50,12) = "||"
- │ │ │ ├── opening_loc: (50,5)-(50,6) = "("
- │ │ │ └── closing_loc: (50,16)-(50,17) = ")"
- │ │ └── operator_loc: (50,4)-(50,5) = "&"
- │ └── flags: ∅
+ │ └── block:
+ │ @ BlockArgumentNode (location: (50,4)-(50,17))
+ │ ├── expression:
+ │ │ @ ParenthesesNode (location: (50,5)-(50,17))
+ │ │ ├── body:
+ │ │ │ @ StatementsNode (location: (50,6)-(50,16))
+ │ │ │ └── body: (length: 1)
+ │ │ │ └── @ OrNode (location: (50,6)-(50,16))
+ │ │ │ ├── left:
+ │ │ │ │ @ CallNode (location: (50,6)-(50,9))
+ │ │ │ │ ├── flags: variable_call
+ │ │ │ │ ├── receiver: ∅
+ │ │ │ │ ├── call_operator_loc: ∅
+ │ │ │ │ ├── name: :foo
+ │ │ │ │ ├── message_loc: (50,6)-(50,9) = "foo"
+ │ │ │ │ ├── opening_loc: ∅
+ │ │ │ │ ├── arguments: ∅
+ │ │ │ │ ├── closing_loc: ∅
+ │ │ │ │ └── block: ∅
+ │ │ │ ├── right:
+ │ │ │ │ @ CallNode (location: (50,13)-(50,16))
+ │ │ │ │ ├── flags: variable_call
+ │ │ │ │ ├── receiver: ∅
+ │ │ │ │ ├── call_operator_loc: ∅
+ │ │ │ │ ├── name: :bar
+ │ │ │ │ ├── message_loc: (50,13)-(50,16) = "bar"
+ │ │ │ │ ├── opening_loc: ∅
+ │ │ │ │ ├── arguments: ∅
+ │ │ │ │ ├── closing_loc: ∅
+ │ │ │ │ └── block: ∅
+ │ │ │ └── operator_loc: (50,10)-(50,12) = "||"
+ │ │ ├── opening_loc: (50,5)-(50,6) = "("
+ │ │ └── closing_loc: (50,16)-(50,17) = ")"
+ │ └── operator_loc: (50,4)-(50,5) = "&"
├── @ CallNode (location: (51,0)-(51,10))
+ │ ├── flags: ∅
│ ├── receiver: ∅
│ ├── call_operator_loc: ∅
│ ├── name: :foo
@@ -810,22 +811,22 @@
│ ├── opening_loc: (51,3)-(51,4) = "("
│ ├── arguments: ∅
│ ├── closing_loc: (51,10)-(51,11) = ")"
- │ ├── block:
- │ │ @ BlockArgumentNode (location: (51,4)-(51,10))
- │ │ ├── expression:
- │ │ │ @ CallNode (location: (51,5)-(51,10))
- │ │ │ ├── receiver: ∅
- │ │ │ ├── call_operator_loc: ∅
- │ │ │ ├── name: :block
- │ │ │ ├── message_loc: (51,5)-(51,10) = "block"
- │ │ │ ├── opening_loc: ∅
- │ │ │ ├── arguments: ∅
- │ │ │ ├── closing_loc: ∅
- │ │ │ ├── block: ∅
- │ │ │ └── flags: variable_call
- │ │ └── operator_loc: (51,4)-(51,5) = "&"
- │ └── flags: ∅
+ │ └── block:
+ │ @ BlockArgumentNode (location: (51,4)-(51,10))
+ │ ├── expression:
+ │ │ @ CallNode (location: (51,5)-(51,10))
+ │ │ ├── flags: variable_call
+ │ │ ├── receiver: ∅
+ │ │ ├── call_operator_loc: ∅
+ │ │ ├── name: :block
+ │ │ ├── message_loc: (51,5)-(51,10) = "block"
+ │ │ ├── opening_loc: ∅
+ │ │ ├── arguments: ∅
+ │ │ ├── closing_loc: ∅
+ │ │ └── block: ∅
+ │ └── operator_loc: (51,4)-(51,5) = "&"
├── @ CallNode (location: (52,0)-(52,17))
+ │ ├── flags: ∅
│ ├── receiver: ∅
│ ├── call_operator_loc: ∅
│ ├── name: :foo
@@ -833,38 +834,38 @@
│ ├── opening_loc: (52,3)-(52,4) = "("
│ ├── arguments:
│ │ @ ArgumentsNode (location: (52,4)-(52,9))
- │ │ ├── arguments: (length: 1)
- │ │ │ └── @ SplatNode (location: (52,4)-(52,9))
- │ │ │ ├── operator_loc: (52,4)-(52,5) = "*"
- │ │ │ └── expression:
- │ │ │ @ CallNode (location: (52,5)-(52,9))
- │ │ │ ├── receiver: ∅
- │ │ │ ├── call_operator_loc: ∅
- │ │ │ ├── name: :args
- │ │ │ ├── message_loc: (52,5)-(52,9) = "args"
- │ │ │ ├── opening_loc: ∅
- │ │ │ ├── arguments: ∅
- │ │ │ ├── closing_loc: ∅
- │ │ │ ├── block: ∅
- │ │ │ └── flags: variable_call
- │ │ └── flags: ∅
+ │ │ ├── flags: ∅
+ │ │ └── arguments: (length: 1)
+ │ │ └── @ SplatNode (location: (52,4)-(52,9))
+ │ │ ├── operator_loc: (52,4)-(52,5) = "*"
+ │ │ └── expression:
+ │ │ @ CallNode (location: (52,5)-(52,9))
+ │ │ ├── flags: variable_call
+ │ │ ├── receiver: ∅
+ │ │ ├── call_operator_loc: ∅
+ │ │ ├── name: :args
+ │ │ ├── message_loc: (52,5)-(52,9) = "args"
+ │ │ ├── opening_loc: ∅
+ │ │ ├── arguments: ∅
+ │ │ ├── closing_loc: ∅
+ │ │ └── block: ∅
│ ├── closing_loc: (52,17)-(52,18) = ")"
- │ ├── block:
- │ │ @ BlockArgumentNode (location: (52,11)-(52,17))
- │ │ ├── expression:
- │ │ │ @ CallNode (location: (52,12)-(52,17))
- │ │ │ ├── receiver: ∅
- │ │ │ ├── call_operator_loc: ∅
- │ │ │ ├── name: :block
- │ │ │ ├── message_loc: (52,12)-(52,17) = "block"
- │ │ │ ├── opening_loc: ∅
- │ │ │ ├── arguments: ∅
- │ │ │ ├── closing_loc: ∅
- │ │ │ ├── block: ∅
- │ │ │ └── flags: variable_call
- │ │ └── operator_loc: (52,11)-(52,12) = "&"
- │ └── flags: ∅
+ │ └── block:
+ │ @ BlockArgumentNode (location: (52,11)-(52,17))
+ │ ├── expression:
+ │ │ @ CallNode (location: (52,12)-(52,17))
+ │ │ ├── flags: variable_call
+ │ │ ├── receiver: ∅
+ │ │ ├── call_operator_loc: ∅
+ │ │ ├── name: :block
+ │ │ ├── message_loc: (52,12)-(52,17) = "block"
+ │ │ ├── opening_loc: ∅
+ │ │ ├── arguments: ∅
+ │ │ ├── closing_loc: ∅
+ │ │ └── block: ∅
+ │ └── operator_loc: (52,11)-(52,12) = "&"
├── @ CallNode (location: (53,0)-(53,15))
+ │ ├── flags: ∅
│ ├── receiver: ∅
│ ├── call_operator_loc: ∅
│ ├── name: :foo
@@ -872,25 +873,25 @@
│ ├── opening_loc: (53,3)-(53,4) = "("
│ ├── arguments:
│ │ @ ArgumentsNode (location: (53,4)-(53,14))
- │ │ ├── arguments: (length: 1)
- │ │ │ └── @ SplatNode (location: (53,4)-(53,14))
- │ │ │ ├── operator_loc: (53,4)-(53,5) = "*"
- │ │ │ └── expression:
- │ │ │ @ CallNode (location: (53,5)-(53,14))
- │ │ │ ├── receiver: ∅
- │ │ │ ├── call_operator_loc: ∅
- │ │ │ ├── name: :arguments
- │ │ │ ├── message_loc: (53,5)-(53,14) = "arguments"
- │ │ │ ├── opening_loc: ∅
- │ │ │ ├── arguments: ∅
- │ │ │ ├── closing_loc: ∅
- │ │ │ ├── block: ∅
- │ │ │ └── flags: variable_call
- │ │ └── flags: ∅
+ │ │ ├── flags: ∅
+ │ │ └── arguments: (length: 1)
+ │ │ └── @ SplatNode (location: (53,4)-(53,14))
+ │ │ ├── operator_loc: (53,4)-(53,5) = "*"
+ │ │ └── expression:
+ │ │ @ CallNode (location: (53,5)-(53,14))
+ │ │ ├── flags: variable_call
+ │ │ ├── receiver: ∅
+ │ │ ├── call_operator_loc: ∅
+ │ │ ├── name: :arguments
+ │ │ ├── message_loc: (53,5)-(53,14) = "arguments"
+ │ │ ├── opening_loc: ∅
+ │ │ ├── arguments: ∅
+ │ │ ├── closing_loc: ∅
+ │ │ └── block: ∅
│ ├── closing_loc: (53,14)-(53,15) = ")"
- │ ├── block: ∅
- │ └── flags: ∅
+ │ └── block: ∅
├── @ CallNode (location: (54,0)-(54,9))
+ │ ├── flags: ∅
│ ├── receiver: ∅
│ ├── call_operator_loc: ∅
│ ├── name: :foo
@@ -898,16 +899,16 @@
│ ├── opening_loc: (54,3)-(54,4) = "("
│ ├── arguments:
│ │ @ ArgumentsNode (location: (54,4)-(54,8))
- │ │ ├── arguments: (length: 2)
- │ │ │ ├── @ IntegerNode (location: (54,4)-(54,5))
- │ │ │ │ └── flags: decimal
- │ │ │ └── @ IntegerNode (location: (54,7)-(54,8))
- │ │ │ └── flags: decimal
- │ │ └── flags: ∅
+ │ │ ├── flags: ∅
+ │ │ └── arguments: (length: 2)
+ │ │ ├── @ IntegerNode (location: (54,4)-(54,5))
+ │ │ │ └── flags: decimal
+ │ │ └── @ IntegerNode (location: (54,7)-(54,8))
+ │ │ └── flags: decimal
│ ├── closing_loc: (54,8)-(54,9) = ")"
- │ ├── block: ∅
- │ └── flags: ∅
+ │ └── block: ∅
├── @ CallNode (location: (55,0)-(55,8))
+ │ ├── flags: ∅
│ ├── receiver: ∅
│ ├── call_operator_loc: ∅
│ ├── name: :foo
@@ -915,22 +916,22 @@
│ ├── opening_loc: (55,3)-(55,4) = "("
│ ├── arguments:
│ │ @ ArgumentsNode (location: (55,4)-(55,7))
- │ │ ├── arguments: (length: 1)
- │ │ │ └── @ CallNode (location: (55,4)-(55,7))
- │ │ │ ├── receiver: ∅
- │ │ │ ├── call_operator_loc: ∅
- │ │ │ ├── name: :bar
- │ │ │ ├── message_loc: (55,4)-(55,7) = "bar"
- │ │ │ ├── opening_loc: ∅
- │ │ │ ├── arguments: ∅
- │ │ │ ├── closing_loc: ∅
- │ │ │ ├── block: ∅
- │ │ │ └── flags: variable_call
- │ │ └── flags: ∅
+ │ │ ├── flags: ∅
+ │ │ └── arguments: (length: 1)
+ │ │ └── @ CallNode (location: (55,4)-(55,7))
+ │ │ ├── flags: variable_call
+ │ │ ├── receiver: ∅
+ │ │ ├── call_operator_loc: ∅
+ │ │ ├── name: :bar
+ │ │ ├── message_loc: (55,4)-(55,7) = "bar"
+ │ │ ├── opening_loc: ∅
+ │ │ ├── arguments: ∅
+ │ │ ├── closing_loc: ∅
+ │ │ └── block: ∅
│ ├── closing_loc: (55,7)-(55,8) = ")"
- │ ├── block: ∅
- │ └── flags: ∅
+ │ └── block: ∅
├── @ CallNode (location: (56,0)-(56,15))
+ │ ├── flags: ∅
│ ├── receiver: ∅
│ ├── call_operator_loc: ∅
│ ├── name: :foo
@@ -938,35 +939,35 @@
│ ├── opening_loc: (56,3)-(56,4) = "("
│ ├── arguments:
│ │ @ ArgumentsNode (location: (56,4)-(56,14))
- │ │ ├── arguments: (length: 2)
- │ │ │ ├── @ CallNode (location: (56,4)-(56,7))
- │ │ │ │ ├── receiver: ∅
- │ │ │ │ ├── call_operator_loc: ∅
- │ │ │ │ ├── name: :bar
- │ │ │ │ ├── message_loc: (56,4)-(56,7) = "bar"
- │ │ │ │ ├── opening_loc: ∅
- │ │ │ │ ├── arguments: ∅
- │ │ │ │ ├── closing_loc: ∅
- │ │ │ │ ├── block: ∅
- │ │ │ │ └── flags: variable_call
- │ │ │ └── @ SplatNode (location: (56,9)-(56,14))
- │ │ │ ├── operator_loc: (56,9)-(56,10) = "*"
- │ │ │ └── expression:
- │ │ │ @ CallNode (location: (56,10)-(56,14))
- │ │ │ ├── receiver: ∅
- │ │ │ ├── call_operator_loc: ∅
- │ │ │ ├── name: :args
- │ │ │ ├── message_loc: (56,10)-(56,14) = "args"
- │ │ │ ├── opening_loc: ∅
- │ │ │ ├── arguments: ∅
- │ │ │ ├── closing_loc: ∅
- │ │ │ ├── block: ∅
- │ │ │ └── flags: variable_call
- │ │ └── flags: ∅
+ │ │ ├── flags: ∅
+ │ │ └── arguments: (length: 2)
+ │ │ ├── @ CallNode (location: (56,4)-(56,7))
+ │ │ │ ├── flags: variable_call
+ │ │ │ ├── receiver: ∅
+ │ │ │ ├── call_operator_loc: ∅
+ │ │ │ ├── name: :bar
+ │ │ │ ├── message_loc: (56,4)-(56,7) = "bar"
+ │ │ │ ├── opening_loc: ∅
+ │ │ │ ├── arguments: ∅
+ │ │ │ ├── closing_loc: ∅
+ │ │ │ └── block: ∅
+ │ │ └── @ SplatNode (location: (56,9)-(56,14))
+ │ │ ├── operator_loc: (56,9)-(56,10) = "*"
+ │ │ └── expression:
+ │ │ @ CallNode (location: (56,10)-(56,14))
+ │ │ ├── flags: variable_call
+ │ │ ├── receiver: ∅
+ │ │ ├── call_operator_loc: ∅
+ │ │ ├── name: :args
+ │ │ ├── message_loc: (56,10)-(56,14) = "args"
+ │ │ ├── opening_loc: ∅
+ │ │ ├── arguments: ∅
+ │ │ ├── closing_loc: ∅
+ │ │ └── block: ∅
│ ├── closing_loc: (56,14)-(56,15) = ")"
- │ ├── block: ∅
- │ └── flags: ∅
+ │ └── block: ∅
├── @ CallNode (location: (57,0)-(57,17))
+ │ ├── flags: ∅
│ ├── receiver: ∅
│ ├── call_operator_loc: ∅
│ ├── name: :foo
@@ -974,43 +975,44 @@
│ ├── opening_loc: (57,3)-(57,4) = "("
│ ├── arguments:
│ │ @ ArgumentsNode (location: (57,4)-(57,16))
- │ │ ├── arguments: (length: 1)
- │ │ │ └── @ CallNode (location: (57,4)-(57,16))
- │ │ │ ├── receiver:
- │ │ │ │ @ CallNode (location: (57,4)-(57,7))
- │ │ │ │ ├── receiver: ∅
- │ │ │ │ ├── call_operator_loc: ∅
- │ │ │ │ ├── name: :foo
- │ │ │ │ ├── message_loc: (57,4)-(57,7) = "foo"
- │ │ │ │ ├── opening_loc: ∅
- │ │ │ │ ├── arguments: ∅
- │ │ │ │ ├── closing_loc: ∅
- │ │ │ │ ├── block: ∅
- │ │ │ │ └── flags: variable_call
- │ │ │ ├── call_operator_loc: ∅
- │ │ │ ├── name: :=~
- │ │ │ ├── message_loc: (57,8)-(57,10) = "=~"
- │ │ │ ├── opening_loc: ∅
- │ │ │ ├── arguments:
- │ │ │ │ @ ArgumentsNode (location: (57,11)-(57,16))
- │ │ │ │ ├── arguments: (length: 1)
- │ │ │ │ │ └── @ RegularExpressionNode (location: (57,11)-(57,16))
- │ │ │ │ │ ├── opening_loc: (57,11)-(57,12) = "/"
- │ │ │ │ │ ├── content_loc: (57,12)-(57,15) = "bar"
- │ │ │ │ │ ├── closing_loc: (57,15)-(57,16) = "/"
- │ │ │ │ │ ├── unescaped: "bar"
- │ │ │ │ │ └── flags: ∅
- │ │ │ │ └── flags: ∅
- │ │ │ ├── closing_loc: ∅
- │ │ │ ├── block: ∅
- │ │ │ └── flags: ∅
- │ │ └── flags: ∅
+ │ │ ├── flags: ∅
+ │ │ └── arguments: (length: 1)
+ │ │ └── @ CallNode (location: (57,4)-(57,16))
+ │ │ ├── flags: ∅
+ │ │ ├── receiver:
+ │ │ │ @ CallNode (location: (57,4)-(57,7))
+ │ │ │ ├── flags: variable_call
+ │ │ │ ├── receiver: ∅
+ │ │ │ ├── call_operator_loc: ∅
+ │ │ │ ├── name: :foo
+ │ │ │ ├── message_loc: (57,4)-(57,7) = "foo"
+ │ │ │ ├── opening_loc: ∅
+ │ │ │ ├── arguments: ∅
+ │ │ │ ├── closing_loc: ∅
+ │ │ │ └── block: ∅
+ │ │ ├── call_operator_loc: ∅
+ │ │ ├── name: :=~
+ │ │ ├── message_loc: (57,8)-(57,10) = "=~"
+ │ │ ├── opening_loc: ∅
+ │ │ ├── arguments:
+ │ │ │ @ ArgumentsNode (location: (57,11)-(57,16))
+ │ │ │ ├── flags: ∅
+ │ │ │ └── arguments: (length: 1)
+ │ │ │ └── @ RegularExpressionNode (location: (57,11)-(57,16))
+ │ │ │ ├── flags: ∅
+ │ │ │ ├── opening_loc: (57,11)-(57,12) = "/"
+ │ │ │ ├── content_loc: (57,12)-(57,15) = "bar"
+ │ │ │ ├── closing_loc: (57,15)-(57,16) = "/"
+ │ │ │ └── unescaped: "bar"
+ │ │ ├── closing_loc: ∅
+ │ │ └── block: ∅
│ ├── closing_loc: (57,16)-(57,17) = ")"
- │ ├── block: ∅
- │ └── flags: ∅
+ │ └── block: ∅
├── @ CallNode (location: (58,0)-(58,13))
+ │ ├── flags: ∅
│ ├── receiver:
│ │ @ CallNode (location: (58,0)-(58,3))
+ │ │ ├── flags: variable_call
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
│ │ ├── name: :foo
@@ -1018,32 +1020,32 @@
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
- │ │ ├── block: ∅
- │ │ └── flags: variable_call
+ │ │ └── block: ∅
│ ├── call_operator_loc: (58,3)-(58,4) = "."
│ ├── name: :bar
│ ├── message_loc: (58,4)-(58,7) = "bar"
│ ├── opening_loc: (58,7)-(58,8) = "("
│ ├── arguments: ∅
│ ├── closing_loc: (58,12)-(58,13) = ")"
- │ ├── block:
- │ │ @ BlockArgumentNode (location: (58,8)-(58,12))
- │ │ ├── expression:
- │ │ │ @ CallNode (location: (58,9)-(58,12))
- │ │ │ ├── receiver: ∅
- │ │ │ ├── call_operator_loc: ∅
- │ │ │ ├── name: :baz
- │ │ │ ├── message_loc: (58,9)-(58,12) = "baz"
- │ │ │ ├── opening_loc: ∅
- │ │ │ ├── arguments: ∅
- │ │ │ ├── closing_loc: ∅
- │ │ │ ├── block: ∅
- │ │ │ └── flags: variable_call
- │ │ └── operator_loc: (58,8)-(58,9) = "&"
- │ └── flags: ∅
+ │ └── block:
+ │ @ BlockArgumentNode (location: (58,8)-(58,12))
+ │ ├── expression:
+ │ │ @ CallNode (location: (58,9)-(58,12))
+ │ │ ├── flags: variable_call
+ │ │ ├── receiver: ∅
+ │ │ ├── call_operator_loc: ∅
+ │ │ ├── name: :baz
+ │ │ ├── message_loc: (58,9)-(58,12) = "baz"
+ │ │ ├── opening_loc: ∅
+ │ │ ├── arguments: ∅
+ │ │ ├── closing_loc: ∅
+ │ │ └── block: ∅
+ │ └── operator_loc: (58,8)-(58,9) = "&"
├── @ CallNode (location: (59,0)-(59,26))
+ │ ├── flags: ∅
│ ├── receiver:
│ │ @ CallNode (location: (59,0)-(59,3))
+ │ │ ├── flags: variable_call
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
│ │ ├── name: :foo
@@ -1051,58 +1053,58 @@
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
- │ │ ├── block: ∅
- │ │ └── flags: variable_call
+ │ │ └── block: ∅
│ ├── call_operator_loc: (59,3)-(59,4) = "."
│ ├── name: :bar
│ ├── message_loc: (59,4)-(59,7) = "bar"
│ ├── opening_loc: (59,7)-(59,8) = "("
│ ├── arguments:
│ │ @ ArgumentsNode (location: (59,8)-(59,25))
- │ │ ├── arguments: (length: 3)
- │ │ │ ├── @ SplatNode (location: (59,8)-(59,13))
- │ │ │ │ ├── operator_loc: (59,8)-(59,9) = "*"
- │ │ │ │ └── expression:
- │ │ │ │ @ CallNode (location: (59,9)-(59,13))
- │ │ │ │ ├── receiver: ∅
- │ │ │ │ ├── call_operator_loc: ∅
- │ │ │ │ ├── name: :arga
- │ │ │ │ ├── message_loc: (59,9)-(59,13) = "arga"
- │ │ │ │ ├── opening_loc: ∅
- │ │ │ │ ├── arguments: ∅
- │ │ │ │ ├── closing_loc: ∅
- │ │ │ │ ├── block: ∅
- │ │ │ │ └── flags: variable_call
- │ │ │ ├── @ CallNode (location: (59,15)-(59,18))
- │ │ │ │ ├── receiver: ∅
- │ │ │ │ ├── call_operator_loc: ∅
- │ │ │ │ ├── name: :foo
- │ │ │ │ ├── message_loc: (59,15)-(59,18) = "foo"
- │ │ │ │ ├── opening_loc: ∅
- │ │ │ │ ├── arguments: ∅
- │ │ │ │ ├── closing_loc: ∅
- │ │ │ │ ├── block: ∅
- │ │ │ │ └── flags: variable_call
- │ │ │ └── @ SplatNode (location: (59,20)-(59,25))
- │ │ │ ├── operator_loc: (59,20)-(59,21) = "*"
- │ │ │ └── expression:
- │ │ │ @ CallNode (location: (59,21)-(59,25))
- │ │ │ ├── receiver: ∅
- │ │ │ ├── call_operator_loc: ∅
- │ │ │ ├── name: :argb
- │ │ │ ├── message_loc: (59,21)-(59,25) = "argb"
- │ │ │ ├── opening_loc: ∅
- │ │ │ ├── arguments: ∅
- │ │ │ ├── closing_loc: ∅
- │ │ │ ├── block: ∅
- │ │ │ └── flags: variable_call
- │ │ └── flags: ∅
+ │ │ ├── flags: ∅
+ │ │ └── arguments: (length: 3)
+ │ │ ├── @ SplatNode (location: (59,8)-(59,13))
+ │ │ │ ├── operator_loc: (59,8)-(59,9) = "*"
+ │ │ │ └── expression:
+ │ │ │ @ CallNode (location: (59,9)-(59,13))
+ │ │ │ ├── flags: variable_call
+ │ │ │ ├── receiver: ∅
+ │ │ │ ├── call_operator_loc: ∅
+ │ │ │ ├── name: :arga
+ │ │ │ ├── message_loc: (59,9)-(59,13) = "arga"
+ │ │ │ ├── opening_loc: ∅
+ │ │ │ ├── arguments: ∅
+ │ │ │ ├── closing_loc: ∅
+ │ │ │ └── block: ∅
+ │ │ ├── @ CallNode (location: (59,15)-(59,18))
+ │ │ │ ├── flags: variable_call
+ │ │ │ ├── receiver: ∅
+ │ │ │ ├── call_operator_loc: ∅
+ │ │ │ ├── name: :foo
+ │ │ │ ├── message_loc: (59,15)-(59,18) = "foo"
+ │ │ │ ├── opening_loc: ∅
+ │ │ │ ├── arguments: ∅
+ │ │ │ ├── closing_loc: ∅
+ │ │ │ └── block: ∅
+ │ │ └── @ SplatNode (location: (59,20)-(59,25))
+ │ │ ├── operator_loc: (59,20)-(59,21) = "*"
+ │ │ └── expression:
+ │ │ @ CallNode (location: (59,21)-(59,25))
+ │ │ ├── flags: variable_call
+ │ │ ├── receiver: ∅
+ │ │ ├── call_operator_loc: ∅
+ │ │ ├── name: :argb
+ │ │ ├── message_loc: (59,21)-(59,25) = "argb"
+ │ │ ├── opening_loc: ∅
+ │ │ ├── arguments: ∅
+ │ │ ├── closing_loc: ∅
+ │ │ └── block: ∅
│ ├── closing_loc: (59,25)-(59,26) = ")"
- │ ├── block: ∅
- │ └── flags: ∅
+ │ └── block: ∅
├── @ CallNode (location: (60,0)-(60,14))
+ │ ├── flags: ∅
│ ├── receiver:
│ │ @ CallNode (location: (60,0)-(60,3))
+ │ │ ├── flags: variable_call
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
│ │ ├── name: :foo
@@ -1110,35 +1112,35 @@
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
- │ │ ├── block: ∅
- │ │ └── flags: variable_call
+ │ │ └── block: ∅
│ ├── call_operator_loc: (60,3)-(60,4) = "."
│ ├── name: :bar
│ ├── message_loc: (60,4)-(60,7) = "bar"
│ ├── opening_loc: (60,7)-(60,8) = "("
│ ├── arguments:
│ │ @ ArgumentsNode (location: (60,8)-(60,13))
- │ │ ├── arguments: (length: 1)
- │ │ │ └── @ SplatNode (location: (60,8)-(60,13))
- │ │ │ ├── operator_loc: (60,8)-(60,9) = "*"
- │ │ │ └── expression:
- │ │ │ @ CallNode (location: (60,9)-(60,13))
- │ │ │ ├── receiver: ∅
- │ │ │ ├── call_operator_loc: ∅
- │ │ │ ├── name: :args
- │ │ │ ├── message_loc: (60,9)-(60,13) = "args"
- │ │ │ ├── opening_loc: ∅
- │ │ │ ├── arguments: ∅
- │ │ │ ├── closing_loc: ∅
- │ │ │ ├── block: ∅
- │ │ │ └── flags: variable_call
- │ │ └── flags: ∅
+ │ │ ├── flags: ∅
+ │ │ └── arguments: (length: 1)
+ │ │ └── @ SplatNode (location: (60,8)-(60,13))
+ │ │ ├── operator_loc: (60,8)-(60,9) = "*"
+ │ │ └── expression:
+ │ │ @ CallNode (location: (60,9)-(60,13))
+ │ │ ├── flags: variable_call
+ │ │ ├── receiver: ∅
+ │ │ ├── call_operator_loc: ∅
+ │ │ ├── name: :args
+ │ │ ├── message_loc: (60,9)-(60,13) = "args"
+ │ │ ├── opening_loc: ∅
+ │ │ ├── arguments: ∅
+ │ │ ├── closing_loc: ∅
+ │ │ └── block: ∅
│ ├── closing_loc: (60,13)-(60,14) = ")"
- │ ├── block: ∅
- │ └── flags: ∅
+ │ └── block: ∅
├── @ CallNode (location: (61,0)-(61,19))
+ │ ├── flags: ∅
│ ├── receiver:
│ │ @ CallNode (location: (61,0)-(61,3))
+ │ │ ├── flags: variable_call
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
│ │ ├── name: :foo
@@ -1146,45 +1148,45 @@
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
- │ │ ├── block: ∅
- │ │ └── flags: variable_call
+ │ │ └── block: ∅
│ ├── call_operator_loc: (61,3)-(61,4) = "."
│ ├── name: :bar
│ ├── message_loc: (61,4)-(61,7) = "bar"
│ ├── opening_loc: (61,7)-(61,8) = "("
│ ├── arguments:
│ │ @ ArgumentsNode (location: (61,8)-(61,18))
- │ │ ├── arguments: (length: 2)
- │ │ │ ├── @ SplatNode (location: (61,8)-(61,13))
- │ │ │ │ ├── operator_loc: (61,8)-(61,9) = "*"
- │ │ │ │ └── expression:
- │ │ │ │ @ CallNode (location: (61,9)-(61,13))
- │ │ │ │ ├── receiver: ∅
- │ │ │ │ ├── call_operator_loc: ∅
- │ │ │ │ ├── name: :args
- │ │ │ │ ├── message_loc: (61,9)-(61,13) = "args"
- │ │ │ │ ├── opening_loc: ∅
- │ │ │ │ ├── arguments: ∅
- │ │ │ │ ├── closing_loc: ∅
- │ │ │ │ ├── block: ∅
- │ │ │ │ └── flags: variable_call
- │ │ │ └── @ CallNode (location: (61,15)-(61,18))
- │ │ │ ├── receiver: ∅
- │ │ │ ├── call_operator_loc: ∅
- │ │ │ ├── name: :foo
- │ │ │ ├── message_loc: (61,15)-(61,18) = "foo"
- │ │ │ ├── opening_loc: ∅
- │ │ │ ├── arguments: ∅
- │ │ │ ├── closing_loc: ∅
- │ │ │ ├── block: ∅
- │ │ │ └── flags: variable_call
- │ │ └── flags: ∅
+ │ │ ├── flags: ∅
+ │ │ └── arguments: (length: 2)
+ │ │ ├── @ SplatNode (location: (61,8)-(61,13))
+ │ │ │ ├── operator_loc: (61,8)-(61,9) = "*"
+ │ │ │ └── expression:
+ │ │ │ @ CallNode (location: (61,9)-(61,13))
+ │ │ │ ├── flags: variable_call
+ │ │ │ ├── receiver: ∅
+ │ │ │ ├── call_operator_loc: ∅
+ │ │ │ ├── name: :args
+ │ │ │ ├── message_loc: (61,9)-(61,13) = "args"
+ │ │ │ ├── opening_loc: ∅
+ │ │ │ ├── arguments: ∅
+ │ │ │ ├── closing_loc: ∅
+ │ │ │ └── block: ∅
+ │ │ └── @ CallNode (location: (61,15)-(61,18))
+ │ │ ├── flags: variable_call
+ │ │ ├── receiver: ∅
+ │ │ ├── call_operator_loc: ∅
+ │ │ ├── name: :foo
+ │ │ ├── message_loc: (61,15)-(61,18) = "foo"
+ │ │ ├── opening_loc: ∅
+ │ │ ├── arguments: ∅
+ │ │ ├── closing_loc: ∅
+ │ │ └── block: ∅
│ ├── closing_loc: (61,18)-(61,19) = ")"
- │ ├── block: ∅
- │ └── flags: ∅
+ │ └── block: ∅
├── @ CallNode (location: (62,0)-(62,19))
+ │ ├── flags: ∅
│ ├── receiver:
│ │ @ CallNode (location: (62,0)-(62,3))
+ │ │ ├── flags: variable_call
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
│ │ ├── name: :foo
@@ -1192,40 +1194,40 @@
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
- │ │ ├── block: ∅
- │ │ └── flags: variable_call
+ │ │ └── block: ∅
│ ├── call_operator_loc: (62,3)-(62,4) = "."
│ ├── name: :bar
│ ├── message_loc: (62,4)-(62,7) = "bar"
│ ├── opening_loc: (62,7)-(62,8) = "("
│ ├── arguments:
│ │ @ ArgumentsNode (location: (62,8)-(62,12))
- │ │ ├── arguments: (length: 1)
- │ │ │ └── @ SymbolNode (location: (62,8)-(62,12))
- │ │ │ ├── opening_loc: (62,8)-(62,9) = ":"
- │ │ │ ├── value_loc: (62,9)-(62,12) = "baz"
- │ │ │ ├── closing_loc: ∅
- │ │ │ └── unescaped: "baz"
- │ │ └── flags: ∅
+ │ │ ├── flags: ∅
+ │ │ └── arguments: (length: 1)
+ │ │ └── @ SymbolNode (location: (62,8)-(62,12))
+ │ │ ├── opening_loc: (62,8)-(62,9) = ":"
+ │ │ ├── value_loc: (62,9)-(62,12) = "baz"
+ │ │ ├── closing_loc: ∅
+ │ │ └── unescaped: "baz"
│ ├── closing_loc: (62,18)-(62,19) = ")"
- │ ├── block:
- │ │ @ BlockArgumentNode (location: (62,14)-(62,18))
- │ │ ├── expression:
- │ │ │ @ CallNode (location: (62,15)-(62,18))
- │ │ │ ├── receiver: ∅
- │ │ │ ├── call_operator_loc: ∅
- │ │ │ ├── name: :baz
- │ │ │ ├── message_loc: (62,15)-(62,18) = "baz"
- │ │ │ ├── opening_loc: ∅
- │ │ │ ├── arguments: ∅
- │ │ │ ├── closing_loc: ∅
- │ │ │ ├── block: ∅
- │ │ │ └── flags: variable_call
- │ │ └── operator_loc: (62,14)-(62,15) = "&"
- │ └── flags: ∅
+ │ └── block:
+ │ @ BlockArgumentNode (location: (62,14)-(62,18))
+ │ ├── expression:
+ │ │ @ CallNode (location: (62,15)-(62,18))
+ │ │ ├── flags: variable_call
+ │ │ ├── receiver: ∅
+ │ │ ├── call_operator_loc: ∅
+ │ │ ├── name: :baz
+ │ │ ├── message_loc: (62,15)-(62,18) = "baz"
+ │ │ ├── opening_loc: ∅
+ │ │ ├── arguments: ∅
+ │ │ ├── closing_loc: ∅
+ │ │ └── block: ∅
+ │ └── operator_loc: (62,14)-(62,15) = "&"
├── @ CallNode (location: (63,0)-(63,17))
+ │ ├── flags: ∅
│ ├── receiver:
│ │ @ CallNode (location: (63,0)-(63,3))
+ │ │ ├── flags: variable_call
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
│ │ ├── name: :foo
@@ -1233,43 +1235,43 @@
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
- │ │ ├── block: ∅
- │ │ └── flags: variable_call
+ │ │ └── block: ∅
│ ├── call_operator_loc: (63,3)-(63,4) = "."
│ ├── name: :bar
│ ├── message_loc: (63,4)-(63,7) = "bar"
│ ├── opening_loc: (63,7)-(63,8) = "("
│ ├── arguments:
│ │ @ ArgumentsNode (location: (63,8)-(63,16))
- │ │ ├── arguments: (length: 1)
- │ │ │ └── @ KeywordHashNode (location: (63,8)-(63,16))
- │ │ │ └── elements: (length: 1)
- │ │ │ └── @ AssocNode (location: (63,8)-(63,16))
- │ │ │ ├── key:
- │ │ │ │ @ SymbolNode (location: (63,8)-(63,12))
- │ │ │ │ ├── opening_loc: ∅
- │ │ │ │ ├── value_loc: (63,8)-(63,11) = "baz"
- │ │ │ │ ├── closing_loc: (63,11)-(63,12) = ":"
- │ │ │ │ └── unescaped: "baz"
- │ │ │ ├── value:
- │ │ │ │ @ CallNode (location: (63,13)-(63,16))
- │ │ │ │ ├── receiver: ∅
- │ │ │ │ ├── call_operator_loc: ∅
- │ │ │ │ ├── name: :boz
- │ │ │ │ ├── message_loc: (63,13)-(63,16) = "boz"
- │ │ │ │ ├── opening_loc: ∅
- │ │ │ │ ├── arguments: ∅
- │ │ │ │ ├── closing_loc: ∅
- │ │ │ │ ├── block: ∅
- │ │ │ │ └── flags: variable_call
- │ │ │ └── operator_loc: ∅
- │ │ └── flags: ∅
+ │ │ ├── flags: ∅
+ │ │ └── arguments: (length: 1)
+ │ │ └── @ KeywordHashNode (location: (63,8)-(63,16))
+ │ │ └── elements: (length: 1)
+ │ │ └── @ AssocNode (location: (63,8)-(63,16))
+ │ │ ├── key:
+ │ │ │ @ SymbolNode (location: (63,8)-(63,12))
+ │ │ │ ├── opening_loc: ∅
+ │ │ │ ├── value_loc: (63,8)-(63,11) = "baz"
+ │ │ │ ├── closing_loc: (63,11)-(63,12) = ":"
+ │ │ │ └── unescaped: "baz"
+ │ │ ├── value:
+ │ │ │ @ CallNode (location: (63,13)-(63,16))
+ │ │ │ ├── flags: variable_call
+ │ │ │ ├── receiver: ∅
+ │ │ │ ├── call_operator_loc: ∅
+ │ │ │ ├── name: :boz
+ │ │ │ ├── message_loc: (63,13)-(63,16) = "boz"
+ │ │ │ ├── opening_loc: ∅
+ │ │ │ ├── arguments: ∅
+ │ │ │ ├── closing_loc: ∅
+ │ │ │ └── block: ∅
+ │ │ └── operator_loc: ∅
│ ├── closing_loc: (63,16)-(63,17) = ")"
- │ ├── block: ∅
- │ └── flags: ∅
+ │ └── block: ∅
├── @ CallNode (location: (64,0)-(64,26))
+ │ ├── flags: ∅
│ ├── receiver:
│ │ @ CallNode (location: (64,0)-(64,3))
+ │ │ ├── flags: variable_call
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
│ │ ├── name: :foo
@@ -1277,54 +1279,54 @@
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
- │ │ ├── block: ∅
- │ │ └── flags: variable_call
+ │ │ └── block: ∅
│ ├── call_operator_loc: (64,3)-(64,4) = "."
│ ├── name: :bar
│ ├── message_loc: (64,4)-(64,7) = "bar"
│ ├── opening_loc: (64,7)-(64,8) = "("
│ ├── arguments:
│ │ @ ArgumentsNode (location: (64,8)-(64,25))
- │ │ ├── arguments: (length: 2)
- │ │ │ ├── @ CallNode (location: (64,8)-(64,11))
- │ │ │ │ ├── receiver: ∅
- │ │ │ │ ├── call_operator_loc: ∅
- │ │ │ │ ├── name: :foo
- │ │ │ │ ├── message_loc: (64,8)-(64,11) = "foo"
- │ │ │ │ ├── opening_loc: ∅
- │ │ │ │ ├── arguments: ∅
- │ │ │ │ ├── closing_loc: ∅
- │ │ │ │ ├── block: ∅
- │ │ │ │ └── flags: variable_call
- │ │ │ └── @ KeywordHashNode (location: (64,13)-(64,25))
- │ │ │ └── elements: (length: 1)
- │ │ │ └── @ AssocNode (location: (64,13)-(64,25))
- │ │ │ ├── key:
- │ │ │ │ @ StringNode (location: (64,13)-(64,18))
- │ │ │ │ ├── flags: ∅
- │ │ │ │ ├── opening_loc: (64,13)-(64,14) = "\""
- │ │ │ │ ├── content_loc: (64,14)-(64,17) = "baz"
- │ │ │ │ ├── closing_loc: (64,17)-(64,18) = "\""
- │ │ │ │ └── unescaped: "baz"
- │ │ │ ├── value:
- │ │ │ │ @ CallNode (location: (64,22)-(64,25))
- │ │ │ │ ├── receiver: ∅
- │ │ │ │ ├── call_operator_loc: ∅
- │ │ │ │ ├── name: :boz
- │ │ │ │ ├── message_loc: (64,22)-(64,25) = "boz"
- │ │ │ │ ├── opening_loc: ∅
- │ │ │ │ ├── arguments: ∅
- │ │ │ │ ├── closing_loc: ∅
- │ │ │ │ ├── block: ∅
- │ │ │ │ └── flags: variable_call
- │ │ │ └── operator_loc: (64,19)-(64,21) = "=>"
- │ │ └── flags: ∅
+ │ │ ├── flags: ∅
+ │ │ └── arguments: (length: 2)
+ │ │ ├── @ CallNode (location: (64,8)-(64,11))
+ │ │ │ ├── flags: variable_call
+ │ │ │ ├── receiver: ∅
+ │ │ │ ├── call_operator_loc: ∅
+ │ │ │ ├── name: :foo
+ │ │ │ ├── message_loc: (64,8)-(64,11) = "foo"
+ │ │ │ ├── opening_loc: ∅
+ │ │ │ ├── arguments: ∅
+ │ │ │ ├── closing_loc: ∅
+ │ │ │ └── block: ∅
+ │ │ └── @ KeywordHashNode (location: (64,13)-(64,25))
+ │ │ └── elements: (length: 1)
+ │ │ └── @ AssocNode (location: (64,13)-(64,25))
+ │ │ ├── key:
+ │ │ │ @ StringNode (location: (64,13)-(64,18))
+ │ │ │ ├── flags: ∅
+ │ │ │ ├── opening_loc: (64,13)-(64,14) = "\""
+ │ │ │ ├── content_loc: (64,14)-(64,17) = "baz"
+ │ │ │ ├── closing_loc: (64,17)-(64,18) = "\""
+ │ │ │ └── unescaped: "baz"
+ │ │ ├── value:
+ │ │ │ @ CallNode (location: (64,22)-(64,25))
+ │ │ │ ├── flags: variable_call
+ │ │ │ ├── receiver: ∅
+ │ │ │ ├── call_operator_loc: ∅
+ │ │ │ ├── name: :boz
+ │ │ │ ├── message_loc: (64,22)-(64,25) = "boz"
+ │ │ │ ├── opening_loc: ∅
+ │ │ │ ├── arguments: ∅
+ │ │ │ ├── closing_loc: ∅
+ │ │ │ └── block: ∅
+ │ │ └── operator_loc: (64,19)-(64,21) = "=>"
│ ├── closing_loc: (64,25)-(64,26) = ")"
- │ ├── block: ∅
- │ └── flags: ∅
+ │ └── block: ∅
├── @ CallNode (location: (65,0)-(65,19))
+ │ ├── flags: ∅
│ ├── receiver:
│ │ @ CallNode (location: (65,0)-(65,3))
+ │ │ ├── flags: variable_call
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
│ │ ├── name: :foo
@@ -1332,45 +1334,45 @@
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
- │ │ ├── block: ∅
- │ │ └── flags: variable_call
+ │ │ └── block: ∅
│ ├── call_operator_loc: (65,3)-(65,4) = "."
│ ├── name: :bar
│ ├── message_loc: (65,4)-(65,7) = "bar"
│ ├── opening_loc: (65,7)-(65,8) = "("
│ ├── arguments:
│ │ @ ArgumentsNode (location: (65,8)-(65,18))
- │ │ ├── arguments: (length: 2)
- │ │ │ ├── @ CallNode (location: (65,8)-(65,11))
- │ │ │ │ ├── receiver: ∅
- │ │ │ │ ├── call_operator_loc: ∅
- │ │ │ │ ├── name: :foo
- │ │ │ │ ├── message_loc: (65,8)-(65,11) = "foo"
- │ │ │ │ ├── opening_loc: ∅
- │ │ │ │ ├── arguments: ∅
- │ │ │ │ ├── closing_loc: ∅
- │ │ │ │ ├── block: ∅
- │ │ │ │ └── flags: variable_call
- │ │ │ └── @ SplatNode (location: (65,13)-(65,18))
- │ │ │ ├── operator_loc: (65,13)-(65,14) = "*"
- │ │ │ └── expression:
- │ │ │ @ CallNode (location: (65,14)-(65,18))
- │ │ │ ├── receiver: ∅
- │ │ │ ├── call_operator_loc: ∅
- │ │ │ ├── name: :args
- │ │ │ ├── message_loc: (65,14)-(65,18) = "args"
- │ │ │ ├── opening_loc: ∅
- │ │ │ ├── arguments: ∅
- │ │ │ ├── closing_loc: ∅
- │ │ │ ├── block: ∅
- │ │ │ └── flags: variable_call
- │ │ └── flags: ∅
+ │ │ ├── flags: ∅
+ │ │ └── arguments: (length: 2)
+ │ │ ├── @ CallNode (location: (65,8)-(65,11))
+ │ │ │ ├── flags: variable_call
+ │ │ │ ├── receiver: ∅
+ │ │ │ ├── call_operator_loc: ∅
+ │ │ │ ├── name: :foo
+ │ │ │ ├── message_loc: (65,8)-(65,11) = "foo"
+ │ │ │ ├── opening_loc: ∅
+ │ │ │ ├── arguments: ∅
+ │ │ │ ├── closing_loc: ∅
+ │ │ │ └── block: ∅
+ │ │ └── @ SplatNode (location: (65,13)-(65,18))
+ │ │ ├── operator_loc: (65,13)-(65,14) = "*"
+ │ │ └── expression:
+ │ │ @ CallNode (location: (65,14)-(65,18))
+ │ │ ├── flags: variable_call
+ │ │ ├── receiver: ∅
+ │ │ ├── call_operator_loc: ∅
+ │ │ ├── name: :args
+ │ │ ├── message_loc: (65,14)-(65,18) = "args"
+ │ │ ├── opening_loc: ∅
+ │ │ ├── arguments: ∅
+ │ │ ├── closing_loc: ∅
+ │ │ └── block: ∅
│ ├── closing_loc: (65,18)-(65,19) = ")"
- │ ├── block: ∅
- │ └── flags: ∅
+ │ └── block: ∅
├── @ CallNode (location: (66,0)-(66,27))
+ │ ├── flags: ∅
│ ├── receiver:
│ │ @ CallNode (location: (66,0)-(66,3))
+ │ │ ├── flags: variable_call
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
│ │ ├── name: :foo
@@ -1378,58 +1380,58 @@
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
- │ │ ├── block: ∅
- │ │ └── flags: variable_call
+ │ │ └── block: ∅
│ ├── call_operator_loc: (66,3)-(66,4) = "."
│ ├── name: :bar
│ ├── message_loc: (66,4)-(66,7) = "bar"
│ ├── opening_loc: (66,7)-(66,8) = "("
│ ├── arguments:
│ │ @ ArgumentsNode (location: (66,8)-(66,18))
- │ │ ├── arguments: (length: 2)
- │ │ │ ├── @ CallNode (location: (66,8)-(66,11))
- │ │ │ │ ├── receiver: ∅
- │ │ │ │ ├── call_operator_loc: ∅
- │ │ │ │ ├── name: :foo
- │ │ │ │ ├── message_loc: (66,8)-(66,11) = "foo"
- │ │ │ │ ├── opening_loc: ∅
- │ │ │ │ ├── arguments: ∅
- │ │ │ │ ├── closing_loc: ∅
- │ │ │ │ ├── block: ∅
- │ │ │ │ └── flags: variable_call
- │ │ │ └── @ SplatNode (location: (66,13)-(66,18))
- │ │ │ ├── operator_loc: (66,13)-(66,14) = "*"
- │ │ │ └── expression:
- │ │ │ @ CallNode (location: (66,14)-(66,18))
- │ │ │ ├── receiver: ∅
- │ │ │ ├── call_operator_loc: ∅
- │ │ │ ├── name: :args
- │ │ │ ├── message_loc: (66,14)-(66,18) = "args"
- │ │ │ ├── opening_loc: ∅
- │ │ │ ├── arguments: ∅
- │ │ │ ├── closing_loc: ∅
- │ │ │ ├── block: ∅
- │ │ │ └── flags: variable_call
- │ │ └── flags: ∅
+ │ │ ├── flags: ∅
+ │ │ └── arguments: (length: 2)
+ │ │ ├── @ CallNode (location: (66,8)-(66,11))
+ │ │ │ ├── flags: variable_call
+ │ │ │ ├── receiver: ∅
+ │ │ │ ├── call_operator_loc: ∅
+ │ │ │ ├── name: :foo
+ │ │ │ ├── message_loc: (66,8)-(66,11) = "foo"
+ │ │ │ ├── opening_loc: ∅
+ │ │ │ ├── arguments: ∅
+ │ │ │ ├── closing_loc: ∅
+ │ │ │ └── block: ∅
+ │ │ └── @ SplatNode (location: (66,13)-(66,18))
+ │ │ ├── operator_loc: (66,13)-(66,14) = "*"
+ │ │ └── expression:
+ │ │ @ CallNode (location: (66,14)-(66,18))
+ │ │ ├── flags: variable_call
+ │ │ ├── receiver: ∅
+ │ │ ├── call_operator_loc: ∅
+ │ │ ├── name: :args
+ │ │ ├── message_loc: (66,14)-(66,18) = "args"
+ │ │ ├── opening_loc: ∅
+ │ │ ├── arguments: ∅
+ │ │ ├── closing_loc: ∅
+ │ │ └── block: ∅
│ ├── closing_loc: (66,26)-(66,27) = ")"
- │ ├── block:
- │ │ @ BlockArgumentNode (location: (66,20)-(66,26))
- │ │ ├── expression:
- │ │ │ @ CallNode (location: (66,21)-(66,26))
- │ │ │ ├── receiver: ∅
- │ │ │ ├── call_operator_loc: ∅
- │ │ │ ├── name: :block
- │ │ │ ├── message_loc: (66,21)-(66,26) = "block"
- │ │ │ ├── opening_loc: ∅
- │ │ │ ├── arguments: ∅
- │ │ │ ├── closing_loc: ∅
- │ │ │ ├── block: ∅
- │ │ │ └── flags: variable_call
- │ │ └── operator_loc: (66,20)-(66,21) = "&"
- │ └── flags: ∅
+ │ └── block:
+ │ @ BlockArgumentNode (location: (66,20)-(66,26))
+ │ ├── expression:
+ │ │ @ CallNode (location: (66,21)-(66,26))
+ │ │ ├── flags: variable_call
+ │ │ ├── receiver: ∅
+ │ │ ├── call_operator_loc: ∅
+ │ │ ├── name: :block
+ │ │ ├── message_loc: (66,21)-(66,26) = "block"
+ │ │ ├── opening_loc: ∅
+ │ │ ├── arguments: ∅
+ │ │ ├── closing_loc: ∅
+ │ │ └── block: ∅
+ │ └── operator_loc: (66,20)-(66,21) = "&"
├── @ CallNode (location: (67,0)-(67,16))
+ │ ├── flags: ∅
│ ├── receiver:
│ │ @ CallNode (location: (67,0)-(67,3))
+ │ │ ├── flags: variable_call
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
│ │ ├── name: :foo
@@ -1437,36 +1439,36 @@
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
- │ │ ├── block: ∅
- │ │ └── flags: variable_call
+ │ │ └── block: ∅
│ ├── call_operator_loc: (67,3)-(67,4) = "."
│ ├── name: :bar
│ ├── message_loc: (67,4)-(67,7) = "bar"
│ ├── opening_loc: (67,7)-(67,8) = "("
│ ├── arguments:
│ │ @ ArgumentsNode (location: (67,8)-(67,15))
- │ │ ├── arguments: (length: 2)
- │ │ │ ├── @ CallNode (location: (67,8)-(67,11))
- │ │ │ │ ├── receiver: ∅
- │ │ │ │ ├── call_operator_loc: ∅
- │ │ │ │ ├── name: :foo
- │ │ │ │ ├── message_loc: (67,8)-(67,11) = "foo"
- │ │ │ │ ├── opening_loc: ∅
- │ │ │ │ ├── arguments: ∅
- │ │ │ │ ├── closing_loc: ∅
- │ │ │ │ ├── block: ∅
- │ │ │ │ └── flags: variable_call
- │ │ │ └── @ HashNode (location: (67,13)-(67,15))
- │ │ │ ├── opening_loc: (67,13)-(67,14) = "{"
- │ │ │ ├── elements: (length: 0)
- │ │ │ └── closing_loc: (67,14)-(67,15) = "}"
- │ │ └── flags: ∅
+ │ │ ├── flags: ∅
+ │ │ └── arguments: (length: 2)
+ │ │ ├── @ CallNode (location: (67,8)-(67,11))
+ │ │ │ ├── flags: variable_call
+ │ │ │ ├── receiver: ∅
+ │ │ │ ├── call_operator_loc: ∅
+ │ │ │ ├── name: :foo
+ │ │ │ ├── message_loc: (67,8)-(67,11) = "foo"
+ │ │ │ ├── opening_loc: ∅
+ │ │ │ ├── arguments: ∅
+ │ │ │ ├── closing_loc: ∅
+ │ │ │ └── block: ∅
+ │ │ └── @ HashNode (location: (67,13)-(67,15))
+ │ │ ├── opening_loc: (67,13)-(67,14) = "{"
+ │ │ ├── elements: (length: 0)
+ │ │ └── closing_loc: (67,14)-(67,15) = "}"
│ ├── closing_loc: (67,15)-(67,16) = ")"
- │ ├── block: ∅
- │ └── flags: ∅
+ │ └── block: ∅
├── @ CallNode (location: (68,0)-(68,26))
+ │ ├── flags: ∅
│ ├── receiver:
│ │ @ CallNode (location: (68,0)-(68,3))
+ │ │ ├── flags: variable_call
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
│ │ ├── name: :foo
@@ -1474,55 +1476,55 @@
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
- │ │ ├── block: ∅
- │ │ └── flags: variable_call
+ │ │ └── block: ∅
│ ├── call_operator_loc: (68,3)-(68,4) = "."
│ ├── name: :bar
│ ├── message_loc: (68,4)-(68,7) = "bar"
│ ├── opening_loc: (68,7)-(68,8) = "("
│ ├── arguments:
│ │ @ ArgumentsNode (location: (68,8)-(68,25))
- │ │ ├── arguments: (length: 2)
- │ │ │ ├── @ HashNode (location: (68,8)-(68,20))
- │ │ │ │ ├── opening_loc: (68,8)-(68,9) = "{"
- │ │ │ │ ├── elements: (length: 1)
- │ │ │ │ │ └── @ AssocNode (location: (68,10)-(68,18))
- │ │ │ │ │ ├── key:
- │ │ │ │ │ │ @ SymbolNode (location: (68,10)-(68,14))
- │ │ │ │ │ │ ├── opening_loc: ∅
- │ │ │ │ │ │ ├── value_loc: (68,10)-(68,13) = "foo"
- │ │ │ │ │ │ ├── closing_loc: (68,13)-(68,14) = ":"
- │ │ │ │ │ │ └── unescaped: "foo"
- │ │ │ │ │ ├── value:
- │ │ │ │ │ │ @ CallNode (location: (68,15)-(68,18))
- │ │ │ │ │ │ ├── receiver: ∅
- │ │ │ │ │ │ ├── call_operator_loc: ∅
- │ │ │ │ │ │ ├── name: :boz
- │ │ │ │ │ │ ├── message_loc: (68,15)-(68,18) = "boz"
- │ │ │ │ │ │ ├── opening_loc: ∅
- │ │ │ │ │ │ ├── arguments: ∅
- │ │ │ │ │ │ ├── closing_loc: ∅
- │ │ │ │ │ │ ├── block: ∅
- │ │ │ │ │ │ └── flags: variable_call
- │ │ │ │ │ └── operator_loc: ∅
- │ │ │ │ └── closing_loc: (68,19)-(68,20) = "}"
- │ │ │ └── @ CallNode (location: (68,22)-(68,25))
- │ │ │ ├── receiver: ∅
- │ │ │ ├── call_operator_loc: ∅
- │ │ │ ├── name: :boz
- │ │ │ ├── message_loc: (68,22)-(68,25) = "boz"
- │ │ │ ├── opening_loc: ∅
- │ │ │ ├── arguments: ∅
- │ │ │ ├── closing_loc: ∅
- │ │ │ ├── block: ∅
- │ │ │ └── flags: variable_call
- │ │ └── flags: ∅
+ │ │ ├── flags: ∅
+ │ │ └── arguments: (length: 2)
+ │ │ ├── @ HashNode (location: (68,8)-(68,20))
+ │ │ │ ├── opening_loc: (68,8)-(68,9) = "{"
+ │ │ │ ├── elements: (length: 1)
+ │ │ │ │ └── @ AssocNode (location: (68,10)-(68,18))
+ │ │ │ │ ├── key:
+ │ │ │ │ │ @ SymbolNode (location: (68,10)-(68,14))
+ │ │ │ │ │ ├── opening_loc: ∅
+ │ │ │ │ │ ├── value_loc: (68,10)-(68,13) = "foo"
+ │ │ │ │ │ ├── closing_loc: (68,13)-(68,14) = ":"
+ │ │ │ │ │ └── unescaped: "foo"
+ │ │ │ │ ├── value:
+ │ │ │ │ │ @ CallNode (location: (68,15)-(68,18))
+ │ │ │ │ │ ├── flags: variable_call
+ │ │ │ │ │ ├── receiver: ∅
+ │ │ │ │ │ ├── call_operator_loc: ∅
+ │ │ │ │ │ ├── name: :boz
+ │ │ │ │ │ ├── message_loc: (68,15)-(68,18) = "boz"
+ │ │ │ │ │ ├── opening_loc: ∅
+ │ │ │ │ │ ├── arguments: ∅
+ │ │ │ │ │ ├── closing_loc: ∅
+ │ │ │ │ │ └── block: ∅
+ │ │ │ │ └── operator_loc: ∅
+ │ │ │ └── closing_loc: (68,19)-(68,20) = "}"
+ │ │ └── @ CallNode (location: (68,22)-(68,25))
+ │ │ ├── flags: variable_call
+ │ │ ├── receiver: ∅
+ │ │ ├── call_operator_loc: ∅
+ │ │ ├── name: :boz
+ │ │ ├── message_loc: (68,22)-(68,25) = "boz"
+ │ │ ├── opening_loc: ∅
+ │ │ ├── arguments: ∅
+ │ │ ├── closing_loc: ∅
+ │ │ └── block: ∅
│ ├── closing_loc: (68,25)-(68,26) = ")"
- │ ├── block: ∅
- │ └── flags: ∅
+ │ └── block: ∅
├── @ CallNode (location: (69,0)-(69,12))
+ │ ├── flags: ∅
│ ├── receiver:
│ │ @ CallNode (location: (69,0)-(69,3))
+ │ │ ├── flags: variable_call
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
│ │ ├── name: :foo
@@ -1530,25 +1532,24 @@
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
- │ │ ├── block: ∅
- │ │ └── flags: variable_call
+ │ │ └── block: ∅
│ ├── call_operator_loc: (69,3)-(69,4) = "."
│ ├── name: :bar=
│ ├── message_loc: (69,4)-(69,7) = "bar"
│ ├── opening_loc: ∅
│ ├── arguments:
│ │ @ ArgumentsNode (location: (69,8)-(69,12))
- │ │ ├── arguments: (length: 1)
- │ │ │ └── @ SymbolNode (location: (69,8)-(69,12))
- │ │ │ ├── opening_loc: (69,8)-(69,9) = ":"
- │ │ │ ├── value_loc: (69,9)-(69,12) = "baz"
- │ │ │ ├── closing_loc: ∅
- │ │ │ └── unescaped: "baz"
- │ │ └── flags: ∅
+ │ │ ├── flags: ∅
+ │ │ └── arguments: (length: 1)
+ │ │ └── @ SymbolNode (location: (69,8)-(69,12))
+ │ │ ├── opening_loc: (69,8)-(69,9) = ":"
+ │ │ ├── value_loc: (69,9)-(69,12) = "baz"
+ │ │ ├── closing_loc: ∅
+ │ │ └── unescaped: "baz"
│ ├── closing_loc: ∅
- │ ├── block: ∅
- │ └── flags: ∅
+ │ └── block: ∅
├── @ CallNode (location: (70,0)-(70,9))
+ │ ├── flags: ∅
│ ├── receiver: ∅
│ ├── call_operator_loc: ∅
│ ├── name: :foo
@@ -1556,35 +1557,36 @@
│ ├── opening_loc: (70,3)-(70,4) = "("
│ ├── arguments:
│ │ @ ArgumentsNode (location: (70,4)-(70,8))
- │ │ ├── arguments: (length: 1)
- │ │ │ └── @ KeywordHashNode (location: (70,4)-(70,8))
- │ │ │ └── elements: (length: 1)
- │ │ │ └── @ AssocNode (location: (70,4)-(70,8))
- │ │ │ ├── key:
- │ │ │ │ @ SymbolNode (location: (70,4)-(70,6))
- │ │ │ │ ├── opening_loc: ∅
- │ │ │ │ ├── value_loc: (70,4)-(70,5) = "a"
- │ │ │ │ ├── closing_loc: (70,5)-(70,6) = ":"
- │ │ │ │ └── unescaped: "a"
- │ │ │ ├── value:
- │ │ │ │ @ CallNode (location: (70,7)-(70,8))
- │ │ │ │ ├── receiver: ∅
- │ │ │ │ ├── call_operator_loc: ∅
- │ │ │ │ ├── name: :b
- │ │ │ │ ├── message_loc: (70,7)-(70,8) = "b"
- │ │ │ │ ├── opening_loc: ∅
- │ │ │ │ ├── arguments: ∅
- │ │ │ │ ├── closing_loc: ∅
- │ │ │ │ ├── block: ∅
- │ │ │ │ └── flags: variable_call
- │ │ │ └── operator_loc: ∅
- │ │ └── flags: ∅
+ │ │ ├── flags: ∅
+ │ │ └── arguments: (length: 1)
+ │ │ └── @ KeywordHashNode (location: (70,4)-(70,8))
+ │ │ └── elements: (length: 1)
+ │ │ └── @ AssocNode (location: (70,4)-(70,8))
+ │ │ ├── key:
+ │ │ │ @ SymbolNode (location: (70,4)-(70,6))
+ │ │ │ ├── opening_loc: ∅
+ │ │ │ ├── value_loc: (70,4)-(70,5) = "a"
+ │ │ │ ├── closing_loc: (70,5)-(70,6) = ":"
+ │ │ │ └── unescaped: "a"
+ │ │ ├── value:
+ │ │ │ @ CallNode (location: (70,7)-(70,8))
+ │ │ │ ├── flags: variable_call
+ │ │ │ ├── receiver: ∅
+ │ │ │ ├── call_operator_loc: ∅
+ │ │ │ ├── name: :b
+ │ │ │ ├── message_loc: (70,7)-(70,8) = "b"
+ │ │ │ ├── opening_loc: ∅
+ │ │ │ ├── arguments: ∅
+ │ │ │ ├── closing_loc: ∅
+ │ │ │ └── block: ∅
+ │ │ └── operator_loc: ∅
│ ├── closing_loc: (70,8)-(70,9) = ")"
- │ ├── block: ∅
- │ └── flags: ∅
+ │ └── block: ∅
├── @ CallNode (location: (71,0)-(71,11))
+ │ ├── flags: ∅
│ ├── receiver:
│ │ @ CallNode (location: (71,0)-(71,3))
+ │ │ ├── flags: variable_call
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
│ │ ├── name: :foo
@@ -1592,43 +1594,43 @@
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
- │ │ ├── block: ∅
- │ │ └── flags: variable_call
+ │ │ └── block: ∅
│ ├── call_operator_loc: (71,3)-(71,4) = "."
│ ├── name: :&
│ ├── message_loc: (71,4)-(71,5) = "&"
│ ├── opening_loc: (71,5)-(71,6) = "("
│ ├── arguments:
│ │ @ ArgumentsNode (location: (71,6)-(71,10))
- │ │ ├── arguments: (length: 1)
- │ │ │ └── @ KeywordHashNode (location: (71,6)-(71,10))
- │ │ │ └── elements: (length: 1)
- │ │ │ └── @ AssocNode (location: (71,6)-(71,10))
- │ │ │ ├── key:
- │ │ │ │ @ SymbolNode (location: (71,6)-(71,8))
- │ │ │ │ ├── opening_loc: ∅
- │ │ │ │ ├── value_loc: (71,6)-(71,7) = "a"
- │ │ │ │ ├── closing_loc: (71,7)-(71,8) = ":"
- │ │ │ │ └── unescaped: "a"
- │ │ │ ├── value:
- │ │ │ │ @ CallNode (location: (71,9)-(71,10))
- │ │ │ │ ├── receiver: ∅
- │ │ │ │ ├── call_operator_loc: ∅
- │ │ │ │ ├── name: :b
- │ │ │ │ ├── message_loc: (71,9)-(71,10) = "b"
- │ │ │ │ ├── opening_loc: ∅
- │ │ │ │ ├── arguments: ∅
- │ │ │ │ ├── closing_loc: ∅
- │ │ │ │ ├── block: ∅
- │ │ │ │ └── flags: variable_call
- │ │ │ └── operator_loc: ∅
- │ │ └── flags: ∅
+ │ │ ├── flags: ∅
+ │ │ └── arguments: (length: 1)
+ │ │ └── @ KeywordHashNode (location: (71,6)-(71,10))
+ │ │ └── elements: (length: 1)
+ │ │ └── @ AssocNode (location: (71,6)-(71,10))
+ │ │ ├── key:
+ │ │ │ @ SymbolNode (location: (71,6)-(71,8))
+ │ │ │ ├── opening_loc: ∅
+ │ │ │ ├── value_loc: (71,6)-(71,7) = "a"
+ │ │ │ ├── closing_loc: (71,7)-(71,8) = ":"
+ │ │ │ └── unescaped: "a"
+ │ │ ├── value:
+ │ │ │ @ CallNode (location: (71,9)-(71,10))
+ │ │ │ ├── flags: variable_call
+ │ │ │ ├── receiver: ∅
+ │ │ │ ├── call_operator_loc: ∅
+ │ │ │ ├── name: :b
+ │ │ │ ├── message_loc: (71,9)-(71,10) = "b"
+ │ │ │ ├── opening_loc: ∅
+ │ │ │ ├── arguments: ∅
+ │ │ │ ├── closing_loc: ∅
+ │ │ │ └── block: ∅
+ │ │ └── operator_loc: ∅
│ ├── closing_loc: (71,10)-(71,11) = ")"
- │ ├── block: ∅
- │ └── flags: ∅
+ │ └── block: ∅
├── @ CallNode (location: (72,0)-(72,10))
+ │ ├── flags: ∅
│ ├── receiver:
│ │ @ CallNode (location: (72,0)-(72,3))
+ │ │ ├── flags: variable_call
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
│ │ ├── name: :foo
@@ -1636,37 +1638,37 @@
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
- │ │ ├── block: ∅
- │ │ └── flags: variable_call
+ │ │ └── block: ∅
│ ├── call_operator_loc: (72,3)-(72,4) = "."
│ ├── name: :&
│ ├── message_loc: (72,4)-(72,5) = "&"
│ ├── opening_loc: (72,5)-(72,6) = "("
│ ├── arguments:
│ │ @ ArgumentsNode (location: (72,6)-(72,9))
- │ │ ├── arguments: (length: 1)
- │ │ │ └── @ KeywordHashNode (location: (72,6)-(72,9))
- │ │ │ └── elements: (length: 1)
- │ │ │ └── @ AssocSplatNode (location: (72,6)-(72,9))
- │ │ │ ├── value:
- │ │ │ │ @ CallNode (location: (72,8)-(72,9))
- │ │ │ │ ├── receiver: ∅
- │ │ │ │ ├── call_operator_loc: ∅
- │ │ │ │ ├── name: :a
- │ │ │ │ ├── message_loc: (72,8)-(72,9) = "a"
- │ │ │ │ ├── opening_loc: ∅
- │ │ │ │ ├── arguments: ∅
- │ │ │ │ ├── closing_loc: ∅
- │ │ │ │ ├── block: ∅
- │ │ │ │ └── flags: variable_call
- │ │ │ └── operator_loc: (72,6)-(72,8) = "**"
- │ │ └── flags: contains_keyword_splat
+ │ │ ├── flags: contains_keyword_splat
+ │ │ └── arguments: (length: 1)
+ │ │ └── @ KeywordHashNode (location: (72,6)-(72,9))
+ │ │ └── elements: (length: 1)
+ │ │ └── @ AssocSplatNode (location: (72,6)-(72,9))
+ │ │ ├── value:
+ │ │ │ @ CallNode (location: (72,8)-(72,9))
+ │ │ │ ├── flags: variable_call
+ │ │ │ ├── receiver: ∅
+ │ │ │ ├── call_operator_loc: ∅
+ │ │ │ ├── name: :a
+ │ │ │ ├── message_loc: (72,8)-(72,9) = "a"
+ │ │ │ ├── opening_loc: ∅
+ │ │ │ ├── arguments: ∅
+ │ │ │ ├── closing_loc: ∅
+ │ │ │ └── block: ∅
+ │ │ └── operator_loc: (72,6)-(72,8) = "**"
│ ├── closing_loc: (72,9)-(72,10) = ")"
- │ ├── block: ∅
- │ └── flags: ∅
+ │ └── block: ∅
├── @ CallNode (location: (73,0)-(73,9))
+ │ ├── flags: ∅
│ ├── receiver:
│ │ @ CallNode (location: (73,0)-(73,3))
+ │ │ ├── flags: variable_call
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
│ │ ├── name: :foo
@@ -1674,35 +1676,35 @@
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
- │ │ ├── block: ∅
- │ │ └── flags: variable_call
+ │ │ └── block: ∅
│ ├── call_operator_loc: ∅
│ ├── name: :[]
│ ├── message_loc: (73,3)-(73,9) = "[*baz]"
│ ├── opening_loc: (73,3)-(73,4) = "["
│ ├── arguments:
│ │ @ ArgumentsNode (location: (73,4)-(73,8))
- │ │ ├── arguments: (length: 1)
- │ │ │ └── @ SplatNode (location: (73,4)-(73,8))
- │ │ │ ├── operator_loc: (73,4)-(73,5) = "*"
- │ │ │ └── expression:
- │ │ │ @ CallNode (location: (73,5)-(73,8))
- │ │ │ ├── receiver: ∅
- │ │ │ ├── call_operator_loc: ∅
- │ │ │ ├── name: :baz
- │ │ │ ├── message_loc: (73,5)-(73,8) = "baz"
- │ │ │ ├── opening_loc: ∅
- │ │ │ ├── arguments: ∅
- │ │ │ ├── closing_loc: ∅
- │ │ │ ├── block: ∅
- │ │ │ └── flags: variable_call
- │ │ └── flags: ∅
+ │ │ ├── flags: ∅
+ │ │ └── arguments: (length: 1)
+ │ │ └── @ SplatNode (location: (73,4)-(73,8))
+ │ │ ├── operator_loc: (73,4)-(73,5) = "*"
+ │ │ └── expression:
+ │ │ @ CallNode (location: (73,5)-(73,8))
+ │ │ ├── flags: variable_call
+ │ │ ├── receiver: ∅
+ │ │ ├── call_operator_loc: ∅
+ │ │ ├── name: :baz
+ │ │ ├── message_loc: (73,5)-(73,8) = "baz"
+ │ │ ├── opening_loc: ∅
+ │ │ ├── arguments: ∅
+ │ │ ├── closing_loc: ∅
+ │ │ └── block: ∅
│ ├── closing_loc: (73,8)-(73,9) = "]"
- │ ├── block: ∅
- │ └── flags: ∅
+ │ └── block: ∅
├── @ CallNode (location: (74,0)-(74,9))
+ │ ├── flags: ∅
│ ├── receiver:
│ │ @ CallNode (location: (74,0)-(74,3))
+ │ │ ├── flags: variable_call
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
│ │ ├── name: :foo
@@ -1710,26 +1712,26 @@
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
- │ │ ├── block: ∅
- │ │ └── flags: variable_call
+ │ │ └── block: ∅
│ ├── call_operator_loc: ∅
│ ├── name: :[]
│ ├── message_loc: (74,3)-(74,9) = "[1, 2]"
│ ├── opening_loc: (74,3)-(74,4) = "["
│ ├── arguments:
│ │ @ ArgumentsNode (location: (74,4)-(74,8))
- │ │ ├── arguments: (length: 2)
- │ │ │ ├── @ IntegerNode (location: (74,4)-(74,5))
- │ │ │ │ └── flags: decimal
- │ │ │ └── @ IntegerNode (location: (74,7)-(74,8))
- │ │ │ └── flags: decimal
- │ │ └── flags: ∅
+ │ │ ├── flags: ∅
+ │ │ └── arguments: (length: 2)
+ │ │ ├── @ IntegerNode (location: (74,4)-(74,5))
+ │ │ │ └── flags: decimal
+ │ │ └── @ IntegerNode (location: (74,7)-(74,8))
+ │ │ └── flags: decimal
│ ├── closing_loc: (74,8)-(74,9) = "]"
- │ ├── block: ∅
- │ └── flags: ∅
+ │ └── block: ∅
├── @ CallNode (location: (75,0)-(75,5))
+ │ ├── flags: ∅
│ ├── receiver:
│ │ @ CallNode (location: (75,0)-(75,3))
+ │ │ ├── flags: variable_call
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
│ │ ├── name: :foo
@@ -1737,17 +1739,16 @@
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
- │ │ ├── block: ∅
- │ │ └── flags: variable_call
+ │ │ └── block: ∅
│ ├── call_operator_loc: ∅
│ ├── name: :[]
│ ├── message_loc: (75,3)-(75,5) = "[]"
│ ├── opening_loc: (75,3)-(75,4) = "["
│ ├── arguments: ∅
│ ├── closing_loc: (75,4)-(75,5) = "]"
- │ ├── block: ∅
- │ └── flags: ∅
+ │ └── block: ∅
├── @ CallNode (location: (76,0)-(76,8))
+ │ ├── flags: ∅
│ ├── receiver:
│ │ @ SelfNode (location: (76,0)-(76,4))
│ ├── call_operator_loc: (76,4)-(76,5) = "."
@@ -1756,9 +1757,9 @@
│ ├── opening_loc: ∅
│ ├── arguments: ∅
│ ├── closing_loc: ∅
- │ ├── block: ∅
- │ └── flags: ∅
+ │ └── block: ∅
├── @ CallNode (location: (77,0)-(77,13))
+ │ ├── flags: ∅
│ ├── receiver:
│ │ @ SelfNode (location: (77,0)-(77,4))
│ ├── call_operator_loc: (77,4)-(77,5) = "."
@@ -1767,25 +1768,27 @@
│ ├── opening_loc: ∅
│ ├── arguments:
│ │ @ ArgumentsNode (location: (77,9)-(77,13))
- │ │ ├── arguments: (length: 1)
- │ │ │ └── @ SymbolNode (location: (77,9)-(77,13))
- │ │ │ ├── opening_loc: (77,9)-(77,10) = ":"
- │ │ │ ├── value_loc: (77,10)-(77,13) = "bar"
- │ │ │ ├── closing_loc: ∅
- │ │ │ └── unescaped: "bar"
- │ │ └── flags: ∅
+ │ │ ├── flags: ∅
+ │ │ └── arguments: (length: 1)
+ │ │ └── @ SymbolNode (location: (77,9)-(77,13))
+ │ │ ├── opening_loc: (77,9)-(77,10) = ":"
+ │ │ ├── value_loc: (77,10)-(77,13) = "bar"
+ │ │ ├── closing_loc: ∅
+ │ │ └── unescaped: "bar"
│ ├── closing_loc: ∅
- │ ├── block: ∅
- │ └── flags: ∅
+ │ └── block: ∅
├── @ CallNode (location: (78,0)-(78,17))
+ │ ├── flags: ∅
│ ├── receiver:
│ │ @ ParenthesesNode (location: (78,0)-(78,7))
│ │ ├── body:
│ │ │ @ StatementsNode (location: (78,1)-(78,6))
│ │ │ └── body: (length: 1)
│ │ │ └── @ CallNode (location: (78,1)-(78,6))
+ │ │ │ ├── flags: ∅
│ │ │ ├── receiver:
│ │ │ │ @ CallNode (location: (78,1)-(78,2))
+ │ │ │ │ ├── flags: variable_call
│ │ │ │ ├── receiver: ∅
│ │ │ │ ├── call_operator_loc: ∅
│ │ │ │ ├── name: :a
@@ -1793,29 +1796,27 @@
│ │ │ │ ├── opening_loc: ∅
│ │ │ │ ├── arguments: ∅
│ │ │ │ ├── closing_loc: ∅
- │ │ │ │ ├── block: ∅
- │ │ │ │ └── flags: variable_call
+ │ │ │ │ └── block: ∅
│ │ │ ├── call_operator_loc: ∅
│ │ │ ├── name: :+
│ │ │ ├── message_loc: (78,3)-(78,4) = "+"
│ │ │ ├── opening_loc: ∅
│ │ │ ├── arguments:
│ │ │ │ @ ArgumentsNode (location: (78,5)-(78,6))
- │ │ │ │ ├── arguments: (length: 1)
- │ │ │ │ │ └── @ CallNode (location: (78,5)-(78,6))
- │ │ │ │ │ ├── receiver: ∅
- │ │ │ │ │ ├── call_operator_loc: ∅
- │ │ │ │ │ ├── name: :b
- │ │ │ │ │ ├── message_loc: (78,5)-(78,6) = "b"
- │ │ │ │ │ ├── opening_loc: ∅
- │ │ │ │ │ ├── arguments: ∅
- │ │ │ │ │ ├── closing_loc: ∅
- │ │ │ │ │ ├── block: ∅
- │ │ │ │ │ └── flags: variable_call
- │ │ │ │ └── flags: ∅
+ │ │ │ │ ├── flags: ∅
+ │ │ │ │ └── arguments: (length: 1)
+ │ │ │ │ └── @ CallNode (location: (78,5)-(78,6))
+ │ │ │ │ ├── flags: variable_call
+ │ │ │ │ ├── receiver: ∅
+ │ │ │ │ ├── call_operator_loc: ∅
+ │ │ │ │ ├── name: :b
+ │ │ │ │ ├── message_loc: (78,5)-(78,6) = "b"
+ │ │ │ │ ├── opening_loc: ∅
+ │ │ │ │ ├── arguments: ∅
+ │ │ │ │ ├── closing_loc: ∅
+ │ │ │ │ └── block: ∅
│ │ │ ├── closing_loc: ∅
- │ │ │ ├── block: ∅
- │ │ │ └── flags: ∅
+ │ │ │ └── block: ∅
│ │ ├── opening_loc: (78,0)-(78,1) = "("
│ │ └── closing_loc: (78,6)-(78,7) = ")"
│ ├── call_operator_loc: ∅
@@ -1824,59 +1825,61 @@
│ ├── opening_loc: ∅
│ ├── arguments:
│ │ @ ArgumentsNode (location: (78,10)-(78,17))
- │ │ ├── arguments: (length: 1)
- │ │ │ └── @ ParenthesesNode (location: (78,10)-(78,17))
- │ │ │ ├── body:
- │ │ │ │ @ StatementsNode (location: (78,11)-(78,16))
- │ │ │ │ └── body: (length: 1)
- │ │ │ │ └── @ CallNode (location: (78,11)-(78,16))
- │ │ │ │ ├── receiver:
- │ │ │ │ │ @ CallNode (location: (78,11)-(78,12))
- │ │ │ │ │ ├── receiver: ∅
- │ │ │ │ │ ├── call_operator_loc: ∅
- │ │ │ │ │ ├── name: :c
- │ │ │ │ │ ├── message_loc: (78,11)-(78,12) = "c"
- │ │ │ │ │ ├── opening_loc: ∅
- │ │ │ │ │ ├── arguments: ∅
- │ │ │ │ │ ├── closing_loc: ∅
- │ │ │ │ │ ├── block: ∅
- │ │ │ │ │ └── flags: variable_call
- │ │ │ │ ├── call_operator_loc: ∅
- │ │ │ │ ├── name: :-
- │ │ │ │ ├── message_loc: (78,13)-(78,14) = "-"
- │ │ │ │ ├── opening_loc: ∅
- │ │ │ │ ├── arguments:
- │ │ │ │ │ @ ArgumentsNode (location: (78,15)-(78,16))
- │ │ │ │ │ ├── arguments: (length: 1)
- │ │ │ │ │ │ └── @ CallNode (location: (78,15)-(78,16))
- │ │ │ │ │ │ ├── receiver: ∅
- │ │ │ │ │ │ ├── call_operator_loc: ∅
- │ │ │ │ │ │ ├── name: :d
- │ │ │ │ │ │ ├── message_loc: (78,15)-(78,16) = "d"
- │ │ │ │ │ │ ├── opening_loc: ∅
- │ │ │ │ │ │ ├── arguments: ∅
- │ │ │ │ │ │ ├── closing_loc: ∅
- │ │ │ │ │ │ ├── block: ∅
- │ │ │ │ │ │ └── flags: variable_call
- │ │ │ │ │ └── flags: ∅
- │ │ │ │ ├── closing_loc: ∅
- │ │ │ │ ├── block: ∅
- │ │ │ │ └── flags: ∅
- │ │ │ ├── opening_loc: (78,10)-(78,11) = "("
- │ │ │ └── closing_loc: (78,16)-(78,17) = ")"
- │ │ └── flags: ∅
+ │ │ ├── flags: ∅
+ │ │ └── arguments: (length: 1)
+ │ │ └── @ ParenthesesNode (location: (78,10)-(78,17))
+ │ │ ├── body:
+ │ │ │ @ StatementsNode (location: (78,11)-(78,16))
+ │ │ │ └── body: (length: 1)
+ │ │ │ └── @ CallNode (location: (78,11)-(78,16))
+ │ │ │ ├── flags: ∅
+ │ │ │ ├── receiver:
+ │ │ │ │ @ CallNode (location: (78,11)-(78,12))
+ │ │ │ │ ├── flags: variable_call
+ │ │ │ │ ├── receiver: ∅
+ │ │ │ │ ├── call_operator_loc: ∅
+ │ │ │ │ ├── name: :c
+ │ │ │ │ ├── message_loc: (78,11)-(78,12) = "c"
+ │ │ │ │ ├── opening_loc: ∅
+ │ │ │ │ ├── arguments: ∅
+ │ │ │ │ ├── closing_loc: ∅
+ │ │ │ │ └── block: ∅
+ │ │ │ ├── call_operator_loc: ∅
+ │ │ │ ├── name: :-
+ │ │ │ ├── message_loc: (78,13)-(78,14) = "-"
+ │ │ │ ├── opening_loc: ∅
+ │ │ │ ├── arguments:
+ │ │ │ │ @ ArgumentsNode (location: (78,15)-(78,16))
+ │ │ │ │ ├── flags: ∅
+ │ │ │ │ └── arguments: (length: 1)
+ │ │ │ │ └── @ CallNode (location: (78,15)-(78,16))
+ │ │ │ │ ├── flags: variable_call
+ │ │ │ │ ├── receiver: ∅
+ │ │ │ │ ├── call_operator_loc: ∅
+ │ │ │ │ ├── name: :d
+ │ │ │ │ ├── message_loc: (78,15)-(78,16) = "d"
+ │ │ │ │ ├── opening_loc: ∅
+ │ │ │ │ ├── arguments: ∅
+ │ │ │ │ ├── closing_loc: ∅
+ │ │ │ │ └── block: ∅
+ │ │ │ ├── closing_loc: ∅
+ │ │ │ └── block: ∅
+ │ │ ├── opening_loc: (78,10)-(78,11) = "("
+ │ │ └── closing_loc: (78,16)-(78,17) = ")"
│ ├── closing_loc: ∅
- │ ├── block: ∅
- │ └── flags: ∅
+ │ └── block: ∅
├── @ CallNode (location: (79,0)-(79,19))
+ │ ├── flags: ∅
│ ├── receiver:
│ │ @ ParenthesesNode (location: (79,0)-(79,7))
│ │ ├── body:
│ │ │ @ StatementsNode (location: (79,1)-(79,6))
│ │ │ └── body: (length: 1)
│ │ │ └── @ CallNode (location: (79,1)-(79,6))
+ │ │ │ ├── flags: ∅
│ │ │ ├── receiver:
│ │ │ │ @ CallNode (location: (79,1)-(79,2))
+ │ │ │ │ ├── flags: variable_call
│ │ │ │ ├── receiver: ∅
│ │ │ │ ├── call_operator_loc: ∅
│ │ │ │ ├── name: :a
@@ -1884,29 +1887,27 @@
│ │ │ │ ├── opening_loc: ∅
│ │ │ │ ├── arguments: ∅
│ │ │ │ ├── closing_loc: ∅
- │ │ │ │ ├── block: ∅
- │ │ │ │ └── flags: variable_call
+ │ │ │ │ └── block: ∅
│ │ │ ├── call_operator_loc: ∅
│ │ │ ├── name: :+
│ │ │ ├── message_loc: (79,3)-(79,4) = "+"
│ │ │ ├── opening_loc: ∅
│ │ │ ├── arguments:
│ │ │ │ @ ArgumentsNode (location: (79,5)-(79,6))
- │ │ │ │ ├── arguments: (length: 1)
- │ │ │ │ │ └── @ CallNode (location: (79,5)-(79,6))
- │ │ │ │ │ ├── receiver: ∅
- │ │ │ │ │ ├── call_operator_loc: ∅
- │ │ │ │ │ ├── name: :b
- │ │ │ │ │ ├── message_loc: (79,5)-(79,6) = "b"
- │ │ │ │ │ ├── opening_loc: ∅
- │ │ │ │ │ ├── arguments: ∅
- │ │ │ │ │ ├── closing_loc: ∅
- │ │ │ │ │ ├── block: ∅
- │ │ │ │ │ └── flags: variable_call
- │ │ │ │ └── flags: ∅
+ │ │ │ │ ├── flags: ∅
+ │ │ │ │ └── arguments: (length: 1)
+ │ │ │ │ └── @ CallNode (location: (79,5)-(79,6))
+ │ │ │ │ ├── flags: variable_call
+ │ │ │ │ ├── receiver: ∅
+ │ │ │ │ ├── call_operator_loc: ∅
+ │ │ │ │ ├── name: :b
+ │ │ │ │ ├── message_loc: (79,5)-(79,6) = "b"
+ │ │ │ │ ├── opening_loc: ∅
+ │ │ │ │ ├── arguments: ∅
+ │ │ │ │ ├── closing_loc: ∅
+ │ │ │ │ └── block: ∅
│ │ │ ├── closing_loc: ∅
- │ │ │ ├── block: ∅
- │ │ │ └── flags: ∅
+ │ │ │ └── block: ∅
│ │ ├── opening_loc: (79,0)-(79,1) = "("
│ │ └── closing_loc: (79,6)-(79,7) = ")"
│ ├── call_operator_loc: ∅
@@ -1915,63 +1916,65 @@
│ ├── opening_loc: ∅
│ ├── arguments:
│ │ @ ArgumentsNode (location: (79,10)-(79,19))
- │ │ ├── arguments: (length: 1)
- │ │ │ └── @ CallNode (location: (79,10)-(79,19))
- │ │ │ ├── receiver:
- │ │ │ │ @ CallNode (location: (79,10)-(79,11))
- │ │ │ │ ├── receiver: ∅
- │ │ │ │ ├── call_operator_loc: ∅
- │ │ │ │ ├── name: :c
- │ │ │ │ ├── message_loc: (79,10)-(79,11) = "c"
- │ │ │ │ ├── opening_loc: ∅
- │ │ │ │ ├── arguments: ∅
- │ │ │ │ ├── closing_loc: ∅
- │ │ │ │ ├── block: ∅
- │ │ │ │ └── flags: variable_call
- │ │ │ ├── call_operator_loc: (79,11)-(79,12) = "."
- │ │ │ ├── name: :-
- │ │ │ ├── message_loc: (79,12)-(79,13) = "-"
- │ │ │ ├── opening_loc: (79,13)-(79,14) = "("
- │ │ │ ├── arguments:
- │ │ │ │ @ ArgumentsNode (location: (79,14)-(79,18))
- │ │ │ │ ├── arguments: (length: 2)
- │ │ │ │ │ ├── @ CallNode (location: (79,14)-(79,15))
- │ │ │ │ │ │ ├── receiver: ∅
- │ │ │ │ │ │ ├── call_operator_loc: ∅
- │ │ │ │ │ │ ├── name: :e
- │ │ │ │ │ │ ├── message_loc: (79,14)-(79,15) = "e"
- │ │ │ │ │ │ ├── opening_loc: ∅
- │ │ │ │ │ │ ├── arguments: ∅
- │ │ │ │ │ │ ├── closing_loc: ∅
- │ │ │ │ │ │ ├── block: ∅
- │ │ │ │ │ │ └── flags: variable_call
- │ │ │ │ │ └── @ CallNode (location: (79,17)-(79,18))
- │ │ │ │ │ ├── receiver: ∅
- │ │ │ │ │ ├── call_operator_loc: ∅
- │ │ │ │ │ ├── name: :f
- │ │ │ │ │ ├── message_loc: (79,17)-(79,18) = "f"
- │ │ │ │ │ ├── opening_loc: ∅
- │ │ │ │ │ ├── arguments: ∅
- │ │ │ │ │ ├── closing_loc: ∅
- │ │ │ │ │ ├── block: ∅
- │ │ │ │ │ └── flags: variable_call
- │ │ │ │ └── flags: ∅
- │ │ │ ├── closing_loc: (79,18)-(79,19) = ")"
- │ │ │ ├── block: ∅
- │ │ │ └── flags: ∅
- │ │ └── flags: ∅
+ │ │ ├── flags: ∅
+ │ │ └── arguments: (length: 1)
+ │ │ └── @ CallNode (location: (79,10)-(79,19))
+ │ │ ├── flags: ∅
+ │ │ ├── receiver:
+ │ │ │ @ CallNode (location: (79,10)-(79,11))
+ │ │ │ ├── flags: variable_call
+ │ │ │ ├── receiver: ∅
+ │ │ │ ├── call_operator_loc: ∅
+ │ │ │ ├── name: :c
+ │ │ │ ├── message_loc: (79,10)-(79,11) = "c"
+ │ │ │ ├── opening_loc: ∅
+ │ │ │ ├── arguments: ∅
+ │ │ │ ├── closing_loc: ∅
+ │ │ │ └── block: ∅
+ │ │ ├── call_operator_loc: (79,11)-(79,12) = "."
+ │ │ ├── name: :-
+ │ │ ├── message_loc: (79,12)-(79,13) = "-"
+ │ │ ├── opening_loc: (79,13)-(79,14) = "("
+ │ │ ├── arguments:
+ │ │ │ @ ArgumentsNode (location: (79,14)-(79,18))
+ │ │ │ ├── flags: ∅
+ │ │ │ └── arguments: (length: 2)
+ │ │ │ ├── @ CallNode (location: (79,14)-(79,15))
+ │ │ │ │ ├── flags: variable_call
+ │ │ │ │ ├── receiver: ∅
+ │ │ │ │ ├── call_operator_loc: ∅
+ │ │ │ │ ├── name: :e
+ │ │ │ │ ├── message_loc: (79,14)-(79,15) = "e"
+ │ │ │ │ ├── opening_loc: ∅
+ │ │ │ │ ├── arguments: ∅
+ │ │ │ │ ├── closing_loc: ∅
+ │ │ │ │ └── block: ∅
+ │ │ │ └── @ CallNode (location: (79,17)-(79,18))
+ │ │ │ ├── flags: variable_call
+ │ │ │ ├── receiver: ∅
+ │ │ │ ├── call_operator_loc: ∅
+ │ │ │ ├── name: :f
+ │ │ │ ├── message_loc: (79,17)-(79,18) = "f"
+ │ │ │ ├── opening_loc: ∅
+ │ │ │ ├── arguments: ∅
+ │ │ │ ├── closing_loc: ∅
+ │ │ │ └── block: ∅
+ │ │ ├── closing_loc: (79,18)-(79,19) = ")"
+ │ │ └── block: ∅
│ ├── closing_loc: ∅
- │ ├── block: ∅
- │ └── flags: ∅
+ │ └── block: ∅
├── @ CallNode (location: (80,0)-(80,17))
+ │ ├── flags: ∅
│ ├── receiver:
│ │ @ ParenthesesNode (location: (80,0)-(80,7))
│ │ ├── body:
│ │ │ @ StatementsNode (location: (80,1)-(80,6))
│ │ │ └── body: (length: 1)
│ │ │ └── @ CallNode (location: (80,1)-(80,6))
+ │ │ │ ├── flags: ∅
│ │ │ ├── receiver:
│ │ │ │ @ CallNode (location: (80,1)-(80,2))
+ │ │ │ │ ├── flags: variable_call
│ │ │ │ ├── receiver: ∅
│ │ │ │ ├── call_operator_loc: ∅
│ │ │ │ ├── name: :a
@@ -1979,29 +1982,27 @@
│ │ │ │ ├── opening_loc: ∅
│ │ │ │ ├── arguments: ∅
│ │ │ │ ├── closing_loc: ∅
- │ │ │ │ ├── block: ∅
- │ │ │ │ └── flags: variable_call
+ │ │ │ │ └── block: ∅
│ │ │ ├── call_operator_loc: ∅
│ │ │ ├── name: :+
│ │ │ ├── message_loc: (80,3)-(80,4) = "+"
│ │ │ ├── opening_loc: ∅
│ │ │ ├── arguments:
│ │ │ │ @ ArgumentsNode (location: (80,5)-(80,6))
- │ │ │ │ ├── arguments: (length: 1)
- │ │ │ │ │ └── @ CallNode (location: (80,5)-(80,6))
- │ │ │ │ │ ├── receiver: ∅
- │ │ │ │ │ ├── call_operator_loc: ∅
- │ │ │ │ │ ├── name: :b
- │ │ │ │ │ ├── message_loc: (80,5)-(80,6) = "b"
- │ │ │ │ │ ├── opening_loc: ∅
- │ │ │ │ │ ├── arguments: ∅
- │ │ │ │ │ ├── closing_loc: ∅
- │ │ │ │ │ ├── block: ∅
- │ │ │ │ │ └── flags: variable_call
- │ │ │ │ └── flags: ∅
+ │ │ │ │ ├── flags: ∅
+ │ │ │ │ └── arguments: (length: 1)
+ │ │ │ │ └── @ CallNode (location: (80,5)-(80,6))
+ │ │ │ │ ├── flags: variable_call
+ │ │ │ │ ├── receiver: ∅
+ │ │ │ │ ├── call_operator_loc: ∅
+ │ │ │ │ ├── name: :b
+ │ │ │ │ ├── message_loc: (80,5)-(80,6) = "b"
+ │ │ │ │ ├── opening_loc: ∅
+ │ │ │ │ ├── arguments: ∅
+ │ │ │ │ ├── closing_loc: ∅
+ │ │ │ │ └── block: ∅
│ │ │ ├── closing_loc: ∅
- │ │ │ ├── block: ∅
- │ │ │ └── flags: ∅
+ │ │ │ └── block: ∅
│ │ ├── opening_loc: (80,0)-(80,1) = "("
│ │ └── closing_loc: (80,6)-(80,7) = ")"
│ ├── call_operator_loc: ∅
@@ -2010,48 +2011,48 @@
│ ├── opening_loc: ∅
│ ├── arguments:
│ │ @ ArgumentsNode (location: (80,10)-(80,17))
- │ │ ├── arguments: (length: 1)
- │ │ │ └── @ CallNode (location: (80,10)-(80,17))
- │ │ │ ├── receiver:
- │ │ │ │ @ CallNode (location: (80,10)-(80,11))
- │ │ │ │ ├── receiver: ∅
- │ │ │ │ ├── call_operator_loc: ∅
- │ │ │ │ ├── name: :c
- │ │ │ │ ├── message_loc: (80,10)-(80,11) = "c"
- │ │ │ │ ├── opening_loc: ∅
- │ │ │ │ ├── arguments: ∅
- │ │ │ │ ├── closing_loc: ∅
- │ │ │ │ ├── block: ∅
- │ │ │ │ └── flags: variable_call
- │ │ │ ├── call_operator_loc: (80,11)-(80,12) = "."
- │ │ │ ├── name: :-
- │ │ │ ├── message_loc: (80,12)-(80,13) = "-"
- │ │ │ ├── opening_loc: (80,13)-(80,14) = "("
- │ │ │ ├── arguments:
- │ │ │ │ @ ArgumentsNode (location: (80,14)-(80,16))
- │ │ │ │ ├── arguments: (length: 1)
- │ │ │ │ │ └── @ SplatNode (location: (80,14)-(80,16))
- │ │ │ │ │ ├── operator_loc: (80,14)-(80,15) = "*"
- │ │ │ │ │ └── expression:
- │ │ │ │ │ @ CallNode (location: (80,15)-(80,16))
- │ │ │ │ │ ├── receiver: ∅
- │ │ │ │ │ ├── call_operator_loc: ∅
- │ │ │ │ │ ├── name: :f
- │ │ │ │ │ ├── message_loc: (80,15)-(80,16) = "f"
- │ │ │ │ │ ├── opening_loc: ∅
- │ │ │ │ │ ├── arguments: ∅
- │ │ │ │ │ ├── closing_loc: ∅
- │ │ │ │ │ ├── block: ∅
- │ │ │ │ │ └── flags: variable_call
- │ │ │ │ └── flags: ∅
- │ │ │ ├── closing_loc: (80,16)-(80,17) = ")"
- │ │ │ ├── block: ∅
- │ │ │ └── flags: ∅
- │ │ └── flags: ∅
+ │ │ ├── flags: ∅
+ │ │ └── arguments: (length: 1)
+ │ │ └── @ CallNode (location: (80,10)-(80,17))
+ │ │ ├── flags: ∅
+ │ │ ├── receiver:
+ │ │ │ @ CallNode (location: (80,10)-(80,11))
+ │ │ │ ├── flags: variable_call
+ │ │ │ ├── receiver: ∅
+ │ │ │ ├── call_operator_loc: ∅
+ │ │ │ ├── name: :c
+ │ │ │ ├── message_loc: (80,10)-(80,11) = "c"
+ │ │ │ ├── opening_loc: ∅
+ │ │ │ ├── arguments: ∅
+ │ │ │ ├── closing_loc: ∅
+ │ │ │ └── block: ∅
+ │ │ ├── call_operator_loc: (80,11)-(80,12) = "."
+ │ │ ├── name: :-
+ │ │ ├── message_loc: (80,12)-(80,13) = "-"
+ │ │ ├── opening_loc: (80,13)-(80,14) = "("
+ │ │ ├── arguments:
+ │ │ │ @ ArgumentsNode (location: (80,14)-(80,16))
+ │ │ │ ├── flags: ∅
+ │ │ │ └── arguments: (length: 1)
+ │ │ │ └── @ SplatNode (location: (80,14)-(80,16))
+ │ │ │ ├── operator_loc: (80,14)-(80,15) = "*"
+ │ │ │ └── expression:
+ │ │ │ @ CallNode (location: (80,15)-(80,16))
+ │ │ │ ├── flags: variable_call
+ │ │ │ ├── receiver: ∅
+ │ │ │ ├── call_operator_loc: ∅
+ │ │ │ ├── name: :f
+ │ │ │ ├── message_loc: (80,15)-(80,16) = "f"
+ │ │ │ ├── opening_loc: ∅
+ │ │ │ ├── arguments: ∅
+ │ │ │ ├── closing_loc: ∅
+ │ │ │ └── block: ∅
+ │ │ ├── closing_loc: (80,16)-(80,17) = ")"
+ │ │ └── block: ∅
│ ├── closing_loc: ∅
- │ ├── block: ∅
- │ └── flags: ∅
+ │ └── block: ∅
├── @ CallNode (location: (81,0)-(81,8))
+ │ ├── flags: ∅
│ ├── receiver: ∅
│ ├── call_operator_loc: ∅
│ ├── name: :x
@@ -2059,29 +2060,30 @@
│ ├── opening_loc: (81,1)-(81,2) = "("
│ ├── arguments:
│ │ @ ArgumentsNode (location: (81,2)-(81,7))
- │ │ ├── arguments: (length: 1)
- │ │ │ └── @ KeywordHashNode (location: (81,2)-(81,7))
- │ │ │ └── elements: (length: 1)
- │ │ │ └── @ AssocSplatNode (location: (81,2)-(81,7))
- │ │ │ ├── value:
- │ │ │ │ @ CallNode (location: (81,4)-(81,7))
- │ │ │ │ ├── receiver: ∅
- │ │ │ │ ├── call_operator_loc: ∅
- │ │ │ │ ├── name: :foo
- │ │ │ │ ├── message_loc: (81,4)-(81,7) = "foo"
- │ │ │ │ ├── opening_loc: ∅
- │ │ │ │ ├── arguments: ∅
- │ │ │ │ ├── closing_loc: ∅
- │ │ │ │ ├── block: ∅
- │ │ │ │ └── flags: variable_call
- │ │ │ └── operator_loc: (81,2)-(81,4) = "**"
- │ │ └── flags: contains_keyword_splat
+ │ │ ├── flags: contains_keyword_splat
+ │ │ └── arguments: (length: 1)
+ │ │ └── @ KeywordHashNode (location: (81,2)-(81,7))
+ │ │ └── elements: (length: 1)
+ │ │ └── @ AssocSplatNode (location: (81,2)-(81,7))
+ │ │ ├── value:
+ │ │ │ @ CallNode (location: (81,4)-(81,7))
+ │ │ │ ├── flags: variable_call
+ │ │ │ ├── receiver: ∅
+ │ │ │ ├── call_operator_loc: ∅
+ │ │ │ ├── name: :foo
+ │ │ │ ├── message_loc: (81,4)-(81,7) = "foo"
+ │ │ │ ├── opening_loc: ∅
+ │ │ │ ├── arguments: ∅
+ │ │ │ ├── closing_loc: ∅
+ │ │ │ └── block: ∅
+ │ │ └── operator_loc: (81,2)-(81,4) = "**"
│ ├── closing_loc: (81,7)-(81,8) = ")"
- │ ├── block: ∅
- │ └── flags: ∅
+ │ └── block: ∅
├── @ CallNode (location: (82,0)-(82,6))
+ │ ├── flags: safe_navigation
│ ├── receiver:
│ │ @ CallNode (location: (82,0)-(82,3))
+ │ │ ├── flags: variable_call
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
│ │ ├── name: :foo
@@ -2089,19 +2091,19 @@
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
- │ │ ├── block: ∅
- │ │ └── flags: variable_call
+ │ │ └── block: ∅
│ ├── call_operator_loc: (82,3)-(82,5) = "&."
│ ├── name: :!
│ ├── message_loc: (82,5)-(82,6) = "!"
│ ├── opening_loc: ∅
│ ├── arguments: ∅
│ ├── closing_loc: ∅
- │ ├── block: ∅
- │ └── flags: safe_navigation
+ │ └── block: ∅
├── @ CallNode (location: (83,0)-(83,8))
+ │ ├── flags: ∅
│ ├── receiver:
│ │ @ CallNode (location: (83,0)-(83,3))
+ │ │ ├── flags: variable_call
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
│ │ ├── name: :foo
@@ -2109,32 +2111,32 @@
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
- │ │ ├── block: ∅
- │ │ └── flags: variable_call
+ │ │ └── block: ∅
│ ├── call_operator_loc: (83,3)-(83,4) = "."
│ ├── name: :~
│ ├── message_loc: (83,4)-(83,5) = "~"
│ ├── opening_loc: (83,5)-(83,6) = "("
│ ├── arguments:
│ │ @ ArgumentsNode (location: (83,6)-(83,7))
- │ │ ├── arguments: (length: 1)
- │ │ │ └── @ CallNode (location: (83,6)-(83,7))
- │ │ │ ├── receiver: ∅
- │ │ │ ├── call_operator_loc: ∅
- │ │ │ ├── name: :b
- │ │ │ ├── message_loc: (83,6)-(83,7) = "b"
- │ │ │ ├── opening_loc: ∅
- │ │ │ ├── arguments: ∅
- │ │ │ ├── closing_loc: ∅
- │ │ │ ├── block: ∅
- │ │ │ └── flags: variable_call
- │ │ └── flags: ∅
+ │ │ ├── flags: ∅
+ │ │ └── arguments: (length: 1)
+ │ │ └── @ CallNode (location: (83,6)-(83,7))
+ │ │ ├── flags: variable_call
+ │ │ ├── receiver: ∅
+ │ │ ├── call_operator_loc: ∅
+ │ │ ├── name: :b
+ │ │ ├── message_loc: (83,6)-(83,7) = "b"
+ │ │ ├── opening_loc: ∅
+ │ │ ├── arguments: ∅
+ │ │ ├── closing_loc: ∅
+ │ │ └── block: ∅
│ ├── closing_loc: (83,7)-(83,8) = ")"
- │ ├── block: ∅
- │ └── flags: ∅
+ │ └── block: ∅
└── @ CallNode (location: (84,0)-(84,7))
+ ├── flags: safe_navigation
├── receiver:
│ @ CallNode (location: (84,0)-(84,1))
+ │ ├── flags: variable_call
│ ├── receiver: ∅
│ ├── call_operator_loc: ∅
│ ├── name: :a
@@ -2142,26 +2144,24 @@
│ ├── opening_loc: ∅
│ ├── arguments: ∅
│ ├── closing_loc: ∅
- │ ├── block: ∅
- │ └── flags: variable_call
+ │ └── block: ∅
├── call_operator_loc: (84,1)-(84,3) = "&."
├── name: :+
├── message_loc: (84,3)-(84,4) = "+"
├── opening_loc: (84,4)-(84,5) = "("
├── arguments:
│ @ ArgumentsNode (location: (84,5)-(84,6))
- │ ├── arguments: (length: 1)
- │ │ └── @ CallNode (location: (84,5)-(84,6))
- │ │ ├── receiver: ∅
- │ │ ├── call_operator_loc: ∅
- │ │ ├── name: :b
- │ │ ├── message_loc: (84,5)-(84,6) = "b"
- │ │ ├── opening_loc: ∅
- │ │ ├── arguments: ∅
- │ │ ├── closing_loc: ∅
- │ │ ├── block: ∅
- │ │ └── flags: variable_call
- │ └── flags: ∅
+ │ ├── flags: ∅
+ │ └── arguments: (length: 1)
+ │ └── @ CallNode (location: (84,5)-(84,6))
+ │ ├── flags: variable_call
+ │ ├── receiver: ∅
+ │ ├── call_operator_loc: ∅
+ │ ├── name: :b
+ │ ├── message_loc: (84,5)-(84,6) = "b"
+ │ ├── opening_loc: ∅
+ │ ├── arguments: ∅
+ │ ├── closing_loc: ∅
+ │ └── block: ∅
├── closing_loc: (84,6)-(84,7) = ")"
- ├── block: ∅
- └── flags: safe_navigation
+ └── block: ∅
diff --git a/test/prism/snapshots/unparser/corpus/literal/since/27.txt b/test/prism/snapshots/unparser/corpus/literal/since/27.txt
index 3d1763e9b4..2099e84209 100644
--- a/test/prism/snapshots/unparser/corpus/literal/since/27.txt
+++ b/test/prism/snapshots/unparser/corpus/literal/since/27.txt
@@ -16,6 +16,7 @@
│ @ StatementsNode (location: (2,2)-(2,9))
│ └── body: (length: 1)
│ └── @ CallNode (location: (2,2)-(2,9))
+ │ ├── flags: ∅
│ ├── receiver:
│ │ @ LocalVariableReadNode (location: (2,2)-(2,4))
│ │ ├── name: :_1
@@ -26,24 +27,23 @@
│ ├── opening_loc: ∅
│ ├── arguments:
│ │ @ ArgumentsNode (location: (2,7)-(2,9))
- │ │ ├── arguments: (length: 1)
- │ │ │ └── @ LocalVariableReadNode (location: (2,7)-(2,9))
- │ │ │ ├── name: :_2
- │ │ │ └── depth: 0
- │ │ └── flags: ∅
+ │ │ ├── flags: ∅
+ │ │ └── arguments: (length: 1)
+ │ │ └── @ LocalVariableReadNode (location: (2,7)-(2,9))
+ │ │ ├── name: :_2
+ │ │ └── depth: 0
│ ├── closing_loc: ∅
- │ ├── block: ∅
- │ └── flags: ∅
+ │ └── block: ∅
└── @ ParenthesesNode (location: (4,0)-(4,5))
├── body:
│ @ StatementsNode (location: (4,1)-(4,4))
│ └── body: (length: 1)
│ └── @ RangeNode (location: (4,1)-(4,4))
+ │ ├── flags: ∅
│ ├── left: ∅
│ ├── right:
│ │ @ IntegerNode (location: (4,3)-(4,4))
│ │ └── flags: decimal
- │ ├── operator_loc: (4,1)-(4,3) = ".."
- │ └── flags: ∅
+ │ └── operator_loc: (4,1)-(4,3) = ".."
├── opening_loc: (4,0)-(4,1) = "("
└── closing_loc: (4,4)-(4,5) = ")"
diff --git a/test/prism/snapshots/unparser/corpus/literal/since/31.txt b/test/prism/snapshots/unparser/corpus/literal/since/31.txt
index 6756860cde..d5bc8d0903 100644
--- a/test/prism/snapshots/unparser/corpus/literal/since/31.txt
+++ b/test/prism/snapshots/unparser/corpus/literal/since/31.txt
@@ -24,6 +24,7 @@
│ │ @ StatementsNode (location: (2,2)-(2,7))
│ │ └── body: (length: 1)
│ │ └── @ CallNode (location: (2,2)-(2,7))
+ │ │ ├── flags: ∅
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
│ │ ├── name: :bar
@@ -31,11 +32,10 @@
│ │ ├── opening_loc: (2,5)-(2,6) = "("
│ │ ├── arguments: ∅
│ │ ├── closing_loc: (2,7)-(2,8) = ")"
- │ │ ├── block:
- │ │ │ @ BlockArgumentNode (location: (2,6)-(2,7))
- │ │ │ ├── expression: ∅
- │ │ │ └── operator_loc: (2,6)-(2,7) = "&"
- │ │ └── flags: ∅
+ │ │ └── block:
+ │ │ @ BlockArgumentNode (location: (2,6)-(2,7))
+ │ │ ├── expression: ∅
+ │ │ └── operator_loc: (2,6)-(2,7) = "&"
│ ├── locals: [:&]
│ ├── locals_body_index: 1
│ ├── def_keyword_loc: (1,0)-(1,3) = "def"
@@ -67,6 +67,7 @@
│ @ StatementsNode (location: (6,2)-(6,7))
│ └── body: (length: 1)
│ └── @ CallNode (location: (6,2)-(6,7))
+ │ ├── flags: ∅
│ ├── receiver: ∅
│ ├── call_operator_loc: ∅
│ ├── name: :bar
@@ -74,11 +75,10 @@
│ ├── opening_loc: (6,5)-(6,6) = "("
│ ├── arguments: ∅
│ ├── closing_loc: (6,7)-(6,8) = ")"
- │ ├── block:
- │ │ @ BlockArgumentNode (location: (6,6)-(6,7))
- │ │ ├── expression: ∅
- │ │ └── operator_loc: (6,6)-(6,7) = "&"
- │ └── flags: ∅
+ │ └── block:
+ │ @ BlockArgumentNode (location: (6,6)-(6,7))
+ │ ├── expression: ∅
+ │ └── operator_loc: (6,6)-(6,7) = "&"
├── locals: [:a, :&]
├── locals_body_index: 2
├── def_keyword_loc: (5,0)-(5,3) = "def"
diff --git a/test/prism/snapshots/unparser/corpus/literal/since/32.txt b/test/prism/snapshots/unparser/corpus/literal/since/32.txt
index 24ba7fb851..09bc0e1575 100644
--- a/test/prism/snapshots/unparser/corpus/literal/since/32.txt
+++ b/test/prism/snapshots/unparser/corpus/literal/since/32.txt
@@ -26,6 +26,7 @@
│ │ @ StatementsNode (location: (2,2)-(2,19))
│ │ └── body: (length: 1)
│ │ └── @ CallNode (location: (2,2)-(2,19))
+ │ │ ├── flags: ∅
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
│ │ ├── name: :bar
@@ -33,19 +34,18 @@
│ │ ├── opening_loc: (2,5)-(2,6) = "("
│ │ ├── arguments:
│ │ │ @ ArgumentsNode (location: (2,6)-(2,18))
- │ │ │ ├── arguments: (length: 2)
- │ │ │ │ ├── @ LocalVariableReadNode (location: (2,6)-(2,14))
- │ │ │ │ │ ├── name: :argument
- │ │ │ │ │ └── depth: 0
- │ │ │ │ └── @ KeywordHashNode (location: (2,16)-(2,18))
- │ │ │ │ └── elements: (length: 1)
- │ │ │ │ └── @ AssocSplatNode (location: (2,16)-(2,18))
- │ │ │ │ ├── value: ∅
- │ │ │ │ └── operator_loc: (2,16)-(2,18) = "**"
- │ │ │ └── flags: contains_keyword_splat
+ │ │ │ ├── flags: contains_keyword_splat
+ │ │ │ └── arguments: (length: 2)
+ │ │ │ ├── @ LocalVariableReadNode (location: (2,6)-(2,14))
+ │ │ │ │ ├── name: :argument
+ │ │ │ │ └── depth: 0
+ │ │ │ └── @ KeywordHashNode (location: (2,16)-(2,18))
+ │ │ │ └── elements: (length: 1)
+ │ │ │ └── @ AssocSplatNode (location: (2,16)-(2,18))
+ │ │ │ ├── value: ∅
+ │ │ │ └── operator_loc: (2,16)-(2,18) = "**"
│ │ ├── closing_loc: (2,18)-(2,19) = ")"
- │ │ ├── block: ∅
- │ │ └── flags: ∅
+ │ │ └── block: ∅
│ ├── locals: [:argument, :**]
│ ├── locals_body_index: 2
│ ├── def_keyword_loc: (1,0)-(1,3) = "def"
@@ -77,6 +77,7 @@
│ @ StatementsNode (location: (6,2)-(6,18))
│ └── body: (length: 1)
│ └── @ CallNode (location: (6,2)-(6,18))
+ │ ├── flags: ∅
│ ├── receiver: ∅
│ ├── call_operator_loc: ∅
│ ├── name: :bar
@@ -84,17 +85,16 @@
│ ├── opening_loc: (6,5)-(6,6) = "("
│ ├── arguments:
│ │ @ ArgumentsNode (location: (6,6)-(6,17))
- │ │ ├── arguments: (length: 2)
- │ │ │ ├── @ LocalVariableReadNode (location: (6,6)-(6,14))
- │ │ │ │ ├── name: :argument
- │ │ │ │ └── depth: 0
- │ │ │ └── @ SplatNode (location: (6,16)-(6,17))
- │ │ │ ├── operator_loc: (6,16)-(6,17) = "*"
- │ │ │ └── expression: ∅
- │ │ └── flags: ∅
+ │ │ ├── flags: ∅
+ │ │ └── arguments: (length: 2)
+ │ │ ├── @ LocalVariableReadNode (location: (6,6)-(6,14))
+ │ │ │ ├── name: :argument
+ │ │ │ └── depth: 0
+ │ │ └── @ SplatNode (location: (6,16)-(6,17))
+ │ │ ├── operator_loc: (6,16)-(6,17) = "*"
+ │ │ └── expression: ∅
│ ├── closing_loc: (6,17)-(6,18) = ")"
- │ ├── block: ∅
- │ └── flags: ∅
+ │ └── block: ∅
├── locals: [:argument, :*]
├── locals_body_index: 2
├── def_keyword_loc: (5,0)-(5,3) = "def"
diff --git a/test/prism/snapshots/unparser/corpus/literal/super.txt b/test/prism/snapshots/unparser/corpus/literal/super.txt
index 8bc734749b..c4f3c0efca 100644
--- a/test/prism/snapshots/unparser/corpus/literal/super.txt
+++ b/test/prism/snapshots/unparser/corpus/literal/super.txt
@@ -16,18 +16,18 @@
│ ├── lparen_loc: (3,5)-(3,6) = "("
│ ├── arguments:
│ │ @ ArgumentsNode (location: (3,6)-(3,7))
- │ │ ├── arguments: (length: 1)
- │ │ │ └── @ CallNode (location: (3,6)-(3,7))
- │ │ │ ├── receiver: ∅
- │ │ │ ├── call_operator_loc: ∅
- │ │ │ ├── name: :a
- │ │ │ ├── message_loc: (3,6)-(3,7) = "a"
- │ │ │ ├── opening_loc: ∅
- │ │ │ ├── arguments: ∅
- │ │ │ ├── closing_loc: ∅
- │ │ │ ├── block: ∅
- │ │ │ └── flags: variable_call
- │ │ └── flags: ∅
+ │ │ ├── flags: ∅
+ │ │ └── arguments: (length: 1)
+ │ │ └── @ CallNode (location: (3,6)-(3,7))
+ │ │ ├── flags: variable_call
+ │ │ ├── receiver: ∅
+ │ │ ├── call_operator_loc: ∅
+ │ │ ├── name: :a
+ │ │ ├── message_loc: (3,6)-(3,7) = "a"
+ │ │ ├── opening_loc: ∅
+ │ │ ├── arguments: ∅
+ │ │ ├── closing_loc: ∅
+ │ │ └── block: ∅
│ ├── rparen_loc: (3,7)-(3,8) = ")"
│ └── block: ∅
├── @ SuperNode (location: (4,0)-(4,11))
@@ -35,28 +35,28 @@
│ ├── lparen_loc: (4,5)-(4,6) = "("
│ ├── arguments:
│ │ @ ArgumentsNode (location: (4,6)-(4,10))
- │ │ ├── arguments: (length: 2)
- │ │ │ ├── @ CallNode (location: (4,6)-(4,7))
- │ │ │ │ ├── receiver: ∅
- │ │ │ │ ├── call_operator_loc: ∅
- │ │ │ │ ├── name: :a
- │ │ │ │ ├── message_loc: (4,6)-(4,7) = "a"
- │ │ │ │ ├── opening_loc: ∅
- │ │ │ │ ├── arguments: ∅
- │ │ │ │ ├── closing_loc: ∅
- │ │ │ │ ├── block: ∅
- │ │ │ │ └── flags: variable_call
- │ │ │ └── @ CallNode (location: (4,9)-(4,10))
- │ │ │ ├── receiver: ∅
- │ │ │ ├── call_operator_loc: ∅
- │ │ │ ├── name: :b
- │ │ │ ├── message_loc: (4,9)-(4,10) = "b"
- │ │ │ ├── opening_loc: ∅
- │ │ │ ├── arguments: ∅
- │ │ │ ├── closing_loc: ∅
- │ │ │ ├── block: ∅
- │ │ │ └── flags: variable_call
- │ │ └── flags: ∅
+ │ │ ├── flags: ∅
+ │ │ └── arguments: (length: 2)
+ │ │ ├── @ CallNode (location: (4,6)-(4,7))
+ │ │ │ ├── flags: variable_call
+ │ │ │ ├── receiver: ∅
+ │ │ │ ├── call_operator_loc: ∅
+ │ │ │ ├── name: :a
+ │ │ │ ├── message_loc: (4,6)-(4,7) = "a"
+ │ │ │ ├── opening_loc: ∅
+ │ │ │ ├── arguments: ∅
+ │ │ │ ├── closing_loc: ∅
+ │ │ │ └── block: ∅
+ │ │ └── @ CallNode (location: (4,9)-(4,10))
+ │ │ ├── flags: variable_call
+ │ │ ├── receiver: ∅
+ │ │ ├── call_operator_loc: ∅
+ │ │ ├── name: :b
+ │ │ ├── message_loc: (4,9)-(4,10) = "b"
+ │ │ ├── opening_loc: ∅
+ │ │ ├── arguments: ∅
+ │ │ ├── closing_loc: ∅
+ │ │ └── block: ∅
│ ├── rparen_loc: (4,10)-(4,11) = ")"
│ └── block: ∅
├── @ SuperNode (location: (5,0)-(5,13))
@@ -68,6 +68,7 @@
│ @ BlockArgumentNode (location: (5,6)-(5,12))
│ ├── expression:
│ │ @ CallNode (location: (5,7)-(5,12))
+ │ │ ├── flags: variable_call
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
│ │ ├── name: :block
@@ -75,31 +76,31 @@
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
- │ │ ├── block: ∅
- │ │ └── flags: variable_call
+ │ │ └── block: ∅
│ └── operator_loc: (5,6)-(5,7) = "&"
├── @ SuperNode (location: (6,0)-(6,16))
│ ├── keyword_loc: (6,0)-(6,5) = "super"
│ ├── lparen_loc: (6,5)-(6,6) = "("
│ ├── arguments:
│ │ @ ArgumentsNode (location: (6,6)-(6,7))
- │ │ ├── arguments: (length: 1)
- │ │ │ └── @ CallNode (location: (6,6)-(6,7))
- │ │ │ ├── receiver: ∅
- │ │ │ ├── call_operator_loc: ∅
- │ │ │ ├── name: :a
- │ │ │ ├── message_loc: (6,6)-(6,7) = "a"
- │ │ │ ├── opening_loc: ∅
- │ │ │ ├── arguments: ∅
- │ │ │ ├── closing_loc: ∅
- │ │ │ ├── block: ∅
- │ │ │ └── flags: variable_call
- │ │ └── flags: ∅
+ │ │ ├── flags: ∅
+ │ │ └── arguments: (length: 1)
+ │ │ └── @ CallNode (location: (6,6)-(6,7))
+ │ │ ├── flags: variable_call
+ │ │ ├── receiver: ∅
+ │ │ ├── call_operator_loc: ∅
+ │ │ ├── name: :a
+ │ │ ├── message_loc: (6,6)-(6,7) = "a"
+ │ │ ├── opening_loc: ∅
+ │ │ ├── arguments: ∅
+ │ │ ├── closing_loc: ∅
+ │ │ └── block: ∅
│ ├── rparen_loc: (6,15)-(6,16) = ")"
│ └── block:
│ @ BlockArgumentNode (location: (6,9)-(6,15))
│ ├── expression:
│ │ @ CallNode (location: (6,10)-(6,15))
+ │ │ ├── flags: variable_call
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
│ │ ├── name: :block
@@ -107,45 +108,44 @@
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
- │ │ ├── block: ∅
- │ │ └── flags: variable_call
+ │ │ └── block: ∅
│ └── operator_loc: (6,9)-(6,10) = "&"
├── @ SuperNode (location: (7,0)-(9,2))
│ ├── keyword_loc: (7,0)-(7,5) = "super"
│ ├── lparen_loc: (7,5)-(7,6) = "("
│ ├── arguments:
│ │ @ ArgumentsNode (location: (7,6)-(9,1))
- │ │ ├── arguments: (length: 1)
- │ │ │ └── @ CallNode (location: (7,6)-(9,1))
- │ │ │ ├── receiver: ∅
- │ │ │ ├── call_operator_loc: ∅
- │ │ │ ├── name: :a
- │ │ │ ├── message_loc: (7,6)-(7,7) = "a"
- │ │ │ ├── opening_loc: ∅
- │ │ │ ├── arguments: ∅
- │ │ │ ├── closing_loc: ∅
- │ │ │ ├── block:
- │ │ │ │ @ BlockNode (location: (7,8)-(9,1))
- │ │ │ │ ├── locals: []
- │ │ │ │ ├── locals_body_index: 0
- │ │ │ │ ├── parameters: ∅
- │ │ │ │ ├── body:
- │ │ │ │ │ @ StatementsNode (location: (8,2)-(8,5))
- │ │ │ │ │ └── body: (length: 1)
- │ │ │ │ │ └── @ CallNode (location: (8,2)-(8,5))
- │ │ │ │ │ ├── receiver: ∅
- │ │ │ │ │ ├── call_operator_loc: ∅
- │ │ │ │ │ ├── name: :foo
- │ │ │ │ │ ├── message_loc: (8,2)-(8,5) = "foo"
- │ │ │ │ │ ├── opening_loc: ∅
- │ │ │ │ │ ├── arguments: ∅
- │ │ │ │ │ ├── closing_loc: ∅
- │ │ │ │ │ ├── block: ∅
- │ │ │ │ │ └── flags: variable_call
- │ │ │ │ ├── opening_loc: (7,8)-(7,9) = "{"
- │ │ │ │ └── closing_loc: (9,0)-(9,1) = "}"
- │ │ │ └── flags: ∅
- │ │ └── flags: ∅
+ │ │ ├── flags: ∅
+ │ │ └── arguments: (length: 1)
+ │ │ └── @ CallNode (location: (7,6)-(9,1))
+ │ │ ├── flags: ∅
+ │ │ ├── receiver: ∅
+ │ │ ├── call_operator_loc: ∅
+ │ │ ├── name: :a
+ │ │ ├── message_loc: (7,6)-(7,7) = "a"
+ │ │ ├── opening_loc: ∅
+ │ │ ├── arguments: ∅
+ │ │ ├── closing_loc: ∅
+ │ │ └── block:
+ │ │ @ BlockNode (location: (7,8)-(9,1))
+ │ │ ├── locals: []
+ │ │ ├── locals_body_index: 0
+ │ │ ├── parameters: ∅
+ │ │ ├── body:
+ │ │ │ @ StatementsNode (location: (8,2)-(8,5))
+ │ │ │ └── body: (length: 1)
+ │ │ │ └── @ CallNode (location: (8,2)-(8,5))
+ │ │ │ ├── flags: variable_call
+ │ │ │ ├── receiver: ∅
+ │ │ │ ├── call_operator_loc: ∅
+ │ │ │ ├── name: :foo
+ │ │ │ ├── message_loc: (8,2)-(8,5) = "foo"
+ │ │ │ ├── opening_loc: ∅
+ │ │ │ ├── arguments: ∅
+ │ │ │ ├── closing_loc: ∅
+ │ │ │ └── block: ∅
+ │ │ ├── opening_loc: (7,8)-(7,9) = "{"
+ │ │ └── closing_loc: (9,0)-(9,1) = "}"
│ ├── rparen_loc: (9,1)-(9,2) = ")"
│ └── block: ∅
├── @ ForwardingSuperNode (location: (10,0)-(12,1))
@@ -158,6 +158,7 @@
│ │ @ StatementsNode (location: (11,2)-(11,5))
│ │ └── body: (length: 1)
│ │ └── @ CallNode (location: (11,2)-(11,5))
+ │ │ ├── flags: variable_call
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
│ │ ├── name: :foo
@@ -165,8 +166,7 @@
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
- │ │ ├── block: ∅
- │ │ └── flags: variable_call
+ │ │ └── block: ∅
│ ├── opening_loc: (10,6)-(10,7) = "{"
│ └── closing_loc: (12,0)-(12,1) = "}"
├── @ SuperNode (location: (13,0)-(15,1))
@@ -174,18 +174,18 @@
│ ├── lparen_loc: (13,5)-(13,6) = "("
│ ├── arguments:
│ │ @ ArgumentsNode (location: (13,6)-(13,7))
- │ │ ├── arguments: (length: 1)
- │ │ │ └── @ CallNode (location: (13,6)-(13,7))
- │ │ │ ├── receiver: ∅
- │ │ │ ├── call_operator_loc: ∅
- │ │ │ ├── name: :a
- │ │ │ ├── message_loc: (13,6)-(13,7) = "a"
- │ │ │ ├── opening_loc: ∅
- │ │ │ ├── arguments: ∅
- │ │ │ ├── closing_loc: ∅
- │ │ │ ├── block: ∅
- │ │ │ └── flags: variable_call
- │ │ └── flags: ∅
+ │ │ ├── flags: ∅
+ │ │ └── arguments: (length: 1)
+ │ │ └── @ CallNode (location: (13,6)-(13,7))
+ │ │ ├── flags: variable_call
+ │ │ ├── receiver: ∅
+ │ │ ├── call_operator_loc: ∅
+ │ │ ├── name: :a
+ │ │ ├── message_loc: (13,6)-(13,7) = "a"
+ │ │ ├── opening_loc: ∅
+ │ │ ├── arguments: ∅
+ │ │ ├── closing_loc: ∅
+ │ │ └── block: ∅
│ ├── rparen_loc: (13,7)-(13,8) = ")"
│ └── block:
│ @ BlockNode (location: (13,9)-(15,1))
@@ -196,6 +196,7 @@
│ │ @ StatementsNode (location: (14,2)-(14,5))
│ │ └── body: (length: 1)
│ │ └── @ CallNode (location: (14,2)-(14,5))
+ │ │ ├── flags: variable_call
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
│ │ ├── name: :foo
@@ -203,8 +204,7 @@
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
- │ │ ├── block: ∅
- │ │ └── flags: variable_call
+ │ │ └── block: ∅
│ ├── opening_loc: (13,9)-(13,10) = "{"
│ └── closing_loc: (15,0)-(15,1) = "}"
├── @ SuperNode (location: (16,0)-(18,1))
@@ -221,6 +221,7 @@
│ │ @ StatementsNode (location: (17,2)-(17,5))
│ │ └── body: (length: 1)
│ │ └── @ CallNode (location: (17,2)-(17,5))
+ │ │ ├── flags: variable_call
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
│ │ ├── name: :foo
@@ -228,8 +229,7 @@
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
- │ │ ├── block: ∅
- │ │ └── flags: variable_call
+ │ │ └── block: ∅
│ ├── opening_loc: (16,8)-(16,9) = "{"
│ └── closing_loc: (18,0)-(18,1) = "}"
└── @ SuperNode (location: (19,0)-(21,1))
@@ -237,28 +237,28 @@
├── lparen_loc: (19,5)-(19,6) = "("
├── arguments:
│ @ ArgumentsNode (location: (19,6)-(19,10))
- │ ├── arguments: (length: 2)
- │ │ ├── @ CallNode (location: (19,6)-(19,7))
- │ │ │ ├── receiver: ∅
- │ │ │ ├── call_operator_loc: ∅
- │ │ │ ├── name: :a
- │ │ │ ├── message_loc: (19,6)-(19,7) = "a"
- │ │ │ ├── opening_loc: ∅
- │ │ │ ├── arguments: ∅
- │ │ │ ├── closing_loc: ∅
- │ │ │ ├── block: ∅
- │ │ │ └── flags: variable_call
- │ │ └── @ CallNode (location: (19,9)-(19,10))
- │ │ ├── receiver: ∅
- │ │ ├── call_operator_loc: ∅
- │ │ ├── name: :b
- │ │ ├── message_loc: (19,9)-(19,10) = "b"
- │ │ ├── opening_loc: ∅
- │ │ ├── arguments: ∅
- │ │ ├── closing_loc: ∅
- │ │ ├── block: ∅
- │ │ └── flags: variable_call
- │ └── flags: ∅
+ │ ├── flags: ∅
+ │ └── arguments: (length: 2)
+ │ ├── @ CallNode (location: (19,6)-(19,7))
+ │ │ ├── flags: variable_call
+ │ │ ├── receiver: ∅
+ │ │ ├── call_operator_loc: ∅
+ │ │ ├── name: :a
+ │ │ ├── message_loc: (19,6)-(19,7) = "a"
+ │ │ ├── opening_loc: ∅
+ │ │ ├── arguments: ∅
+ │ │ ├── closing_loc: ∅
+ │ │ └── block: ∅
+ │ └── @ CallNode (location: (19,9)-(19,10))
+ │ ├── flags: variable_call
+ │ ├── receiver: ∅
+ │ ├── call_operator_loc: ∅
+ │ ├── name: :b
+ │ ├── message_loc: (19,9)-(19,10) = "b"
+ │ ├── opening_loc: ∅
+ │ ├── arguments: ∅
+ │ ├── closing_loc: ∅
+ │ └── block: ∅
├── rparen_loc: (19,10)-(19,11) = ")"
└── block:
@ BlockNode (location: (19,12)-(21,1))
@@ -269,6 +269,7 @@
│ @ StatementsNode (location: (20,2)-(20,5))
│ └── body: (length: 1)
│ └── @ CallNode (location: (20,2)-(20,5))
+ │ ├── flags: variable_call
│ ├── receiver: ∅
│ ├── call_operator_loc: ∅
│ ├── name: :foo
@@ -276,7 +277,6 @@
│ ├── opening_loc: ∅
│ ├── arguments: ∅
│ ├── closing_loc: ∅
- │ ├── block: ∅
- │ └── flags: variable_call
+ │ └── block: ∅
├── opening_loc: (19,12)-(19,13) = "{"
└── closing_loc: (21,0)-(21,1) = "}"
diff --git a/test/prism/snapshots/unparser/corpus/literal/unary.txt b/test/prism/snapshots/unparser/corpus/literal/unary.txt
index 1828fc9926..97eec0c01e 100644
--- a/test/prism/snapshots/unparser/corpus/literal/unary.txt
+++ b/test/prism/snapshots/unparser/corpus/literal/unary.txt
@@ -4,6 +4,7 @@
@ StatementsNode (location: (1,0)-(8,9))
└── body: (length: 8)
├── @ CallNode (location: (1,0)-(1,2))
+ │ ├── flags: ∅
│ ├── receiver:
│ │ @ IntegerNode (location: (1,1)-(1,2))
│ │ └── flags: decimal
@@ -13,15 +14,16 @@
│ ├── opening_loc: ∅
│ ├── arguments: ∅
│ ├── closing_loc: ∅
- │ ├── block: ∅
- │ └── flags: ∅
+ │ └── block: ∅
├── @ CallNode (location: (2,0)-(2,5))
+ │ ├── flags: ∅
│ ├── receiver:
│ │ @ ParenthesesNode (location: (2,1)-(2,5))
│ │ ├── body:
│ │ │ @ StatementsNode (location: (2,2)-(2,4))
│ │ │ └── body: (length: 1)
│ │ │ └── @ CallNode (location: (2,2)-(2,4))
+ │ │ │ ├── flags: ∅
│ │ │ ├── receiver:
│ │ │ │ @ IntegerNode (location: (2,3)-(2,4))
│ │ │ │ └── flags: decimal
@@ -31,8 +33,7 @@
│ │ │ ├── opening_loc: ∅
│ │ │ ├── arguments: ∅
│ │ │ ├── closing_loc: ∅
- │ │ │ ├── block: ∅
- │ │ │ └── flags: ∅
+ │ │ │ └── block: ∅
│ │ ├── opening_loc: (2,1)-(2,2) = "("
│ │ └── closing_loc: (2,4)-(2,5) = ")"
│ ├── call_operator_loc: ∅
@@ -41,15 +42,16 @@
│ ├── opening_loc: ∅
│ ├── arguments: ∅
│ ├── closing_loc: ∅
- │ ├── block: ∅
- │ └── flags: ∅
+ │ └── block: ∅
├── @ CallNode (location: (3,0)-(3,16))
+ │ ├── flags: ∅
│ ├── receiver:
│ │ @ ParenthesesNode (location: (3,1)-(3,16))
│ │ ├── body:
│ │ │ @ StatementsNode (location: (3,2)-(3,15))
│ │ │ └── body: (length: 1)
│ │ │ └── @ CallNode (location: (3,2)-(3,15))
+ │ │ │ ├── flags: ∅
│ │ │ ├── receiver:
│ │ │ │ @ ParenthesesNode (location: (3,3)-(3,15))
│ │ │ │ ├── body:
@@ -58,6 +60,7 @@
│ │ │ │ │ └── @ OrNode (location: (3,4)-(3,14))
│ │ │ │ │ ├── left:
│ │ │ │ │ │ @ CallNode (location: (3,4)-(3,7))
+ │ │ │ │ │ │ ├── flags: variable_call
│ │ │ │ │ │ ├── receiver: ∅
│ │ │ │ │ │ ├── call_operator_loc: ∅
│ │ │ │ │ │ ├── name: :foo
@@ -65,10 +68,10 @@
│ │ │ │ │ │ ├── opening_loc: ∅
│ │ │ │ │ │ ├── arguments: ∅
│ │ │ │ │ │ ├── closing_loc: ∅
- │ │ │ │ │ │ ├── block: ∅
- │ │ │ │ │ │ └── flags: variable_call
+ │ │ │ │ │ │ └── block: ∅
│ │ │ │ │ ├── right:
│ │ │ │ │ │ @ CallNode (location: (3,11)-(3,14))
+ │ │ │ │ │ │ ├── flags: variable_call
│ │ │ │ │ │ ├── receiver: ∅
│ │ │ │ │ │ ├── call_operator_loc: ∅
│ │ │ │ │ │ ├── name: :bar
@@ -76,8 +79,7 @@
│ │ │ │ │ │ ├── opening_loc: ∅
│ │ │ │ │ │ ├── arguments: ∅
│ │ │ │ │ │ ├── closing_loc: ∅
- │ │ │ │ │ │ ├── block: ∅
- │ │ │ │ │ │ └── flags: variable_call
+ │ │ │ │ │ │ └── block: ∅
│ │ │ │ │ └── operator_loc: (3,8)-(3,10) = "||"
│ │ │ │ ├── opening_loc: (3,3)-(3,4) = "("
│ │ │ │ └── closing_loc: (3,14)-(3,15) = ")"
@@ -87,8 +89,7 @@
│ │ │ ├── opening_loc: ∅
│ │ │ ├── arguments: ∅
│ │ │ ├── closing_loc: ∅
- │ │ │ ├── block: ∅
- │ │ │ └── flags: ∅
+ │ │ │ └── block: ∅
│ │ ├── opening_loc: (3,1)-(3,2) = "("
│ │ └── closing_loc: (3,15)-(3,16) = ")"
│ ├── call_operator_loc: ∅
@@ -97,17 +98,19 @@
│ ├── opening_loc: ∅
│ ├── arguments: ∅
│ ├── closing_loc: ∅
- │ ├── block: ∅
- │ └── flags: ∅
+ │ └── block: ∅
├── @ CallNode (location: (4,0)-(4,9))
+ │ ├── flags: ∅
│ ├── receiver:
│ │ @ CallNode (location: (4,1)-(4,9))
+ │ │ ├── flags: ∅
│ │ ├── receiver:
│ │ │ @ ParenthesesNode (location: (4,1)-(4,5))
│ │ │ ├── body:
│ │ │ │ @ StatementsNode (location: (4,2)-(4,4))
│ │ │ │ └── body: (length: 1)
│ │ │ │ └── @ CallNode (location: (4,2)-(4,4))
+ │ │ │ │ ├── flags: ∅
│ │ │ │ ├── receiver:
│ │ │ │ │ @ IntegerNode (location: (4,3)-(4,4))
│ │ │ │ │ └── flags: decimal
@@ -117,8 +120,7 @@
│ │ │ │ ├── opening_loc: ∅
│ │ │ │ ├── arguments: ∅
│ │ │ │ ├── closing_loc: ∅
- │ │ │ │ ├── block: ∅
- │ │ │ │ └── flags: ∅
+ │ │ │ │ └── block: ∅
│ │ │ ├── opening_loc: (4,1)-(4,2) = "("
│ │ │ └── closing_loc: (4,4)-(4,5) = ")"
│ │ ├── call_operator_loc: (4,5)-(4,6) = "."
@@ -127,19 +129,19 @@
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
- │ │ ├── block: ∅
- │ │ └── flags: ∅
+ │ │ └── block: ∅
│ ├── call_operator_loc: ∅
│ ├── name: :!
│ ├── message_loc: (4,0)-(4,1) = "!"
│ ├── opening_loc: ∅
│ ├── arguments: ∅
│ ├── closing_loc: ∅
- │ ├── block: ∅
- │ └── flags: ∅
+ │ └── block: ∅
├── @ CallNode (location: (5,0)-(5,2))
+ │ ├── flags: ∅
│ ├── receiver:
│ │ @ CallNode (location: (5,1)-(5,2))
+ │ │ ├── flags: variable_call
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
│ │ ├── name: :a
@@ -147,19 +149,19 @@
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
- │ │ ├── block: ∅
- │ │ └── flags: variable_call
+ │ │ └── block: ∅
│ ├── call_operator_loc: ∅
│ ├── name: :~
│ ├── message_loc: (5,0)-(5,1) = "~"
│ ├── opening_loc: ∅
│ ├── arguments: ∅
│ ├── closing_loc: ∅
- │ ├── block: ∅
- │ └── flags: ∅
+ │ └── block: ∅
├── @ CallNode (location: (6,0)-(6,2))
+ │ ├── flags: ∅
│ ├── receiver:
│ │ @ CallNode (location: (6,1)-(6,2))
+ │ │ ├── flags: variable_call
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
│ │ ├── name: :a
@@ -167,19 +169,19 @@
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
- │ │ ├── block: ∅
- │ │ └── flags: variable_call
+ │ │ └── block: ∅
│ ├── call_operator_loc: ∅
│ ├── name: :-@
│ ├── message_loc: (6,0)-(6,1) = "-"
│ ├── opening_loc: ∅
│ ├── arguments: ∅
│ ├── closing_loc: ∅
- │ ├── block: ∅
- │ └── flags: ∅
+ │ └── block: ∅
├── @ CallNode (location: (7,0)-(7,2))
+ │ ├── flags: ∅
│ ├── receiver:
│ │ @ CallNode (location: (7,1)-(7,2))
+ │ │ ├── flags: variable_call
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
│ │ ├── name: :a
@@ -187,27 +189,29 @@
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
- │ │ ├── block: ∅
- │ │ └── flags: variable_call
+ │ │ └── block: ∅
│ ├── call_operator_loc: ∅
│ ├── name: :+@
│ ├── message_loc: (7,0)-(7,1) = "+"
│ ├── opening_loc: ∅
│ ├── arguments: ∅
│ ├── closing_loc: ∅
- │ ├── block: ∅
- │ └── flags: ∅
+ │ └── block: ∅
└── @ CallNode (location: (8,0)-(8,9))
+ ├── flags: ∅
├── receiver:
│ @ CallNode (location: (8,1)-(8,9))
+ │ ├── flags: ∅
│ ├── receiver:
│ │ @ ParenthesesNode (location: (8,1)-(8,5))
│ │ ├── body:
│ │ │ @ StatementsNode (location: (8,2)-(8,4))
│ │ │ └── body: (length: 1)
│ │ │ └── @ CallNode (location: (8,2)-(8,4))
+ │ │ │ ├── flags: ∅
│ │ │ ├── receiver:
│ │ │ │ @ CallNode (location: (8,3)-(8,4))
+ │ │ │ │ ├── flags: variable_call
│ │ │ │ ├── receiver: ∅
│ │ │ │ ├── call_operator_loc: ∅
│ │ │ │ ├── name: :a
@@ -215,16 +219,14 @@
│ │ │ │ ├── opening_loc: ∅
│ │ │ │ ├── arguments: ∅
│ │ │ │ ├── closing_loc: ∅
- │ │ │ │ ├── block: ∅
- │ │ │ │ └── flags: variable_call
+ │ │ │ │ └── block: ∅
│ │ │ ├── call_operator_loc: ∅
│ │ │ ├── name: :-@
│ │ │ ├── message_loc: (8,2)-(8,3) = "-"
│ │ │ ├── opening_loc: ∅
│ │ │ ├── arguments: ∅
│ │ │ ├── closing_loc: ∅
- │ │ │ ├── block: ∅
- │ │ │ └── flags: ∅
+ │ │ │ └── block: ∅
│ │ ├── opening_loc: (8,1)-(8,2) = "("
│ │ └── closing_loc: (8,4)-(8,5) = ")"
│ ├── call_operator_loc: (8,5)-(8,6) = "."
@@ -233,13 +235,11 @@
│ ├── opening_loc: ∅
│ ├── arguments: ∅
│ ├── closing_loc: ∅
- │ ├── block: ∅
- │ └── flags: ∅
+ │ └── block: ∅
├── call_operator_loc: ∅
├── name: :-@
├── message_loc: (8,0)-(8,1) = "-"
├── opening_loc: ∅
├── arguments: ∅
├── closing_loc: ∅
- ├── block: ∅
- └── flags: ∅
+ └── block: ∅
diff --git a/test/prism/snapshots/unparser/corpus/literal/variables.txt b/test/prism/snapshots/unparser/corpus/literal/variables.txt
index c894d5803e..a667bc7e8b 100644
--- a/test/prism/snapshots/unparser/corpus/literal/variables.txt
+++ b/test/prism/snapshots/unparser/corpus/literal/variables.txt
@@ -4,6 +4,7 @@
@ StatementsNode (location: (1,0)-(10,17))
└── body: (length: 10)
├── @ CallNode (location: (1,0)-(1,1))
+ │ ├── flags: variable_call
│ ├── receiver: ∅
│ ├── call_operator_loc: ∅
│ ├── name: :a
@@ -11,8 +12,7 @@
│ ├── opening_loc: ∅
│ ├── arguments: ∅
│ ├── closing_loc: ∅
- │ ├── block: ∅
- │ └── flags: variable_call
+ │ └── block: ∅
├── @ InstanceVariableReadNode (location: (2,0)-(2,2))
│ └── name: :@a
├── @ ClassVariableReadNode (location: (3,0)-(3,3))
diff --git a/test/prism/snapshots/unparser/corpus/literal/while.txt b/test/prism/snapshots/unparser/corpus/literal/while.txt
index c5221a0a18..0758d82127 100644
--- a/test/prism/snapshots/unparser/corpus/literal/while.txt
+++ b/test/prism/snapshots/unparser/corpus/literal/while.txt
@@ -13,6 +13,7 @@
│ │ @ StatementsNode (location: (2,2)-(6,3))
│ │ └── body: (length: 1)
│ │ └── @ CallNode (location: (2,2)-(6,3))
+ │ │ ├── flags: ∅
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
│ │ ├── name: :foo
@@ -20,59 +21,58 @@
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
- │ │ ├── block:
- │ │ │ @ BlockNode (location: (2,6)-(6,3))
- │ │ │ ├── locals: [:bar, :foo]
- │ │ │ ├── locals_body_index: 1
- │ │ │ ├── parameters:
- │ │ │ │ @ BlockParametersNode (location: (2,8)-(2,13))
- │ │ │ │ ├── parameters:
- │ │ │ │ │ @ ParametersNode (location: (2,9)-(2,12))
- │ │ │ │ │ ├── requireds: (length: 1)
- │ │ │ │ │ │ └── @ RequiredParameterNode (location: (2,9)-(2,12))
- │ │ │ │ │ │ └── name: :bar
- │ │ │ │ │ ├── optionals: (length: 0)
- │ │ │ │ │ ├── rest: ∅
- │ │ │ │ │ ├── posts: (length: 0)
- │ │ │ │ │ ├── keywords: (length: 0)
- │ │ │ │ │ ├── keyword_rest: ∅
- │ │ │ │ │ └── block: ∅
- │ │ │ │ ├── locals: (length: 0)
- │ │ │ │ ├── opening_loc: (2,8)-(2,9) = "|"
- │ │ │ │ └── closing_loc: (2,12)-(2,13) = "|"
- │ │ │ ├── body:
- │ │ │ │ @ StatementsNode (location: (3,4)-(5,7))
- │ │ │ │ └── body: (length: 1)
- │ │ │ │ └── @ WhileNode (location: (3,4)-(5,7))
- │ │ │ │ ├── keyword_loc: (3,4)-(3,9) = "while"
- │ │ │ │ ├── closing_loc: (5,4)-(5,7) = "end"
- │ │ │ │ ├── predicate:
- │ │ │ │ │ @ CallNode (location: (3,10)-(3,13))
- │ │ │ │ │ ├── receiver: ∅
- │ │ │ │ │ ├── call_operator_loc: ∅
- │ │ │ │ │ ├── name: :foo
- │ │ │ │ │ ├── message_loc: (3,10)-(3,13) = "foo"
- │ │ │ │ │ ├── opening_loc: ∅
- │ │ │ │ │ ├── arguments: ∅
- │ │ │ │ │ ├── closing_loc: ∅
- │ │ │ │ │ ├── block: ∅
- │ │ │ │ │ └── flags: variable_call
- │ │ │ │ ├── statements:
- │ │ │ │ │ @ StatementsNode (location: (4,6)-(4,15))
- │ │ │ │ │ └── body: (length: 1)
- │ │ │ │ │ └── @ LocalVariableWriteNode (location: (4,6)-(4,15))
- │ │ │ │ │ ├── name: :foo
- │ │ │ │ │ ├── depth: 0
- │ │ │ │ │ ├── name_loc: (4,6)-(4,9) = "foo"
- │ │ │ │ │ ├── value:
- │ │ │ │ │ │ @ LocalVariableReadNode (location: (4,12)-(4,15))
- │ │ │ │ │ │ ├── name: :bar
- │ │ │ │ │ │ └── depth: 0
- │ │ │ │ │ └── operator_loc: (4,10)-(4,11) = "="
- │ │ │ │ └── flags: ∅
- │ │ │ ├── opening_loc: (2,6)-(2,7) = "{"
- │ │ │ └── closing_loc: (6,2)-(6,3) = "}"
- │ │ └── flags: ∅
+ │ │ └── block:
+ │ │ @ BlockNode (location: (2,6)-(6,3))
+ │ │ ├── locals: [:bar, :foo]
+ │ │ ├── locals_body_index: 1
+ │ │ ├── parameters:
+ │ │ │ @ BlockParametersNode (location: (2,8)-(2,13))
+ │ │ │ ├── parameters:
+ │ │ │ │ @ ParametersNode (location: (2,9)-(2,12))
+ │ │ │ │ ├── requireds: (length: 1)
+ │ │ │ │ │ └── @ RequiredParameterNode (location: (2,9)-(2,12))
+ │ │ │ │ │ └── name: :bar
+ │ │ │ │ ├── optionals: (length: 0)
+ │ │ │ │ ├── rest: ∅
+ │ │ │ │ ├── posts: (length: 0)
+ │ │ │ │ ├── keywords: (length: 0)
+ │ │ │ │ ├── keyword_rest: ∅
+ │ │ │ │ └── block: ∅
+ │ │ │ ├── locals: (length: 0)
+ │ │ │ ├── opening_loc: (2,8)-(2,9) = "|"
+ │ │ │ └── closing_loc: (2,12)-(2,13) = "|"
+ │ │ ├── body:
+ │ │ │ @ StatementsNode (location: (3,4)-(5,7))
+ │ │ │ └── body: (length: 1)
+ │ │ │ └── @ WhileNode (location: (3,4)-(5,7))
+ │ │ │ ├── flags: ∅
+ │ │ │ ├── keyword_loc: (3,4)-(3,9) = "while"
+ │ │ │ ├── closing_loc: (5,4)-(5,7) = "end"
+ │ │ │ ├── predicate:
+ │ │ │ │ @ CallNode (location: (3,10)-(3,13))
+ │ │ │ │ ├── flags: variable_call
+ │ │ │ │ ├── receiver: ∅
+ │ │ │ │ ├── call_operator_loc: ∅
+ │ │ │ │ ├── name: :foo
+ │ │ │ │ ├── message_loc: (3,10)-(3,13) = "foo"
+ │ │ │ │ ├── opening_loc: ∅
+ │ │ │ │ ├── arguments: ∅
+ │ │ │ │ ├── closing_loc: ∅
+ │ │ │ │ └── block: ∅
+ │ │ │ └── statements:
+ │ │ │ @ StatementsNode (location: (4,6)-(4,15))
+ │ │ │ └── body: (length: 1)
+ │ │ │ └── @ LocalVariableWriteNode (location: (4,6)-(4,15))
+ │ │ │ ├── name: :foo
+ │ │ │ ├── depth: 0
+ │ │ │ ├── name_loc: (4,6)-(4,9) = "foo"
+ │ │ │ ├── value:
+ │ │ │ │ @ LocalVariableReadNode (location: (4,12)-(4,15))
+ │ │ │ │ ├── name: :bar
+ │ │ │ │ └── depth: 0
+ │ │ │ └── operator_loc: (4,10)-(4,11) = "="
+ │ │ ├── opening_loc: (2,6)-(2,7) = "{"
+ │ │ └── closing_loc: (6,2)-(6,3) = "}"
│ ├── end_keyword_loc: (7,0)-(7,3) = "end"
│ └── name: :A
├── @ DefNode (location: (9,0)-(11,3))
@@ -84,10 +84,12 @@
│ │ @ StatementsNode (location: (10,2)-(10,28))
│ │ └── body: (length: 1)
│ │ └── @ WhileNode (location: (10,2)-(10,28))
+ │ │ ├── flags: ∅
│ │ ├── keyword_loc: (10,12)-(10,17) = "while"
│ │ ├── closing_loc: ∅
│ │ ├── predicate:
│ │ │ @ CallNode (location: (10,18)-(10,28))
+ │ │ │ ├── flags: ∅
│ │ │ ├── receiver:
│ │ │ │ @ LocalVariableReadNode (location: (10,18)-(10,21))
│ │ │ │ ├── name: :foo
@@ -98,41 +100,39 @@
│ │ │ ├── opening_loc: ∅
│ │ │ ├── arguments:
│ │ │ │ @ ArgumentsNode (location: (10,25)-(10,28))
- │ │ │ │ ├── arguments: (length: 1)
- │ │ │ │ │ └── @ CallNode (location: (10,25)-(10,28))
- │ │ │ │ │ ├── receiver: ∅
- │ │ │ │ │ ├── call_operator_loc: ∅
- │ │ │ │ │ ├── name: :baz
- │ │ │ │ │ ├── message_loc: (10,25)-(10,28) = "baz"
- │ │ │ │ │ ├── opening_loc: ∅
- │ │ │ │ │ ├── arguments: ∅
- │ │ │ │ │ ├── closing_loc: ∅
- │ │ │ │ │ ├── block: ∅
- │ │ │ │ │ └── flags: variable_call
- │ │ │ │ └── flags: ∅
+ │ │ │ │ ├── flags: ∅
+ │ │ │ │ └── arguments: (length: 1)
+ │ │ │ │ └── @ CallNode (location: (10,25)-(10,28))
+ │ │ │ │ ├── flags: variable_call
+ │ │ │ │ ├── receiver: ∅
+ │ │ │ │ ├── call_operator_loc: ∅
+ │ │ │ │ ├── name: :baz
+ │ │ │ │ ├── message_loc: (10,25)-(10,28) = "baz"
+ │ │ │ │ ├── opening_loc: ∅
+ │ │ │ │ ├── arguments: ∅
+ │ │ │ │ ├── closing_loc: ∅
+ │ │ │ │ └── block: ∅
│ │ │ ├── closing_loc: ∅
- │ │ │ ├── block: ∅
- │ │ │ └── flags: ∅
- │ │ ├── statements:
- │ │ │ @ StatementsNode (location: (10,2)-(10,11))
- │ │ │ └── body: (length: 1)
- │ │ │ └── @ LocalVariableWriteNode (location: (10,2)-(10,11))
- │ │ │ ├── name: :foo
- │ │ │ ├── depth: 0
- │ │ │ ├── name_loc: (10,2)-(10,5) = "foo"
- │ │ │ ├── value:
- │ │ │ │ @ CallNode (location: (10,8)-(10,11))
- │ │ │ │ ├── receiver: ∅
- │ │ │ │ ├── call_operator_loc: ∅
- │ │ │ │ ├── name: :bar
- │ │ │ │ ├── message_loc: (10,8)-(10,11) = "bar"
- │ │ │ │ ├── opening_loc: ∅
- │ │ │ │ ├── arguments: ∅
- │ │ │ │ ├── closing_loc: ∅
- │ │ │ │ ├── block: ∅
- │ │ │ │ └── flags: variable_call
- │ │ │ └── operator_loc: (10,6)-(10,7) = "="
- │ │ └── flags: ∅
+ │ │ │ └── block: ∅
+ │ │ └── statements:
+ │ │ @ StatementsNode (location: (10,2)-(10,11))
+ │ │ └── body: (length: 1)
+ │ │ └── @ LocalVariableWriteNode (location: (10,2)-(10,11))
+ │ │ ├── name: :foo
+ │ │ ├── depth: 0
+ │ │ ├── name_loc: (10,2)-(10,5) = "foo"
+ │ │ ├── value:
+ │ │ │ @ CallNode (location: (10,8)-(10,11))
+ │ │ │ ├── flags: variable_call
+ │ │ │ ├── receiver: ∅
+ │ │ │ ├── call_operator_loc: ∅
+ │ │ │ ├── name: :bar
+ │ │ │ ├── message_loc: (10,8)-(10,11) = "bar"
+ │ │ │ ├── opening_loc: ∅
+ │ │ │ ├── arguments: ∅
+ │ │ │ ├── closing_loc: ∅
+ │ │ │ └── block: ∅
+ │ │ └── operator_loc: (10,6)-(10,7) = "="
│ ├── locals: [:foo]
│ ├── locals_body_index: 0
│ ├── def_keyword_loc: (9,0)-(9,3) = "def"
@@ -151,32 +151,32 @@
│ │ @ StatementsNode (location: (14,2)-(14,21))
│ │ └── body: (length: 1)
│ │ └── @ WhileNode (location: (14,2)-(14,21))
+ │ │ ├── flags: ∅
│ │ ├── keyword_loc: (14,12)-(14,17) = "while"
│ │ ├── closing_loc: ∅
│ │ ├── predicate:
│ │ │ @ LocalVariableReadNode (location: (14,18)-(14,21))
│ │ │ ├── name: :foo
│ │ │ └── depth: 0
- │ │ ├── statements:
- │ │ │ @ StatementsNode (location: (14,2)-(14,11))
- │ │ │ └── body: (length: 1)
- │ │ │ └── @ LocalVariableWriteNode (location: (14,2)-(14,11))
- │ │ │ ├── name: :foo
- │ │ │ ├── depth: 0
- │ │ │ ├── name_loc: (14,2)-(14,5) = "foo"
- │ │ │ ├── value:
- │ │ │ │ @ CallNode (location: (14,8)-(14,11))
- │ │ │ │ ├── receiver: ∅
- │ │ │ │ ├── call_operator_loc: ∅
- │ │ │ │ ├── name: :bar
- │ │ │ │ ├── message_loc: (14,8)-(14,11) = "bar"
- │ │ │ │ ├── opening_loc: ∅
- │ │ │ │ ├── arguments: ∅
- │ │ │ │ ├── closing_loc: ∅
- │ │ │ │ ├── block: ∅
- │ │ │ │ └── flags: variable_call
- │ │ │ └── operator_loc: (14,6)-(14,7) = "="
- │ │ └── flags: ∅
+ │ │ └── statements:
+ │ │ @ StatementsNode (location: (14,2)-(14,11))
+ │ │ └── body: (length: 1)
+ │ │ └── @ LocalVariableWriteNode (location: (14,2)-(14,11))
+ │ │ ├── name: :foo
+ │ │ ├── depth: 0
+ │ │ ├── name_loc: (14,2)-(14,5) = "foo"
+ │ │ ├── value:
+ │ │ │ @ CallNode (location: (14,8)-(14,11))
+ │ │ │ ├── flags: variable_call
+ │ │ │ ├── receiver: ∅
+ │ │ │ ├── call_operator_loc: ∅
+ │ │ │ ├── name: :bar
+ │ │ │ ├── message_loc: (14,8)-(14,11) = "bar"
+ │ │ │ ├── opening_loc: ∅
+ │ │ │ ├── arguments: ∅
+ │ │ │ ├── closing_loc: ∅
+ │ │ │ └── block: ∅
+ │ │ └── operator_loc: (14,6)-(14,7) = "="
│ ├── end_keyword_loc: (15,0)-(15,3) = "end"
│ └── name: :A
├── @ ModuleNode (location: (17,0)-(19,3))
@@ -189,32 +189,32 @@
│ │ @ StatementsNode (location: (18,2)-(18,21))
│ │ └── body: (length: 1)
│ │ └── @ UntilNode (location: (18,2)-(18,21))
+ │ │ ├── flags: ∅
│ │ ├── keyword_loc: (18,12)-(18,17) = "until"
│ │ ├── closing_loc: ∅
│ │ ├── predicate:
│ │ │ @ LocalVariableReadNode (location: (18,18)-(18,21))
│ │ │ ├── name: :foo
│ │ │ └── depth: 0
- │ │ ├── statements:
- │ │ │ @ StatementsNode (location: (18,2)-(18,11))
- │ │ │ └── body: (length: 1)
- │ │ │ └── @ LocalVariableWriteNode (location: (18,2)-(18,11))
- │ │ │ ├── name: :foo
- │ │ │ ├── depth: 0
- │ │ │ ├── name_loc: (18,2)-(18,5) = "foo"
- │ │ │ ├── value:
- │ │ │ │ @ CallNode (location: (18,8)-(18,11))
- │ │ │ │ ├── receiver: ∅
- │ │ │ │ ├── call_operator_loc: ∅
- │ │ │ │ ├── name: :bar
- │ │ │ │ ├── message_loc: (18,8)-(18,11) = "bar"
- │ │ │ │ ├── opening_loc: ∅
- │ │ │ │ ├── arguments: ∅
- │ │ │ │ ├── closing_loc: ∅
- │ │ │ │ ├── block: ∅
- │ │ │ │ └── flags: variable_call
- │ │ │ └── operator_loc: (18,6)-(18,7) = "="
- │ │ └── flags: ∅
+ │ │ └── statements:
+ │ │ @ StatementsNode (location: (18,2)-(18,11))
+ │ │ └── body: (length: 1)
+ │ │ └── @ LocalVariableWriteNode (location: (18,2)-(18,11))
+ │ │ ├── name: :foo
+ │ │ ├── depth: 0
+ │ │ ├── name_loc: (18,2)-(18,5) = "foo"
+ │ │ ├── value:
+ │ │ │ @ CallNode (location: (18,8)-(18,11))
+ │ │ │ ├── flags: variable_call
+ │ │ │ ├── receiver: ∅
+ │ │ │ ├── call_operator_loc: ∅
+ │ │ │ ├── name: :bar
+ │ │ │ ├── message_loc: (18,8)-(18,11) = "bar"
+ │ │ │ ├── opening_loc: ∅
+ │ │ │ ├── arguments: ∅
+ │ │ │ ├── closing_loc: ∅
+ │ │ │ └── block: ∅
+ │ │ └── operator_loc: (18,6)-(18,7) = "="
│ ├── end_keyword_loc: (19,0)-(19,3) = "end"
│ └── name: :A
├── @ ModuleNode (location: (21,0)-(25,3))
@@ -227,10 +227,12 @@
│ │ @ StatementsNode (location: (22,2)-(24,5))
│ │ └── body: (length: 1)
│ │ └── @ WhileNode (location: (22,2)-(24,5))
+ │ │ ├── flags: ∅
│ │ ├── keyword_loc: (22,2)-(22,7) = "while"
│ │ ├── closing_loc: (24,2)-(24,5) = "end"
│ │ ├── predicate:
│ │ │ @ CallNode (location: (22,8)-(22,11))
+ │ │ │ ├── flags: variable_call
│ │ │ ├── receiver: ∅
│ │ │ ├── call_operator_loc: ∅
│ │ │ ├── name: :foo
@@ -238,28 +240,26 @@
│ │ │ ├── opening_loc: ∅
│ │ │ ├── arguments: ∅
│ │ │ ├── closing_loc: ∅
- │ │ │ ├── block: ∅
- │ │ │ └── flags: variable_call
- │ │ ├── statements:
- │ │ │ @ StatementsNode (location: (23,4)-(23,13))
- │ │ │ └── body: (length: 1)
- │ │ │ └── @ LocalVariableWriteNode (location: (23,4)-(23,13))
- │ │ │ ├── name: :foo
- │ │ │ ├── depth: 0
- │ │ │ ├── name_loc: (23,4)-(23,7) = "foo"
- │ │ │ ├── value:
- │ │ │ │ @ CallNode (location: (23,10)-(23,13))
- │ │ │ │ ├── receiver: ∅
- │ │ │ │ ├── call_operator_loc: ∅
- │ │ │ │ ├── name: :bar
- │ │ │ │ ├── message_loc: (23,10)-(23,13) = "bar"
- │ │ │ │ ├── opening_loc: ∅
- │ │ │ │ ├── arguments: ∅
- │ │ │ │ ├── closing_loc: ∅
- │ │ │ │ ├── block: ∅
- │ │ │ │ └── flags: variable_call
- │ │ │ └── operator_loc: (23,8)-(23,9) = "="
- │ │ └── flags: ∅
+ │ │ │ └── block: ∅
+ │ │ └── statements:
+ │ │ @ StatementsNode (location: (23,4)-(23,13))
+ │ │ └── body: (length: 1)
+ │ │ └── @ LocalVariableWriteNode (location: (23,4)-(23,13))
+ │ │ ├── name: :foo
+ │ │ ├── depth: 0
+ │ │ ├── name_loc: (23,4)-(23,7) = "foo"
+ │ │ ├── value:
+ │ │ │ @ CallNode (location: (23,10)-(23,13))
+ │ │ │ ├── flags: variable_call
+ │ │ │ ├── receiver: ∅
+ │ │ │ ├── call_operator_loc: ∅
+ │ │ │ ├── name: :bar
+ │ │ │ ├── message_loc: (23,10)-(23,13) = "bar"
+ │ │ │ ├── opening_loc: ∅
+ │ │ │ ├── arguments: ∅
+ │ │ │ ├── closing_loc: ∅
+ │ │ │ └── block: ∅
+ │ │ └── operator_loc: (23,8)-(23,9) = "="
│ ├── end_keyword_loc: (25,0)-(25,3) = "end"
│ └── name: :A
├── @ ModuleNode (location: (27,0)-(33,3))
@@ -272,6 +272,7 @@
│ │ @ StatementsNode (location: (28,2)-(32,3))
│ │ └── body: (length: 1)
│ │ └── @ CallNode (location: (28,2)-(32,3))
+ │ │ ├── flags: ∅
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
│ │ ├── name: :each
@@ -279,66 +280,65 @@
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
- │ │ ├── block:
- │ │ │ @ BlockNode (location: (28,7)-(32,3))
- │ │ │ ├── locals: [:baz, :foo]
- │ │ │ ├── locals_body_index: 1
- │ │ │ ├── parameters:
- │ │ │ │ @ BlockParametersNode (location: (28,9)-(28,14))
- │ │ │ │ ├── parameters:
- │ │ │ │ │ @ ParametersNode (location: (28,10)-(28,13))
- │ │ │ │ │ ├── requireds: (length: 1)
- │ │ │ │ │ │ └── @ RequiredParameterNode (location: (28,10)-(28,13))
- │ │ │ │ │ │ └── name: :baz
- │ │ │ │ │ ├── optionals: (length: 0)
- │ │ │ │ │ ├── rest: ∅
- │ │ │ │ │ ├── posts: (length: 0)
- │ │ │ │ │ ├── keywords: (length: 0)
- │ │ │ │ │ ├── keyword_rest: ∅
- │ │ │ │ │ └── block: ∅
- │ │ │ │ ├── locals: (length: 0)
- │ │ │ │ ├── opening_loc: (28,9)-(28,10) = "|"
- │ │ │ │ └── closing_loc: (28,13)-(28,14) = "|"
- │ │ │ ├── body:
- │ │ │ │ @ StatementsNode (location: (29,4)-(31,7))
- │ │ │ │ └── body: (length: 1)
- │ │ │ │ └── @ WhileNode (location: (29,4)-(31,7))
- │ │ │ │ ├── keyword_loc: (29,4)-(29,9) = "while"
- │ │ │ │ ├── closing_loc: (31,4)-(31,7) = "end"
- │ │ │ │ ├── predicate:
- │ │ │ │ │ @ CallNode (location: (29,10)-(29,13))
- │ │ │ │ │ ├── receiver: ∅
- │ │ │ │ │ ├── call_operator_loc: ∅
- │ │ │ │ │ ├── name: :foo
- │ │ │ │ │ ├── message_loc: (29,10)-(29,13) = "foo"
- │ │ │ │ │ ├── opening_loc: ∅
- │ │ │ │ │ ├── arguments: ∅
- │ │ │ │ │ ├── closing_loc: ∅
- │ │ │ │ │ ├── block: ∅
- │ │ │ │ │ └── flags: variable_call
- │ │ │ │ ├── statements:
- │ │ │ │ │ @ StatementsNode (location: (30,6)-(30,15))
- │ │ │ │ │ └── body: (length: 1)
- │ │ │ │ │ └── @ LocalVariableWriteNode (location: (30,6)-(30,15))
- │ │ │ │ │ ├── name: :foo
- │ │ │ │ │ ├── depth: 0
- │ │ │ │ │ ├── name_loc: (30,6)-(30,9) = "foo"
- │ │ │ │ │ ├── value:
- │ │ │ │ │ │ @ CallNode (location: (30,12)-(30,15))
- │ │ │ │ │ │ ├── receiver: ∅
- │ │ │ │ │ │ ├── call_operator_loc: ∅
- │ │ │ │ │ │ ├── name: :bar
- │ │ │ │ │ │ ├── message_loc: (30,12)-(30,15) = "bar"
- │ │ │ │ │ │ ├── opening_loc: ∅
- │ │ │ │ │ │ ├── arguments: ∅
- │ │ │ │ │ │ ├── closing_loc: ∅
- │ │ │ │ │ │ ├── block: ∅
- │ │ │ │ │ │ └── flags: variable_call
- │ │ │ │ │ └── operator_loc: (30,10)-(30,11) = "="
- │ │ │ │ └── flags: ∅
- │ │ │ ├── opening_loc: (28,7)-(28,8) = "{"
- │ │ │ └── closing_loc: (32,2)-(32,3) = "}"
- │ │ └── flags: ∅
+ │ │ └── block:
+ │ │ @ BlockNode (location: (28,7)-(32,3))
+ │ │ ├── locals: [:baz, :foo]
+ │ │ ├── locals_body_index: 1
+ │ │ ├── parameters:
+ │ │ │ @ BlockParametersNode (location: (28,9)-(28,14))
+ │ │ │ ├── parameters:
+ │ │ │ │ @ ParametersNode (location: (28,10)-(28,13))
+ │ │ │ │ ├── requireds: (length: 1)
+ │ │ │ │ │ └── @ RequiredParameterNode (location: (28,10)-(28,13))
+ │ │ │ │ │ └── name: :baz
+ │ │ │ │ ├── optionals: (length: 0)
+ │ │ │ │ ├── rest: ∅
+ │ │ │ │ ├── posts: (length: 0)
+ │ │ │ │ ├── keywords: (length: 0)
+ │ │ │ │ ├── keyword_rest: ∅
+ │ │ │ │ └── block: ∅
+ │ │ │ ├── locals: (length: 0)
+ │ │ │ ├── opening_loc: (28,9)-(28,10) = "|"
+ │ │ │ └── closing_loc: (28,13)-(28,14) = "|"
+ │ │ ├── body:
+ │ │ │ @ StatementsNode (location: (29,4)-(31,7))
+ │ │ │ └── body: (length: 1)
+ │ │ │ └── @ WhileNode (location: (29,4)-(31,7))
+ │ │ │ ├── flags: ∅
+ │ │ │ ├── keyword_loc: (29,4)-(29,9) = "while"
+ │ │ │ ├── closing_loc: (31,4)-(31,7) = "end"
+ │ │ │ ├── predicate:
+ │ │ │ │ @ CallNode (location: (29,10)-(29,13))
+ │ │ │ │ ├── flags: variable_call
+ │ │ │ │ ├── receiver: ∅
+ │ │ │ │ ├── call_operator_loc: ∅
+ │ │ │ │ ├── name: :foo
+ │ │ │ │ ├── message_loc: (29,10)-(29,13) = "foo"
+ │ │ │ │ ├── opening_loc: ∅
+ │ │ │ │ ├── arguments: ∅
+ │ │ │ │ ├── closing_loc: ∅
+ │ │ │ │ └── block: ∅
+ │ │ │ └── statements:
+ │ │ │ @ StatementsNode (location: (30,6)-(30,15))
+ │ │ │ └── body: (length: 1)
+ │ │ │ └── @ LocalVariableWriteNode (location: (30,6)-(30,15))
+ │ │ │ ├── name: :foo
+ │ │ │ ├── depth: 0
+ │ │ │ ├── name_loc: (30,6)-(30,9) = "foo"
+ │ │ │ ├── value:
+ │ │ │ │ @ CallNode (location: (30,12)-(30,15))
+ │ │ │ │ ├── flags: variable_call
+ │ │ │ │ ├── receiver: ∅
+ │ │ │ │ ├── call_operator_loc: ∅
+ │ │ │ │ ├── name: :bar
+ │ │ │ │ ├── message_loc: (30,12)-(30,15) = "bar"
+ │ │ │ │ ├── opening_loc: ∅
+ │ │ │ │ ├── arguments: ∅
+ │ │ │ │ ├── closing_loc: ∅
+ │ │ │ │ └── block: ∅
+ │ │ │ └── operator_loc: (30,10)-(30,11) = "="
+ │ │ ├── opening_loc: (28,7)-(28,8) = "{"
+ │ │ └── closing_loc: (32,2)-(32,3) = "}"
│ ├── end_keyword_loc: (33,0)-(33,3) = "end"
│ └── name: :A
├── @ ModuleNode (location: (35,0)-(41,3))
@@ -351,6 +351,7 @@
│ │ @ StatementsNode (location: (36,2)-(40,3))
│ │ └── body: (length: 1)
│ │ └── @ CallNode (location: (36,2)-(40,3))
+ │ │ ├── flags: ∅
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
│ │ ├── name: :each
@@ -358,59 +359,58 @@
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
- │ │ ├── block:
- │ │ │ @ BlockNode (location: (36,7)-(40,3))
- │ │ │ ├── locals: [:foo]
- │ │ │ ├── locals_body_index: 1
- │ │ │ ├── parameters:
- │ │ │ │ @ BlockParametersNode (location: (36,9)-(36,14))
- │ │ │ │ ├── parameters:
- │ │ │ │ │ @ ParametersNode (location: (36,10)-(36,13))
- │ │ │ │ │ ├── requireds: (length: 1)
- │ │ │ │ │ │ └── @ RequiredParameterNode (location: (36,10)-(36,13))
- │ │ │ │ │ │ └── name: :foo
- │ │ │ │ │ ├── optionals: (length: 0)
- │ │ │ │ │ ├── rest: ∅
- │ │ │ │ │ ├── posts: (length: 0)
- │ │ │ │ │ ├── keywords: (length: 0)
- │ │ │ │ │ ├── keyword_rest: ∅
- │ │ │ │ │ └── block: ∅
- │ │ │ │ ├── locals: (length: 0)
- │ │ │ │ ├── opening_loc: (36,9)-(36,10) = "|"
- │ │ │ │ └── closing_loc: (36,13)-(36,14) = "|"
- │ │ │ ├── body:
- │ │ │ │ @ StatementsNode (location: (37,4)-(39,7))
- │ │ │ │ └── body: (length: 1)
- │ │ │ │ └── @ WhileNode (location: (37,4)-(39,7))
- │ │ │ │ ├── keyword_loc: (37,4)-(37,9) = "while"
- │ │ │ │ ├── closing_loc: (39,4)-(39,7) = "end"
- │ │ │ │ ├── predicate:
- │ │ │ │ │ @ LocalVariableReadNode (location: (37,10)-(37,13))
- │ │ │ │ │ ├── name: :foo
- │ │ │ │ │ └── depth: 0
- │ │ │ │ ├── statements:
- │ │ │ │ │ @ StatementsNode (location: (38,6)-(38,15))
- │ │ │ │ │ └── body: (length: 1)
- │ │ │ │ │ └── @ LocalVariableWriteNode (location: (38,6)-(38,15))
- │ │ │ │ │ ├── name: :foo
- │ │ │ │ │ ├── depth: 0
- │ │ │ │ │ ├── name_loc: (38,6)-(38,9) = "foo"
- │ │ │ │ │ ├── value:
- │ │ │ │ │ │ @ CallNode (location: (38,12)-(38,15))
- │ │ │ │ │ │ ├── receiver: ∅
- │ │ │ │ │ │ ├── call_operator_loc: ∅
- │ │ │ │ │ │ ├── name: :bar
- │ │ │ │ │ │ ├── message_loc: (38,12)-(38,15) = "bar"
- │ │ │ │ │ │ ├── opening_loc: ∅
- │ │ │ │ │ │ ├── arguments: ∅
- │ │ │ │ │ │ ├── closing_loc: ∅
- │ │ │ │ │ │ ├── block: ∅
- │ │ │ │ │ │ └── flags: variable_call
- │ │ │ │ │ └── operator_loc: (38,10)-(38,11) = "="
- │ │ │ │ └── flags: ∅
- │ │ │ ├── opening_loc: (36,7)-(36,8) = "{"
- │ │ │ └── closing_loc: (40,2)-(40,3) = "}"
- │ │ └── flags: ∅
+ │ │ └── block:
+ │ │ @ BlockNode (location: (36,7)-(40,3))
+ │ │ ├── locals: [:foo]
+ │ │ ├── locals_body_index: 1
+ │ │ ├── parameters:
+ │ │ │ @ BlockParametersNode (location: (36,9)-(36,14))
+ │ │ │ ├── parameters:
+ │ │ │ │ @ ParametersNode (location: (36,10)-(36,13))
+ │ │ │ │ ├── requireds: (length: 1)
+ │ │ │ │ │ └── @ RequiredParameterNode (location: (36,10)-(36,13))
+ │ │ │ │ │ └── name: :foo
+ │ │ │ │ ├── optionals: (length: 0)
+ │ │ │ │ ├── rest: ∅
+ │ │ │ │ ├── posts: (length: 0)
+ │ │ │ │ ├── keywords: (length: 0)
+ │ │ │ │ ├── keyword_rest: ∅
+ │ │ │ │ └── block: ∅
+ │ │ │ ├── locals: (length: 0)
+ │ │ │ ├── opening_loc: (36,9)-(36,10) = "|"
+ │ │ │ └── closing_loc: (36,13)-(36,14) = "|"
+ │ │ ├── body:
+ │ │ │ @ StatementsNode (location: (37,4)-(39,7))
+ │ │ │ └── body: (length: 1)
+ │ │ │ └── @ WhileNode (location: (37,4)-(39,7))
+ │ │ │ ├── flags: ∅
+ │ │ │ ├── keyword_loc: (37,4)-(37,9) = "while"
+ │ │ │ ├── closing_loc: (39,4)-(39,7) = "end"
+ │ │ │ ├── predicate:
+ │ │ │ │ @ LocalVariableReadNode (location: (37,10)-(37,13))
+ │ │ │ │ ├── name: :foo
+ │ │ │ │ └── depth: 0
+ │ │ │ └── statements:
+ │ │ │ @ StatementsNode (location: (38,6)-(38,15))
+ │ │ │ └── body: (length: 1)
+ │ │ │ └── @ LocalVariableWriteNode (location: (38,6)-(38,15))
+ │ │ │ ├── name: :foo
+ │ │ │ ├── depth: 0
+ │ │ │ ├── name_loc: (38,6)-(38,9) = "foo"
+ │ │ │ ├── value:
+ │ │ │ │ @ CallNode (location: (38,12)-(38,15))
+ │ │ │ │ ├── flags: variable_call
+ │ │ │ │ ├── receiver: ∅
+ │ │ │ │ ├── call_operator_loc: ∅
+ │ │ │ │ ├── name: :bar
+ │ │ │ │ ├── message_loc: (38,12)-(38,15) = "bar"
+ │ │ │ │ ├── opening_loc: ∅
+ │ │ │ │ ├── arguments: ∅
+ │ │ │ │ ├── closing_loc: ∅
+ │ │ │ │ └── block: ∅
+ │ │ │ └── operator_loc: (38,10)-(38,11) = "="
+ │ │ ├── opening_loc: (36,7)-(36,8) = "{"
+ │ │ └── closing_loc: (40,2)-(40,3) = "}"
│ ├── end_keyword_loc: (41,0)-(41,3) = "end"
│ └── name: :A
├── @ LocalVariableWriteNode (location: (42,0)-(44,14))
@@ -423,10 +423,12 @@
│ │ │ @ StatementsNode (location: (42,5)-(44,13))
│ │ │ └── body: (length: 1)
│ │ │ └── @ WhileNode (location: (42,5)-(44,13))
+ │ │ │ ├── flags: begin_modifier
│ │ │ ├── keyword_loc: (44,4)-(44,9) = "while"
│ │ │ ├── closing_loc: ∅
│ │ │ ├── predicate:
│ │ │ │ @ CallNode (location: (44,10)-(44,13))
+ │ │ │ │ ├── flags: variable_call
│ │ │ │ ├── receiver: ∅
│ │ │ │ ├── call_operator_loc: ∅
│ │ │ │ ├── name: :baz
@@ -434,39 +436,39 @@
│ │ │ │ ├── opening_loc: ∅
│ │ │ │ ├── arguments: ∅
│ │ │ │ ├── closing_loc: ∅
- │ │ │ │ ├── block: ∅
- │ │ │ │ └── flags: variable_call
- │ │ │ ├── statements:
- │ │ │ │ @ StatementsNode (location: (42,5)-(44,3))
- │ │ │ │ └── body: (length: 1)
- │ │ │ │ └── @ BeginNode (location: (42,5)-(44,3))
- │ │ │ │ ├── begin_keyword_loc: (42,5)-(42,10) = "begin"
- │ │ │ │ ├── statements:
- │ │ │ │ │ @ StatementsNode (location: (43,2)-(43,5))
- │ │ │ │ │ └── body: (length: 1)
- │ │ │ │ │ └── @ CallNode (location: (43,2)-(43,5))
- │ │ │ │ │ ├── receiver: ∅
- │ │ │ │ │ ├── call_operator_loc: ∅
- │ │ │ │ │ ├── name: :foo
- │ │ │ │ │ ├── message_loc: (43,2)-(43,5) = "foo"
- │ │ │ │ │ ├── opening_loc: ∅
- │ │ │ │ │ ├── arguments: ∅
- │ │ │ │ │ ├── closing_loc: ∅
- │ │ │ │ │ ├── block: ∅
- │ │ │ │ │ └── flags: variable_call
- │ │ │ │ ├── rescue_clause: ∅
- │ │ │ │ ├── else_clause: ∅
- │ │ │ │ ├── ensure_clause: ∅
- │ │ │ │ └── end_keyword_loc: (44,0)-(44,3) = "end"
- │ │ │ └── flags: begin_modifier
+ │ │ │ │ └── block: ∅
+ │ │ │ └── statements:
+ │ │ │ @ StatementsNode (location: (42,5)-(44,3))
+ │ │ │ └── body: (length: 1)
+ │ │ │ └── @ BeginNode (location: (42,5)-(44,3))
+ │ │ │ ├── begin_keyword_loc: (42,5)-(42,10) = "begin"
+ │ │ │ ├── statements:
+ │ │ │ │ @ StatementsNode (location: (43,2)-(43,5))
+ │ │ │ │ └── body: (length: 1)
+ │ │ │ │ └── @ CallNode (location: (43,2)-(43,5))
+ │ │ │ │ ├── flags: variable_call
+ │ │ │ │ ├── receiver: ∅
+ │ │ │ │ ├── call_operator_loc: ∅
+ │ │ │ │ ├── name: :foo
+ │ │ │ │ ├── message_loc: (43,2)-(43,5) = "foo"
+ │ │ │ │ ├── opening_loc: ∅
+ │ │ │ │ ├── arguments: ∅
+ │ │ │ │ ├── closing_loc: ∅
+ │ │ │ │ └── block: ∅
+ │ │ │ ├── rescue_clause: ∅
+ │ │ │ ├── else_clause: ∅
+ │ │ │ ├── ensure_clause: ∅
+ │ │ │ └── end_keyword_loc: (44,0)-(44,3) = "end"
│ │ ├── opening_loc: (42,4)-(42,5) = "("
│ │ └── closing_loc: (44,13)-(44,14) = ")"
│ └── operator_loc: (42,2)-(42,3) = "="
├── @ WhileNode (location: (45,0)-(47,13))
+ │ ├── flags: begin_modifier
│ ├── keyword_loc: (47,4)-(47,9) = "while"
│ ├── closing_loc: ∅
│ ├── predicate:
│ │ @ CallNode (location: (47,10)-(47,13))
+ │ │ ├── flags: variable_call
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
│ │ ├── name: :baz
@@ -474,36 +476,36 @@
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
- │ │ ├── block: ∅
- │ │ └── flags: variable_call
- │ ├── statements:
- │ │ @ StatementsNode (location: (45,0)-(47,3))
- │ │ └── body: (length: 1)
- │ │ └── @ BeginNode (location: (45,0)-(47,3))
- │ │ ├── begin_keyword_loc: (45,0)-(45,5) = "begin"
- │ │ ├── statements:
- │ │ │ @ StatementsNode (location: (46,2)-(46,5))
- │ │ │ └── body: (length: 1)
- │ │ │ └── @ CallNode (location: (46,2)-(46,5))
- │ │ │ ├── receiver: ∅
- │ │ │ ├── call_operator_loc: ∅
- │ │ │ ├── name: :foo
- │ │ │ ├── message_loc: (46,2)-(46,5) = "foo"
- │ │ │ ├── opening_loc: ∅
- │ │ │ ├── arguments: ∅
- │ │ │ ├── closing_loc: ∅
- │ │ │ ├── block: ∅
- │ │ │ └── flags: variable_call
- │ │ ├── rescue_clause: ∅
- │ │ ├── else_clause: ∅
- │ │ ├── ensure_clause: ∅
- │ │ └── end_keyword_loc: (47,0)-(47,3) = "end"
- │ └── flags: begin_modifier
+ │ │ └── block: ∅
+ │ └── statements:
+ │ @ StatementsNode (location: (45,0)-(47,3))
+ │ └── body: (length: 1)
+ │ └── @ BeginNode (location: (45,0)-(47,3))
+ │ ├── begin_keyword_loc: (45,0)-(45,5) = "begin"
+ │ ├── statements:
+ │ │ @ StatementsNode (location: (46,2)-(46,5))
+ │ │ └── body: (length: 1)
+ │ │ └── @ CallNode (location: (46,2)-(46,5))
+ │ │ ├── flags: variable_call
+ │ │ ├── receiver: ∅
+ │ │ ├── call_operator_loc: ∅
+ │ │ ├── name: :foo
+ │ │ ├── message_loc: (46,2)-(46,5) = "foo"
+ │ │ ├── opening_loc: ∅
+ │ │ ├── arguments: ∅
+ │ │ ├── closing_loc: ∅
+ │ │ └── block: ∅
+ │ ├── rescue_clause: ∅
+ │ ├── else_clause: ∅
+ │ ├── ensure_clause: ∅
+ │ └── end_keyword_loc: (47,0)-(47,3) = "end"
├── @ UntilNode (location: (48,0)-(51,13))
+ │ ├── flags: begin_modifier
│ ├── keyword_loc: (51,4)-(51,9) = "until"
│ ├── closing_loc: ∅
│ ├── predicate:
│ │ @ CallNode (location: (51,10)-(51,13))
+ │ │ ├── flags: variable_call
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
│ │ ├── name: :baz
@@ -511,46 +513,46 @@
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
- │ │ ├── block: ∅
- │ │ └── flags: variable_call
- │ ├── statements:
- │ │ @ StatementsNode (location: (48,0)-(51,3))
- │ │ └── body: (length: 1)
- │ │ └── @ BeginNode (location: (48,0)-(51,3))
- │ │ ├── begin_keyword_loc: (48,0)-(48,5) = "begin"
- │ │ ├── statements:
- │ │ │ @ StatementsNode (location: (49,2)-(50,5))
- │ │ │ └── body: (length: 2)
- │ │ │ ├── @ CallNode (location: (49,2)-(49,5))
- │ │ │ │ ├── receiver: ∅
- │ │ │ │ ├── call_operator_loc: ∅
- │ │ │ │ ├── name: :foo
- │ │ │ │ ├── message_loc: (49,2)-(49,5) = "foo"
- │ │ │ │ ├── opening_loc: ∅
- │ │ │ │ ├── arguments: ∅
- │ │ │ │ ├── closing_loc: ∅
- │ │ │ │ ├── block: ∅
- │ │ │ │ └── flags: variable_call
- │ │ │ └── @ CallNode (location: (50,2)-(50,5))
- │ │ │ ├── receiver: ∅
- │ │ │ ├── call_operator_loc: ∅
- │ │ │ ├── name: :bar
- │ │ │ ├── message_loc: (50,2)-(50,5) = "bar"
- │ │ │ ├── opening_loc: ∅
- │ │ │ ├── arguments: ∅
- │ │ │ ├── closing_loc: ∅
- │ │ │ ├── block: ∅
- │ │ │ └── flags: variable_call
- │ │ ├── rescue_clause: ∅
- │ │ ├── else_clause: ∅
- │ │ ├── ensure_clause: ∅
- │ │ └── end_keyword_loc: (51,0)-(51,3) = "end"
- │ └── flags: begin_modifier
+ │ │ └── block: ∅
+ │ └── statements:
+ │ @ StatementsNode (location: (48,0)-(51,3))
+ │ └── body: (length: 1)
+ │ └── @ BeginNode (location: (48,0)-(51,3))
+ │ ├── begin_keyword_loc: (48,0)-(48,5) = "begin"
+ │ ├── statements:
+ │ │ @ StatementsNode (location: (49,2)-(50,5))
+ │ │ └── body: (length: 2)
+ │ │ ├── @ CallNode (location: (49,2)-(49,5))
+ │ │ │ ├── flags: variable_call
+ │ │ │ ├── receiver: ∅
+ │ │ │ ├── call_operator_loc: ∅
+ │ │ │ ├── name: :foo
+ │ │ │ ├── message_loc: (49,2)-(49,5) = "foo"
+ │ │ │ ├── opening_loc: ∅
+ │ │ │ ├── arguments: ∅
+ │ │ │ ├── closing_loc: ∅
+ │ │ │ └── block: ∅
+ │ │ └── @ CallNode (location: (50,2)-(50,5))
+ │ │ ├── flags: variable_call
+ │ │ ├── receiver: ∅
+ │ │ ├── call_operator_loc: ∅
+ │ │ ├── name: :bar
+ │ │ ├── message_loc: (50,2)-(50,5) = "bar"
+ │ │ ├── opening_loc: ∅
+ │ │ ├── arguments: ∅
+ │ │ ├── closing_loc: ∅
+ │ │ └── block: ∅
+ │ ├── rescue_clause: ∅
+ │ ├── else_clause: ∅
+ │ ├── ensure_clause: ∅
+ │ └── end_keyword_loc: (51,0)-(51,3) = "end"
├── @ WhileNode (location: (52,0)-(55,13))
+ │ ├── flags: begin_modifier
│ ├── keyword_loc: (55,4)-(55,9) = "while"
│ ├── closing_loc: ∅
│ ├── predicate:
│ │ @ CallNode (location: (55,10)-(55,13))
+ │ │ ├── flags: variable_call
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
│ │ ├── name: :baz
@@ -558,60 +560,59 @@
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
- │ │ ├── block: ∅
- │ │ └── flags: variable_call
- │ ├── statements:
- │ │ @ StatementsNode (location: (52,0)-(55,3))
- │ │ └── body: (length: 1)
- │ │ └── @ BeginNode (location: (52,0)-(55,3))
- │ │ ├── begin_keyword_loc: (52,0)-(52,5) = "begin"
- │ │ ├── statements:
- │ │ │ @ StatementsNode (location: (53,2)-(54,5))
- │ │ │ └── body: (length: 2)
- │ │ │ ├── @ CallNode (location: (53,2)-(53,5))
- │ │ │ │ ├── receiver: ∅
- │ │ │ │ ├── call_operator_loc: ∅
- │ │ │ │ ├── name: :foo
- │ │ │ │ ├── message_loc: (53,2)-(53,5) = "foo"
- │ │ │ │ ├── opening_loc: ∅
- │ │ │ │ ├── arguments: ∅
- │ │ │ │ ├── closing_loc: ∅
- │ │ │ │ ├── block: ∅
- │ │ │ │ └── flags: variable_call
- │ │ │ └── @ CallNode (location: (54,2)-(54,5))
- │ │ │ ├── receiver: ∅
- │ │ │ ├── call_operator_loc: ∅
- │ │ │ ├── name: :bar
- │ │ │ ├── message_loc: (54,2)-(54,5) = "bar"
- │ │ │ ├── opening_loc: ∅
- │ │ │ ├── arguments: ∅
- │ │ │ ├── closing_loc: ∅
- │ │ │ ├── block: ∅
- │ │ │ └── flags: variable_call
- │ │ ├── rescue_clause: ∅
- │ │ ├── else_clause: ∅
- │ │ ├── ensure_clause: ∅
- │ │ └── end_keyword_loc: (55,0)-(55,3) = "end"
- │ └── flags: begin_modifier
+ │ │ └── block: ∅
+ │ └── statements:
+ │ @ StatementsNode (location: (52,0)-(55,3))
+ │ └── body: (length: 1)
+ │ └── @ BeginNode (location: (52,0)-(55,3))
+ │ ├── begin_keyword_loc: (52,0)-(52,5) = "begin"
+ │ ├── statements:
+ │ │ @ StatementsNode (location: (53,2)-(54,5))
+ │ │ └── body: (length: 2)
+ │ │ ├── @ CallNode (location: (53,2)-(53,5))
+ │ │ │ ├── flags: variable_call
+ │ │ │ ├── receiver: ∅
+ │ │ │ ├── call_operator_loc: ∅
+ │ │ │ ├── name: :foo
+ │ │ │ ├── message_loc: (53,2)-(53,5) = "foo"
+ │ │ │ ├── opening_loc: ∅
+ │ │ │ ├── arguments: ∅
+ │ │ │ ├── closing_loc: ∅
+ │ │ │ └── block: ∅
+ │ │ └── @ CallNode (location: (54,2)-(54,5))
+ │ │ ├── flags: variable_call
+ │ │ ├── receiver: ∅
+ │ │ ├── call_operator_loc: ∅
+ │ │ ├── name: :bar
+ │ │ ├── message_loc: (54,2)-(54,5) = "bar"
+ │ │ ├── opening_loc: ∅
+ │ │ ├── arguments: ∅
+ │ │ ├── closing_loc: ∅
+ │ │ └── block: ∅
+ │ ├── rescue_clause: ∅
+ │ ├── else_clause: ∅
+ │ ├── ensure_clause: ∅
+ │ └── end_keyword_loc: (55,0)-(55,3) = "end"
├── @ WhileNode (location: (56,0)-(57,3))
+ │ ├── flags: ∅
│ ├── keyword_loc: (56,0)-(56,5) = "while"
│ ├── closing_loc: (57,0)-(57,3) = "end"
│ ├── predicate:
│ │ @ FalseNode (location: (56,6)-(56,11))
- │ ├── statements: ∅
- │ └── flags: ∅
+ │ └── statements: ∅
├── @ WhileNode (location: (58,0)-(60,3))
+ │ ├── flags: ∅
│ ├── keyword_loc: (58,0)-(58,5) = "while"
│ ├── closing_loc: (60,0)-(60,3) = "end"
│ ├── predicate:
│ │ @ FalseNode (location: (58,6)-(58,11))
- │ ├── statements:
- │ │ @ StatementsNode (location: (59,2)-(59,3))
- │ │ └── body: (length: 1)
- │ │ └── @ IntegerNode (location: (59,2)-(59,3))
- │ │ └── flags: decimal
- │ └── flags: ∅
+ │ └── statements:
+ │ @ StatementsNode (location: (59,2)-(59,3))
+ │ └── body: (length: 1)
+ │ └── @ IntegerNode (location: (59,2)-(59,3))
+ │ └── flags: decimal
├── @ WhileNode (location: (61,0)-(64,3))
+ │ ├── flags: ∅
│ ├── keyword_loc: (61,0)-(61,5) = "while"
│ ├── closing_loc: (64,0)-(64,3) = "end"
│ ├── predicate:
@@ -620,6 +621,7 @@
│ │ │ @ StatementsNode (location: (61,7)-(62,1))
│ │ │ └── body: (length: 1)
│ │ │ └── @ CallNode (location: (61,7)-(62,1))
+ │ │ │ ├── flags: ∅
│ │ │ ├── receiver: ∅
│ │ │ ├── call_operator_loc: ∅
│ │ │ ├── name: :foo
@@ -627,45 +629,44 @@
│ │ │ ├── opening_loc: ∅
│ │ │ ├── arguments: ∅
│ │ │ ├── closing_loc: ∅
- │ │ │ ├── block:
- │ │ │ │ @ BlockNode (location: (61,11)-(62,1))
- │ │ │ │ ├── locals: []
- │ │ │ │ ├── locals_body_index: 0
- │ │ │ │ ├── parameters: ∅
- │ │ │ │ ├── body: ∅
- │ │ │ │ ├── opening_loc: (61,11)-(61,12) = "{"
- │ │ │ │ └── closing_loc: (62,0)-(62,1) = "}"
- │ │ │ └── flags: ∅
+ │ │ │ └── block:
+ │ │ │ @ BlockNode (location: (61,11)-(62,1))
+ │ │ │ ├── locals: []
+ │ │ │ ├── locals_body_index: 0
+ │ │ │ ├── parameters: ∅
+ │ │ │ ├── body: ∅
+ │ │ │ ├── opening_loc: (61,11)-(61,12) = "{"
+ │ │ │ └── closing_loc: (62,0)-(62,1) = "}"
│ │ ├── opening_loc: (61,6)-(61,7) = "("
│ │ └── closing_loc: (62,1)-(62,2) = ")"
- │ ├── statements:
- │ │ @ StatementsNode (location: (63,2)-(63,7))
- │ │ └── body: (length: 1)
- │ │ └── @ SymbolNode (location: (63,2)-(63,7))
- │ │ ├── opening_loc: (63,2)-(63,3) = ":"
- │ │ ├── value_loc: (63,3)-(63,7) = "body"
- │ │ ├── closing_loc: ∅
- │ │ └── unescaped: "body"
- │ └── flags: ∅
+ │ └── statements:
+ │ @ StatementsNode (location: (63,2)-(63,7))
+ │ └── body: (length: 1)
+ │ └── @ SymbolNode (location: (63,2)-(63,7))
+ │ ├── opening_loc: (63,2)-(63,3) = ":"
+ │ ├── value_loc: (63,3)-(63,7) = "body"
+ │ ├── closing_loc: ∅
+ │ └── unescaped: "body"
├── @ UntilNode (location: (65,0)-(66,3))
+ │ ├── flags: ∅
│ ├── keyword_loc: (65,0)-(65,5) = "until"
│ ├── closing_loc: (66,0)-(66,3) = "end"
│ ├── predicate:
│ │ @ FalseNode (location: (65,6)-(65,11))
- │ ├── statements: ∅
- │ └── flags: ∅
+ │ └── statements: ∅
├── @ UntilNode (location: (67,0)-(69,3))
+ │ ├── flags: ∅
│ ├── keyword_loc: (67,0)-(67,5) = "until"
│ ├── closing_loc: (69,0)-(69,3) = "end"
│ ├── predicate:
│ │ @ FalseNode (location: (67,6)-(67,11))
- │ ├── statements:
- │ │ @ StatementsNode (location: (68,2)-(68,3))
- │ │ └── body: (length: 1)
- │ │ └── @ IntegerNode (location: (68,2)-(68,3))
- │ │ └── flags: decimal
- │ └── flags: ∅
+ │ └── statements:
+ │ @ StatementsNode (location: (68,2)-(68,3))
+ │ └── body: (length: 1)
+ │ └── @ IntegerNode (location: (68,2)-(68,3))
+ │ └── flags: decimal
└── @ UntilNode (location: (70,0)-(73,3))
+ ├── flags: ∅
├── keyword_loc: (70,0)-(70,5) = "until"
├── closing_loc: (73,0)-(73,3) = "end"
├── predicate:
@@ -674,6 +675,7 @@
│ │ @ StatementsNode (location: (70,7)-(71,1))
│ │ └── body: (length: 1)
│ │ └── @ CallNode (location: (70,7)-(71,1))
+ │ │ ├── flags: ∅
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
│ │ ├── name: :foo
@@ -681,23 +683,21 @@
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
- │ │ ├── block:
- │ │ │ @ BlockNode (location: (70,11)-(71,1))
- │ │ │ ├── locals: []
- │ │ │ ├── locals_body_index: 0
- │ │ │ ├── parameters: ∅
- │ │ │ ├── body: ∅
- │ │ │ ├── opening_loc: (70,11)-(70,12) = "{"
- │ │ │ └── closing_loc: (71,0)-(71,1) = "}"
- │ │ └── flags: ∅
+ │ │ └── block:
+ │ │ @ BlockNode (location: (70,11)-(71,1))
+ │ │ ├── locals: []
+ │ │ ├── locals_body_index: 0
+ │ │ ├── parameters: ∅
+ │ │ ├── body: ∅
+ │ │ ├── opening_loc: (70,11)-(70,12) = "{"
+ │ │ └── closing_loc: (71,0)-(71,1) = "}"
│ ├── opening_loc: (70,6)-(70,7) = "("
│ └── closing_loc: (71,1)-(71,2) = ")"
- ├── statements:
- │ @ StatementsNode (location: (72,2)-(72,7))
- │ └── body: (length: 1)
- │ └── @ SymbolNode (location: (72,2)-(72,7))
- │ ├── opening_loc: (72,2)-(72,3) = ":"
- │ ├── value_loc: (72,3)-(72,7) = "body"
- │ ├── closing_loc: ∅
- │ └── unescaped: "body"
- └── flags: ∅
+ └── statements:
+ @ StatementsNode (location: (72,2)-(72,7))
+ └── body: (length: 1)
+ └── @ SymbolNode (location: (72,2)-(72,7))
+ ├── opening_loc: (72,2)-(72,3) = ":"
+ ├── value_loc: (72,3)-(72,7) = "body"
+ ├── closing_loc: ∅
+ └── unescaped: "body"
diff --git a/test/prism/snapshots/unparser/corpus/literal/yield.txt b/test/prism/snapshots/unparser/corpus/literal/yield.txt
index dcedb07426..a1c0f25855 100644
--- a/test/prism/snapshots/unparser/corpus/literal/yield.txt
+++ b/test/prism/snapshots/unparser/corpus/literal/yield.txt
@@ -13,44 +13,44 @@
│ ├── lparen_loc: (2,5)-(2,6) = "("
│ ├── arguments:
│ │ @ ArgumentsNode (location: (2,6)-(2,7))
- │ │ ├── arguments: (length: 1)
- │ │ │ └── @ CallNode (location: (2,6)-(2,7))
- │ │ │ ├── receiver: ∅
- │ │ │ ├── call_operator_loc: ∅
- │ │ │ ├── name: :a
- │ │ │ ├── message_loc: (2,6)-(2,7) = "a"
- │ │ │ ├── opening_loc: ∅
- │ │ │ ├── arguments: ∅
- │ │ │ ├── closing_loc: ∅
- │ │ │ ├── block: ∅
- │ │ │ └── flags: variable_call
- │ │ └── flags: ∅
+ │ │ ├── flags: ∅
+ │ │ └── arguments: (length: 1)
+ │ │ └── @ CallNode (location: (2,6)-(2,7))
+ │ │ ├── flags: variable_call
+ │ │ ├── receiver: ∅
+ │ │ ├── call_operator_loc: ∅
+ │ │ ├── name: :a
+ │ │ ├── message_loc: (2,6)-(2,7) = "a"
+ │ │ ├── opening_loc: ∅
+ │ │ ├── arguments: ∅
+ │ │ ├── closing_loc: ∅
+ │ │ └── block: ∅
│ └── rparen_loc: (2,7)-(2,8) = ")"
└── @ YieldNode (location: (3,0)-(3,11))
├── keyword_loc: (3,0)-(3,5) = "yield"
├── lparen_loc: (3,5)-(3,6) = "("
├── arguments:
│ @ ArgumentsNode (location: (3,6)-(3,10))
- │ ├── arguments: (length: 2)
- │ │ ├── @ CallNode (location: (3,6)-(3,7))
- │ │ │ ├── receiver: ∅
- │ │ │ ├── call_operator_loc: ∅
- │ │ │ ├── name: :a
- │ │ │ ├── message_loc: (3,6)-(3,7) = "a"
- │ │ │ ├── opening_loc: ∅
- │ │ │ ├── arguments: ∅
- │ │ │ ├── closing_loc: ∅
- │ │ │ ├── block: ∅
- │ │ │ └── flags: variable_call
- │ │ └── @ CallNode (location: (3,9)-(3,10))
- │ │ ├── receiver: ∅
- │ │ ├── call_operator_loc: ∅
- │ │ ├── name: :b
- │ │ ├── message_loc: (3,9)-(3,10) = "b"
- │ │ ├── opening_loc: ∅
- │ │ ├── arguments: ∅
- │ │ ├── closing_loc: ∅
- │ │ ├── block: ∅
- │ │ └── flags: variable_call
- │ └── flags: ∅
+ │ ├── flags: ∅
+ │ └── arguments: (length: 2)
+ │ ├── @ CallNode (location: (3,6)-(3,7))
+ │ │ ├── flags: variable_call
+ │ │ ├── receiver: ∅
+ │ │ ├── call_operator_loc: ∅
+ │ │ ├── name: :a
+ │ │ ├── message_loc: (3,6)-(3,7) = "a"
+ │ │ ├── opening_loc: ∅
+ │ │ ├── arguments: ∅
+ │ │ ├── closing_loc: ∅
+ │ │ └── block: ∅
+ │ └── @ CallNode (location: (3,9)-(3,10))
+ │ ├── flags: variable_call
+ │ ├── receiver: ∅
+ │ ├── call_operator_loc: ∅
+ │ ├── name: :b
+ │ ├── message_loc: (3,9)-(3,10) = "b"
+ │ ├── opening_loc: ∅
+ │ ├── arguments: ∅
+ │ ├── closing_loc: ∅
+ │ └── block: ∅
└── rparen_loc: (3,10)-(3,11) = ")"
diff --git a/test/prism/snapshots/unparser/corpus/semantic/and.txt b/test/prism/snapshots/unparser/corpus/semantic/and.txt
index 51ef6ff0a4..c0682a5ecb 100644
--- a/test/prism/snapshots/unparser/corpus/semantic/and.txt
+++ b/test/prism/snapshots/unparser/corpus/semantic/and.txt
@@ -6,8 +6,10 @@
├── @ OrNode (location: (1,0)-(1,14))
│ ├── left:
│ │ @ RangeNode (location: (1,0)-(1,5))
+ │ │ ├── flags: exclude_end
│ │ ├── left:
│ │ │ @ CallNode (location: (1,0)-(1,1))
+ │ │ │ ├── flags: variable_call
│ │ │ ├── receiver: ∅
│ │ │ ├── call_operator_loc: ∅
│ │ │ ├── name: :a
@@ -15,10 +17,10 @@
│ │ │ ├── opening_loc: ∅
│ │ │ ├── arguments: ∅
│ │ │ ├── closing_loc: ∅
- │ │ │ ├── block: ∅
- │ │ │ └── flags: variable_call
+ │ │ │ └── block: ∅
│ │ ├── right:
│ │ │ @ CallNode (location: (1,4)-(1,5))
+ │ │ │ ├── flags: variable_call
│ │ │ ├── receiver: ∅
│ │ │ ├── call_operator_loc: ∅
│ │ │ ├── name: :b
@@ -26,14 +28,14 @@
│ │ │ ├── opening_loc: ∅
│ │ │ ├── arguments: ∅
│ │ │ ├── closing_loc: ∅
- │ │ │ ├── block: ∅
- │ │ │ └── flags: variable_call
- │ │ ├── operator_loc: (1,1)-(1,4) = "..."
- │ │ └── flags: exclude_end
+ │ │ │ └── block: ∅
+ │ │ └── operator_loc: (1,1)-(1,4) = "..."
│ ├── right:
│ │ @ RangeNode (location: (1,9)-(1,14))
+ │ │ ├── flags: exclude_end
│ │ ├── left:
│ │ │ @ CallNode (location: (1,9)-(1,10))
+ │ │ │ ├── flags: variable_call
│ │ │ ├── receiver: ∅
│ │ │ ├── call_operator_loc: ∅
│ │ │ ├── name: :c
@@ -41,10 +43,10 @@
│ │ │ ├── opening_loc: ∅
│ │ │ ├── arguments: ∅
│ │ │ ├── closing_loc: ∅
- │ │ │ ├── block: ∅
- │ │ │ └── flags: variable_call
+ │ │ │ └── block: ∅
│ │ ├── right:
│ │ │ @ CallNode (location: (1,13)-(1,14))
+ │ │ │ ├── flags: variable_call
│ │ │ ├── receiver: ∅
│ │ │ ├── call_operator_loc: ∅
│ │ │ ├── name: :d
@@ -52,16 +54,16 @@
│ │ │ ├── opening_loc: ∅
│ │ │ ├── arguments: ∅
│ │ │ ├── closing_loc: ∅
- │ │ │ ├── block: ∅
- │ │ │ └── flags: variable_call
- │ │ ├── operator_loc: (1,10)-(1,13) = "..."
- │ │ └── flags: exclude_end
+ │ │ │ └── block: ∅
+ │ │ └── operator_loc: (1,10)-(1,13) = "..."
│ └── operator_loc: (1,6)-(1,8) = "or"
├── @ AndNode (location: (2,0)-(2,15))
│ ├── left:
│ │ @ RangeNode (location: (2,0)-(2,5))
+ │ │ ├── flags: exclude_end
│ │ ├── left:
│ │ │ @ CallNode (location: (2,0)-(2,1))
+ │ │ │ ├── flags: variable_call
│ │ │ ├── receiver: ∅
│ │ │ ├── call_operator_loc: ∅
│ │ │ ├── name: :a
@@ -69,10 +71,10 @@
│ │ │ ├── opening_loc: ∅
│ │ │ ├── arguments: ∅
│ │ │ ├── closing_loc: ∅
- │ │ │ ├── block: ∅
- │ │ │ └── flags: variable_call
+ │ │ │ └── block: ∅
│ │ ├── right:
│ │ │ @ CallNode (location: (2,4)-(2,5))
+ │ │ │ ├── flags: variable_call
│ │ │ ├── receiver: ∅
│ │ │ ├── call_operator_loc: ∅
│ │ │ ├── name: :b
@@ -80,14 +82,14 @@
│ │ │ ├── opening_loc: ∅
│ │ │ ├── arguments: ∅
│ │ │ ├── closing_loc: ∅
- │ │ │ ├── block: ∅
- │ │ │ └── flags: variable_call
- │ │ ├── operator_loc: (2,1)-(2,4) = "..."
- │ │ └── flags: exclude_end
+ │ │ │ └── block: ∅
+ │ │ └── operator_loc: (2,1)-(2,4) = "..."
│ ├── right:
│ │ @ RangeNode (location: (2,10)-(2,15))
+ │ │ ├── flags: exclude_end
│ │ ├── left:
│ │ │ @ CallNode (location: (2,10)-(2,11))
+ │ │ │ ├── flags: variable_call
│ │ │ ├── receiver: ∅
│ │ │ ├── call_operator_loc: ∅
│ │ │ ├── name: :c
@@ -95,10 +97,10 @@
│ │ │ ├── opening_loc: ∅
│ │ │ ├── arguments: ∅
│ │ │ ├── closing_loc: ∅
- │ │ │ ├── block: ∅
- │ │ │ └── flags: variable_call
+ │ │ │ └── block: ∅
│ │ ├── right:
│ │ │ @ CallNode (location: (2,14)-(2,15))
+ │ │ │ ├── flags: variable_call
│ │ │ ├── receiver: ∅
│ │ │ ├── call_operator_loc: ∅
│ │ │ ├── name: :d
@@ -106,10 +108,8 @@
│ │ │ ├── opening_loc: ∅
│ │ │ ├── arguments: ∅
│ │ │ ├── closing_loc: ∅
- │ │ │ ├── block: ∅
- │ │ │ └── flags: variable_call
- │ │ ├── operator_loc: (2,11)-(2,14) = "..."
- │ │ └── flags: exclude_end
+ │ │ │ └── block: ∅
+ │ │ └── operator_loc: (2,11)-(2,14) = "..."
│ └── operator_loc: (2,6)-(2,9) = "and"
├── @ IfNode (location: (4,0)-(5,3))
│ ├── if_keyword_loc: (4,0)-(4,2) = "if"
@@ -117,8 +117,10 @@
│ │ @ OrNode (location: (4,3)-(4,17))
│ │ ├── left:
│ │ │ @ FlipFlopNode (location: (4,3)-(4,8))
+ │ │ │ ├── flags: exclude_end
│ │ │ ├── left:
│ │ │ │ @ CallNode (location: (4,3)-(4,4))
+ │ │ │ │ ├── flags: variable_call
│ │ │ │ ├── receiver: ∅
│ │ │ │ ├── call_operator_loc: ∅
│ │ │ │ ├── name: :a
@@ -126,10 +128,10 @@
│ │ │ │ ├── opening_loc: ∅
│ │ │ │ ├── arguments: ∅
│ │ │ │ ├── closing_loc: ∅
- │ │ │ │ ├── block: ∅
- │ │ │ │ └── flags: variable_call
+ │ │ │ │ └── block: ∅
│ │ │ ├── right:
│ │ │ │ @ CallNode (location: (4,7)-(4,8))
+ │ │ │ │ ├── flags: variable_call
│ │ │ │ ├── receiver: ∅
│ │ │ │ ├── call_operator_loc: ∅
│ │ │ │ ├── name: :b
@@ -137,14 +139,14 @@
│ │ │ │ ├── opening_loc: ∅
│ │ │ │ ├── arguments: ∅
│ │ │ │ ├── closing_loc: ∅
- │ │ │ │ ├── block: ∅
- │ │ │ │ └── flags: variable_call
- │ │ │ ├── operator_loc: (4,4)-(4,7) = "..."
- │ │ │ └── flags: exclude_end
+ │ │ │ │ └── block: ∅
+ │ │ │ └── operator_loc: (4,4)-(4,7) = "..."
│ │ ├── right:
│ │ │ @ FlipFlopNode (location: (4,12)-(4,17))
+ │ │ │ ├── flags: exclude_end
│ │ │ ├── left:
│ │ │ │ @ CallNode (location: (4,12)-(4,13))
+ │ │ │ │ ├── flags: variable_call
│ │ │ │ ├── receiver: ∅
│ │ │ │ ├── call_operator_loc: ∅
│ │ │ │ ├── name: :c
@@ -152,10 +154,10 @@
│ │ │ │ ├── opening_loc: ∅
│ │ │ │ ├── arguments: ∅
│ │ │ │ ├── closing_loc: ∅
- │ │ │ │ ├── block: ∅
- │ │ │ │ └── flags: variable_call
+ │ │ │ │ └── block: ∅
│ │ │ ├── right:
│ │ │ │ @ CallNode (location: (4,16)-(4,17))
+ │ │ │ │ ├── flags: variable_call
│ │ │ │ ├── receiver: ∅
│ │ │ │ ├── call_operator_loc: ∅
│ │ │ │ ├── name: :d
@@ -163,10 +165,8 @@
│ │ │ │ ├── opening_loc: ∅
│ │ │ │ ├── arguments: ∅
│ │ │ │ ├── closing_loc: ∅
- │ │ │ │ ├── block: ∅
- │ │ │ │ └── flags: variable_call
- │ │ │ ├── operator_loc: (4,13)-(4,16) = "..."
- │ │ │ └── flags: exclude_end
+ │ │ │ │ └── block: ∅
+ │ │ │ └── operator_loc: (4,13)-(4,16) = "..."
│ │ └── operator_loc: (4,9)-(4,11) = "or"
│ ├── then_keyword_loc: ∅
│ ├── statements: ∅
@@ -178,8 +178,10 @@
│ @ AndNode (location: (7,3)-(7,18))
│ ├── left:
│ │ @ FlipFlopNode (location: (7,3)-(7,8))
+ │ │ ├── flags: exclude_end
│ │ ├── left:
│ │ │ @ CallNode (location: (7,3)-(7,4))
+ │ │ │ ├── flags: variable_call
│ │ │ ├── receiver: ∅
│ │ │ ├── call_operator_loc: ∅
│ │ │ ├── name: :a
@@ -187,10 +189,10 @@
│ │ │ ├── opening_loc: ∅
│ │ │ ├── arguments: ∅
│ │ │ ├── closing_loc: ∅
- │ │ │ ├── block: ∅
- │ │ │ └── flags: variable_call
+ │ │ │ └── block: ∅
│ │ ├── right:
│ │ │ @ CallNode (location: (7,7)-(7,8))
+ │ │ │ ├── flags: variable_call
│ │ │ ├── receiver: ∅
│ │ │ ├── call_operator_loc: ∅
│ │ │ ├── name: :b
@@ -198,14 +200,14 @@
│ │ │ ├── opening_loc: ∅
│ │ │ ├── arguments: ∅
│ │ │ ├── closing_loc: ∅
- │ │ │ ├── block: ∅
- │ │ │ └── flags: variable_call
- │ │ ├── operator_loc: (7,4)-(7,7) = "..."
- │ │ └── flags: exclude_end
+ │ │ │ └── block: ∅
+ │ │ └── operator_loc: (7,4)-(7,7) = "..."
│ ├── right:
│ │ @ FlipFlopNode (location: (7,13)-(7,18))
+ │ │ ├── flags: exclude_end
│ │ ├── left:
│ │ │ @ CallNode (location: (7,13)-(7,14))
+ │ │ │ ├── flags: variable_call
│ │ │ ├── receiver: ∅
│ │ │ ├── call_operator_loc: ∅
│ │ │ ├── name: :c
@@ -213,10 +215,10 @@
│ │ │ ├── opening_loc: ∅
│ │ │ ├── arguments: ∅
│ │ │ ├── closing_loc: ∅
- │ │ │ ├── block: ∅
- │ │ │ └── flags: variable_call
+ │ │ │ └── block: ∅
│ │ ├── right:
│ │ │ @ CallNode (location: (7,17)-(7,18))
+ │ │ │ ├── flags: variable_call
│ │ │ ├── receiver: ∅
│ │ │ ├── call_operator_loc: ∅
│ │ │ ├── name: :d
@@ -224,10 +226,8 @@
│ │ │ ├── opening_loc: ∅
│ │ │ ├── arguments: ∅
│ │ │ ├── closing_loc: ∅
- │ │ │ ├── block: ∅
- │ │ │ └── flags: variable_call
- │ │ ├── operator_loc: (7,14)-(7,17) = "..."
- │ │ └── flags: exclude_end
+ │ │ │ └── block: ∅
+ │ │ └── operator_loc: (7,14)-(7,17) = "..."
│ └── operator_loc: (7,9)-(7,12) = "and"
├── then_keyword_loc: ∅
├── statements: ∅
diff --git a/test/prism/snapshots/unparser/corpus/semantic/block.txt b/test/prism/snapshots/unparser/corpus/semantic/block.txt
index 94f03c9746..9f490a4ce7 100644
--- a/test/prism/snapshots/unparser/corpus/semantic/block.txt
+++ b/test/prism/snapshots/unparser/corpus/semantic/block.txt
@@ -4,6 +4,7 @@
@ StatementsNode (location: (1,0)-(26,3))
└── body: (length: 6)
├── @ CallNode (location: (1,0)-(2,3))
+ │ ├── flags: ∅
│ ├── receiver: ∅
│ ├── call_operator_loc: ∅
│ ├── name: :foo
@@ -11,16 +12,16 @@
│ ├── opening_loc: ∅
│ ├── arguments: ∅
│ ├── closing_loc: ∅
- │ ├── block:
- │ │ @ BlockNode (location: (1,4)-(2,3))
- │ │ ├── locals: []
- │ │ ├── locals_body_index: 0
- │ │ ├── parameters: ∅
- │ │ ├── body: ∅
- │ │ ├── opening_loc: (1,4)-(1,6) = "do"
- │ │ └── closing_loc: (2,0)-(2,3) = "end"
- │ └── flags: ∅
+ │ └── block:
+ │ @ BlockNode (location: (1,4)-(2,3))
+ │ ├── locals: []
+ │ ├── locals_body_index: 0
+ │ ├── parameters: ∅
+ │ ├── body: ∅
+ │ ├── opening_loc: (1,4)-(1,6) = "do"
+ │ └── closing_loc: (2,0)-(2,3) = "end"
├── @ CallNode (location: (4,0)-(6,3))
+ │ ├── flags: ∅
│ ├── receiver: ∅
│ ├── call_operator_loc: ∅
│ ├── name: :foo
@@ -28,30 +29,30 @@
│ ├── opening_loc: ∅
│ ├── arguments: ∅
│ ├── closing_loc: ∅
- │ ├── block:
- │ │ @ BlockNode (location: (4,4)-(6,3))
- │ │ ├── locals: []
- │ │ ├── locals_body_index: 0
- │ │ ├── parameters: ∅
- │ │ ├── body:
- │ │ │ @ BeginNode (location: (5,0)-(6,3))
- │ │ │ ├── begin_keyword_loc: ∅
- │ │ │ ├── statements: ∅
- │ │ │ ├── rescue_clause:
- │ │ │ │ @ RescueNode (location: (5,0)-(5,6))
- │ │ │ │ ├── keyword_loc: (5,0)-(5,6) = "rescue"
- │ │ │ │ ├── exceptions: (length: 0)
- │ │ │ │ ├── operator_loc: ∅
- │ │ │ │ ├── reference: ∅
- │ │ │ │ ├── statements: ∅
- │ │ │ │ └── consequent: ∅
- │ │ │ ├── else_clause: ∅
- │ │ │ ├── ensure_clause: ∅
- │ │ │ └── end_keyword_loc: (6,0)-(6,3) = "end"
- │ │ ├── opening_loc: (4,4)-(4,6) = "do"
- │ │ └── closing_loc: (6,0)-(6,3) = "end"
- │ └── flags: ∅
+ │ └── block:
+ │ @ BlockNode (location: (4,4)-(6,3))
+ │ ├── locals: []
+ │ ├── locals_body_index: 0
+ │ ├── parameters: ∅
+ │ ├── body:
+ │ │ @ BeginNode (location: (5,0)-(6,3))
+ │ │ ├── begin_keyword_loc: ∅
+ │ │ ├── statements: ∅
+ │ │ ├── rescue_clause:
+ │ │ │ @ RescueNode (location: (5,0)-(5,6))
+ │ │ │ ├── keyword_loc: (5,0)-(5,6) = "rescue"
+ │ │ │ ├── exceptions: (length: 0)
+ │ │ │ ├── operator_loc: ∅
+ │ │ │ ├── reference: ∅
+ │ │ │ ├── statements: ∅
+ │ │ │ └── consequent: ∅
+ │ │ ├── else_clause: ∅
+ │ │ ├── ensure_clause: ∅
+ │ │ └── end_keyword_loc: (6,0)-(6,3) = "end"
+ │ ├── opening_loc: (4,4)-(4,6) = "do"
+ │ └── closing_loc: (6,0)-(6,3) = "end"
├── @ CallNode (location: (8,0)-(11,3))
+ │ ├── flags: ∅
│ ├── receiver: ∅
│ ├── call_operator_loc: ∅
│ ├── name: :foo
@@ -59,25 +60,25 @@
│ ├── opening_loc: ∅
│ ├── arguments: ∅
│ ├── closing_loc: ∅
- │ ├── block:
- │ │ @ BlockNode (location: (8,4)-(11,3))
- │ │ ├── locals: []
- │ │ ├── locals_body_index: 0
- │ │ ├── parameters: ∅
- │ │ ├── body:
- │ │ │ @ StatementsNode (location: (9,2)-(10,5))
- │ │ │ └── body: (length: 2)
- │ │ │ ├── @ RescueModifierNode (location: (9,2)-(9,16))
- │ │ │ │ ├── expression:
- │ │ │ │ │ @ NilNode (location: (9,2)-(9,5))
- │ │ │ │ ├── keyword_loc: (9,6)-(9,12) = "rescue"
- │ │ │ │ └── rescue_expression:
- │ │ │ │ @ NilNode (location: (9,13)-(9,16))
- │ │ │ └── @ NilNode (location: (10,2)-(10,5))
- │ │ ├── opening_loc: (8,4)-(8,6) = "do"
- │ │ └── closing_loc: (11,0)-(11,3) = "end"
- │ └── flags: ∅
+ │ └── block:
+ │ @ BlockNode (location: (8,4)-(11,3))
+ │ ├── locals: []
+ │ ├── locals_body_index: 0
+ │ ├── parameters: ∅
+ │ ├── body:
+ │ │ @ StatementsNode (location: (9,2)-(10,5))
+ │ │ └── body: (length: 2)
+ │ │ ├── @ RescueModifierNode (location: (9,2)-(9,16))
+ │ │ │ ├── expression:
+ │ │ │ │ @ NilNode (location: (9,2)-(9,5))
+ │ │ │ ├── keyword_loc: (9,6)-(9,12) = "rescue"
+ │ │ │ └── rescue_expression:
+ │ │ │ @ NilNode (location: (9,13)-(9,16))
+ │ │ └── @ NilNode (location: (10,2)-(10,5))
+ │ ├── opening_loc: (8,4)-(8,6) = "do"
+ │ └── closing_loc: (11,0)-(11,3) = "end"
├── @ CallNode (location: (13,0)-(14,3))
+ │ ├── flags: ∅
│ ├── receiver: ∅
│ ├── call_operator_loc: ∅
│ ├── name: :foo
@@ -85,31 +86,31 @@
│ ├── opening_loc: ∅
│ ├── arguments: ∅
│ ├── closing_loc: ∅
- │ ├── block:
- │ │ @ BlockNode (location: (13,4)-(14,3))
- │ │ ├── locals: [:a]
- │ │ ├── locals_body_index: 1
- │ │ ├── parameters:
- │ │ │ @ BlockParametersNode (location: (13,7)-(13,10))
- │ │ │ ├── parameters:
- │ │ │ │ @ ParametersNode (location: (13,8)-(13,9))
- │ │ │ │ ├── requireds: (length: 1)
- │ │ │ │ │ └── @ RequiredParameterNode (location: (13,8)-(13,9))
- │ │ │ │ │ └── name: :a
- │ │ │ │ ├── optionals: (length: 0)
- │ │ │ │ ├── rest: ∅
- │ │ │ │ ├── posts: (length: 0)
- │ │ │ │ ├── keywords: (length: 0)
- │ │ │ │ ├── keyword_rest: ∅
- │ │ │ │ └── block: ∅
- │ │ │ ├── locals: (length: 0)
- │ │ │ ├── opening_loc: (13,7)-(13,8) = "|"
- │ │ │ └── closing_loc: (13,9)-(13,10) = "|"
- │ │ ├── body: ∅
- │ │ ├── opening_loc: (13,4)-(13,6) = "do"
- │ │ └── closing_loc: (14,0)-(14,3) = "end"
- │ └── flags: ∅
+ │ └── block:
+ │ @ BlockNode (location: (13,4)-(14,3))
+ │ ├── locals: [:a]
+ │ ├── locals_body_index: 1
+ │ ├── parameters:
+ │ │ @ BlockParametersNode (location: (13,7)-(13,10))
+ │ │ ├── parameters:
+ │ │ │ @ ParametersNode (location: (13,8)-(13,9))
+ │ │ │ ├── requireds: (length: 1)
+ │ │ │ │ └── @ RequiredParameterNode (location: (13,8)-(13,9))
+ │ │ │ │ └── name: :a
+ │ │ │ ├── optionals: (length: 0)
+ │ │ │ ├── rest: ∅
+ │ │ │ ├── posts: (length: 0)
+ │ │ │ ├── keywords: (length: 0)
+ │ │ │ ├── keyword_rest: ∅
+ │ │ │ └── block: ∅
+ │ │ ├── locals: (length: 0)
+ │ │ ├── opening_loc: (13,7)-(13,8) = "|"
+ │ │ └── closing_loc: (13,9)-(13,10) = "|"
+ │ ├── body: ∅
+ │ ├── opening_loc: (13,4)-(13,6) = "do"
+ │ └── closing_loc: (14,0)-(14,3) = "end"
├── @ CallNode (location: (16,0)-(20,3))
+ │ ├── flags: ∅
│ ├── receiver: ∅
│ ├── call_operator_loc: ∅
│ ├── name: :foo
@@ -117,45 +118,45 @@
│ ├── opening_loc: (16,3)-(16,4) = "("
│ ├── arguments:
│ │ @ ArgumentsNode (location: (16,4)-(16,10))
- │ │ ├── arguments: (length: 1)
- │ │ │ └── @ StringNode (location: (16,4)-(16,10))
- │ │ │ ├── flags: ∅
- │ │ │ ├── opening_loc: (16,4)-(16,10) = "<<-DOC"
- │ │ │ ├── content_loc: (17,0)-(18,0) = " b\n"
- │ │ │ ├── closing_loc: (18,0)-(19,0) = "DOC\n"
- │ │ │ └── unescaped: " b\n"
- │ │ └── flags: ∅
+ │ │ ├── flags: ∅
+ │ │ └── arguments: (length: 1)
+ │ │ └── @ StringNode (location: (16,4)-(16,10))
+ │ │ ├── flags: ∅
+ │ │ ├── opening_loc: (16,4)-(16,10) = "<<-DOC"
+ │ │ ├── content_loc: (17,0)-(18,0) = " b\n"
+ │ │ ├── closing_loc: (18,0)-(19,0) = "DOC\n"
+ │ │ └── unescaped: " b\n"
│ ├── closing_loc: (16,10)-(16,11) = ")"
- │ ├── block:
- │ │ @ BlockNode (location: (16,12)-(20,3))
- │ │ ├── locals: [:a]
- │ │ ├── locals_body_index: 1
- │ │ ├── parameters:
- │ │ │ @ BlockParametersNode (location: (16,15)-(16,18))
- │ │ │ ├── parameters:
- │ │ │ │ @ ParametersNode (location: (16,16)-(16,17))
- │ │ │ │ ├── requireds: (length: 1)
- │ │ │ │ │ └── @ RequiredParameterNode (location: (16,16)-(16,17))
- │ │ │ │ │ └── name: :a
- │ │ │ │ ├── optionals: (length: 0)
- │ │ │ │ ├── rest: ∅
- │ │ │ │ ├── posts: (length: 0)
- │ │ │ │ ├── keywords: (length: 0)
- │ │ │ │ ├── keyword_rest: ∅
- │ │ │ │ └── block: ∅
- │ │ │ ├── locals: (length: 0)
- │ │ │ ├── opening_loc: (16,15)-(16,16) = "|"
- │ │ │ └── closing_loc: (16,17)-(16,18) = "|"
- │ │ ├── body:
- │ │ │ @ StatementsNode (location: (19,2)-(19,3))
- │ │ │ └── body: (length: 1)
- │ │ │ └── @ LocalVariableReadNode (location: (19,2)-(19,3))
- │ │ │ ├── name: :a
- │ │ │ └── depth: 0
- │ │ ├── opening_loc: (16,12)-(16,14) = "do"
- │ │ └── closing_loc: (20,0)-(20,3) = "end"
- │ └── flags: ∅
+ │ └── block:
+ │ @ BlockNode (location: (16,12)-(20,3))
+ │ ├── locals: [:a]
+ │ ├── locals_body_index: 1
+ │ ├── parameters:
+ │ │ @ BlockParametersNode (location: (16,15)-(16,18))
+ │ │ ├── parameters:
+ │ │ │ @ ParametersNode (location: (16,16)-(16,17))
+ │ │ │ ├── requireds: (length: 1)
+ │ │ │ │ └── @ RequiredParameterNode (location: (16,16)-(16,17))
+ │ │ │ │ └── name: :a
+ │ │ │ ├── optionals: (length: 0)
+ │ │ │ ├── rest: ∅
+ │ │ │ ├── posts: (length: 0)
+ │ │ │ ├── keywords: (length: 0)
+ │ │ │ ├── keyword_rest: ∅
+ │ │ │ └── block: ∅
+ │ │ ├── locals: (length: 0)
+ │ │ ├── opening_loc: (16,15)-(16,16) = "|"
+ │ │ └── closing_loc: (16,17)-(16,18) = "|"
+ │ ├── body:
+ │ │ @ StatementsNode (location: (19,2)-(19,3))
+ │ │ └── body: (length: 1)
+ │ │ └── @ LocalVariableReadNode (location: (19,2)-(19,3))
+ │ │ ├── name: :a
+ │ │ └── depth: 0
+ │ ├── opening_loc: (16,12)-(16,14) = "do"
+ │ └── closing_loc: (20,0)-(20,3) = "end"
└── @ CallNode (location: (22,0)-(26,3))
+ ├── flags: ∅
├── receiver: ∅
├── call_operator_loc: ∅
├── name: :foo
@@ -163,33 +164,32 @@
├── opening_loc: (22,3)-(22,4) = "("
├── arguments:
│ @ ArgumentsNode (location: (22,4)-(22,10))
- │ ├── arguments: (length: 1)
- │ │ └── @ StringNode (location: (22,4)-(22,10))
- │ │ ├── flags: ∅
- │ │ ├── opening_loc: (22,4)-(22,10) = "<<-DOC"
- │ │ ├── content_loc: (23,0)-(24,0) = " b\n"
- │ │ ├── closing_loc: (24,0)-(25,0) = "DOC\n"
- │ │ └── unescaped: " b\n"
- │ └── flags: ∅
+ │ ├── flags: ∅
+ │ └── arguments: (length: 1)
+ │ └── @ StringNode (location: (22,4)-(22,10))
+ │ ├── flags: ∅
+ │ ├── opening_loc: (22,4)-(22,10) = "<<-DOC"
+ │ ├── content_loc: (23,0)-(24,0) = " b\n"
+ │ ├── closing_loc: (24,0)-(25,0) = "DOC\n"
+ │ └── unescaped: " b\n"
├── closing_loc: (22,10)-(22,11) = ")"
- ├── block:
- │ @ BlockNode (location: (22,12)-(26,3))
- │ ├── locals: []
- │ ├── locals_body_index: 0
- │ ├── parameters: ∅
- │ ├── body:
- │ │ @ StatementsNode (location: (25,2)-(25,3))
- │ │ └── body: (length: 1)
- │ │ └── @ CallNode (location: (25,2)-(25,3))
- │ │ ├── receiver: ∅
- │ │ ├── call_operator_loc: ∅
- │ │ ├── name: :a
- │ │ ├── message_loc: (25,2)-(25,3) = "a"
- │ │ ├── opening_loc: ∅
- │ │ ├── arguments: ∅
- │ │ ├── closing_loc: ∅
- │ │ ├── block: ∅
- │ │ └── flags: variable_call
- │ ├── opening_loc: (22,12)-(22,14) = "do"
- │ └── closing_loc: (26,0)-(26,3) = "end"
- └── flags: ∅
+ └── block:
+ @ BlockNode (location: (22,12)-(26,3))
+ ├── locals: []
+ ├── locals_body_index: 0
+ ├── parameters: ∅
+ ├── body:
+ │ @ StatementsNode (location: (25,2)-(25,3))
+ │ └── body: (length: 1)
+ │ └── @ CallNode (location: (25,2)-(25,3))
+ │ ├── flags: variable_call
+ │ ├── receiver: ∅
+ │ ├── call_operator_loc: ∅
+ │ ├── name: :a
+ │ ├── message_loc: (25,2)-(25,3) = "a"
+ │ ├── opening_loc: ∅
+ │ ├── arguments: ∅
+ │ ├── closing_loc: ∅
+ │ └── block: ∅
+ ├── opening_loc: (22,12)-(22,14) = "do"
+ └── closing_loc: (26,0)-(26,3) = "end"
diff --git a/test/prism/snapshots/unparser/corpus/semantic/def.txt b/test/prism/snapshots/unparser/corpus/semantic/def.txt
index 952c486c88..1219d65b4d 100644
--- a/test/prism/snapshots/unparser/corpus/semantic/def.txt
+++ b/test/prism/snapshots/unparser/corpus/semantic/def.txt
@@ -16,8 +16,10 @@
│ │ │ @ StatementsNode (location: (2,3)-(2,8))
│ │ │ └── body: (length: 1)
│ │ │ └── @ CallNode (location: (2,3)-(2,8))
+ │ │ │ ├── flags: ∅
│ │ │ ├── receiver:
│ │ │ │ @ CallNode (location: (2,3)-(2,4))
+ │ │ │ │ ├── flags: variable_call
│ │ │ │ ├── receiver: ∅
│ │ │ │ ├── call_operator_loc: ∅
│ │ │ │ ├── name: :a
@@ -25,29 +27,27 @@
│ │ │ │ ├── opening_loc: ∅
│ │ │ │ ├── arguments: ∅
│ │ │ │ ├── closing_loc: ∅
- │ │ │ │ ├── block: ∅
- │ │ │ │ └── flags: variable_call
+ │ │ │ │ └── block: ∅
│ │ │ ├── call_operator_loc: ∅
│ │ │ ├── name: :-
│ │ │ ├── message_loc: (2,5)-(2,6) = "-"
│ │ │ ├── opening_loc: ∅
│ │ │ ├── arguments:
│ │ │ │ @ ArgumentsNode (location: (2,7)-(2,8))
- │ │ │ │ ├── arguments: (length: 1)
- │ │ │ │ │ └── @ CallNode (location: (2,7)-(2,8))
- │ │ │ │ │ ├── receiver: ∅
- │ │ │ │ │ ├── call_operator_loc: ∅
- │ │ │ │ │ ├── name: :b
- │ │ │ │ │ ├── message_loc: (2,7)-(2,8) = "b"
- │ │ │ │ │ ├── opening_loc: ∅
- │ │ │ │ │ ├── arguments: ∅
- │ │ │ │ │ ├── closing_loc: ∅
- │ │ │ │ │ ├── block: ∅
- │ │ │ │ │ └── flags: variable_call
- │ │ │ │ └── flags: ∅
+ │ │ │ │ ├── flags: ∅
+ │ │ │ │ └── arguments: (length: 1)
+ │ │ │ │ └── @ CallNode (location: (2,7)-(2,8))
+ │ │ │ │ ├── flags: variable_call
+ │ │ │ │ ├── receiver: ∅
+ │ │ │ │ ├── call_operator_loc: ∅
+ │ │ │ │ ├── name: :b
+ │ │ │ │ ├── message_loc: (2,7)-(2,8) = "b"
+ │ │ │ │ ├── opening_loc: ∅
+ │ │ │ │ ├── arguments: ∅
+ │ │ │ │ ├── closing_loc: ∅
+ │ │ │ │ └── block: ∅
│ │ │ ├── closing_loc: ∅
- │ │ │ ├── block: ∅
- │ │ │ └── flags: ∅
+ │ │ │ └── block: ∅
│ │ ├── opening_loc: (2,2)-(2,3) = "("
│ │ └── closing_loc: (2,8)-(2,9) = ")"
│ ├── locals: []
@@ -69,6 +69,7 @@
│ └── @ RescueModifierNode (location: (6,2)-(6,20))
│ ├── expression:
│ │ @ CallNode (location: (6,2)-(6,3))
+ │ │ ├── flags: variable_call
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
│ │ ├── name: :a
@@ -76,8 +77,7 @@
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
- │ │ ├── block: ∅
- │ │ └── flags: variable_call
+ │ │ └── block: ∅
│ ├── keyword_loc: (6,4)-(6,10) = "rescue"
│ └── rescue_expression:
│ @ ConstantReadNode (location: (6,11)-(6,20))
diff --git a/test/prism/snapshots/unparser/corpus/semantic/kwbegin.txt b/test/prism/snapshots/unparser/corpus/semantic/kwbegin.txt
index 00abd39b81..e87557841f 100644
--- a/test/prism/snapshots/unparser/corpus/semantic/kwbegin.txt
+++ b/test/prism/snapshots/unparser/corpus/semantic/kwbegin.txt
@@ -41,6 +41,7 @@
│ │ @ StatementsNode (location: (11,2)-(11,3))
│ │ └── body: (length: 1)
│ │ └── @ CallNode (location: (11,2)-(11,3))
+ │ │ ├── flags: variable_call
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
│ │ ├── name: :a
@@ -48,8 +49,7 @@
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
- │ │ ├── block: ∅
- │ │ └── flags: variable_call
+ │ │ └── block: ∅
│ ├── rescue_clause: ∅
│ ├── else_clause: ∅
│ ├── ensure_clause: ∅
@@ -60,6 +60,7 @@
│ │ @ StatementsNode (location: (15,2)-(15,3))
│ │ └── body: (length: 1)
│ │ └── @ CallNode (location: (15,2)-(15,3))
+ │ │ ├── flags: variable_call
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
│ │ ├── name: :a
@@ -67,8 +68,7 @@
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
- │ │ ├── block: ∅
- │ │ └── flags: variable_call
+ │ │ └── block: ∅
│ ├── rescue_clause:
│ │ @ RescueNode (location: (16,0)-(17,3))
│ │ ├── keyword_loc: (16,0)-(16,6) = "rescue"
@@ -79,6 +79,7 @@
│ │ │ @ StatementsNode (location: (17,2)-(17,3))
│ │ │ └── body: (length: 1)
│ │ │ └── @ CallNode (location: (17,2)-(17,3))
+ │ │ │ ├── flags: variable_call
│ │ │ ├── receiver: ∅
│ │ │ ├── call_operator_loc: ∅
│ │ │ ├── name: :b
@@ -86,8 +87,7 @@
│ │ │ ├── opening_loc: ∅
│ │ │ ├── arguments: ∅
│ │ │ ├── closing_loc: ∅
- │ │ │ ├── block: ∅
- │ │ │ └── flags: variable_call
+ │ │ │ └── block: ∅
│ │ └── consequent: ∅
│ ├── else_clause: ∅
│ ├── ensure_clause: ∅
@@ -98,6 +98,7 @@
│ │ @ StatementsNode (location: (21,2)-(22,3))
│ │ └── body: (length: 2)
│ │ ├── @ CallNode (location: (21,2)-(21,3))
+ │ │ │ ├── flags: variable_call
│ │ │ ├── receiver: ∅
│ │ │ ├── call_operator_loc: ∅
│ │ │ ├── name: :a
@@ -105,9 +106,9 @@
│ │ │ ├── opening_loc: ∅
│ │ │ ├── arguments: ∅
│ │ │ ├── closing_loc: ∅
- │ │ │ ├── block: ∅
- │ │ │ └── flags: variable_call
+ │ │ │ └── block: ∅
│ │ └── @ CallNode (location: (22,2)-(22,3))
+ │ │ ├── flags: variable_call
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
│ │ ├── name: :b
@@ -115,8 +116,7 @@
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
- │ │ ├── block: ∅
- │ │ └── flags: variable_call
+ │ │ └── block: ∅
│ ├── rescue_clause:
│ │ @ RescueNode (location: (23,0)-(24,3))
│ │ ├── keyword_loc: (23,0)-(23,6) = "rescue"
@@ -127,6 +127,7 @@
│ │ │ @ StatementsNode (location: (24,2)-(24,3))
│ │ │ └── body: (length: 1)
│ │ │ └── @ CallNode (location: (24,2)-(24,3))
+ │ │ │ ├── flags: variable_call
│ │ │ ├── receiver: ∅
│ │ │ ├── call_operator_loc: ∅
│ │ │ ├── name: :b
@@ -134,8 +135,7 @@
│ │ │ ├── opening_loc: ∅
│ │ │ ├── arguments: ∅
│ │ │ ├── closing_loc: ∅
- │ │ │ ├── block: ∅
- │ │ │ └── flags: variable_call
+ │ │ │ └── block: ∅
│ │ └── consequent: ∅
│ ├── else_clause: ∅
│ ├── ensure_clause: ∅
@@ -186,6 +186,7 @@
│ @ StatementsNode (location: (35,2)-(35,3))
│ └── body: (length: 1)
│ └── @ CallNode (location: (35,2)-(35,3))
+ │ ├── flags: variable_call
│ ├── receiver: ∅
│ ├── call_operator_loc: ∅
│ ├── name: :a
@@ -193,8 +194,7 @@
│ ├── opening_loc: ∅
│ ├── arguments: ∅
│ ├── closing_loc: ∅
- │ ├── block: ∅
- │ └── flags: variable_call
+ │ └── block: ∅
├── rescue_clause:
│ @ RescueNode (location: (36,0)-(39,3))
│ ├── keyword_loc: (36,0)-(36,6) = "rescue"
@@ -207,6 +207,7 @@
│ │ @ StatementsNode (location: (37,2)-(37,3))
│ │ └── body: (length: 1)
│ │ └── @ CallNode (location: (37,2)-(37,3))
+ │ │ ├── flags: variable_call
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
│ │ ├── name: :b
@@ -214,8 +215,7 @@
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
- │ │ ├── block: ∅
- │ │ └── flags: variable_call
+ │ │ └── block: ∅
│ └── consequent:
│ @ RescueNode (location: (38,0)-(39,3))
│ ├── keyword_loc: (38,0)-(38,6) = "rescue"
@@ -228,6 +228,7 @@
│ │ @ StatementsNode (location: (39,2)-(39,3))
│ │ └── body: (length: 1)
│ │ └── @ CallNode (location: (39,2)-(39,3))
+ │ │ ├── flags: variable_call
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
│ │ ├── name: :c
@@ -235,8 +236,7 @@
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
- │ │ ├── block: ∅
- │ │ └── flags: variable_call
+ │ │ └── block: ∅
│ └── consequent: ∅
├── else_clause: ∅
├── ensure_clause:
@@ -246,6 +246,7 @@
│ │ @ StatementsNode (location: (41,2)-(41,3))
│ │ └── body: (length: 1)
│ │ └── @ CallNode (location: (41,2)-(41,3))
+ │ │ ├── flags: variable_call
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
│ │ ├── name: :d
@@ -253,7 +254,6 @@
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
- │ │ ├── block: ∅
- │ │ └── flags: variable_call
+ │ │ └── block: ∅
│ └── end_keyword_loc: (42,0)-(42,3) = "end"
└── end_keyword_loc: (42,0)-(42,3) = "end"
diff --git a/test/prism/snapshots/unparser/corpus/semantic/literal.txt b/test/prism/snapshots/unparser/corpus/semantic/literal.txt
index 221be0775c..c4bb54a9ec 100644
--- a/test/prism/snapshots/unparser/corpus/semantic/literal.txt
+++ b/test/prism/snapshots/unparser/corpus/semantic/literal.txt
@@ -24,18 +24,19 @@
│ ├── closing_loc: ∅
│ └── unescaped: "c"
├── @ RegularExpressionNode (location: (9,0)-(9,5))
+ │ ├── flags: ∅
│ ├── opening_loc: (9,0)-(9,3) = "%r("
│ ├── content_loc: (9,3)-(9,4) = "/"
│ ├── closing_loc: (9,4)-(9,5) = ")"
- │ ├── unescaped: "/"
- │ └── flags: ∅
+ │ └── unescaped: "/"
├── @ RegularExpressionNode (location: (10,0)-(10,6))
+ │ ├── flags: ∅
│ ├── opening_loc: (10,0)-(10,3) = "%r("
│ ├── content_loc: (10,3)-(10,5) = "\\)"
│ ├── closing_loc: (10,5)-(10,6) = ")"
- │ ├── unescaped: "\\)"
- │ └── flags: ∅
+ │ └── unescaped: "\\)"
├── @ InterpolatedRegularExpressionNode (location: (11,0)-(11,14))
+ │ ├── flags: ∅
│ ├── opening_loc: (11,0)-(11,3) = "%r("
│ ├── parts: (length: 2)
│ │ ├── @ EmbeddedStatementsNode (location: (11,3)-(11,10))
@@ -52,11 +53,11 @@
│ │ ├── content_loc: (11,10)-(11,13) = "baz"
│ │ ├── closing_loc: ∅
│ │ └── unescaped: "baz"
- │ ├── closing_loc: (11,13)-(11,14) = ")"
- │ └── flags: ∅
+ │ └── closing_loc: (11,13)-(11,14) = ")"
├── @ FloatNode (location: (12,0)-(12,16))
├── @ FloatNode (location: (13,0)-(13,17))
└── @ CallNode (location: (14,0)-(14,10))
+ ├── flags: ∅
├── receiver: ∅
├── call_operator_loc: ∅
├── name: :w
@@ -64,31 +65,30 @@
├── opening_loc: (14,1)-(14,2) = "("
├── arguments:
│ @ ArgumentsNode (location: (14,2)-(14,9))
- │ ├── arguments: (length: 1)
- │ │ └── @ CallNode (location: (14,2)-(14,9))
- │ │ ├── receiver: ∅
- │ │ ├── call_operator_loc: ∅
- │ │ ├── name: :foo
- │ │ ├── message_loc: (14,2)-(14,5) = "foo"
- │ │ ├── opening_loc: ∅
- │ │ ├── arguments:
- │ │ │ @ ArgumentsNode (location: (14,6)-(14,9))
- │ │ │ ├── arguments: (length: 1)
- │ │ │ │ └── @ CallNode (location: (14,6)-(14,9))
- │ │ │ │ ├── receiver: ∅
- │ │ │ │ ├── call_operator_loc: ∅
- │ │ │ │ ├── name: :bar
- │ │ │ │ ├── message_loc: (14,6)-(14,9) = "bar"
- │ │ │ │ ├── opening_loc: ∅
- │ │ │ │ ├── arguments: ∅
- │ │ │ │ ├── closing_loc: ∅
- │ │ │ │ ├── block: ∅
- │ │ │ │ └── flags: variable_call
- │ │ │ └── flags: ∅
- │ │ ├── closing_loc: ∅
- │ │ ├── block: ∅
- │ │ └── flags: ∅
- │ └── flags: ∅
+ │ ├── flags: ∅
+ │ └── arguments: (length: 1)
+ │ └── @ CallNode (location: (14,2)-(14,9))
+ │ ├── flags: ∅
+ │ ├── receiver: ∅
+ │ ├── call_operator_loc: ∅
+ │ ├── name: :foo
+ │ ├── message_loc: (14,2)-(14,5) = "foo"
+ │ ├── opening_loc: ∅
+ │ ├── arguments:
+ │ │ @ ArgumentsNode (location: (14,6)-(14,9))
+ │ │ ├── flags: ∅
+ │ │ └── arguments: (length: 1)
+ │ │ └── @ CallNode (location: (14,6)-(14,9))
+ │ │ ├── flags: variable_call
+ │ │ ├── receiver: ∅
+ │ │ ├── call_operator_loc: ∅
+ │ │ ├── name: :bar
+ │ │ ├── message_loc: (14,6)-(14,9) = "bar"
+ │ │ ├── opening_loc: ∅
+ │ │ ├── arguments: ∅
+ │ │ ├── closing_loc: ∅
+ │ │ └── block: ∅
+ │ ├── closing_loc: ∅
+ │ └── block: ∅
├── closing_loc: (14,9)-(14,10) = ")"
- ├── block: ∅
- └── flags: ∅
+ └── block: ∅
diff --git a/test/prism/snapshots/unparser/corpus/semantic/send.txt b/test/prism/snapshots/unparser/corpus/semantic/send.txt
index 7f359ed765..8cb28a8e57 100644
--- a/test/prism/snapshots/unparser/corpus/semantic/send.txt
+++ b/test/prism/snapshots/unparser/corpus/semantic/send.txt
@@ -4,6 +4,7 @@
@ StatementsNode (location: (1,0)-(6,15))
└── body: (length: 4)
├── @ CallNode (location: (1,0)-(1,3))
+ │ ├── flags: variable_call
│ ├── receiver: ∅
│ ├── call_operator_loc: ∅
│ ├── name: :foo
@@ -11,9 +12,9 @@
│ ├── opening_loc: ∅
│ ├── arguments: ∅
│ ├── closing_loc: ∅
- │ ├── block: ∅
- │ └── flags: variable_call
+ │ └── block: ∅
├── @ CallNode (location: (2,0)-(2,6))
+ │ ├── flags: ∅
│ ├── receiver: ∅
│ ├── call_operator_loc: ∅
│ ├── name: :foo
@@ -21,20 +22,23 @@
│ ├── opening_loc: (2,3)-(2,4) = "("
│ ├── arguments:
│ │ @ ArgumentsNode (location: (2,4)-(2,5))
- │ │ ├── arguments: (length: 1)
- │ │ │ └── @ IntegerNode (location: (2,4)-(2,5))
- │ │ │ └── flags: decimal
- │ │ └── flags: ∅
+ │ │ ├── flags: ∅
+ │ │ └── arguments: (length: 1)
+ │ │ └── @ IntegerNode (location: (2,4)-(2,5))
+ │ │ └── flags: decimal
│ ├── closing_loc: (2,5)-(2,6) = ")"
- │ ├── block: ∅
- │ └── flags: ∅
+ │ └── block: ∅
├── @ CallNode (location: (4,0)-(4,15))
+ │ ├── flags: ∅
│ ├── receiver:
│ │ @ CallNode (location: (4,0)-(4,10))
+ │ │ ├── flags: ∅
│ │ ├── receiver:
│ │ │ @ CallNode (location: (4,0)-(4,8))
+ │ │ │ ├── flags: ∅
│ │ │ ├── receiver:
│ │ │ │ @ CallNode (location: (4,0)-(4,1))
+ │ │ │ │ ├── flags: variable_call
│ │ │ │ ├── receiver: ∅
│ │ │ │ ├── call_operator_loc: ∅
│ │ │ │ ├── name: :a
@@ -42,61 +46,59 @@
│ │ │ │ ├── opening_loc: ∅
│ │ │ │ ├── arguments: ∅
│ │ │ │ ├── closing_loc: ∅
- │ │ │ │ ├── block: ∅
- │ │ │ │ └── flags: variable_call
+ │ │ │ │ └── block: ∅
│ │ │ ├── call_operator_loc: (4,1)-(4,2) = "."
│ │ │ ├── name: :===
│ │ │ ├── message_loc: (4,2)-(4,5) = "==="
│ │ │ ├── opening_loc: (4,5)-(4,6) = "("
│ │ │ ├── arguments:
│ │ │ │ @ ArgumentsNode (location: (4,6)-(4,7))
- │ │ │ │ ├── arguments: (length: 1)
- │ │ │ │ │ └── @ CallNode (location: (4,6)-(4,7))
- │ │ │ │ │ ├── receiver: ∅
- │ │ │ │ │ ├── call_operator_loc: ∅
- │ │ │ │ │ ├── name: :b
- │ │ │ │ │ ├── message_loc: (4,6)-(4,7) = "b"
- │ │ │ │ │ ├── opening_loc: ∅
- │ │ │ │ │ ├── arguments: ∅
- │ │ │ │ │ ├── closing_loc: ∅
- │ │ │ │ │ ├── block: ∅
- │ │ │ │ │ └── flags: variable_call
- │ │ │ │ └── flags: ∅
+ │ │ │ │ ├── flags: ∅
+ │ │ │ │ └── arguments: (length: 1)
+ │ │ │ │ └── @ CallNode (location: (4,6)-(4,7))
+ │ │ │ │ ├── flags: variable_call
+ │ │ │ │ ├── receiver: ∅
+ │ │ │ │ ├── call_operator_loc: ∅
+ │ │ │ │ ├── name: :b
+ │ │ │ │ ├── message_loc: (4,6)-(4,7) = "b"
+ │ │ │ │ ├── opening_loc: ∅
+ │ │ │ │ ├── arguments: ∅
+ │ │ │ │ ├── closing_loc: ∅
+ │ │ │ │ └── block: ∅
│ │ │ ├── closing_loc: (4,7)-(4,8) = ")"
- │ │ │ ├── block: ∅
- │ │ │ └── flags: ∅
+ │ │ │ └── block: ∅
│ │ ├── call_operator_loc: (4,8)-(4,9) = "."
│ │ ├── name: :c
│ │ ├── message_loc: (4,9)-(4,10) = "c"
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
- │ │ ├── block: ∅
- │ │ └── flags: ∅
+ │ │ └── block: ∅
│ ├── call_operator_loc: ∅
│ ├── name: :==
│ ├── message_loc: (4,11)-(4,13) = "=="
│ ├── opening_loc: ∅
│ ├── arguments:
│ │ @ ArgumentsNode (location: (4,14)-(4,15))
- │ │ ├── arguments: (length: 1)
- │ │ │ └── @ CallNode (location: (4,14)-(4,15))
- │ │ │ ├── receiver: ∅
- │ │ │ ├── call_operator_loc: ∅
- │ │ │ ├── name: :d
- │ │ │ ├── message_loc: (4,14)-(4,15) = "d"
- │ │ │ ├── opening_loc: ∅
- │ │ │ ├── arguments: ∅
- │ │ │ ├── closing_loc: ∅
- │ │ │ ├── block: ∅
- │ │ │ └── flags: variable_call
- │ │ └── flags: ∅
+ │ │ ├── flags: ∅
+ │ │ └── arguments: (length: 1)
+ │ │ └── @ CallNode (location: (4,14)-(4,15))
+ │ │ ├── flags: variable_call
+ │ │ ├── receiver: ∅
+ │ │ ├── call_operator_loc: ∅
+ │ │ ├── name: :d
+ │ │ ├── message_loc: (4,14)-(4,15) = "d"
+ │ │ ├── opening_loc: ∅
+ │ │ ├── arguments: ∅
+ │ │ ├── closing_loc: ∅
+ │ │ └── block: ∅
│ ├── closing_loc: ∅
- │ ├── block: ∅
- │ └── flags: ∅
+ │ └── block: ∅
└── @ CallNode (location: (6,0)-(6,15))
+ ├── flags: ∅
├── receiver:
│ @ CallNode (location: (6,0)-(6,1))
+ │ ├── flags: variable_call
│ ├── receiver: ∅
│ ├── call_operator_loc: ∅
│ ├── name: :a
@@ -104,59 +106,57 @@
│ ├── opening_loc: ∅
│ ├── arguments: ∅
│ ├── closing_loc: ∅
- │ ├── block: ∅
- │ └── flags: variable_call
+ │ └── block: ∅
├── call_operator_loc: ∅
├── name: :==
├── message_loc: (6,2)-(6,4) = "=="
├── opening_loc: ∅
├── arguments:
│ @ ArgumentsNode (location: (6,5)-(6,15))
- │ ├── arguments: (length: 1)
- │ │ └── @ CallNode (location: (6,5)-(6,15))
- │ │ ├── receiver:
- │ │ │ @ CallNode (location: (6,5)-(6,8))
- │ │ │ ├── receiver:
- │ │ │ │ @ CallNode (location: (6,5)-(6,6))
- │ │ │ │ ├── receiver: ∅
- │ │ │ │ ├── call_operator_loc: ∅
- │ │ │ │ ├── name: :d
- │ │ │ │ ├── message_loc: (6,5)-(6,6) = "d"
- │ │ │ │ ├── opening_loc: ∅
- │ │ │ │ ├── arguments: ∅
- │ │ │ │ ├── closing_loc: ∅
- │ │ │ │ ├── block: ∅
- │ │ │ │ └── flags: variable_call
- │ │ │ ├── call_operator_loc: (6,6)-(6,7) = "."
- │ │ │ ├── name: :c
- │ │ │ ├── message_loc: (6,7)-(6,8) = "c"
- │ │ │ ├── opening_loc: ∅
- │ │ │ ├── arguments: ∅
- │ │ │ ├── closing_loc: ∅
- │ │ │ ├── block: ∅
- │ │ │ └── flags: ∅
- │ │ ├── call_operator_loc: (6,8)-(6,9) = "."
- │ │ ├── name: :===
- │ │ ├── message_loc: (6,9)-(6,12) = "==="
- │ │ ├── opening_loc: (6,12)-(6,13) = "("
- │ │ ├── arguments:
- │ │ │ @ ArgumentsNode (location: (6,13)-(6,14))
- │ │ │ ├── arguments: (length: 1)
- │ │ │ │ └── @ CallNode (location: (6,13)-(6,14))
- │ │ │ │ ├── receiver: ∅
- │ │ │ │ ├── call_operator_loc: ∅
- │ │ │ │ ├── name: :c
- │ │ │ │ ├── message_loc: (6,13)-(6,14) = "c"
- │ │ │ │ ├── opening_loc: ∅
- │ │ │ │ ├── arguments: ∅
- │ │ │ │ ├── closing_loc: ∅
- │ │ │ │ ├── block: ∅
- │ │ │ │ └── flags: variable_call
- │ │ │ └── flags: ∅
- │ │ ├── closing_loc: (6,14)-(6,15) = ")"
- │ │ ├── block: ∅
- │ │ └── flags: ∅
- │ └── flags: ∅
+ │ ├── flags: ∅
+ │ └── arguments: (length: 1)
+ │ └── @ CallNode (location: (6,5)-(6,15))
+ │ ├── flags: ∅
+ │ ├── receiver:
+ │ │ @ CallNode (location: (6,5)-(6,8))
+ │ │ ├── flags: ∅
+ │ │ ├── receiver:
+ │ │ │ @ CallNode (location: (6,5)-(6,6))
+ │ │ │ ├── flags: variable_call
+ │ │ │ ├── receiver: ∅
+ │ │ │ ├── call_operator_loc: ∅
+ │ │ │ ├── name: :d
+ │ │ │ ├── message_loc: (6,5)-(6,6) = "d"
+ │ │ │ ├── opening_loc: ∅
+ │ │ │ ├── arguments: ∅
+ │ │ │ ├── closing_loc: ∅
+ │ │ │ └── block: ∅
+ │ │ ├── call_operator_loc: (6,6)-(6,7) = "."
+ │ │ ├── name: :c
+ │ │ ├── message_loc: (6,7)-(6,8) = "c"
+ │ │ ├── opening_loc: ∅
+ │ │ ├── arguments: ∅
+ │ │ ├── closing_loc: ∅
+ │ │ └── block: ∅
+ │ ├── call_operator_loc: (6,8)-(6,9) = "."
+ │ ├── name: :===
+ │ ├── message_loc: (6,9)-(6,12) = "==="
+ │ ├── opening_loc: (6,12)-(6,13) = "("
+ │ ├── arguments:
+ │ │ @ ArgumentsNode (location: (6,13)-(6,14))
+ │ │ ├── flags: ∅
+ │ │ └── arguments: (length: 1)
+ │ │ └── @ CallNode (location: (6,13)-(6,14))
+ │ │ ├── flags: variable_call
+ │ │ ├── receiver: ∅
+ │ │ ├── call_operator_loc: ∅
+ │ │ ├── name: :c
+ │ │ ├── message_loc: (6,13)-(6,14) = "c"
+ │ │ ├── opening_loc: ∅
+ │ │ ├── arguments: ∅
+ │ │ ├── closing_loc: ∅
+ │ │ └── block: ∅
+ │ ├── closing_loc: (6,14)-(6,15) = ")"
+ │ └── block: ∅
├── closing_loc: ∅
- ├── block: ∅
- └── flags: ∅
+ └── block: ∅
diff --git a/test/prism/snapshots/unparser/corpus/semantic/while.txt b/test/prism/snapshots/unparser/corpus/semantic/while.txt
index 50427884dc..23466c147e 100644
--- a/test/prism/snapshots/unparser/corpus/semantic/while.txt
+++ b/test/prism/snapshots/unparser/corpus/semantic/while.txt
@@ -4,10 +4,12 @@
@ StatementsNode (location: (1,0)-(25,3))
└── body: (length: 7)
├── @ UntilNode (location: (1,0)-(1,13))
+ │ ├── flags: ∅
│ ├── keyword_loc: (1,2)-(1,7) = "until"
│ ├── closing_loc: ∅
│ ├── predicate:
│ │ @ CallNode (location: (1,8)-(1,13))
+ │ │ ├── flags: ∅
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
│ │ ├── name: :b?
@@ -15,34 +17,34 @@
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
- │ │ ├── block:
- │ │ │ @ BlockNode (location: (1,11)-(1,13))
- │ │ │ ├── locals: []
- │ │ │ ├── locals_body_index: 0
- │ │ │ ├── parameters: ∅
- │ │ │ ├── body: ∅
- │ │ │ ├── opening_loc: (1,11)-(1,12) = "{"
- │ │ │ └── closing_loc: (1,12)-(1,13) = "}"
- │ │ └── flags: ∅
- │ ├── statements:
- │ │ @ StatementsNode (location: (1,0)-(1,1))
- │ │ └── body: (length: 1)
- │ │ └── @ CallNode (location: (1,0)-(1,1))
- │ │ ├── receiver: ∅
- │ │ ├── call_operator_loc: ∅
- │ │ ├── name: :a
- │ │ ├── message_loc: (1,0)-(1,1) = "a"
- │ │ ├── opening_loc: ∅
- │ │ ├── arguments: ∅
- │ │ ├── closing_loc: ∅
- │ │ ├── block: ∅
- │ │ └── flags: variable_call
- │ └── flags: ∅
+ │ │ └── block:
+ │ │ @ BlockNode (location: (1,11)-(1,13))
+ │ │ ├── locals: []
+ │ │ ├── locals_body_index: 0
+ │ │ ├── parameters: ∅
+ │ │ ├── body: ∅
+ │ │ ├── opening_loc: (1,11)-(1,12) = "{"
+ │ │ └── closing_loc: (1,12)-(1,13) = "}"
+ │ └── statements:
+ │ @ StatementsNode (location: (1,0)-(1,1))
+ │ └── body: (length: 1)
+ │ └── @ CallNode (location: (1,0)-(1,1))
+ │ ├── flags: variable_call
+ │ ├── receiver: ∅
+ │ ├── call_operator_loc: ∅
+ │ ├── name: :a
+ │ ├── message_loc: (1,0)-(1,1) = "a"
+ │ ├── opening_loc: ∅
+ │ ├── arguments: ∅
+ │ ├── closing_loc: ∅
+ │ └── block: ∅
├── @ UntilNode (location: (3,0)-(5,3))
+ │ ├── flags: ∅
│ ├── keyword_loc: (3,0)-(3,5) = "until"
│ ├── closing_loc: (5,0)-(5,3) = "end"
│ ├── predicate:
│ │ @ CallNode (location: (3,6)-(3,11))
+ │ │ ├── flags: ∅
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
│ │ ├── name: :b?
@@ -50,63 +52,63 @@
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
- │ │ ├── block:
- │ │ │ @ BlockNode (location: (3,9)-(3,11))
- │ │ │ ├── locals: []
- │ │ │ ├── locals_body_index: 0
- │ │ │ ├── parameters: ∅
- │ │ │ ├── body: ∅
- │ │ │ ├── opening_loc: (3,9)-(3,10) = "{"
- │ │ │ └── closing_loc: (3,10)-(3,11) = "}"
- │ │ └── flags: ∅
- │ ├── statements:
- │ │ @ StatementsNode (location: (4,2)-(4,3))
- │ │ └── body: (length: 1)
- │ │ └── @ CallNode (location: (4,2)-(4,3))
- │ │ ├── receiver: ∅
- │ │ ├── call_operator_loc: ∅
- │ │ ├── name: :a
- │ │ ├── message_loc: (4,2)-(4,3) = "a"
- │ │ ├── opening_loc: ∅
- │ │ ├── arguments: ∅
- │ │ ├── closing_loc: ∅
- │ │ ├── block: ∅
- │ │ └── flags: variable_call
- │ └── flags: ∅
+ │ │ └── block:
+ │ │ @ BlockNode (location: (3,9)-(3,11))
+ │ │ ├── locals: []
+ │ │ ├── locals_body_index: 0
+ │ │ ├── parameters: ∅
+ │ │ ├── body: ∅
+ │ │ ├── opening_loc: (3,9)-(3,10) = "{"
+ │ │ └── closing_loc: (3,10)-(3,11) = "}"
+ │ └── statements:
+ │ @ StatementsNode (location: (4,2)-(4,3))
+ │ └── body: (length: 1)
+ │ └── @ CallNode (location: (4,2)-(4,3))
+ │ ├── flags: variable_call
+ │ ├── receiver: ∅
+ │ ├── call_operator_loc: ∅
+ │ ├── name: :a
+ │ ├── message_loc: (4,2)-(4,3) = "a"
+ │ ├── opening_loc: ∅
+ │ ├── arguments: ∅
+ │ ├── closing_loc: ∅
+ │ └── block: ∅
├── @ WhileNode (location: (7,0)-(7,19))
+ │ ├── flags: ∅
│ ├── keyword_loc: (7,10)-(7,15) = "while"
│ ├── closing_loc: ∅
│ ├── predicate:
│ │ @ LocalVariableReadNode (location: (7,16)-(7,19))
│ │ ├── name: :foo
│ │ └── depth: 0
- │ ├── statements:
- │ │ @ StatementsNode (location: (7,0)-(7,9))
- │ │ └── body: (length: 1)
- │ │ └── @ LocalVariableWriteNode (location: (7,0)-(7,9))
- │ │ ├── name: :foo
- │ │ ├── depth: 0
- │ │ ├── name_loc: (7,0)-(7,3) = "foo"
- │ │ ├── value:
- │ │ │ @ CallNode (location: (7,6)-(7,9))
- │ │ │ ├── receiver: ∅
- │ │ │ ├── call_operator_loc: ∅
- │ │ │ ├── name: :bar
- │ │ │ ├── message_loc: (7,6)-(7,9) = "bar"
- │ │ │ ├── opening_loc: ∅
- │ │ │ ├── arguments: ∅
- │ │ │ ├── closing_loc: ∅
- │ │ │ ├── block: ∅
- │ │ │ └── flags: variable_call
- │ │ └── operator_loc: (7,4)-(7,5) = "="
- │ └── flags: ∅
+ │ └── statements:
+ │ @ StatementsNode (location: (7,0)-(7,9))
+ │ └── body: (length: 1)
+ │ └── @ LocalVariableWriteNode (location: (7,0)-(7,9))
+ │ ├── name: :foo
+ │ ├── depth: 0
+ │ ├── name_loc: (7,0)-(7,3) = "foo"
+ │ ├── value:
+ │ │ @ CallNode (location: (7,6)-(7,9))
+ │ │ ├── flags: variable_call
+ │ │ ├── receiver: ∅
+ │ │ ├── call_operator_loc: ∅
+ │ │ ├── name: :bar
+ │ │ ├── message_loc: (7,6)-(7,9) = "bar"
+ │ │ ├── opening_loc: ∅
+ │ │ ├── arguments: ∅
+ │ │ ├── closing_loc: ∅
+ │ │ └── block: ∅
+ │ └── operator_loc: (7,4)-(7,5) = "="
├── @ UntilNode (location: (9,0)-(9,18))
+ │ ├── flags: ∅
│ ├── keyword_loc: (9,2)-(9,7) = "until"
│ ├── closing_loc: ∅
│ ├── predicate:
│ │ @ AndNode (location: (9,8)-(9,18))
│ │ ├── left:
│ │ │ @ CallNode (location: (9,8)-(9,9))
+ │ │ │ ├── flags: variable_call
│ │ │ ├── receiver: ∅
│ │ │ ├── call_operator_loc: ∅
│ │ │ ├── name: :b
@@ -114,10 +116,10 @@
│ │ │ ├── opening_loc: ∅
│ │ │ ├── arguments: ∅
│ │ │ ├── closing_loc: ∅
- │ │ │ ├── block: ∅
- │ │ │ └── flags: variable_call
+ │ │ │ └── block: ∅
│ │ ├── right:
│ │ │ @ CallNode (location: (9,13)-(9,18))
+ │ │ │ ├── flags: ∅
│ │ │ ├── receiver: ∅
│ │ │ ├── call_operator_loc: ∅
│ │ │ ├── name: :a
@@ -125,31 +127,30 @@
│ │ │ ├── opening_loc: ∅
│ │ │ ├── arguments: ∅
│ │ │ ├── closing_loc: ∅
- │ │ │ ├── block:
- │ │ │ │ @ BlockNode (location: (9,15)-(9,18))
- │ │ │ │ ├── locals: []
- │ │ │ │ ├── locals_body_index: 0
- │ │ │ │ ├── parameters: ∅
- │ │ │ │ ├── body: ∅
- │ │ │ │ ├── opening_loc: (9,15)-(9,16) = "{"
- │ │ │ │ └── closing_loc: (9,17)-(9,18) = "}"
- │ │ │ └── flags: ∅
+ │ │ │ └── block:
+ │ │ │ @ BlockNode (location: (9,15)-(9,18))
+ │ │ │ ├── locals: []
+ │ │ │ ├── locals_body_index: 0
+ │ │ │ ├── parameters: ∅
+ │ │ │ ├── body: ∅
+ │ │ │ ├── opening_loc: (9,15)-(9,16) = "{"
+ │ │ │ └── closing_loc: (9,17)-(9,18) = "}"
│ │ └── operator_loc: (9,10)-(9,12) = "&&"
- │ ├── statements:
- │ │ @ StatementsNode (location: (9,0)-(9,1))
- │ │ └── body: (length: 1)
- │ │ └── @ CallNode (location: (9,0)-(9,1))
- │ │ ├── receiver: ∅
- │ │ ├── call_operator_loc: ∅
- │ │ ├── name: :a
- │ │ ├── message_loc: (9,0)-(9,1) = "a"
- │ │ ├── opening_loc: ∅
- │ │ ├── arguments: ∅
- │ │ ├── closing_loc: ∅
- │ │ ├── block: ∅
- │ │ └── flags: variable_call
- │ └── flags: ∅
+ │ └── statements:
+ │ @ StatementsNode (location: (9,0)-(9,1))
+ │ └── body: (length: 1)
+ │ └── @ CallNode (location: (9,0)-(9,1))
+ │ ├── flags: variable_call
+ │ ├── receiver: ∅
+ │ ├── call_operator_loc: ∅
+ │ ├── name: :a
+ │ ├── message_loc: (9,0)-(9,1) = "a"
+ │ ├── opening_loc: ∅
+ │ ├── arguments: ∅
+ │ ├── closing_loc: ∅
+ │ └── block: ∅
├── @ WhileNode (location: (11,0)-(13,3))
+ │ ├── flags: ∅
│ ├── keyword_loc: (11,0)-(11,5) = "while"
│ ├── closing_loc: (13,0)-(13,3) = "end"
│ ├── predicate:
@@ -159,6 +160,7 @@
│ │ ├── name_loc: (11,6)-(11,7) = "a"
│ │ ├── value:
│ │ │ @ CallNode (location: (11,10)-(11,11))
+ │ │ │ ├── flags: variable_call
│ │ │ ├── receiver: ∅
│ │ │ ├── call_operator_loc: ∅
│ │ │ ├── name: :b
@@ -166,21 +168,21 @@
│ │ │ ├── opening_loc: ∅
│ │ │ ├── arguments: ∅
│ │ │ ├── closing_loc: ∅
- │ │ │ ├── block: ∅
- │ │ │ └── flags: variable_call
+ │ │ │ └── block: ∅
│ │ └── operator_loc: (11,8)-(11,9) = "="
- │ ├── statements:
- │ │ @ StatementsNode (location: (12,2)-(12,3))
- │ │ └── body: (length: 1)
- │ │ └── @ LocalVariableReadNode (location: (12,2)-(12,3))
- │ │ ├── name: :a
- │ │ └── depth: 0
- │ └── flags: ∅
+ │ └── statements:
+ │ @ StatementsNode (location: (12,2)-(12,3))
+ │ └── body: (length: 1)
+ │ └── @ LocalVariableReadNode (location: (12,2)-(12,3))
+ │ ├── name: :a
+ │ └── depth: 0
├── @ UntilNode (location: (15,0)-(18,3))
+ │ ├── flags: ∅
│ ├── keyword_loc: (15,2)-(15,7) = "until"
│ ├── closing_loc: ∅
│ ├── predicate:
│ │ @ CallNode (location: (15,8)-(18,3))
+ │ │ ├── flags: ∅
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
│ │ ├── name: :b
@@ -188,43 +190,41 @@
│ │ ├── opening_loc: (15,9)-(15,10) = "("
│ │ ├── arguments:
│ │ │ @ ArgumentsNode (location: (15,10)-(15,16))
- │ │ │ ├── arguments: (length: 1)
- │ │ │ │ └── @ StringNode (location: (15,10)-(15,16))
- │ │ │ │ ├── flags: ∅
- │ │ │ │ ├── opening_loc: (15,10)-(15,16) = "<<-FOO"
- │ │ │ │ ├── content_loc: (16,0)-(16,0) = ""
- │ │ │ │ ├── closing_loc: (16,0)-(17,0) = "FOO\n"
- │ │ │ │ └── unescaped: ""
- │ │ │ └── flags: ∅
+ │ │ │ ├── flags: ∅
+ │ │ │ └── arguments: (length: 1)
+ │ │ │ └── @ StringNode (location: (15,10)-(15,16))
+ │ │ │ ├── flags: ∅
+ │ │ │ ├── opening_loc: (15,10)-(15,16) = "<<-FOO"
+ │ │ │ ├── content_loc: (16,0)-(16,0) = ""
+ │ │ │ ├── closing_loc: (16,0)-(17,0) = "FOO\n"
+ │ │ │ └── unescaped: ""
│ │ ├── closing_loc: (15,16)-(15,17) = ")"
- │ │ ├── block:
- │ │ │ @ BlockNode (location: (15,18)-(18,3))
- │ │ │ ├── locals: []
- │ │ │ ├── locals_body_index: 0
- │ │ │ ├── parameters: ∅
- │ │ │ ├── body:
- │ │ │ │ @ StatementsNode (location: (17,2)-(17,3))
- │ │ │ │ └── body: (length: 1)
- │ │ │ │ └── @ CallNode (location: (17,2)-(17,3))
- │ │ │ │ ├── receiver: ∅
- │ │ │ │ ├── call_operator_loc: ∅
- │ │ │ │ ├── name: :c
- │ │ │ │ ├── message_loc: (17,2)-(17,3) = "c"
- │ │ │ │ ├── opening_loc: ∅
- │ │ │ │ ├── arguments: ∅
- │ │ │ │ ├── closing_loc: ∅
- │ │ │ │ ├── block: ∅
- │ │ │ │ └── flags: variable_call
- │ │ │ ├── opening_loc: (15,18)-(15,20) = "do"
- │ │ │ └── closing_loc: (18,0)-(18,3) = "end"
- │ │ └── flags: ∅
- │ ├── statements:
- │ │ @ StatementsNode (location: (15,0)-(15,1))
- │ │ └── body: (length: 1)
- │ │ └── @ LocalVariableReadNode (location: (15,0)-(15,1))
- │ │ ├── name: :a
- │ │ └── depth: 0
- │ └── flags: ∅
+ │ │ └── block:
+ │ │ @ BlockNode (location: (15,18)-(18,3))
+ │ │ ├── locals: []
+ │ │ ├── locals_body_index: 0
+ │ │ ├── parameters: ∅
+ │ │ ├── body:
+ │ │ │ @ StatementsNode (location: (17,2)-(17,3))
+ │ │ │ └── body: (length: 1)
+ │ │ │ └── @ CallNode (location: (17,2)-(17,3))
+ │ │ │ ├── flags: variable_call
+ │ │ │ ├── receiver: ∅
+ │ │ │ ├── call_operator_loc: ∅
+ │ │ │ ├── name: :c
+ │ │ │ ├── message_loc: (17,2)-(17,3) = "c"
+ │ │ │ ├── opening_loc: ∅
+ │ │ │ ├── arguments: ∅
+ │ │ │ ├── closing_loc: ∅
+ │ │ │ └── block: ∅
+ │ │ ├── opening_loc: (15,18)-(15,20) = "do"
+ │ │ └── closing_loc: (18,0)-(18,3) = "end"
+ │ └── statements:
+ │ @ StatementsNode (location: (15,0)-(15,1))
+ │ └── body: (length: 1)
+ │ └── @ LocalVariableReadNode (location: (15,0)-(15,1))
+ │ ├── name: :a
+ │ └── depth: 0
└── @ ModuleNode (location: (20,0)-(25,3))
├── locals: [:foo]
├── module_keyword_loc: (20,0)-(20,6) = "module"
@@ -240,6 +240,7 @@
│ │ ├── name_loc: (21,2)-(21,5) = "foo"
│ │ ├── value:
│ │ │ @ CallNode (location: (21,8)-(21,11))
+ │ │ │ ├── flags: variable_call
│ │ │ ├── receiver: ∅
│ │ │ ├── call_operator_loc: ∅
│ │ │ ├── name: :exp
@@ -247,35 +248,34 @@
│ │ │ ├── opening_loc: ∅
│ │ │ ├── arguments: ∅
│ │ │ ├── closing_loc: ∅
- │ │ │ ├── block: ∅
- │ │ │ └── flags: variable_call
+ │ │ │ └── block: ∅
│ │ └── operator_loc: (21,6)-(21,7) = "="
│ └── @ WhileNode (location: (22,2)-(24,5))
+ │ ├── flags: ∅
│ ├── keyword_loc: (22,2)-(22,7) = "while"
│ ├── closing_loc: (24,2)-(24,5) = "end"
│ ├── predicate:
│ │ @ LocalVariableReadNode (location: (22,8)-(22,11))
│ │ ├── name: :foo
│ │ └── depth: 0
- │ ├── statements:
- │ │ @ StatementsNode (location: (23,4)-(23,13))
- │ │ └── body: (length: 1)
- │ │ └── @ LocalVariableWriteNode (location: (23,4)-(23,13))
- │ │ ├── name: :foo
- │ │ ├── depth: 0
- │ │ ├── name_loc: (23,4)-(23,7) = "foo"
- │ │ ├── value:
- │ │ │ @ CallNode (location: (23,10)-(23,13))
- │ │ │ ├── receiver: ∅
- │ │ │ ├── call_operator_loc: ∅
- │ │ │ ├── name: :bar
- │ │ │ ├── message_loc: (23,10)-(23,13) = "bar"
- │ │ │ ├── opening_loc: ∅
- │ │ │ ├── arguments: ∅
- │ │ │ ├── closing_loc: ∅
- │ │ │ ├── block: ∅
- │ │ │ └── flags: variable_call
- │ │ └── operator_loc: (23,8)-(23,9) = "="
- │ └── flags: ∅
+ │ └── statements:
+ │ @ StatementsNode (location: (23,4)-(23,13))
+ │ └── body: (length: 1)
+ │ └── @ LocalVariableWriteNode (location: (23,4)-(23,13))
+ │ ├── name: :foo
+ │ ├── depth: 0
+ │ ├── name_loc: (23,4)-(23,7) = "foo"
+ │ ├── value:
+ │ │ @ CallNode (location: (23,10)-(23,13))
+ │ │ ├── flags: variable_call
+ │ │ ├── receiver: ∅
+ │ │ ├── call_operator_loc: ∅
+ │ │ ├── name: :bar
+ │ │ ├── message_loc: (23,10)-(23,13) = "bar"
+ │ │ ├── opening_loc: ∅
+ │ │ ├── arguments: ∅
+ │ │ ├── closing_loc: ∅
+ │ │ └── block: ∅
+ │ └── operator_loc: (23,8)-(23,9) = "="
├── end_keyword_loc: (25,0)-(25,3) = "end"
└── name: :A
diff --git a/test/prism/snapshots/until.txt b/test/prism/snapshots/until.txt
index dd50b084a1..e93ddab77c 100644
--- a/test/prism/snapshots/until.txt
+++ b/test/prism/snapshots/until.txt
@@ -4,68 +4,70 @@
@ StatementsNode (location: (1,0)-(13,20))
└── body: (length: 7)
├── @ UntilNode (location: (1,0)-(1,18))
+ │ ├── flags: ∅
│ ├── keyword_loc: (1,0)-(1,5) = "until"
│ ├── closing_loc: (1,15)-(1,18) = "end"
│ ├── predicate:
│ │ @ TrueNode (location: (1,6)-(1,10))
- │ ├── statements:
- │ │ @ StatementsNode (location: (1,12)-(1,13))
- │ │ └── body: (length: 1)
- │ │ └── @ IntegerNode (location: (1,12)-(1,13))
- │ │ └── flags: decimal
- │ └── flags: ∅
+ │ └── statements:
+ │ @ StatementsNode (location: (1,12)-(1,13))
+ │ └── body: (length: 1)
+ │ └── @ IntegerNode (location: (1,12)-(1,13))
+ │ └── flags: decimal
├── @ UntilNode (location: (3,0)-(3,12))
+ │ ├── flags: ∅
│ ├── keyword_loc: (3,2)-(3,7) = "until"
│ ├── closing_loc: ∅
│ ├── predicate:
│ │ @ TrueNode (location: (3,8)-(3,12))
- │ ├── statements:
- │ │ @ StatementsNode (location: (3,0)-(3,1))
- │ │ └── body: (length: 1)
- │ │ └── @ IntegerNode (location: (3,0)-(3,1))
- │ │ └── flags: decimal
- │ └── flags: ∅
+ │ └── statements:
+ │ @ StatementsNode (location: (3,0)-(3,1))
+ │ └── body: (length: 1)
+ │ └── @ IntegerNode (location: (3,0)-(3,1))
+ │ └── flags: decimal
├── @ UntilNode (location: (5,0)-(5,16))
+ │ ├── flags: ∅
│ ├── keyword_loc: (5,6)-(5,11) = "until"
│ ├── closing_loc: ∅
│ ├── predicate:
│ │ @ TrueNode (location: (5,12)-(5,16))
- │ ├── statements:
- │ │ @ StatementsNode (location: (5,0)-(5,5))
- │ │ └── body: (length: 1)
- │ │ └── @ BreakNode (location: (5,0)-(5,5))
- │ │ ├── arguments: ∅
- │ │ └── keyword_loc: (5,0)-(5,5) = "break"
- │ └── flags: ∅
+ │ └── statements:
+ │ @ StatementsNode (location: (5,0)-(5,5))
+ │ └── body: (length: 1)
+ │ └── @ BreakNode (location: (5,0)-(5,5))
+ │ ├── arguments: ∅
+ │ └── keyword_loc: (5,0)-(5,5) = "break"
├── @ UntilNode (location: (7,0)-(7,15))
+ │ ├── flags: ∅
│ ├── keyword_loc: (7,5)-(7,10) = "until"
│ ├── closing_loc: ∅
│ ├── predicate:
│ │ @ TrueNode (location: (7,11)-(7,15))
- │ ├── statements:
- │ │ @ StatementsNode (location: (7,0)-(7,4))
- │ │ └── body: (length: 1)
- │ │ └── @ NextNode (location: (7,0)-(7,4))
- │ │ ├── arguments: ∅
- │ │ └── keyword_loc: (7,0)-(7,4) = "next"
- │ └── flags: ∅
+ │ └── statements:
+ │ @ StatementsNode (location: (7,0)-(7,4))
+ │ └── body: (length: 1)
+ │ └── @ NextNode (location: (7,0)-(7,4))
+ │ ├── arguments: ∅
+ │ └── keyword_loc: (7,0)-(7,4) = "next"
├── @ UntilNode (location: (9,0)-(9,17))
+ │ ├── flags: ∅
│ ├── keyword_loc: (9,7)-(9,12) = "until"
│ ├── closing_loc: ∅
│ ├── predicate:
│ │ @ TrueNode (location: (9,13)-(9,17))
- │ ├── statements:
- │ │ @ StatementsNode (location: (9,0)-(9,6))
- │ │ └── body: (length: 1)
- │ │ └── @ ReturnNode (location: (9,0)-(9,6))
- │ │ ├── keyword_loc: (9,0)-(9,6) = "return"
- │ │ └── arguments: ∅
- │ └── flags: ∅
+ │ └── statements:
+ │ @ StatementsNode (location: (9,0)-(9,6))
+ │ └── body: (length: 1)
+ │ └── @ ReturnNode (location: (9,0)-(9,6))
+ │ ├── keyword_loc: (9,0)-(9,6) = "return"
+ │ └── arguments: ∅
├── @ UntilNode (location: (11,0)-(11,21))
+ │ ├── flags: ∅
│ ├── keyword_loc: (11,11)-(11,16) = "until"
│ ├── closing_loc: ∅
│ ├── predicate:
│ │ @ CallNode (location: (11,17)-(11,21))
+ │ │ ├── flags: ∅
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
│ │ ├── name: :bar?
@@ -73,42 +75,42 @@
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
- │ │ ├── block: ∅
- │ │ └── flags: ∅
- │ ├── statements:
- │ │ @ StatementsNode (location: (11,0)-(11,10))
- │ │ └── body: (length: 1)
- │ │ └── @ CallNode (location: (11,0)-(11,10))
- │ │ ├── receiver: ∅
- │ │ ├── call_operator_loc: ∅
- │ │ ├── name: :foo
- │ │ ├── message_loc: (11,0)-(11,3) = "foo"
- │ │ ├── opening_loc: ∅
- │ │ ├── arguments:
- │ │ │ @ ArgumentsNode (location: (11,4)-(11,10))
- │ │ │ ├── arguments: (length: 2)
- │ │ │ │ ├── @ SymbolNode (location: (11,4)-(11,6))
- │ │ │ │ │ ├── opening_loc: (11,4)-(11,5) = ":"
- │ │ │ │ │ ├── value_loc: (11,5)-(11,6) = "a"
- │ │ │ │ │ ├── closing_loc: ∅
- │ │ │ │ │ └── unescaped: "a"
- │ │ │ │ └── @ SymbolNode (location: (11,8)-(11,10))
- │ │ │ │ ├── opening_loc: (11,8)-(11,9) = ":"
- │ │ │ │ ├── value_loc: (11,9)-(11,10) = "b"
- │ │ │ │ ├── closing_loc: ∅
- │ │ │ │ └── unescaped: "b"
- │ │ │ └── flags: ∅
- │ │ ├── closing_loc: ∅
- │ │ ├── block: ∅
- │ │ └── flags: ∅
- │ └── flags: ∅
+ │ │ └── block: ∅
+ │ └── statements:
+ │ @ StatementsNode (location: (11,0)-(11,10))
+ │ └── body: (length: 1)
+ │ └── @ CallNode (location: (11,0)-(11,10))
+ │ ├── flags: ∅
+ │ ├── receiver: ∅
+ │ ├── call_operator_loc: ∅
+ │ ├── name: :foo
+ │ ├── message_loc: (11,0)-(11,3) = "foo"
+ │ ├── opening_loc: ∅
+ │ ├── arguments:
+ │ │ @ ArgumentsNode (location: (11,4)-(11,10))
+ │ │ ├── flags: ∅
+ │ │ └── arguments: (length: 2)
+ │ │ ├── @ SymbolNode (location: (11,4)-(11,6))
+ │ │ │ ├── opening_loc: (11,4)-(11,5) = ":"
+ │ │ │ ├── value_loc: (11,5)-(11,6) = "a"
+ │ │ │ ├── closing_loc: ∅
+ │ │ │ └── unescaped: "a"
+ │ │ └── @ SymbolNode (location: (11,8)-(11,10))
+ │ │ ├── opening_loc: (11,8)-(11,9) = ":"
+ │ │ ├── value_loc: (11,9)-(11,10) = "b"
+ │ │ ├── closing_loc: ∅
+ │ │ └── unescaped: "b"
+ │ ├── closing_loc: ∅
+ │ └── block: ∅
└── @ WhileNode (location: (13,0)-(13,20))
+ ├── flags: ∅
├── keyword_loc: (13,4)-(13,9) = "while"
├── closing_loc: ∅
├── predicate:
│ @ MatchPredicateNode (location: (13,10)-(13,20))
│ ├── value:
│ │ @ CallNode (location: (13,10)-(13,13))
+ │ │ ├── flags: variable_call
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
│ │ ├── name: :bar
@@ -116,24 +118,22 @@
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
- │ │ ├── block: ∅
- │ │ └── flags: variable_call
+ │ │ └── block: ∅
│ ├── pattern:
│ │ @ LocalVariableTargetNode (location: (13,17)-(13,20))
│ │ ├── name: :baz
│ │ └── depth: 0
│ └── operator_loc: (13,14)-(13,16) = "in"
- ├── statements:
- │ @ StatementsNode (location: (13,0)-(13,3))
- │ └── body: (length: 1)
- │ └── @ CallNode (location: (13,0)-(13,3))
- │ ├── receiver: ∅
- │ ├── call_operator_loc: ∅
- │ ├── name: :foo
- │ ├── message_loc: (13,0)-(13,3) = "foo"
- │ ├── opening_loc: ∅
- │ ├── arguments: ∅
- │ ├── closing_loc: ∅
- │ ├── block: ∅
- │ └── flags: variable_call
- └── flags: ∅
+ └── statements:
+ @ StatementsNode (location: (13,0)-(13,3))
+ └── body: (length: 1)
+ └── @ CallNode (location: (13,0)-(13,3))
+ ├── flags: variable_call
+ ├── receiver: ∅
+ ├── call_operator_loc: ∅
+ ├── name: :foo
+ ├── message_loc: (13,0)-(13,3) = "foo"
+ ├── opening_loc: ∅
+ ├── arguments: ∅
+ ├── closing_loc: ∅
+ └── block: ∅
diff --git a/test/prism/snapshots/variables.txt b/test/prism/snapshots/variables.txt
index 6930d43b25..f8134aeab6 100644
--- a/test/prism/snapshots/variables.txt
+++ b/test/prism/snapshots/variables.txt
@@ -31,14 +31,14 @@
│ ├── name_loc: (7,0)-(7,5) = "@@foo"
│ ├── value:
│ │ @ ArrayNode (location: (7,8)-(7,12))
+ │ │ ├── flags: ∅
│ │ ├── elements: (length: 2)
│ │ │ ├── @ IntegerNode (location: (7,8)-(7,9))
│ │ │ │ └── flags: decimal
│ │ │ └── @ IntegerNode (location: (7,11)-(7,12))
│ │ │ └── flags: decimal
│ │ ├── opening_loc: ∅
- │ │ ├── closing_loc: ∅
- │ │ └── flags: ∅
+ │ │ └── closing_loc: ∅
│ └── operator_loc: (7,6)-(7,7) = "="
├── @ GlobalVariableWriteNode (location: (9,0)-(9,8))
│ ├── name: :$abc
@@ -59,6 +59,7 @@
│ │ └── flags: decimal
│ └── operator_loc: (15,5)-(15,6) = "="
├── @ CallNode (location: (17,0)-(17,1))
+ │ ├── flags: variable_call
│ ├── receiver: ∅
│ ├── call_operator_loc: ∅
│ ├── name: :a
@@ -66,8 +67,7 @@
│ ├── opening_loc: ∅
│ ├── arguments: ∅
│ ├── closing_loc: ∅
- │ ├── block: ∅
- │ └── flags: variable_call
+ │ └── block: ∅
├── @ LocalVariableWriteNode (location: (19,0)-(19,7))
│ ├── name: :abc
│ ├── depth: 0
@@ -95,14 +95,14 @@
│ ├── name_loc: (23,0)-(23,4) = "$foo"
│ ├── value:
│ │ @ ArrayNode (location: (23,7)-(23,11))
+ │ │ ├── flags: ∅
│ │ ├── elements: (length: 2)
│ │ │ ├── @ IntegerNode (location: (23,7)-(23,8))
│ │ │ │ └── flags: decimal
│ │ │ └── @ IntegerNode (location: (23,10)-(23,11))
│ │ │ └── flags: decimal
│ │ ├── opening_loc: ∅
- │ │ ├── closing_loc: ∅
- │ │ └── flags: ∅
+ │ │ └── closing_loc: ∅
│ └── operator_loc: (23,5)-(23,6) = "="
├── @ MultiWriteNode (location: (25,0)-(25,14))
│ ├── lefts: (length: 2)
@@ -123,14 +123,14 @@
│ ├── name_loc: (27,0)-(27,4) = "@foo"
│ ├── value:
│ │ @ ArrayNode (location: (27,7)-(27,11))
+ │ │ ├── flags: ∅
│ │ ├── elements: (length: 2)
│ │ │ ├── @ IntegerNode (location: (27,7)-(27,8))
│ │ │ │ └── flags: decimal
│ │ │ └── @ IntegerNode (location: (27,10)-(27,11))
│ │ │ └── flags: decimal
│ │ ├── opening_loc: ∅
- │ │ ├── closing_loc: ∅
- │ │ └── flags: ∅
+ │ │ └── closing_loc: ∅
│ └── operator_loc: (27,5)-(27,6) = "="
├── @ LocalVariableWriteNode (location: (29,0)-(29,7))
│ ├── name: :foo
@@ -146,14 +146,14 @@
│ ├── name_loc: (29,9)-(29,12) = "foo"
│ ├── value:
│ │ @ ArrayNode (location: (29,15)-(29,19))
+ │ │ ├── flags: ∅
│ │ ├── elements: (length: 2)
│ │ │ ├── @ IntegerNode (location: (29,15)-(29,16))
│ │ │ │ └── flags: decimal
│ │ │ └── @ IntegerNode (location: (29,18)-(29,19))
│ │ │ └── flags: decimal
│ │ ├── opening_loc: ∅
- │ │ ├── closing_loc: ∅
- │ │ └── flags: ∅
+ │ │ └── closing_loc: ∅
│ └── operator_loc: (29,13)-(29,14) = "="
├── @ LocalVariableWriteNode (location: (31,0)-(31,10))
│ ├── name: :foo
@@ -161,14 +161,14 @@
│ ├── name_loc: (31,0)-(31,3) = "foo"
│ ├── value:
│ │ @ ArrayNode (location: (31,6)-(31,10))
+ │ │ ├── flags: ∅
│ │ ├── elements: (length: 2)
│ │ │ ├── @ IntegerNode (location: (31,6)-(31,7))
│ │ │ │ └── flags: decimal
│ │ │ └── @ IntegerNode (location: (31,9)-(31,10))
│ │ │ └── flags: decimal
│ │ ├── opening_loc: ∅
- │ │ ├── closing_loc: ∅
- │ │ └── flags: ∅
+ │ │ └── closing_loc: ∅
│ └── operator_loc: (31,4)-(31,5) = "="
├── @ MultiWriteNode (location: (33,0)-(33,13))
│ ├── lefts: (length: 1)
@@ -185,14 +185,14 @@
│ ├── operator_loc: (33,7)-(33,8) = "="
│ └── value:
│ @ ArrayNode (location: (33,9)-(33,13))
+ │ ├── flags: ∅
│ ├── elements: (length: 2)
│ │ ├── @ IntegerNode (location: (33,9)-(33,10))
│ │ │ └── flags: decimal
│ │ └── @ IntegerNode (location: (33,12)-(33,13))
│ │ └── flags: decimal
│ ├── opening_loc: ∅
- │ ├── closing_loc: ∅
- │ └── flags: ∅
+ │ └── closing_loc: ∅
├── @ MultiWriteNode (location: (35,0)-(35,11))
│ ├── lefts: (length: 1)
│ │ └── @ LocalVariableTargetNode (location: (35,0)-(35,3))
@@ -206,14 +206,14 @@
│ ├── operator_loc: (35,5)-(35,6) = "="
│ └── value:
│ @ ArrayNode (location: (35,7)-(35,11))
+ │ ├── flags: ∅
│ ├── elements: (length: 2)
│ │ ├── @ IntegerNode (location: (35,7)-(35,8))
│ │ │ └── flags: decimal
│ │ └── @ IntegerNode (location: (35,10)-(35,11))
│ │ └── flags: decimal
│ ├── opening_loc: ∅
- │ ├── closing_loc: ∅
- │ └── flags: ∅
+ │ └── closing_loc: ∅
├── @ MultiWriteNode (location: (37,0)-(37,16))
│ ├── lefts: (length: 1)
│ │ └── @ LocalVariableTargetNode (location: (37,0)-(37,3))
@@ -232,14 +232,14 @@
│ ├── operator_loc: (37,10)-(37,11) = "="
│ └── value:
│ @ ArrayNode (location: (37,12)-(37,16))
+ │ ├── flags: ∅
│ ├── elements: (length: 2)
│ │ ├── @ IntegerNode (location: (37,12)-(37,13))
│ │ │ └── flags: decimal
│ │ └── @ IntegerNode (location: (37,15)-(37,16))
│ │ └── flags: decimal
│ ├── opening_loc: ∅
- │ ├── closing_loc: ∅
- │ └── flags: ∅
+ │ └── closing_loc: ∅
├── @ MultiWriteNode (location: (39,0)-(39,27))
│ ├── lefts: (length: 2)
│ │ ├── @ LocalVariableTargetNode (location: (39,0)-(39,3))
@@ -264,27 +264,28 @@
│ ├── operator_loc: (39,16)-(39,17) = "="
│ └── value:
│ @ ArrayNode (location: (39,18)-(39,27))
+ │ ├── flags: ∅
│ ├── elements: (length: 2)
│ │ ├── @ IntegerNode (location: (39,18)-(39,19))
│ │ │ └── flags: decimal
│ │ └── @ ArrayNode (location: (39,21)-(39,27))
+ │ │ ├── flags: ∅
│ │ ├── elements: (length: 2)
│ │ │ ├── @ IntegerNode (location: (39,22)-(39,23))
│ │ │ │ └── flags: decimal
│ │ │ └── @ IntegerNode (location: (39,25)-(39,26))
│ │ │ └── flags: decimal
│ │ ├── opening_loc: (39,21)-(39,22) = "["
- │ │ ├── closing_loc: (39,26)-(39,27) = "]"
- │ │ └── flags: ∅
+ │ │ └── closing_loc: (39,26)-(39,27) = "]"
│ ├── opening_loc: ∅
- │ ├── closing_loc: ∅
- │ └── flags: ∅
+ │ └── closing_loc: ∅
├── @ LocalVariableWriteNode (location: (41,0)-(41,10))
│ ├── name: :foo
│ ├── depth: 0
│ ├── name_loc: (41,0)-(41,3) = "foo"
│ ├── value:
│ │ @ ArrayNode (location: (41,6)-(41,10))
+ │ │ ├── flags: contains_splat
│ │ ├── elements: (length: 1)
│ │ │ └── @ SplatNode (location: (41,6)-(41,10))
│ │ │ ├── operator_loc: (41,6)-(41,7) = "*"
@@ -293,28 +294,28 @@
│ │ │ ├── name: :bar
│ │ │ └── depth: 0
│ │ ├── opening_loc: ∅
- │ │ ├── closing_loc: ∅
- │ │ └── flags: contains_splat
+ │ │ └── closing_loc: ∅
│ └── operator_loc: (41,4)-(41,5) = "="
├── @ ConstantWriteNode (location: (43,0)-(43,10))
│ ├── name: :Foo
│ ├── name_loc: (43,0)-(43,3) = "Foo"
│ ├── value:
│ │ @ ArrayNode (location: (43,6)-(43,10))
+ │ │ ├── flags: ∅
│ │ ├── elements: (length: 2)
│ │ │ ├── @ IntegerNode (location: (43,6)-(43,7))
│ │ │ │ └── flags: decimal
│ │ │ └── @ IntegerNode (location: (43,9)-(43,10))
│ │ │ └── flags: decimal
│ │ ├── opening_loc: ∅
- │ │ ├── closing_loc: ∅
- │ │ └── flags: ∅
+ │ │ └── closing_loc: ∅
│ └── operator_loc: (43,4)-(43,5) = "="
├── @ ParenthesesNode (location: (45,0)-(45,9))
│ ├── body:
│ │ @ StatementsNode (location: (45,1)-(45,8))
│ │ └── body: (length: 3)
│ │ ├── @ CallNode (location: (45,1)-(45,2))
+ │ │ │ ├── flags: variable_call
│ │ │ ├── receiver: ∅
│ │ │ ├── call_operator_loc: ∅
│ │ │ ├── name: :a
@@ -322,9 +323,9 @@
│ │ │ ├── opening_loc: ∅
│ │ │ ├── arguments: ∅
│ │ │ ├── closing_loc: ∅
- │ │ │ ├── block: ∅
- │ │ │ └── flags: variable_call
+ │ │ │ └── block: ∅
│ │ ├── @ CallNode (location: (45,4)-(45,5))
+ │ │ │ ├── flags: variable_call
│ │ │ ├── receiver: ∅
│ │ │ ├── call_operator_loc: ∅
│ │ │ ├── name: :b
@@ -332,9 +333,9 @@
│ │ │ ├── opening_loc: ∅
│ │ │ ├── arguments: ∅
│ │ │ ├── closing_loc: ∅
- │ │ │ ├── block: ∅
- │ │ │ └── flags: variable_call
+ │ │ │ └── block: ∅
│ │ └── @ CallNode (location: (45,7)-(45,8))
+ │ │ ├── flags: variable_call
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
│ │ ├── name: :c
@@ -342,8 +343,7 @@
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
- │ │ ├── block: ∅
- │ │ └── flags: variable_call
+ │ │ └── block: ∅
│ ├── opening_loc: (45,0)-(45,1) = "("
│ └── closing_loc: (45,8)-(45,9) = ")"
└── @ MultiWriteNode (location: (47,0)-(47,17))
@@ -373,7 +373,7 @@
├── operator_loc: (47,13)-(47,14) = "="
└── value:
@ ArrayNode (location: (47,15)-(47,17))
+ ├── flags: ∅
├── elements: (length: 0)
├── opening_loc: (47,15)-(47,16) = "["
- ├── closing_loc: (47,16)-(47,17) = "]"
- └── flags: ∅
+ └── closing_loc: (47,16)-(47,17) = "]"
diff --git a/test/prism/snapshots/while.txt b/test/prism/snapshots/while.txt
index ded1c8b09b..67c707b03b 100644
--- a/test/prism/snapshots/while.txt
+++ b/test/prism/snapshots/while.txt
@@ -4,68 +4,70 @@
@ StatementsNode (location: (1,0)-(23,20))
└── body: (length: 12)
├── @ WhileNode (location: (1,0)-(1,18))
+ │ ├── flags: ∅
│ ├── keyword_loc: (1,0)-(1,5) = "while"
│ ├── closing_loc: (1,15)-(1,18) = "end"
│ ├── predicate:
│ │ @ TrueNode (location: (1,6)-(1,10))
- │ ├── statements:
- │ │ @ StatementsNode (location: (1,12)-(1,13))
- │ │ └── body: (length: 1)
- │ │ └── @ IntegerNode (location: (1,12)-(1,13))
- │ │ └── flags: decimal
- │ └── flags: ∅
+ │ └── statements:
+ │ @ StatementsNode (location: (1,12)-(1,13))
+ │ └── body: (length: 1)
+ │ └── @ IntegerNode (location: (1,12)-(1,13))
+ │ └── flags: decimal
├── @ WhileNode (location: (3,0)-(3,12))
+ │ ├── flags: ∅
│ ├── keyword_loc: (3,2)-(3,7) = "while"
│ ├── closing_loc: ∅
│ ├── predicate:
│ │ @ TrueNode (location: (3,8)-(3,12))
- │ ├── statements:
- │ │ @ StatementsNode (location: (3,0)-(3,1))
- │ │ └── body: (length: 1)
- │ │ └── @ IntegerNode (location: (3,0)-(3,1))
- │ │ └── flags: decimal
- │ └── flags: ∅
+ │ └── statements:
+ │ @ StatementsNode (location: (3,0)-(3,1))
+ │ └── body: (length: 1)
+ │ └── @ IntegerNode (location: (3,0)-(3,1))
+ │ └── flags: decimal
├── @ WhileNode (location: (5,0)-(5,16))
+ │ ├── flags: ∅
│ ├── keyword_loc: (5,6)-(5,11) = "while"
│ ├── closing_loc: ∅
│ ├── predicate:
│ │ @ TrueNode (location: (5,12)-(5,16))
- │ ├── statements:
- │ │ @ StatementsNode (location: (5,0)-(5,5))
- │ │ └── body: (length: 1)
- │ │ └── @ BreakNode (location: (5,0)-(5,5))
- │ │ ├── arguments: ∅
- │ │ └── keyword_loc: (5,0)-(5,5) = "break"
- │ └── flags: ∅
+ │ └── statements:
+ │ @ StatementsNode (location: (5,0)-(5,5))
+ │ └── body: (length: 1)
+ │ └── @ BreakNode (location: (5,0)-(5,5))
+ │ ├── arguments: ∅
+ │ └── keyword_loc: (5,0)-(5,5) = "break"
├── @ WhileNode (location: (7,0)-(7,15))
+ │ ├── flags: ∅
│ ├── keyword_loc: (7,5)-(7,10) = "while"
│ ├── closing_loc: ∅
│ ├── predicate:
│ │ @ TrueNode (location: (7,11)-(7,15))
- │ ├── statements:
- │ │ @ StatementsNode (location: (7,0)-(7,4))
- │ │ └── body: (length: 1)
- │ │ └── @ NextNode (location: (7,0)-(7,4))
- │ │ ├── arguments: ∅
- │ │ └── keyword_loc: (7,0)-(7,4) = "next"
- │ └── flags: ∅
+ │ └── statements:
+ │ @ StatementsNode (location: (7,0)-(7,4))
+ │ └── body: (length: 1)
+ │ └── @ NextNode (location: (7,0)-(7,4))
+ │ ├── arguments: ∅
+ │ └── keyword_loc: (7,0)-(7,4) = "next"
├── @ WhileNode (location: (9,0)-(9,17))
+ │ ├── flags: ∅
│ ├── keyword_loc: (9,7)-(9,12) = "while"
│ ├── closing_loc: ∅
│ ├── predicate:
│ │ @ TrueNode (location: (9,13)-(9,17))
- │ ├── statements:
- │ │ @ StatementsNode (location: (9,0)-(9,6))
- │ │ └── body: (length: 1)
- │ │ └── @ ReturnNode (location: (9,0)-(9,6))
- │ │ ├── keyword_loc: (9,0)-(9,6) = "return"
- │ │ └── arguments: ∅
- │ └── flags: ∅
+ │ └── statements:
+ │ @ StatementsNode (location: (9,0)-(9,6))
+ │ └── body: (length: 1)
+ │ └── @ ReturnNode (location: (9,0)-(9,6))
+ │ ├── keyword_loc: (9,0)-(9,6) = "return"
+ │ └── arguments: ∅
├── @ WhileNode (location: (11,0)-(11,21))
+ │ ├── flags: ∅
│ ├── keyword_loc: (11,11)-(11,16) = "while"
│ ├── closing_loc: ∅
│ ├── predicate:
│ │ @ CallNode (location: (11,17)-(11,21))
+ │ │ ├── flags: ∅
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
│ │ ├── name: :bar?
@@ -73,36 +75,35 @@
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
- │ │ ├── block: ∅
- │ │ └── flags: ∅
- │ ├── statements:
- │ │ @ StatementsNode (location: (11,0)-(11,10))
- │ │ └── body: (length: 1)
- │ │ └── @ CallNode (location: (11,0)-(11,10))
- │ │ ├── receiver: ∅
- │ │ ├── call_operator_loc: ∅
- │ │ ├── name: :foo
- │ │ ├── message_loc: (11,0)-(11,3) = "foo"
- │ │ ├── opening_loc: ∅
- │ │ ├── arguments:
- │ │ │ @ ArgumentsNode (location: (11,4)-(11,10))
- │ │ │ ├── arguments: (length: 2)
- │ │ │ │ ├── @ SymbolNode (location: (11,4)-(11,6))
- │ │ │ │ │ ├── opening_loc: (11,4)-(11,5) = ":"
- │ │ │ │ │ ├── value_loc: (11,5)-(11,6) = "a"
- │ │ │ │ │ ├── closing_loc: ∅
- │ │ │ │ │ └── unescaped: "a"
- │ │ │ │ └── @ SymbolNode (location: (11,8)-(11,10))
- │ │ │ │ ├── opening_loc: (11,8)-(11,9) = ":"
- │ │ │ │ ├── value_loc: (11,9)-(11,10) = "b"
- │ │ │ │ ├── closing_loc: ∅
- │ │ │ │ └── unescaped: "b"
- │ │ │ └── flags: ∅
- │ │ ├── closing_loc: ∅
- │ │ ├── block: ∅
- │ │ └── flags: ∅
- │ └── flags: ∅
+ │ │ └── block: ∅
+ │ └── statements:
+ │ @ StatementsNode (location: (11,0)-(11,10))
+ │ └── body: (length: 1)
+ │ └── @ CallNode (location: (11,0)-(11,10))
+ │ ├── flags: ∅
+ │ ├── receiver: ∅
+ │ ├── call_operator_loc: ∅
+ │ ├── name: :foo
+ │ ├── message_loc: (11,0)-(11,3) = "foo"
+ │ ├── opening_loc: ∅
+ │ ├── arguments:
+ │ │ @ ArgumentsNode (location: (11,4)-(11,10))
+ │ │ ├── flags: ∅
+ │ │ └── arguments: (length: 2)
+ │ │ ├── @ SymbolNode (location: (11,4)-(11,6))
+ │ │ │ ├── opening_loc: (11,4)-(11,5) = ":"
+ │ │ │ ├── value_loc: (11,5)-(11,6) = "a"
+ │ │ │ ├── closing_loc: ∅
+ │ │ │ └── unescaped: "a"
+ │ │ └── @ SymbolNode (location: (11,8)-(11,10))
+ │ │ ├── opening_loc: (11,8)-(11,9) = ":"
+ │ │ ├── value_loc: (11,9)-(11,10) = "b"
+ │ │ ├── closing_loc: ∅
+ │ │ └── unescaped: "b"
+ │ ├── closing_loc: ∅
+ │ └── block: ∅
├── @ WhileNode (location: (13,0)-(13,50))
+ │ ├── flags: ∅
│ ├── keyword_loc: (13,0)-(13,5) = "while"
│ ├── closing_loc: (13,47)-(13,50) = "end"
│ ├── predicate:
@@ -121,6 +122,7 @@
│ │ │ │ ├── operator_loc: (13,21)-(13,22) = "="
│ │ │ │ └── value:
│ │ │ │ @ CallNode (location: (13,23)-(13,33))
+ │ │ │ │ ├── flags: ∅
│ │ │ │ ├── receiver: ∅
│ │ │ │ ├── call_operator_loc: ∅
│ │ │ │ ├── name: :tap
@@ -128,15 +130,14 @@
│ │ │ │ ├── opening_loc: ∅
│ │ │ │ ├── arguments: ∅
│ │ │ │ ├── closing_loc: ∅
- │ │ │ │ ├── block:
- │ │ │ │ │ @ BlockNode (location: (13,27)-(13,33))
- │ │ │ │ │ ├── locals: []
- │ │ │ │ │ ├── locals_body_index: 0
- │ │ │ │ │ ├── parameters: ∅
- │ │ │ │ │ ├── body: ∅
- │ │ │ │ │ ├── opening_loc: (13,27)-(13,29) = "do"
- │ │ │ │ │ └── closing_loc: (13,30)-(13,33) = "end"
- │ │ │ │ └── flags: ∅
+ │ │ │ │ └── block:
+ │ │ │ │ @ BlockNode (location: (13,27)-(13,33))
+ │ │ │ │ ├── locals: []
+ │ │ │ │ ├── locals_body_index: 0
+ │ │ │ │ ├── parameters: ∅
+ │ │ │ │ ├── body: ∅
+ │ │ │ │ ├── opening_loc: (13,27)-(13,29) = "do"
+ │ │ │ │ └── closing_loc: (13,30)-(13,33) = "end"
│ │ │ ├── rest: ∅
│ │ │ ├── posts: (length: 0)
│ │ │ ├── keywords: (length: 0)
@@ -151,14 +152,14 @@
│ │ ├── rparen_loc: ∅
│ │ ├── equal_loc: ∅
│ │ └── end_keyword_loc: (13,35)-(13,38) = "end"
- │ ├── statements:
- │ │ @ StatementsNode (location: (13,40)-(13,45))
- │ │ └── body: (length: 1)
- │ │ └── @ BreakNode (location: (13,40)-(13,45))
- │ │ ├── arguments: ∅
- │ │ └── keyword_loc: (13,40)-(13,45) = "break"
- │ └── flags: ∅
+ │ └── statements:
+ │ @ StatementsNode (location: (13,40)-(13,45))
+ │ └── body: (length: 1)
+ │ └── @ BreakNode (location: (13,40)-(13,45))
+ │ ├── arguments: ∅
+ │ └── keyword_loc: (13,40)-(13,45) = "break"
├── @ WhileNode (location: (15,0)-(15,47))
+ │ ├── flags: ∅
│ ├── keyword_loc: (15,0)-(15,5) = "while"
│ ├── closing_loc: (15,44)-(15,47) = "end"
│ ├── predicate:
@@ -179,6 +180,7 @@
│ │ │ ├── name_loc: (15,16)-(15,17) = "a"
│ │ │ ├── value:
│ │ │ │ @ CallNode (location: (15,20)-(15,30))
+ │ │ │ │ ├── flags: ∅
│ │ │ │ ├── receiver: ∅
│ │ │ │ ├── call_operator_loc: ∅
│ │ │ │ ├── name: :tap
@@ -186,26 +188,25 @@
│ │ │ │ ├── opening_loc: ∅
│ │ │ │ ├── arguments: ∅
│ │ │ │ ├── closing_loc: ∅
- │ │ │ │ ├── block:
- │ │ │ │ │ @ BlockNode (location: (15,24)-(15,30))
- │ │ │ │ │ ├── locals: []
- │ │ │ │ │ ├── locals_body_index: 0
- │ │ │ │ │ ├── parameters: ∅
- │ │ │ │ │ ├── body: ∅
- │ │ │ │ │ ├── opening_loc: (15,24)-(15,26) = "do"
- │ │ │ │ │ └── closing_loc: (15,27)-(15,30) = "end"
- │ │ │ │ └── flags: ∅
+ │ │ │ │ └── block:
+ │ │ │ │ @ BlockNode (location: (15,24)-(15,30))
+ │ │ │ │ ├── locals: []
+ │ │ │ │ ├── locals_body_index: 0
+ │ │ │ │ ├── parameters: ∅
+ │ │ │ │ ├── body: ∅
+ │ │ │ │ ├── opening_loc: (15,24)-(15,26) = "do"
+ │ │ │ │ └── closing_loc: (15,27)-(15,30) = "end"
│ │ │ └── operator_loc: (15,18)-(15,19) = "="
│ │ ├── end_keyword_loc: (15,32)-(15,35) = "end"
│ │ └── name: :Foo
- │ ├── statements:
- │ │ @ StatementsNode (location: (15,37)-(15,42))
- │ │ └── body: (length: 1)
- │ │ └── @ BreakNode (location: (15,37)-(15,42))
- │ │ ├── arguments: ∅
- │ │ └── keyword_loc: (15,37)-(15,42) = "break"
- │ └── flags: ∅
+ │ └── statements:
+ │ @ StatementsNode (location: (15,37)-(15,42))
+ │ └── body: (length: 1)
+ │ └── @ BreakNode (location: (15,37)-(15,42))
+ │ ├── arguments: ∅
+ │ └── keyword_loc: (15,37)-(15,42) = "break"
├── @ WhileNode (location: (17,0)-(17,48))
+ │ ├── flags: ∅
│ ├── keyword_loc: (17,0)-(17,5) = "while"
│ ├── closing_loc: (17,45)-(17,48) = "end"
│ ├── predicate:
@@ -219,6 +220,7 @@
│ │ │ @ StatementsNode (location: (17,21)-(17,31))
│ │ │ └── body: (length: 1)
│ │ │ └── @ CallNode (location: (17,21)-(17,31))
+ │ │ │ ├── flags: ∅
│ │ │ ├── receiver: ∅
│ │ │ ├── call_operator_loc: ∅
│ │ │ ├── name: :tap
@@ -226,24 +228,23 @@
│ │ │ ├── opening_loc: ∅
│ │ │ ├── arguments: ∅
│ │ │ ├── closing_loc: ∅
- │ │ │ ├── block:
- │ │ │ │ @ BlockNode (location: (17,25)-(17,31))
- │ │ │ │ ├── locals: []
- │ │ │ │ ├── locals_body_index: 0
- │ │ │ │ ├── parameters: ∅
- │ │ │ │ ├── body: ∅
- │ │ │ │ ├── opening_loc: (17,25)-(17,27) = "do"
- │ │ │ │ └── closing_loc: (17,28)-(17,31) = "end"
- │ │ │ └── flags: ∅
+ │ │ │ └── block:
+ │ │ │ @ BlockNode (location: (17,25)-(17,31))
+ │ │ │ ├── locals: []
+ │ │ │ ├── locals_body_index: 0
+ │ │ │ ├── parameters: ∅
+ │ │ │ ├── body: ∅
+ │ │ │ ├── opening_loc: (17,25)-(17,27) = "do"
+ │ │ │ └── closing_loc: (17,28)-(17,31) = "end"
│ │ └── end_keyword_loc: (17,33)-(17,36) = "end"
- │ ├── statements:
- │ │ @ StatementsNode (location: (17,38)-(17,43))
- │ │ └── body: (length: 1)
- │ │ └── @ BreakNode (location: (17,38)-(17,43))
- │ │ ├── arguments: ∅
- │ │ └── keyword_loc: (17,38)-(17,43) = "break"
- │ └── flags: ∅
+ │ └── statements:
+ │ @ StatementsNode (location: (17,38)-(17,43))
+ │ └── body: (length: 1)
+ │ └── @ BreakNode (location: (17,38)-(17,43))
+ │ ├── arguments: ∅
+ │ └── keyword_loc: (17,38)-(17,43) = "break"
├── @ WhileNode (location: (19,0)-(19,52))
+ │ ├── flags: ∅
│ ├── keyword_loc: (19,0)-(19,5) = "while"
│ ├── closing_loc: (19,49)-(19,52) = "end"
│ ├── predicate:
@@ -262,6 +263,7 @@
│ │ │ ├── name_loc: (19,21)-(19,22) = "a"
│ │ │ ├── value:
│ │ │ │ @ CallNode (location: (19,25)-(19,35))
+ │ │ │ │ ├── flags: ∅
│ │ │ │ ├── receiver: ∅
│ │ │ │ ├── call_operator_loc: ∅
│ │ │ │ ├── name: :tap
@@ -269,25 +271,24 @@
│ │ │ │ ├── opening_loc: ∅
│ │ │ │ ├── arguments: ∅
│ │ │ │ ├── closing_loc: ∅
- │ │ │ │ ├── block:
- │ │ │ │ │ @ BlockNode (location: (19,29)-(19,35))
- │ │ │ │ │ ├── locals: []
- │ │ │ │ │ ├── locals_body_index: 0
- │ │ │ │ │ ├── parameters: ∅
- │ │ │ │ │ ├── body: ∅
- │ │ │ │ │ ├── opening_loc: (19,29)-(19,31) = "do"
- │ │ │ │ │ └── closing_loc: (19,32)-(19,35) = "end"
- │ │ │ │ └── flags: ∅
+ │ │ │ │ └── block:
+ │ │ │ │ @ BlockNode (location: (19,29)-(19,35))
+ │ │ │ │ ├── locals: []
+ │ │ │ │ ├── locals_body_index: 0
+ │ │ │ │ ├── parameters: ∅
+ │ │ │ │ ├── body: ∅
+ │ │ │ │ ├── opening_loc: (19,29)-(19,31) = "do"
+ │ │ │ │ └── closing_loc: (19,32)-(19,35) = "end"
│ │ │ └── operator_loc: (19,23)-(19,24) = "="
│ │ └── end_keyword_loc: (19,37)-(19,40) = "end"
- │ ├── statements:
- │ │ @ StatementsNode (location: (19,42)-(19,47))
- │ │ └── body: (length: 1)
- │ │ └── @ BreakNode (location: (19,42)-(19,47))
- │ │ ├── arguments: ∅
- │ │ └── keyword_loc: (19,42)-(19,47) = "break"
- │ └── flags: ∅
+ │ └── statements:
+ │ @ StatementsNode (location: (19,42)-(19,47))
+ │ └── body: (length: 1)
+ │ └── @ BreakNode (location: (19,42)-(19,47))
+ │ ├── arguments: ∅
+ │ └── keyword_loc: (19,42)-(19,47) = "break"
├── @ WhileNode (location: (21,0)-(21,31))
+ │ ├── flags: ∅
│ ├── keyword_loc: (21,0)-(21,5) = "while"
│ ├── closing_loc: (21,28)-(21,31) = "end"
│ ├── predicate:
@@ -300,6 +301,7 @@
│ │ │ @ StatementsNode (location: (21,16)-(21,26))
│ │ │ └── body: (length: 1)
│ │ │ └── @ CallNode (location: (21,16)-(21,26))
+ │ │ │ ├── flags: ∅
│ │ │ ├── receiver: ∅
│ │ │ ├── call_operator_loc: ∅
│ │ │ ├── name: :bar
@@ -307,15 +309,14 @@
│ │ │ ├── opening_loc: ∅
│ │ │ ├── arguments: ∅
│ │ │ ├── closing_loc: ∅
- │ │ │ ├── block:
- │ │ │ │ @ BlockNode (location: (21,20)-(21,26))
- │ │ │ │ ├── locals: []
- │ │ │ │ ├── locals_body_index: 0
- │ │ │ │ ├── parameters: ∅
- │ │ │ │ ├── body: ∅
- │ │ │ │ ├── opening_loc: (21,20)-(21,22) = "do"
- │ │ │ │ └── closing_loc: (21,23)-(21,26) = "end"
- │ │ │ └── flags: ∅
+ │ │ │ └── block:
+ │ │ │ @ BlockNode (location: (21,20)-(21,26))
+ │ │ │ ├── locals: []
+ │ │ │ ├── locals_body_index: 0
+ │ │ │ ├── parameters: ∅
+ │ │ │ ├── body: ∅
+ │ │ │ ├── opening_loc: (21,20)-(21,22) = "do"
+ │ │ │ └── closing_loc: (21,23)-(21,26) = "end"
│ │ ├── locals: []
│ │ ├── locals_body_index: 0
│ │ ├── def_keyword_loc: (21,6)-(21,9) = "def"
@@ -324,15 +325,16 @@
│ │ ├── rparen_loc: ∅
│ │ ├── equal_loc: (21,14)-(21,15) = "="
│ │ └── end_keyword_loc: ∅
- │ ├── statements: ∅
- │ └── flags: ∅
+ │ └── statements: ∅
└── @ WhileNode (location: (23,0)-(23,20))
+ ├── flags: ∅
├── keyword_loc: (23,4)-(23,9) = "while"
├── closing_loc: ∅
├── predicate:
│ @ MatchPredicateNode (location: (23,10)-(23,20))
│ ├── value:
│ │ @ CallNode (location: (23,10)-(23,13))
+ │ │ ├── flags: variable_call
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
│ │ ├── name: :bar
@@ -340,24 +342,22 @@
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
- │ │ ├── block: ∅
- │ │ └── flags: variable_call
+ │ │ └── block: ∅
│ ├── pattern:
│ │ @ LocalVariableTargetNode (location: (23,17)-(23,20))
│ │ ├── name: :baz
│ │ └── depth: 0
│ └── operator_loc: (23,14)-(23,16) = "in"
- ├── statements:
- │ @ StatementsNode (location: (23,0)-(23,3))
- │ └── body: (length: 1)
- │ └── @ CallNode (location: (23,0)-(23,3))
- │ ├── receiver: ∅
- │ ├── call_operator_loc: ∅
- │ ├── name: :foo
- │ ├── message_loc: (23,0)-(23,3) = "foo"
- │ ├── opening_loc: ∅
- │ ├── arguments: ∅
- │ ├── closing_loc: ∅
- │ ├── block: ∅
- │ └── flags: variable_call
- └── flags: ∅
+ └── statements:
+ @ StatementsNode (location: (23,0)-(23,3))
+ └── body: (length: 1)
+ └── @ CallNode (location: (23,0)-(23,3))
+ ├── flags: variable_call
+ ├── receiver: ∅
+ ├── call_operator_loc: ∅
+ ├── name: :foo
+ ├── message_loc: (23,0)-(23,3) = "foo"
+ ├── opening_loc: ∅
+ ├── arguments: ∅
+ ├── closing_loc: ∅
+ └── block: ∅
diff --git a/test/prism/snapshots/whitequark/ambiuous_quoted_label_in_ternary_operator.txt b/test/prism/snapshots/whitequark/ambiuous_quoted_label_in_ternary_operator.txt
index e407945622..535266c325 100644
--- a/test/prism/snapshots/whitequark/ambiuous_quoted_label_in_ternary_operator.txt
+++ b/test/prism/snapshots/whitequark/ambiuous_quoted_label_in_ternary_operator.txt
@@ -7,6 +7,7 @@
├── if_keyword_loc: ∅
├── predicate:
│ @ CallNode (location: (1,0)-(1,1))
+ │ ├── flags: variable_call
│ ├── receiver: ∅
│ ├── call_operator_loc: ∅
│ ├── name: :a
@@ -14,15 +15,16 @@
│ ├── opening_loc: ∅
│ ├── arguments: ∅
│ ├── closing_loc: ∅
- │ ├── block: ∅
- │ └── flags: variable_call
+ │ └── block: ∅
├── then_keyword_loc: (1,2)-(1,3) = "?"
├── statements:
│ @ StatementsNode (location: (1,4)-(1,10))
│ └── body: (length: 1)
│ └── @ CallNode (location: (1,4)-(1,10))
+ │ ├── flags: ∅
│ ├── receiver:
│ │ @ CallNode (location: (1,4)-(1,5))
+ │ │ ├── flags: variable_call
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
│ │ ├── name: :b
@@ -30,25 +32,23 @@
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
- │ │ ├── block: ∅
- │ │ └── flags: variable_call
+ │ │ └── block: ∅
│ ├── call_operator_loc: ∅
│ ├── name: :&
│ ├── message_loc: (1,6)-(1,7) = "&"
│ ├── opening_loc: ∅
│ ├── arguments:
│ │ @ ArgumentsNode (location: (1,8)-(1,10))
- │ │ ├── arguments: (length: 1)
- │ │ │ └── @ StringNode (location: (1,8)-(1,10))
- │ │ │ ├── flags: ∅
- │ │ │ ├── opening_loc: (1,8)-(1,9) = "'"
- │ │ │ ├── content_loc: (1,9)-(1,9) = ""
- │ │ │ ├── closing_loc: (1,9)-(1,10) = "'"
- │ │ │ └── unescaped: ""
- │ │ └── flags: ∅
+ │ │ ├── flags: ∅
+ │ │ └── arguments: (length: 1)
+ │ │ └── @ StringNode (location: (1,8)-(1,10))
+ │ │ ├── flags: ∅
+ │ │ ├── opening_loc: (1,8)-(1,9) = "'"
+ │ │ ├── content_loc: (1,9)-(1,9) = ""
+ │ │ ├── closing_loc: (1,9)-(1,10) = "'"
+ │ │ └── unescaped: ""
│ ├── closing_loc: ∅
- │ ├── block: ∅
- │ └── flags: ∅
+ │ └── block: ∅
├── consequent:
│ @ ElseNode (location: (1,10)-(1,15))
│ ├── else_keyword_loc: (1,10)-(1,11) = ":"
diff --git a/test/prism/snapshots/whitequark/and.txt b/test/prism/snapshots/whitequark/and.txt
index a0bbc72917..35b1c43dd0 100644
--- a/test/prism/snapshots/whitequark/and.txt
+++ b/test/prism/snapshots/whitequark/and.txt
@@ -6,6 +6,7 @@
├── @ AndNode (location: (1,0)-(1,10))
│ ├── left:
│ │ @ CallNode (location: (1,0)-(1,3))
+ │ │ ├── flags: variable_call
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
│ │ ├── name: :foo
@@ -13,10 +14,10 @@
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
- │ │ ├── block: ∅
- │ │ └── flags: variable_call
+ │ │ └── block: ∅
│ ├── right:
│ │ @ CallNode (location: (1,7)-(1,10))
+ │ │ ├── flags: variable_call
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
│ │ ├── name: :bar
@@ -24,12 +25,12 @@
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
- │ │ ├── block: ∅
- │ │ └── flags: variable_call
+ │ │ └── block: ∅
│ └── operator_loc: (1,4)-(1,6) = "&&"
└── @ AndNode (location: (3,0)-(3,11))
├── left:
│ @ CallNode (location: (3,0)-(3,3))
+ │ ├── flags: variable_call
│ ├── receiver: ∅
│ ├── call_operator_loc: ∅
│ ├── name: :foo
@@ -37,10 +38,10 @@
│ ├── opening_loc: ∅
│ ├── arguments: ∅
│ ├── closing_loc: ∅
- │ ├── block: ∅
- │ └── flags: variable_call
+ │ └── block: ∅
├── right:
│ @ CallNode (location: (3,8)-(3,11))
+ │ ├── flags: variable_call
│ ├── receiver: ∅
│ ├── call_operator_loc: ∅
│ ├── name: :bar
@@ -48,6 +49,5 @@
│ ├── opening_loc: ∅
│ ├── arguments: ∅
│ ├── closing_loc: ∅
- │ ├── block: ∅
- │ └── flags: variable_call
+ │ └── block: ∅
└── operator_loc: (3,4)-(3,7) = "and"
diff --git a/test/prism/snapshots/whitequark/and_asgn.txt b/test/prism/snapshots/whitequark/and_asgn.txt
index 5c6ae1d703..789ba792f2 100644
--- a/test/prism/snapshots/whitequark/and_asgn.txt
+++ b/test/prism/snapshots/whitequark/and_asgn.txt
@@ -4,8 +4,10 @@
@ StatementsNode (location: (1,0)-(3,15))
└── body: (length: 2)
├── @ CallAndWriteNode (location: (1,0)-(1,11))
+ │ ├── flags: ∅
│ ├── receiver:
│ │ @ CallNode (location: (1,0)-(1,3))
+ │ │ ├── flags: variable_call
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
│ │ ├── name: :foo
@@ -13,11 +15,9 @@
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
- │ │ ├── block: ∅
- │ │ └── flags: variable_call
+ │ │ └── block: ∅
│ ├── call_operator_loc: (1,3)-(1,4) = "."
│ ├── message_loc: (1,4)-(1,5) = "a"
- │ ├── flags: ∅
│ ├── read_name: :a
│ ├── write_name: :a=
│ ├── operator_loc: (1,6)-(1,9) = "&&="
@@ -25,8 +25,10 @@
│ @ IntegerNode (location: (1,10)-(1,11))
│ └── flags: decimal
└── @ IndexAndWriteNode (location: (3,0)-(3,15))
+ ├── flags: ∅
├── receiver:
│ @ CallNode (location: (3,0)-(3,3))
+ │ ├── flags: variable_call
│ ├── receiver: ∅
│ ├── call_operator_loc: ∅
│ ├── name: :foo
@@ -34,21 +36,19 @@
│ ├── opening_loc: ∅
│ ├── arguments: ∅
│ ├── closing_loc: ∅
- │ ├── block: ∅
- │ └── flags: variable_call
+ │ └── block: ∅
├── call_operator_loc: ∅
├── opening_loc: (3,3)-(3,4) = "["
├── arguments:
│ @ ArgumentsNode (location: (3,4)-(3,8))
- │ ├── arguments: (length: 2)
- │ │ ├── @ IntegerNode (location: (3,4)-(3,5))
- │ │ │ └── flags: decimal
- │ │ └── @ IntegerNode (location: (3,7)-(3,8))
- │ │ └── flags: decimal
- │ └── flags: ∅
+ │ ├── flags: ∅
+ │ └── arguments: (length: 2)
+ │ ├── @ IntegerNode (location: (3,4)-(3,5))
+ │ │ └── flags: decimal
+ │ └── @ IntegerNode (location: (3,7)-(3,8))
+ │ └── flags: decimal
├── closing_loc: (3,8)-(3,9) = "]"
├── block: ∅
- ├── flags: ∅
├── operator_loc: (3,10)-(3,13) = "&&="
└── value:
@ IntegerNode (location: (3,14)-(3,15))
diff --git a/test/prism/snapshots/whitequark/and_or_masgn.txt b/test/prism/snapshots/whitequark/and_or_masgn.txt
index 033c4f6321..d1a349619b 100644
--- a/test/prism/snapshots/whitequark/and_or_masgn.txt
+++ b/test/prism/snapshots/whitequark/and_or_masgn.txt
@@ -6,6 +6,7 @@
├── @ AndNode (location: (1,0)-(1,19))
│ ├── left:
│ │ @ CallNode (location: (1,0)-(1,3))
+ │ │ ├── flags: variable_call
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
│ │ ├── name: :foo
@@ -13,8 +14,7 @@
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
- │ │ ├── block: ∅
- │ │ └── flags: variable_call
+ │ │ └── block: ∅
│ ├── right:
│ │ @ ParenthesesNode (location: (1,7)-(1,19))
│ │ ├── body:
@@ -35,6 +35,7 @@
│ │ │ ├── operator_loc: (1,13)-(1,14) = "="
│ │ │ └── value:
│ │ │ @ CallNode (location: (1,15)-(1,18))
+ │ │ │ ├── flags: variable_call
│ │ │ ├── receiver: ∅
│ │ │ ├── call_operator_loc: ∅
│ │ │ ├── name: :bar
@@ -42,14 +43,14 @@
│ │ │ ├── opening_loc: ∅
│ │ │ ├── arguments: ∅
│ │ │ ├── closing_loc: ∅
- │ │ │ ├── block: ∅
- │ │ │ └── flags: variable_call
+ │ │ │ └── block: ∅
│ │ ├── opening_loc: (1,7)-(1,8) = "("
│ │ └── closing_loc: (1,18)-(1,19) = ")"
│ └── operator_loc: (1,4)-(1,6) = "&&"
└── @ OrNode (location: (3,0)-(3,19))
├── left:
│ @ CallNode (location: (3,0)-(3,3))
+ │ ├── flags: variable_call
│ ├── receiver: ∅
│ ├── call_operator_loc: ∅
│ ├── name: :foo
@@ -57,8 +58,7 @@
│ ├── opening_loc: ∅
│ ├── arguments: ∅
│ ├── closing_loc: ∅
- │ ├── block: ∅
- │ └── flags: variable_call
+ │ └── block: ∅
├── right:
│ @ ParenthesesNode (location: (3,7)-(3,19))
│ ├── body:
@@ -79,6 +79,7 @@
│ │ ├── operator_loc: (3,13)-(3,14) = "="
│ │ └── value:
│ │ @ CallNode (location: (3,15)-(3,18))
+ │ │ ├── flags: variable_call
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
│ │ ├── name: :bar
@@ -86,8 +87,7 @@
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
- │ │ ├── block: ∅
- │ │ └── flags: variable_call
+ │ │ └── block: ∅
│ ├── opening_loc: (3,7)-(3,8) = "("
│ └── closing_loc: (3,18)-(3,19) = ")"
└── operator_loc: (3,4)-(3,6) = "||"
diff --git a/test/prism/snapshots/whitequark/anonymous_blockarg.txt b/test/prism/snapshots/whitequark/anonymous_blockarg.txt
index 368a12bb89..dea08d7e73 100644
--- a/test/prism/snapshots/whitequark/anonymous_blockarg.txt
+++ b/test/prism/snapshots/whitequark/anonymous_blockarg.txt
@@ -24,6 +24,7 @@
│ @ StatementsNode (location: (1,12)-(1,17))
│ └── body: (length: 1)
│ └── @ CallNode (location: (1,12)-(1,17))
+ │ ├── flags: ∅
│ ├── receiver: ∅
│ ├── call_operator_loc: ∅
│ ├── name: :bar
@@ -31,11 +32,10 @@
│ ├── opening_loc: (1,15)-(1,16) = "("
│ ├── arguments: ∅
│ ├── closing_loc: (1,17)-(1,18) = ")"
- │ ├── block:
- │ │ @ BlockArgumentNode (location: (1,16)-(1,17))
- │ │ ├── expression: ∅
- │ │ └── operator_loc: (1,16)-(1,17) = "&"
- │ └── flags: ∅
+ │ └── block:
+ │ @ BlockArgumentNode (location: (1,16)-(1,17))
+ │ ├── expression: ∅
+ │ └── operator_loc: (1,16)-(1,17) = "&"
├── locals: [:&]
├── locals_body_index: 1
├── def_keyword_loc: (1,0)-(1,3) = "def"
diff --git a/test/prism/snapshots/whitequark/arg_label.txt b/test/prism/snapshots/whitequark/arg_label.txt
index 2ca884cfca..892dd882ae 100644
--- a/test/prism/snapshots/whitequark/arg_label.txt
+++ b/test/prism/snapshots/whitequark/arg_label.txt
@@ -12,6 +12,7 @@
│ │ @ StatementsNode (location: (2,1)-(2,4))
│ │ └── body: (length: 1)
│ │ └── @ CallNode (location: (2,1)-(2,4))
+ │ │ ├── flags: ∅
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
│ │ ├── name: :a
@@ -19,16 +20,15 @@
│ │ ├── opening_loc: ∅
│ │ ├── arguments:
│ │ │ @ ArgumentsNode (location: (2,2)-(2,4))
- │ │ │ ├── arguments: (length: 1)
- │ │ │ │ └── @ SymbolNode (location: (2,2)-(2,4))
- │ │ │ │ ├── opening_loc: (2,2)-(2,3) = ":"
- │ │ │ │ ├── value_loc: (2,3)-(2,4) = "b"
- │ │ │ │ ├── closing_loc: ∅
- │ │ │ │ └── unescaped: "b"
- │ │ │ └── flags: ∅
+ │ │ │ ├── flags: ∅
+ │ │ │ └── arguments: (length: 1)
+ │ │ │ └── @ SymbolNode (location: (2,2)-(2,4))
+ │ │ │ ├── opening_loc: (2,2)-(2,3) = ":"
+ │ │ │ ├── value_loc: (2,3)-(2,4) = "b"
+ │ │ │ ├── closing_loc: ∅
+ │ │ │ └── unescaped: "b"
│ │ ├── closing_loc: ∅
- │ │ ├── block: ∅
- │ │ └── flags: ∅
+ │ │ └── block: ∅
│ ├── locals: []
│ ├── locals_body_index: 0
│ ├── def_keyword_loc: (1,0)-(1,3) = "def"
@@ -46,6 +46,7 @@
│ │ @ StatementsNode (location: (4,10)-(4,13))
│ │ └── body: (length: 1)
│ │ └── @ CallNode (location: (4,10)-(4,13))
+ │ │ ├── flags: ∅
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
│ │ ├── name: :a
@@ -53,16 +54,15 @@
│ │ ├── opening_loc: ∅
│ │ ├── arguments:
│ │ │ @ ArgumentsNode (location: (4,11)-(4,13))
- │ │ │ ├── arguments: (length: 1)
- │ │ │ │ └── @ SymbolNode (location: (4,11)-(4,13))
- │ │ │ │ ├── opening_loc: (4,11)-(4,12) = ":"
- │ │ │ │ ├── value_loc: (4,12)-(4,13) = "b"
- │ │ │ │ ├── closing_loc: ∅
- │ │ │ │ └── unescaped: "b"
- │ │ │ └── flags: ∅
+ │ │ │ ├── flags: ∅
+ │ │ │ └── arguments: (length: 1)
+ │ │ │ └── @ SymbolNode (location: (4,11)-(4,13))
+ │ │ │ ├── opening_loc: (4,11)-(4,12) = ":"
+ │ │ │ ├── value_loc: (4,12)-(4,13) = "b"
+ │ │ │ ├── closing_loc: ∅
+ │ │ │ └── unescaped: "b"
│ │ ├── closing_loc: ∅
- │ │ ├── block: ∅
- │ │ └── flags: ∅
+ │ │ └── block: ∅
│ ├── locals: []
│ ├── locals_body_index: 0
│ ├── def_keyword_loc: (4,0)-(4,3) = "def"
@@ -72,6 +72,7 @@
│ ├── equal_loc: ∅
│ └── end_keyword_loc: (4,14)-(4,17) = "end"
└── @ CallNode (location: (6,0)-(6,12))
+ ├── flags: ∅
├── receiver: ∅
├── call_operator_loc: ∅
├── name: :f
@@ -79,37 +80,36 @@
├── opening_loc: ∅
├── arguments: ∅
├── closing_loc: ∅
- ├── block:
- │ @ BlockNode (location: (6,2)-(6,12))
- │ ├── locals: []
- │ ├── locals_body_index: 0
- │ ├── parameters:
- │ │ @ BlockParametersNode (location: (6,4)-(6,6))
- │ │ ├── parameters: ∅
- │ │ ├── locals: (length: 0)
- │ │ ├── opening_loc: (6,4)-(6,5) = "|"
- │ │ └── closing_loc: (6,5)-(6,6) = "|"
- │ ├── body:
- │ │ @ StatementsNode (location: (6,7)-(6,10))
- │ │ └── body: (length: 1)
- │ │ └── @ CallNode (location: (6,7)-(6,10))
- │ │ ├── receiver: ∅
- │ │ ├── call_operator_loc: ∅
- │ │ ├── name: :a
- │ │ ├── message_loc: (6,7)-(6,8) = "a"
- │ │ ├── opening_loc: ∅
- │ │ ├── arguments:
- │ │ │ @ ArgumentsNode (location: (6,8)-(6,10))
- │ │ │ ├── arguments: (length: 1)
- │ │ │ │ └── @ SymbolNode (location: (6,8)-(6,10))
- │ │ │ │ ├── opening_loc: (6,8)-(6,9) = ":"
- │ │ │ │ ├── value_loc: (6,9)-(6,10) = "b"
- │ │ │ │ ├── closing_loc: ∅
- │ │ │ │ └── unescaped: "b"
- │ │ │ └── flags: ∅
- │ │ ├── closing_loc: ∅
- │ │ ├── block: ∅
- │ │ └── flags: ∅
- │ ├── opening_loc: (6,2)-(6,3) = "{"
- │ └── closing_loc: (6,11)-(6,12) = "}"
- └── flags: ∅
+ └── block:
+ @ BlockNode (location: (6,2)-(6,12))
+ ├── locals: []
+ ├── locals_body_index: 0
+ ├── parameters:
+ │ @ BlockParametersNode (location: (6,4)-(6,6))
+ │ ├── parameters: ∅
+ │ ├── locals: (length: 0)
+ │ ├── opening_loc: (6,4)-(6,5) = "|"
+ │ └── closing_loc: (6,5)-(6,6) = "|"
+ ├── body:
+ │ @ StatementsNode (location: (6,7)-(6,10))
+ │ └── body: (length: 1)
+ │ └── @ CallNode (location: (6,7)-(6,10))
+ │ ├── flags: ∅
+ │ ├── receiver: ∅
+ │ ├── call_operator_loc: ∅
+ │ ├── name: :a
+ │ ├── message_loc: (6,7)-(6,8) = "a"
+ │ ├── opening_loc: ∅
+ │ ├── arguments:
+ │ │ @ ArgumentsNode (location: (6,8)-(6,10))
+ │ │ ├── flags: ∅
+ │ │ └── arguments: (length: 1)
+ │ │ └── @ SymbolNode (location: (6,8)-(6,10))
+ │ │ ├── opening_loc: (6,8)-(6,9) = ":"
+ │ │ ├── value_loc: (6,9)-(6,10) = "b"
+ │ │ ├── closing_loc: ∅
+ │ │ └── unescaped: "b"
+ │ ├── closing_loc: ∅
+ │ └── block: ∅
+ ├── opening_loc: (6,2)-(6,3) = "{"
+ └── closing_loc: (6,11)-(6,12) = "}"
diff --git a/test/prism/snapshots/whitequark/arg_scope.txt b/test/prism/snapshots/whitequark/arg_scope.txt
index 91f486cc59..a27d7dc016 100644
--- a/test/prism/snapshots/whitequark/arg_scope.txt
+++ b/test/prism/snapshots/whitequark/arg_scope.txt
@@ -4,6 +4,7 @@
@ StatementsNode (location: (1,0)-(1,13))
└── body: (length: 1)
└── @ CallNode (location: (1,0)-(1,13))
+ ├── flags: ∅
├── receiver: ∅
├── call_operator_loc: ∅
├── name: :lambda
@@ -11,24 +12,23 @@
├── opening_loc: ∅
├── arguments: ∅
├── closing_loc: ∅
- ├── block:
- │ @ BlockNode (location: (1,6)-(1,13))
- │ ├── locals: [:a]
- │ ├── locals_body_index: 1
- │ ├── parameters:
- │ │ @ BlockParametersNode (location: (1,7)-(1,11))
- │ │ ├── parameters: ∅
- │ │ ├── locals: (length: 1)
- │ │ │ └── @ BlockLocalVariableNode (location: (1,9)-(1,10))
- │ │ │ └── name: :a
- │ │ ├── opening_loc: (1,7)-(1,8) = "|"
- │ │ └── closing_loc: (1,10)-(1,11) = "|"
- │ ├── body:
- │ │ @ StatementsNode (location: (1,11)-(1,12))
- │ │ └── body: (length: 1)
- │ │ └── @ LocalVariableReadNode (location: (1,11)-(1,12))
- │ │ ├── name: :a
- │ │ └── depth: 0
- │ ├── opening_loc: (1,6)-(1,7) = "{"
- │ └── closing_loc: (1,12)-(1,13) = "}"
- └── flags: ∅
+ └── block:
+ @ BlockNode (location: (1,6)-(1,13))
+ ├── locals: [:a]
+ ├── locals_body_index: 1
+ ├── parameters:
+ │ @ BlockParametersNode (location: (1,7)-(1,11))
+ │ ├── parameters: ∅
+ │ ├── locals: (length: 1)
+ │ │ └── @ BlockLocalVariableNode (location: (1,9)-(1,10))
+ │ │ └── name: :a
+ │ ├── opening_loc: (1,7)-(1,8) = "|"
+ │ └── closing_loc: (1,10)-(1,11) = "|"
+ ├── body:
+ │ @ StatementsNode (location: (1,11)-(1,12))
+ │ └── body: (length: 1)
+ │ └── @ LocalVariableReadNode (location: (1,11)-(1,12))
+ │ ├── name: :a
+ │ └── depth: 0
+ ├── opening_loc: (1,6)-(1,7) = "{"
+ └── closing_loc: (1,12)-(1,13) = "}"
diff --git a/test/prism/snapshots/whitequark/args_args_assocs.txt b/test/prism/snapshots/whitequark/args_args_assocs.txt
index ce9ef9b4c1..479c5f551e 100644
--- a/test/prism/snapshots/whitequark/args_args_assocs.txt
+++ b/test/prism/snapshots/whitequark/args_args_assocs.txt
@@ -4,6 +4,7 @@
@ StatementsNode (location: (1,0)-(3,24))
└── body: (length: 2)
├── @ CallNode (location: (1,0)-(1,19))
+ │ ├── flags: ∅
│ ├── receiver: ∅
│ ├── call_operator_loc: ∅
│ ├── name: :fun
@@ -11,35 +12,35 @@
│ ├── opening_loc: (1,3)-(1,4) = "("
│ ├── arguments:
│ │ @ ArgumentsNode (location: (1,4)-(1,18))
- │ │ ├── arguments: (length: 2)
- │ │ │ ├── @ CallNode (location: (1,4)-(1,7))
- │ │ │ │ ├── receiver: ∅
- │ │ │ │ ├── call_operator_loc: ∅
- │ │ │ │ ├── name: :foo
- │ │ │ │ ├── message_loc: (1,4)-(1,7) = "foo"
- │ │ │ │ ├── opening_loc: ∅
- │ │ │ │ ├── arguments: ∅
- │ │ │ │ ├── closing_loc: ∅
- │ │ │ │ ├── block: ∅
- │ │ │ │ └── flags: variable_call
- │ │ │ └── @ KeywordHashNode (location: (1,9)-(1,18))
- │ │ │ └── elements: (length: 1)
- │ │ │ └── @ AssocNode (location: (1,9)-(1,18))
- │ │ │ ├── key:
- │ │ │ │ @ SymbolNode (location: (1,9)-(1,13))
- │ │ │ │ ├── opening_loc: (1,9)-(1,10) = ":"
- │ │ │ │ ├── value_loc: (1,10)-(1,13) = "foo"
- │ │ │ │ ├── closing_loc: ∅
- │ │ │ │ └── unescaped: "foo"
- │ │ │ ├── value:
- │ │ │ │ @ IntegerNode (location: (1,17)-(1,18))
- │ │ │ │ └── flags: decimal
- │ │ │ └── operator_loc: (1,14)-(1,16) = "=>"
- │ │ └── flags: ∅
+ │ │ ├── flags: ∅
+ │ │ └── arguments: (length: 2)
+ │ │ ├── @ CallNode (location: (1,4)-(1,7))
+ │ │ │ ├── flags: variable_call
+ │ │ │ ├── receiver: ∅
+ │ │ │ ├── call_operator_loc: ∅
+ │ │ │ ├── name: :foo
+ │ │ │ ├── message_loc: (1,4)-(1,7) = "foo"
+ │ │ │ ├── opening_loc: ∅
+ │ │ │ ├── arguments: ∅
+ │ │ │ ├── closing_loc: ∅
+ │ │ │ └── block: ∅
+ │ │ └── @ KeywordHashNode (location: (1,9)-(1,18))
+ │ │ └── elements: (length: 1)
+ │ │ └── @ AssocNode (location: (1,9)-(1,18))
+ │ │ ├── key:
+ │ │ │ @ SymbolNode (location: (1,9)-(1,13))
+ │ │ │ ├── opening_loc: (1,9)-(1,10) = ":"
+ │ │ │ ├── value_loc: (1,10)-(1,13) = "foo"
+ │ │ │ ├── closing_loc: ∅
+ │ │ │ └── unescaped: "foo"
+ │ │ ├── value:
+ │ │ │ @ IntegerNode (location: (1,17)-(1,18))
+ │ │ │ └── flags: decimal
+ │ │ └── operator_loc: (1,14)-(1,16) = "=>"
│ ├── closing_loc: (1,18)-(1,19) = ")"
- │ ├── block: ∅
- │ └── flags: ∅
+ │ └── block: ∅
└── @ CallNode (location: (3,0)-(3,24))
+ ├── flags: ∅
├── receiver: ∅
├── call_operator_loc: ∅
├── name: :fun
@@ -47,44 +48,43 @@
├── opening_loc: (3,3)-(3,4) = "("
├── arguments:
│ @ ArgumentsNode (location: (3,4)-(3,18))
- │ ├── arguments: (length: 2)
- │ │ ├── @ CallNode (location: (3,4)-(3,7))
- │ │ │ ├── receiver: ∅
- │ │ │ ├── call_operator_loc: ∅
- │ │ │ ├── name: :foo
- │ │ │ ├── message_loc: (3,4)-(3,7) = "foo"
- │ │ │ ├── opening_loc: ∅
- │ │ │ ├── arguments: ∅
- │ │ │ ├── closing_loc: ∅
- │ │ │ ├── block: ∅
- │ │ │ └── flags: variable_call
- │ │ └── @ KeywordHashNode (location: (3,9)-(3,18))
- │ │ └── elements: (length: 1)
- │ │ └── @ AssocNode (location: (3,9)-(3,18))
- │ │ ├── key:
- │ │ │ @ SymbolNode (location: (3,9)-(3,13))
- │ │ │ ├── opening_loc: (3,9)-(3,10) = ":"
- │ │ │ ├── value_loc: (3,10)-(3,13) = "foo"
- │ │ │ ├── closing_loc: ∅
- │ │ │ └── unescaped: "foo"
- │ │ ├── value:
- │ │ │ @ IntegerNode (location: (3,17)-(3,18))
- │ │ │ └── flags: decimal
- │ │ └── operator_loc: (3,14)-(3,16) = "=>"
- │ └── flags: ∅
+ │ ├── flags: ∅
+ │ └── arguments: (length: 2)
+ │ ├── @ CallNode (location: (3,4)-(3,7))
+ │ │ ├── flags: variable_call
+ │ │ ├── receiver: ∅
+ │ │ ├── call_operator_loc: ∅
+ │ │ ├── name: :foo
+ │ │ ├── message_loc: (3,4)-(3,7) = "foo"
+ │ │ ├── opening_loc: ∅
+ │ │ ├── arguments: ∅
+ │ │ ├── closing_loc: ∅
+ │ │ └── block: ∅
+ │ └── @ KeywordHashNode (location: (3,9)-(3,18))
+ │ └── elements: (length: 1)
+ │ └── @ AssocNode (location: (3,9)-(3,18))
+ │ ├── key:
+ │ │ @ SymbolNode (location: (3,9)-(3,13))
+ │ │ ├── opening_loc: (3,9)-(3,10) = ":"
+ │ │ ├── value_loc: (3,10)-(3,13) = "foo"
+ │ │ ├── closing_loc: ∅
+ │ │ └── unescaped: "foo"
+ │ ├── value:
+ │ │ @ IntegerNode (location: (3,17)-(3,18))
+ │ │ └── flags: decimal
+ │ └── operator_loc: (3,14)-(3,16) = "=>"
├── closing_loc: (3,24)-(3,25) = ")"
- ├── block:
- │ @ BlockArgumentNode (location: (3,20)-(3,24))
- │ ├── expression:
- │ │ @ CallNode (location: (3,21)-(3,24))
- │ │ ├── receiver: ∅
- │ │ ├── call_operator_loc: ∅
- │ │ ├── name: :baz
- │ │ ├── message_loc: (3,21)-(3,24) = "baz"
- │ │ ├── opening_loc: ∅
- │ │ ├── arguments: ∅
- │ │ ├── closing_loc: ∅
- │ │ ├── block: ∅
- │ │ └── flags: variable_call
- │ └── operator_loc: (3,20)-(3,21) = "&"
- └── flags: ∅
+ └── block:
+ @ BlockArgumentNode (location: (3,20)-(3,24))
+ ├── expression:
+ │ @ CallNode (location: (3,21)-(3,24))
+ │ ├── flags: variable_call
+ │ ├── receiver: ∅
+ │ ├── call_operator_loc: ∅
+ │ ├── name: :baz
+ │ ├── message_loc: (3,21)-(3,24) = "baz"
+ │ ├── opening_loc: ∅
+ │ ├── arguments: ∅
+ │ ├── closing_loc: ∅
+ │ └── block: ∅
+ └── operator_loc: (3,20)-(3,21) = "&"
diff --git a/test/prism/snapshots/whitequark/args_args_assocs_comma.txt b/test/prism/snapshots/whitequark/args_args_assocs_comma.txt
index ca87c57e69..98e94733e9 100644
--- a/test/prism/snapshots/whitequark/args_args_assocs_comma.txt
+++ b/test/prism/snapshots/whitequark/args_args_assocs_comma.txt
@@ -4,8 +4,10 @@
@ StatementsNode (location: (1,0)-(1,20))
└── body: (length: 1)
└── @ CallNode (location: (1,0)-(1,20))
+ ├── flags: ∅
├── receiver:
│ @ CallNode (location: (1,0)-(1,3))
+ │ ├── flags: variable_call
│ ├── receiver: ∅
│ ├── call_operator_loc: ∅
│ ├── name: :foo
@@ -13,39 +15,37 @@
│ ├── opening_loc: ∅
│ ├── arguments: ∅
│ ├── closing_loc: ∅
- │ ├── block: ∅
- │ └── flags: variable_call
+ │ └── block: ∅
├── call_operator_loc: ∅
├── name: :[]
├── message_loc: (1,3)-(1,20) = "[bar, :baz => 1,]"
├── opening_loc: (1,3)-(1,4) = "["
├── arguments:
│ @ ArgumentsNode (location: (1,4)-(1,18))
- │ ├── arguments: (length: 2)
- │ │ ├── @ CallNode (location: (1,4)-(1,7))
- │ │ │ ├── receiver: ∅
- │ │ │ ├── call_operator_loc: ∅
- │ │ │ ├── name: :bar
- │ │ │ ├── message_loc: (1,4)-(1,7) = "bar"
- │ │ │ ├── opening_loc: ∅
- │ │ │ ├── arguments: ∅
- │ │ │ ├── closing_loc: ∅
- │ │ │ ├── block: ∅
- │ │ │ └── flags: variable_call
- │ │ └── @ KeywordHashNode (location: (1,9)-(1,18))
- │ │ └── elements: (length: 1)
- │ │ └── @ AssocNode (location: (1,9)-(1,18))
- │ │ ├── key:
- │ │ │ @ SymbolNode (location: (1,9)-(1,13))
- │ │ │ ├── opening_loc: (1,9)-(1,10) = ":"
- │ │ │ ├── value_loc: (1,10)-(1,13) = "baz"
- │ │ │ ├── closing_loc: ∅
- │ │ │ └── unescaped: "baz"
- │ │ ├── value:
- │ │ │ @ IntegerNode (location: (1,17)-(1,18))
- │ │ │ └── flags: decimal
- │ │ └── operator_loc: (1,14)-(1,16) = "=>"
- │ └── flags: ∅
+ │ ├── flags: ∅
+ │ └── arguments: (length: 2)
+ │ ├── @ CallNode (location: (1,4)-(1,7))
+ │ │ ├── flags: variable_call
+ │ │ ├── receiver: ∅
+ │ │ ├── call_operator_loc: ∅
+ │ │ ├── name: :bar
+ │ │ ├── message_loc: (1,4)-(1,7) = "bar"
+ │ │ ├── opening_loc: ∅
+ │ │ ├── arguments: ∅
+ │ │ ├── closing_loc: ∅
+ │ │ └── block: ∅
+ │ └── @ KeywordHashNode (location: (1,9)-(1,18))
+ │ └── elements: (length: 1)
+ │ └── @ AssocNode (location: (1,9)-(1,18))
+ │ ├── key:
+ │ │ @ SymbolNode (location: (1,9)-(1,13))
+ │ │ ├── opening_loc: (1,9)-(1,10) = ":"
+ │ │ ├── value_loc: (1,10)-(1,13) = "baz"
+ │ │ ├── closing_loc: ∅
+ │ │ └── unescaped: "baz"
+ │ ├── value:
+ │ │ @ IntegerNode (location: (1,17)-(1,18))
+ │ │ └── flags: decimal
+ │ └── operator_loc: (1,14)-(1,16) = "=>"
├── closing_loc: (1,19)-(1,20) = "]"
- ├── block: ∅
- └── flags: ∅
+ └── block: ∅
diff --git a/test/prism/snapshots/whitequark/args_args_comma.txt b/test/prism/snapshots/whitequark/args_args_comma.txt
index 2bd95fde0f..70f6c07d6f 100644
--- a/test/prism/snapshots/whitequark/args_args_comma.txt
+++ b/test/prism/snapshots/whitequark/args_args_comma.txt
@@ -4,8 +4,10 @@
@ StatementsNode (location: (1,0)-(1,9))
└── body: (length: 1)
└── @ CallNode (location: (1,0)-(1,9))
+ ├── flags: ∅
├── receiver:
│ @ CallNode (location: (1,0)-(1,3))
+ │ ├── flags: variable_call
│ ├── receiver: ∅
│ ├── call_operator_loc: ∅
│ ├── name: :foo
@@ -13,26 +15,24 @@
│ ├── opening_loc: ∅
│ ├── arguments: ∅
│ ├── closing_loc: ∅
- │ ├── block: ∅
- │ └── flags: variable_call
+ │ └── block: ∅
├── call_operator_loc: ∅
├── name: :[]
├── message_loc: (1,3)-(1,9) = "[bar,]"
├── opening_loc: (1,3)-(1,4) = "["
├── arguments:
│ @ ArgumentsNode (location: (1,4)-(1,7))
- │ ├── arguments: (length: 1)
- │ │ └── @ CallNode (location: (1,4)-(1,7))
- │ │ ├── receiver: ∅
- │ │ ├── call_operator_loc: ∅
- │ │ ├── name: :bar
- │ │ ├── message_loc: (1,4)-(1,7) = "bar"
- │ │ ├── opening_loc: ∅
- │ │ ├── arguments: ∅
- │ │ ├── closing_loc: ∅
- │ │ ├── block: ∅
- │ │ └── flags: variable_call
- │ └── flags: ∅
+ │ ├── flags: ∅
+ │ └── arguments: (length: 1)
+ │ └── @ CallNode (location: (1,4)-(1,7))
+ │ ├── flags: variable_call
+ │ ├── receiver: ∅
+ │ ├── call_operator_loc: ∅
+ │ ├── name: :bar
+ │ ├── message_loc: (1,4)-(1,7) = "bar"
+ │ ├── opening_loc: ∅
+ │ ├── arguments: ∅
+ │ ├── closing_loc: ∅
+ │ └── block: ∅
├── closing_loc: (1,8)-(1,9) = "]"
- ├── block: ∅
- └── flags: ∅
+ └── block: ∅
diff --git a/test/prism/snapshots/whitequark/args_args_star.txt b/test/prism/snapshots/whitequark/args_args_star.txt
index 21ce7af2b4..b38eacfb14 100644
--- a/test/prism/snapshots/whitequark/args_args_star.txt
+++ b/test/prism/snapshots/whitequark/args_args_star.txt
@@ -4,6 +4,7 @@
@ StatementsNode (location: (1,0)-(3,19))
└── body: (length: 2)
├── @ CallNode (location: (1,0)-(1,14))
+ │ ├── flags: ∅
│ ├── receiver: ∅
│ ├── call_operator_loc: ∅
│ ├── name: :fun
@@ -11,35 +12,35 @@
│ ├── opening_loc: (1,3)-(1,4) = "("
│ ├── arguments:
│ │ @ ArgumentsNode (location: (1,4)-(1,13))
- │ │ ├── arguments: (length: 2)
- │ │ │ ├── @ CallNode (location: (1,4)-(1,7))
- │ │ │ │ ├── receiver: ∅
- │ │ │ │ ├── call_operator_loc: ∅
- │ │ │ │ ├── name: :foo
- │ │ │ │ ├── message_loc: (1,4)-(1,7) = "foo"
- │ │ │ │ ├── opening_loc: ∅
- │ │ │ │ ├── arguments: ∅
- │ │ │ │ ├── closing_loc: ∅
- │ │ │ │ ├── block: ∅
- │ │ │ │ └── flags: variable_call
- │ │ │ └── @ SplatNode (location: (1,9)-(1,13))
- │ │ │ ├── operator_loc: (1,9)-(1,10) = "*"
- │ │ │ └── expression:
- │ │ │ @ CallNode (location: (1,10)-(1,13))
- │ │ │ ├── receiver: ∅
- │ │ │ ├── call_operator_loc: ∅
- │ │ │ ├── name: :bar
- │ │ │ ├── message_loc: (1,10)-(1,13) = "bar"
- │ │ │ ├── opening_loc: ∅
- │ │ │ ├── arguments: ∅
- │ │ │ ├── closing_loc: ∅
- │ │ │ ├── block: ∅
- │ │ │ └── flags: variable_call
- │ │ └── flags: ∅
+ │ │ ├── flags: ∅
+ │ │ └── arguments: (length: 2)
+ │ │ ├── @ CallNode (location: (1,4)-(1,7))
+ │ │ │ ├── flags: variable_call
+ │ │ │ ├── receiver: ∅
+ │ │ │ ├── call_operator_loc: ∅
+ │ │ │ ├── name: :foo
+ │ │ │ ├── message_loc: (1,4)-(1,7) = "foo"
+ │ │ │ ├── opening_loc: ∅
+ │ │ │ ├── arguments: ∅
+ │ │ │ ├── closing_loc: ∅
+ │ │ │ └── block: ∅
+ │ │ └── @ SplatNode (location: (1,9)-(1,13))
+ │ │ ├── operator_loc: (1,9)-(1,10) = "*"
+ │ │ └── expression:
+ │ │ @ CallNode (location: (1,10)-(1,13))
+ │ │ ├── flags: variable_call
+ │ │ ├── receiver: ∅
+ │ │ ├── call_operator_loc: ∅
+ │ │ ├── name: :bar
+ │ │ ├── message_loc: (1,10)-(1,13) = "bar"
+ │ │ ├── opening_loc: ∅
+ │ │ ├── arguments: ∅
+ │ │ ├── closing_loc: ∅
+ │ │ └── block: ∅
│ ├── closing_loc: (1,13)-(1,14) = ")"
- │ ├── block: ∅
- │ └── flags: ∅
+ │ └── block: ∅
└── @ CallNode (location: (3,0)-(3,19))
+ ├── flags: ∅
├── receiver: ∅
├── call_operator_loc: ∅
├── name: :fun
@@ -47,44 +48,43 @@
├── opening_loc: (3,3)-(3,4) = "("
├── arguments:
│ @ ArgumentsNode (location: (3,4)-(3,13))
- │ ├── arguments: (length: 2)
- │ │ ├── @ CallNode (location: (3,4)-(3,7))
- │ │ │ ├── receiver: ∅
- │ │ │ ├── call_operator_loc: ∅
- │ │ │ ├── name: :foo
- │ │ │ ├── message_loc: (3,4)-(3,7) = "foo"
- │ │ │ ├── opening_loc: ∅
- │ │ │ ├── arguments: ∅
- │ │ │ ├── closing_loc: ∅
- │ │ │ ├── block: ∅
- │ │ │ └── flags: variable_call
- │ │ └── @ SplatNode (location: (3,9)-(3,13))
- │ │ ├── operator_loc: (3,9)-(3,10) = "*"
- │ │ └── expression:
- │ │ @ CallNode (location: (3,10)-(3,13))
- │ │ ├── receiver: ∅
- │ │ ├── call_operator_loc: ∅
- │ │ ├── name: :bar
- │ │ ├── message_loc: (3,10)-(3,13) = "bar"
- │ │ ├── opening_loc: ∅
- │ │ ├── arguments: ∅
- │ │ ├── closing_loc: ∅
- │ │ ├── block: ∅
- │ │ └── flags: variable_call
- │ └── flags: ∅
+ │ ├── flags: ∅
+ │ └── arguments: (length: 2)
+ │ ├── @ CallNode (location: (3,4)-(3,7))
+ │ │ ├── flags: variable_call
+ │ │ ├── receiver: ∅
+ │ │ ├── call_operator_loc: ∅
+ │ │ ├── name: :foo
+ │ │ ├── message_loc: (3,4)-(3,7) = "foo"
+ │ │ ├── opening_loc: ∅
+ │ │ ├── arguments: ∅
+ │ │ ├── closing_loc: ∅
+ │ │ └── block: ∅
+ │ └── @ SplatNode (location: (3,9)-(3,13))
+ │ ├── operator_loc: (3,9)-(3,10) = "*"
+ │ └── expression:
+ │ @ CallNode (location: (3,10)-(3,13))
+ │ ├── flags: variable_call
+ │ ├── receiver: ∅
+ │ ├── call_operator_loc: ∅
+ │ ├── name: :bar
+ │ ├── message_loc: (3,10)-(3,13) = "bar"
+ │ ├── opening_loc: ∅
+ │ ├── arguments: ∅
+ │ ├── closing_loc: ∅
+ │ └── block: ∅
├── closing_loc: (3,19)-(3,20) = ")"
- ├── block:
- │ @ BlockArgumentNode (location: (3,15)-(3,19))
- │ ├── expression:
- │ │ @ CallNode (location: (3,16)-(3,19))
- │ │ ├── receiver: ∅
- │ │ ├── call_operator_loc: ∅
- │ │ ├── name: :baz
- │ │ ├── message_loc: (3,16)-(3,19) = "baz"
- │ │ ├── opening_loc: ∅
- │ │ ├── arguments: ∅
- │ │ ├── closing_loc: ∅
- │ │ ├── block: ∅
- │ │ └── flags: variable_call
- │ └── operator_loc: (3,15)-(3,16) = "&"
- └── flags: ∅
+ └── block:
+ @ BlockArgumentNode (location: (3,15)-(3,19))
+ ├── expression:
+ │ @ CallNode (location: (3,16)-(3,19))
+ │ ├── flags: variable_call
+ │ ├── receiver: ∅
+ │ ├── call_operator_loc: ∅
+ │ ├── name: :baz
+ │ ├── message_loc: (3,16)-(3,19) = "baz"
+ │ ├── opening_loc: ∅
+ │ ├── arguments: ∅
+ │ ├── closing_loc: ∅
+ │ └── block: ∅
+ └── operator_loc: (3,15)-(3,16) = "&"
diff --git a/test/prism/snapshots/whitequark/args_assocs.txt b/test/prism/snapshots/whitequark/args_assocs.txt
index b136bbd322..fecf1b3663 100644
--- a/test/prism/snapshots/whitequark/args_assocs.txt
+++ b/test/prism/snapshots/whitequark/args_assocs.txt
@@ -4,6 +4,7 @@
@ StatementsNode (location: (1,0)-(11,17))
└── body: (length: 6)
├── @ CallNode (location: (1,0)-(1,14))
+ │ ├── flags: ∅
│ ├── receiver: ∅
│ ├── call_operator_loc: ∅
│ ├── name: :fun
@@ -11,25 +12,25 @@
│ ├── opening_loc: (1,3)-(1,4) = "("
│ ├── arguments:
│ │ @ ArgumentsNode (location: (1,4)-(1,13))
- │ │ ├── arguments: (length: 1)
- │ │ │ └── @ KeywordHashNode (location: (1,4)-(1,13))
- │ │ │ └── elements: (length: 1)
- │ │ │ └── @ AssocNode (location: (1,4)-(1,13))
- │ │ │ ├── key:
- │ │ │ │ @ SymbolNode (location: (1,4)-(1,8))
- │ │ │ │ ├── opening_loc: (1,4)-(1,5) = ":"
- │ │ │ │ ├── value_loc: (1,5)-(1,8) = "foo"
- │ │ │ │ ├── closing_loc: ∅
- │ │ │ │ └── unescaped: "foo"
- │ │ │ ├── value:
- │ │ │ │ @ IntegerNode (location: (1,12)-(1,13))
- │ │ │ │ └── flags: decimal
- │ │ │ └── operator_loc: (1,9)-(1,11) = "=>"
- │ │ └── flags: ∅
+ │ │ ├── flags: ∅
+ │ │ └── arguments: (length: 1)
+ │ │ └── @ KeywordHashNode (location: (1,4)-(1,13))
+ │ │ └── elements: (length: 1)
+ │ │ └── @ AssocNode (location: (1,4)-(1,13))
+ │ │ ├── key:
+ │ │ │ @ SymbolNode (location: (1,4)-(1,8))
+ │ │ │ ├── opening_loc: (1,4)-(1,5) = ":"
+ │ │ │ ├── value_loc: (1,5)-(1,8) = "foo"
+ │ │ │ ├── closing_loc: ∅
+ │ │ │ └── unescaped: "foo"
+ │ │ ├── value:
+ │ │ │ @ IntegerNode (location: (1,12)-(1,13))
+ │ │ │ └── flags: decimal
+ │ │ └── operator_loc: (1,9)-(1,11) = "=>"
│ ├── closing_loc: (1,13)-(1,14) = ")"
- │ ├── block: ∅
- │ └── flags: ∅
+ │ └── block: ∅
├── @ CallNode (location: (3,0)-(3,19))
+ │ ├── flags: ∅
│ ├── receiver: ∅
│ ├── call_operator_loc: ∅
│ ├── name: :fun
@@ -37,38 +38,38 @@
│ ├── opening_loc: (3,3)-(3,4) = "("
│ ├── arguments:
│ │ @ ArgumentsNode (location: (3,4)-(3,13))
- │ │ ├── arguments: (length: 1)
- │ │ │ └── @ KeywordHashNode (location: (3,4)-(3,13))
- │ │ │ └── elements: (length: 1)
- │ │ │ └── @ AssocNode (location: (3,4)-(3,13))
- │ │ │ ├── key:
- │ │ │ │ @ SymbolNode (location: (3,4)-(3,8))
- │ │ │ │ ├── opening_loc: (3,4)-(3,5) = ":"
- │ │ │ │ ├── value_loc: (3,5)-(3,8) = "foo"
- │ │ │ │ ├── closing_loc: ∅
- │ │ │ │ └── unescaped: "foo"
- │ │ │ ├── value:
- │ │ │ │ @ IntegerNode (location: (3,12)-(3,13))
- │ │ │ │ └── flags: decimal
- │ │ │ └── operator_loc: (3,9)-(3,11) = "=>"
- │ │ └── flags: ∅
+ │ │ ├── flags: ∅
+ │ │ └── arguments: (length: 1)
+ │ │ └── @ KeywordHashNode (location: (3,4)-(3,13))
+ │ │ └── elements: (length: 1)
+ │ │ └── @ AssocNode (location: (3,4)-(3,13))
+ │ │ ├── key:
+ │ │ │ @ SymbolNode (location: (3,4)-(3,8))
+ │ │ │ ├── opening_loc: (3,4)-(3,5) = ":"
+ │ │ │ ├── value_loc: (3,5)-(3,8) = "foo"
+ │ │ │ ├── closing_loc: ∅
+ │ │ │ └── unescaped: "foo"
+ │ │ ├── value:
+ │ │ │ @ IntegerNode (location: (3,12)-(3,13))
+ │ │ │ └── flags: decimal
+ │ │ └── operator_loc: (3,9)-(3,11) = "=>"
│ ├── closing_loc: (3,19)-(3,20) = ")"
- │ ├── block:
- │ │ @ BlockArgumentNode (location: (3,15)-(3,19))
- │ │ ├── expression:
- │ │ │ @ CallNode (location: (3,16)-(3,19))
- │ │ │ ├── receiver: ∅
- │ │ │ ├── call_operator_loc: ∅
- │ │ │ ├── name: :baz
- │ │ │ ├── message_loc: (3,16)-(3,19) = "baz"
- │ │ │ ├── opening_loc: ∅
- │ │ │ ├── arguments: ∅
- │ │ │ ├── closing_loc: ∅
- │ │ │ ├── block: ∅
- │ │ │ └── flags: variable_call
- │ │ └── operator_loc: (3,15)-(3,16) = "&"
- │ └── flags: ∅
+ │ └── block:
+ │ @ BlockArgumentNode (location: (3,15)-(3,19))
+ │ ├── expression:
+ │ │ @ CallNode (location: (3,16)-(3,19))
+ │ │ ├── flags: variable_call
+ │ │ ├── receiver: ∅
+ │ │ ├── call_operator_loc: ∅
+ │ │ ├── name: :baz
+ │ │ ├── message_loc: (3,16)-(3,19) = "baz"
+ │ │ ├── opening_loc: ∅
+ │ │ ├── arguments: ∅
+ │ │ ├── closing_loc: ∅
+ │ │ └── block: ∅
+ │ └── operator_loc: (3,15)-(3,16) = "&"
├── @ CallNode (location: (5,0)-(5,21))
+ │ ├── flags: ∅
│ ├── receiver:
│ │ @ SelfNode (location: (5,0)-(5,4))
│ ├── call_operator_loc: (5,4)-(5,5) = "."
@@ -77,35 +78,35 @@
│ ├── opening_loc: ∅
│ ├── arguments:
│ │ @ ArgumentsNode (location: (5,9)-(5,21))
- │ │ ├── arguments: (length: 2)
- │ │ │ ├── @ CallNode (location: (5,9)-(5,12))
- │ │ │ │ ├── receiver: ∅
- │ │ │ │ ├── call_operator_loc: ∅
- │ │ │ │ ├── name: :foo
- │ │ │ │ ├── message_loc: (5,9)-(5,12) = "foo"
- │ │ │ │ ├── opening_loc: ∅
- │ │ │ │ ├── arguments: ∅
- │ │ │ │ ├── closing_loc: ∅
- │ │ │ │ ├── block: ∅
- │ │ │ │ └── flags: variable_call
- │ │ │ └── @ KeywordHashNode (location: (5,14)-(5,21))
- │ │ │ └── elements: (length: 1)
- │ │ │ └── @ AssocNode (location: (5,14)-(5,21))
- │ │ │ ├── key:
- │ │ │ │ @ SymbolNode (location: (5,14)-(5,16))
- │ │ │ │ ├── opening_loc: (5,14)-(5,15) = ":"
- │ │ │ │ ├── value_loc: (5,15)-(5,16) = "a"
- │ │ │ │ ├── closing_loc: ∅
- │ │ │ │ └── unescaped: "a"
- │ │ │ ├── value:
- │ │ │ │ @ IntegerNode (location: (5,20)-(5,21))
- │ │ │ │ └── flags: decimal
- │ │ │ └── operator_loc: (5,17)-(5,19) = "=>"
- │ │ └── flags: ∅
+ │ │ ├── flags: ∅
+ │ │ └── arguments: (length: 2)
+ │ │ ├── @ CallNode (location: (5,9)-(5,12))
+ │ │ │ ├── flags: variable_call
+ │ │ │ ├── receiver: ∅
+ │ │ │ ├── call_operator_loc: ∅
+ │ │ │ ├── name: :foo
+ │ │ │ ├── message_loc: (5,9)-(5,12) = "foo"
+ │ │ │ ├── opening_loc: ∅
+ │ │ │ ├── arguments: ∅
+ │ │ │ ├── closing_loc: ∅
+ │ │ │ └── block: ∅
+ │ │ └── @ KeywordHashNode (location: (5,14)-(5,21))
+ │ │ └── elements: (length: 1)
+ │ │ └── @ AssocNode (location: (5,14)-(5,21))
+ │ │ ├── key:
+ │ │ │ @ SymbolNode (location: (5,14)-(5,16))
+ │ │ │ ├── opening_loc: (5,14)-(5,15) = ":"
+ │ │ │ ├── value_loc: (5,15)-(5,16) = "a"
+ │ │ │ ├── closing_loc: ∅
+ │ │ │ └── unescaped: "a"
+ │ │ ├── value:
+ │ │ │ @ IntegerNode (location: (5,20)-(5,21))
+ │ │ │ └── flags: decimal
+ │ │ └── operator_loc: (5,17)-(5,19) = "=>"
│ ├── closing_loc: ∅
- │ ├── block: ∅
- │ └── flags: ∅
+ │ └── block: ∅
├── @ CallNode (location: (7,0)-(7,15))
+ │ ├── flags: ∅
│ ├── receiver:
│ │ @ SelfNode (location: (7,0)-(7,4))
│ ├── call_operator_loc: ∅
@@ -114,44 +115,43 @@
│ ├── opening_loc: (7,4)-(7,5) = "["
│ ├── arguments:
│ │ @ ArgumentsNode (location: (7,5)-(7,14))
- │ │ ├── arguments: (length: 1)
- │ │ │ └── @ KeywordHashNode (location: (7,5)-(7,14))
- │ │ │ └── elements: (length: 1)
- │ │ │ └── @ AssocNode (location: (7,5)-(7,14))
- │ │ │ ├── key:
- │ │ │ │ @ SymbolNode (location: (7,5)-(7,9))
- │ │ │ │ ├── opening_loc: (7,5)-(7,6) = ":"
- │ │ │ │ ├── value_loc: (7,6)-(7,9) = "bar"
- │ │ │ │ ├── closing_loc: ∅
- │ │ │ │ └── unescaped: "bar"
- │ │ │ ├── value:
- │ │ │ │ @ IntegerNode (location: (7,13)-(7,14))
- │ │ │ │ └── flags: decimal
- │ │ │ └── operator_loc: (7,10)-(7,12) = "=>"
- │ │ └── flags: ∅
+ │ │ ├── flags: ∅
+ │ │ └── arguments: (length: 1)
+ │ │ └── @ KeywordHashNode (location: (7,5)-(7,14))
+ │ │ └── elements: (length: 1)
+ │ │ └── @ AssocNode (location: (7,5)-(7,14))
+ │ │ ├── key:
+ │ │ │ @ SymbolNode (location: (7,5)-(7,9))
+ │ │ │ ├── opening_loc: (7,5)-(7,6) = ":"
+ │ │ │ ├── value_loc: (7,6)-(7,9) = "bar"
+ │ │ │ ├── closing_loc: ∅
+ │ │ │ └── unescaped: "bar"
+ │ │ ├── value:
+ │ │ │ @ IntegerNode (location: (7,13)-(7,14))
+ │ │ │ └── flags: decimal
+ │ │ └── operator_loc: (7,10)-(7,12) = "=>"
│ ├── closing_loc: (7,14)-(7,15) = "]"
- │ ├── block: ∅
- │ └── flags: ∅
+ │ └── block: ∅
├── @ SuperNode (location: (9,0)-(9,17))
│ ├── keyword_loc: (9,0)-(9,5) = "super"
│ ├── lparen_loc: (9,5)-(9,6) = "("
│ ├── arguments:
│ │ @ ArgumentsNode (location: (9,6)-(9,16))
- │ │ ├── arguments: (length: 1)
- │ │ │ └── @ KeywordHashNode (location: (9,6)-(9,16))
- │ │ │ └── elements: (length: 1)
- │ │ │ └── @ AssocNode (location: (9,6)-(9,16))
- │ │ │ ├── key:
- │ │ │ │ @ SymbolNode (location: (9,6)-(9,10))
- │ │ │ │ ├── opening_loc: (9,6)-(9,7) = ":"
- │ │ │ │ ├── value_loc: (9,7)-(9,10) = "foo"
- │ │ │ │ ├── closing_loc: ∅
- │ │ │ │ └── unescaped: "foo"
- │ │ │ ├── value:
- │ │ │ │ @ IntegerNode (location: (9,14)-(9,16))
- │ │ │ │ └── flags: decimal
- │ │ │ └── operator_loc: (9,11)-(9,13) = "=>"
- │ │ └── flags: ∅
+ │ │ ├── flags: ∅
+ │ │ └── arguments: (length: 1)
+ │ │ └── @ KeywordHashNode (location: (9,6)-(9,16))
+ │ │ └── elements: (length: 1)
+ │ │ └── @ AssocNode (location: (9,6)-(9,16))
+ │ │ ├── key:
+ │ │ │ @ SymbolNode (location: (9,6)-(9,10))
+ │ │ │ ├── opening_loc: (9,6)-(9,7) = ":"
+ │ │ │ ├── value_loc: (9,7)-(9,10) = "foo"
+ │ │ │ ├── closing_loc: ∅
+ │ │ │ └── unescaped: "foo"
+ │ │ ├── value:
+ │ │ │ @ IntegerNode (location: (9,14)-(9,16))
+ │ │ │ └── flags: decimal
+ │ │ └── operator_loc: (9,11)-(9,13) = "=>"
│ ├── rparen_loc: (9,16)-(9,17) = ")"
│ └── block: ∅
└── @ YieldNode (location: (11,0)-(11,17))
@@ -159,19 +159,19 @@
├── lparen_loc: (11,5)-(11,6) = "("
├── arguments:
│ @ ArgumentsNode (location: (11,6)-(11,16))
- │ ├── arguments: (length: 1)
- │ │ └── @ KeywordHashNode (location: (11,6)-(11,16))
- │ │ └── elements: (length: 1)
- │ │ └── @ AssocNode (location: (11,6)-(11,16))
- │ │ ├── key:
- │ │ │ @ SymbolNode (location: (11,6)-(11,10))
- │ │ │ ├── opening_loc: (11,6)-(11,7) = ":"
- │ │ │ ├── value_loc: (11,7)-(11,10) = "foo"
- │ │ │ ├── closing_loc: ∅
- │ │ │ └── unescaped: "foo"
- │ │ ├── value:
- │ │ │ @ IntegerNode (location: (11,14)-(11,16))
- │ │ │ └── flags: decimal
- │ │ └── operator_loc: (11,11)-(11,13) = "=>"
- │ └── flags: ∅
+ │ ├── flags: ∅
+ │ └── arguments: (length: 1)
+ │ └── @ KeywordHashNode (location: (11,6)-(11,16))
+ │ └── elements: (length: 1)
+ │ └── @ AssocNode (location: (11,6)-(11,16))
+ │ ├── key:
+ │ │ @ SymbolNode (location: (11,6)-(11,10))
+ │ │ ├── opening_loc: (11,6)-(11,7) = ":"
+ │ │ ├── value_loc: (11,7)-(11,10) = "foo"
+ │ │ ├── closing_loc: ∅
+ │ │ └── unescaped: "foo"
+ │ ├── value:
+ │ │ @ IntegerNode (location: (11,14)-(11,16))
+ │ │ └── flags: decimal
+ │ └── operator_loc: (11,11)-(11,13) = "=>"
└── rparen_loc: (11,16)-(11,17) = ")"
diff --git a/test/prism/snapshots/whitequark/args_assocs_comma.txt b/test/prism/snapshots/whitequark/args_assocs_comma.txt
index bb3dc68d06..ac9a72adbc 100644
--- a/test/prism/snapshots/whitequark/args_assocs_comma.txt
+++ b/test/prism/snapshots/whitequark/args_assocs_comma.txt
@@ -4,8 +4,10 @@
@ StatementsNode (location: (1,0)-(1,15))
└── body: (length: 1)
└── @ CallNode (location: (1,0)-(1,15))
+ ├── flags: ∅
├── receiver:
│ @ CallNode (location: (1,0)-(1,3))
+ │ ├── flags: variable_call
│ ├── receiver: ∅
│ ├── call_operator_loc: ∅
│ ├── name: :foo
@@ -13,29 +15,27 @@
│ ├── opening_loc: ∅
│ ├── arguments: ∅
│ ├── closing_loc: ∅
- │ ├── block: ∅
- │ └── flags: variable_call
+ │ └── block: ∅
├── call_operator_loc: ∅
├── name: :[]
├── message_loc: (1,3)-(1,15) = "[:baz => 1,]"
├── opening_loc: (1,3)-(1,4) = "["
├── arguments:
│ @ ArgumentsNode (location: (1,4)-(1,13))
- │ ├── arguments: (length: 1)
- │ │ └── @ KeywordHashNode (location: (1,4)-(1,13))
- │ │ └── elements: (length: 1)
- │ │ └── @ AssocNode (location: (1,4)-(1,13))
- │ │ ├── key:
- │ │ │ @ SymbolNode (location: (1,4)-(1,8))
- │ │ │ ├── opening_loc: (1,4)-(1,5) = ":"
- │ │ │ ├── value_loc: (1,5)-(1,8) = "baz"
- │ │ │ ├── closing_loc: ∅
- │ │ │ └── unescaped: "baz"
- │ │ ├── value:
- │ │ │ @ IntegerNode (location: (1,12)-(1,13))
- │ │ │ └── flags: decimal
- │ │ └── operator_loc: (1,9)-(1,11) = "=>"
- │ └── flags: ∅
+ │ ├── flags: ∅
+ │ └── arguments: (length: 1)
+ │ └── @ KeywordHashNode (location: (1,4)-(1,13))
+ │ └── elements: (length: 1)
+ │ └── @ AssocNode (location: (1,4)-(1,13))
+ │ ├── key:
+ │ │ @ SymbolNode (location: (1,4)-(1,8))
+ │ │ ├── opening_loc: (1,4)-(1,5) = ":"
+ │ │ ├── value_loc: (1,5)-(1,8) = "baz"
+ │ │ ├── closing_loc: ∅
+ │ │ └── unescaped: "baz"
+ │ ├── value:
+ │ │ @ IntegerNode (location: (1,12)-(1,13))
+ │ │ └── flags: decimal
+ │ └── operator_loc: (1,9)-(1,11) = "=>"
├── closing_loc: (1,14)-(1,15) = "]"
- ├── block: ∅
- └── flags: ∅
+ └── block: ∅
diff --git a/test/prism/snapshots/whitequark/args_assocs_legacy.txt b/test/prism/snapshots/whitequark/args_assocs_legacy.txt
index b136bbd322..fecf1b3663 100644
--- a/test/prism/snapshots/whitequark/args_assocs_legacy.txt
+++ b/test/prism/snapshots/whitequark/args_assocs_legacy.txt
@@ -4,6 +4,7 @@
@ StatementsNode (location: (1,0)-(11,17))
└── body: (length: 6)
├── @ CallNode (location: (1,0)-(1,14))
+ │ ├── flags: ∅
│ ├── receiver: ∅
│ ├── call_operator_loc: ∅
│ ├── name: :fun
@@ -11,25 +12,25 @@
│ ├── opening_loc: (1,3)-(1,4) = "("
│ ├── arguments:
│ │ @ ArgumentsNode (location: (1,4)-(1,13))
- │ │ ├── arguments: (length: 1)
- │ │ │ └── @ KeywordHashNode (location: (1,4)-(1,13))
- │ │ │ └── elements: (length: 1)
- │ │ │ └── @ AssocNode (location: (1,4)-(1,13))
- │ │ │ ├── key:
- │ │ │ │ @ SymbolNode (location: (1,4)-(1,8))
- │ │ │ │ ├── opening_loc: (1,4)-(1,5) = ":"
- │ │ │ │ ├── value_loc: (1,5)-(1,8) = "foo"
- │ │ │ │ ├── closing_loc: ∅
- │ │ │ │ └── unescaped: "foo"
- │ │ │ ├── value:
- │ │ │ │ @ IntegerNode (location: (1,12)-(1,13))
- │ │ │ │ └── flags: decimal
- │ │ │ └── operator_loc: (1,9)-(1,11) = "=>"
- │ │ └── flags: ∅
+ │ │ ├── flags: ∅
+ │ │ └── arguments: (length: 1)
+ │ │ └── @ KeywordHashNode (location: (1,4)-(1,13))
+ │ │ └── elements: (length: 1)
+ │ │ └── @ AssocNode (location: (1,4)-(1,13))
+ │ │ ├── key:
+ │ │ │ @ SymbolNode (location: (1,4)-(1,8))
+ │ │ │ ├── opening_loc: (1,4)-(1,5) = ":"
+ │ │ │ ├── value_loc: (1,5)-(1,8) = "foo"
+ │ │ │ ├── closing_loc: ∅
+ │ │ │ └── unescaped: "foo"
+ │ │ ├── value:
+ │ │ │ @ IntegerNode (location: (1,12)-(1,13))
+ │ │ │ └── flags: decimal
+ │ │ └── operator_loc: (1,9)-(1,11) = "=>"
│ ├── closing_loc: (1,13)-(1,14) = ")"
- │ ├── block: ∅
- │ └── flags: ∅
+ │ └── block: ∅
├── @ CallNode (location: (3,0)-(3,19))
+ │ ├── flags: ∅
│ ├── receiver: ∅
│ ├── call_operator_loc: ∅
│ ├── name: :fun
@@ -37,38 +38,38 @@
│ ├── opening_loc: (3,3)-(3,4) = "("
│ ├── arguments:
│ │ @ ArgumentsNode (location: (3,4)-(3,13))
- │ │ ├── arguments: (length: 1)
- │ │ │ └── @ KeywordHashNode (location: (3,4)-(3,13))
- │ │ │ └── elements: (length: 1)
- │ │ │ └── @ AssocNode (location: (3,4)-(3,13))
- │ │ │ ├── key:
- │ │ │ │ @ SymbolNode (location: (3,4)-(3,8))
- │ │ │ │ ├── opening_loc: (3,4)-(3,5) = ":"
- │ │ │ │ ├── value_loc: (3,5)-(3,8) = "foo"
- │ │ │ │ ├── closing_loc: ∅
- │ │ │ │ └── unescaped: "foo"
- │ │ │ ├── value:
- │ │ │ │ @ IntegerNode (location: (3,12)-(3,13))
- │ │ │ │ └── flags: decimal
- │ │ │ └── operator_loc: (3,9)-(3,11) = "=>"
- │ │ └── flags: ∅
+ │ │ ├── flags: ∅
+ │ │ └── arguments: (length: 1)
+ │ │ └── @ KeywordHashNode (location: (3,4)-(3,13))
+ │ │ └── elements: (length: 1)
+ │ │ └── @ AssocNode (location: (3,4)-(3,13))
+ │ │ ├── key:
+ │ │ │ @ SymbolNode (location: (3,4)-(3,8))
+ │ │ │ ├── opening_loc: (3,4)-(3,5) = ":"
+ │ │ │ ├── value_loc: (3,5)-(3,8) = "foo"
+ │ │ │ ├── closing_loc: ∅
+ │ │ │ └── unescaped: "foo"
+ │ │ ├── value:
+ │ │ │ @ IntegerNode (location: (3,12)-(3,13))
+ │ │ │ └── flags: decimal
+ │ │ └── operator_loc: (3,9)-(3,11) = "=>"
│ ├── closing_loc: (3,19)-(3,20) = ")"
- │ ├── block:
- │ │ @ BlockArgumentNode (location: (3,15)-(3,19))
- │ │ ├── expression:
- │ │ │ @ CallNode (location: (3,16)-(3,19))
- │ │ │ ├── receiver: ∅
- │ │ │ ├── call_operator_loc: ∅
- │ │ │ ├── name: :baz
- │ │ │ ├── message_loc: (3,16)-(3,19) = "baz"
- │ │ │ ├── opening_loc: ∅
- │ │ │ ├── arguments: ∅
- │ │ │ ├── closing_loc: ∅
- │ │ │ ├── block: ∅
- │ │ │ └── flags: variable_call
- │ │ └── operator_loc: (3,15)-(3,16) = "&"
- │ └── flags: ∅
+ │ └── block:
+ │ @ BlockArgumentNode (location: (3,15)-(3,19))
+ │ ├── expression:
+ │ │ @ CallNode (location: (3,16)-(3,19))
+ │ │ ├── flags: variable_call
+ │ │ ├── receiver: ∅
+ │ │ ├── call_operator_loc: ∅
+ │ │ ├── name: :baz
+ │ │ ├── message_loc: (3,16)-(3,19) = "baz"
+ │ │ ├── opening_loc: ∅
+ │ │ ├── arguments: ∅
+ │ │ ├── closing_loc: ∅
+ │ │ └── block: ∅
+ │ └── operator_loc: (3,15)-(3,16) = "&"
├── @ CallNode (location: (5,0)-(5,21))
+ │ ├── flags: ∅
│ ├── receiver:
│ │ @ SelfNode (location: (5,0)-(5,4))
│ ├── call_operator_loc: (5,4)-(5,5) = "."
@@ -77,35 +78,35 @@
│ ├── opening_loc: ∅
│ ├── arguments:
│ │ @ ArgumentsNode (location: (5,9)-(5,21))
- │ │ ├── arguments: (length: 2)
- │ │ │ ├── @ CallNode (location: (5,9)-(5,12))
- │ │ │ │ ├── receiver: ∅
- │ │ │ │ ├── call_operator_loc: ∅
- │ │ │ │ ├── name: :foo
- │ │ │ │ ├── message_loc: (5,9)-(5,12) = "foo"
- │ │ │ │ ├── opening_loc: ∅
- │ │ │ │ ├── arguments: ∅
- │ │ │ │ ├── closing_loc: ∅
- │ │ │ │ ├── block: ∅
- │ │ │ │ └── flags: variable_call
- │ │ │ └── @ KeywordHashNode (location: (5,14)-(5,21))
- │ │ │ └── elements: (length: 1)
- │ │ │ └── @ AssocNode (location: (5,14)-(5,21))
- │ │ │ ├── key:
- │ │ │ │ @ SymbolNode (location: (5,14)-(5,16))
- │ │ │ │ ├── opening_loc: (5,14)-(5,15) = ":"
- │ │ │ │ ├── value_loc: (5,15)-(5,16) = "a"
- │ │ │ │ ├── closing_loc: ∅
- │ │ │ │ └── unescaped: "a"
- │ │ │ ├── value:
- │ │ │ │ @ IntegerNode (location: (5,20)-(5,21))
- │ │ │ │ └── flags: decimal
- │ │ │ └── operator_loc: (5,17)-(5,19) = "=>"
- │ │ └── flags: ∅
+ │ │ ├── flags: ∅
+ │ │ └── arguments: (length: 2)
+ │ │ ├── @ CallNode (location: (5,9)-(5,12))
+ │ │ │ ├── flags: variable_call
+ │ │ │ ├── receiver: ∅
+ │ │ │ ├── call_operator_loc: ∅
+ │ │ │ ├── name: :foo
+ │ │ │ ├── message_loc: (5,9)-(5,12) = "foo"
+ │ │ │ ├── opening_loc: ∅
+ │ │ │ ├── arguments: ∅
+ │ │ │ ├── closing_loc: ∅
+ │ │ │ └── block: ∅
+ │ │ └── @ KeywordHashNode (location: (5,14)-(5,21))
+ │ │ └── elements: (length: 1)
+ │ │ └── @ AssocNode (location: (5,14)-(5,21))
+ │ │ ├── key:
+ │ │ │ @ SymbolNode (location: (5,14)-(5,16))
+ │ │ │ ├── opening_loc: (5,14)-(5,15) = ":"
+ │ │ │ ├── value_loc: (5,15)-(5,16) = "a"
+ │ │ │ ├── closing_loc: ∅
+ │ │ │ └── unescaped: "a"
+ │ │ ├── value:
+ │ │ │ @ IntegerNode (location: (5,20)-(5,21))
+ │ │ │ └── flags: decimal
+ │ │ └── operator_loc: (5,17)-(5,19) = "=>"
│ ├── closing_loc: ∅
- │ ├── block: ∅
- │ └── flags: ∅
+ │ └── block: ∅
├── @ CallNode (location: (7,0)-(7,15))
+ │ ├── flags: ∅
│ ├── receiver:
│ │ @ SelfNode (location: (7,0)-(7,4))
│ ├── call_operator_loc: ∅
@@ -114,44 +115,43 @@
│ ├── opening_loc: (7,4)-(7,5) = "["
│ ├── arguments:
│ │ @ ArgumentsNode (location: (7,5)-(7,14))
- │ │ ├── arguments: (length: 1)
- │ │ │ └── @ KeywordHashNode (location: (7,5)-(7,14))
- │ │ │ └── elements: (length: 1)
- │ │ │ └── @ AssocNode (location: (7,5)-(7,14))
- │ │ │ ├── key:
- │ │ │ │ @ SymbolNode (location: (7,5)-(7,9))
- │ │ │ │ ├── opening_loc: (7,5)-(7,6) = ":"
- │ │ │ │ ├── value_loc: (7,6)-(7,9) = "bar"
- │ │ │ │ ├── closing_loc: ∅
- │ │ │ │ └── unescaped: "bar"
- │ │ │ ├── value:
- │ │ │ │ @ IntegerNode (location: (7,13)-(7,14))
- │ │ │ │ └── flags: decimal
- │ │ │ └── operator_loc: (7,10)-(7,12) = "=>"
- │ │ └── flags: ∅
+ │ │ ├── flags: ∅
+ │ │ └── arguments: (length: 1)
+ │ │ └── @ KeywordHashNode (location: (7,5)-(7,14))
+ │ │ └── elements: (length: 1)
+ │ │ └── @ AssocNode (location: (7,5)-(7,14))
+ │ │ ├── key:
+ │ │ │ @ SymbolNode (location: (7,5)-(7,9))
+ │ │ │ ├── opening_loc: (7,5)-(7,6) = ":"
+ │ │ │ ├── value_loc: (7,6)-(7,9) = "bar"
+ │ │ │ ├── closing_loc: ∅
+ │ │ │ └── unescaped: "bar"
+ │ │ ├── value:
+ │ │ │ @ IntegerNode (location: (7,13)-(7,14))
+ │ │ │ └── flags: decimal
+ │ │ └── operator_loc: (7,10)-(7,12) = "=>"
│ ├── closing_loc: (7,14)-(7,15) = "]"
- │ ├── block: ∅
- │ └── flags: ∅
+ │ └── block: ∅
├── @ SuperNode (location: (9,0)-(9,17))
│ ├── keyword_loc: (9,0)-(9,5) = "super"
│ ├── lparen_loc: (9,5)-(9,6) = "("
│ ├── arguments:
│ │ @ ArgumentsNode (location: (9,6)-(9,16))
- │ │ ├── arguments: (length: 1)
- │ │ │ └── @ KeywordHashNode (location: (9,6)-(9,16))
- │ │ │ └── elements: (length: 1)
- │ │ │ └── @ AssocNode (location: (9,6)-(9,16))
- │ │ │ ├── key:
- │ │ │ │ @ SymbolNode (location: (9,6)-(9,10))
- │ │ │ │ ├── opening_loc: (9,6)-(9,7) = ":"
- │ │ │ │ ├── value_loc: (9,7)-(9,10) = "foo"
- │ │ │ │ ├── closing_loc: ∅
- │ │ │ │ └── unescaped: "foo"
- │ │ │ ├── value:
- │ │ │ │ @ IntegerNode (location: (9,14)-(9,16))
- │ │ │ │ └── flags: decimal
- │ │ │ └── operator_loc: (9,11)-(9,13) = "=>"
- │ │ └── flags: ∅
+ │ │ ├── flags: ∅
+ │ │ └── arguments: (length: 1)
+ │ │ └── @ KeywordHashNode (location: (9,6)-(9,16))
+ │ │ └── elements: (length: 1)
+ │ │ └── @ AssocNode (location: (9,6)-(9,16))
+ │ │ ├── key:
+ │ │ │ @ SymbolNode (location: (9,6)-(9,10))
+ │ │ │ ├── opening_loc: (9,6)-(9,7) = ":"
+ │ │ │ ├── value_loc: (9,7)-(9,10) = "foo"
+ │ │ │ ├── closing_loc: ∅
+ │ │ │ └── unescaped: "foo"
+ │ │ ├── value:
+ │ │ │ @ IntegerNode (location: (9,14)-(9,16))
+ │ │ │ └── flags: decimal
+ │ │ └── operator_loc: (9,11)-(9,13) = "=>"
│ ├── rparen_loc: (9,16)-(9,17) = ")"
│ └── block: ∅
└── @ YieldNode (location: (11,0)-(11,17))
@@ -159,19 +159,19 @@
├── lparen_loc: (11,5)-(11,6) = "("
├── arguments:
│ @ ArgumentsNode (location: (11,6)-(11,16))
- │ ├── arguments: (length: 1)
- │ │ └── @ KeywordHashNode (location: (11,6)-(11,16))
- │ │ └── elements: (length: 1)
- │ │ └── @ AssocNode (location: (11,6)-(11,16))
- │ │ ├── key:
- │ │ │ @ SymbolNode (location: (11,6)-(11,10))
- │ │ │ ├── opening_loc: (11,6)-(11,7) = ":"
- │ │ │ ├── value_loc: (11,7)-(11,10) = "foo"
- │ │ │ ├── closing_loc: ∅
- │ │ │ └── unescaped: "foo"
- │ │ ├── value:
- │ │ │ @ IntegerNode (location: (11,14)-(11,16))
- │ │ │ └── flags: decimal
- │ │ └── operator_loc: (11,11)-(11,13) = "=>"
- │ └── flags: ∅
+ │ ├── flags: ∅
+ │ └── arguments: (length: 1)
+ │ └── @ KeywordHashNode (location: (11,6)-(11,16))
+ │ └── elements: (length: 1)
+ │ └── @ AssocNode (location: (11,6)-(11,16))
+ │ ├── key:
+ │ │ @ SymbolNode (location: (11,6)-(11,10))
+ │ │ ├── opening_loc: (11,6)-(11,7) = ":"
+ │ │ ├── value_loc: (11,7)-(11,10) = "foo"
+ │ │ ├── closing_loc: ∅
+ │ │ └── unescaped: "foo"
+ │ ├── value:
+ │ │ @ IntegerNode (location: (11,14)-(11,16))
+ │ │ └── flags: decimal
+ │ └── operator_loc: (11,11)-(11,13) = "=>"
└── rparen_loc: (11,16)-(11,17) = ")"
diff --git a/test/prism/snapshots/whitequark/args_block_pass.txt b/test/prism/snapshots/whitequark/args_block_pass.txt
index b4c70862c1..84089ed92c 100644
--- a/test/prism/snapshots/whitequark/args_block_pass.txt
+++ b/test/prism/snapshots/whitequark/args_block_pass.txt
@@ -4,6 +4,7 @@
@ StatementsNode (location: (1,0)-(1,8))
└── body: (length: 1)
└── @ CallNode (location: (1,0)-(1,8))
+ ├── flags: ∅
├── receiver: ∅
├── call_operator_loc: ∅
├── name: :fun
@@ -11,18 +12,17 @@
├── opening_loc: (1,3)-(1,4) = "("
├── arguments: ∅
├── closing_loc: (1,8)-(1,9) = ")"
- ├── block:
- │ @ BlockArgumentNode (location: (1,4)-(1,8))
- │ ├── expression:
- │ │ @ CallNode (location: (1,5)-(1,8))
- │ │ ├── receiver: ∅
- │ │ ├── call_operator_loc: ∅
- │ │ ├── name: :bar
- │ │ ├── message_loc: (1,5)-(1,8) = "bar"
- │ │ ├── opening_loc: ∅
- │ │ ├── arguments: ∅
- │ │ ├── closing_loc: ∅
- │ │ ├── block: ∅
- │ │ └── flags: variable_call
- │ └── operator_loc: (1,4)-(1,5) = "&"
- └── flags: ∅
+ └── block:
+ @ BlockArgumentNode (location: (1,4)-(1,8))
+ ├── expression:
+ │ @ CallNode (location: (1,5)-(1,8))
+ │ ├── flags: variable_call
+ │ ├── receiver: ∅
+ │ ├── call_operator_loc: ∅
+ │ ├── name: :bar
+ │ ├── message_loc: (1,5)-(1,8) = "bar"
+ │ ├── opening_loc: ∅
+ │ ├── arguments: ∅
+ │ ├── closing_loc: ∅
+ │ └── block: ∅
+ └── operator_loc: (1,4)-(1,5) = "&"
diff --git a/test/prism/snapshots/whitequark/args_cmd.txt b/test/prism/snapshots/whitequark/args_cmd.txt
index eca8ff1ce8..f626fc686e 100644
--- a/test/prism/snapshots/whitequark/args_cmd.txt
+++ b/test/prism/snapshots/whitequark/args_cmd.txt
@@ -4,6 +4,7 @@
@ StatementsNode (location: (1,0)-(1,10))
└── body: (length: 1)
└── @ CallNode (location: (1,0)-(1,10))
+ ├── flags: ∅
├── receiver: ∅
├── call_operator_loc: ∅
├── name: :fun
@@ -11,31 +12,30 @@
├── opening_loc: (1,3)-(1,4) = "("
├── arguments:
│ @ ArgumentsNode (location: (1,4)-(1,9))
- │ ├── arguments: (length: 1)
- │ │ └── @ CallNode (location: (1,4)-(1,9))
- │ │ ├── receiver: ∅
- │ │ ├── call_operator_loc: ∅
- │ │ ├── name: :f
- │ │ ├── message_loc: (1,4)-(1,5) = "f"
- │ │ ├── opening_loc: ∅
- │ │ ├── arguments:
- │ │ │ @ ArgumentsNode (location: (1,6)-(1,9))
- │ │ │ ├── arguments: (length: 1)
- │ │ │ │ └── @ CallNode (location: (1,6)-(1,9))
- │ │ │ │ ├── receiver: ∅
- │ │ │ │ ├── call_operator_loc: ∅
- │ │ │ │ ├── name: :bar
- │ │ │ │ ├── message_loc: (1,6)-(1,9) = "bar"
- │ │ │ │ ├── opening_loc: ∅
- │ │ │ │ ├── arguments: ∅
- │ │ │ │ ├── closing_loc: ∅
- │ │ │ │ ├── block: ∅
- │ │ │ │ └── flags: variable_call
- │ │ │ └── flags: ∅
- │ │ ├── closing_loc: ∅
- │ │ ├── block: ∅
- │ │ └── flags: ∅
- │ └── flags: ∅
+ │ ├── flags: ∅
+ │ └── arguments: (length: 1)
+ │ └── @ CallNode (location: (1,4)-(1,9))
+ │ ├── flags: ∅
+ │ ├── receiver: ∅
+ │ ├── call_operator_loc: ∅
+ │ ├── name: :f
+ │ ├── message_loc: (1,4)-(1,5) = "f"
+ │ ├── opening_loc: ∅
+ │ ├── arguments:
+ │ │ @ ArgumentsNode (location: (1,6)-(1,9))
+ │ │ ├── flags: ∅
+ │ │ └── arguments: (length: 1)
+ │ │ └── @ CallNode (location: (1,6)-(1,9))
+ │ │ ├── flags: variable_call
+ │ │ ├── receiver: ∅
+ │ │ ├── call_operator_loc: ∅
+ │ │ ├── name: :bar
+ │ │ ├── message_loc: (1,6)-(1,9) = "bar"
+ │ │ ├── opening_loc: ∅
+ │ │ ├── arguments: ∅
+ │ │ ├── closing_loc: ∅
+ │ │ └── block: ∅
+ │ ├── closing_loc: ∅
+ │ └── block: ∅
├── closing_loc: (1,9)-(1,10) = ")"
- ├── block: ∅
- └── flags: ∅
+ └── block: ∅
diff --git a/test/prism/snapshots/whitequark/args_star.txt b/test/prism/snapshots/whitequark/args_star.txt
index 0715016d55..6cbc248ba2 100644
--- a/test/prism/snapshots/whitequark/args_star.txt
+++ b/test/prism/snapshots/whitequark/args_star.txt
@@ -4,6 +4,7 @@
@ StatementsNode (location: (1,0)-(3,14))
└── body: (length: 2)
├── @ CallNode (location: (1,0)-(1,9))
+ │ ├── flags: ∅
│ ├── receiver: ∅
│ ├── call_operator_loc: ∅
│ ├── name: :fun
@@ -11,25 +12,25 @@
│ ├── opening_loc: (1,3)-(1,4) = "("
│ ├── arguments:
│ │ @ ArgumentsNode (location: (1,4)-(1,8))
- │ │ ├── arguments: (length: 1)
- │ │ │ └── @ SplatNode (location: (1,4)-(1,8))
- │ │ │ ├── operator_loc: (1,4)-(1,5) = "*"
- │ │ │ └── expression:
- │ │ │ @ CallNode (location: (1,5)-(1,8))
- │ │ │ ├── receiver: ∅
- │ │ │ ├── call_operator_loc: ∅
- │ │ │ ├── name: :bar
- │ │ │ ├── message_loc: (1,5)-(1,8) = "bar"
- │ │ │ ├── opening_loc: ∅
- │ │ │ ├── arguments: ∅
- │ │ │ ├── closing_loc: ∅
- │ │ │ ├── block: ∅
- │ │ │ └── flags: variable_call
- │ │ └── flags: ∅
+ │ │ ├── flags: ∅
+ │ │ └── arguments: (length: 1)
+ │ │ └── @ SplatNode (location: (1,4)-(1,8))
+ │ │ ├── operator_loc: (1,4)-(1,5) = "*"
+ │ │ └── expression:
+ │ │ @ CallNode (location: (1,5)-(1,8))
+ │ │ ├── flags: variable_call
+ │ │ ├── receiver: ∅
+ │ │ ├── call_operator_loc: ∅
+ │ │ ├── name: :bar
+ │ │ ├── message_loc: (1,5)-(1,8) = "bar"
+ │ │ ├── opening_loc: ∅
+ │ │ ├── arguments: ∅
+ │ │ ├── closing_loc: ∅
+ │ │ └── block: ∅
│ ├── closing_loc: (1,8)-(1,9) = ")"
- │ ├── block: ∅
- │ └── flags: ∅
+ │ └── block: ∅
└── @ CallNode (location: (3,0)-(3,14))
+ ├── flags: ∅
├── receiver: ∅
├── call_operator_loc: ∅
├── name: :fun
@@ -37,34 +38,33 @@
├── opening_loc: (3,3)-(3,4) = "("
├── arguments:
│ @ ArgumentsNode (location: (3,4)-(3,8))
- │ ├── arguments: (length: 1)
- │ │ └── @ SplatNode (location: (3,4)-(3,8))
- │ │ ├── operator_loc: (3,4)-(3,5) = "*"
- │ │ └── expression:
- │ │ @ CallNode (location: (3,5)-(3,8))
- │ │ ├── receiver: ∅
- │ │ ├── call_operator_loc: ∅
- │ │ ├── name: :bar
- │ │ ├── message_loc: (3,5)-(3,8) = "bar"
- │ │ ├── opening_loc: ∅
- │ │ ├── arguments: ∅
- │ │ ├── closing_loc: ∅
- │ │ ├── block: ∅
- │ │ └── flags: variable_call
- │ └── flags: ∅
+ │ ├── flags: ∅
+ │ └── arguments: (length: 1)
+ │ └── @ SplatNode (location: (3,4)-(3,8))
+ │ ├── operator_loc: (3,4)-(3,5) = "*"
+ │ └── expression:
+ │ @ CallNode (location: (3,5)-(3,8))
+ │ ├── flags: variable_call
+ │ ├── receiver: ∅
+ │ ├── call_operator_loc: ∅
+ │ ├── name: :bar
+ │ ├── message_loc: (3,5)-(3,8) = "bar"
+ │ ├── opening_loc: ∅
+ │ ├── arguments: ∅
+ │ ├── closing_loc: ∅
+ │ └── block: ∅
├── closing_loc: (3,14)-(3,15) = ")"
- ├── block:
- │ @ BlockArgumentNode (location: (3,10)-(3,14))
- │ ├── expression:
- │ │ @ CallNode (location: (3,11)-(3,14))
- │ │ ├── receiver: ∅
- │ │ ├── call_operator_loc: ∅
- │ │ ├── name: :baz
- │ │ ├── message_loc: (3,11)-(3,14) = "baz"
- │ │ ├── opening_loc: ∅
- │ │ ├── arguments: ∅
- │ │ ├── closing_loc: ∅
- │ │ ├── block: ∅
- │ │ └── flags: variable_call
- │ └── operator_loc: (3,10)-(3,11) = "&"
- └── flags: ∅
+ └── block:
+ @ BlockArgumentNode (location: (3,10)-(3,14))
+ ├── expression:
+ │ @ CallNode (location: (3,11)-(3,14))
+ │ ├── flags: variable_call
+ │ ├── receiver: ∅
+ │ ├── call_operator_loc: ∅
+ │ ├── name: :baz
+ │ ├── message_loc: (3,11)-(3,14) = "baz"
+ │ ├── opening_loc: ∅
+ │ ├── arguments: ∅
+ │ ├── closing_loc: ∅
+ │ └── block: ∅
+ └── operator_loc: (3,10)-(3,11) = "&"
diff --git a/test/prism/snapshots/whitequark/array_assocs.txt b/test/prism/snapshots/whitequark/array_assocs.txt
index 3fa036d7a2..0ddd0451ee 100644
--- a/test/prism/snapshots/whitequark/array_assocs.txt
+++ b/test/prism/snapshots/whitequark/array_assocs.txt
@@ -4,6 +4,7 @@
@ StatementsNode (location: (1,0)-(3,13))
└── body: (length: 2)
├── @ ArrayNode (location: (1,0)-(1,10))
+ │ ├── flags: ∅
│ ├── elements: (length: 1)
│ │ └── @ KeywordHashNode (location: (1,2)-(1,8))
│ │ └── elements: (length: 1)
@@ -16,9 +17,9 @@
│ │ │ └── flags: decimal
│ │ └── operator_loc: (1,4)-(1,6) = "=>"
│ ├── opening_loc: (1,0)-(1,1) = "["
- │ ├── closing_loc: (1,9)-(1,10) = "]"
- │ └── flags: ∅
+ │ └── closing_loc: (1,9)-(1,10) = "]"
└── @ ArrayNode (location: (3,0)-(3,13))
+ ├── flags: ∅
├── elements: (length: 2)
│ ├── @ IntegerNode (location: (3,2)-(3,3))
│ │ └── flags: decimal
@@ -33,5 +34,4 @@
│ │ └── flags: decimal
│ └── operator_loc: (3,7)-(3,9) = "=>"
├── opening_loc: (3,0)-(3,1) = "["
- ├── closing_loc: (3,12)-(3,13) = "]"
- └── flags: ∅
+ └── closing_loc: (3,12)-(3,13) = "]"
diff --git a/test/prism/snapshots/whitequark/array_plain.txt b/test/prism/snapshots/whitequark/array_plain.txt
index 631f1862f7..17dd4a2137 100644
--- a/test/prism/snapshots/whitequark/array_plain.txt
+++ b/test/prism/snapshots/whitequark/array_plain.txt
@@ -4,11 +4,11 @@
@ StatementsNode (location: (1,0)-(1,6))
└── body: (length: 1)
└── @ ArrayNode (location: (1,0)-(1,6))
+ ├── flags: ∅
├── elements: (length: 2)
│ ├── @ IntegerNode (location: (1,1)-(1,2))
│ │ └── flags: decimal
│ └── @ IntegerNode (location: (1,4)-(1,5))
│ └── flags: decimal
├── opening_loc: (1,0)-(1,1) = "["
- ├── closing_loc: (1,5)-(1,6) = "]"
- └── flags: ∅
+ └── closing_loc: (1,5)-(1,6) = "]"
diff --git a/test/prism/snapshots/whitequark/array_splat.txt b/test/prism/snapshots/whitequark/array_splat.txt
index f0e14838e4..3e6c8a6efe 100644
--- a/test/prism/snapshots/whitequark/array_splat.txt
+++ b/test/prism/snapshots/whitequark/array_splat.txt
@@ -4,11 +4,13 @@
@ StatementsNode (location: (1,0)-(5,9))
└── body: (length: 3)
├── @ ArrayNode (location: (1,0)-(1,6))
+ │ ├── flags: contains_splat
│ ├── elements: (length: 1)
│ │ └── @ SplatNode (location: (1,1)-(1,5))
│ │ ├── operator_loc: (1,1)-(1,2) = "*"
│ │ └── expression:
│ │ @ CallNode (location: (1,2)-(1,5))
+ │ │ ├── flags: variable_call
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
│ │ ├── name: :foo
@@ -16,12 +18,11 @@
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
- │ │ ├── block: ∅
- │ │ └── flags: variable_call
+ │ │ └── block: ∅
│ ├── opening_loc: (1,0)-(1,1) = "["
- │ ├── closing_loc: (1,5)-(1,6) = "]"
- │ └── flags: contains_splat
+ │ └── closing_loc: (1,5)-(1,6) = "]"
├── @ ArrayNode (location: (3,0)-(3,12))
+ │ ├── flags: contains_splat
│ ├── elements: (length: 3)
│ │ ├── @ IntegerNode (location: (3,1)-(3,2))
│ │ │ └── flags: decimal
@@ -29,6 +30,7 @@
│ │ │ ├── operator_loc: (3,4)-(3,5) = "*"
│ │ │ └── expression:
│ │ │ @ CallNode (location: (3,5)-(3,8))
+ │ │ │ ├── flags: variable_call
│ │ │ ├── receiver: ∅
│ │ │ ├── call_operator_loc: ∅
│ │ │ ├── name: :foo
@@ -36,14 +38,13 @@
│ │ │ ├── opening_loc: ∅
│ │ │ ├── arguments: ∅
│ │ │ ├── closing_loc: ∅
- │ │ │ ├── block: ∅
- │ │ │ └── flags: variable_call
+ │ │ │ └── block: ∅
│ │ └── @ IntegerNode (location: (3,10)-(3,11))
│ │ └── flags: decimal
│ ├── opening_loc: (3,0)-(3,1) = "["
- │ ├── closing_loc: (3,11)-(3,12) = "]"
- │ └── flags: contains_splat
+ │ └── closing_loc: (3,11)-(3,12) = "]"
└── @ ArrayNode (location: (5,0)-(5,9))
+ ├── flags: contains_splat
├── elements: (length: 2)
│ ├── @ IntegerNode (location: (5,1)-(5,2))
│ │ └── flags: decimal
@@ -51,6 +52,7 @@
│ ├── operator_loc: (5,4)-(5,5) = "*"
│ └── expression:
│ @ CallNode (location: (5,5)-(5,8))
+ │ ├── flags: variable_call
│ ├── receiver: ∅
│ ├── call_operator_loc: ∅
│ ├── name: :foo
@@ -58,8 +60,6 @@
│ ├── opening_loc: ∅
│ ├── arguments: ∅
│ ├── closing_loc: ∅
- │ ├── block: ∅
- │ └── flags: variable_call
+ │ └── block: ∅
├── opening_loc: (5,0)-(5,1) = "["
- ├── closing_loc: (5,8)-(5,9) = "]"
- └── flags: contains_splat
+ └── closing_loc: (5,8)-(5,9) = "]"
diff --git a/test/prism/snapshots/whitequark/array_symbols.txt b/test/prism/snapshots/whitequark/array_symbols.txt
index a2a3d284be..dd80fe11dc 100644
--- a/test/prism/snapshots/whitequark/array_symbols.txt
+++ b/test/prism/snapshots/whitequark/array_symbols.txt
@@ -4,6 +4,7 @@
@ StatementsNode (location: (1,0)-(1,11))
└── body: (length: 1)
└── @ ArrayNode (location: (1,0)-(1,11))
+ ├── flags: ∅
├── elements: (length: 2)
│ ├── @ SymbolNode (location: (1,3)-(1,6))
│ │ ├── opening_loc: ∅
@@ -16,5 +17,4 @@
│ ├── closing_loc: ∅
│ └── unescaped: "bar"
├── opening_loc: (1,0)-(1,3) = "%i["
- ├── closing_loc: (1,10)-(1,11) = "]"
- └── flags: ∅
+ └── closing_loc: (1,10)-(1,11) = "]"
diff --git a/test/prism/snapshots/whitequark/array_symbols_empty.txt b/test/prism/snapshots/whitequark/array_symbols_empty.txt
index 13c78b5497..1068ba6d0e 100644
--- a/test/prism/snapshots/whitequark/array_symbols_empty.txt
+++ b/test/prism/snapshots/whitequark/array_symbols_empty.txt
@@ -4,12 +4,12 @@
@ StatementsNode (location: (1,0)-(3,4))
└── body: (length: 2)
├── @ ArrayNode (location: (1,0)-(1,4))
+ │ ├── flags: ∅
│ ├── elements: (length: 0)
│ ├── opening_loc: (1,0)-(1,3) = "%I("
- │ ├── closing_loc: (1,3)-(1,4) = ")"
- │ └── flags: ∅
+ │ └── closing_loc: (1,3)-(1,4) = ")"
└── @ ArrayNode (location: (3,0)-(3,4))
+ ├── flags: ∅
├── elements: (length: 0)
├── opening_loc: (3,0)-(3,3) = "%i["
- ├── closing_loc: (3,3)-(3,4) = "]"
- └── flags: ∅
+ └── closing_loc: (3,3)-(3,4) = "]"
diff --git a/test/prism/snapshots/whitequark/array_symbols_interp.txt b/test/prism/snapshots/whitequark/array_symbols_interp.txt
index 433e78de7f..a36920ba06 100644
--- a/test/prism/snapshots/whitequark/array_symbols_interp.txt
+++ b/test/prism/snapshots/whitequark/array_symbols_interp.txt
@@ -4,6 +4,7 @@
@ StatementsNode (location: (1,0)-(3,13))
└── body: (length: 2)
├── @ ArrayNode (location: (1,0)-(1,14))
+ │ ├── flags: ∅
│ ├── elements: (length: 2)
│ │ ├── @ SymbolNode (location: (1,3)-(1,6))
│ │ │ ├── opening_loc: ∅
@@ -19,6 +20,7 @@
│ │ │ │ @ StatementsNode (location: (1,9)-(1,12))
│ │ │ │ └── body: (length: 1)
│ │ │ │ └── @ CallNode (location: (1,9)-(1,12))
+ │ │ │ │ ├── flags: variable_call
│ │ │ │ ├── receiver: ∅
│ │ │ │ ├── call_operator_loc: ∅
│ │ │ │ ├── name: :bar
@@ -26,14 +28,13 @@
│ │ │ │ ├── opening_loc: ∅
│ │ │ │ ├── arguments: ∅
│ │ │ │ ├── closing_loc: ∅
- │ │ │ │ ├── block: ∅
- │ │ │ │ └── flags: variable_call
+ │ │ │ │ └── block: ∅
│ │ │ └── closing_loc: (1,12)-(1,13) = "}"
│ │ └── closing_loc: ∅
│ ├── opening_loc: (1,0)-(1,3) = "%I["
- │ ├── closing_loc: (1,13)-(1,14) = "]"
- │ └── flags: ∅
+ │ └── closing_loc: (1,13)-(1,14) = "]"
└── @ ArrayNode (location: (3,0)-(3,13))
+ ├── flags: ∅
├── elements: (length: 1)
│ └── @ InterpolatedSymbolNode (location: (3,3)-(3,12))
│ ├── opening_loc: ∅
@@ -50,6 +51,7 @@
│ │ │ @ StatementsNode (location: (3,8)-(3,11))
│ │ │ └── body: (length: 1)
│ │ │ └── @ CallNode (location: (3,8)-(3,11))
+ │ │ │ ├── flags: variable_call
│ │ │ ├── receiver: ∅
│ │ │ ├── call_operator_loc: ∅
│ │ │ ├── name: :bar
@@ -57,10 +59,8 @@
│ │ │ ├── opening_loc: ∅
│ │ │ ├── arguments: ∅
│ │ │ ├── closing_loc: ∅
- │ │ │ ├── block: ∅
- │ │ │ └── flags: variable_call
+ │ │ │ └── block: ∅
│ │ └── closing_loc: (3,11)-(3,12) = "}"
│ └── closing_loc: ∅
├── opening_loc: (3,0)-(3,3) = "%I["
- ├── closing_loc: (3,12)-(3,13) = "]"
- └── flags: ∅
+ └── closing_loc: (3,12)-(3,13) = "]"
diff --git a/test/prism/snapshots/whitequark/array_words.txt b/test/prism/snapshots/whitequark/array_words.txt
index 6a5cbf0772..84121de355 100644
--- a/test/prism/snapshots/whitequark/array_words.txt
+++ b/test/prism/snapshots/whitequark/array_words.txt
@@ -4,6 +4,7 @@
@ StatementsNode (location: (1,0)-(1,11))
└── body: (length: 1)
└── @ ArrayNode (location: (1,0)-(1,11))
+ ├── flags: ∅
├── elements: (length: 2)
│ ├── @ StringNode (location: (1,3)-(1,6))
│ │ ├── flags: ∅
@@ -18,5 +19,4 @@
│ ├── closing_loc: ∅
│ └── unescaped: "bar"
├── opening_loc: (1,0)-(1,3) = "%w["
- ├── closing_loc: (1,10)-(1,11) = "]"
- └── flags: ∅
+ └── closing_loc: (1,10)-(1,11) = "]"
diff --git a/test/prism/snapshots/whitequark/array_words_empty.txt b/test/prism/snapshots/whitequark/array_words_empty.txt
index f24f8508ea..e4dba94cdf 100644
--- a/test/prism/snapshots/whitequark/array_words_empty.txt
+++ b/test/prism/snapshots/whitequark/array_words_empty.txt
@@ -4,12 +4,12 @@
@ StatementsNode (location: (1,0)-(3,4))
└── body: (length: 2)
├── @ ArrayNode (location: (1,0)-(1,4))
+ │ ├── flags: ∅
│ ├── elements: (length: 0)
│ ├── opening_loc: (1,0)-(1,3) = "%W("
- │ ├── closing_loc: (1,3)-(1,4) = ")"
- │ └── flags: ∅
+ │ └── closing_loc: (1,3)-(1,4) = ")"
└── @ ArrayNode (location: (3,0)-(3,4))
+ ├── flags: ∅
├── elements: (length: 0)
├── opening_loc: (3,0)-(3,3) = "%w["
- ├── closing_loc: (3,3)-(3,4) = "]"
- └── flags: ∅
+ └── closing_loc: (3,3)-(3,4) = "]"
diff --git a/test/prism/snapshots/whitequark/array_words_interp.txt b/test/prism/snapshots/whitequark/array_words_interp.txt
index ff3bb3d0ed..3e9e0eaaaa 100644
--- a/test/prism/snapshots/whitequark/array_words_interp.txt
+++ b/test/prism/snapshots/whitequark/array_words_interp.txt
@@ -4,6 +4,7 @@
@ StatementsNode (location: (1,0)-(3,22))
└── body: (length: 2)
├── @ ArrayNode (location: (1,0)-(1,14))
+ │ ├── flags: ∅
│ ├── elements: (length: 2)
│ │ ├── @ StringNode (location: (1,3)-(1,6))
│ │ │ ├── flags: ∅
@@ -20,6 +21,7 @@
│ │ │ │ @ StatementsNode (location: (1,9)-(1,12))
│ │ │ │ └── body: (length: 1)
│ │ │ │ └── @ CallNode (location: (1,9)-(1,12))
+ │ │ │ │ ├── flags: variable_call
│ │ │ │ ├── receiver: ∅
│ │ │ │ ├── call_operator_loc: ∅
│ │ │ │ ├── name: :bar
@@ -27,14 +29,13 @@
│ │ │ │ ├── opening_loc: ∅
│ │ │ │ ├── arguments: ∅
│ │ │ │ ├── closing_loc: ∅
- │ │ │ │ ├── block: ∅
- │ │ │ │ └── flags: variable_call
+ │ │ │ │ └── block: ∅
│ │ │ └── closing_loc: (1,12)-(1,13) = "}"
│ │ └── closing_loc: ∅
│ ├── opening_loc: (1,0)-(1,3) = "%W["
- │ ├── closing_loc: (1,13)-(1,14) = "]"
- │ └── flags: ∅
+ │ └── closing_loc: (1,13)-(1,14) = "]"
└── @ ArrayNode (location: (3,0)-(3,22))
+ ├── flags: ∅
├── elements: (length: 2)
│ ├── @ StringNode (location: (3,3)-(3,6))
│ │ ├── flags: ∅
@@ -51,6 +52,7 @@
│ │ │ │ @ StatementsNode (location: (3,9)-(3,12))
│ │ │ │ └── body: (length: 1)
│ │ │ │ └── @ CallNode (location: (3,9)-(3,12))
+ │ │ │ │ ├── flags: variable_call
│ │ │ │ ├── receiver: ∅
│ │ │ │ ├── call_operator_loc: ∅
│ │ │ │ ├── name: :bar
@@ -58,8 +60,7 @@
│ │ │ │ ├── opening_loc: ∅
│ │ │ │ ├── arguments: ∅
│ │ │ │ ├── closing_loc: ∅
- │ │ │ │ ├── block: ∅
- │ │ │ │ └── flags: variable_call
+ │ │ │ │ └── block: ∅
│ │ │ └── closing_loc: (3,12)-(3,13) = "}"
│ │ ├── @ StringNode (location: (3,13)-(3,16))
│ │ │ ├── flags: ∅
@@ -74,5 +75,4 @@
│ │ └── name: :@baz
│ └── closing_loc: ∅
├── opening_loc: (3,0)-(3,3) = "%W["
- ├── closing_loc: (3,21)-(3,22) = "]"
- └── flags: ∅
+ └── closing_loc: (3,21)-(3,22) = "]"
diff --git a/test/prism/snapshots/whitequark/asgn_cmd.txt b/test/prism/snapshots/whitequark/asgn_cmd.txt
index 79dc064bb8..ee13da76c0 100644
--- a/test/prism/snapshots/whitequark/asgn_cmd.txt
+++ b/test/prism/snapshots/whitequark/asgn_cmd.txt
@@ -14,6 +14,7 @@
│ │ ├── name_loc: (1,6)-(1,9) = "bar"
│ │ ├── value:
│ │ │ @ CallNode (location: (1,12)-(1,17))
+ │ │ │ ├── flags: ∅
│ │ │ ├── receiver: ∅
│ │ │ ├── call_operator_loc: ∅
│ │ │ ├── name: :m
@@ -21,14 +22,13 @@
│ │ │ ├── opening_loc: ∅
│ │ │ ├── arguments:
│ │ │ │ @ ArgumentsNode (location: (1,14)-(1,17))
- │ │ │ │ ├── arguments: (length: 1)
- │ │ │ │ │ └── @ LocalVariableReadNode (location: (1,14)-(1,17))
- │ │ │ │ │ ├── name: :foo
- │ │ │ │ │ └── depth: 0
- │ │ │ │ └── flags: ∅
+ │ │ │ │ ├── flags: ∅
+ │ │ │ │ └── arguments: (length: 1)
+ │ │ │ │ └── @ LocalVariableReadNode (location: (1,14)-(1,17))
+ │ │ │ │ ├── name: :foo
+ │ │ │ │ └── depth: 0
│ │ │ ├── closing_loc: ∅
- │ │ │ ├── block: ∅
- │ │ │ └── flags: ∅
+ │ │ │ └── block: ∅
│ │ └── operator_loc: (1,10)-(1,11) = "="
│ └── operator_loc: (1,4)-(1,5) = "="
└── @ LocalVariableWriteNode (location: (3,0)-(3,11))
@@ -37,6 +37,7 @@
├── name_loc: (3,0)-(3,3) = "foo"
├── value:
│ @ CallNode (location: (3,6)-(3,11))
+ │ ├── flags: ∅
│ ├── receiver: ∅
│ ├── call_operator_loc: ∅
│ ├── name: :m
@@ -44,12 +45,11 @@
│ ├── opening_loc: ∅
│ ├── arguments:
│ │ @ ArgumentsNode (location: (3,8)-(3,11))
- │ │ ├── arguments: (length: 1)
- │ │ │ └── @ LocalVariableReadNode (location: (3,8)-(3,11))
- │ │ │ ├── name: :foo
- │ │ │ └── depth: 0
- │ │ └── flags: ∅
+ │ │ ├── flags: ∅
+ │ │ └── arguments: (length: 1)
+ │ │ └── @ LocalVariableReadNode (location: (3,8)-(3,11))
+ │ │ ├── name: :foo
+ │ │ └── depth: 0
│ ├── closing_loc: ∅
- │ ├── block: ∅
- │ └── flags: ∅
+ │ └── block: ∅
└── operator_loc: (3,4)-(3,5) = "="
diff --git a/test/prism/snapshots/whitequark/asgn_mrhs.txt b/test/prism/snapshots/whitequark/asgn_mrhs.txt
index 869a2d0626..11caa62274 100644
--- a/test/prism/snapshots/whitequark/asgn_mrhs.txt
+++ b/test/prism/snapshots/whitequark/asgn_mrhs.txt
@@ -9,11 +9,13 @@
│ ├── name_loc: (1,0)-(1,3) = "foo"
│ ├── value:
│ │ @ ArrayNode (location: (1,6)-(1,10))
+ │ │ ├── flags: contains_splat
│ │ ├── elements: (length: 1)
│ │ │ └── @ SplatNode (location: (1,6)-(1,10))
│ │ │ ├── operator_loc: (1,6)-(1,7) = "*"
│ │ │ └── expression:
│ │ │ @ CallNode (location: (1,7)-(1,10))
+ │ │ │ ├── flags: variable_call
│ │ │ ├── receiver: ∅
│ │ │ ├── call_operator_loc: ∅
│ │ │ ├── name: :bar
@@ -21,11 +23,9 @@
│ │ │ ├── opening_loc: ∅
│ │ │ ├── arguments: ∅
│ │ │ ├── closing_loc: ∅
- │ │ │ ├── block: ∅
- │ │ │ └── flags: variable_call
+ │ │ │ └── block: ∅
│ │ ├── opening_loc: ∅
- │ │ ├── closing_loc: ∅
- │ │ └── flags: contains_splat
+ │ │ └── closing_loc: ∅
│ └── operator_loc: (1,4)-(1,5) = "="
├── @ LocalVariableWriteNode (location: (3,0)-(3,12))
│ ├── name: :foo
@@ -33,8 +33,10 @@
│ ├── name_loc: (3,0)-(3,3) = "foo"
│ ├── value:
│ │ @ ArrayNode (location: (3,6)-(3,12))
+ │ │ ├── flags: ∅
│ │ ├── elements: (length: 2)
│ │ │ ├── @ CallNode (location: (3,6)-(3,9))
+ │ │ │ │ ├── flags: variable_call
│ │ │ │ ├── receiver: ∅
│ │ │ │ ├── call_operator_loc: ∅
│ │ │ │ ├── name: :bar
@@ -42,13 +44,11 @@
│ │ │ │ ├── opening_loc: ∅
│ │ │ │ ├── arguments: ∅
│ │ │ │ ├── closing_loc: ∅
- │ │ │ │ ├── block: ∅
- │ │ │ │ └── flags: variable_call
+ │ │ │ │ └── block: ∅
│ │ │ └── @ IntegerNode (location: (3,11)-(3,12))
│ │ │ └── flags: decimal
│ │ ├── opening_loc: ∅
- │ │ ├── closing_loc: ∅
- │ │ └── flags: ∅
+ │ │ └── closing_loc: ∅
│ └── operator_loc: (3,4)-(3,5) = "="
└── @ LocalVariableWriteNode (location: (5,0)-(5,15))
├── name: :foo
@@ -56,8 +56,10 @@
├── name_loc: (5,0)-(5,3) = "foo"
├── value:
│ @ ArrayNode (location: (5,6)-(5,15))
+ │ ├── flags: contains_splat
│ ├── elements: (length: 2)
│ │ ├── @ CallNode (location: (5,6)-(5,9))
+ │ │ │ ├── flags: variable_call
│ │ │ ├── receiver: ∅
│ │ │ ├── call_operator_loc: ∅
│ │ │ ├── name: :baz
@@ -65,12 +67,12 @@
│ │ │ ├── opening_loc: ∅
│ │ │ ├── arguments: ∅
│ │ │ ├── closing_loc: ∅
- │ │ │ ├── block: ∅
- │ │ │ └── flags: variable_call
+ │ │ │ └── block: ∅
│ │ └── @ SplatNode (location: (5,11)-(5,15))
│ │ ├── operator_loc: (5,11)-(5,12) = "*"
│ │ └── expression:
│ │ @ CallNode (location: (5,12)-(5,15))
+ │ │ ├── flags: variable_call
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
│ │ ├── name: :bar
@@ -78,9 +80,7 @@
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
- │ │ ├── block: ∅
- │ │ └── flags: variable_call
+ │ │ └── block: ∅
│ ├── opening_loc: ∅
- │ ├── closing_loc: ∅
- │ └── flags: contains_splat
+ │ └── closing_loc: ∅
└── operator_loc: (5,4)-(5,5) = "="
diff --git a/test/prism/snapshots/whitequark/bang.txt b/test/prism/snapshots/whitequark/bang.txt
index 0638e48e46..843d0edea4 100644
--- a/test/prism/snapshots/whitequark/bang.txt
+++ b/test/prism/snapshots/whitequark/bang.txt
@@ -4,8 +4,10 @@
@ StatementsNode (location: (1,0)-(1,4))
└── body: (length: 1)
└── @ CallNode (location: (1,0)-(1,4))
+ ├── flags: ∅
├── receiver:
│ @ CallNode (location: (1,1)-(1,4))
+ │ ├── flags: variable_call
│ ├── receiver: ∅
│ ├── call_operator_loc: ∅
│ ├── name: :foo
@@ -13,13 +15,11 @@
│ ├── opening_loc: ∅
│ ├── arguments: ∅
│ ├── closing_loc: ∅
- │ ├── block: ∅
- │ └── flags: variable_call
+ │ └── block: ∅
├── call_operator_loc: ∅
├── name: :!
├── message_loc: (1,0)-(1,1) = "!"
├── opening_loc: ∅
├── arguments: ∅
├── closing_loc: ∅
- ├── block: ∅
- └── flags: ∅
+ └── block: ∅
diff --git a/test/prism/snapshots/whitequark/bang_cmd.txt b/test/prism/snapshots/whitequark/bang_cmd.txt
index df6f18ae81..83f70c6c2b 100644
--- a/test/prism/snapshots/whitequark/bang_cmd.txt
+++ b/test/prism/snapshots/whitequark/bang_cmd.txt
@@ -4,8 +4,10 @@
@ StatementsNode (location: (1,0)-(1,6))
└── body: (length: 1)
└── @ CallNode (location: (1,0)-(1,6))
+ ├── flags: ∅
├── receiver:
│ @ CallNode (location: (1,1)-(1,6))
+ │ ├── flags: ∅
│ ├── receiver: ∅
│ ├── call_operator_loc: ∅
│ ├── name: :m
@@ -13,26 +15,24 @@
│ ├── opening_loc: ∅
│ ├── arguments:
│ │ @ ArgumentsNode (location: (1,3)-(1,6))
- │ │ ├── arguments: (length: 1)
- │ │ │ └── @ CallNode (location: (1,3)-(1,6))
- │ │ │ ├── receiver: ∅
- │ │ │ ├── call_operator_loc: ∅
- │ │ │ ├── name: :foo
- │ │ │ ├── message_loc: (1,3)-(1,6) = "foo"
- │ │ │ ├── opening_loc: ∅
- │ │ │ ├── arguments: ∅
- │ │ │ ├── closing_loc: ∅
- │ │ │ ├── block: ∅
- │ │ │ └── flags: variable_call
- │ │ └── flags: ∅
+ │ │ ├── flags: ∅
+ │ │ └── arguments: (length: 1)
+ │ │ └── @ CallNode (location: (1,3)-(1,6))
+ │ │ ├── flags: variable_call
+ │ │ ├── receiver: ∅
+ │ │ ├── call_operator_loc: ∅
+ │ │ ├── name: :foo
+ │ │ ├── message_loc: (1,3)-(1,6) = "foo"
+ │ │ ├── opening_loc: ∅
+ │ │ ├── arguments: ∅
+ │ │ ├── closing_loc: ∅
+ │ │ └── block: ∅
│ ├── closing_loc: ∅
- │ ├── block: ∅
- │ └── flags: ∅
+ │ └── block: ∅
├── call_operator_loc: ∅
├── name: :!
├── message_loc: (1,0)-(1,1) = "!"
├── opening_loc: ∅
├── arguments: ∅
├── closing_loc: ∅
- ├── block: ∅
- └── flags: ∅
+ └── block: ∅
diff --git a/test/prism/snapshots/whitequark/begin_cmdarg.txt b/test/prism/snapshots/whitequark/begin_cmdarg.txt
index 1794cad2b7..26045f1caa 100644
--- a/test/prism/snapshots/whitequark/begin_cmdarg.txt
+++ b/test/prism/snapshots/whitequark/begin_cmdarg.txt
@@ -4,6 +4,7 @@
@ StatementsNode (location: (1,0)-(1,28))
└── body: (length: 1)
└── @ CallNode (location: (1,0)-(1,28))
+ ├── flags: ∅
├── receiver: ∅
├── call_operator_loc: ∅
├── name: :p
@@ -11,40 +12,39 @@
├── opening_loc: ∅
├── arguments:
│ @ ArgumentsNode (location: (1,2)-(1,28))
- │ ├── arguments: (length: 1)
- │ │ └── @ BeginNode (location: (1,2)-(1,28))
- │ │ ├── begin_keyword_loc: (1,2)-(1,7) = "begin"
- │ │ ├── statements:
- │ │ │ @ StatementsNode (location: (1,8)-(1,24))
- │ │ │ └── body: (length: 1)
- │ │ │ └── @ CallNode (location: (1,8)-(1,24))
- │ │ │ ├── receiver:
- │ │ │ │ @ IntegerNode (location: (1,8)-(1,9))
- │ │ │ │ └── flags: decimal
- │ │ │ ├── call_operator_loc: (1,9)-(1,10) = "."
- │ │ │ ├── name: :times
- │ │ │ ├── message_loc: (1,10)-(1,15) = "times"
- │ │ │ ├── opening_loc: ∅
- │ │ │ ├── arguments: ∅
- │ │ │ ├── closing_loc: ∅
- │ │ │ ├── block:
- │ │ │ │ @ BlockNode (location: (1,16)-(1,24))
- │ │ │ │ ├── locals: []
- │ │ │ │ ├── locals_body_index: 0
- │ │ │ │ ├── parameters: ∅
- │ │ │ │ ├── body:
- │ │ │ │ │ @ StatementsNode (location: (1,19)-(1,20))
- │ │ │ │ │ └── body: (length: 1)
- │ │ │ │ │ └── @ IntegerNode (location: (1,19)-(1,20))
- │ │ │ │ │ └── flags: decimal
- │ │ │ │ ├── opening_loc: (1,16)-(1,18) = "do"
- │ │ │ │ └── closing_loc: (1,21)-(1,24) = "end"
- │ │ │ └── flags: ∅
- │ │ ├── rescue_clause: ∅
- │ │ ├── else_clause: ∅
- │ │ ├── ensure_clause: ∅
- │ │ └── end_keyword_loc: (1,25)-(1,28) = "end"
- │ └── flags: ∅
+ │ ├── flags: ∅
+ │ └── arguments: (length: 1)
+ │ └── @ BeginNode (location: (1,2)-(1,28))
+ │ ├── begin_keyword_loc: (1,2)-(1,7) = "begin"
+ │ ├── statements:
+ │ │ @ StatementsNode (location: (1,8)-(1,24))
+ │ │ └── body: (length: 1)
+ │ │ └── @ CallNode (location: (1,8)-(1,24))
+ │ │ ├── flags: ∅
+ │ │ ├── receiver:
+ │ │ │ @ IntegerNode (location: (1,8)-(1,9))
+ │ │ │ └── flags: decimal
+ │ │ ├── call_operator_loc: (1,9)-(1,10) = "."
+ │ │ ├── name: :times
+ │ │ ├── message_loc: (1,10)-(1,15) = "times"
+ │ │ ├── opening_loc: ∅
+ │ │ ├── arguments: ∅
+ │ │ ├── closing_loc: ∅
+ │ │ └── block:
+ │ │ @ BlockNode (location: (1,16)-(1,24))
+ │ │ ├── locals: []
+ │ │ ├── locals_body_index: 0
+ │ │ ├── parameters: ∅
+ │ │ ├── body:
+ │ │ │ @ StatementsNode (location: (1,19)-(1,20))
+ │ │ │ └── body: (length: 1)
+ │ │ │ └── @ IntegerNode (location: (1,19)-(1,20))
+ │ │ │ └── flags: decimal
+ │ │ ├── opening_loc: (1,16)-(1,18) = "do"
+ │ │ └── closing_loc: (1,21)-(1,24) = "end"
+ │ ├── rescue_clause: ∅
+ │ ├── else_clause: ∅
+ │ ├── ensure_clause: ∅
+ │ └── end_keyword_loc: (1,25)-(1,28) = "end"
├── closing_loc: ∅
- ├── block: ∅
- └── flags: ∅
+ └── block: ∅
diff --git a/test/prism/snapshots/whitequark/beginless_erange_after_newline.txt b/test/prism/snapshots/whitequark/beginless_erange_after_newline.txt
index 97cdd35f5c..e67233cc03 100644
--- a/test/prism/snapshots/whitequark/beginless_erange_after_newline.txt
+++ b/test/prism/snapshots/whitequark/beginless_erange_after_newline.txt
@@ -4,6 +4,7 @@
@ StatementsNode (location: (1,0)-(2,6))
└── body: (length: 2)
├── @ CallNode (location: (1,0)-(1,3))
+ │ ├── flags: variable_call
│ ├── receiver: ∅
│ ├── call_operator_loc: ∅
│ ├── name: :foo
@@ -11,12 +12,11 @@
│ ├── opening_loc: ∅
│ ├── arguments: ∅
│ ├── closing_loc: ∅
- │ ├── block: ∅
- │ └── flags: variable_call
+ │ └── block: ∅
└── @ RangeNode (location: (2,0)-(2,6))
+ ├── flags: exclude_end
├── left: ∅
├── right:
│ @ IntegerNode (location: (2,3)-(2,6))
│ └── flags: decimal
- ├── operator_loc: (2,0)-(2,3) = "..."
- └── flags: exclude_end
+ └── operator_loc: (2,0)-(2,3) = "..."
diff --git a/test/prism/snapshots/whitequark/beginless_irange_after_newline.txt b/test/prism/snapshots/whitequark/beginless_irange_after_newline.txt
index 6792574ec9..64643f2189 100644
--- a/test/prism/snapshots/whitequark/beginless_irange_after_newline.txt
+++ b/test/prism/snapshots/whitequark/beginless_irange_after_newline.txt
@@ -4,6 +4,7 @@
@ StatementsNode (location: (1,0)-(2,5))
└── body: (length: 2)
├── @ CallNode (location: (1,0)-(1,3))
+ │ ├── flags: variable_call
│ ├── receiver: ∅
│ ├── call_operator_loc: ∅
│ ├── name: :foo
@@ -11,12 +12,11 @@
│ ├── opening_loc: ∅
│ ├── arguments: ∅
│ ├── closing_loc: ∅
- │ ├── block: ∅
- │ └── flags: variable_call
+ │ └── block: ∅
└── @ RangeNode (location: (2,0)-(2,5))
+ ├── flags: ∅
├── left: ∅
├── right:
│ @ IntegerNode (location: (2,2)-(2,5))
│ └── flags: decimal
- ├── operator_loc: (2,0)-(2,2) = ".."
- └── flags: ∅
+ └── operator_loc: (2,0)-(2,2) = ".."
diff --git a/test/prism/snapshots/whitequark/beginless_range.txt b/test/prism/snapshots/whitequark/beginless_range.txt
index 7ec06309c4..ffbde4de34 100644
--- a/test/prism/snapshots/whitequark/beginless_range.txt
+++ b/test/prism/snapshots/whitequark/beginless_range.txt
@@ -4,16 +4,16 @@
@ StatementsNode (location: (1,0)-(3,5))
└── body: (length: 2)
├── @ RangeNode (location: (1,0)-(1,6))
+ │ ├── flags: exclude_end
│ ├── left: ∅
│ ├── right:
│ │ @ IntegerNode (location: (1,3)-(1,6))
│ │ └── flags: decimal
- │ ├── operator_loc: (1,0)-(1,3) = "..."
- │ └── flags: exclude_end
+ │ └── operator_loc: (1,0)-(1,3) = "..."
└── @ RangeNode (location: (3,0)-(3,5))
+ ├── flags: ∅
├── left: ∅
├── right:
│ @ IntegerNode (location: (3,2)-(3,5))
│ └── flags: decimal
- ├── operator_loc: (3,0)-(3,2) = ".."
- └── flags: ∅
+ └── operator_loc: (3,0)-(3,2) = ".."
diff --git a/test/prism/snapshots/whitequark/blockargs.txt b/test/prism/snapshots/whitequark/blockargs.txt
index 76ff9a6eaa..3abacbea60 100644
--- a/test/prism/snapshots/whitequark/blockargs.txt
+++ b/test/prism/snapshots/whitequark/blockargs.txt
@@ -4,6 +4,7 @@
@ StatementsNode (location: (1,0)-(71,7))
└── body: (length: 35)
├── @ CallNode (location: (1,0)-(1,5))
+ │ ├── flags: ∅
│ ├── receiver: ∅
│ ├── call_operator_loc: ∅
│ ├── name: :f
@@ -11,16 +12,16 @@
│ ├── opening_loc: ∅
│ ├── arguments: ∅
│ ├── closing_loc: ∅
- │ ├── block:
- │ │ @ BlockNode (location: (1,1)-(1,5))
- │ │ ├── locals: []
- │ │ ├── locals_body_index: 0
- │ │ ├── parameters: ∅
- │ │ ├── body: ∅
- │ │ ├── opening_loc: (1,1)-(1,2) = "{"
- │ │ └── closing_loc: (1,4)-(1,5) = "}"
- │ └── flags: ∅
+ │ └── block:
+ │ @ BlockNode (location: (1,1)-(1,5))
+ │ ├── locals: []
+ │ ├── locals_body_index: 0
+ │ ├── parameters: ∅
+ │ ├── body: ∅
+ │ ├── opening_loc: (1,1)-(1,2) = "{"
+ │ └── closing_loc: (1,4)-(1,5) = "}"
├── @ CallNode (location: (3,0)-(3,8))
+ │ ├── flags: ∅
│ ├── receiver: ∅
│ ├── call_operator_loc: ∅
│ ├── name: :f
@@ -28,21 +29,21 @@
│ ├── opening_loc: ∅
│ ├── arguments: ∅
│ ├── closing_loc: ∅
- │ ├── block:
- │ │ @ BlockNode (location: (3,1)-(3,8))
- │ │ ├── locals: []
- │ │ ├── locals_body_index: 0
- │ │ ├── parameters:
- │ │ │ @ BlockParametersNode (location: (3,3)-(3,6))
- │ │ │ ├── parameters: ∅
- │ │ │ ├── locals: (length: 0)
- │ │ │ ├── opening_loc: (3,3)-(3,4) = "|"
- │ │ │ └── closing_loc: (3,5)-(3,6) = "|"
- │ │ ├── body: ∅
- │ │ ├── opening_loc: (3,1)-(3,2) = "{"
- │ │ └── closing_loc: (3,7)-(3,8) = "}"
- │ └── flags: ∅
+ │ └── block:
+ │ @ BlockNode (location: (3,1)-(3,8))
+ │ ├── locals: []
+ │ ├── locals_body_index: 0
+ │ ├── parameters:
+ │ │ @ BlockParametersNode (location: (3,3)-(3,6))
+ │ │ ├── parameters: ∅
+ │ │ ├── locals: (length: 0)
+ │ │ ├── opening_loc: (3,3)-(3,4) = "|"
+ │ │ └── closing_loc: (3,5)-(3,6) = "|"
+ │ ├── body: ∅
+ │ ├── opening_loc: (3,1)-(3,2) = "{"
+ │ └── closing_loc: (3,7)-(3,8) = "}"
├── @ CallNode (location: (5,0)-(5,9))
+ │ ├── flags: ∅
│ ├── receiver: ∅
│ ├── call_operator_loc: ∅
│ ├── name: :f
@@ -50,33 +51,33 @@
│ ├── opening_loc: ∅
│ ├── arguments: ∅
│ ├── closing_loc: ∅
- │ ├── block:
- │ │ @ BlockNode (location: (5,1)-(5,9))
- │ │ ├── locals: [:b]
- │ │ ├── locals_body_index: 1
- │ │ ├── parameters:
- │ │ │ @ BlockParametersNode (location: (5,3)-(5,7))
- │ │ │ ├── parameters:
- │ │ │ │ @ ParametersNode (location: (5,4)-(5,6))
- │ │ │ │ ├── requireds: (length: 0)
- │ │ │ │ ├── optionals: (length: 0)
- │ │ │ │ ├── rest: ∅
- │ │ │ │ ├── posts: (length: 0)
- │ │ │ │ ├── keywords: (length: 0)
- │ │ │ │ ├── keyword_rest: ∅
- │ │ │ │ └── block:
- │ │ │ │ @ BlockParameterNode (location: (5,4)-(5,6))
- │ │ │ │ ├── name: :b
- │ │ │ │ ├── name_loc: (5,5)-(5,6) = "b"
- │ │ │ │ └── operator_loc: (5,4)-(5,5) = "&"
- │ │ │ ├── locals: (length: 0)
- │ │ │ ├── opening_loc: (5,3)-(5,4) = "|"
- │ │ │ └── closing_loc: (5,6)-(5,7) = "|"
- │ │ ├── body: ∅
- │ │ ├── opening_loc: (5,1)-(5,2) = "{"
- │ │ └── closing_loc: (5,8)-(5,9) = "}"
- │ └── flags: ∅
+ │ └── block:
+ │ @ BlockNode (location: (5,1)-(5,9))
+ │ ├── locals: [:b]
+ │ ├── locals_body_index: 1
+ │ ├── parameters:
+ │ │ @ BlockParametersNode (location: (5,3)-(5,7))
+ │ │ ├── parameters:
+ │ │ │ @ ParametersNode (location: (5,4)-(5,6))
+ │ │ │ ├── requireds: (length: 0)
+ │ │ │ ├── optionals: (length: 0)
+ │ │ │ ├── rest: ∅
+ │ │ │ ├── posts: (length: 0)
+ │ │ │ ├── keywords: (length: 0)
+ │ │ │ ├── keyword_rest: ∅
+ │ │ │ └── block:
+ │ │ │ @ BlockParameterNode (location: (5,4)-(5,6))
+ │ │ │ ├── name: :b
+ │ │ │ ├── name_loc: (5,5)-(5,6) = "b"
+ │ │ │ └── operator_loc: (5,4)-(5,5) = "&"
+ │ │ ├── locals: (length: 0)
+ │ │ ├── opening_loc: (5,3)-(5,4) = "|"
+ │ │ └── closing_loc: (5,6)-(5,7) = "|"
+ │ ├── body: ∅
+ │ ├── opening_loc: (5,1)-(5,2) = "{"
+ │ └── closing_loc: (5,8)-(5,9) = "}"
├── @ CallNode (location: (7,0)-(7,16))
+ │ ├── flags: ∅
│ ├── receiver: ∅
│ ├── call_operator_loc: ∅
│ ├── name: :f
@@ -84,37 +85,37 @@
│ ├── opening_loc: ∅
│ ├── arguments: ∅
│ ├── closing_loc: ∅
- │ ├── block:
- │ │ @ BlockNode (location: (7,1)-(7,16))
- │ │ ├── locals: [:baz, :b]
- │ │ ├── locals_body_index: 2
- │ │ ├── parameters:
- │ │ │ @ BlockParametersNode (location: (7,3)-(7,14))
- │ │ │ ├── parameters:
- │ │ │ │ @ ParametersNode (location: (7,4)-(7,13))
- │ │ │ │ ├── requireds: (length: 0)
- │ │ │ │ ├── optionals: (length: 0)
- │ │ │ │ ├── rest: ∅
- │ │ │ │ ├── posts: (length: 0)
- │ │ │ │ ├── keywords: (length: 0)
- │ │ │ │ ├── keyword_rest:
- │ │ │ │ │ @ KeywordRestParameterNode (location: (7,4)-(7,9))
- │ │ │ │ │ ├── name: :baz
- │ │ │ │ │ ├── name_loc: (7,6)-(7,9) = "baz"
- │ │ │ │ │ └── operator_loc: (7,4)-(7,6) = "**"
- │ │ │ │ └── block:
- │ │ │ │ @ BlockParameterNode (location: (7,11)-(7,13))
- │ │ │ │ ├── name: :b
- │ │ │ │ ├── name_loc: (7,12)-(7,13) = "b"
- │ │ │ │ └── operator_loc: (7,11)-(7,12) = "&"
- │ │ │ ├── locals: (length: 0)
- │ │ │ ├── opening_loc: (7,3)-(7,4) = "|"
- │ │ │ └── closing_loc: (7,13)-(7,14) = "|"
- │ │ ├── body: ∅
- │ │ ├── opening_loc: (7,1)-(7,2) = "{"
- │ │ └── closing_loc: (7,15)-(7,16) = "}"
- │ └── flags: ∅
+ │ └── block:
+ │ @ BlockNode (location: (7,1)-(7,16))
+ │ ├── locals: [:baz, :b]
+ │ ├── locals_body_index: 2
+ │ ├── parameters:
+ │ │ @ BlockParametersNode (location: (7,3)-(7,14))
+ │ │ ├── parameters:
+ │ │ │ @ ParametersNode (location: (7,4)-(7,13))
+ │ │ │ ├── requireds: (length: 0)
+ │ │ │ ├── optionals: (length: 0)
+ │ │ │ ├── rest: ∅
+ │ │ │ ├── posts: (length: 0)
+ │ │ │ ├── keywords: (length: 0)
+ │ │ │ ├── keyword_rest:
+ │ │ │ │ @ KeywordRestParameterNode (location: (7,4)-(7,9))
+ │ │ │ │ ├── name: :baz
+ │ │ │ │ ├── name_loc: (7,6)-(7,9) = "baz"
+ │ │ │ │ └── operator_loc: (7,4)-(7,6) = "**"
+ │ │ │ └── block:
+ │ │ │ @ BlockParameterNode (location: (7,11)-(7,13))
+ │ │ │ ├── name: :b
+ │ │ │ ├── name_loc: (7,12)-(7,13) = "b"
+ │ │ │ └── operator_loc: (7,11)-(7,12) = "&"
+ │ │ ├── locals: (length: 0)
+ │ │ ├── opening_loc: (7,3)-(7,4) = "|"
+ │ │ └── closing_loc: (7,13)-(7,14) = "|"
+ │ ├── body: ∅
+ │ ├── opening_loc: (7,1)-(7,2) = "{"
+ │ └── closing_loc: (7,15)-(7,16) = "}"
├── @ CallNode (location: (9,0)-(9,12))
+ │ ├── flags: ∅
│ ├── receiver: ∅
│ ├── call_operator_loc: ∅
│ ├── name: :f
@@ -122,37 +123,37 @@
│ ├── opening_loc: ∅
│ ├── arguments: ∅
│ ├── closing_loc: ∅
- │ ├── block:
- │ │ @ BlockNode (location: (9,1)-(9,12))
- │ │ ├── locals: [:b]
- │ │ ├── locals_body_index: 1
- │ │ ├── parameters:
- │ │ │ @ BlockParametersNode (location: (9,3)-(9,10))
- │ │ │ ├── parameters:
- │ │ │ │ @ ParametersNode (location: (9,4)-(9,9))
- │ │ │ │ ├── requireds: (length: 0)
- │ │ │ │ ├── optionals: (length: 0)
- │ │ │ │ ├── rest:
- │ │ │ │ │ @ RestParameterNode (location: (9,4)-(9,5))
- │ │ │ │ │ ├── name: ∅
- │ │ │ │ │ ├── name_loc: ∅
- │ │ │ │ │ └── operator_loc: (9,4)-(9,5) = "*"
- │ │ │ │ ├── posts: (length: 0)
- │ │ │ │ ├── keywords: (length: 0)
- │ │ │ │ ├── keyword_rest: ∅
- │ │ │ │ └── block:
- │ │ │ │ @ BlockParameterNode (location: (9,7)-(9,9))
- │ │ │ │ ├── name: :b
- │ │ │ │ ├── name_loc: (9,8)-(9,9) = "b"
- │ │ │ │ └── operator_loc: (9,7)-(9,8) = "&"
- │ │ │ ├── locals: (length: 0)
- │ │ │ ├── opening_loc: (9,3)-(9,4) = "|"
- │ │ │ └── closing_loc: (9,9)-(9,10) = "|"
- │ │ ├── body: ∅
- │ │ ├── opening_loc: (9,1)-(9,2) = "{"
- │ │ └── closing_loc: (9,11)-(9,12) = "}"
- │ └── flags: ∅
+ │ └── block:
+ │ @ BlockNode (location: (9,1)-(9,12))
+ │ ├── locals: [:b]
+ │ ├── locals_body_index: 1
+ │ ├── parameters:
+ │ │ @ BlockParametersNode (location: (9,3)-(9,10))
+ │ │ ├── parameters:
+ │ │ │ @ ParametersNode (location: (9,4)-(9,9))
+ │ │ │ ├── requireds: (length: 0)
+ │ │ │ ├── optionals: (length: 0)
+ │ │ │ ├── rest:
+ │ │ │ │ @ RestParameterNode (location: (9,4)-(9,5))
+ │ │ │ │ ├── name: ∅
+ │ │ │ │ ├── name_loc: ∅
+ │ │ │ │ └── operator_loc: (9,4)-(9,5) = "*"
+ │ │ │ ├── posts: (length: 0)
+ │ │ │ ├── keywords: (length: 0)
+ │ │ │ ├── keyword_rest: ∅
+ │ │ │ └── block:
+ │ │ │ @ BlockParameterNode (location: (9,7)-(9,9))
+ │ │ │ ├── name: :b
+ │ │ │ ├── name_loc: (9,8)-(9,9) = "b"
+ │ │ │ └── operator_loc: (9,7)-(9,8) = "&"
+ │ │ ├── locals: (length: 0)
+ │ │ ├── opening_loc: (9,3)-(9,4) = "|"
+ │ │ └── closing_loc: (9,9)-(9,10) = "|"
+ │ ├── body: ∅
+ │ ├── opening_loc: (9,1)-(9,2) = "{"
+ │ └── closing_loc: (9,11)-(9,12) = "}"
├── @ CallNode (location: (11,0)-(11,16))
+ │ ├── flags: ∅
│ ├── receiver: ∅
│ ├── call_operator_loc: ∅
│ ├── name: :f
@@ -160,39 +161,39 @@
│ ├── opening_loc: ∅
│ ├── arguments: ∅
│ ├── closing_loc: ∅
- │ ├── block:
- │ │ @ BlockNode (location: (11,1)-(11,16))
- │ │ ├── locals: [:r, :p, :b]
- │ │ ├── locals_body_index: 3
- │ │ ├── parameters:
- │ │ │ @ BlockParametersNode (location: (11,3)-(11,14))
- │ │ │ ├── parameters:
- │ │ │ │ @ ParametersNode (location: (11,4)-(11,13))
- │ │ │ │ ├── requireds: (length: 0)
- │ │ │ │ ├── optionals: (length: 0)
- │ │ │ │ ├── rest:
- │ │ │ │ │ @ RestParameterNode (location: (11,4)-(11,6))
- │ │ │ │ │ ├── name: :r
- │ │ │ │ │ ├── name_loc: (11,5)-(11,6) = "r"
- │ │ │ │ │ └── operator_loc: (11,4)-(11,5) = "*"
- │ │ │ │ ├── posts: (length: 1)
- │ │ │ │ │ └── @ RequiredParameterNode (location: (11,8)-(11,9))
- │ │ │ │ │ └── name: :p
- │ │ │ │ ├── keywords: (length: 0)
- │ │ │ │ ├── keyword_rest: ∅
- │ │ │ │ └── block:
- │ │ │ │ @ BlockParameterNode (location: (11,11)-(11,13))
- │ │ │ │ ├── name: :b
- │ │ │ │ ├── name_loc: (11,12)-(11,13) = "b"
- │ │ │ │ └── operator_loc: (11,11)-(11,12) = "&"
- │ │ │ ├── locals: (length: 0)
- │ │ │ ├── opening_loc: (11,3)-(11,4) = "|"
- │ │ │ └── closing_loc: (11,13)-(11,14) = "|"
- │ │ ├── body: ∅
- │ │ ├── opening_loc: (11,1)-(11,2) = "{"
- │ │ └── closing_loc: (11,15)-(11,16) = "}"
- │ └── flags: ∅
+ │ └── block:
+ │ @ BlockNode (location: (11,1)-(11,16))
+ │ ├── locals: [:r, :p, :b]
+ │ ├── locals_body_index: 3
+ │ ├── parameters:
+ │ │ @ BlockParametersNode (location: (11,3)-(11,14))
+ │ │ ├── parameters:
+ │ │ │ @ ParametersNode (location: (11,4)-(11,13))
+ │ │ │ ├── requireds: (length: 0)
+ │ │ │ ├── optionals: (length: 0)
+ │ │ │ ├── rest:
+ │ │ │ │ @ RestParameterNode (location: (11,4)-(11,6))
+ │ │ │ │ ├── name: :r
+ │ │ │ │ ├── name_loc: (11,5)-(11,6) = "r"
+ │ │ │ │ └── operator_loc: (11,4)-(11,5) = "*"
+ │ │ │ ├── posts: (length: 1)
+ │ │ │ │ └── @ RequiredParameterNode (location: (11,8)-(11,9))
+ │ │ │ │ └── name: :p
+ │ │ │ ├── keywords: (length: 0)
+ │ │ │ ├── keyword_rest: ∅
+ │ │ │ └── block:
+ │ │ │ @ BlockParameterNode (location: (11,11)-(11,13))
+ │ │ │ ├── name: :b
+ │ │ │ ├── name_loc: (11,12)-(11,13) = "b"
+ │ │ │ └── operator_loc: (11,11)-(11,12) = "&"
+ │ │ ├── locals: (length: 0)
+ │ │ ├── opening_loc: (11,3)-(11,4) = "|"
+ │ │ └── closing_loc: (11,13)-(11,14) = "|"
+ │ ├── body: ∅
+ │ ├── opening_loc: (11,1)-(11,2) = "{"
+ │ └── closing_loc: (11,15)-(11,16) = "}"
├── @ CallNode (location: (13,0)-(13,13))
+ │ ├── flags: ∅
│ ├── receiver: ∅
│ ├── call_operator_loc: ∅
│ ├── name: :f
@@ -200,37 +201,37 @@
│ ├── opening_loc: ∅
│ ├── arguments: ∅
│ ├── closing_loc: ∅
- │ ├── block:
- │ │ @ BlockNode (location: (13,1)-(13,13))
- │ │ ├── locals: [:s, :b]
- │ │ ├── locals_body_index: 2
- │ │ ├── parameters:
- │ │ │ @ BlockParametersNode (location: (13,3)-(13,11))
- │ │ │ ├── parameters:
- │ │ │ │ @ ParametersNode (location: (13,4)-(13,10))
- │ │ │ │ ├── requireds: (length: 0)
- │ │ │ │ ├── optionals: (length: 0)
- │ │ │ │ ├── rest:
- │ │ │ │ │ @ RestParameterNode (location: (13,4)-(13,6))
- │ │ │ │ │ ├── name: :s
- │ │ │ │ │ ├── name_loc: (13,5)-(13,6) = "s"
- │ │ │ │ │ └── operator_loc: (13,4)-(13,5) = "*"
- │ │ │ │ ├── posts: (length: 0)
- │ │ │ │ ├── keywords: (length: 0)
- │ │ │ │ ├── keyword_rest: ∅
- │ │ │ │ └── block:
- │ │ │ │ @ BlockParameterNode (location: (13,8)-(13,10))
- │ │ │ │ ├── name: :b
- │ │ │ │ ├── name_loc: (13,9)-(13,10) = "b"
- │ │ │ │ └── operator_loc: (13,8)-(13,9) = "&"
- │ │ │ ├── locals: (length: 0)
- │ │ │ ├── opening_loc: (13,3)-(13,4) = "|"
- │ │ │ └── closing_loc: (13,10)-(13,11) = "|"
- │ │ ├── body: ∅
- │ │ ├── opening_loc: (13,1)-(13,2) = "{"
- │ │ └── closing_loc: (13,12)-(13,13) = "}"
- │ └── flags: ∅
+ │ └── block:
+ │ @ BlockNode (location: (13,1)-(13,13))
+ │ ├── locals: [:s, :b]
+ │ ├── locals_body_index: 2
+ │ ├── parameters:
+ │ │ @ BlockParametersNode (location: (13,3)-(13,11))
+ │ │ ├── parameters:
+ │ │ │ @ ParametersNode (location: (13,4)-(13,10))
+ │ │ │ ├── requireds: (length: 0)
+ │ │ │ ├── optionals: (length: 0)
+ │ │ │ ├── rest:
+ │ │ │ │ @ RestParameterNode (location: (13,4)-(13,6))
+ │ │ │ │ ├── name: :s
+ │ │ │ │ ├── name_loc: (13,5)-(13,6) = "s"
+ │ │ │ │ └── operator_loc: (13,4)-(13,5) = "*"
+ │ │ │ ├── posts: (length: 0)
+ │ │ │ ├── keywords: (length: 0)
+ │ │ │ ├── keyword_rest: ∅
+ │ │ │ └── block:
+ │ │ │ @ BlockParameterNode (location: (13,8)-(13,10))
+ │ │ │ ├── name: :b
+ │ │ │ ├── name_loc: (13,9)-(13,10) = "b"
+ │ │ │ └── operator_loc: (13,8)-(13,9) = "&"
+ │ │ ├── locals: (length: 0)
+ │ │ ├── opening_loc: (13,3)-(13,4) = "|"
+ │ │ └── closing_loc: (13,10)-(13,11) = "|"
+ │ ├── body: ∅
+ │ ├── opening_loc: (13,1)-(13,2) = "{"
+ │ └── closing_loc: (13,12)-(13,13) = "}"
├── @ CallNode (location: (15,0)-(15,9))
+ │ ├── flags: ∅
│ ├── receiver: ∅
│ ├── call_operator_loc: ∅
│ ├── name: :f
@@ -238,33 +239,33 @@
│ ├── opening_loc: ∅
│ ├── arguments: ∅
│ ├── closing_loc: ∅
- │ ├── block:
- │ │ @ BlockNode (location: (15,1)-(15,9))
- │ │ ├── locals: [:s]
- │ │ ├── locals_body_index: 1
- │ │ ├── parameters:
- │ │ │ @ BlockParametersNode (location: (15,3)-(15,7))
- │ │ │ ├── parameters:
- │ │ │ │ @ ParametersNode (location: (15,4)-(15,6))
- │ │ │ │ ├── requireds: (length: 0)
- │ │ │ │ ├── optionals: (length: 0)
- │ │ │ │ ├── rest:
- │ │ │ │ │ @ RestParameterNode (location: (15,4)-(15,6))
- │ │ │ │ │ ├── name: :s
- │ │ │ │ │ ├── name_loc: (15,5)-(15,6) = "s"
- │ │ │ │ │ └── operator_loc: (15,4)-(15,5) = "*"
- │ │ │ │ ├── posts: (length: 0)
- │ │ │ │ ├── keywords: (length: 0)
- │ │ │ │ ├── keyword_rest: ∅
- │ │ │ │ └── block: ∅
- │ │ │ ├── locals: (length: 0)
- │ │ │ ├── opening_loc: (15,3)-(15,4) = "|"
- │ │ │ └── closing_loc: (15,6)-(15,7) = "|"
- │ │ ├── body: ∅
- │ │ ├── opening_loc: (15,1)-(15,2) = "{"
- │ │ └── closing_loc: (15,8)-(15,9) = "}"
- │ └── flags: ∅
+ │ └── block:
+ │ @ BlockNode (location: (15,1)-(15,9))
+ │ ├── locals: [:s]
+ │ ├── locals_body_index: 1
+ │ ├── parameters:
+ │ │ @ BlockParametersNode (location: (15,3)-(15,7))
+ │ │ ├── parameters:
+ │ │ │ @ ParametersNode (location: (15,4)-(15,6))
+ │ │ │ ├── requireds: (length: 0)
+ │ │ │ ├── optionals: (length: 0)
+ │ │ │ ├── rest:
+ │ │ │ │ @ RestParameterNode (location: (15,4)-(15,6))
+ │ │ │ │ ├── name: :s
+ │ │ │ │ ├── name_loc: (15,5)-(15,6) = "s"
+ │ │ │ │ └── operator_loc: (15,4)-(15,5) = "*"
+ │ │ │ ├── posts: (length: 0)
+ │ │ │ ├── keywords: (length: 0)
+ │ │ │ ├── keyword_rest: ∅
+ │ │ │ └── block: ∅
+ │ │ ├── locals: (length: 0)
+ │ │ ├── opening_loc: (15,3)-(15,4) = "|"
+ │ │ └── closing_loc: (15,6)-(15,7) = "|"
+ │ ├── body: ∅
+ │ ├── opening_loc: (15,1)-(15,2) = "{"
+ │ └── closing_loc: (15,8)-(15,9) = "}"
├── @ CallNode (location: (17,0)-(17,8))
+ │ ├── flags: ∅
│ ├── receiver: ∅
│ ├── call_operator_loc: ∅
│ ├── name: :f
@@ -272,33 +273,33 @@
│ ├── opening_loc: ∅
│ ├── arguments: ∅
│ ├── closing_loc: ∅
- │ ├── block:
- │ │ @ BlockNode (location: (17,1)-(17,8))
- │ │ ├── locals: []
- │ │ ├── locals_body_index: 0
- │ │ ├── parameters:
- │ │ │ @ BlockParametersNode (location: (17,3)-(17,6))
- │ │ │ ├── parameters:
- │ │ │ │ @ ParametersNode (location: (17,4)-(17,5))
- │ │ │ │ ├── requireds: (length: 0)
- │ │ │ │ ├── optionals: (length: 0)
- │ │ │ │ ├── rest:
- │ │ │ │ │ @ RestParameterNode (location: (17,4)-(17,5))
- │ │ │ │ │ ├── name: ∅
- │ │ │ │ │ ├── name_loc: ∅
- │ │ │ │ │ └── operator_loc: (17,4)-(17,5) = "*"
- │ │ │ │ ├── posts: (length: 0)
- │ │ │ │ ├── keywords: (length: 0)
- │ │ │ │ ├── keyword_rest: ∅
- │ │ │ │ └── block: ∅
- │ │ │ ├── locals: (length: 0)
- │ │ │ ├── opening_loc: (17,3)-(17,4) = "|"
- │ │ │ └── closing_loc: (17,5)-(17,6) = "|"
- │ │ ├── body: ∅
- │ │ ├── opening_loc: (17,1)-(17,2) = "{"
- │ │ └── closing_loc: (17,7)-(17,8) = "}"
- │ └── flags: ∅
+ │ └── block:
+ │ @ BlockNode (location: (17,1)-(17,8))
+ │ ├── locals: []
+ │ ├── locals_body_index: 0
+ │ ├── parameters:
+ │ │ @ BlockParametersNode (location: (17,3)-(17,6))
+ │ │ ├── parameters:
+ │ │ │ @ ParametersNode (location: (17,4)-(17,5))
+ │ │ │ ├── requireds: (length: 0)
+ │ │ │ ├── optionals: (length: 0)
+ │ │ │ ├── rest:
+ │ │ │ │ @ RestParameterNode (location: (17,4)-(17,5))
+ │ │ │ │ ├── name: ∅
+ │ │ │ │ ├── name_loc: ∅
+ │ │ │ │ └── operator_loc: (17,4)-(17,5) = "*"
+ │ │ │ ├── posts: (length: 0)
+ │ │ │ ├── keywords: (length: 0)
+ │ │ │ ├── keyword_rest: ∅
+ │ │ │ └── block: ∅
+ │ │ ├── locals: (length: 0)
+ │ │ ├── opening_loc: (17,3)-(17,4) = "|"
+ │ │ └── closing_loc: (17,5)-(17,6) = "|"
+ │ ├── body: ∅
+ │ ├── opening_loc: (17,1)-(17,2) = "{"
+ │ └── closing_loc: (17,7)-(17,8) = "}"
├── @ CallNode (location: (19,0)-(21,3))
+ │ ├── flags: ∅
│ ├── receiver: ∅
│ ├── call_operator_loc: ∅
│ ├── name: :f
@@ -306,23 +307,23 @@
│ ├── opening_loc: ∅
│ ├── arguments: ∅
│ ├── closing_loc: ∅
- │ ├── block:
- │ │ @ BlockNode (location: (19,1)-(21,3))
- │ │ ├── locals: [:a]
- │ │ ├── locals_body_index: 1
- │ │ ├── parameters:
- │ │ │ @ BlockParametersNode (location: (19,3)-(21,1))
- │ │ │ ├── parameters: ∅
- │ │ │ ├── locals: (length: 1)
- │ │ │ │ └── @ BlockLocalVariableNode (location: (20,0)-(20,1))
- │ │ │ │ └── name: :a
- │ │ │ ├── opening_loc: (19,3)-(19,4) = "|"
- │ │ │ └── closing_loc: (21,0)-(21,1) = "|"
- │ │ ├── body: ∅
- │ │ ├── opening_loc: (19,1)-(19,2) = "{"
- │ │ └── closing_loc: (21,2)-(21,3) = "}"
- │ └── flags: ∅
+ │ └── block:
+ │ @ BlockNode (location: (19,1)-(21,3))
+ │ ├── locals: [:a]
+ │ ├── locals_body_index: 1
+ │ ├── parameters:
+ │ │ @ BlockParametersNode (location: (19,3)-(21,1))
+ │ │ ├── parameters: ∅
+ │ │ ├── locals: (length: 1)
+ │ │ │ └── @ BlockLocalVariableNode (location: (20,0)-(20,1))
+ │ │ │ └── name: :a
+ │ │ ├── opening_loc: (19,3)-(19,4) = "|"
+ │ │ └── closing_loc: (21,0)-(21,1) = "|"
+ │ ├── body: ∅
+ │ ├── opening_loc: (19,1)-(19,2) = "{"
+ │ └── closing_loc: (21,2)-(21,3) = "}"
├── @ CallNode (location: (23,0)-(23,9))
+ │ ├── flags: ∅
│ ├── receiver: ∅
│ ├── call_operator_loc: ∅
│ ├── name: :f
@@ -330,23 +331,23 @@
│ ├── opening_loc: ∅
│ ├── arguments: ∅
│ ├── closing_loc: ∅
- │ ├── block:
- │ │ @ BlockNode (location: (23,1)-(23,9))
- │ │ ├── locals: [:a]
- │ │ ├── locals_body_index: 1
- │ │ ├── parameters:
- │ │ │ @ BlockParametersNode (location: (23,3)-(23,7))
- │ │ │ ├── parameters: ∅
- │ │ │ ├── locals: (length: 1)
- │ │ │ │ └── @ BlockLocalVariableNode (location: (23,5)-(23,6))
- │ │ │ │ └── name: :a
- │ │ │ ├── opening_loc: (23,3)-(23,4) = "|"
- │ │ │ └── closing_loc: (23,6)-(23,7) = "|"
- │ │ ├── body: ∅
- │ │ ├── opening_loc: (23,1)-(23,2) = "{"
- │ │ └── closing_loc: (23,8)-(23,9) = "}"
- │ └── flags: ∅
+ │ └── block:
+ │ @ BlockNode (location: (23,1)-(23,9))
+ │ ├── locals: [:a]
+ │ ├── locals_body_index: 1
+ │ ├── parameters:
+ │ │ @ BlockParametersNode (location: (23,3)-(23,7))
+ │ │ ├── parameters: ∅
+ │ │ ├── locals: (length: 1)
+ │ │ │ └── @ BlockLocalVariableNode (location: (23,5)-(23,6))
+ │ │ │ └── name: :a
+ │ │ ├── opening_loc: (23,3)-(23,4) = "|"
+ │ │ └── closing_loc: (23,6)-(23,7) = "|"
+ │ ├── body: ∅
+ │ ├── opening_loc: (23,1)-(23,2) = "{"
+ │ └── closing_loc: (23,8)-(23,9) = "}"
├── @ CallNode (location: (25,0)-(25,12))
+ │ ├── flags: ∅
│ ├── receiver: ∅
│ ├── call_operator_loc: ∅
│ ├── name: :f
@@ -354,35 +355,35 @@
│ ├── opening_loc: ∅
│ ├── arguments: ∅
│ ├── closing_loc: ∅
- │ ├── block:
- │ │ @ BlockNode (location: (25,1)-(25,12))
- │ │ ├── locals: [:a, :b]
- │ │ ├── locals_body_index: 2
- │ │ ├── parameters:
- │ │ │ @ BlockParametersNode (location: (25,3)-(25,10))
- │ │ │ ├── parameters:
- │ │ │ │ @ ParametersNode (location: (25,4)-(25,9))
- │ │ │ │ ├── requireds: (length: 1)
- │ │ │ │ │ └── @ RequiredParameterNode (location: (25,4)-(25,5))
- │ │ │ │ │ └── name: :a
- │ │ │ │ ├── optionals: (length: 0)
- │ │ │ │ ├── rest: ∅
- │ │ │ │ ├── posts: (length: 0)
- │ │ │ │ ├── keywords: (length: 0)
- │ │ │ │ ├── keyword_rest: ∅
- │ │ │ │ └── block:
- │ │ │ │ @ BlockParameterNode (location: (25,7)-(25,9))
- │ │ │ │ ├── name: :b
- │ │ │ │ ├── name_loc: (25,8)-(25,9) = "b"
- │ │ │ │ └── operator_loc: (25,7)-(25,8) = "&"
- │ │ │ ├── locals: (length: 0)
- │ │ │ ├── opening_loc: (25,3)-(25,4) = "|"
- │ │ │ └── closing_loc: (25,9)-(25,10) = "|"
- │ │ ├── body: ∅
- │ │ ├── opening_loc: (25,1)-(25,2) = "{"
- │ │ └── closing_loc: (25,11)-(25,12) = "}"
- │ └── flags: ∅
+ │ └── block:
+ │ @ BlockNode (location: (25,1)-(25,12))
+ │ ├── locals: [:a, :b]
+ │ ├── locals_body_index: 2
+ │ ├── parameters:
+ │ │ @ BlockParametersNode (location: (25,3)-(25,10))
+ │ │ ├── parameters:
+ │ │ │ @ ParametersNode (location: (25,4)-(25,9))
+ │ │ │ ├── requireds: (length: 1)
+ │ │ │ │ └── @ RequiredParameterNode (location: (25,4)-(25,5))
+ │ │ │ │ └── name: :a
+ │ │ │ ├── optionals: (length: 0)
+ │ │ │ ├── rest: ∅
+ │ │ │ ├── posts: (length: 0)
+ │ │ │ ├── keywords: (length: 0)
+ │ │ │ ├── keyword_rest: ∅
+ │ │ │ └── block:
+ │ │ │ @ BlockParameterNode (location: (25,7)-(25,9))
+ │ │ │ ├── name: :b
+ │ │ │ ├── name_loc: (25,8)-(25,9) = "b"
+ │ │ │ └── operator_loc: (25,7)-(25,8) = "&"
+ │ │ ├── locals: (length: 0)
+ │ │ ├── opening_loc: (25,3)-(25,4) = "|"
+ │ │ └── closing_loc: (25,9)-(25,10) = "|"
+ │ ├── body: ∅
+ │ ├── opening_loc: (25,1)-(25,2) = "{"
+ │ └── closing_loc: (25,11)-(25,12) = "}"
├── @ CallNode (location: (27,0)-(27,15))
+ │ ├── flags: ∅
│ ├── receiver: ∅
│ ├── call_operator_loc: ∅
│ ├── name: :f
@@ -390,39 +391,39 @@
│ ├── opening_loc: ∅
│ ├── arguments: ∅
│ ├── closing_loc: ∅
- │ ├── block:
- │ │ @ BlockNode (location: (27,1)-(27,15))
- │ │ ├── locals: [:a, :b]
- │ │ ├── locals_body_index: 2
- │ │ ├── parameters:
- │ │ │ @ BlockParametersNode (location: (27,3)-(27,13))
- │ │ │ ├── parameters:
- │ │ │ │ @ ParametersNode (location: (27,4)-(27,12))
- │ │ │ │ ├── requireds: (length: 1)
- │ │ │ │ │ └── @ RequiredParameterNode (location: (27,4)-(27,5))
- │ │ │ │ │ └── name: :a
- │ │ │ │ ├── optionals: (length: 0)
- │ │ │ │ ├── rest:
- │ │ │ │ │ @ RestParameterNode (location: (27,7)-(27,8))
- │ │ │ │ │ ├── name: ∅
- │ │ │ │ │ ├── name_loc: ∅
- │ │ │ │ │ └── operator_loc: (27,7)-(27,8) = "*"
- │ │ │ │ ├── posts: (length: 0)
- │ │ │ │ ├── keywords: (length: 0)
- │ │ │ │ ├── keyword_rest: ∅
- │ │ │ │ └── block:
- │ │ │ │ @ BlockParameterNode (location: (27,10)-(27,12))
- │ │ │ │ ├── name: :b
- │ │ │ │ ├── name_loc: (27,11)-(27,12) = "b"
- │ │ │ │ └── operator_loc: (27,10)-(27,11) = "&"
- │ │ │ ├── locals: (length: 0)
- │ │ │ ├── opening_loc: (27,3)-(27,4) = "|"
- │ │ │ └── closing_loc: (27,12)-(27,13) = "|"
- │ │ ├── body: ∅
- │ │ ├── opening_loc: (27,1)-(27,2) = "{"
- │ │ └── closing_loc: (27,14)-(27,15) = "}"
- │ └── flags: ∅
+ │ └── block:
+ │ @ BlockNode (location: (27,1)-(27,15))
+ │ ├── locals: [:a, :b]
+ │ ├── locals_body_index: 2
+ │ ├── parameters:
+ │ │ @ BlockParametersNode (location: (27,3)-(27,13))
+ │ │ ├── parameters:
+ │ │ │ @ ParametersNode (location: (27,4)-(27,12))
+ │ │ │ ├── requireds: (length: 1)
+ │ │ │ │ └── @ RequiredParameterNode (location: (27,4)-(27,5))
+ │ │ │ │ └── name: :a
+ │ │ │ ├── optionals: (length: 0)
+ │ │ │ ├── rest:
+ │ │ │ │ @ RestParameterNode (location: (27,7)-(27,8))
+ │ │ │ │ ├── name: ∅
+ │ │ │ │ ├── name_loc: ∅
+ │ │ │ │ └── operator_loc: (27,7)-(27,8) = "*"
+ │ │ │ ├── posts: (length: 0)
+ │ │ │ ├── keywords: (length: 0)
+ │ │ │ ├── keyword_rest: ∅
+ │ │ │ └── block:
+ │ │ │ @ BlockParameterNode (location: (27,10)-(27,12))
+ │ │ │ ├── name: :b
+ │ │ │ ├── name_loc: (27,11)-(27,12) = "b"
+ │ │ │ └── operator_loc: (27,10)-(27,11) = "&"
+ │ │ ├── locals: (length: 0)
+ │ │ ├── opening_loc: (27,3)-(27,4) = "|"
+ │ │ └── closing_loc: (27,12)-(27,13) = "|"
+ │ ├── body: ∅
+ │ ├── opening_loc: (27,1)-(27,2) = "{"
+ │ └── closing_loc: (27,14)-(27,15) = "}"
├── @ CallNode (location: (29,0)-(29,19))
+ │ ├── flags: ∅
│ ├── receiver: ∅
│ ├── call_operator_loc: ∅
│ ├── name: :f
@@ -430,41 +431,41 @@
│ ├── opening_loc: ∅
│ ├── arguments: ∅
│ ├── closing_loc: ∅
- │ ├── block:
- │ │ @ BlockNode (location: (29,1)-(29,19))
- │ │ ├── locals: [:a, :r, :p, :b]
- │ │ ├── locals_body_index: 4
- │ │ ├── parameters:
- │ │ │ @ BlockParametersNode (location: (29,3)-(29,17))
- │ │ │ ├── parameters:
- │ │ │ │ @ ParametersNode (location: (29,4)-(29,16))
- │ │ │ │ ├── requireds: (length: 1)
- │ │ │ │ │ └── @ RequiredParameterNode (location: (29,4)-(29,5))
- │ │ │ │ │ └── name: :a
- │ │ │ │ ├── optionals: (length: 0)
- │ │ │ │ ├── rest:
- │ │ │ │ │ @ RestParameterNode (location: (29,7)-(29,9))
- │ │ │ │ │ ├── name: :r
- │ │ │ │ │ ├── name_loc: (29,8)-(29,9) = "r"
- │ │ │ │ │ └── operator_loc: (29,7)-(29,8) = "*"
- │ │ │ │ ├── posts: (length: 1)
- │ │ │ │ │ └── @ RequiredParameterNode (location: (29,11)-(29,12))
- │ │ │ │ │ └── name: :p
- │ │ │ │ ├── keywords: (length: 0)
- │ │ │ │ ├── keyword_rest: ∅
- │ │ │ │ └── block:
- │ │ │ │ @ BlockParameterNode (location: (29,14)-(29,16))
- │ │ │ │ ├── name: :b
- │ │ │ │ ├── name_loc: (29,15)-(29,16) = "b"
- │ │ │ │ └── operator_loc: (29,14)-(29,15) = "&"
- │ │ │ ├── locals: (length: 0)
- │ │ │ ├── opening_loc: (29,3)-(29,4) = "|"
- │ │ │ └── closing_loc: (29,16)-(29,17) = "|"
- │ │ ├── body: ∅
- │ │ ├── opening_loc: (29,1)-(29,2) = "{"
- │ │ └── closing_loc: (29,18)-(29,19) = "}"
- │ └── flags: ∅
+ │ └── block:
+ │ @ BlockNode (location: (29,1)-(29,19))
+ │ ├── locals: [:a, :r, :p, :b]
+ │ ├── locals_body_index: 4
+ │ ├── parameters:
+ │ │ @ BlockParametersNode (location: (29,3)-(29,17))
+ │ │ ├── parameters:
+ │ │ │ @ ParametersNode (location: (29,4)-(29,16))
+ │ │ │ ├── requireds: (length: 1)
+ │ │ │ │ └── @ RequiredParameterNode (location: (29,4)-(29,5))
+ │ │ │ │ └── name: :a
+ │ │ │ ├── optionals: (length: 0)
+ │ │ │ ├── rest:
+ │ │ │ │ @ RestParameterNode (location: (29,7)-(29,9))
+ │ │ │ │ ├── name: :r
+ │ │ │ │ ├── name_loc: (29,8)-(29,9) = "r"
+ │ │ │ │ └── operator_loc: (29,7)-(29,8) = "*"
+ │ │ │ ├── posts: (length: 1)
+ │ │ │ │ └── @ RequiredParameterNode (location: (29,11)-(29,12))
+ │ │ │ │ └── name: :p
+ │ │ │ ├── keywords: (length: 0)
+ │ │ │ ├── keyword_rest: ∅
+ │ │ │ └── block:
+ │ │ │ @ BlockParameterNode (location: (29,14)-(29,16))
+ │ │ │ ├── name: :b
+ │ │ │ ├── name_loc: (29,15)-(29,16) = "b"
+ │ │ │ └── operator_loc: (29,14)-(29,15) = "&"
+ │ │ ├── locals: (length: 0)
+ │ │ ├── opening_loc: (29,3)-(29,4) = "|"
+ │ │ └── closing_loc: (29,16)-(29,17) = "|"
+ │ ├── body: ∅
+ │ ├── opening_loc: (29,1)-(29,2) = "{"
+ │ └── closing_loc: (29,18)-(29,19) = "}"
├── @ CallNode (location: (31,0)-(31,16))
+ │ ├── flags: ∅
│ ├── receiver: ∅
│ ├── call_operator_loc: ∅
│ ├── name: :f
@@ -472,39 +473,39 @@
│ ├── opening_loc: ∅
│ ├── arguments: ∅
│ ├── closing_loc: ∅
- │ ├── block:
- │ │ @ BlockNode (location: (31,1)-(31,16))
- │ │ ├── locals: [:a, :s, :b]
- │ │ ├── locals_body_index: 3
- │ │ ├── parameters:
- │ │ │ @ BlockParametersNode (location: (31,3)-(31,14))
- │ │ │ ├── parameters:
- │ │ │ │ @ ParametersNode (location: (31,4)-(31,13))
- │ │ │ │ ├── requireds: (length: 1)
- │ │ │ │ │ └── @ RequiredParameterNode (location: (31,4)-(31,5))
- │ │ │ │ │ └── name: :a
- │ │ │ │ ├── optionals: (length: 0)
- │ │ │ │ ├── rest:
- │ │ │ │ │ @ RestParameterNode (location: (31,7)-(31,9))
- │ │ │ │ │ ├── name: :s
- │ │ │ │ │ ├── name_loc: (31,8)-(31,9) = "s"
- │ │ │ │ │ └── operator_loc: (31,7)-(31,8) = "*"
- │ │ │ │ ├── posts: (length: 0)
- │ │ │ │ ├── keywords: (length: 0)
- │ │ │ │ ├── keyword_rest: ∅
- │ │ │ │ └── block:
- │ │ │ │ @ BlockParameterNode (location: (31,11)-(31,13))
- │ │ │ │ ├── name: :b
- │ │ │ │ ├── name_loc: (31,12)-(31,13) = "b"
- │ │ │ │ └── operator_loc: (31,11)-(31,12) = "&"
- │ │ │ ├── locals: (length: 0)
- │ │ │ ├── opening_loc: (31,3)-(31,4) = "|"
- │ │ │ └── closing_loc: (31,13)-(31,14) = "|"
- │ │ ├── body: ∅
- │ │ ├── opening_loc: (31,1)-(31,2) = "{"
- │ │ └── closing_loc: (31,15)-(31,16) = "}"
- │ └── flags: ∅
+ │ └── block:
+ │ @ BlockNode (location: (31,1)-(31,16))
+ │ ├── locals: [:a, :s, :b]
+ │ ├── locals_body_index: 3
+ │ ├── parameters:
+ │ │ @ BlockParametersNode (location: (31,3)-(31,14))
+ │ │ ├── parameters:
+ │ │ │ @ ParametersNode (location: (31,4)-(31,13))
+ │ │ │ ├── requireds: (length: 1)
+ │ │ │ │ └── @ RequiredParameterNode (location: (31,4)-(31,5))
+ │ │ │ │ └── name: :a
+ │ │ │ ├── optionals: (length: 0)
+ │ │ │ ├── rest:
+ │ │ │ │ @ RestParameterNode (location: (31,7)-(31,9))
+ │ │ │ │ ├── name: :s
+ │ │ │ │ ├── name_loc: (31,8)-(31,9) = "s"
+ │ │ │ │ └── operator_loc: (31,7)-(31,8) = "*"
+ │ │ │ ├── posts: (length: 0)
+ │ │ │ ├── keywords: (length: 0)
+ │ │ │ ├── keyword_rest: ∅
+ │ │ │ └── block:
+ │ │ │ @ BlockParameterNode (location: (31,11)-(31,13))
+ │ │ │ ├── name: :b
+ │ │ │ ├── name_loc: (31,12)-(31,13) = "b"
+ │ │ │ └── operator_loc: (31,11)-(31,12) = "&"
+ │ │ ├── locals: (length: 0)
+ │ │ ├── opening_loc: (31,3)-(31,4) = "|"
+ │ │ └── closing_loc: (31,13)-(31,14) = "|"
+ │ ├── body: ∅
+ │ ├── opening_loc: (31,1)-(31,2) = "{"
+ │ └── closing_loc: (31,15)-(31,16) = "}"
├── @ CallNode (location: (33,0)-(33,12))
+ │ ├── flags: ∅
│ ├── receiver: ∅
│ ├── call_operator_loc: ∅
│ ├── name: :f
@@ -512,35 +513,35 @@
│ ├── opening_loc: ∅
│ ├── arguments: ∅
│ ├── closing_loc: ∅
- │ ├── block:
- │ │ @ BlockNode (location: (33,1)-(33,12))
- │ │ ├── locals: [:a, :s]
- │ │ ├── locals_body_index: 2
- │ │ ├── parameters:
- │ │ │ @ BlockParametersNode (location: (33,3)-(33,10))
- │ │ │ ├── parameters:
- │ │ │ │ @ ParametersNode (location: (33,4)-(33,9))
- │ │ │ │ ├── requireds: (length: 1)
- │ │ │ │ │ └── @ RequiredParameterNode (location: (33,4)-(33,5))
- │ │ │ │ │ └── name: :a
- │ │ │ │ ├── optionals: (length: 0)
- │ │ │ │ ├── rest:
- │ │ │ │ │ @ RestParameterNode (location: (33,7)-(33,9))
- │ │ │ │ │ ├── name: :s
- │ │ │ │ │ ├── name_loc: (33,8)-(33,9) = "s"
- │ │ │ │ │ └── operator_loc: (33,7)-(33,8) = "*"
- │ │ │ │ ├── posts: (length: 0)
- │ │ │ │ ├── keywords: (length: 0)
- │ │ │ │ ├── keyword_rest: ∅
- │ │ │ │ └── block: ∅
- │ │ │ ├── locals: (length: 0)
- │ │ │ ├── opening_loc: (33,3)-(33,4) = "|"
- │ │ │ └── closing_loc: (33,9)-(33,10) = "|"
- │ │ ├── body: ∅
- │ │ ├── opening_loc: (33,1)-(33,2) = "{"
- │ │ └── closing_loc: (33,11)-(33,12) = "}"
- │ └── flags: ∅
+ │ └── block:
+ │ @ BlockNode (location: (33,1)-(33,12))
+ │ ├── locals: [:a, :s]
+ │ ├── locals_body_index: 2
+ │ ├── parameters:
+ │ │ @ BlockParametersNode (location: (33,3)-(33,10))
+ │ │ ├── parameters:
+ │ │ │ @ ParametersNode (location: (33,4)-(33,9))
+ │ │ │ ├── requireds: (length: 1)
+ │ │ │ │ └── @ RequiredParameterNode (location: (33,4)-(33,5))
+ │ │ │ │ └── name: :a
+ │ │ │ ├── optionals: (length: 0)
+ │ │ │ ├── rest:
+ │ │ │ │ @ RestParameterNode (location: (33,7)-(33,9))
+ │ │ │ │ ├── name: :s
+ │ │ │ │ ├── name_loc: (33,8)-(33,9) = "s"
+ │ │ │ │ └── operator_loc: (33,7)-(33,8) = "*"
+ │ │ │ ├── posts: (length: 0)
+ │ │ │ ├── keywords: (length: 0)
+ │ │ │ ├── keyword_rest: ∅
+ │ │ │ └── block: ∅
+ │ │ ├── locals: (length: 0)
+ │ │ ├── opening_loc: (33,3)-(33,4) = "|"
+ │ │ └── closing_loc: (33,9)-(33,10) = "|"
+ │ ├── body: ∅
+ │ ├── opening_loc: (33,1)-(33,2) = "{"
+ │ └── closing_loc: (33,11)-(33,12) = "}"
├── @ CallNode (location: (35,0)-(35,11))
+ │ ├── flags: ∅
│ ├── receiver: ∅
│ ├── call_operator_loc: ∅
│ ├── name: :f
@@ -548,35 +549,35 @@
│ ├── opening_loc: ∅
│ ├── arguments: ∅
│ ├── closing_loc: ∅
- │ ├── block:
- │ │ @ BlockNode (location: (35,1)-(35,11))
- │ │ ├── locals: [:a]
- │ │ ├── locals_body_index: 1
- │ │ ├── parameters:
- │ │ │ @ BlockParametersNode (location: (35,3)-(35,9))
- │ │ │ ├── parameters:
- │ │ │ │ @ ParametersNode (location: (35,4)-(35,8))
- │ │ │ │ ├── requireds: (length: 1)
- │ │ │ │ │ └── @ RequiredParameterNode (location: (35,4)-(35,5))
- │ │ │ │ │ └── name: :a
- │ │ │ │ ├── optionals: (length: 0)
- │ │ │ │ ├── rest:
- │ │ │ │ │ @ RestParameterNode (location: (35,7)-(35,8))
- │ │ │ │ │ ├── name: ∅
- │ │ │ │ │ ├── name_loc: ∅
- │ │ │ │ │ └── operator_loc: (35,7)-(35,8) = "*"
- │ │ │ │ ├── posts: (length: 0)
- │ │ │ │ ├── keywords: (length: 0)
- │ │ │ │ ├── keyword_rest: ∅
- │ │ │ │ └── block: ∅
- │ │ │ ├── locals: (length: 0)
- │ │ │ ├── opening_loc: (35,3)-(35,4) = "|"
- │ │ │ └── closing_loc: (35,8)-(35,9) = "|"
- │ │ ├── body: ∅
- │ │ ├── opening_loc: (35,1)-(35,2) = "{"
- │ │ └── closing_loc: (35,10)-(35,11) = "}"
- │ └── flags: ∅
+ │ └── block:
+ │ @ BlockNode (location: (35,1)-(35,11))
+ │ ├── locals: [:a]
+ │ ├── locals_body_index: 1
+ │ ├── parameters:
+ │ │ @ BlockParametersNode (location: (35,3)-(35,9))
+ │ │ ├── parameters:
+ │ │ │ @ ParametersNode (location: (35,4)-(35,8))
+ │ │ │ ├── requireds: (length: 1)
+ │ │ │ │ └── @ RequiredParameterNode (location: (35,4)-(35,5))
+ │ │ │ │ └── name: :a
+ │ │ │ ├── optionals: (length: 0)
+ │ │ │ ├── rest:
+ │ │ │ │ @ RestParameterNode (location: (35,7)-(35,8))
+ │ │ │ │ ├── name: ∅
+ │ │ │ │ ├── name_loc: ∅
+ │ │ │ │ └── operator_loc: (35,7)-(35,8) = "*"
+ │ │ │ ├── posts: (length: 0)
+ │ │ │ ├── keywords: (length: 0)
+ │ │ │ ├── keyword_rest: ∅
+ │ │ │ └── block: ∅
+ │ │ ├── locals: (length: 0)
+ │ │ ├── opening_loc: (35,3)-(35,4) = "|"
+ │ │ └── closing_loc: (35,8)-(35,9) = "|"
+ │ ├── body: ∅
+ │ ├── opening_loc: (35,1)-(35,2) = "{"
+ │ └── closing_loc: (35,10)-(35,11) = "}"
├── @ CallNode (location: (37,0)-(37,12))
+ │ ├── flags: ∅
│ ├── receiver: ∅
│ ├── call_operator_loc: ∅
│ ├── name: :f
@@ -584,34 +585,34 @@
│ ├── opening_loc: ∅
│ ├── arguments: ∅
│ ├── closing_loc: ∅
- │ ├── block:
- │ │ @ BlockNode (location: (37,1)-(37,12))
- │ │ ├── locals: [:a, :b]
- │ │ ├── locals_body_index: 2
- │ │ ├── parameters:
- │ │ │ @ BlockParametersNode (location: (37,3)-(37,10))
- │ │ │ ├── parameters:
- │ │ │ │ @ ParametersNode (location: (37,4)-(37,9))
- │ │ │ │ ├── requireds: (length: 2)
- │ │ │ │ │ ├── @ RequiredParameterNode (location: (37,4)-(37,5))
- │ │ │ │ │ │ └── name: :a
- │ │ │ │ │ └── @ RequiredParameterNode (location: (37,7)-(37,8))
- │ │ │ │ │ └── name: :b
- │ │ │ │ ├── optionals: (length: 0)
- │ │ │ │ ├── rest:
- │ │ │ │ │ @ ImplicitRestNode (location: (37,8)-(37,9))
- │ │ │ │ ├── posts: (length: 0)
- │ │ │ │ ├── keywords: (length: 0)
- │ │ │ │ ├── keyword_rest: ∅
- │ │ │ │ └── block: ∅
- │ │ │ ├── locals: (length: 0)
- │ │ │ ├── opening_loc: (37,3)-(37,4) = "|"
- │ │ │ └── closing_loc: (37,9)-(37,10) = "|"
- │ │ ├── body: ∅
- │ │ ├── opening_loc: (37,1)-(37,2) = "{"
- │ │ └── closing_loc: (37,11)-(37,12) = "}"
- │ └── flags: ∅
+ │ └── block:
+ │ @ BlockNode (location: (37,1)-(37,12))
+ │ ├── locals: [:a, :b]
+ │ ├── locals_body_index: 2
+ │ ├── parameters:
+ │ │ @ BlockParametersNode (location: (37,3)-(37,10))
+ │ │ ├── parameters:
+ │ │ │ @ ParametersNode (location: (37,4)-(37,9))
+ │ │ │ ├── requireds: (length: 2)
+ │ │ │ │ ├── @ RequiredParameterNode (location: (37,4)-(37,5))
+ │ │ │ │ │ └── name: :a
+ │ │ │ │ └── @ RequiredParameterNode (location: (37,7)-(37,8))
+ │ │ │ │ └── name: :b
+ │ │ │ ├── optionals: (length: 0)
+ │ │ │ ├── rest:
+ │ │ │ │ @ ImplicitRestNode (location: (37,8)-(37,9))
+ │ │ │ ├── posts: (length: 0)
+ │ │ │ ├── keywords: (length: 0)
+ │ │ │ ├── keyword_rest: ∅
+ │ │ │ └── block: ∅
+ │ │ ├── locals: (length: 0)
+ │ │ ├── opening_loc: (37,3)-(37,4) = "|"
+ │ │ └── closing_loc: (37,9)-(37,10) = "|"
+ │ ├── body: ∅
+ │ ├── opening_loc: (37,1)-(37,2) = "{"
+ │ └── closing_loc: (37,11)-(37,12) = "}"
├── @ CallNode (location: (39,0)-(39,11))
+ │ ├── flags: ∅
│ ├── receiver: ∅
│ ├── call_operator_loc: ∅
│ ├── name: :f
@@ -619,33 +620,33 @@
│ ├── opening_loc: ∅
│ ├── arguments: ∅
│ ├── closing_loc: ∅
- │ ├── block:
- │ │ @ BlockNode (location: (39,1)-(39,11))
- │ │ ├── locals: [:a, :c]
- │ │ ├── locals_body_index: 2
- │ │ ├── parameters:
- │ │ │ @ BlockParametersNode (location: (39,3)-(39,9))
- │ │ │ ├── parameters:
- │ │ │ │ @ ParametersNode (location: (39,4)-(39,8))
- │ │ │ │ ├── requireds: (length: 2)
- │ │ │ │ │ ├── @ RequiredParameterNode (location: (39,4)-(39,5))
- │ │ │ │ │ │ └── name: :a
- │ │ │ │ │ └── @ RequiredParameterNode (location: (39,7)-(39,8))
- │ │ │ │ │ └── name: :c
- │ │ │ │ ├── optionals: (length: 0)
- │ │ │ │ ├── rest: ∅
- │ │ │ │ ├── posts: (length: 0)
- │ │ │ │ ├── keywords: (length: 0)
- │ │ │ │ ├── keyword_rest: ∅
- │ │ │ │ └── block: ∅
- │ │ │ ├── locals: (length: 0)
- │ │ │ ├── opening_loc: (39,3)-(39,4) = "|"
- │ │ │ └── closing_loc: (39,8)-(39,9) = "|"
- │ │ ├── body: ∅
- │ │ ├── opening_loc: (39,1)-(39,2) = "{"
- │ │ └── closing_loc: (39,10)-(39,11) = "}"
- │ └── flags: ∅
+ │ └── block:
+ │ @ BlockNode (location: (39,1)-(39,11))
+ │ ├── locals: [:a, :c]
+ │ ├── locals_body_index: 2
+ │ ├── parameters:
+ │ │ @ BlockParametersNode (location: (39,3)-(39,9))
+ │ │ ├── parameters:
+ │ │ │ @ ParametersNode (location: (39,4)-(39,8))
+ │ │ │ ├── requireds: (length: 2)
+ │ │ │ │ ├── @ RequiredParameterNode (location: (39,4)-(39,5))
+ │ │ │ │ │ └── name: :a
+ │ │ │ │ └── @ RequiredParameterNode (location: (39,7)-(39,8))
+ │ │ │ │ └── name: :c
+ │ │ │ ├── optionals: (length: 0)
+ │ │ │ ├── rest: ∅
+ │ │ │ ├── posts: (length: 0)
+ │ │ │ ├── keywords: (length: 0)
+ │ │ │ ├── keyword_rest: ∅
+ │ │ │ └── block: ∅
+ │ │ ├── locals: (length: 0)
+ │ │ ├── opening_loc: (39,3)-(39,4) = "|"
+ │ │ └── closing_loc: (39,8)-(39,9) = "|"
+ │ ├── body: ∅
+ │ ├── opening_loc: (39,1)-(39,2) = "{"
+ │ └── closing_loc: (39,10)-(39,11) = "}"
├── @ CallNode (location: (41,0)-(41,17))
+ │ ├── flags: ∅
│ ├── receiver: ∅
│ ├── call_operator_loc: ∅
│ ├── name: :f
@@ -653,42 +654,42 @@
│ ├── opening_loc: ∅
│ ├── arguments: ∅
│ ├── closing_loc: ∅
- │ ├── block:
- │ │ @ BlockNode (location: (41,1)-(41,17))
- │ │ ├── locals: [:a, :o, :b]
- │ │ ├── locals_body_index: 3
- │ │ ├── parameters:
- │ │ │ @ BlockParametersNode (location: (41,3)-(41,15))
- │ │ │ ├── parameters:
- │ │ │ │ @ ParametersNode (location: (41,4)-(41,14))
- │ │ │ │ ├── requireds: (length: 1)
- │ │ │ │ │ └── @ RequiredParameterNode (location: (41,4)-(41,5))
- │ │ │ │ │ └── name: :a
- │ │ │ │ ├── optionals: (length: 1)
- │ │ │ │ │ └── @ OptionalParameterNode (location: (41,7)-(41,10))
- │ │ │ │ │ ├── name: :o
- │ │ │ │ │ ├── name_loc: (41,7)-(41,8) = "o"
- │ │ │ │ │ ├── operator_loc: (41,8)-(41,9) = "="
- │ │ │ │ │ └── value:
- │ │ │ │ │ @ IntegerNode (location: (41,9)-(41,10))
- │ │ │ │ │ └── flags: decimal
- │ │ │ │ ├── rest: ∅
- │ │ │ │ ├── posts: (length: 0)
- │ │ │ │ ├── keywords: (length: 0)
- │ │ │ │ ├── keyword_rest: ∅
- │ │ │ │ └── block:
- │ │ │ │ @ BlockParameterNode (location: (41,12)-(41,14))
- │ │ │ │ ├── name: :b
- │ │ │ │ ├── name_loc: (41,13)-(41,14) = "b"
- │ │ │ │ └── operator_loc: (41,12)-(41,13) = "&"
- │ │ │ ├── locals: (length: 0)
- │ │ │ ├── opening_loc: (41,3)-(41,4) = "|"
- │ │ │ └── closing_loc: (41,14)-(41,15) = "|"
- │ │ ├── body: ∅
- │ │ ├── opening_loc: (41,1)-(41,2) = "{"
- │ │ └── closing_loc: (41,16)-(41,17) = "}"
- │ └── flags: ∅
+ │ └── block:
+ │ @ BlockNode (location: (41,1)-(41,17))
+ │ ├── locals: [:a, :o, :b]
+ │ ├── locals_body_index: 3
+ │ ├── parameters:
+ │ │ @ BlockParametersNode (location: (41,3)-(41,15))
+ │ │ ├── parameters:
+ │ │ │ @ ParametersNode (location: (41,4)-(41,14))
+ │ │ │ ├── requireds: (length: 1)
+ │ │ │ │ └── @ RequiredParameterNode (location: (41,4)-(41,5))
+ │ │ │ │ └── name: :a
+ │ │ │ ├── optionals: (length: 1)
+ │ │ │ │ └── @ OptionalParameterNode (location: (41,7)-(41,10))
+ │ │ │ │ ├── name: :o
+ │ │ │ │ ├── name_loc: (41,7)-(41,8) = "o"
+ │ │ │ │ ├── operator_loc: (41,8)-(41,9) = "="
+ │ │ │ │ └── value:
+ │ │ │ │ @ IntegerNode (location: (41,9)-(41,10))
+ │ │ │ │ └── flags: decimal
+ │ │ │ ├── rest: ∅
+ │ │ │ ├── posts: (length: 0)
+ │ │ │ ├── keywords: (length: 0)
+ │ │ │ ├── keyword_rest: ∅
+ │ │ │ └── block:
+ │ │ │ @ BlockParameterNode (location: (41,12)-(41,14))
+ │ │ │ ├── name: :b
+ │ │ │ ├── name_loc: (41,13)-(41,14) = "b"
+ │ │ │ └── operator_loc: (41,12)-(41,13) = "&"
+ │ │ ├── locals: (length: 0)
+ │ │ ├── opening_loc: (41,3)-(41,4) = "|"
+ │ │ └── closing_loc: (41,14)-(41,15) = "|"
+ │ ├── body: ∅
+ │ ├── opening_loc: (41,1)-(41,2) = "{"
+ │ └── closing_loc: (41,16)-(41,17) = "}"
├── @ CallNode (location: (43,0)-(43,24))
+ │ ├── flags: ∅
│ ├── receiver: ∅
│ ├── call_operator_loc: ∅
│ ├── name: :f
@@ -696,48 +697,48 @@
│ ├── opening_loc: ∅
│ ├── arguments: ∅
│ ├── closing_loc: ∅
- │ ├── block:
- │ │ @ BlockNode (location: (43,1)-(43,24))
- │ │ ├── locals: [:a, :o, :r, :p, :b]
- │ │ ├── locals_body_index: 5
- │ │ ├── parameters:
- │ │ │ @ BlockParametersNode (location: (43,3)-(43,22))
- │ │ │ ├── parameters:
- │ │ │ │ @ ParametersNode (location: (43,4)-(43,21))
- │ │ │ │ ├── requireds: (length: 1)
- │ │ │ │ │ └── @ RequiredParameterNode (location: (43,4)-(43,5))
- │ │ │ │ │ └── name: :a
- │ │ │ │ ├── optionals: (length: 1)
- │ │ │ │ │ └── @ OptionalParameterNode (location: (43,7)-(43,10))
- │ │ │ │ │ ├── name: :o
- │ │ │ │ │ ├── name_loc: (43,7)-(43,8) = "o"
- │ │ │ │ │ ├── operator_loc: (43,8)-(43,9) = "="
- │ │ │ │ │ └── value:
- │ │ │ │ │ @ IntegerNode (location: (43,9)-(43,10))
- │ │ │ │ │ └── flags: decimal
- │ │ │ │ ├── rest:
- │ │ │ │ │ @ RestParameterNode (location: (43,12)-(43,14))
- │ │ │ │ │ ├── name: :r
- │ │ │ │ │ ├── name_loc: (43,13)-(43,14) = "r"
- │ │ │ │ │ └── operator_loc: (43,12)-(43,13) = "*"
- │ │ │ │ ├── posts: (length: 1)
- │ │ │ │ │ └── @ RequiredParameterNode (location: (43,16)-(43,17))
- │ │ │ │ │ └── name: :p
- │ │ │ │ ├── keywords: (length: 0)
- │ │ │ │ ├── keyword_rest: ∅
- │ │ │ │ └── block:
- │ │ │ │ @ BlockParameterNode (location: (43,19)-(43,21))
- │ │ │ │ ├── name: :b
- │ │ │ │ ├── name_loc: (43,20)-(43,21) = "b"
- │ │ │ │ └── operator_loc: (43,19)-(43,20) = "&"
- │ │ │ ├── locals: (length: 0)
- │ │ │ ├── opening_loc: (43,3)-(43,4) = "|"
- │ │ │ └── closing_loc: (43,21)-(43,22) = "|"
- │ │ ├── body: ∅
- │ │ ├── opening_loc: (43,1)-(43,2) = "{"
- │ │ └── closing_loc: (43,23)-(43,24) = "}"
- │ └── flags: ∅
+ │ └── block:
+ │ @ BlockNode (location: (43,1)-(43,24))
+ │ ├── locals: [:a, :o, :r, :p, :b]
+ │ ├── locals_body_index: 5
+ │ ├── parameters:
+ │ │ @ BlockParametersNode (location: (43,3)-(43,22))
+ │ │ ├── parameters:
+ │ │ │ @ ParametersNode (location: (43,4)-(43,21))
+ │ │ │ ├── requireds: (length: 1)
+ │ │ │ │ └── @ RequiredParameterNode (location: (43,4)-(43,5))
+ │ │ │ │ └── name: :a
+ │ │ │ ├── optionals: (length: 1)
+ │ │ │ │ └── @ OptionalParameterNode (location: (43,7)-(43,10))
+ │ │ │ │ ├── name: :o
+ │ │ │ │ ├── name_loc: (43,7)-(43,8) = "o"
+ │ │ │ │ ├── operator_loc: (43,8)-(43,9) = "="
+ │ │ │ │ └── value:
+ │ │ │ │ @ IntegerNode (location: (43,9)-(43,10))
+ │ │ │ │ └── flags: decimal
+ │ │ │ ├── rest:
+ │ │ │ │ @ RestParameterNode (location: (43,12)-(43,14))
+ │ │ │ │ ├── name: :r
+ │ │ │ │ ├── name_loc: (43,13)-(43,14) = "r"
+ │ │ │ │ └── operator_loc: (43,12)-(43,13) = "*"
+ │ │ │ ├── posts: (length: 1)
+ │ │ │ │ └── @ RequiredParameterNode (location: (43,16)-(43,17))
+ │ │ │ │ └── name: :p
+ │ │ │ ├── keywords: (length: 0)
+ │ │ │ ├── keyword_rest: ∅
+ │ │ │ └── block:
+ │ │ │ @ BlockParameterNode (location: (43,19)-(43,21))
+ │ │ │ ├── name: :b
+ │ │ │ ├── name_loc: (43,20)-(43,21) = "b"
+ │ │ │ └── operator_loc: (43,19)-(43,20) = "&"
+ │ │ ├── locals: (length: 0)
+ │ │ ├── opening_loc: (43,3)-(43,4) = "|"
+ │ │ └── closing_loc: (43,21)-(43,22) = "|"
+ │ ├── body: ∅
+ │ ├── opening_loc: (43,1)-(43,2) = "{"
+ │ └── closing_loc: (43,23)-(43,24) = "}"
├── @ CallNode (location: (45,0)-(45,27))
+ │ ├── flags: ∅
│ ├── receiver: ∅
│ ├── call_operator_loc: ∅
│ ├── name: :f
@@ -745,53 +746,53 @@
│ ├── opening_loc: ∅
│ ├── arguments: ∅
│ ├── closing_loc: ∅
- │ ├── block:
- │ │ @ BlockNode (location: (45,1)-(45,27))
- │ │ ├── locals: [:a, :o, :o1, :r, :b]
- │ │ ├── locals_body_index: 5
- │ │ ├── parameters:
- │ │ │ @ BlockParametersNode (location: (45,3)-(45,25))
- │ │ │ ├── parameters:
- │ │ │ │ @ ParametersNode (location: (45,4)-(45,24))
- │ │ │ │ ├── requireds: (length: 1)
- │ │ │ │ │ └── @ RequiredParameterNode (location: (45,4)-(45,5))
- │ │ │ │ │ └── name: :a
- │ │ │ │ ├── optionals: (length: 2)
- │ │ │ │ │ ├── @ OptionalParameterNode (location: (45,7)-(45,10))
- │ │ │ │ │ │ ├── name: :o
- │ │ │ │ │ │ ├── name_loc: (45,7)-(45,8) = "o"
- │ │ │ │ │ │ ├── operator_loc: (45,8)-(45,9) = "="
- │ │ │ │ │ │ └── value:
- │ │ │ │ │ │ @ IntegerNode (location: (45,9)-(45,10))
- │ │ │ │ │ │ └── flags: decimal
- │ │ │ │ │ └── @ OptionalParameterNode (location: (45,12)-(45,16))
- │ │ │ │ │ ├── name: :o1
- │ │ │ │ │ ├── name_loc: (45,12)-(45,14) = "o1"
- │ │ │ │ │ ├── operator_loc: (45,14)-(45,15) = "="
- │ │ │ │ │ └── value:
- │ │ │ │ │ @ IntegerNode (location: (45,15)-(45,16))
- │ │ │ │ │ └── flags: decimal
- │ │ │ │ ├── rest:
- │ │ │ │ │ @ RestParameterNode (location: (45,18)-(45,20))
- │ │ │ │ │ ├── name: :r
- │ │ │ │ │ ├── name_loc: (45,19)-(45,20) = "r"
- │ │ │ │ │ └── operator_loc: (45,18)-(45,19) = "*"
- │ │ │ │ ├── posts: (length: 0)
- │ │ │ │ ├── keywords: (length: 0)
- │ │ │ │ ├── keyword_rest: ∅
- │ │ │ │ └── block:
- │ │ │ │ @ BlockParameterNode (location: (45,22)-(45,24))
- │ │ │ │ ├── name: :b
- │ │ │ │ ├── name_loc: (45,23)-(45,24) = "b"
- │ │ │ │ └── operator_loc: (45,22)-(45,23) = "&"
- │ │ │ ├── locals: (length: 0)
- │ │ │ ├── opening_loc: (45,3)-(45,4) = "|"
- │ │ │ └── closing_loc: (45,24)-(45,25) = "|"
- │ │ ├── body: ∅
- │ │ ├── opening_loc: (45,1)-(45,2) = "{"
- │ │ └── closing_loc: (45,26)-(45,27) = "}"
- │ └── flags: ∅
+ │ └── block:
+ │ @ BlockNode (location: (45,1)-(45,27))
+ │ ├── locals: [:a, :o, :o1, :r, :b]
+ │ ├── locals_body_index: 5
+ │ ├── parameters:
+ │ │ @ BlockParametersNode (location: (45,3)-(45,25))
+ │ │ ├── parameters:
+ │ │ │ @ ParametersNode (location: (45,4)-(45,24))
+ │ │ │ ├── requireds: (length: 1)
+ │ │ │ │ └── @ RequiredParameterNode (location: (45,4)-(45,5))
+ │ │ │ │ └── name: :a
+ │ │ │ ├── optionals: (length: 2)
+ │ │ │ │ ├── @ OptionalParameterNode (location: (45,7)-(45,10))
+ │ │ │ │ │ ├── name: :o
+ │ │ │ │ │ ├── name_loc: (45,7)-(45,8) = "o"
+ │ │ │ │ │ ├── operator_loc: (45,8)-(45,9) = "="
+ │ │ │ │ │ └── value:
+ │ │ │ │ │ @ IntegerNode (location: (45,9)-(45,10))
+ │ │ │ │ │ └── flags: decimal
+ │ │ │ │ └── @ OptionalParameterNode (location: (45,12)-(45,16))
+ │ │ │ │ ├── name: :o1
+ │ │ │ │ ├── name_loc: (45,12)-(45,14) = "o1"
+ │ │ │ │ ├── operator_loc: (45,14)-(45,15) = "="
+ │ │ │ │ └── value:
+ │ │ │ │ @ IntegerNode (location: (45,15)-(45,16))
+ │ │ │ │ └── flags: decimal
+ │ │ │ ├── rest:
+ │ │ │ │ @ RestParameterNode (location: (45,18)-(45,20))
+ │ │ │ │ ├── name: :r
+ │ │ │ │ ├── name_loc: (45,19)-(45,20) = "r"
+ │ │ │ │ └── operator_loc: (45,18)-(45,19) = "*"
+ │ │ │ ├── posts: (length: 0)
+ │ │ │ ├── keywords: (length: 0)
+ │ │ │ ├── keyword_rest: ∅
+ │ │ │ └── block:
+ │ │ │ @ BlockParameterNode (location: (45,22)-(45,24))
+ │ │ │ ├── name: :b
+ │ │ │ ├── name_loc: (45,23)-(45,24) = "b"
+ │ │ │ └── operator_loc: (45,22)-(45,23) = "&"
+ │ │ ├── locals: (length: 0)
+ │ │ ├── opening_loc: (45,3)-(45,4) = "|"
+ │ │ └── closing_loc: (45,24)-(45,25) = "|"
+ │ ├── body: ∅
+ │ ├── opening_loc: (45,1)-(45,2) = "{"
+ │ └── closing_loc: (45,26)-(45,27) = "}"
├── @ CallNode (location: (47,0)-(47,20))
+ │ ├── flags: ∅
│ ├── receiver: ∅
│ ├── call_operator_loc: ∅
│ ├── name: :f
@@ -799,44 +800,44 @@
│ ├── opening_loc: ∅
│ ├── arguments: ∅
│ ├── closing_loc: ∅
- │ ├── block:
- │ │ @ BlockNode (location: (47,1)-(47,20))
- │ │ ├── locals: [:a, :o, :p, :b]
- │ │ ├── locals_body_index: 4
- │ │ ├── parameters:
- │ │ │ @ BlockParametersNode (location: (47,3)-(47,18))
- │ │ │ ├── parameters:
- │ │ │ │ @ ParametersNode (location: (47,4)-(47,17))
- │ │ │ │ ├── requireds: (length: 1)
- │ │ │ │ │ └── @ RequiredParameterNode (location: (47,4)-(47,5))
- │ │ │ │ │ └── name: :a
- │ │ │ │ ├── optionals: (length: 1)
- │ │ │ │ │ └── @ OptionalParameterNode (location: (47,7)-(47,10))
- │ │ │ │ │ ├── name: :o
- │ │ │ │ │ ├── name_loc: (47,7)-(47,8) = "o"
- │ │ │ │ │ ├── operator_loc: (47,8)-(47,9) = "="
- │ │ │ │ │ └── value:
- │ │ │ │ │ @ IntegerNode (location: (47,9)-(47,10))
- │ │ │ │ │ └── flags: decimal
- │ │ │ │ ├── rest: ∅
- │ │ │ │ ├── posts: (length: 1)
- │ │ │ │ │ └── @ RequiredParameterNode (location: (47,12)-(47,13))
- │ │ │ │ │ └── name: :p
- │ │ │ │ ├── keywords: (length: 0)
- │ │ │ │ ├── keyword_rest: ∅
- │ │ │ │ └── block:
- │ │ │ │ @ BlockParameterNode (location: (47,15)-(47,17))
- │ │ │ │ ├── name: :b
- │ │ │ │ ├── name_loc: (47,16)-(47,17) = "b"
- │ │ │ │ └── operator_loc: (47,15)-(47,16) = "&"
- │ │ │ ├── locals: (length: 0)
- │ │ │ ├── opening_loc: (47,3)-(47,4) = "|"
- │ │ │ └── closing_loc: (47,17)-(47,18) = "|"
- │ │ ├── body: ∅
- │ │ ├── opening_loc: (47,1)-(47,2) = "{"
- │ │ └── closing_loc: (47,19)-(47,20) = "}"
- │ └── flags: ∅
+ │ └── block:
+ │ @ BlockNode (location: (47,1)-(47,20))
+ │ ├── locals: [:a, :o, :p, :b]
+ │ ├── locals_body_index: 4
+ │ ├── parameters:
+ │ │ @ BlockParametersNode (location: (47,3)-(47,18))
+ │ │ ├── parameters:
+ │ │ │ @ ParametersNode (location: (47,4)-(47,17))
+ │ │ │ ├── requireds: (length: 1)
+ │ │ │ │ └── @ RequiredParameterNode (location: (47,4)-(47,5))
+ │ │ │ │ └── name: :a
+ │ │ │ ├── optionals: (length: 1)
+ │ │ │ │ └── @ OptionalParameterNode (location: (47,7)-(47,10))
+ │ │ │ │ ├── name: :o
+ │ │ │ │ ├── name_loc: (47,7)-(47,8) = "o"
+ │ │ │ │ ├── operator_loc: (47,8)-(47,9) = "="
+ │ │ │ │ └── value:
+ │ │ │ │ @ IntegerNode (location: (47,9)-(47,10))
+ │ │ │ │ └── flags: decimal
+ │ │ │ ├── rest: ∅
+ │ │ │ ├── posts: (length: 1)
+ │ │ │ │ └── @ RequiredParameterNode (location: (47,12)-(47,13))
+ │ │ │ │ └── name: :p
+ │ │ │ ├── keywords: (length: 0)
+ │ │ │ ├── keyword_rest: ∅
+ │ │ │ └── block:
+ │ │ │ @ BlockParameterNode (location: (47,15)-(47,17))
+ │ │ │ ├── name: :b
+ │ │ │ ├── name_loc: (47,16)-(47,17) = "b"
+ │ │ │ └── operator_loc: (47,15)-(47,16) = "&"
+ │ │ ├── locals: (length: 0)
+ │ │ ├── opening_loc: (47,3)-(47,4) = "|"
+ │ │ └── closing_loc: (47,17)-(47,18) = "|"
+ │ ├── body: ∅
+ │ ├── opening_loc: (47,1)-(47,2) = "{"
+ │ └── closing_loc: (47,19)-(47,20) = "}"
├── @ CallNode (location: (49,0)-(49,9))
+ │ ├── flags: ∅
│ ├── receiver: ∅
│ ├── call_operator_loc: ∅
│ ├── name: :f
@@ -844,32 +845,32 @@
│ ├── opening_loc: ∅
│ ├── arguments: ∅
│ ├── closing_loc: ∅
- │ ├── block:
- │ │ @ BlockNode (location: (49,1)-(49,9))
- │ │ ├── locals: [:a]
- │ │ ├── locals_body_index: 1
- │ │ ├── parameters:
- │ │ │ @ BlockParametersNode (location: (49,3)-(49,7))
- │ │ │ ├── parameters:
- │ │ │ │ @ ParametersNode (location: (49,4)-(49,6))
- │ │ │ │ ├── requireds: (length: 1)
- │ │ │ │ │ └── @ RequiredParameterNode (location: (49,4)-(49,5))
- │ │ │ │ │ └── name: :a
- │ │ │ │ ├── optionals: (length: 0)
- │ │ │ │ ├── rest:
- │ │ │ │ │ @ ImplicitRestNode (location: (49,5)-(49,6))
- │ │ │ │ ├── posts: (length: 0)
- │ │ │ │ ├── keywords: (length: 0)
- │ │ │ │ ├── keyword_rest: ∅
- │ │ │ │ └── block: ∅
- │ │ │ ├── locals: (length: 0)
- │ │ │ ├── opening_loc: (49,3)-(49,4) = "|"
- │ │ │ └── closing_loc: (49,6)-(49,7) = "|"
- │ │ ├── body: ∅
- │ │ ├── opening_loc: (49,1)-(49,2) = "{"
- │ │ └── closing_loc: (49,8)-(49,9) = "}"
- │ └── flags: ∅
+ │ └── block:
+ │ @ BlockNode (location: (49,1)-(49,9))
+ │ ├── locals: [:a]
+ │ ├── locals_body_index: 1
+ │ ├── parameters:
+ │ │ @ BlockParametersNode (location: (49,3)-(49,7))
+ │ │ ├── parameters:
+ │ │ │ @ ParametersNode (location: (49,4)-(49,6))
+ │ │ │ ├── requireds: (length: 1)
+ │ │ │ │ └── @ RequiredParameterNode (location: (49,4)-(49,5))
+ │ │ │ │ └── name: :a
+ │ │ │ ├── optionals: (length: 0)
+ │ │ │ ├── rest:
+ │ │ │ │ @ ImplicitRestNode (location: (49,5)-(49,6))
+ │ │ │ ├── posts: (length: 0)
+ │ │ │ ├── keywords: (length: 0)
+ │ │ │ ├── keyword_rest: ∅
+ │ │ │ └── block: ∅
+ │ │ ├── locals: (length: 0)
+ │ │ ├── opening_loc: (49,3)-(49,4) = "|"
+ │ │ └── closing_loc: (49,6)-(49,7) = "|"
+ │ ├── body: ∅
+ │ ├── opening_loc: (49,1)-(49,2) = "{"
+ │ └── closing_loc: (49,8)-(49,9) = "}"
├── @ CallNode (location: (51,0)-(51,8))
+ │ ├── flags: ∅
│ ├── receiver: ∅
│ ├── call_operator_loc: ∅
│ ├── name: :f
@@ -877,31 +878,31 @@
│ ├── opening_loc: ∅
│ ├── arguments: ∅
│ ├── closing_loc: ∅
- │ ├── block:
- │ │ @ BlockNode (location: (51,1)-(51,8))
- │ │ ├── locals: [:a]
- │ │ ├── locals_body_index: 1
- │ │ ├── parameters:
- │ │ │ @ BlockParametersNode (location: (51,3)-(51,6))
- │ │ │ ├── parameters:
- │ │ │ │ @ ParametersNode (location: (51,4)-(51,5))
- │ │ │ │ ├── requireds: (length: 1)
- │ │ │ │ │ └── @ RequiredParameterNode (location: (51,4)-(51,5))
- │ │ │ │ │ └── name: :a
- │ │ │ │ ├── optionals: (length: 0)
- │ │ │ │ ├── rest: ∅
- │ │ │ │ ├── posts: (length: 0)
- │ │ │ │ ├── keywords: (length: 0)
- │ │ │ │ ├── keyword_rest: ∅
- │ │ │ │ └── block: ∅
- │ │ │ ├── locals: (length: 0)
- │ │ │ ├── opening_loc: (51,3)-(51,4) = "|"
- │ │ │ └── closing_loc: (51,5)-(51,6) = "|"
- │ │ ├── body: ∅
- │ │ ├── opening_loc: (51,1)-(51,2) = "{"
- │ │ └── closing_loc: (51,7)-(51,8) = "}"
- │ └── flags: ∅
+ │ └── block:
+ │ @ BlockNode (location: (51,1)-(51,8))
+ │ ├── locals: [:a]
+ │ ├── locals_body_index: 1
+ │ ├── parameters:
+ │ │ @ BlockParametersNode (location: (51,3)-(51,6))
+ │ │ ├── parameters:
+ │ │ │ @ ParametersNode (location: (51,4)-(51,5))
+ │ │ │ ├── requireds: (length: 1)
+ │ │ │ │ └── @ RequiredParameterNode (location: (51,4)-(51,5))
+ │ │ │ │ └── name: :a
+ │ │ │ ├── optionals: (length: 0)
+ │ │ │ ├── rest: ∅
+ │ │ │ ├── posts: (length: 0)
+ │ │ │ ├── keywords: (length: 0)
+ │ │ │ ├── keyword_rest: ∅
+ │ │ │ └── block: ∅
+ │ │ ├── locals: (length: 0)
+ │ │ ├── opening_loc: (51,3)-(51,4) = "|"
+ │ │ └── closing_loc: (51,5)-(51,6) = "|"
+ │ ├── body: ∅
+ │ ├── opening_loc: (51,1)-(51,2) = "{"
+ │ └── closing_loc: (51,7)-(51,8) = "}"
├── @ CallNode (location: (53,0)-(53,8))
+ │ ├── flags: ∅
│ ├── receiver: ∅
│ ├── call_operator_loc: ∅
│ ├── name: :f
@@ -909,31 +910,31 @@
│ ├── opening_loc: ∅
│ ├── arguments: ∅
│ ├── closing_loc: ∅
- │ ├── block:
- │ │ @ BlockNode (location: (53,1)-(53,8))
- │ │ ├── locals: [:a]
- │ │ ├── locals_body_index: 1
- │ │ ├── parameters:
- │ │ │ @ BlockParametersNode (location: (53,3)-(53,6))
- │ │ │ ├── parameters:
- │ │ │ │ @ ParametersNode (location: (53,4)-(53,5))
- │ │ │ │ ├── requireds: (length: 1)
- │ │ │ │ │ └── @ RequiredParameterNode (location: (53,4)-(53,5))
- │ │ │ │ │ └── name: :a
- │ │ │ │ ├── optionals: (length: 0)
- │ │ │ │ ├── rest: ∅
- │ │ │ │ ├── posts: (length: 0)
- │ │ │ │ ├── keywords: (length: 0)
- │ │ │ │ ├── keyword_rest: ∅
- │ │ │ │ └── block: ∅
- │ │ │ ├── locals: (length: 0)
- │ │ │ ├── opening_loc: (53,3)-(53,4) = "|"
- │ │ │ └── closing_loc: (53,5)-(53,6) = "|"
- │ │ ├── body: ∅
- │ │ ├── opening_loc: (53,1)-(53,2) = "{"
- │ │ └── closing_loc: (53,7)-(53,8) = "}"
- │ └── flags: ∅
+ │ └── block:
+ │ @ BlockNode (location: (53,1)-(53,8))
+ │ ├── locals: [:a]
+ │ ├── locals_body_index: 1
+ │ ├── parameters:
+ │ │ @ BlockParametersNode (location: (53,3)-(53,6))
+ │ │ ├── parameters:
+ │ │ │ @ ParametersNode (location: (53,4)-(53,5))
+ │ │ │ ├── requireds: (length: 1)
+ │ │ │ │ └── @ RequiredParameterNode (location: (53,4)-(53,5))
+ │ │ │ │ └── name: :a
+ │ │ │ ├── optionals: (length: 0)
+ │ │ │ ├── rest: ∅
+ │ │ │ ├── posts: (length: 0)
+ │ │ │ ├── keywords: (length: 0)
+ │ │ │ ├── keyword_rest: ∅
+ │ │ │ └── block: ∅
+ │ │ ├── locals: (length: 0)
+ │ │ ├── opening_loc: (53,3)-(53,4) = "|"
+ │ │ └── closing_loc: (53,5)-(53,6) = "|"
+ │ ├── body: ∅
+ │ ├── opening_loc: (53,1)-(53,2) = "{"
+ │ └── closing_loc: (53,7)-(53,8) = "}"
├── @ CallNode (location: (55,0)-(55,8))
+ │ ├── flags: ∅
│ ├── receiver: ∅
│ ├── call_operator_loc: ∅
│ ├── name: :f
@@ -941,31 +942,31 @@
│ ├── opening_loc: ∅
│ ├── arguments: ∅
│ ├── closing_loc: ∅
- │ ├── block:
- │ │ @ BlockNode (location: (55,1)-(55,8))
- │ │ ├── locals: [:a]
- │ │ ├── locals_body_index: 1
- │ │ ├── parameters:
- │ │ │ @ BlockParametersNode (location: (55,3)-(55,6))
- │ │ │ ├── parameters:
- │ │ │ │ @ ParametersNode (location: (55,4)-(55,5))
- │ │ │ │ ├── requireds: (length: 1)
- │ │ │ │ │ └── @ RequiredParameterNode (location: (55,4)-(55,5))
- │ │ │ │ │ └── name: :a
- │ │ │ │ ├── optionals: (length: 0)
- │ │ │ │ ├── rest: ∅
- │ │ │ │ ├── posts: (length: 0)
- │ │ │ │ ├── keywords: (length: 0)
- │ │ │ │ ├── keyword_rest: ∅
- │ │ │ │ └── block: ∅
- │ │ │ ├── locals: (length: 0)
- │ │ │ ├── opening_loc: (55,3)-(55,4) = "|"
- │ │ │ └── closing_loc: (55,5)-(55,6) = "|"
- │ │ ├── body: ∅
- │ │ ├── opening_loc: (55,1)-(55,2) = "{"
- │ │ └── closing_loc: (55,7)-(55,8) = "}"
- │ └── flags: ∅
+ │ └── block:
+ │ @ BlockNode (location: (55,1)-(55,8))
+ │ ├── locals: [:a]
+ │ ├── locals_body_index: 1
+ │ ├── parameters:
+ │ │ @ BlockParametersNode (location: (55,3)-(55,6))
+ │ │ ├── parameters:
+ │ │ │ @ ParametersNode (location: (55,4)-(55,5))
+ │ │ │ ├── requireds: (length: 1)
+ │ │ │ │ └── @ RequiredParameterNode (location: (55,4)-(55,5))
+ │ │ │ │ └── name: :a
+ │ │ │ ├── optionals: (length: 0)
+ │ │ │ ├── rest: ∅
+ │ │ │ ├── posts: (length: 0)
+ │ │ │ ├── keywords: (length: 0)
+ │ │ │ ├── keyword_rest: ∅
+ │ │ │ └── block: ∅
+ │ │ ├── locals: (length: 0)
+ │ │ ├── opening_loc: (55,3)-(55,4) = "|"
+ │ │ └── closing_loc: (55,5)-(55,6) = "|"
+ │ ├── body: ∅
+ │ ├── opening_loc: (55,1)-(55,2) = "{"
+ │ └── closing_loc: (55,7)-(55,8) = "}"
├── @ CallNode (location: (57,0)-(57,17))
+ │ ├── flags: ∅
│ ├── receiver: ∅
│ ├── call_operator_loc: ∅
│ ├── name: :f
@@ -973,39 +974,39 @@
│ ├── opening_loc: ∅
│ ├── arguments: ∅
│ ├── closing_loc: ∅
- │ ├── block:
- │ │ @ BlockNode (location: (57,1)-(57,17))
- │ │ ├── locals: [:foo, :b]
- │ │ ├── locals_body_index: 2
- │ │ ├── parameters:
- │ │ │ @ BlockParametersNode (location: (57,3)-(57,15))
- │ │ │ ├── parameters:
- │ │ │ │ @ ParametersNode (location: (57,4)-(57,14))
- │ │ │ │ ├── requireds: (length: 0)
- │ │ │ │ ├── optionals: (length: 0)
- │ │ │ │ ├── rest: ∅
- │ │ │ │ ├── posts: (length: 0)
- │ │ │ │ ├── keywords: (length: 1)
- │ │ │ │ │ └── @ OptionalKeywordParameterNode (location: (57,4)-(57,10))
- │ │ │ │ │ ├── name: :foo
- │ │ │ │ │ ├── name_loc: (57,4)-(57,8) = "foo:"
- │ │ │ │ │ └── value:
- │ │ │ │ │ @ IntegerNode (location: (57,9)-(57,10))
- │ │ │ │ │ └── flags: decimal
- │ │ │ │ ├── keyword_rest: ∅
- │ │ │ │ └── block:
- │ │ │ │ @ BlockParameterNode (location: (57,12)-(57,14))
- │ │ │ │ ├── name: :b
- │ │ │ │ ├── name_loc: (57,13)-(57,14) = "b"
- │ │ │ │ └── operator_loc: (57,12)-(57,13) = "&"
- │ │ │ ├── locals: (length: 0)
- │ │ │ ├── opening_loc: (57,3)-(57,4) = "|"
- │ │ │ └── closing_loc: (57,14)-(57,15) = "|"
- │ │ ├── body: ∅
- │ │ ├── opening_loc: (57,1)-(57,2) = "{"
- │ │ └── closing_loc: (57,16)-(57,17) = "}"
- │ └── flags: ∅
+ │ └── block:
+ │ @ BlockNode (location: (57,1)-(57,17))
+ │ ├── locals: [:foo, :b]
+ │ ├── locals_body_index: 2
+ │ ├── parameters:
+ │ │ @ BlockParametersNode (location: (57,3)-(57,15))
+ │ │ ├── parameters:
+ │ │ │ @ ParametersNode (location: (57,4)-(57,14))
+ │ │ │ ├── requireds: (length: 0)
+ │ │ │ ├── optionals: (length: 0)
+ │ │ │ ├── rest: ∅
+ │ │ │ ├── posts: (length: 0)
+ │ │ │ ├── keywords: (length: 1)
+ │ │ │ │ └── @ OptionalKeywordParameterNode (location: (57,4)-(57,10))
+ │ │ │ │ ├── name: :foo
+ │ │ │ │ ├── name_loc: (57,4)-(57,8) = "foo:"
+ │ │ │ │ └── value:
+ │ │ │ │ @ IntegerNode (location: (57,9)-(57,10))
+ │ │ │ │ └── flags: decimal
+ │ │ │ ├── keyword_rest: ∅
+ │ │ │ └── block:
+ │ │ │ @ BlockParameterNode (location: (57,12)-(57,14))
+ │ │ │ ├── name: :b
+ │ │ │ ├── name_loc: (57,13)-(57,14) = "b"
+ │ │ │ └── operator_loc: (57,12)-(57,13) = "&"
+ │ │ ├── locals: (length: 0)
+ │ │ ├── opening_loc: (57,3)-(57,4) = "|"
+ │ │ └── closing_loc: (57,14)-(57,15) = "|"
+ │ ├── body: ∅
+ │ ├── opening_loc: (57,1)-(57,2) = "{"
+ │ └── closing_loc: (57,16)-(57,17) = "}"
├── @ CallNode (location: (59,0)-(59,32))
+ │ ├── flags: ∅
│ ├── receiver: ∅
│ ├── call_operator_loc: ∅
│ ├── name: :f
@@ -1013,49 +1014,49 @@
│ ├── opening_loc: ∅
│ ├── arguments: ∅
│ ├── closing_loc: ∅
- │ ├── block:
- │ │ @ BlockNode (location: (59,1)-(59,32))
- │ │ ├── locals: [:foo, :bar, :baz, :b]
- │ │ ├── locals_body_index: 4
- │ │ ├── parameters:
- │ │ │ @ BlockParametersNode (location: (59,3)-(59,30))
- │ │ │ ├── parameters:
- │ │ │ │ @ ParametersNode (location: (59,4)-(59,29))
- │ │ │ │ ├── requireds: (length: 0)
- │ │ │ │ ├── optionals: (length: 0)
- │ │ │ │ ├── rest: ∅
- │ │ │ │ ├── posts: (length: 0)
- │ │ │ │ ├── keywords: (length: 2)
- │ │ │ │ │ ├── @ OptionalKeywordParameterNode (location: (59,4)-(59,10))
- │ │ │ │ │ │ ├── name: :foo
- │ │ │ │ │ │ ├── name_loc: (59,4)-(59,8) = "foo:"
- │ │ │ │ │ │ └── value:
- │ │ │ │ │ │ @ IntegerNode (location: (59,9)-(59,10))
- │ │ │ │ │ │ └── flags: decimal
- │ │ │ │ │ └── @ OptionalKeywordParameterNode (location: (59,12)-(59,18))
- │ │ │ │ │ ├── name: :bar
- │ │ │ │ │ ├── name_loc: (59,12)-(59,16) = "bar:"
- │ │ │ │ │ └── value:
- │ │ │ │ │ @ IntegerNode (location: (59,17)-(59,18))
- │ │ │ │ │ └── flags: decimal
- │ │ │ │ ├── keyword_rest:
- │ │ │ │ │ @ KeywordRestParameterNode (location: (59,20)-(59,25))
- │ │ │ │ │ ├── name: :baz
- │ │ │ │ │ ├── name_loc: (59,22)-(59,25) = "baz"
- │ │ │ │ │ └── operator_loc: (59,20)-(59,22) = "**"
- │ │ │ │ └── block:
- │ │ │ │ @ BlockParameterNode (location: (59,27)-(59,29))
- │ │ │ │ ├── name: :b
- │ │ │ │ ├── name_loc: (59,28)-(59,29) = "b"
- │ │ │ │ └── operator_loc: (59,27)-(59,28) = "&"
- │ │ │ ├── locals: (length: 0)
- │ │ │ ├── opening_loc: (59,3)-(59,4) = "|"
- │ │ │ └── closing_loc: (59,29)-(59,30) = "|"
- │ │ ├── body: ∅
- │ │ ├── opening_loc: (59,1)-(59,2) = "{"
- │ │ └── closing_loc: (59,31)-(59,32) = "}"
- │ └── flags: ∅
+ │ └── block:
+ │ @ BlockNode (location: (59,1)-(59,32))
+ │ ├── locals: [:foo, :bar, :baz, :b]
+ │ ├── locals_body_index: 4
+ │ ├── parameters:
+ │ │ @ BlockParametersNode (location: (59,3)-(59,30))
+ │ │ ├── parameters:
+ │ │ │ @ ParametersNode (location: (59,4)-(59,29))
+ │ │ │ ├── requireds: (length: 0)
+ │ │ │ ├── optionals: (length: 0)
+ │ │ │ ├── rest: ∅
+ │ │ │ ├── posts: (length: 0)
+ │ │ │ ├── keywords: (length: 2)
+ │ │ │ │ ├── @ OptionalKeywordParameterNode (location: (59,4)-(59,10))
+ │ │ │ │ │ ├── name: :foo
+ │ │ │ │ │ ├── name_loc: (59,4)-(59,8) = "foo:"
+ │ │ │ │ │ └── value:
+ │ │ │ │ │ @ IntegerNode (location: (59,9)-(59,10))
+ │ │ │ │ │ └── flags: decimal
+ │ │ │ │ └── @ OptionalKeywordParameterNode (location: (59,12)-(59,18))
+ │ │ │ │ ├── name: :bar
+ │ │ │ │ ├── name_loc: (59,12)-(59,16) = "bar:"
+ │ │ │ │ └── value:
+ │ │ │ │ @ IntegerNode (location: (59,17)-(59,18))
+ │ │ │ │ └── flags: decimal
+ │ │ │ ├── keyword_rest:
+ │ │ │ │ @ KeywordRestParameterNode (location: (59,20)-(59,25))
+ │ │ │ │ ├── name: :baz
+ │ │ │ │ ├── name_loc: (59,22)-(59,25) = "baz"
+ │ │ │ │ └── operator_loc: (59,20)-(59,22) = "**"
+ │ │ │ └── block:
+ │ │ │ @ BlockParameterNode (location: (59,27)-(59,29))
+ │ │ │ ├── name: :b
+ │ │ │ ├── name_loc: (59,28)-(59,29) = "b"
+ │ │ │ └── operator_loc: (59,27)-(59,28) = "&"
+ │ │ ├── locals: (length: 0)
+ │ │ ├── opening_loc: (59,3)-(59,4) = "|"
+ │ │ └── closing_loc: (59,29)-(59,30) = "|"
+ │ ├── body: ∅
+ │ ├── opening_loc: (59,1)-(59,2) = "{"
+ │ └── closing_loc: (59,31)-(59,32) = "}"
├── @ CallNode (location: (61,0)-(61,11))
+ │ ├── flags: ∅
│ ├── receiver: ∅
│ ├── call_operator_loc: ∅
│ ├── name: :f
@@ -1063,32 +1064,32 @@
│ ├── opening_loc: ∅
│ ├── arguments: ∅
│ ├── closing_loc: ∅
- │ ├── block:
- │ │ @ BlockNode (location: (61,1)-(61,11))
- │ │ ├── locals: [:foo]
- │ │ ├── locals_body_index: 1
- │ │ ├── parameters:
- │ │ │ @ BlockParametersNode (location: (61,3)-(61,9))
- │ │ │ ├── parameters:
- │ │ │ │ @ ParametersNode (location: (61,4)-(61,8))
- │ │ │ │ ├── requireds: (length: 0)
- │ │ │ │ ├── optionals: (length: 0)
- │ │ │ │ ├── rest: ∅
- │ │ │ │ ├── posts: (length: 0)
- │ │ │ │ ├── keywords: (length: 1)
- │ │ │ │ │ └── @ RequiredKeywordParameterNode (location: (61,4)-(61,8))
- │ │ │ │ │ ├── name: :foo
- │ │ │ │ │ └── name_loc: (61,4)-(61,8) = "foo:"
- │ │ │ │ ├── keyword_rest: ∅
- │ │ │ │ └── block: ∅
- │ │ │ ├── locals: (length: 0)
- │ │ │ ├── opening_loc: (61,3)-(61,4) = "|"
- │ │ │ └── closing_loc: (61,8)-(61,9) = "|"
- │ │ ├── body: ∅
- │ │ ├── opening_loc: (61,1)-(61,2) = "{"
- │ │ └── closing_loc: (61,10)-(61,11) = "}"
- │ └── flags: ∅
+ │ └── block:
+ │ @ BlockNode (location: (61,1)-(61,11))
+ │ ├── locals: [:foo]
+ │ ├── locals_body_index: 1
+ │ ├── parameters:
+ │ │ @ BlockParametersNode (location: (61,3)-(61,9))
+ │ │ ├── parameters:
+ │ │ │ @ ParametersNode (location: (61,4)-(61,8))
+ │ │ │ ├── requireds: (length: 0)
+ │ │ │ ├── optionals: (length: 0)
+ │ │ │ ├── rest: ∅
+ │ │ │ ├── posts: (length: 0)
+ │ │ │ ├── keywords: (length: 1)
+ │ │ │ │ └── @ RequiredKeywordParameterNode (location: (61,4)-(61,8))
+ │ │ │ │ ├── name: :foo
+ │ │ │ │ └── name_loc: (61,4)-(61,8) = "foo:"
+ │ │ │ ├── keyword_rest: ∅
+ │ │ │ └── block: ∅
+ │ │ ├── locals: (length: 0)
+ │ │ ├── opening_loc: (61,3)-(61,4) = "|"
+ │ │ └── closing_loc: (61,8)-(61,9) = "|"
+ │ ├── body: ∅
+ │ ├── opening_loc: (61,1)-(61,2) = "{"
+ │ └── closing_loc: (61,10)-(61,11) = "}"
├── @ CallNode (location: (63,0)-(63,14))
+ │ ├── flags: ∅
│ ├── receiver: ∅
│ ├── call_operator_loc: ∅
│ ├── name: :f
@@ -1096,40 +1097,40 @@
│ ├── opening_loc: ∅
│ ├── arguments: ∅
│ ├── closing_loc: ∅
- │ ├── block:
- │ │ @ BlockNode (location: (63,1)-(63,14))
- │ │ ├── locals: [:o, :b]
- │ │ ├── locals_body_index: 2
- │ │ ├── parameters:
- │ │ │ @ BlockParametersNode (location: (63,3)-(63,12))
- │ │ │ ├── parameters:
- │ │ │ │ @ ParametersNode (location: (63,4)-(63,11))
- │ │ │ │ ├── requireds: (length: 0)
- │ │ │ │ ├── optionals: (length: 1)
- │ │ │ │ │ └── @ OptionalParameterNode (location: (63,4)-(63,7))
- │ │ │ │ │ ├── name: :o
- │ │ │ │ │ ├── name_loc: (63,4)-(63,5) = "o"
- │ │ │ │ │ ├── operator_loc: (63,5)-(63,6) = "="
- │ │ │ │ │ └── value:
- │ │ │ │ │ @ IntegerNode (location: (63,6)-(63,7))
- │ │ │ │ │ └── flags: decimal
- │ │ │ │ ├── rest: ∅
- │ │ │ │ ├── posts: (length: 0)
- │ │ │ │ ├── keywords: (length: 0)
- │ │ │ │ ├── keyword_rest: ∅
- │ │ │ │ └── block:
- │ │ │ │ @ BlockParameterNode (location: (63,9)-(63,11))
- │ │ │ │ ├── name: :b
- │ │ │ │ ├── name_loc: (63,10)-(63,11) = "b"
- │ │ │ │ └── operator_loc: (63,9)-(63,10) = "&"
- │ │ │ ├── locals: (length: 0)
- │ │ │ ├── opening_loc: (63,3)-(63,4) = "|"
- │ │ │ └── closing_loc: (63,11)-(63,12) = "|"
- │ │ ├── body: ∅
- │ │ ├── opening_loc: (63,1)-(63,2) = "{"
- │ │ └── closing_loc: (63,13)-(63,14) = "}"
- │ └── flags: ∅
+ │ └── block:
+ │ @ BlockNode (location: (63,1)-(63,14))
+ │ ├── locals: [:o, :b]
+ │ ├── locals_body_index: 2
+ │ ├── parameters:
+ │ │ @ BlockParametersNode (location: (63,3)-(63,12))
+ │ │ ├── parameters:
+ │ │ │ @ ParametersNode (location: (63,4)-(63,11))
+ │ │ │ ├── requireds: (length: 0)
+ │ │ │ ├── optionals: (length: 1)
+ │ │ │ │ └── @ OptionalParameterNode (location: (63,4)-(63,7))
+ │ │ │ │ ├── name: :o
+ │ │ │ │ ├── name_loc: (63,4)-(63,5) = "o"
+ │ │ │ │ ├── operator_loc: (63,5)-(63,6) = "="
+ │ │ │ │ └── value:
+ │ │ │ │ @ IntegerNode (location: (63,6)-(63,7))
+ │ │ │ │ └── flags: decimal
+ │ │ │ ├── rest: ∅
+ │ │ │ ├── posts: (length: 0)
+ │ │ │ ├── keywords: (length: 0)
+ │ │ │ ├── keyword_rest: ∅
+ │ │ │ └── block:
+ │ │ │ @ BlockParameterNode (location: (63,9)-(63,11))
+ │ │ │ ├── name: :b
+ │ │ │ ├── name_loc: (63,10)-(63,11) = "b"
+ │ │ │ └── operator_loc: (63,9)-(63,10) = "&"
+ │ │ ├── locals: (length: 0)
+ │ │ ├── opening_loc: (63,3)-(63,4) = "|"
+ │ │ └── closing_loc: (63,11)-(63,12) = "|"
+ │ ├── body: ∅
+ │ ├── opening_loc: (63,1)-(63,2) = "{"
+ │ └── closing_loc: (63,13)-(63,14) = "}"
├── @ CallNode (location: (65,0)-(65,18))
+ │ ├── flags: ∅
│ ├── receiver: ∅
│ ├── call_operator_loc: ∅
│ ├── name: :f
@@ -1137,44 +1138,44 @@
│ ├── opening_loc: ∅
│ ├── arguments: ∅
│ ├── closing_loc: ∅
- │ ├── block:
- │ │ @ BlockNode (location: (65,1)-(65,18))
- │ │ ├── locals: [:o, :r, :b]
- │ │ ├── locals_body_index: 3
- │ │ ├── parameters:
- │ │ │ @ BlockParametersNode (location: (65,3)-(65,16))
- │ │ │ ├── parameters:
- │ │ │ │ @ ParametersNode (location: (65,4)-(65,15))
- │ │ │ │ ├── requireds: (length: 0)
- │ │ │ │ ├── optionals: (length: 1)
- │ │ │ │ │ └── @ OptionalParameterNode (location: (65,4)-(65,7))
- │ │ │ │ │ ├── name: :o
- │ │ │ │ │ ├── name_loc: (65,4)-(65,5) = "o"
- │ │ │ │ │ ├── operator_loc: (65,5)-(65,6) = "="
- │ │ │ │ │ └── value:
- │ │ │ │ │ @ IntegerNode (location: (65,6)-(65,7))
- │ │ │ │ │ └── flags: decimal
- │ │ │ │ ├── rest:
- │ │ │ │ │ @ RestParameterNode (location: (65,9)-(65,11))
- │ │ │ │ │ ├── name: :r
- │ │ │ │ │ ├── name_loc: (65,10)-(65,11) = "r"
- │ │ │ │ │ └── operator_loc: (65,9)-(65,10) = "*"
- │ │ │ │ ├── posts: (length: 0)
- │ │ │ │ ├── keywords: (length: 0)
- │ │ │ │ ├── keyword_rest: ∅
- │ │ │ │ └── block:
- │ │ │ │ @ BlockParameterNode (location: (65,13)-(65,15))
- │ │ │ │ ├── name: :b
- │ │ │ │ ├── name_loc: (65,14)-(65,15) = "b"
- │ │ │ │ └── operator_loc: (65,13)-(65,14) = "&"
- │ │ │ ├── locals: (length: 0)
- │ │ │ ├── opening_loc: (65,3)-(65,4) = "|"
- │ │ │ └── closing_loc: (65,15)-(65,16) = "|"
- │ │ ├── body: ∅
- │ │ ├── opening_loc: (65,1)-(65,2) = "{"
- │ │ └── closing_loc: (65,17)-(65,18) = "}"
- │ └── flags: ∅
+ │ └── block:
+ │ @ BlockNode (location: (65,1)-(65,18))
+ │ ├── locals: [:o, :r, :b]
+ │ ├── locals_body_index: 3
+ │ ├── parameters:
+ │ │ @ BlockParametersNode (location: (65,3)-(65,16))
+ │ │ ├── parameters:
+ │ │ │ @ ParametersNode (location: (65,4)-(65,15))
+ │ │ │ ├── requireds: (length: 0)
+ │ │ │ ├── optionals: (length: 1)
+ │ │ │ │ └── @ OptionalParameterNode (location: (65,4)-(65,7))
+ │ │ │ │ ├── name: :o
+ │ │ │ │ ├── name_loc: (65,4)-(65,5) = "o"
+ │ │ │ │ ├── operator_loc: (65,5)-(65,6) = "="
+ │ │ │ │ └── value:
+ │ │ │ │ @ IntegerNode (location: (65,6)-(65,7))
+ │ │ │ │ └── flags: decimal
+ │ │ │ ├── rest:
+ │ │ │ │ @ RestParameterNode (location: (65,9)-(65,11))
+ │ │ │ │ ├── name: :r
+ │ │ │ │ ├── name_loc: (65,10)-(65,11) = "r"
+ │ │ │ │ └── operator_loc: (65,9)-(65,10) = "*"
+ │ │ │ ├── posts: (length: 0)
+ │ │ │ ├── keywords: (length: 0)
+ │ │ │ ├── keyword_rest: ∅
+ │ │ │ └── block:
+ │ │ │ @ BlockParameterNode (location: (65,13)-(65,15))
+ │ │ │ ├── name: :b
+ │ │ │ ├── name_loc: (65,14)-(65,15) = "b"
+ │ │ │ └── operator_loc: (65,13)-(65,14) = "&"
+ │ │ ├── locals: (length: 0)
+ │ │ ├── opening_loc: (65,3)-(65,4) = "|"
+ │ │ └── closing_loc: (65,15)-(65,16) = "|"
+ │ ├── body: ∅
+ │ ├── opening_loc: (65,1)-(65,2) = "{"
+ │ └── closing_loc: (65,17)-(65,18) = "}"
├── @ CallNode (location: (67,0)-(67,21))
+ │ ├── flags: ∅
│ ├── receiver: ∅
│ ├── call_operator_loc: ∅
│ ├── name: :f
@@ -1182,46 +1183,46 @@
│ ├── opening_loc: ∅
│ ├── arguments: ∅
│ ├── closing_loc: ∅
- │ ├── block:
- │ │ @ BlockNode (location: (67,1)-(67,21))
- │ │ ├── locals: [:o, :r, :p, :b]
- │ │ ├── locals_body_index: 4
- │ │ ├── parameters:
- │ │ │ @ BlockParametersNode (location: (67,3)-(67,19))
- │ │ │ ├── parameters:
- │ │ │ │ @ ParametersNode (location: (67,4)-(67,18))
- │ │ │ │ ├── requireds: (length: 0)
- │ │ │ │ ├── optionals: (length: 1)
- │ │ │ │ │ └── @ OptionalParameterNode (location: (67,4)-(67,7))
- │ │ │ │ │ ├── name: :o
- │ │ │ │ │ ├── name_loc: (67,4)-(67,5) = "o"
- │ │ │ │ │ ├── operator_loc: (67,5)-(67,6) = "="
- │ │ │ │ │ └── value:
- │ │ │ │ │ @ IntegerNode (location: (67,6)-(67,7))
- │ │ │ │ │ └── flags: decimal
- │ │ │ │ ├── rest:
- │ │ │ │ │ @ RestParameterNode (location: (67,9)-(67,11))
- │ │ │ │ │ ├── name: :r
- │ │ │ │ │ ├── name_loc: (67,10)-(67,11) = "r"
- │ │ │ │ │ └── operator_loc: (67,9)-(67,10) = "*"
- │ │ │ │ ├── posts: (length: 1)
- │ │ │ │ │ └── @ RequiredParameterNode (location: (67,13)-(67,14))
- │ │ │ │ │ └── name: :p
- │ │ │ │ ├── keywords: (length: 0)
- │ │ │ │ ├── keyword_rest: ∅
- │ │ │ │ └── block:
- │ │ │ │ @ BlockParameterNode (location: (67,16)-(67,18))
- │ │ │ │ ├── name: :b
- │ │ │ │ ├── name_loc: (67,17)-(67,18) = "b"
- │ │ │ │ └── operator_loc: (67,16)-(67,17) = "&"
- │ │ │ ├── locals: (length: 0)
- │ │ │ ├── opening_loc: (67,3)-(67,4) = "|"
- │ │ │ └── closing_loc: (67,18)-(67,19) = "|"
- │ │ ├── body: ∅
- │ │ ├── opening_loc: (67,1)-(67,2) = "{"
- │ │ └── closing_loc: (67,20)-(67,21) = "}"
- │ └── flags: ∅
+ │ └── block:
+ │ @ BlockNode (location: (67,1)-(67,21))
+ │ ├── locals: [:o, :r, :p, :b]
+ │ ├── locals_body_index: 4
+ │ ├── parameters:
+ │ │ @ BlockParametersNode (location: (67,3)-(67,19))
+ │ │ ├── parameters:
+ │ │ │ @ ParametersNode (location: (67,4)-(67,18))
+ │ │ │ ├── requireds: (length: 0)
+ │ │ │ ├── optionals: (length: 1)
+ │ │ │ │ └── @ OptionalParameterNode (location: (67,4)-(67,7))
+ │ │ │ │ ├── name: :o
+ │ │ │ │ ├── name_loc: (67,4)-(67,5) = "o"
+ │ │ │ │ ├── operator_loc: (67,5)-(67,6) = "="
+ │ │ │ │ └── value:
+ │ │ │ │ @ IntegerNode (location: (67,6)-(67,7))
+ │ │ │ │ └── flags: decimal
+ │ │ │ ├── rest:
+ │ │ │ │ @ RestParameterNode (location: (67,9)-(67,11))
+ │ │ │ │ ├── name: :r
+ │ │ │ │ ├── name_loc: (67,10)-(67,11) = "r"
+ │ │ │ │ └── operator_loc: (67,9)-(67,10) = "*"
+ │ │ │ ├── posts: (length: 1)
+ │ │ │ │ └── @ RequiredParameterNode (location: (67,13)-(67,14))
+ │ │ │ │ └── name: :p
+ │ │ │ ├── keywords: (length: 0)
+ │ │ │ ├── keyword_rest: ∅
+ │ │ │ └── block:
+ │ │ │ @ BlockParameterNode (location: (67,16)-(67,18))
+ │ │ │ ├── name: :b
+ │ │ │ ├── name_loc: (67,17)-(67,18) = "b"
+ │ │ │ └── operator_loc: (67,16)-(67,17) = "&"
+ │ │ ├── locals: (length: 0)
+ │ │ ├── opening_loc: (67,3)-(67,4) = "|"
+ │ │ └── closing_loc: (67,18)-(67,19) = "|"
+ │ ├── body: ∅
+ │ ├── opening_loc: (67,1)-(67,2) = "{"
+ │ └── closing_loc: (67,20)-(67,21) = "}"
├── @ CallNode (location: (69,0)-(69,17))
+ │ ├── flags: ∅
│ ├── receiver: ∅
│ ├── call_operator_loc: ∅
│ ├── name: :f
@@ -1229,42 +1230,42 @@
│ ├── opening_loc: ∅
│ ├── arguments: ∅
│ ├── closing_loc: ∅
- │ ├── block:
- │ │ @ BlockNode (location: (69,1)-(69,17))
- │ │ ├── locals: [:o, :p, :b]
- │ │ ├── locals_body_index: 3
- │ │ ├── parameters:
- │ │ │ @ BlockParametersNode (location: (69,3)-(69,15))
- │ │ │ ├── parameters:
- │ │ │ │ @ ParametersNode (location: (69,4)-(69,14))
- │ │ │ │ ├── requireds: (length: 0)
- │ │ │ │ ├── optionals: (length: 1)
- │ │ │ │ │ └── @ OptionalParameterNode (location: (69,4)-(69,7))
- │ │ │ │ │ ├── name: :o
- │ │ │ │ │ ├── name_loc: (69,4)-(69,5) = "o"
- │ │ │ │ │ ├── operator_loc: (69,5)-(69,6) = "="
- │ │ │ │ │ └── value:
- │ │ │ │ │ @ IntegerNode (location: (69,6)-(69,7))
- │ │ │ │ │ └── flags: decimal
- │ │ │ │ ├── rest: ∅
- │ │ │ │ ├── posts: (length: 1)
- │ │ │ │ │ └── @ RequiredParameterNode (location: (69,9)-(69,10))
- │ │ │ │ │ └── name: :p
- │ │ │ │ ├── keywords: (length: 0)
- │ │ │ │ ├── keyword_rest: ∅
- │ │ │ │ └── block:
- │ │ │ │ @ BlockParameterNode (location: (69,12)-(69,14))
- │ │ │ │ ├── name: :b
- │ │ │ │ ├── name_loc: (69,13)-(69,14) = "b"
- │ │ │ │ └── operator_loc: (69,12)-(69,13) = "&"
- │ │ │ ├── locals: (length: 0)
- │ │ │ ├── opening_loc: (69,3)-(69,4) = "|"
- │ │ │ └── closing_loc: (69,14)-(69,15) = "|"
- │ │ ├── body: ∅
- │ │ ├── opening_loc: (69,1)-(69,2) = "{"
- │ │ └── closing_loc: (69,16)-(69,17) = "}"
- │ └── flags: ∅
+ │ └── block:
+ │ @ BlockNode (location: (69,1)-(69,17))
+ │ ├── locals: [:o, :p, :b]
+ │ ├── locals_body_index: 3
+ │ ├── parameters:
+ │ │ @ BlockParametersNode (location: (69,3)-(69,15))
+ │ │ ├── parameters:
+ │ │ │ @ ParametersNode (location: (69,4)-(69,14))
+ │ │ │ ├── requireds: (length: 0)
+ │ │ │ ├── optionals: (length: 1)
+ │ │ │ │ └── @ OptionalParameterNode (location: (69,4)-(69,7))
+ │ │ │ │ ├── name: :o
+ │ │ │ │ ├── name_loc: (69,4)-(69,5) = "o"
+ │ │ │ │ ├── operator_loc: (69,5)-(69,6) = "="
+ │ │ │ │ └── value:
+ │ │ │ │ @ IntegerNode (location: (69,6)-(69,7))
+ │ │ │ │ └── flags: decimal
+ │ │ │ ├── rest: ∅
+ │ │ │ ├── posts: (length: 1)
+ │ │ │ │ └── @ RequiredParameterNode (location: (69,9)-(69,10))
+ │ │ │ │ └── name: :p
+ │ │ │ ├── keywords: (length: 0)
+ │ │ │ ├── keyword_rest: ∅
+ │ │ │ └── block:
+ │ │ │ @ BlockParameterNode (location: (69,12)-(69,14))
+ │ │ │ ├── name: :b
+ │ │ │ ├── name_loc: (69,13)-(69,14) = "b"
+ │ │ │ └── operator_loc: (69,12)-(69,13) = "&"
+ │ │ ├── locals: (length: 0)
+ │ │ ├── opening_loc: (69,3)-(69,4) = "|"
+ │ │ └── closing_loc: (69,14)-(69,15) = "|"
+ │ ├── body: ∅
+ │ ├── opening_loc: (69,1)-(69,2) = "{"
+ │ └── closing_loc: (69,16)-(69,17) = "}"
└── @ CallNode (location: (71,0)-(71,7))
+ ├── flags: ∅
├── receiver: ∅
├── call_operator_loc: ∅
├── name: :f
@@ -1272,17 +1273,16 @@
├── opening_loc: ∅
├── arguments: ∅
├── closing_loc: ∅
- ├── block:
- │ @ BlockNode (location: (71,1)-(71,7))
- │ ├── locals: []
- │ ├── locals_body_index: 0
- │ ├── parameters:
- │ │ @ BlockParametersNode (location: (71,3)-(71,5))
- │ │ ├── parameters: ∅
- │ │ ├── locals: (length: 0)
- │ │ ├── opening_loc: (71,3)-(71,4) = "|"
- │ │ └── closing_loc: (71,4)-(71,5) = "|"
- │ ├── body: ∅
- │ ├── opening_loc: (71,1)-(71,2) = "{"
- │ └── closing_loc: (71,6)-(71,7) = "}"
- └── flags: ∅
+ └── block:
+ @ BlockNode (location: (71,1)-(71,7))
+ ├── locals: []
+ ├── locals_body_index: 0
+ ├── parameters:
+ │ @ BlockParametersNode (location: (71,3)-(71,5))
+ │ ├── parameters: ∅
+ │ ├── locals: (length: 0)
+ │ ├── opening_loc: (71,3)-(71,4) = "|"
+ │ └── closing_loc: (71,4)-(71,5) = "|"
+ ├── body: ∅
+ ├── opening_loc: (71,1)-(71,2) = "{"
+ └── closing_loc: (71,6)-(71,7) = "}"
diff --git a/test/prism/snapshots/whitequark/break.txt b/test/prism/snapshots/whitequark/break.txt
index c9da928223..4f40ca759e 100644
--- a/test/prism/snapshots/whitequark/break.txt
+++ b/test/prism/snapshots/whitequark/break.txt
@@ -9,48 +9,48 @@
├── @ BreakNode (location: (3,0)-(3,9))
│ ├── arguments:
│ │ @ ArgumentsNode (location: (3,6)-(3,9))
- │ │ ├── arguments: (length: 1)
- │ │ │ └── @ CallNode (location: (3,6)-(3,9))
- │ │ │ ├── receiver: ∅
- │ │ │ ├── call_operator_loc: ∅
- │ │ │ ├── name: :foo
- │ │ │ ├── message_loc: (3,6)-(3,9) = "foo"
- │ │ │ ├── opening_loc: ∅
- │ │ │ ├── arguments: ∅
- │ │ │ ├── closing_loc: ∅
- │ │ │ ├── block: ∅
- │ │ │ └── flags: variable_call
- │ │ └── flags: ∅
+ │ │ ├── flags: ∅
+ │ │ └── arguments: (length: 1)
+ │ │ └── @ CallNode (location: (3,6)-(3,9))
+ │ │ ├── flags: variable_call
+ │ │ ├── receiver: ∅
+ │ │ ├── call_operator_loc: ∅
+ │ │ ├── name: :foo
+ │ │ ├── message_loc: (3,6)-(3,9) = "foo"
+ │ │ ├── opening_loc: ∅
+ │ │ ├── arguments: ∅
+ │ │ ├── closing_loc: ∅
+ │ │ └── block: ∅
│ └── keyword_loc: (3,0)-(3,5) = "break"
├── @ BreakNode (location: (5,0)-(5,7))
│ ├── arguments:
│ │ @ ArgumentsNode (location: (5,5)-(5,7))
- │ │ ├── arguments: (length: 1)
- │ │ │ └── @ ParenthesesNode (location: (5,5)-(5,7))
- │ │ │ ├── body: ∅
- │ │ │ ├── opening_loc: (5,5)-(5,6) = "("
- │ │ │ └── closing_loc: (5,6)-(5,7) = ")"
- │ │ └── flags: ∅
+ │ │ ├── flags: ∅
+ │ │ └── arguments: (length: 1)
+ │ │ └── @ ParenthesesNode (location: (5,5)-(5,7))
+ │ │ ├── body: ∅
+ │ │ ├── opening_loc: (5,5)-(5,6) = "("
+ │ │ └── closing_loc: (5,6)-(5,7) = ")"
│ └── keyword_loc: (5,0)-(5,5) = "break"
└── @ BreakNode (location: (7,0)-(7,10))
├── arguments:
│ @ ArgumentsNode (location: (7,5)-(7,10))
- │ ├── arguments: (length: 1)
- │ │ └── @ ParenthesesNode (location: (7,5)-(7,10))
- │ │ ├── body:
- │ │ │ @ StatementsNode (location: (7,6)-(7,9))
- │ │ │ └── body: (length: 1)
- │ │ │ └── @ CallNode (location: (7,6)-(7,9))
- │ │ │ ├── receiver: ∅
- │ │ │ ├── call_operator_loc: ∅
- │ │ │ ├── name: :foo
- │ │ │ ├── message_loc: (7,6)-(7,9) = "foo"
- │ │ │ ├── opening_loc: ∅
- │ │ │ ├── arguments: ∅
- │ │ │ ├── closing_loc: ∅
- │ │ │ ├── block: ∅
- │ │ │ └── flags: variable_call
- │ │ ├── opening_loc: (7,5)-(7,6) = "("
- │ │ └── closing_loc: (7,9)-(7,10) = ")"
- │ └── flags: ∅
+ │ ├── flags: ∅
+ │ └── arguments: (length: 1)
+ │ └── @ ParenthesesNode (location: (7,5)-(7,10))
+ │ ├── body:
+ │ │ @ StatementsNode (location: (7,6)-(7,9))
+ │ │ └── body: (length: 1)
+ │ │ └── @ CallNode (location: (7,6)-(7,9))
+ │ │ ├── flags: variable_call
+ │ │ ├── receiver: ∅
+ │ │ ├── call_operator_loc: ∅
+ │ │ ├── name: :foo
+ │ │ ├── message_loc: (7,6)-(7,9) = "foo"
+ │ │ ├── opening_loc: ∅
+ │ │ ├── arguments: ∅
+ │ │ ├── closing_loc: ∅
+ │ │ └── block: ∅
+ │ ├── opening_loc: (7,5)-(7,6) = "("
+ │ └── closing_loc: (7,9)-(7,10) = ")"
└── keyword_loc: (7,0)-(7,5) = "break"
diff --git a/test/prism/snapshots/whitequark/break_block.txt b/test/prism/snapshots/whitequark/break_block.txt
index d615edd53f..12a9263911 100644
--- a/test/prism/snapshots/whitequark/break_block.txt
+++ b/test/prism/snapshots/whitequark/break_block.txt
@@ -6,36 +6,36 @@
└── @ BreakNode (location: (1,0)-(1,20))
├── arguments:
│ @ ArgumentsNode (location: (1,6)-(1,20))
- │ ├── arguments: (length: 1)
- │ │ └── @ CallNode (location: (1,6)-(1,20))
- │ │ ├── receiver: ∅
- │ │ ├── call_operator_loc: ∅
- │ │ ├── name: :fun
- │ │ ├── message_loc: (1,6)-(1,9) = "fun"
- │ │ ├── opening_loc: ∅
- │ │ ├── arguments:
- │ │ │ @ ArgumentsNode (location: (1,10)-(1,13))
- │ │ │ ├── arguments: (length: 1)
- │ │ │ │ └── @ CallNode (location: (1,10)-(1,13))
- │ │ │ │ ├── receiver: ∅
- │ │ │ │ ├── call_operator_loc: ∅
- │ │ │ │ ├── name: :foo
- │ │ │ │ ├── message_loc: (1,10)-(1,13) = "foo"
- │ │ │ │ ├── opening_loc: ∅
- │ │ │ │ ├── arguments: ∅
- │ │ │ │ ├── closing_loc: ∅
- │ │ │ │ ├── block: ∅
- │ │ │ │ └── flags: variable_call
- │ │ │ └── flags: ∅
- │ │ ├── closing_loc: ∅
- │ │ ├── block:
- │ │ │ @ BlockNode (location: (1,14)-(1,20))
- │ │ │ ├── locals: []
- │ │ │ ├── locals_body_index: 0
- │ │ │ ├── parameters: ∅
- │ │ │ ├── body: ∅
- │ │ │ ├── opening_loc: (1,14)-(1,16) = "do"
- │ │ │ └── closing_loc: (1,17)-(1,20) = "end"
- │ │ └── flags: ∅
- │ └── flags: ∅
+ │ ├── flags: ∅
+ │ └── arguments: (length: 1)
+ │ └── @ CallNode (location: (1,6)-(1,20))
+ │ ├── flags: ∅
+ │ ├── receiver: ∅
+ │ ├── call_operator_loc: ∅
+ │ ├── name: :fun
+ │ ├── message_loc: (1,6)-(1,9) = "fun"
+ │ ├── opening_loc: ∅
+ │ ├── arguments:
+ │ │ @ ArgumentsNode (location: (1,10)-(1,13))
+ │ │ ├── flags: ∅
+ │ │ └── arguments: (length: 1)
+ │ │ └── @ CallNode (location: (1,10)-(1,13))
+ │ │ ├── flags: variable_call
+ │ │ ├── receiver: ∅
+ │ │ ├── call_operator_loc: ∅
+ │ │ ├── name: :foo
+ │ │ ├── message_loc: (1,10)-(1,13) = "foo"
+ │ │ ├── opening_loc: ∅
+ │ │ ├── arguments: ∅
+ │ │ ├── closing_loc: ∅
+ │ │ └── block: ∅
+ │ ├── closing_loc: ∅
+ │ └── block:
+ │ @ BlockNode (location: (1,14)-(1,20))
+ │ ├── locals: []
+ │ ├── locals_body_index: 0
+ │ ├── parameters: ∅
+ │ ├── body: ∅
+ │ ├── opening_loc: (1,14)-(1,16) = "do"
+ │ └── closing_loc: (1,17)-(1,20) = "end"
└── keyword_loc: (1,0)-(1,5) = "break"
diff --git a/test/prism/snapshots/whitequark/bug_447.txt b/test/prism/snapshots/whitequark/bug_447.txt
index b274662f9e..427579b8b8 100644
--- a/test/prism/snapshots/whitequark/bug_447.txt
+++ b/test/prism/snapshots/whitequark/bug_447.txt
@@ -4,6 +4,7 @@
@ StatementsNode (location: (1,0)-(3,14))
└── body: (length: 2)
├── @ CallNode (location: (1,0)-(1,11))
+ │ ├── flags: ∅
│ ├── receiver: ∅
│ ├── call_operator_loc: ∅
│ ├── name: :m
@@ -11,24 +12,24 @@
│ ├── opening_loc: ∅
│ ├── arguments:
│ │ @ ArgumentsNode (location: (1,2)-(1,4))
- │ │ ├── arguments: (length: 1)
- │ │ │ └── @ ArrayNode (location: (1,2)-(1,4))
- │ │ │ ├── elements: (length: 0)
- │ │ │ ├── opening_loc: (1,2)-(1,3) = "["
- │ │ │ ├── closing_loc: (1,3)-(1,4) = "]"
- │ │ │ └── flags: ∅
- │ │ └── flags: ∅
+ │ │ ├── flags: ∅
+ │ │ └── arguments: (length: 1)
+ │ │ └── @ ArrayNode (location: (1,2)-(1,4))
+ │ │ ├── flags: ∅
+ │ │ ├── elements: (length: 0)
+ │ │ ├── opening_loc: (1,2)-(1,3) = "["
+ │ │ └── closing_loc: (1,3)-(1,4) = "]"
│ ├── closing_loc: ∅
- │ ├── block:
- │ │ @ BlockNode (location: (1,5)-(1,11))
- │ │ ├── locals: []
- │ │ ├── locals_body_index: 0
- │ │ ├── parameters: ∅
- │ │ ├── body: ∅
- │ │ ├── opening_loc: (1,5)-(1,7) = "do"
- │ │ └── closing_loc: (1,8)-(1,11) = "end"
- │ └── flags: ∅
+ │ └── block:
+ │ @ BlockNode (location: (1,5)-(1,11))
+ │ ├── locals: []
+ │ ├── locals_body_index: 0
+ │ ├── parameters: ∅
+ │ ├── body: ∅
+ │ ├── opening_loc: (1,5)-(1,7) = "do"
+ │ └── closing_loc: (1,8)-(1,11) = "end"
└── @ CallNode (location: (3,0)-(3,14))
+ ├── flags: ∅
├── receiver: ∅
├── call_operator_loc: ∅
├── name: :m
@@ -36,22 +37,21 @@
├── opening_loc: ∅
├── arguments:
│ @ ArgumentsNode (location: (3,2)-(3,7))
- │ ├── arguments: (length: 2)
- │ │ ├── @ ArrayNode (location: (3,2)-(3,4))
- │ │ │ ├── elements: (length: 0)
- │ │ │ ├── opening_loc: (3,2)-(3,3) = "["
- │ │ │ ├── closing_loc: (3,3)-(3,4) = "]"
- │ │ │ └── flags: ∅
- │ │ └── @ IntegerNode (location: (3,6)-(3,7))
- │ │ └── flags: decimal
- │ └── flags: ∅
+ │ ├── flags: ∅
+ │ └── arguments: (length: 2)
+ │ ├── @ ArrayNode (location: (3,2)-(3,4))
+ │ │ ├── flags: ∅
+ │ │ ├── elements: (length: 0)
+ │ │ ├── opening_loc: (3,2)-(3,3) = "["
+ │ │ └── closing_loc: (3,3)-(3,4) = "]"
+ │ └── @ IntegerNode (location: (3,6)-(3,7))
+ │ └── flags: decimal
├── closing_loc: ∅
- ├── block:
- │ @ BlockNode (location: (3,8)-(3,14))
- │ ├── locals: []
- │ ├── locals_body_index: 0
- │ ├── parameters: ∅
- │ ├── body: ∅
- │ ├── opening_loc: (3,8)-(3,10) = "do"
- │ └── closing_loc: (3,11)-(3,14) = "end"
- └── flags: ∅
+ └── block:
+ @ BlockNode (location: (3,8)-(3,14))
+ ├── locals: []
+ ├── locals_body_index: 0
+ ├── parameters: ∅
+ ├── body: ∅
+ ├── opening_loc: (3,8)-(3,10) = "do"
+ └── closing_loc: (3,11)-(3,14) = "end"
diff --git a/test/prism/snapshots/whitequark/bug_452.txt b/test/prism/snapshots/whitequark/bug_452.txt
index 32b3ff8d80..8bed829c80 100644
--- a/test/prism/snapshots/whitequark/bug_452.txt
+++ b/test/prism/snapshots/whitequark/bug_452.txt
@@ -4,6 +4,7 @@
@ StatementsNode (location: (1,0)-(1,37))
└── body: (length: 2)
├── @ CallNode (location: (1,0)-(1,21))
+ │ ├── flags: ∅
│ ├── receiver: ∅
│ ├── call_operator_loc: ∅
│ ├── name: :td
@@ -11,32 +12,33 @@
│ ├── opening_loc: ∅
│ ├── arguments:
│ │ @ ArgumentsNode (location: (1,3)-(1,21))
- │ │ ├── arguments: (length: 1)
- │ │ │ └── @ CallNode (location: (1,3)-(1,21))
- │ │ │ ├── receiver:
- │ │ │ │ @ ParenthesesNode (location: (1,3)-(1,10))
- │ │ │ │ ├── body:
- │ │ │ │ │ @ StatementsNode (location: (1,4)-(1,9))
- │ │ │ │ │ └── body: (length: 1)
- │ │ │ │ │ └── @ IntegerNode (location: (1,4)-(1,9))
- │ │ │ │ │ └── flags: decimal
- │ │ │ │ ├── opening_loc: (1,3)-(1,4) = "("
- │ │ │ │ └── closing_loc: (1,9)-(1,10) = ")"
- │ │ │ ├── call_operator_loc: (1,10)-(1,11) = "."
- │ │ │ ├── name: :toString
- │ │ │ ├── message_loc: (1,11)-(1,19) = "toString"
- │ │ │ ├── opening_loc: (1,19)-(1,20) = "("
- │ │ │ ├── arguments: ∅
- │ │ │ ├── closing_loc: (1,20)-(1,21) = ")"
- │ │ │ ├── block: ∅
- │ │ │ └── flags: ∅
- │ │ └── flags: ∅
+ │ │ ├── flags: ∅
+ │ │ └── arguments: (length: 1)
+ │ │ └── @ CallNode (location: (1,3)-(1,21))
+ │ │ ├── flags: ∅
+ │ │ ├── receiver:
+ │ │ │ @ ParenthesesNode (location: (1,3)-(1,10))
+ │ │ │ ├── body:
+ │ │ │ │ @ StatementsNode (location: (1,4)-(1,9))
+ │ │ │ │ └── body: (length: 1)
+ │ │ │ │ └── @ IntegerNode (location: (1,4)-(1,9))
+ │ │ │ │ └── flags: decimal
+ │ │ │ ├── opening_loc: (1,3)-(1,4) = "("
+ │ │ │ └── closing_loc: (1,9)-(1,10) = ")"
+ │ │ ├── call_operator_loc: (1,10)-(1,11) = "."
+ │ │ ├── name: :toString
+ │ │ ├── message_loc: (1,11)-(1,19) = "toString"
+ │ │ ├── opening_loc: (1,19)-(1,20) = "("
+ │ │ ├── arguments: ∅
+ │ │ ├── closing_loc: (1,20)-(1,21) = ")"
+ │ │ └── block: ∅
│ ├── closing_loc: ∅
- │ ├── block: ∅
- │ └── flags: ∅
+ │ └── block: ∅
└── @ CallNode (location: (1,23)-(1,37))
+ ├── flags: ∅
├── receiver:
│ @ CallNode (location: (1,23)-(1,25))
+ │ ├── flags: variable_call
│ ├── receiver: ∅
│ ├── call_operator_loc: ∅
│ ├── name: :td
@@ -44,20 +46,18 @@
│ ├── opening_loc: ∅
│ ├── arguments: ∅
│ ├── closing_loc: ∅
- │ ├── block: ∅
- │ └── flags: variable_call
+ │ └── block: ∅
├── call_operator_loc: (1,25)-(1,26) = "."
├── name: :num
├── message_loc: (1,26)-(1,29) = "num"
├── opening_loc: ∅
├── arguments: ∅
├── closing_loc: ∅
- ├── block:
- │ @ BlockNode (location: (1,30)-(1,37))
- │ ├── locals: []
- │ ├── locals_body_index: 0
- │ ├── parameters: ∅
- │ ├── body: ∅
- │ ├── opening_loc: (1,30)-(1,32) = "do"
- │ └── closing_loc: (1,34)-(1,37) = "end"
- └── flags: ∅
+ └── block:
+ @ BlockNode (location: (1,30)-(1,37))
+ ├── locals: []
+ ├── locals_body_index: 0
+ ├── parameters: ∅
+ ├── body: ∅
+ ├── opening_loc: (1,30)-(1,32) = "do"
+ └── closing_loc: (1,34)-(1,37) = "end"
diff --git a/test/prism/snapshots/whitequark/bug_466.txt b/test/prism/snapshots/whitequark/bug_466.txt
index 37ff674bb9..32361b6e75 100644
--- a/test/prism/snapshots/whitequark/bug_466.txt
+++ b/test/prism/snapshots/whitequark/bug_466.txt
@@ -4,6 +4,7 @@
@ StatementsNode (location: (1,0)-(1,27))
└── body: (length: 1)
└── @ CallNode (location: (1,0)-(1,27))
+ ├── flags: ∅
├── receiver: ∅
├── call_operator_loc: ∅
├── name: :foo
@@ -11,58 +12,57 @@
├── opening_loc: ∅
├── arguments:
│ @ ArgumentsNode (location: (1,4)-(1,19))
- │ ├── arguments: (length: 1)
- │ │ └── @ InterpolatedStringNode (location: (1,4)-(1,19))
- │ │ ├── opening_loc: (1,4)-(1,5) = "\""
- │ │ ├── parts: (length: 1)
- │ │ │ └── @ EmbeddedStatementsNode (location: (1,5)-(1,18))
- │ │ │ ├── opening_loc: (1,5)-(1,7) = "\#{"
- │ │ │ ├── statements:
- │ │ │ │ @ StatementsNode (location: (1,7)-(1,17))
- │ │ │ │ └── body: (length: 1)
- │ │ │ │ └── @ CallNode (location: (1,7)-(1,17))
- │ │ │ │ ├── receiver:
- │ │ │ │ │ @ ParenthesesNode (location: (1,7)-(1,12))
- │ │ │ │ │ ├── body:
- │ │ │ │ │ │ @ StatementsNode (location: (1,8)-(1,11))
- │ │ │ │ │ │ └── body: (length: 1)
- │ │ │ │ │ │ └── @ CallNode (location: (1,8)-(1,11))
- │ │ │ │ │ │ ├── receiver:
- │ │ │ │ │ │ │ @ IntegerNode (location: (1,8)-(1,9))
- │ │ │ │ │ │ │ └── flags: decimal
- │ │ │ │ │ │ ├── call_operator_loc: ∅
- │ │ │ │ │ │ ├── name: :+
- │ │ │ │ │ │ ├── message_loc: (1,9)-(1,10) = "+"
- │ │ │ │ │ │ ├── opening_loc: ∅
- │ │ │ │ │ │ ├── arguments:
- │ │ │ │ │ │ │ @ ArgumentsNode (location: (1,10)-(1,11))
- │ │ │ │ │ │ │ ├── arguments: (length: 1)
- │ │ │ │ │ │ │ │ └── @ IntegerNode (location: (1,10)-(1,11))
- │ │ │ │ │ │ │ │ └── flags: decimal
- │ │ │ │ │ │ │ └── flags: ∅
- │ │ │ │ │ │ ├── closing_loc: ∅
- │ │ │ │ │ │ ├── block: ∅
- │ │ │ │ │ │ └── flags: ∅
- │ │ │ │ │ ├── opening_loc: (1,7)-(1,8) = "("
- │ │ │ │ │ └── closing_loc: (1,11)-(1,12) = ")"
- │ │ │ │ ├── call_operator_loc: (1,12)-(1,13) = "."
- │ │ │ │ ├── name: :to_i
- │ │ │ │ ├── message_loc: (1,13)-(1,17) = "to_i"
- │ │ │ │ ├── opening_loc: ∅
- │ │ │ │ ├── arguments: ∅
- │ │ │ │ ├── closing_loc: ∅
- │ │ │ │ ├── block: ∅
- │ │ │ │ └── flags: ∅
- │ │ │ └── closing_loc: (1,17)-(1,18) = "}"
- │ │ └── closing_loc: (1,18)-(1,19) = "\""
- │ └── flags: ∅
+ │ ├── flags: ∅
+ │ └── arguments: (length: 1)
+ │ └── @ InterpolatedStringNode (location: (1,4)-(1,19))
+ │ ├── opening_loc: (1,4)-(1,5) = "\""
+ │ ├── parts: (length: 1)
+ │ │ └── @ EmbeddedStatementsNode (location: (1,5)-(1,18))
+ │ │ ├── opening_loc: (1,5)-(1,7) = "\#{"
+ │ │ ├── statements:
+ │ │ │ @ StatementsNode (location: (1,7)-(1,17))
+ │ │ │ └── body: (length: 1)
+ │ │ │ └── @ CallNode (location: (1,7)-(1,17))
+ │ │ │ ├── flags: ∅
+ │ │ │ ├── receiver:
+ │ │ │ │ @ ParenthesesNode (location: (1,7)-(1,12))
+ │ │ │ │ ├── body:
+ │ │ │ │ │ @ StatementsNode (location: (1,8)-(1,11))
+ │ │ │ │ │ └── body: (length: 1)
+ │ │ │ │ │ └── @ CallNode (location: (1,8)-(1,11))
+ │ │ │ │ │ ├── flags: ∅
+ │ │ │ │ │ ├── receiver:
+ │ │ │ │ │ │ @ IntegerNode (location: (1,8)-(1,9))
+ │ │ │ │ │ │ └── flags: decimal
+ │ │ │ │ │ ├── call_operator_loc: ∅
+ │ │ │ │ │ ├── name: :+
+ │ │ │ │ │ ├── message_loc: (1,9)-(1,10) = "+"
+ │ │ │ │ │ ├── opening_loc: ∅
+ │ │ │ │ │ ├── arguments:
+ │ │ │ │ │ │ @ ArgumentsNode (location: (1,10)-(1,11))
+ │ │ │ │ │ │ ├── flags: ∅
+ │ │ │ │ │ │ └── arguments: (length: 1)
+ │ │ │ │ │ │ └── @ IntegerNode (location: (1,10)-(1,11))
+ │ │ │ │ │ │ └── flags: decimal
+ │ │ │ │ │ ├── closing_loc: ∅
+ │ │ │ │ │ └── block: ∅
+ │ │ │ │ ├── opening_loc: (1,7)-(1,8) = "("
+ │ │ │ │ └── closing_loc: (1,11)-(1,12) = ")"
+ │ │ │ ├── call_operator_loc: (1,12)-(1,13) = "."
+ │ │ │ ├── name: :to_i
+ │ │ │ ├── message_loc: (1,13)-(1,17) = "to_i"
+ │ │ │ ├── opening_loc: ∅
+ │ │ │ ├── arguments: ∅
+ │ │ │ ├── closing_loc: ∅
+ │ │ │ └── block: ∅
+ │ │ └── closing_loc: (1,17)-(1,18) = "}"
+ │ └── closing_loc: (1,18)-(1,19) = "\""
├── closing_loc: ∅
- ├── block:
- │ @ BlockNode (location: (1,20)-(1,27))
- │ ├── locals: []
- │ ├── locals_body_index: 0
- │ ├── parameters: ∅
- │ ├── body: ∅
- │ ├── opening_loc: (1,20)-(1,22) = "do"
- │ └── closing_loc: (1,24)-(1,27) = "end"
- └── flags: ∅
+ └── block:
+ @ BlockNode (location: (1,20)-(1,27))
+ ├── locals: []
+ ├── locals_body_index: 0
+ ├── parameters: ∅
+ ├── body: ∅
+ ├── opening_loc: (1,20)-(1,22) = "do"
+ └── closing_loc: (1,24)-(1,27) = "end"
diff --git a/test/prism/snapshots/whitequark/bug_473.txt b/test/prism/snapshots/whitequark/bug_473.txt
index d78a8fe303..c4767f4ec1 100644
--- a/test/prism/snapshots/whitequark/bug_473.txt
+++ b/test/prism/snapshots/whitequark/bug_473.txt
@@ -4,6 +4,7 @@
@ StatementsNode (location: (1,0)-(1,9))
└── body: (length: 1)
└── @ CallNode (location: (1,0)-(1,9))
+ ├── flags: ∅
├── receiver: ∅
├── call_operator_loc: ∅
├── name: :m
@@ -11,23 +12,22 @@
├── opening_loc: ∅
├── arguments:
│ @ ArgumentsNode (location: (1,2)-(1,9))
- │ ├── arguments: (length: 1)
- │ │ └── @ InterpolatedStringNode (location: (1,2)-(1,9))
- │ │ ├── opening_loc: (1,2)-(1,3) = "\""
- │ │ ├── parts: (length: 1)
- │ │ │ └── @ EmbeddedStatementsNode (location: (1,3)-(1,8))
- │ │ │ ├── opening_loc: (1,3)-(1,5) = "\#{"
- │ │ │ ├── statements:
- │ │ │ │ @ StatementsNode (location: (1,5)-(1,7))
- │ │ │ │ └── body: (length: 1)
- │ │ │ │ └── @ ArrayNode (location: (1,5)-(1,7))
- │ │ │ │ ├── elements: (length: 0)
- │ │ │ │ ├── opening_loc: (1,5)-(1,6) = "["
- │ │ │ │ ├── closing_loc: (1,6)-(1,7) = "]"
- │ │ │ │ └── flags: ∅
- │ │ │ └── closing_loc: (1,7)-(1,8) = "}"
- │ │ └── closing_loc: (1,8)-(1,9) = "\""
- │ └── flags: ∅
+ │ ├── flags: ∅
+ │ └── arguments: (length: 1)
+ │ └── @ InterpolatedStringNode (location: (1,2)-(1,9))
+ │ ├── opening_loc: (1,2)-(1,3) = "\""
+ │ ├── parts: (length: 1)
+ │ │ └── @ EmbeddedStatementsNode (location: (1,3)-(1,8))
+ │ │ ├── opening_loc: (1,3)-(1,5) = "\#{"
+ │ │ ├── statements:
+ │ │ │ @ StatementsNode (location: (1,5)-(1,7))
+ │ │ │ └── body: (length: 1)
+ │ │ │ └── @ ArrayNode (location: (1,5)-(1,7))
+ │ │ │ ├── flags: ∅
+ │ │ │ ├── elements: (length: 0)
+ │ │ │ ├── opening_loc: (1,5)-(1,6) = "["
+ │ │ │ └── closing_loc: (1,6)-(1,7) = "]"
+ │ │ └── closing_loc: (1,7)-(1,8) = "}"
+ │ └── closing_loc: (1,8)-(1,9) = "\""
├── closing_loc: ∅
- ├── block: ∅
- └── flags: ∅
+ └── block: ∅
diff --git a/test/prism/snapshots/whitequark/bug_480.txt b/test/prism/snapshots/whitequark/bug_480.txt
index ab98c19d7d..73903adb78 100644
--- a/test/prism/snapshots/whitequark/bug_480.txt
+++ b/test/prism/snapshots/whitequark/bug_480.txt
@@ -4,6 +4,7 @@
@ StatementsNode (location: (1,0)-(1,12))
└── body: (length: 1)
└── @ CallNode (location: (1,0)-(1,12))
+ ├── flags: ∅
├── receiver: ∅
├── call_operator_loc: ∅
├── name: :m
@@ -11,26 +12,25 @@
├── opening_loc: ∅
├── arguments:
│ @ ArgumentsNode (location: (1,2)-(1,12))
- │ ├── arguments: (length: 1)
- │ │ └── @ InterpolatedStringNode (location: (1,2)-(1,12))
- │ │ ├── opening_loc: (1,2)-(1,3) = "\""
- │ │ ├── parts: (length: 2)
- │ │ │ ├── @ EmbeddedStatementsNode (location: (1,3)-(1,6))
- │ │ │ │ ├── opening_loc: (1,3)-(1,5) = "\#{"
- │ │ │ │ ├── statements: ∅
- │ │ │ │ └── closing_loc: (1,5)-(1,6) = "}"
- │ │ │ └── @ EmbeddedStatementsNode (location: (1,6)-(1,11))
- │ │ │ ├── opening_loc: (1,6)-(1,8) = "\#{"
- │ │ │ ├── statements:
- │ │ │ │ @ StatementsNode (location: (1,8)-(1,10))
- │ │ │ │ └── body: (length: 1)
- │ │ │ │ └── @ ParenthesesNode (location: (1,8)-(1,10))
- │ │ │ │ ├── body: ∅
- │ │ │ │ ├── opening_loc: (1,8)-(1,9) = "("
- │ │ │ │ └── closing_loc: (1,9)-(1,10) = ")"
- │ │ │ └── closing_loc: (1,10)-(1,11) = "}"
- │ │ └── closing_loc: (1,11)-(1,12) = "\""
- │ └── flags: ∅
+ │ ├── flags: ∅
+ │ └── arguments: (length: 1)
+ │ └── @ InterpolatedStringNode (location: (1,2)-(1,12))
+ │ ├── opening_loc: (1,2)-(1,3) = "\""
+ │ ├── parts: (length: 2)
+ │ │ ├── @ EmbeddedStatementsNode (location: (1,3)-(1,6))
+ │ │ │ ├── opening_loc: (1,3)-(1,5) = "\#{"
+ │ │ │ ├── statements: ∅
+ │ │ │ └── closing_loc: (1,5)-(1,6) = "}"
+ │ │ └── @ EmbeddedStatementsNode (location: (1,6)-(1,11))
+ │ │ ├── opening_loc: (1,6)-(1,8) = "\#{"
+ │ │ ├── statements:
+ │ │ │ @ StatementsNode (location: (1,8)-(1,10))
+ │ │ │ └── body: (length: 1)
+ │ │ │ └── @ ParenthesesNode (location: (1,8)-(1,10))
+ │ │ │ ├── body: ∅
+ │ │ │ ├── opening_loc: (1,8)-(1,9) = "("
+ │ │ │ └── closing_loc: (1,9)-(1,10) = ")"
+ │ │ └── closing_loc: (1,10)-(1,11) = "}"
+ │ └── closing_loc: (1,11)-(1,12) = "\""
├── closing_loc: ∅
- ├── block: ∅
- └── flags: ∅
+ └── block: ∅
diff --git a/test/prism/snapshots/whitequark/bug_481.txt b/test/prism/snapshots/whitequark/bug_481.txt
index c1ad0662f2..ccacf71b1e 100644
--- a/test/prism/snapshots/whitequark/bug_481.txt
+++ b/test/prism/snapshots/whitequark/bug_481.txt
@@ -4,6 +4,7 @@
@ StatementsNode (location: (1,0)-(1,28))
└── body: (length: 2)
├── @ CallNode (location: (1,0)-(1,14))
+ │ ├── flags: ∅
│ ├── receiver: ∅
│ ├── call_operator_loc: ∅
│ ├── name: :m
@@ -11,26 +12,26 @@
│ ├── opening_loc: ∅
│ ├── arguments:
│ │ @ ArgumentsNode (location: (1,2)-(1,14))
- │ │ ├── arguments: (length: 1)
- │ │ │ └── @ DefNode (location: (1,2)-(1,14))
- │ │ │ ├── name: :x
- │ │ │ ├── name_loc: (1,6)-(1,7) = "x"
- │ │ │ ├── receiver: ∅
- │ │ │ ├── parameters: ∅
- │ │ │ ├── body: ∅
- │ │ │ ├── locals: []
- │ │ │ ├── locals_body_index: 0
- │ │ │ ├── def_keyword_loc: (1,2)-(1,5) = "def"
- │ │ │ ├── operator_loc: ∅
- │ │ │ ├── lparen_loc: (1,7)-(1,8) = "("
- │ │ │ ├── rparen_loc: (1,8)-(1,9) = ")"
- │ │ │ ├── equal_loc: ∅
- │ │ │ └── end_keyword_loc: (1,11)-(1,14) = "end"
- │ │ └── flags: ∅
+ │ │ ├── flags: ∅
+ │ │ └── arguments: (length: 1)
+ │ │ └── @ DefNode (location: (1,2)-(1,14))
+ │ │ ├── name: :x
+ │ │ ├── name_loc: (1,6)-(1,7) = "x"
+ │ │ ├── receiver: ∅
+ │ │ ├── parameters: ∅
+ │ │ ├── body: ∅
+ │ │ ├── locals: []
+ │ │ ├── locals_body_index: 0
+ │ │ ├── def_keyword_loc: (1,2)-(1,5) = "def"
+ │ │ ├── operator_loc: ∅
+ │ │ ├── lparen_loc: (1,7)-(1,8) = "("
+ │ │ ├── rparen_loc: (1,8)-(1,9) = ")"
+ │ │ ├── equal_loc: ∅
+ │ │ └── end_keyword_loc: (1,11)-(1,14) = "end"
│ ├── closing_loc: ∅
- │ ├── block: ∅
- │ └── flags: ∅
+ │ └── block: ∅
└── @ CallNode (location: (1,16)-(1,28))
+ ├── flags: ∅
├── receiver:
│ @ IntegerNode (location: (1,16)-(1,17))
│ └── flags: decimal
@@ -40,12 +41,11 @@
├── opening_loc: ∅
├── arguments: ∅
├── closing_loc: ∅
- ├── block:
- │ @ BlockNode (location: (1,22)-(1,28))
- │ ├── locals: []
- │ ├── locals_body_index: 0
- │ ├── parameters: ∅
- │ ├── body: ∅
- │ ├── opening_loc: (1,22)-(1,24) = "do"
- │ └── closing_loc: (1,25)-(1,28) = "end"
- └── flags: ∅
+ └── block:
+ @ BlockNode (location: (1,22)-(1,28))
+ ├── locals: []
+ ├── locals_body_index: 0
+ ├── parameters: ∅
+ ├── body: ∅
+ ├── opening_loc: (1,22)-(1,24) = "do"
+ └── closing_loc: (1,25)-(1,28) = "end"
diff --git a/test/prism/snapshots/whitequark/bug_cmd_string_lookahead.txt b/test/prism/snapshots/whitequark/bug_cmd_string_lookahead.txt
index 4f4e7cad95..91e849c830 100644
--- a/test/prism/snapshots/whitequark/bug_cmd_string_lookahead.txt
+++ b/test/prism/snapshots/whitequark/bug_cmd_string_lookahead.txt
@@ -4,6 +4,7 @@
@ StatementsNode (location: (1,0)-(1,17))
└── body: (length: 1)
└── @ CallNode (location: (1,0)-(1,17))
+ ├── flags: ∅
├── receiver: ∅
├── call_operator_loc: ∅
├── name: :desc
@@ -11,21 +12,20 @@
├── opening_loc: ∅
├── arguments:
│ @ ArgumentsNode (location: (1,5)-(1,10))
- │ ├── arguments: (length: 1)
- │ │ └── @ StringNode (location: (1,5)-(1,10))
- │ │ ├── flags: ∅
- │ │ ├── opening_loc: (1,5)-(1,6) = "\""
- │ │ ├── content_loc: (1,6)-(1,9) = "foo"
- │ │ ├── closing_loc: (1,9)-(1,10) = "\""
- │ │ └── unescaped: "foo"
- │ └── flags: ∅
+ │ ├── flags: ∅
+ │ └── arguments: (length: 1)
+ │ └── @ StringNode (location: (1,5)-(1,10))
+ │ ├── flags: ∅
+ │ ├── opening_loc: (1,5)-(1,6) = "\""
+ │ ├── content_loc: (1,6)-(1,9) = "foo"
+ │ ├── closing_loc: (1,9)-(1,10) = "\""
+ │ └── unescaped: "foo"
├── closing_loc: ∅
- ├── block:
- │ @ BlockNode (location: (1,11)-(1,17))
- │ ├── locals: []
- │ ├── locals_body_index: 0
- │ ├── parameters: ∅
- │ ├── body: ∅
- │ ├── opening_loc: (1,11)-(1,13) = "do"
- │ └── closing_loc: (1,14)-(1,17) = "end"
- └── flags: ∅
+ └── block:
+ @ BlockNode (location: (1,11)-(1,17))
+ ├── locals: []
+ ├── locals_body_index: 0
+ ├── parameters: ∅
+ ├── body: ∅
+ ├── opening_loc: (1,11)-(1,13) = "do"
+ └── closing_loc: (1,14)-(1,17) = "end"
diff --git a/test/prism/snapshots/whitequark/bug_cmdarg.txt b/test/prism/snapshots/whitequark/bug_cmdarg.txt
index 630d784b81..ec0cd595c1 100644
--- a/test/prism/snapshots/whitequark/bug_cmdarg.txt
+++ b/test/prism/snapshots/whitequark/bug_cmdarg.txt
@@ -4,6 +4,7 @@
@ StatementsNode (location: (1,0)-(5,26))
└── body: (length: 3)
├── @ CallNode (location: (1,0)-(1,15))
+ │ ├── flags: ∅
│ ├── receiver: ∅
│ ├── call_operator_loc: ∅
│ ├── name: :assert
@@ -11,24 +12,24 @@
│ ├── opening_loc: ∅
│ ├── arguments:
│ │ @ ArgumentsNode (location: (1,7)-(1,15))
- │ │ ├── arguments: (length: 1)
- │ │ │ └── @ KeywordHashNode (location: (1,7)-(1,15))
- │ │ │ └── elements: (length: 1)
- │ │ │ └── @ AssocNode (location: (1,7)-(1,15))
- │ │ │ ├── key:
- │ │ │ │ @ SymbolNode (location: (1,7)-(1,10))
- │ │ │ │ ├── opening_loc: ∅
- │ │ │ │ ├── value_loc: (1,7)-(1,9) = "do"
- │ │ │ │ ├── closing_loc: (1,9)-(1,10) = ":"
- │ │ │ │ └── unescaped: "do"
- │ │ │ ├── value:
- │ │ │ │ @ TrueNode (location: (1,11)-(1,15))
- │ │ │ └── operator_loc: ∅
- │ │ └── flags: ∅
+ │ │ ├── flags: ∅
+ │ │ └── arguments: (length: 1)
+ │ │ └── @ KeywordHashNode (location: (1,7)-(1,15))
+ │ │ └── elements: (length: 1)
+ │ │ └── @ AssocNode (location: (1,7)-(1,15))
+ │ │ ├── key:
+ │ │ │ @ SymbolNode (location: (1,7)-(1,10))
+ │ │ │ ├── opening_loc: ∅
+ │ │ │ ├── value_loc: (1,7)-(1,9) = "do"
+ │ │ │ ├── closing_loc: (1,9)-(1,10) = ":"
+ │ │ │ └── unescaped: "do"
+ │ │ ├── value:
+ │ │ │ @ TrueNode (location: (1,11)-(1,15))
+ │ │ └── operator_loc: ∅
│ ├── closing_loc: ∅
- │ ├── block: ∅
- │ └── flags: ∅
+ │ └── block: ∅
├── @ CallNode (location: (3,0)-(3,11))
+ │ ├── flags: ∅
│ ├── receiver: ∅
│ ├── call_operator_loc: ∅
│ ├── name: :assert
@@ -36,22 +37,22 @@
│ ├── opening_loc: ∅
│ ├── arguments:
│ │ @ ArgumentsNode (location: (3,7)-(3,11))
- │ │ ├── arguments: (length: 1)
- │ │ │ └── @ CallNode (location: (3,7)-(3,11))
- │ │ │ ├── receiver: ∅
- │ │ │ ├── call_operator_loc: ∅
- │ │ │ ├── name: :dogs
- │ │ │ ├── message_loc: (3,7)-(3,11) = "dogs"
- │ │ │ ├── opening_loc: ∅
- │ │ │ ├── arguments: ∅
- │ │ │ ├── closing_loc: ∅
- │ │ │ ├── block: ∅
- │ │ │ └── flags: variable_call
- │ │ └── flags: ∅
+ │ │ ├── flags: ∅
+ │ │ └── arguments: (length: 1)
+ │ │ └── @ CallNode (location: (3,7)-(3,11))
+ │ │ ├── flags: variable_call
+ │ │ ├── receiver: ∅
+ │ │ ├── call_operator_loc: ∅
+ │ │ ├── name: :dogs
+ │ │ ├── message_loc: (3,7)-(3,11) = "dogs"
+ │ │ ├── opening_loc: ∅
+ │ │ ├── arguments: ∅
+ │ │ ├── closing_loc: ∅
+ │ │ └── block: ∅
│ ├── closing_loc: ∅
- │ ├── block: ∅
- │ └── flags: ∅
+ │ └── block: ∅
└── @ CallNode (location: (5,0)-(5,26))
+ ├── flags: ∅
├── receiver: ∅
├── call_operator_loc: ∅
├── name: :f
@@ -59,46 +60,45 @@
├── opening_loc: ∅
├── arguments:
│ @ ArgumentsNode (location: (5,2)-(5,26))
- │ ├── arguments: (length: 1)
- │ │ └── @ KeywordHashNode (location: (5,2)-(5,26))
- │ │ └── elements: (length: 1)
- │ │ └── @ AssocNode (location: (5,2)-(5,26))
- │ │ ├── key:
- │ │ │ @ SymbolNode (location: (5,2)-(5,4))
- │ │ │ ├── opening_loc: ∅
- │ │ │ ├── value_loc: (5,2)-(5,3) = "x"
- │ │ │ ├── closing_loc: (5,3)-(5,4) = ":"
- │ │ │ └── unescaped: "x"
- │ │ ├── value:
- │ │ │ @ LambdaNode (location: (5,5)-(5,26))
- │ │ │ ├── locals: []
- │ │ │ ├── locals_body_index: 0
- │ │ │ ├── operator_loc: (5,5)-(5,7) = "->"
- │ │ │ ├── opening_loc: (5,8)-(5,10) = "do"
- │ │ │ ├── closing_loc: (5,23)-(5,26) = "end"
- │ │ │ ├── parameters: ∅
- │ │ │ └── body:
- │ │ │ @ StatementsNode (location: (5,11)-(5,22))
- │ │ │ └── body: (length: 1)
- │ │ │ └── @ CallNode (location: (5,11)-(5,22))
- │ │ │ ├── receiver: ∅
- │ │ │ ├── call_operator_loc: ∅
- │ │ │ ├── name: :meth
- │ │ │ ├── message_loc: (5,11)-(5,15) = "meth"
- │ │ │ ├── opening_loc: ∅
- │ │ │ ├── arguments: ∅
- │ │ │ ├── closing_loc: ∅
- │ │ │ ├── block:
- │ │ │ │ @ BlockNode (location: (5,16)-(5,22))
- │ │ │ │ ├── locals: []
- │ │ │ │ ├── locals_body_index: 0
- │ │ │ │ ├── parameters: ∅
- │ │ │ │ ├── body: ∅
- │ │ │ │ ├── opening_loc: (5,16)-(5,18) = "do"
- │ │ │ │ └── closing_loc: (5,19)-(5,22) = "end"
- │ │ │ └── flags: ∅
- │ │ └── operator_loc: ∅
- │ └── flags: ∅
+ │ ├── flags: ∅
+ │ └── arguments: (length: 1)
+ │ └── @ KeywordHashNode (location: (5,2)-(5,26))
+ │ └── elements: (length: 1)
+ │ └── @ AssocNode (location: (5,2)-(5,26))
+ │ ├── key:
+ │ │ @ SymbolNode (location: (5,2)-(5,4))
+ │ │ ├── opening_loc: ∅
+ │ │ ├── value_loc: (5,2)-(5,3) = "x"
+ │ │ ├── closing_loc: (5,3)-(5,4) = ":"
+ │ │ └── unescaped: "x"
+ │ ├── value:
+ │ │ @ LambdaNode (location: (5,5)-(5,26))
+ │ │ ├── locals: []
+ │ │ ├── locals_body_index: 0
+ │ │ ├── operator_loc: (5,5)-(5,7) = "->"
+ │ │ ├── opening_loc: (5,8)-(5,10) = "do"
+ │ │ ├── closing_loc: (5,23)-(5,26) = "end"
+ │ │ ├── parameters: ∅
+ │ │ └── body:
+ │ │ @ StatementsNode (location: (5,11)-(5,22))
+ │ │ └── body: (length: 1)
+ │ │ └── @ CallNode (location: (5,11)-(5,22))
+ │ │ ├── flags: ∅
+ │ │ ├── receiver: ∅
+ │ │ ├── call_operator_loc: ∅
+ │ │ ├── name: :meth
+ │ │ ├── message_loc: (5,11)-(5,15) = "meth"
+ │ │ ├── opening_loc: ∅
+ │ │ ├── arguments: ∅
+ │ │ ├── closing_loc: ∅
+ │ │ └── block:
+ │ │ @ BlockNode (location: (5,16)-(5,22))
+ │ │ ├── locals: []
+ │ │ ├── locals_body_index: 0
+ │ │ ├── parameters: ∅
+ │ │ ├── body: ∅
+ │ │ ├── opening_loc: (5,16)-(5,18) = "do"
+ │ │ └── closing_loc: (5,19)-(5,22) = "end"
+ │ └── operator_loc: ∅
├── closing_loc: ∅
- ├── block: ∅
- └── flags: ∅
+ └── block: ∅
diff --git a/test/prism/snapshots/whitequark/bug_do_block_in_call_args.txt b/test/prism/snapshots/whitequark/bug_do_block_in_call_args.txt
index 08ad0eb2ec..3b5bc5b475 100644
--- a/test/prism/snapshots/whitequark/bug_do_block_in_call_args.txt
+++ b/test/prism/snapshots/whitequark/bug_do_block_in_call_args.txt
@@ -4,6 +4,7 @@
@ StatementsNode (location: (1,0)-(1,33))
└── body: (length: 1)
└── @ CallNode (location: (1,0)-(1,33))
+ ├── flags: ∅
├── receiver: ∅
├── call_operator_loc: ∅
├── name: :bar
@@ -11,42 +12,41 @@
├── opening_loc: ∅
├── arguments:
│ @ ArgumentsNode (location: (1,4)-(1,33))
- │ ├── arguments: (length: 1)
- │ │ └── @ DefNode (location: (1,4)-(1,33))
- │ │ ├── name: :foo
- │ │ ├── name_loc: (1,8)-(1,11) = "foo"
- │ │ ├── receiver: ∅
- │ │ ├── parameters: ∅
- │ │ ├── body:
- │ │ │ @ StatementsNode (location: (1,13)-(1,29))
- │ │ │ └── body: (length: 1)
- │ │ │ └── @ CallNode (location: (1,13)-(1,29))
- │ │ │ ├── receiver:
- │ │ │ │ @ SelfNode (location: (1,13)-(1,17))
- │ │ │ ├── call_operator_loc: (1,17)-(1,18) = "."
- │ │ │ ├── name: :each
- │ │ │ ├── message_loc: (1,18)-(1,22) = "each"
- │ │ │ ├── opening_loc: ∅
- │ │ │ ├── arguments: ∅
- │ │ │ ├── closing_loc: ∅
- │ │ │ ├── block:
- │ │ │ │ @ BlockNode (location: (1,23)-(1,29))
- │ │ │ │ ├── locals: []
- │ │ │ │ ├── locals_body_index: 0
- │ │ │ │ ├── parameters: ∅
- │ │ │ │ ├── body: ∅
- │ │ │ │ ├── opening_loc: (1,23)-(1,25) = "do"
- │ │ │ │ └── closing_loc: (1,26)-(1,29) = "end"
- │ │ │ └── flags: ∅
- │ │ ├── locals: []
- │ │ ├── locals_body_index: 0
- │ │ ├── def_keyword_loc: (1,4)-(1,7) = "def"
- │ │ ├── operator_loc: ∅
- │ │ ├── lparen_loc: ∅
- │ │ ├── rparen_loc: ∅
- │ │ ├── equal_loc: ∅
- │ │ └── end_keyword_loc: (1,30)-(1,33) = "end"
- │ └── flags: ∅
+ │ ├── flags: ∅
+ │ └── arguments: (length: 1)
+ │ └── @ DefNode (location: (1,4)-(1,33))
+ │ ├── name: :foo
+ │ ├── name_loc: (1,8)-(1,11) = "foo"
+ │ ├── receiver: ∅
+ │ ├── parameters: ∅
+ │ ├── body:
+ │ │ @ StatementsNode (location: (1,13)-(1,29))
+ │ │ └── body: (length: 1)
+ │ │ └── @ CallNode (location: (1,13)-(1,29))
+ │ │ ├── flags: ∅
+ │ │ ├── receiver:
+ │ │ │ @ SelfNode (location: (1,13)-(1,17))
+ │ │ ├── call_operator_loc: (1,17)-(1,18) = "."
+ │ │ ├── name: :each
+ │ │ ├── message_loc: (1,18)-(1,22) = "each"
+ │ │ ├── opening_loc: ∅
+ │ │ ├── arguments: ∅
+ │ │ ├── closing_loc: ∅
+ │ │ └── block:
+ │ │ @ BlockNode (location: (1,23)-(1,29))
+ │ │ ├── locals: []
+ │ │ ├── locals_body_index: 0
+ │ │ ├── parameters: ∅
+ │ │ ├── body: ∅
+ │ │ ├── opening_loc: (1,23)-(1,25) = "do"
+ │ │ └── closing_loc: (1,26)-(1,29) = "end"
+ │ ├── locals: []
+ │ ├── locals_body_index: 0
+ │ ├── def_keyword_loc: (1,4)-(1,7) = "def"
+ │ ├── operator_loc: ∅
+ │ ├── lparen_loc: ∅
+ │ ├── rparen_loc: ∅
+ │ ├── equal_loc: ∅
+ │ └── end_keyword_loc: (1,30)-(1,33) = "end"
├── closing_loc: ∅
- ├── block: ∅
- └── flags: ∅
+ └── block: ∅
diff --git a/test/prism/snapshots/whitequark/bug_do_block_in_cmdarg.txt b/test/prism/snapshots/whitequark/bug_do_block_in_cmdarg.txt
index 4637487196..3283361ac1 100644
--- a/test/prism/snapshots/whitequark/bug_do_block_in_cmdarg.txt
+++ b/test/prism/snapshots/whitequark/bug_do_block_in_cmdarg.txt
@@ -4,6 +4,7 @@
@ StatementsNode (location: (1,0)-(1,17))
└── body: (length: 1)
└── @ CallNode (location: (1,0)-(1,17))
+ ├── flags: ∅
├── receiver: ∅
├── call_operator_loc: ∅
├── name: :tap
@@ -11,31 +12,30 @@
├── opening_loc: ∅
├── arguments:
│ @ ArgumentsNode (location: (1,4)-(1,17))
- │ ├── arguments: (length: 1)
- │ │ └── @ ParenthesesNode (location: (1,4)-(1,17))
- │ │ ├── body:
- │ │ │ @ StatementsNode (location: (1,5)-(1,16))
- │ │ │ └── body: (length: 1)
- │ │ │ └── @ CallNode (location: (1,5)-(1,16))
- │ │ │ ├── receiver: ∅
- │ │ │ ├── call_operator_loc: ∅
- │ │ │ ├── name: :proc
- │ │ │ ├── message_loc: (1,5)-(1,9) = "proc"
- │ │ │ ├── opening_loc: ∅
- │ │ │ ├── arguments: ∅
- │ │ │ ├── closing_loc: ∅
- │ │ │ ├── block:
- │ │ │ │ @ BlockNode (location: (1,10)-(1,16))
- │ │ │ │ ├── locals: []
- │ │ │ │ ├── locals_body_index: 0
- │ │ │ │ ├── parameters: ∅
- │ │ │ │ ├── body: ∅
- │ │ │ │ ├── opening_loc: (1,10)-(1,12) = "do"
- │ │ │ │ └── closing_loc: (1,13)-(1,16) = "end"
- │ │ │ └── flags: ∅
- │ │ ├── opening_loc: (1,4)-(1,5) = "("
- │ │ └── closing_loc: (1,16)-(1,17) = ")"
- │ └── flags: ∅
+ │ ├── flags: ∅
+ │ └── arguments: (length: 1)
+ │ └── @ ParenthesesNode (location: (1,4)-(1,17))
+ │ ├── body:
+ │ │ @ StatementsNode (location: (1,5)-(1,16))
+ │ │ └── body: (length: 1)
+ │ │ └── @ CallNode (location: (1,5)-(1,16))
+ │ │ ├── flags: ∅
+ │ │ ├── receiver: ∅
+ │ │ ├── call_operator_loc: ∅
+ │ │ ├── name: :proc
+ │ │ ├── message_loc: (1,5)-(1,9) = "proc"
+ │ │ ├── opening_loc: ∅
+ │ │ ├── arguments: ∅
+ │ │ ├── closing_loc: ∅
+ │ │ └── block:
+ │ │ @ BlockNode (location: (1,10)-(1,16))
+ │ │ ├── locals: []
+ │ │ ├── locals_body_index: 0
+ │ │ ├── parameters: ∅
+ │ │ ├── body: ∅
+ │ │ ├── opening_loc: (1,10)-(1,12) = "do"
+ │ │ └── closing_loc: (1,13)-(1,16) = "end"
+ │ ├── opening_loc: (1,4)-(1,5) = "("
+ │ └── closing_loc: (1,16)-(1,17) = ")"
├── closing_loc: ∅
- ├── block: ∅
- └── flags: ∅
+ └── block: ∅
diff --git a/test/prism/snapshots/whitequark/bug_do_block_in_hash_brace.txt b/test/prism/snapshots/whitequark/bug_do_block_in_hash_brace.txt
index f04e3314f8..8fb885e236 100644
--- a/test/prism/snapshots/whitequark/bug_do_block_in_hash_brace.txt
+++ b/test/prism/snapshots/whitequark/bug_do_block_in_hash_brace.txt
@@ -4,6 +4,7 @@
@ StatementsNode (location: (1,0)-(9,52))
└── body: (length: 5)
├── @ CallNode (location: (1,0)-(1,42))
+ │ ├── flags: ∅
│ ├── receiver: ∅
│ ├── call_operator_loc: ∅
│ ├── name: :p
@@ -11,73 +12,73 @@
│ ├── opening_loc: ∅
│ ├── arguments:
│ │ @ ArgumentsNode (location: (1,2)-(1,42))
- │ │ ├── arguments: (length: 2)
- │ │ │ ├── @ SymbolNode (location: (1,2)-(1,6))
- │ │ │ │ ├── opening_loc: (1,2)-(1,3) = ":"
- │ │ │ │ ├── value_loc: (1,3)-(1,6) = "foo"
- │ │ │ │ ├── closing_loc: ∅
- │ │ │ │ └── unescaped: "foo"
- │ │ │ └── @ HashNode (location: (1,8)-(1,42))
- │ │ │ ├── opening_loc: (1,8)-(1,9) = "{"
- │ │ │ ├── elements: (length: 2)
- │ │ │ │ ├── @ AssocNode (location: (1,9)-(1,25))
- │ │ │ │ │ ├── key:
- │ │ │ │ │ │ @ SymbolNode (location: (1,9)-(1,13))
- │ │ │ │ │ │ ├── opening_loc: (1,9)-(1,10) = "\""
- │ │ │ │ │ │ ├── value_loc: (1,10)-(1,11) = "a"
- │ │ │ │ │ │ ├── closing_loc: (1,11)-(1,13) = "\":"
- │ │ │ │ │ │ └── unescaped: "a"
- │ │ │ │ │ ├── value:
- │ │ │ │ │ │ @ CallNode (location: (1,14)-(1,25))
- │ │ │ │ │ │ ├── receiver: ∅
- │ │ │ │ │ │ ├── call_operator_loc: ∅
- │ │ │ │ │ │ ├── name: :proc
- │ │ │ │ │ │ ├── message_loc: (1,14)-(1,18) = "proc"
- │ │ │ │ │ │ ├── opening_loc: ∅
- │ │ │ │ │ │ ├── arguments: ∅
- │ │ │ │ │ │ ├── closing_loc: ∅
- │ │ │ │ │ │ ├── block:
- │ │ │ │ │ │ │ @ BlockNode (location: (1,19)-(1,25))
- │ │ │ │ │ │ │ ├── locals: []
- │ │ │ │ │ │ │ ├── locals_body_index: 0
- │ │ │ │ │ │ │ ├── parameters: ∅
- │ │ │ │ │ │ │ ├── body: ∅
- │ │ │ │ │ │ │ ├── opening_loc: (1,19)-(1,21) = "do"
- │ │ │ │ │ │ │ └── closing_loc: (1,22)-(1,25) = "end"
- │ │ │ │ │ │ └── flags: ∅
- │ │ │ │ │ └── operator_loc: ∅
- │ │ │ │ └── @ AssocNode (location: (1,27)-(1,41))
- │ │ │ │ ├── key:
- │ │ │ │ │ @ SymbolNode (location: (1,27)-(1,29))
- │ │ │ │ │ ├── opening_loc: ∅
- │ │ │ │ │ ├── value_loc: (1,27)-(1,28) = "b"
- │ │ │ │ │ ├── closing_loc: (1,28)-(1,29) = ":"
- │ │ │ │ │ └── unescaped: "b"
- │ │ │ │ ├── value:
- │ │ │ │ │ @ CallNode (location: (1,30)-(1,41))
- │ │ │ │ │ ├── receiver: ∅
- │ │ │ │ │ ├── call_operator_loc: ∅
- │ │ │ │ │ ├── name: :proc
- │ │ │ │ │ ├── message_loc: (1,30)-(1,34) = "proc"
- │ │ │ │ │ ├── opening_loc: ∅
- │ │ │ │ │ ├── arguments: ∅
- │ │ │ │ │ ├── closing_loc: ∅
- │ │ │ │ │ ├── block:
- │ │ │ │ │ │ @ BlockNode (location: (1,35)-(1,41))
- │ │ │ │ │ │ ├── locals: []
- │ │ │ │ │ │ ├── locals_body_index: 0
- │ │ │ │ │ │ ├── parameters: ∅
- │ │ │ │ │ │ ├── body: ∅
- │ │ │ │ │ │ ├── opening_loc: (1,35)-(1,37) = "do"
- │ │ │ │ │ │ └── closing_loc: (1,38)-(1,41) = "end"
- │ │ │ │ │ └── flags: ∅
- │ │ │ │ └── operator_loc: ∅
- │ │ │ └── closing_loc: (1,41)-(1,42) = "}"
- │ │ └── flags: ∅
+ │ │ ├── flags: ∅
+ │ │ └── arguments: (length: 2)
+ │ │ ├── @ SymbolNode (location: (1,2)-(1,6))
+ │ │ │ ├── opening_loc: (1,2)-(1,3) = ":"
+ │ │ │ ├── value_loc: (1,3)-(1,6) = "foo"
+ │ │ │ ├── closing_loc: ∅
+ │ │ │ └── unescaped: "foo"
+ │ │ └── @ HashNode (location: (1,8)-(1,42))
+ │ │ ├── opening_loc: (1,8)-(1,9) = "{"
+ │ │ ├── elements: (length: 2)
+ │ │ │ ├── @ AssocNode (location: (1,9)-(1,25))
+ │ │ │ │ ├── key:
+ │ │ │ │ │ @ SymbolNode (location: (1,9)-(1,13))
+ │ │ │ │ │ ├── opening_loc: (1,9)-(1,10) = "\""
+ │ │ │ │ │ ├── value_loc: (1,10)-(1,11) = "a"
+ │ │ │ │ │ ├── closing_loc: (1,11)-(1,13) = "\":"
+ │ │ │ │ │ └── unescaped: "a"
+ │ │ │ │ ├── value:
+ │ │ │ │ │ @ CallNode (location: (1,14)-(1,25))
+ │ │ │ │ │ ├── flags: ∅
+ │ │ │ │ │ ├── receiver: ∅
+ │ │ │ │ │ ├── call_operator_loc: ∅
+ │ │ │ │ │ ├── name: :proc
+ │ │ │ │ │ ├── message_loc: (1,14)-(1,18) = "proc"
+ │ │ │ │ │ ├── opening_loc: ∅
+ │ │ │ │ │ ├── arguments: ∅
+ │ │ │ │ │ ├── closing_loc: ∅
+ │ │ │ │ │ └── block:
+ │ │ │ │ │ @ BlockNode (location: (1,19)-(1,25))
+ │ │ │ │ │ ├── locals: []
+ │ │ │ │ │ ├── locals_body_index: 0
+ │ │ │ │ │ ├── parameters: ∅
+ │ │ │ │ │ ├── body: ∅
+ │ │ │ │ │ ├── opening_loc: (1,19)-(1,21) = "do"
+ │ │ │ │ │ └── closing_loc: (1,22)-(1,25) = "end"
+ │ │ │ │ └── operator_loc: ∅
+ │ │ │ └── @ AssocNode (location: (1,27)-(1,41))
+ │ │ │ ├── key:
+ │ │ │ │ @ SymbolNode (location: (1,27)-(1,29))
+ │ │ │ │ ├── opening_loc: ∅
+ │ │ │ │ ├── value_loc: (1,27)-(1,28) = "b"
+ │ │ │ │ ├── closing_loc: (1,28)-(1,29) = ":"
+ │ │ │ │ └── unescaped: "b"
+ │ │ │ ├── value:
+ │ │ │ │ @ CallNode (location: (1,30)-(1,41))
+ │ │ │ │ ├── flags: ∅
+ │ │ │ │ ├── receiver: ∅
+ │ │ │ │ ├── call_operator_loc: ∅
+ │ │ │ │ ├── name: :proc
+ │ │ │ │ ├── message_loc: (1,30)-(1,34) = "proc"
+ │ │ │ │ ├── opening_loc: ∅
+ │ │ │ │ ├── arguments: ∅
+ │ │ │ │ ├── closing_loc: ∅
+ │ │ │ │ └── block:
+ │ │ │ │ @ BlockNode (location: (1,35)-(1,41))
+ │ │ │ │ ├── locals: []
+ │ │ │ │ ├── locals_body_index: 0
+ │ │ │ │ ├── parameters: ∅
+ │ │ │ │ ├── body: ∅
+ │ │ │ │ ├── opening_loc: (1,35)-(1,37) = "do"
+ │ │ │ │ └── closing_loc: (1,38)-(1,41) = "end"
+ │ │ │ └── operator_loc: ∅
+ │ │ └── closing_loc: (1,41)-(1,42) = "}"
│ ├── closing_loc: ∅
- │ ├── block: ∅
- │ └── flags: ∅
+ │ └── block: ∅
├── @ CallNode (location: (3,0)-(3,40))
+ │ ├── flags: ∅
│ ├── receiver: ∅
│ ├── call_operator_loc: ∅
│ ├── name: :p
@@ -85,67 +86,67 @@
│ ├── opening_loc: ∅
│ ├── arguments:
│ │ @ ArgumentsNode (location: (3,2)-(3,40))
- │ │ ├── arguments: (length: 2)
- │ │ │ ├── @ SymbolNode (location: (3,2)-(3,6))
- │ │ │ │ ├── opening_loc: (3,2)-(3,3) = ":"
- │ │ │ │ ├── value_loc: (3,3)-(3,6) = "foo"
- │ │ │ │ ├── closing_loc: ∅
- │ │ │ │ └── unescaped: "foo"
- │ │ │ └── @ HashNode (location: (3,8)-(3,40))
- │ │ │ ├── opening_loc: (3,8)-(3,9) = "{"
- │ │ │ ├── elements: (length: 2)
- │ │ │ │ ├── @ AssocSplatNode (location: (3,9)-(3,23))
- │ │ │ │ │ ├── value:
- │ │ │ │ │ │ @ CallNode (location: (3,12)-(3,23))
- │ │ │ │ │ │ ├── receiver: ∅
- │ │ │ │ │ │ ├── call_operator_loc: ∅
- │ │ │ │ │ │ ├── name: :proc
- │ │ │ │ │ │ ├── message_loc: (3,12)-(3,16) = "proc"
- │ │ │ │ │ │ ├── opening_loc: ∅
- │ │ │ │ │ │ ├── arguments: ∅
- │ │ │ │ │ │ ├── closing_loc: ∅
- │ │ │ │ │ │ ├── block:
- │ │ │ │ │ │ │ @ BlockNode (location: (3,17)-(3,23))
- │ │ │ │ │ │ │ ├── locals: []
- │ │ │ │ │ │ │ ├── locals_body_index: 0
- │ │ │ │ │ │ │ ├── parameters: ∅
- │ │ │ │ │ │ │ ├── body: ∅
- │ │ │ │ │ │ │ ├── opening_loc: (3,17)-(3,19) = "do"
- │ │ │ │ │ │ │ └── closing_loc: (3,20)-(3,23) = "end"
- │ │ │ │ │ │ └── flags: ∅
- │ │ │ │ │ └── operator_loc: (3,9)-(3,11) = "**"
- │ │ │ │ └── @ AssocNode (location: (3,25)-(3,39))
- │ │ │ │ ├── key:
- │ │ │ │ │ @ SymbolNode (location: (3,25)-(3,27))
- │ │ │ │ │ ├── opening_loc: ∅
- │ │ │ │ │ ├── value_loc: (3,25)-(3,26) = "b"
- │ │ │ │ │ ├── closing_loc: (3,26)-(3,27) = ":"
- │ │ │ │ │ └── unescaped: "b"
- │ │ │ │ ├── value:
- │ │ │ │ │ @ CallNode (location: (3,28)-(3,39))
- │ │ │ │ │ ├── receiver: ∅
- │ │ │ │ │ ├── call_operator_loc: ∅
- │ │ │ │ │ ├── name: :proc
- │ │ │ │ │ ├── message_loc: (3,28)-(3,32) = "proc"
- │ │ │ │ │ ├── opening_loc: ∅
- │ │ │ │ │ ├── arguments: ∅
- │ │ │ │ │ ├── closing_loc: ∅
- │ │ │ │ │ ├── block:
- │ │ │ │ │ │ @ BlockNode (location: (3,33)-(3,39))
- │ │ │ │ │ │ ├── locals: []
- │ │ │ │ │ │ ├── locals_body_index: 0
- │ │ │ │ │ │ ├── parameters: ∅
- │ │ │ │ │ │ ├── body: ∅
- │ │ │ │ │ │ ├── opening_loc: (3,33)-(3,35) = "do"
- │ │ │ │ │ │ └── closing_loc: (3,36)-(3,39) = "end"
- │ │ │ │ │ └── flags: ∅
- │ │ │ │ └── operator_loc: ∅
- │ │ │ └── closing_loc: (3,39)-(3,40) = "}"
- │ │ └── flags: ∅
+ │ │ ├── flags: ∅
+ │ │ └── arguments: (length: 2)
+ │ │ ├── @ SymbolNode (location: (3,2)-(3,6))
+ │ │ │ ├── opening_loc: (3,2)-(3,3) = ":"
+ │ │ │ ├── value_loc: (3,3)-(3,6) = "foo"
+ │ │ │ ├── closing_loc: ∅
+ │ │ │ └── unescaped: "foo"
+ │ │ └── @ HashNode (location: (3,8)-(3,40))
+ │ │ ├── opening_loc: (3,8)-(3,9) = "{"
+ │ │ ├── elements: (length: 2)
+ │ │ │ ├── @ AssocSplatNode (location: (3,9)-(3,23))
+ │ │ │ │ ├── value:
+ │ │ │ │ │ @ CallNode (location: (3,12)-(3,23))
+ │ │ │ │ │ ├── flags: ∅
+ │ │ │ │ │ ├── receiver: ∅
+ │ │ │ │ │ ├── call_operator_loc: ∅
+ │ │ │ │ │ ├── name: :proc
+ │ │ │ │ │ ├── message_loc: (3,12)-(3,16) = "proc"
+ │ │ │ │ │ ├── opening_loc: ∅
+ │ │ │ │ │ ├── arguments: ∅
+ │ │ │ │ │ ├── closing_loc: ∅
+ │ │ │ │ │ └── block:
+ │ │ │ │ │ @ BlockNode (location: (3,17)-(3,23))
+ │ │ │ │ │ ├── locals: []
+ │ │ │ │ │ ├── locals_body_index: 0
+ │ │ │ │ │ ├── parameters: ∅
+ │ │ │ │ │ ├── body: ∅
+ │ │ │ │ │ ├── opening_loc: (3,17)-(3,19) = "do"
+ │ │ │ │ │ └── closing_loc: (3,20)-(3,23) = "end"
+ │ │ │ │ └── operator_loc: (3,9)-(3,11) = "**"
+ │ │ │ └── @ AssocNode (location: (3,25)-(3,39))
+ │ │ │ ├── key:
+ │ │ │ │ @ SymbolNode (location: (3,25)-(3,27))
+ │ │ │ │ ├── opening_loc: ∅
+ │ │ │ │ ├── value_loc: (3,25)-(3,26) = "b"
+ │ │ │ │ ├── closing_loc: (3,26)-(3,27) = ":"
+ │ │ │ │ └── unescaped: "b"
+ │ │ │ ├── value:
+ │ │ │ │ @ CallNode (location: (3,28)-(3,39))
+ │ │ │ │ ├── flags: ∅
+ │ │ │ │ ├── receiver: ∅
+ │ │ │ │ ├── call_operator_loc: ∅
+ │ │ │ │ ├── name: :proc
+ │ │ │ │ ├── message_loc: (3,28)-(3,32) = "proc"
+ │ │ │ │ ├── opening_loc: ∅
+ │ │ │ │ ├── arguments: ∅
+ │ │ │ │ ├── closing_loc: ∅
+ │ │ │ │ └── block:
+ │ │ │ │ @ BlockNode (location: (3,33)-(3,39))
+ │ │ │ │ ├── locals: []
+ │ │ │ │ ├── locals_body_index: 0
+ │ │ │ │ ├── parameters: ∅
+ │ │ │ │ ├── body: ∅
+ │ │ │ │ ├── opening_loc: (3,33)-(3,35) = "do"
+ │ │ │ │ └── closing_loc: (3,36)-(3,39) = "end"
+ │ │ │ └── operator_loc: ∅
+ │ │ └── closing_loc: (3,39)-(3,40) = "}"
│ ├── closing_loc: ∅
- │ ├── block: ∅
- │ └── flags: ∅
+ │ └── block: ∅
├── @ CallNode (location: (5,0)-(5,43))
+ │ ├── flags: ∅
│ ├── receiver: ∅
│ ├── call_operator_loc: ∅
│ ├── name: :p
@@ -153,73 +154,73 @@
│ ├── opening_loc: ∅
│ ├── arguments:
│ │ @ ArgumentsNode (location: (5,2)-(5,43))
- │ │ ├── arguments: (length: 2)
- │ │ │ ├── @ SymbolNode (location: (5,2)-(5,6))
- │ │ │ │ ├── opening_loc: (5,2)-(5,3) = ":"
- │ │ │ │ ├── value_loc: (5,3)-(5,6) = "foo"
- │ │ │ │ ├── closing_loc: ∅
- │ │ │ │ └── unescaped: "foo"
- │ │ │ └── @ HashNode (location: (5,8)-(5,43))
- │ │ │ ├── opening_loc: (5,8)-(5,9) = "{"
- │ │ │ ├── elements: (length: 2)
- │ │ │ │ ├── @ AssocNode (location: (5,9)-(5,26))
- │ │ │ │ │ ├── key:
- │ │ │ │ │ │ @ SymbolNode (location: (5,9)-(5,11))
- │ │ │ │ │ │ ├── opening_loc: (5,9)-(5,10) = ":"
- │ │ │ │ │ │ ├── value_loc: (5,10)-(5,11) = "a"
- │ │ │ │ │ │ ├── closing_loc: ∅
- │ │ │ │ │ │ └── unescaped: "a"
- │ │ │ │ │ ├── value:
- │ │ │ │ │ │ @ CallNode (location: (5,15)-(5,26))
- │ │ │ │ │ │ ├── receiver: ∅
- │ │ │ │ │ │ ├── call_operator_loc: ∅
- │ │ │ │ │ │ ├── name: :proc
- │ │ │ │ │ │ ├── message_loc: (5,15)-(5,19) = "proc"
- │ │ │ │ │ │ ├── opening_loc: ∅
- │ │ │ │ │ │ ├── arguments: ∅
- │ │ │ │ │ │ ├── closing_loc: ∅
- │ │ │ │ │ │ ├── block:
- │ │ │ │ │ │ │ @ BlockNode (location: (5,20)-(5,26))
- │ │ │ │ │ │ │ ├── locals: []
- │ │ │ │ │ │ │ ├── locals_body_index: 0
- │ │ │ │ │ │ │ ├── parameters: ∅
- │ │ │ │ │ │ │ ├── body: ∅
- │ │ │ │ │ │ │ ├── opening_loc: (5,20)-(5,22) = "do"
- │ │ │ │ │ │ │ └── closing_loc: (5,23)-(5,26) = "end"
- │ │ │ │ │ │ └── flags: ∅
- │ │ │ │ │ └── operator_loc: (5,12)-(5,14) = "=>"
- │ │ │ │ └── @ AssocNode (location: (5,28)-(5,42))
- │ │ │ │ ├── key:
- │ │ │ │ │ @ SymbolNode (location: (5,28)-(5,30))
- │ │ │ │ │ ├── opening_loc: ∅
- │ │ │ │ │ ├── value_loc: (5,28)-(5,29) = "b"
- │ │ │ │ │ ├── closing_loc: (5,29)-(5,30) = ":"
- │ │ │ │ │ └── unescaped: "b"
- │ │ │ │ ├── value:
- │ │ │ │ │ @ CallNode (location: (5,31)-(5,42))
- │ │ │ │ │ ├── receiver: ∅
- │ │ │ │ │ ├── call_operator_loc: ∅
- │ │ │ │ │ ├── name: :proc
- │ │ │ │ │ ├── message_loc: (5,31)-(5,35) = "proc"
- │ │ │ │ │ ├── opening_loc: ∅
- │ │ │ │ │ ├── arguments: ∅
- │ │ │ │ │ ├── closing_loc: ∅
- │ │ │ │ │ ├── block:
- │ │ │ │ │ │ @ BlockNode (location: (5,36)-(5,42))
- │ │ │ │ │ │ ├── locals: []
- │ │ │ │ │ │ ├── locals_body_index: 0
- │ │ │ │ │ │ ├── parameters: ∅
- │ │ │ │ │ │ ├── body: ∅
- │ │ │ │ │ │ ├── opening_loc: (5,36)-(5,38) = "do"
- │ │ │ │ │ │ └── closing_loc: (5,39)-(5,42) = "end"
- │ │ │ │ │ └── flags: ∅
- │ │ │ │ └── operator_loc: ∅
- │ │ │ └── closing_loc: (5,42)-(5,43) = "}"
- │ │ └── flags: ∅
+ │ │ ├── flags: ∅
+ │ │ └── arguments: (length: 2)
+ │ │ ├── @ SymbolNode (location: (5,2)-(5,6))
+ │ │ │ ├── opening_loc: (5,2)-(5,3) = ":"
+ │ │ │ ├── value_loc: (5,3)-(5,6) = "foo"
+ │ │ │ ├── closing_loc: ∅
+ │ │ │ └── unescaped: "foo"
+ │ │ └── @ HashNode (location: (5,8)-(5,43))
+ │ │ ├── opening_loc: (5,8)-(5,9) = "{"
+ │ │ ├── elements: (length: 2)
+ │ │ │ ├── @ AssocNode (location: (5,9)-(5,26))
+ │ │ │ │ ├── key:
+ │ │ │ │ │ @ SymbolNode (location: (5,9)-(5,11))
+ │ │ │ │ │ ├── opening_loc: (5,9)-(5,10) = ":"
+ │ │ │ │ │ ├── value_loc: (5,10)-(5,11) = "a"
+ │ │ │ │ │ ├── closing_loc: ∅
+ │ │ │ │ │ └── unescaped: "a"
+ │ │ │ │ ├── value:
+ │ │ │ │ │ @ CallNode (location: (5,15)-(5,26))
+ │ │ │ │ │ ├── flags: ∅
+ │ │ │ │ │ ├── receiver: ∅
+ │ │ │ │ │ ├── call_operator_loc: ∅
+ │ │ │ │ │ ├── name: :proc
+ │ │ │ │ │ ├── message_loc: (5,15)-(5,19) = "proc"
+ │ │ │ │ │ ├── opening_loc: ∅
+ │ │ │ │ │ ├── arguments: ∅
+ │ │ │ │ │ ├── closing_loc: ∅
+ │ │ │ │ │ └── block:
+ │ │ │ │ │ @ BlockNode (location: (5,20)-(5,26))
+ │ │ │ │ │ ├── locals: []
+ │ │ │ │ │ ├── locals_body_index: 0
+ │ │ │ │ │ ├── parameters: ∅
+ │ │ │ │ │ ├── body: ∅
+ │ │ │ │ │ ├── opening_loc: (5,20)-(5,22) = "do"
+ │ │ │ │ │ └── closing_loc: (5,23)-(5,26) = "end"
+ │ │ │ │ └── operator_loc: (5,12)-(5,14) = "=>"
+ │ │ │ └── @ AssocNode (location: (5,28)-(5,42))
+ │ │ │ ├── key:
+ │ │ │ │ @ SymbolNode (location: (5,28)-(5,30))
+ │ │ │ │ ├── opening_loc: ∅
+ │ │ │ │ ├── value_loc: (5,28)-(5,29) = "b"
+ │ │ │ │ ├── closing_loc: (5,29)-(5,30) = ":"
+ │ │ │ │ └── unescaped: "b"
+ │ │ │ ├── value:
+ │ │ │ │ @ CallNode (location: (5,31)-(5,42))
+ │ │ │ │ ├── flags: ∅
+ │ │ │ │ ├── receiver: ∅
+ │ │ │ │ ├── call_operator_loc: ∅
+ │ │ │ │ ├── name: :proc
+ │ │ │ │ ├── message_loc: (5,31)-(5,35) = "proc"
+ │ │ │ │ ├── opening_loc: ∅
+ │ │ │ │ ├── arguments: ∅
+ │ │ │ │ ├── closing_loc: ∅
+ │ │ │ │ └── block:
+ │ │ │ │ @ BlockNode (location: (5,36)-(5,42))
+ │ │ │ │ ├── locals: []
+ │ │ │ │ ├── locals_body_index: 0
+ │ │ │ │ ├── parameters: ∅
+ │ │ │ │ ├── body: ∅
+ │ │ │ │ ├── opening_loc: (5,36)-(5,38) = "do"
+ │ │ │ │ └── closing_loc: (5,39)-(5,42) = "end"
+ │ │ │ └── operator_loc: ∅
+ │ │ └── closing_loc: (5,42)-(5,43) = "}"
│ ├── closing_loc: ∅
- │ ├── block: ∅
- │ └── flags: ∅
+ │ └── block: ∅
├── @ CallNode (location: (7,0)-(7,40))
+ │ ├── flags: ∅
│ ├── receiver: ∅
│ ├── call_operator_loc: ∅
│ ├── name: :p
@@ -227,73 +228,73 @@
│ ├── opening_loc: ∅
│ ├── arguments:
│ │ @ ArgumentsNode (location: (7,2)-(7,40))
- │ │ ├── arguments: (length: 2)
- │ │ │ ├── @ SymbolNode (location: (7,2)-(7,6))
- │ │ │ │ ├── opening_loc: (7,2)-(7,3) = ":"
- │ │ │ │ ├── value_loc: (7,3)-(7,6) = "foo"
- │ │ │ │ ├── closing_loc: ∅
- │ │ │ │ └── unescaped: "foo"
- │ │ │ └── @ HashNode (location: (7,8)-(7,40))
- │ │ │ ├── opening_loc: (7,8)-(7,9) = "{"
- │ │ │ ├── elements: (length: 2)
- │ │ │ │ ├── @ AssocNode (location: (7,9)-(7,23))
- │ │ │ │ │ ├── key:
- │ │ │ │ │ │ @ SymbolNode (location: (7,9)-(7,11))
- │ │ │ │ │ │ ├── opening_loc: ∅
- │ │ │ │ │ │ ├── value_loc: (7,9)-(7,10) = "a"
- │ │ │ │ │ │ ├── closing_loc: (7,10)-(7,11) = ":"
- │ │ │ │ │ │ └── unescaped: "a"
- │ │ │ │ │ ├── value:
- │ │ │ │ │ │ @ CallNode (location: (7,12)-(7,23))
- │ │ │ │ │ │ ├── receiver: ∅
- │ │ │ │ │ │ ├── call_operator_loc: ∅
- │ │ │ │ │ │ ├── name: :proc
- │ │ │ │ │ │ ├── message_loc: (7,12)-(7,16) = "proc"
- │ │ │ │ │ │ ├── opening_loc: ∅
- │ │ │ │ │ │ ├── arguments: ∅
- │ │ │ │ │ │ ├── closing_loc: ∅
- │ │ │ │ │ │ ├── block:
- │ │ │ │ │ │ │ @ BlockNode (location: (7,17)-(7,23))
- │ │ │ │ │ │ │ ├── locals: []
- │ │ │ │ │ │ │ ├── locals_body_index: 0
- │ │ │ │ │ │ │ ├── parameters: ∅
- │ │ │ │ │ │ │ ├── body: ∅
- │ │ │ │ │ │ │ ├── opening_loc: (7,17)-(7,19) = "do"
- │ │ │ │ │ │ │ └── closing_loc: (7,20)-(7,23) = "end"
- │ │ │ │ │ │ └── flags: ∅
- │ │ │ │ │ └── operator_loc: ∅
- │ │ │ │ └── @ AssocNode (location: (7,25)-(7,39))
- │ │ │ │ ├── key:
- │ │ │ │ │ @ SymbolNode (location: (7,25)-(7,27))
- │ │ │ │ │ ├── opening_loc: ∅
- │ │ │ │ │ ├── value_loc: (7,25)-(7,26) = "b"
- │ │ │ │ │ ├── closing_loc: (7,26)-(7,27) = ":"
- │ │ │ │ │ └── unescaped: "b"
- │ │ │ │ ├── value:
- │ │ │ │ │ @ CallNode (location: (7,28)-(7,39))
- │ │ │ │ │ ├── receiver: ∅
- │ │ │ │ │ ├── call_operator_loc: ∅
- │ │ │ │ │ ├── name: :proc
- │ │ │ │ │ ├── message_loc: (7,28)-(7,32) = "proc"
- │ │ │ │ │ ├── opening_loc: ∅
- │ │ │ │ │ ├── arguments: ∅
- │ │ │ │ │ ├── closing_loc: ∅
- │ │ │ │ │ ├── block:
- │ │ │ │ │ │ @ BlockNode (location: (7,33)-(7,39))
- │ │ │ │ │ │ ├── locals: []
- │ │ │ │ │ │ ├── locals_body_index: 0
- │ │ │ │ │ │ ├── parameters: ∅
- │ │ │ │ │ │ ├── body: ∅
- │ │ │ │ │ │ ├── opening_loc: (7,33)-(7,35) = "do"
- │ │ │ │ │ │ └── closing_loc: (7,36)-(7,39) = "end"
- │ │ │ │ │ └── flags: ∅
- │ │ │ │ └── operator_loc: ∅
- │ │ │ └── closing_loc: (7,39)-(7,40) = "}"
- │ │ └── flags: ∅
+ │ │ ├── flags: ∅
+ │ │ └── arguments: (length: 2)
+ │ │ ├── @ SymbolNode (location: (7,2)-(7,6))
+ │ │ │ ├── opening_loc: (7,2)-(7,3) = ":"
+ │ │ │ ├── value_loc: (7,3)-(7,6) = "foo"
+ │ │ │ ├── closing_loc: ∅
+ │ │ │ └── unescaped: "foo"
+ │ │ └── @ HashNode (location: (7,8)-(7,40))
+ │ │ ├── opening_loc: (7,8)-(7,9) = "{"
+ │ │ ├── elements: (length: 2)
+ │ │ │ ├── @ AssocNode (location: (7,9)-(7,23))
+ │ │ │ │ ├── key:
+ │ │ │ │ │ @ SymbolNode (location: (7,9)-(7,11))
+ │ │ │ │ │ ├── opening_loc: ∅
+ │ │ │ │ │ ├── value_loc: (7,9)-(7,10) = "a"
+ │ │ │ │ │ ├── closing_loc: (7,10)-(7,11) = ":"
+ │ │ │ │ │ └── unescaped: "a"
+ │ │ │ │ ├── value:
+ │ │ │ │ │ @ CallNode (location: (7,12)-(7,23))
+ │ │ │ │ │ ├── flags: ∅
+ │ │ │ │ │ ├── receiver: ∅
+ │ │ │ │ │ ├── call_operator_loc: ∅
+ │ │ │ │ │ ├── name: :proc
+ │ │ │ │ │ ├── message_loc: (7,12)-(7,16) = "proc"
+ │ │ │ │ │ ├── opening_loc: ∅
+ │ │ │ │ │ ├── arguments: ∅
+ │ │ │ │ │ ├── closing_loc: ∅
+ │ │ │ │ │ └── block:
+ │ │ │ │ │ @ BlockNode (location: (7,17)-(7,23))
+ │ │ │ │ │ ├── locals: []
+ │ │ │ │ │ ├── locals_body_index: 0
+ │ │ │ │ │ ├── parameters: ∅
+ │ │ │ │ │ ├── body: ∅
+ │ │ │ │ │ ├── opening_loc: (7,17)-(7,19) = "do"
+ │ │ │ │ │ └── closing_loc: (7,20)-(7,23) = "end"
+ │ │ │ │ └── operator_loc: ∅
+ │ │ │ └── @ AssocNode (location: (7,25)-(7,39))
+ │ │ │ ├── key:
+ │ │ │ │ @ SymbolNode (location: (7,25)-(7,27))
+ │ │ │ │ ├── opening_loc: ∅
+ │ │ │ │ ├── value_loc: (7,25)-(7,26) = "b"
+ │ │ │ │ ├── closing_loc: (7,26)-(7,27) = ":"
+ │ │ │ │ └── unescaped: "b"
+ │ │ │ ├── value:
+ │ │ │ │ @ CallNode (location: (7,28)-(7,39))
+ │ │ │ │ ├── flags: ∅
+ │ │ │ │ ├── receiver: ∅
+ │ │ │ │ ├── call_operator_loc: ∅
+ │ │ │ │ ├── name: :proc
+ │ │ │ │ ├── message_loc: (7,28)-(7,32) = "proc"
+ │ │ │ │ ├── opening_loc: ∅
+ │ │ │ │ ├── arguments: ∅
+ │ │ │ │ ├── closing_loc: ∅
+ │ │ │ │ └── block:
+ │ │ │ │ @ BlockNode (location: (7,33)-(7,39))
+ │ │ │ │ ├── locals: []
+ │ │ │ │ ├── locals_body_index: 0
+ │ │ │ │ ├── parameters: ∅
+ │ │ │ │ ├── body: ∅
+ │ │ │ │ ├── opening_loc: (7,33)-(7,35) = "do"
+ │ │ │ │ └── closing_loc: (7,36)-(7,39) = "end"
+ │ │ │ └── operator_loc: ∅
+ │ │ └── closing_loc: (7,39)-(7,40) = "}"
│ ├── closing_loc: ∅
- │ ├── block: ∅
- │ └── flags: ∅
+ │ └── block: ∅
└── @ CallNode (location: (9,0)-(9,52))
+ ├── flags: ∅
├── receiver: ∅
├── call_operator_loc: ∅
├── name: :p
@@ -301,81 +302,80 @@
├── opening_loc: ∅
├── arguments:
│ @ ArgumentsNode (location: (9,2)-(9,52))
- │ ├── arguments: (length: 2)
- │ │ ├── @ SymbolNode (location: (9,2)-(9,6))
- │ │ │ ├── opening_loc: (9,2)-(9,3) = ":"
- │ │ │ ├── value_loc: (9,3)-(9,6) = "foo"
- │ │ │ ├── closing_loc: ∅
- │ │ │ └── unescaped: "foo"
- │ │ └── @ HashNode (location: (9,8)-(9,52))
- │ │ ├── opening_loc: (9,8)-(9,9) = "{"
- │ │ ├── elements: (length: 2)
- │ │ │ ├── @ AssocNode (location: (9,9)-(9,35))
- │ │ │ │ ├── key:
- │ │ │ │ │ @ CallNode (location: (9,9)-(9,20))
- │ │ │ │ │ ├── receiver: ∅
- │ │ │ │ │ ├── call_operator_loc: ∅
- │ │ │ │ │ ├── name: :proc
- │ │ │ │ │ ├── message_loc: (9,9)-(9,13) = "proc"
- │ │ │ │ │ ├── opening_loc: ∅
- │ │ │ │ │ ├── arguments: ∅
- │ │ │ │ │ ├── closing_loc: ∅
- │ │ │ │ │ ├── block:
- │ │ │ │ │ │ @ BlockNode (location: (9,14)-(9,20))
- │ │ │ │ │ │ ├── locals: []
- │ │ │ │ │ │ ├── locals_body_index: 0
- │ │ │ │ │ │ ├── parameters: ∅
- │ │ │ │ │ │ ├── body: ∅
- │ │ │ │ │ │ ├── opening_loc: (9,14)-(9,16) = "do"
- │ │ │ │ │ │ └── closing_loc: (9,17)-(9,20) = "end"
- │ │ │ │ │ └── flags: ∅
- │ │ │ │ ├── value:
- │ │ │ │ │ @ CallNode (location: (9,24)-(9,35))
- │ │ │ │ │ ├── receiver: ∅
- │ │ │ │ │ ├── call_operator_loc: ∅
- │ │ │ │ │ ├── name: :proc
- │ │ │ │ │ ├── message_loc: (9,24)-(9,28) = "proc"
- │ │ │ │ │ ├── opening_loc: ∅
- │ │ │ │ │ ├── arguments: ∅
- │ │ │ │ │ ├── closing_loc: ∅
- │ │ │ │ │ ├── block:
- │ │ │ │ │ │ @ BlockNode (location: (9,29)-(9,35))
- │ │ │ │ │ │ ├── locals: []
- │ │ │ │ │ │ ├── locals_body_index: 0
- │ │ │ │ │ │ ├── parameters: ∅
- │ │ │ │ │ │ ├── body: ∅
- │ │ │ │ │ │ ├── opening_loc: (9,29)-(9,31) = "do"
- │ │ │ │ │ │ └── closing_loc: (9,32)-(9,35) = "end"
- │ │ │ │ │ └── flags: ∅
- │ │ │ │ └── operator_loc: (9,21)-(9,23) = "=>"
- │ │ │ └── @ AssocNode (location: (9,37)-(9,51))
- │ │ │ ├── key:
- │ │ │ │ @ SymbolNode (location: (9,37)-(9,39))
- │ │ │ │ ├── opening_loc: ∅
- │ │ │ │ ├── value_loc: (9,37)-(9,38) = "b"
- │ │ │ │ ├── closing_loc: (9,38)-(9,39) = ":"
- │ │ │ │ └── unescaped: "b"
- │ │ │ ├── value:
- │ │ │ │ @ CallNode (location: (9,40)-(9,51))
- │ │ │ │ ├── receiver: ∅
- │ │ │ │ ├── call_operator_loc: ∅
- │ │ │ │ ├── name: :proc
- │ │ │ │ ├── message_loc: (9,40)-(9,44) = "proc"
- │ │ │ │ ├── opening_loc: ∅
- │ │ │ │ ├── arguments: ∅
- │ │ │ │ ├── closing_loc: ∅
- │ │ │ │ ├── block:
- │ │ │ │ │ @ BlockNode (location: (9,45)-(9,51))
- │ │ │ │ │ ├── locals: []
- │ │ │ │ │ ├── locals_body_index: 0
- │ │ │ │ │ ├── parameters: ∅
- │ │ │ │ │ ├── body: ∅
- │ │ │ │ │ ├── opening_loc: (9,45)-(9,47) = "do"
- │ │ │ │ │ └── closing_loc: (9,48)-(9,51) = "end"
- │ │ │ │ └── flags: ∅
- │ │ │ └── operator_loc: ∅
- │ │ └── closing_loc: (9,51)-(9,52) = "}"
- │ └── flags: ∅
+ │ ├── flags: ∅
+ │ └── arguments: (length: 2)
+ │ ├── @ SymbolNode (location: (9,2)-(9,6))
+ │ │ ├── opening_loc: (9,2)-(9,3) = ":"
+ │ │ ├── value_loc: (9,3)-(9,6) = "foo"
+ │ │ ├── closing_loc: ∅
+ │ │ └── unescaped: "foo"
+ │ └── @ HashNode (location: (9,8)-(9,52))
+ │ ├── opening_loc: (9,8)-(9,9) = "{"
+ │ ├── elements: (length: 2)
+ │ │ ├── @ AssocNode (location: (9,9)-(9,35))
+ │ │ │ ├── key:
+ │ │ │ │ @ CallNode (location: (9,9)-(9,20))
+ │ │ │ │ ├── flags: ∅
+ │ │ │ │ ├── receiver: ∅
+ │ │ │ │ ├── call_operator_loc: ∅
+ │ │ │ │ ├── name: :proc
+ │ │ │ │ ├── message_loc: (9,9)-(9,13) = "proc"
+ │ │ │ │ ├── opening_loc: ∅
+ │ │ │ │ ├── arguments: ∅
+ │ │ │ │ ├── closing_loc: ∅
+ │ │ │ │ └── block:
+ │ │ │ │ @ BlockNode (location: (9,14)-(9,20))
+ │ │ │ │ ├── locals: []
+ │ │ │ │ ├── locals_body_index: 0
+ │ │ │ │ ├── parameters: ∅
+ │ │ │ │ ├── body: ∅
+ │ │ │ │ ├── opening_loc: (9,14)-(9,16) = "do"
+ │ │ │ │ └── closing_loc: (9,17)-(9,20) = "end"
+ │ │ │ ├── value:
+ │ │ │ │ @ CallNode (location: (9,24)-(9,35))
+ │ │ │ │ ├── flags: ∅
+ │ │ │ │ ├── receiver: ∅
+ │ │ │ │ ├── call_operator_loc: ∅
+ │ │ │ │ ├── name: :proc
+ │ │ │ │ ├── message_loc: (9,24)-(9,28) = "proc"
+ │ │ │ │ ├── opening_loc: ∅
+ │ │ │ │ ├── arguments: ∅
+ │ │ │ │ ├── closing_loc: ∅
+ │ │ │ │ └── block:
+ │ │ │ │ @ BlockNode (location: (9,29)-(9,35))
+ │ │ │ │ ├── locals: []
+ │ │ │ │ ├── locals_body_index: 0
+ │ │ │ │ ├── parameters: ∅
+ │ │ │ │ ├── body: ∅
+ │ │ │ │ ├── opening_loc: (9,29)-(9,31) = "do"
+ │ │ │ │ └── closing_loc: (9,32)-(9,35) = "end"
+ │ │ │ └── operator_loc: (9,21)-(9,23) = "=>"
+ │ │ └── @ AssocNode (location: (9,37)-(9,51))
+ │ │ ├── key:
+ │ │ │ @ SymbolNode (location: (9,37)-(9,39))
+ │ │ │ ├── opening_loc: ∅
+ │ │ │ ├── value_loc: (9,37)-(9,38) = "b"
+ │ │ │ ├── closing_loc: (9,38)-(9,39) = ":"
+ │ │ │ └── unescaped: "b"
+ │ │ ├── value:
+ │ │ │ @ CallNode (location: (9,40)-(9,51))
+ │ │ │ ├── flags: ∅
+ │ │ │ ├── receiver: ∅
+ │ │ │ ├── call_operator_loc: ∅
+ │ │ │ ├── name: :proc
+ │ │ │ ├── message_loc: (9,40)-(9,44) = "proc"
+ │ │ │ ├── opening_loc: ∅
+ │ │ │ ├── arguments: ∅
+ │ │ │ ├── closing_loc: ∅
+ │ │ │ └── block:
+ │ │ │ @ BlockNode (location: (9,45)-(9,51))
+ │ │ │ ├── locals: []
+ │ │ │ ├── locals_body_index: 0
+ │ │ │ ├── parameters: ∅
+ │ │ │ ├── body: ∅
+ │ │ │ ├── opening_loc: (9,45)-(9,47) = "do"
+ │ │ │ └── closing_loc: (9,48)-(9,51) = "end"
+ │ │ └── operator_loc: ∅
+ │ └── closing_loc: (9,51)-(9,52) = "}"
├── closing_loc: ∅
- ├── block: ∅
- └── flags: ∅
+ └── block: ∅
diff --git a/test/prism/snapshots/whitequark/bug_heredoc_do.txt b/test/prism/snapshots/whitequark/bug_heredoc_do.txt
index b6683f2676..7d1254f4fe 100644
--- a/test/prism/snapshots/whitequark/bug_heredoc_do.txt
+++ b/test/prism/snapshots/whitequark/bug_heredoc_do.txt
@@ -4,6 +4,7 @@
@ StatementsNode (location: (1,0)-(3,3))
└── body: (length: 1)
└── @ CallNode (location: (1,0)-(3,3))
+ ├── flags: ∅
├── receiver: ∅
├── call_operator_loc: ∅
├── name: :f
@@ -11,21 +12,20 @@
├── opening_loc: ∅
├── arguments:
│ @ ArgumentsNode (location: (1,2)-(1,10))
- │ ├── arguments: (length: 1)
- │ │ └── @ StringNode (location: (1,2)-(1,10))
- │ │ ├── flags: ∅
- │ │ ├── opening_loc: (1,2)-(1,10) = "<<-TABLE"
- │ │ ├── content_loc: (2,0)-(2,0) = ""
- │ │ ├── closing_loc: (2,0)-(3,0) = "TABLE\n"
- │ │ └── unescaped: ""
- │ └── flags: ∅
+ │ ├── flags: ∅
+ │ └── arguments: (length: 1)
+ │ └── @ StringNode (location: (1,2)-(1,10))
+ │ ├── flags: ∅
+ │ ├── opening_loc: (1,2)-(1,10) = "<<-TABLE"
+ │ ├── content_loc: (2,0)-(2,0) = ""
+ │ ├── closing_loc: (2,0)-(3,0) = "TABLE\n"
+ │ └── unescaped: ""
├── closing_loc: ∅
- ├── block:
- │ @ BlockNode (location: (1,11)-(3,3))
- │ ├── locals: []
- │ ├── locals_body_index: 0
- │ ├── parameters: ∅
- │ ├── body: ∅
- │ ├── opening_loc: (1,11)-(1,13) = "do"
- │ └── closing_loc: (3,0)-(3,3) = "end"
- └── flags: ∅
+ └── block:
+ @ BlockNode (location: (1,11)-(3,3))
+ ├── locals: []
+ ├── locals_body_index: 0
+ ├── parameters: ∅
+ ├── body: ∅
+ ├── opening_loc: (1,11)-(1,13) = "do"
+ └── closing_loc: (3,0)-(3,3) = "end"
diff --git a/test/prism/snapshots/whitequark/bug_interp_single.txt b/test/prism/snapshots/whitequark/bug_interp_single.txt
index d073a9acaf..699dd6297e 100644
--- a/test/prism/snapshots/whitequark/bug_interp_single.txt
+++ b/test/prism/snapshots/whitequark/bug_interp_single.txt
@@ -16,6 +16,7 @@
│ │ └── closing_loc: (1,4)-(1,5) = "}"
│ └── closing_loc: (1,5)-(1,6) = "\""
└── @ ArrayNode (location: (3,0)-(3,8))
+ ├── flags: ∅
├── elements: (length: 1)
│ └── @ InterpolatedStringNode (location: (3,3)-(3,7))
│ ├── opening_loc: ∅
@@ -30,5 +31,4 @@
│ │ └── closing_loc: (3,6)-(3,7) = "}"
│ └── closing_loc: ∅
├── opening_loc: (3,0)-(3,3) = "%W\""
- ├── closing_loc: (3,7)-(3,8) = "\""
- └── flags: ∅
+ └── closing_loc: (3,7)-(3,8) = "\""
diff --git a/test/prism/snapshots/whitequark/bug_lambda_leakage.txt b/test/prism/snapshots/whitequark/bug_lambda_leakage.txt
index d9b6e30304..f538e3f613 100644
--- a/test/prism/snapshots/whitequark/bug_lambda_leakage.txt
+++ b/test/prism/snapshots/whitequark/bug_lambda_leakage.txt
@@ -27,6 +27,7 @@
│ │ └── closing_loc: (1,8)-(1,9) = ")"
│ └── body: ∅
└── @ CallNode (location: (1,14)-(1,19))
+ ├── flags: variable_call
├── receiver: ∅
├── call_operator_loc: ∅
├── name: :scope
@@ -34,5 +35,4 @@
├── opening_loc: ∅
├── arguments: ∅
├── closing_loc: ∅
- ├── block: ∅
- └── flags: variable_call
+ └── block: ∅
diff --git a/test/prism/snapshots/whitequark/bug_regex_verification.txt b/test/prism/snapshots/whitequark/bug_regex_verification.txt
index 79ac10f3a5..5ca85e34c7 100644
--- a/test/prism/snapshots/whitequark/bug_regex_verification.txt
+++ b/test/prism/snapshots/whitequark/bug_regex_verification.txt
@@ -4,8 +4,8 @@
@ StatementsNode (location: (1,0)-(1,5))
└── body: (length: 1)
└── @ RegularExpressionNode (location: (1,0)-(1,5))
+ ├── flags: extended
├── opening_loc: (1,0)-(1,1) = "/"
├── content_loc: (1,1)-(1,3) = "#)"
├── closing_loc: (1,3)-(1,5) = "/x"
- ├── unescaped: "#)"
- └── flags: extended
+ └── unescaped: "#)"
diff --git a/test/prism/snapshots/whitequark/bug_while_not_parens_do.txt b/test/prism/snapshots/whitequark/bug_while_not_parens_do.txt
index bb973e766e..aa8aa11ccc 100644
--- a/test/prism/snapshots/whitequark/bug_while_not_parens_do.txt
+++ b/test/prism/snapshots/whitequark/bug_while_not_parens_do.txt
@@ -4,10 +4,12 @@
@ StatementsNode (location: (1,0)-(1,23))
└── body: (length: 1)
└── @ WhileNode (location: (1,0)-(1,23))
+ ├── flags: ∅
├── keyword_loc: (1,0)-(1,5) = "while"
├── closing_loc: (1,20)-(1,23) = "end"
├── predicate:
│ @ CallNode (location: (1,6)-(1,16))
+ │ ├── flags: ∅
│ ├── receiver:
│ │ @ ParenthesesNode (location: (1,10)-(1,16))
│ │ ├── body:
@@ -22,7 +24,5 @@
│ ├── opening_loc: ∅
│ ├── arguments: ∅
│ ├── closing_loc: ∅
- │ ├── block: ∅
- │ └── flags: ∅
- ├── statements: ∅
- └── flags: ∅
+ │ └── block: ∅
+ └── statements: ∅
diff --git a/test/prism/snapshots/whitequark/case_cond.txt b/test/prism/snapshots/whitequark/case_cond.txt
index 3989390967..c578d386da 100644
--- a/test/prism/snapshots/whitequark/case_cond.txt
+++ b/test/prism/snapshots/whitequark/case_cond.txt
@@ -10,6 +10,7 @@
│ ├── keyword_loc: (1,6)-(1,10) = "when"
│ ├── conditions: (length: 1)
│ │ └── @ CallNode (location: (1,11)-(1,14))
+ │ │ ├── flags: variable_call
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
│ │ ├── name: :foo
@@ -17,8 +18,7 @@
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
- │ │ ├── block: ∅
- │ │ └── flags: variable_call
+ │ │ └── block: ∅
│ └── statements:
│ @ StatementsNode (location: (1,16)-(1,21))
│ └── body: (length: 1)
diff --git a/test/prism/snapshots/whitequark/case_cond_else.txt b/test/prism/snapshots/whitequark/case_cond_else.txt
index 18b13aa409..f6411ad5a9 100644
--- a/test/prism/snapshots/whitequark/case_cond_else.txt
+++ b/test/prism/snapshots/whitequark/case_cond_else.txt
@@ -10,6 +10,7 @@
│ ├── keyword_loc: (1,6)-(1,10) = "when"
│ ├── conditions: (length: 1)
│ │ └── @ CallNode (location: (1,11)-(1,14))
+ │ │ ├── flags: variable_call
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
│ │ ├── name: :foo
@@ -17,8 +18,7 @@
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
- │ │ ├── block: ∅
- │ │ └── flags: variable_call
+ │ │ └── block: ∅
│ └── statements:
│ @ StatementsNode (location: (1,16)-(1,21))
│ └── body: (length: 1)
diff --git a/test/prism/snapshots/whitequark/case_expr.txt b/test/prism/snapshots/whitequark/case_expr.txt
index 68e63c3e9b..d52625f74e 100644
--- a/test/prism/snapshots/whitequark/case_expr.txt
+++ b/test/prism/snapshots/whitequark/case_expr.txt
@@ -6,6 +6,7 @@
└── @ CaseNode (location: (1,0)-(1,30))
├── predicate:
│ @ CallNode (location: (1,5)-(1,8))
+ │ ├── flags: variable_call
│ ├── receiver: ∅
│ ├── call_operator_loc: ∅
│ ├── name: :foo
@@ -13,8 +14,7 @@
│ ├── opening_loc: ∅
│ ├── arguments: ∅
│ ├── closing_loc: ∅
- │ ├── block: ∅
- │ └── flags: variable_call
+ │ └── block: ∅
├── conditions: (length: 1)
│ └── @ WhenNode (location: (1,10)-(1,25))
│ ├── keyword_loc: (1,10)-(1,14) = "when"
@@ -29,6 +29,7 @@
│ @ StatementsNode (location: (1,22)-(1,25))
│ └── body: (length: 1)
│ └── @ CallNode (location: (1,22)-(1,25))
+ │ ├── flags: variable_call
│ ├── receiver: ∅
│ ├── call_operator_loc: ∅
│ ├── name: :bar
@@ -36,8 +37,7 @@
│ ├── opening_loc: ∅
│ ├── arguments: ∅
│ ├── closing_loc: ∅
- │ ├── block: ∅
- │ └── flags: variable_call
+ │ └── block: ∅
├── consequent: ∅
├── case_keyword_loc: (1,0)-(1,4) = "case"
└── end_keyword_loc: (1,27)-(1,30) = "end"
diff --git a/test/prism/snapshots/whitequark/case_expr_else.txt b/test/prism/snapshots/whitequark/case_expr_else.txt
index 0231a46c10..ddb80acfcb 100644
--- a/test/prism/snapshots/whitequark/case_expr_else.txt
+++ b/test/prism/snapshots/whitequark/case_expr_else.txt
@@ -6,6 +6,7 @@
└── @ CaseNode (location: (1,0)-(1,40))
├── predicate:
│ @ CallNode (location: (1,5)-(1,8))
+ │ ├── flags: variable_call
│ ├── receiver: ∅
│ ├── call_operator_loc: ∅
│ ├── name: :foo
@@ -13,8 +14,7 @@
│ ├── opening_loc: ∅
│ ├── arguments: ∅
│ ├── closing_loc: ∅
- │ ├── block: ∅
- │ └── flags: variable_call
+ │ └── block: ∅
├── conditions: (length: 1)
│ └── @ WhenNode (location: (1,10)-(1,25))
│ ├── keyword_loc: (1,10)-(1,14) = "when"
@@ -29,6 +29,7 @@
│ @ StatementsNode (location: (1,22)-(1,25))
│ └── body: (length: 1)
│ └── @ CallNode (location: (1,22)-(1,25))
+ │ ├── flags: variable_call
│ ├── receiver: ∅
│ ├── call_operator_loc: ∅
│ ├── name: :bar
@@ -36,8 +37,7 @@
│ ├── opening_loc: ∅
│ ├── arguments: ∅
│ ├── closing_loc: ∅
- │ ├── block: ∅
- │ └── flags: variable_call
+ │ └── block: ∅
├── consequent:
│ @ ElseNode (location: (1,27)-(1,40))
│ ├── else_keyword_loc: (1,27)-(1,31) = "else"
@@ -45,6 +45,7 @@
│ │ @ StatementsNode (location: (1,32)-(1,35))
│ │ └── body: (length: 1)
│ │ └── @ CallNode (location: (1,32)-(1,35))
+ │ │ ├── flags: variable_call
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
│ │ ├── name: :baz
@@ -52,8 +53,7 @@
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
- │ │ ├── block: ∅
- │ │ └── flags: variable_call
+ │ │ └── block: ∅
│ └── end_keyword_loc: (1,37)-(1,40) = "end"
├── case_keyword_loc: (1,0)-(1,4) = "case"
└── end_keyword_loc: (1,37)-(1,40) = "end"
diff --git a/test/prism/snapshots/whitequark/class_definition_in_while_cond.txt b/test/prism/snapshots/whitequark/class_definition_in_while_cond.txt
index 25a86f62e8..44b7d83765 100644
--- a/test/prism/snapshots/whitequark/class_definition_in_while_cond.txt
+++ b/test/prism/snapshots/whitequark/class_definition_in_while_cond.txt
@@ -4,6 +4,7 @@
@ StatementsNode (location: (1,0)-(7,44))
└── body: (length: 4)
├── @ WhileNode (location: (1,0)-(1,52))
+ │ ├── flags: ∅
│ ├── keyword_loc: (1,0)-(1,5) = "while"
│ ├── closing_loc: (1,49)-(1,52) = "end"
│ ├── predicate:
@@ -22,6 +23,7 @@
│ │ │ ├── name_loc: (1,21)-(1,22) = "a"
│ │ │ ├── value:
│ │ │ │ @ CallNode (location: (1,25)-(1,35))
+ │ │ │ │ ├── flags: ∅
│ │ │ │ ├── receiver: ∅
│ │ │ │ ├── call_operator_loc: ∅
│ │ │ │ ├── name: :tap
@@ -29,25 +31,24 @@
│ │ │ │ ├── opening_loc: ∅
│ │ │ │ ├── arguments: ∅
│ │ │ │ ├── closing_loc: ∅
- │ │ │ │ ├── block:
- │ │ │ │ │ @ BlockNode (location: (1,29)-(1,35))
- │ │ │ │ │ ├── locals: []
- │ │ │ │ │ ├── locals_body_index: 0
- │ │ │ │ │ ├── parameters: ∅
- │ │ │ │ │ ├── body: ∅
- │ │ │ │ │ ├── opening_loc: (1,29)-(1,31) = "do"
- │ │ │ │ │ └── closing_loc: (1,32)-(1,35) = "end"
- │ │ │ │ └── flags: ∅
+ │ │ │ │ └── block:
+ │ │ │ │ @ BlockNode (location: (1,29)-(1,35))
+ │ │ │ │ ├── locals: []
+ │ │ │ │ ├── locals_body_index: 0
+ │ │ │ │ ├── parameters: ∅
+ │ │ │ │ ├── body: ∅
+ │ │ │ │ ├── opening_loc: (1,29)-(1,31) = "do"
+ │ │ │ │ └── closing_loc: (1,32)-(1,35) = "end"
│ │ │ └── operator_loc: (1,23)-(1,24) = "="
│ │ └── end_keyword_loc: (1,37)-(1,40) = "end"
- │ ├── statements:
- │ │ @ StatementsNode (location: (1,42)-(1,47))
- │ │ └── body: (length: 1)
- │ │ └── @ BreakNode (location: (1,42)-(1,47))
- │ │ ├── arguments: ∅
- │ │ └── keyword_loc: (1,42)-(1,47) = "break"
- │ └── flags: ∅
+ │ └── statements:
+ │ @ StatementsNode (location: (1,42)-(1,47))
+ │ └── body: (length: 1)
+ │ └── @ BreakNode (location: (1,42)-(1,47))
+ │ ├── arguments: ∅
+ │ └── keyword_loc: (1,42)-(1,47) = "break"
├── @ WhileNode (location: (3,0)-(3,48))
+ │ ├── flags: ∅
│ ├── keyword_loc: (3,0)-(3,5) = "while"
│ ├── closing_loc: (3,45)-(3,48) = "end"
│ ├── predicate:
@@ -61,6 +62,7 @@
│ │ │ @ StatementsNode (location: (3,21)-(3,31))
│ │ │ └── body: (length: 1)
│ │ │ └── @ CallNode (location: (3,21)-(3,31))
+ │ │ │ ├── flags: ∅
│ │ │ ├── receiver: ∅
│ │ │ ├── call_operator_loc: ∅
│ │ │ ├── name: :tap
@@ -68,24 +70,23 @@
│ │ │ ├── opening_loc: ∅
│ │ │ ├── arguments: ∅
│ │ │ ├── closing_loc: ∅
- │ │ │ ├── block:
- │ │ │ │ @ BlockNode (location: (3,25)-(3,31))
- │ │ │ │ ├── locals: []
- │ │ │ │ ├── locals_body_index: 0
- │ │ │ │ ├── parameters: ∅
- │ │ │ │ ├── body: ∅
- │ │ │ │ ├── opening_loc: (3,25)-(3,27) = "do"
- │ │ │ │ └── closing_loc: (3,28)-(3,31) = "end"
- │ │ │ └── flags: ∅
+ │ │ │ └── block:
+ │ │ │ @ BlockNode (location: (3,25)-(3,31))
+ │ │ │ ├── locals: []
+ │ │ │ ├── locals_body_index: 0
+ │ │ │ ├── parameters: ∅
+ │ │ │ ├── body: ∅
+ │ │ │ ├── opening_loc: (3,25)-(3,27) = "do"
+ │ │ │ └── closing_loc: (3,28)-(3,31) = "end"
│ │ └── end_keyword_loc: (3,33)-(3,36) = "end"
- │ ├── statements:
- │ │ @ StatementsNode (location: (3,38)-(3,43))
- │ │ └── body: (length: 1)
- │ │ └── @ BreakNode (location: (3,38)-(3,43))
- │ │ ├── arguments: ∅
- │ │ └── keyword_loc: (3,38)-(3,43) = "break"
- │ └── flags: ∅
+ │ └── statements:
+ │ @ StatementsNode (location: (3,38)-(3,43))
+ │ └── body: (length: 1)
+ │ └── @ BreakNode (location: (3,38)-(3,43))
+ │ ├── arguments: ∅
+ │ └── keyword_loc: (3,38)-(3,43) = "break"
├── @ WhileNode (location: (5,0)-(5,47))
+ │ ├── flags: ∅
│ ├── keyword_loc: (5,0)-(5,5) = "while"
│ ├── closing_loc: (5,44)-(5,47) = "end"
│ ├── predicate:
@@ -106,6 +107,7 @@
│ │ │ ├── name_loc: (5,16)-(5,17) = "a"
│ │ │ ├── value:
│ │ │ │ @ CallNode (location: (5,20)-(5,30))
+ │ │ │ │ ├── flags: ∅
│ │ │ │ ├── receiver: ∅
│ │ │ │ ├── call_operator_loc: ∅
│ │ │ │ ├── name: :tap
@@ -113,26 +115,25 @@
│ │ │ │ ├── opening_loc: ∅
│ │ │ │ ├── arguments: ∅
│ │ │ │ ├── closing_loc: ∅
- │ │ │ │ ├── block:
- │ │ │ │ │ @ BlockNode (location: (5,24)-(5,30))
- │ │ │ │ │ ├── locals: []
- │ │ │ │ │ ├── locals_body_index: 0
- │ │ │ │ │ ├── parameters: ∅
- │ │ │ │ │ ├── body: ∅
- │ │ │ │ │ ├── opening_loc: (5,24)-(5,26) = "do"
- │ │ │ │ │ └── closing_loc: (5,27)-(5,30) = "end"
- │ │ │ │ └── flags: ∅
+ │ │ │ │ └── block:
+ │ │ │ │ @ BlockNode (location: (5,24)-(5,30))
+ │ │ │ │ ├── locals: []
+ │ │ │ │ ├── locals_body_index: 0
+ │ │ │ │ ├── parameters: ∅
+ │ │ │ │ ├── body: ∅
+ │ │ │ │ ├── opening_loc: (5,24)-(5,26) = "do"
+ │ │ │ │ └── closing_loc: (5,27)-(5,30) = "end"
│ │ │ └── operator_loc: (5,18)-(5,19) = "="
│ │ ├── end_keyword_loc: (5,32)-(5,35) = "end"
│ │ └── name: :Foo
- │ ├── statements:
- │ │ @ StatementsNode (location: (5,37)-(5,42))
- │ │ └── body: (length: 1)
- │ │ └── @ BreakNode (location: (5,37)-(5,42))
- │ │ ├── arguments: ∅
- │ │ └── keyword_loc: (5,37)-(5,42) = "break"
- │ └── flags: ∅
+ │ └── statements:
+ │ @ StatementsNode (location: (5,37)-(5,42))
+ │ └── body: (length: 1)
+ │ └── @ BreakNode (location: (5,37)-(5,42))
+ │ ├── arguments: ∅
+ │ └── keyword_loc: (5,37)-(5,42) = "break"
└── @ WhileNode (location: (7,0)-(7,44))
+ ├── flags: ∅
├── keyword_loc: (7,0)-(7,5) = "while"
├── closing_loc: (7,41)-(7,44) = "end"
├── predicate:
@@ -148,6 +149,7 @@
│ │ @ StatementsNode (location: (7,17)-(7,27))
│ │ └── body: (length: 1)
│ │ └── @ CallNode (location: (7,17)-(7,27))
+ │ │ ├── flags: ∅
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
│ │ ├── name: :tap
@@ -155,21 +157,19 @@
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
- │ │ ├── block:
- │ │ │ @ BlockNode (location: (7,21)-(7,27))
- │ │ │ ├── locals: []
- │ │ │ ├── locals_body_index: 0
- │ │ │ ├── parameters: ∅
- │ │ │ ├── body: ∅
- │ │ │ ├── opening_loc: (7,21)-(7,23) = "do"
- │ │ │ └── closing_loc: (7,24)-(7,27) = "end"
- │ │ └── flags: ∅
+ │ │ └── block:
+ │ │ @ BlockNode (location: (7,21)-(7,27))
+ │ │ ├── locals: []
+ │ │ ├── locals_body_index: 0
+ │ │ ├── parameters: ∅
+ │ │ ├── body: ∅
+ │ │ ├── opening_loc: (7,21)-(7,23) = "do"
+ │ │ └── closing_loc: (7,24)-(7,27) = "end"
│ ├── end_keyword_loc: (7,29)-(7,32) = "end"
│ └── name: :Foo
- ├── statements:
- │ @ StatementsNode (location: (7,34)-(7,39))
- │ └── body: (length: 1)
- │ └── @ BreakNode (location: (7,34)-(7,39))
- │ ├── arguments: ∅
- │ └── keyword_loc: (7,34)-(7,39) = "break"
- └── flags: ∅
+ └── statements:
+ @ StatementsNode (location: (7,34)-(7,39))
+ └── body: (length: 1)
+ └── @ BreakNode (location: (7,34)-(7,39))
+ ├── arguments: ∅
+ └── keyword_loc: (7,34)-(7,39) = "break"
diff --git a/test/prism/snapshots/whitequark/class_super_label.txt b/test/prism/snapshots/whitequark/class_super_label.txt
index 8e16cef1ed..a8a6cf54fc 100644
--- a/test/prism/snapshots/whitequark/class_super_label.txt
+++ b/test/prism/snapshots/whitequark/class_super_label.txt
@@ -12,6 +12,7 @@
├── inheritance_operator_loc: (1,10)-(1,11) = "<"
├── superclass:
│ @ CallNode (location: (1,12)-(1,15))
+ │ ├── flags: ∅
│ ├── receiver: ∅
│ ├── call_operator_loc: ∅
│ ├── name: :a
@@ -19,16 +20,15 @@
│ ├── opening_loc: ∅
│ ├── arguments:
│ │ @ ArgumentsNode (location: (1,13)-(1,15))
- │ │ ├── arguments: (length: 1)
- │ │ │ └── @ SymbolNode (location: (1,13)-(1,15))
- │ │ │ ├── opening_loc: (1,13)-(1,14) = ":"
- │ │ │ ├── value_loc: (1,14)-(1,15) = "b"
- │ │ │ ├── closing_loc: ∅
- │ │ │ └── unescaped: "b"
- │ │ └── flags: ∅
+ │ │ ├── flags: ∅
+ │ │ └── arguments: (length: 1)
+ │ │ └── @ SymbolNode (location: (1,13)-(1,15))
+ │ │ ├── opening_loc: (1,13)-(1,14) = ":"
+ │ │ ├── value_loc: (1,14)-(1,15) = "b"
+ │ │ ├── closing_loc: ∅
+ │ │ └── unescaped: "b"
│ ├── closing_loc: ∅
- │ ├── block: ∅
- │ └── flags: ∅
+ │ └── block: ∅
├── body: ∅
├── end_keyword_loc: (1,17)-(1,20) = "end"
└── name: :Foo
diff --git a/test/prism/snapshots/whitequark/comments_before_leading_dot__27.txt b/test/prism/snapshots/whitequark/comments_before_leading_dot__27.txt
index f560664f89..4868d0913e 100644
--- a/test/prism/snapshots/whitequark/comments_before_leading_dot__27.txt
+++ b/test/prism/snapshots/whitequark/comments_before_leading_dot__27.txt
@@ -4,8 +4,10 @@
@ StatementsNode (location: (1,0)-(18,4))
└── body: (length: 4)
├── @ CallNode (location: (1,0)-(3,5))
+ │ ├── flags: safe_navigation
│ ├── receiver:
│ │ @ CallNode (location: (1,0)-(1,1))
+ │ │ ├── flags: variable_call
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
│ │ ├── name: :a
@@ -13,19 +15,19 @@
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
- │ │ ├── block: ∅
- │ │ └── flags: variable_call
+ │ │ └── block: ∅
│ ├── call_operator_loc: (3,0)-(3,2) = "&."
│ ├── name: :foo
│ ├── message_loc: (3,2)-(3,5) = "foo"
│ ├── opening_loc: ∅
│ ├── arguments: ∅
│ ├── closing_loc: ∅
- │ ├── block: ∅
- │ └── flags: safe_navigation
+ │ └── block: ∅
├── @ CallNode (location: (6,0)-(8,4))
+ │ ├── flags: ∅
│ ├── receiver:
│ │ @ CallNode (location: (6,0)-(6,1))
+ │ │ ├── flags: variable_call
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
│ │ ├── name: :a
@@ -33,19 +35,19 @@
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
- │ │ ├── block: ∅
- │ │ └── flags: variable_call
+ │ │ └── block: ∅
│ ├── call_operator_loc: (8,0)-(8,1) = "."
│ ├── name: :foo
│ ├── message_loc: (8,1)-(8,4) = "foo"
│ ├── opening_loc: ∅
│ ├── arguments: ∅
│ ├── closing_loc: ∅
- │ ├── block: ∅
- │ └── flags: ∅
+ │ └── block: ∅
├── @ CallNode (location: (11,0)-(13,5))
+ │ ├── flags: safe_navigation
│ ├── receiver:
│ │ @ CallNode (location: (11,0)-(11,1))
+ │ │ ├── flags: variable_call
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
│ │ ├── name: :a
@@ -53,19 +55,19 @@
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
- │ │ ├── block: ∅
- │ │ └── flags: variable_call
+ │ │ └── block: ∅
│ ├── call_operator_loc: (13,0)-(13,2) = "&."
│ ├── name: :foo
│ ├── message_loc: (13,2)-(13,5) = "foo"
│ ├── opening_loc: ∅
│ ├── arguments: ∅
│ ├── closing_loc: ∅
- │ ├── block: ∅
- │ └── flags: safe_navigation
+ │ └── block: ∅
└── @ CallNode (location: (16,0)-(18,4))
+ ├── flags: ∅
├── receiver:
│ @ CallNode (location: (16,0)-(16,1))
+ │ ├── flags: variable_call
│ ├── receiver: ∅
│ ├── call_operator_loc: ∅
│ ├── name: :a
@@ -73,13 +75,11 @@
│ ├── opening_loc: ∅
│ ├── arguments: ∅
│ ├── closing_loc: ∅
- │ ├── block: ∅
- │ └── flags: variable_call
+ │ └── block: ∅
├── call_operator_loc: (18,0)-(18,1) = "."
├── name: :foo
├── message_loc: (18,1)-(18,4) = "foo"
├── opening_loc: ∅
├── arguments: ∅
├── closing_loc: ∅
- ├── block: ∅
- └── flags: ∅
+ └── block: ∅
diff --git a/test/prism/snapshots/whitequark/cond_begin.txt b/test/prism/snapshots/whitequark/cond_begin.txt
index 78e1f65d0a..d70314408f 100644
--- a/test/prism/snapshots/whitequark/cond_begin.txt
+++ b/test/prism/snapshots/whitequark/cond_begin.txt
@@ -11,6 +11,7 @@
│ │ @ StatementsNode (location: (1,4)-(1,7))
│ │ └── body: (length: 1)
│ │ └── @ CallNode (location: (1,4)-(1,7))
+ │ │ ├── flags: variable_call
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
│ │ ├── name: :bar
@@ -18,8 +19,7 @@
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
- │ │ ├── block: ∅
- │ │ └── flags: variable_call
+ │ │ └── block: ∅
│ ├── opening_loc: (1,3)-(1,4) = "("
│ └── closing_loc: (1,7)-(1,8) = ")"
├── then_keyword_loc: ∅
@@ -27,6 +27,7 @@
│ @ StatementsNode (location: (1,10)-(1,13))
│ └── body: (length: 1)
│ └── @ CallNode (location: (1,10)-(1,13))
+ │ ├── flags: variable_call
│ ├── receiver: ∅
│ ├── call_operator_loc: ∅
│ ├── name: :foo
@@ -34,7 +35,6 @@
│ ├── opening_loc: ∅
│ ├── arguments: ∅
│ ├── closing_loc: ∅
- │ ├── block: ∅
- │ └── flags: variable_call
+ │ └── block: ∅
├── consequent: ∅
└── end_keyword_loc: (1,15)-(1,18) = "end"
diff --git a/test/prism/snapshots/whitequark/cond_begin_masgn.txt b/test/prism/snapshots/whitequark/cond_begin_masgn.txt
index a763c7ee8b..93892315ac 100644
--- a/test/prism/snapshots/whitequark/cond_begin_masgn.txt
+++ b/test/prism/snapshots/whitequark/cond_begin_masgn.txt
@@ -11,6 +11,7 @@
│ │ @ StatementsNode (location: (1,4)-(1,19))
│ │ └── body: (length: 2)
│ │ ├── @ CallNode (location: (1,4)-(1,7))
+ │ │ │ ├── flags: variable_call
│ │ │ ├── receiver: ∅
│ │ │ ├── call_operator_loc: ∅
│ │ │ ├── name: :bar
@@ -18,8 +19,7 @@
│ │ │ ├── opening_loc: ∅
│ │ │ ├── arguments: ∅
│ │ │ ├── closing_loc: ∅
- │ │ │ ├── block: ∅
- │ │ │ └── flags: variable_call
+ │ │ │ └── block: ∅
│ │ └── @ MultiWriteNode (location: (1,9)-(1,19))
│ │ ├── lefts: (length: 2)
│ │ │ ├── @ LocalVariableTargetNode (location: (1,9)-(1,10))
@@ -35,6 +35,7 @@
│ │ ├── operator_loc: (1,14)-(1,15) = "="
│ │ └── value:
│ │ @ CallNode (location: (1,16)-(1,19))
+ │ │ ├── flags: variable_call
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
│ │ ├── name: :foo
@@ -42,8 +43,7 @@
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
- │ │ ├── block: ∅
- │ │ └── flags: variable_call
+ │ │ └── block: ∅
│ ├── opening_loc: (1,3)-(1,4) = "("
│ └── closing_loc: (1,19)-(1,20) = ")"
├── then_keyword_loc: ∅
diff --git a/test/prism/snapshots/whitequark/cond_eflipflop.txt b/test/prism/snapshots/whitequark/cond_eflipflop.txt
index 4761b22164..ab617f583f 100644
--- a/test/prism/snapshots/whitequark/cond_eflipflop.txt
+++ b/test/prism/snapshots/whitequark/cond_eflipflop.txt
@@ -4,14 +4,17 @@
@ StatementsNode (location: (1,0)-(3,17))
└── body: (length: 2)
├── @ CallNode (location: (1,0)-(1,12))
+ │ ├── flags: ∅
│ ├── receiver:
│ │ @ ParenthesesNode (location: (1,1)-(1,12))
│ │ ├── body:
│ │ │ @ StatementsNode (location: (1,2)-(1,11))
│ │ │ └── body: (length: 1)
│ │ │ └── @ FlipFlopNode (location: (1,2)-(1,11))
+ │ │ │ ├── flags: exclude_end
│ │ │ ├── left:
│ │ │ │ @ CallNode (location: (1,2)-(1,5))
+ │ │ │ │ ├── flags: variable_call
│ │ │ │ ├── receiver: ∅
│ │ │ │ ├── call_operator_loc: ∅
│ │ │ │ ├── name: :foo
@@ -19,10 +22,10 @@
│ │ │ │ ├── opening_loc: ∅
│ │ │ │ ├── arguments: ∅
│ │ │ │ ├── closing_loc: ∅
- │ │ │ │ ├── block: ∅
- │ │ │ │ └── flags: variable_call
+ │ │ │ │ └── block: ∅
│ │ │ ├── right:
│ │ │ │ @ CallNode (location: (1,8)-(1,11))
+ │ │ │ │ ├── flags: variable_call
│ │ │ │ ├── receiver: ∅
│ │ │ │ ├── call_operator_loc: ∅
│ │ │ │ ├── name: :bar
@@ -30,10 +33,8 @@
│ │ │ │ ├── opening_loc: ∅
│ │ │ │ ├── arguments: ∅
│ │ │ │ ├── closing_loc: ∅
- │ │ │ │ ├── block: ∅
- │ │ │ │ └── flags: variable_call
- │ │ │ ├── operator_loc: (1,5)-(1,8) = "..."
- │ │ │ └── flags: exclude_end
+ │ │ │ │ └── block: ∅
+ │ │ │ └── operator_loc: (1,5)-(1,8) = "..."
│ │ ├── opening_loc: (1,1)-(1,2) = "("
│ │ └── closing_loc: (1,11)-(1,12) = ")"
│ ├── call_operator_loc: ∅
@@ -42,14 +43,15 @@
│ ├── opening_loc: ∅
│ ├── arguments: ∅
│ ├── closing_loc: ∅
- │ ├── block: ∅
- │ └── flags: ∅
+ │ └── block: ∅
└── @ IfNode (location: (3,0)-(3,17))
├── if_keyword_loc: (3,0)-(3,2) = "if"
├── predicate:
│ @ FlipFlopNode (location: (3,3)-(3,12))
+ │ ├── flags: exclude_end
│ ├── left:
│ │ @ CallNode (location: (3,3)-(3,6))
+ │ │ ├── flags: variable_call
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
│ │ ├── name: :foo
@@ -57,10 +59,10 @@
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
- │ │ ├── block: ∅
- │ │ └── flags: variable_call
+ │ │ └── block: ∅
│ ├── right:
│ │ @ CallNode (location: (3,9)-(3,12))
+ │ │ ├── flags: variable_call
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
│ │ ├── name: :bar
@@ -68,10 +70,8 @@
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
- │ │ ├── block: ∅
- │ │ └── flags: variable_call
- │ ├── operator_loc: (3,6)-(3,9) = "..."
- │ └── flags: exclude_end
+ │ │ └── block: ∅
+ │ └── operator_loc: (3,6)-(3,9) = "..."
├── then_keyword_loc: ∅
├── statements: ∅
├── consequent: ∅
diff --git a/test/prism/snapshots/whitequark/cond_iflipflop.txt b/test/prism/snapshots/whitequark/cond_iflipflop.txt
index 3d54edf883..061bfd4315 100644
--- a/test/prism/snapshots/whitequark/cond_iflipflop.txt
+++ b/test/prism/snapshots/whitequark/cond_iflipflop.txt
@@ -4,14 +4,17 @@
@ StatementsNode (location: (1,0)-(3,16))
└── body: (length: 2)
├── @ CallNode (location: (1,0)-(1,11))
+ │ ├── flags: ∅
│ ├── receiver:
│ │ @ ParenthesesNode (location: (1,1)-(1,11))
│ │ ├── body:
│ │ │ @ StatementsNode (location: (1,2)-(1,10))
│ │ │ └── body: (length: 1)
│ │ │ └── @ FlipFlopNode (location: (1,2)-(1,10))
+ │ │ │ ├── flags: ∅
│ │ │ ├── left:
│ │ │ │ @ CallNode (location: (1,2)-(1,5))
+ │ │ │ │ ├── flags: variable_call
│ │ │ │ ├── receiver: ∅
│ │ │ │ ├── call_operator_loc: ∅
│ │ │ │ ├── name: :foo
@@ -19,10 +22,10 @@
│ │ │ │ ├── opening_loc: ∅
│ │ │ │ ├── arguments: ∅
│ │ │ │ ├── closing_loc: ∅
- │ │ │ │ ├── block: ∅
- │ │ │ │ └── flags: variable_call
+ │ │ │ │ └── block: ∅
│ │ │ ├── right:
│ │ │ │ @ CallNode (location: (1,7)-(1,10))
+ │ │ │ │ ├── flags: variable_call
│ │ │ │ ├── receiver: ∅
│ │ │ │ ├── call_operator_loc: ∅
│ │ │ │ ├── name: :bar
@@ -30,10 +33,8 @@
│ │ │ │ ├── opening_loc: ∅
│ │ │ │ ├── arguments: ∅
│ │ │ │ ├── closing_loc: ∅
- │ │ │ │ ├── block: ∅
- │ │ │ │ └── flags: variable_call
- │ │ │ ├── operator_loc: (1,5)-(1,7) = ".."
- │ │ │ └── flags: ∅
+ │ │ │ │ └── block: ∅
+ │ │ │ └── operator_loc: (1,5)-(1,7) = ".."
│ │ ├── opening_loc: (1,1)-(1,2) = "("
│ │ └── closing_loc: (1,10)-(1,11) = ")"
│ ├── call_operator_loc: ∅
@@ -42,14 +43,15 @@
│ ├── opening_loc: ∅
│ ├── arguments: ∅
│ ├── closing_loc: ∅
- │ ├── block: ∅
- │ └── flags: ∅
+ │ └── block: ∅
└── @ IfNode (location: (3,0)-(3,16))
├── if_keyword_loc: (3,0)-(3,2) = "if"
├── predicate:
│ @ FlipFlopNode (location: (3,3)-(3,11))
+ │ ├── flags: ∅
│ ├── left:
│ │ @ CallNode (location: (3,3)-(3,6))
+ │ │ ├── flags: variable_call
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
│ │ ├── name: :foo
@@ -57,10 +59,10 @@
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
- │ │ ├── block: ∅
- │ │ └── flags: variable_call
+ │ │ └── block: ∅
│ ├── right:
│ │ @ CallNode (location: (3,8)-(3,11))
+ │ │ ├── flags: variable_call
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
│ │ ├── name: :bar
@@ -68,10 +70,8 @@
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
- │ │ ├── block: ∅
- │ │ └── flags: variable_call
- │ ├── operator_loc: (3,6)-(3,8) = ".."
- │ └── flags: ∅
+ │ │ └── block: ∅
+ │ └── operator_loc: (3,6)-(3,8) = ".."
├── then_keyword_loc: ∅
├── statements: ∅
├── consequent: ∅
diff --git a/test/prism/snapshots/whitequark/cond_match_current_line.txt b/test/prism/snapshots/whitequark/cond_match_current_line.txt
index a3765182bd..fb5ff33ed5 100644
--- a/test/prism/snapshots/whitequark/cond_match_current_line.txt
+++ b/test/prism/snapshots/whitequark/cond_match_current_line.txt
@@ -4,30 +4,30 @@
@ StatementsNode (location: (1,0)-(3,13))
└── body: (length: 2)
├── @ CallNode (location: (1,0)-(1,6))
+ │ ├── flags: ∅
│ ├── receiver:
│ │ @ MatchLastLineNode (location: (1,1)-(1,6))
+ │ │ ├── flags: ∅
│ │ ├── opening_loc: (1,1)-(1,2) = "/"
│ │ ├── content_loc: (1,2)-(1,5) = "wat"
│ │ ├── closing_loc: (1,5)-(1,6) = "/"
- │ │ ├── unescaped: "wat"
- │ │ └── flags: ∅
+ │ │ └── unescaped: "wat"
│ ├── call_operator_loc: ∅
│ ├── name: :!
│ ├── message_loc: (1,0)-(1,1) = "!"
│ ├── opening_loc: ∅
│ ├── arguments: ∅
│ ├── closing_loc: ∅
- │ ├── block: ∅
- │ └── flags: ∅
+ │ └── block: ∅
└── @ IfNode (location: (3,0)-(3,13))
├── if_keyword_loc: (3,0)-(3,2) = "if"
├── predicate:
│ @ MatchLastLineNode (location: (3,3)-(3,8))
+ │ ├── flags: ∅
│ ├── opening_loc: (3,3)-(3,4) = "/"
│ ├── content_loc: (3,4)-(3,7) = "wat"
│ ├── closing_loc: (3,7)-(3,8) = "/"
- │ ├── unescaped: "wat"
- │ └── flags: ∅
+ │ └── unescaped: "wat"
├── then_keyword_loc: ∅
├── statements: ∅
├── consequent: ∅
diff --git a/test/prism/snapshots/whitequark/dedenting_heredoc.txt b/test/prism/snapshots/whitequark/dedenting_heredoc.txt
index 3d442e664a..a459cd851f 100644
--- a/test/prism/snapshots/whitequark/dedenting_heredoc.txt
+++ b/test/prism/snapshots/whitequark/dedenting_heredoc.txt
@@ -4,6 +4,7 @@
@ StatementsNode (location: (1,0)-(72,8))
└── body: (length: 16)
├── @ CallNode (location: (1,0)-(1,8))
+ │ ├── flags: ∅
│ ├── receiver: ∅
│ ├── call_operator_loc: ∅
│ ├── name: :p
@@ -11,40 +12,40 @@
│ ├── opening_loc: ∅
│ ├── arguments:
│ │ @ ArgumentsNode (location: (1,2)-(1,8))
- │ │ ├── arguments: (length: 1)
- │ │ │ └── @ InterpolatedStringNode (location: (1,2)-(1,8))
- │ │ │ ├── opening_loc: (1,2)-(1,8) = "<<~\"E\""
- │ │ │ ├── parts: (length: 3)
- │ │ │ │ ├── @ StringNode (location: (2,0)-(3,0))
- │ │ │ │ │ ├── flags: ∅
- │ │ │ │ │ ├── opening_loc: ∅
- │ │ │ │ │ ├── content_loc: (2,0)-(3,0) = " x\n"
- │ │ │ │ │ ├── closing_loc: ∅
- │ │ │ │ │ └── unescaped: " x\n"
- │ │ │ │ ├── @ EmbeddedStatementsNode (location: (3,2)-(3,10))
- │ │ │ │ │ ├── opening_loc: (3,2)-(3,4) = "\#{"
- │ │ │ │ │ ├── statements:
- │ │ │ │ │ │ @ StatementsNode (location: (3,4)-(3,9))
- │ │ │ │ │ │ └── body: (length: 1)
- │ │ │ │ │ │ └── @ StringNode (location: (3,4)-(3,9))
- │ │ │ │ │ │ ├── flags: ∅
- │ │ │ │ │ │ ├── opening_loc: (3,4)-(3,5) = "\""
- │ │ │ │ │ │ ├── content_loc: (3,5)-(3,8) = " y"
- │ │ │ │ │ │ ├── closing_loc: (3,8)-(3,9) = "\""
- │ │ │ │ │ │ └── unescaped: " y"
- │ │ │ │ │ └── closing_loc: (3,9)-(3,10) = "}"
- │ │ │ │ └── @ StringNode (location: (3,10)-(4,0))
- │ │ │ │ ├── flags: ∅
- │ │ │ │ ├── opening_loc: ∅
- │ │ │ │ ├── content_loc: (3,10)-(4,0) = "\n"
- │ │ │ │ ├── closing_loc: ∅
- │ │ │ │ └── unescaped: "\n"
- │ │ │ └── closing_loc: (4,0)-(5,0) = "E\n"
- │ │ └── flags: ∅
+ │ │ ├── flags: ∅
+ │ │ └── arguments: (length: 1)
+ │ │ └── @ InterpolatedStringNode (location: (1,2)-(1,8))
+ │ │ ├── opening_loc: (1,2)-(1,8) = "<<~\"E\""
+ │ │ ├── parts: (length: 3)
+ │ │ │ ├── @ StringNode (location: (2,0)-(3,0))
+ │ │ │ │ ├── flags: ∅
+ │ │ │ │ ├── opening_loc: ∅
+ │ │ │ │ ├── content_loc: (2,0)-(3,0) = " x\n"
+ │ │ │ │ ├── closing_loc: ∅
+ │ │ │ │ └── unescaped: " x\n"
+ │ │ │ ├── @ EmbeddedStatementsNode (location: (3,2)-(3,10))
+ │ │ │ │ ├── opening_loc: (3,2)-(3,4) = "\#{"
+ │ │ │ │ ├── statements:
+ │ │ │ │ │ @ StatementsNode (location: (3,4)-(3,9))
+ │ │ │ │ │ └── body: (length: 1)
+ │ │ │ │ │ └── @ StringNode (location: (3,4)-(3,9))
+ │ │ │ │ │ ├── flags: ∅
+ │ │ │ │ │ ├── opening_loc: (3,4)-(3,5) = "\""
+ │ │ │ │ │ ├── content_loc: (3,5)-(3,8) = " y"
+ │ │ │ │ │ ├── closing_loc: (3,8)-(3,9) = "\""
+ │ │ │ │ │ └── unescaped: " y"
+ │ │ │ │ └── closing_loc: (3,9)-(3,10) = "}"
+ │ │ │ └── @ StringNode (location: (3,10)-(4,0))
+ │ │ │ ├── flags: ∅
+ │ │ │ ├── opening_loc: ∅
+ │ │ │ ├── content_loc: (3,10)-(4,0) = "\n"
+ │ │ │ ├── closing_loc: ∅
+ │ │ │ └── unescaped: "\n"
+ │ │ └── closing_loc: (4,0)-(5,0) = "E\n"
│ ├── closing_loc: ∅
- │ ├── block: ∅
- │ └── flags: ∅
+ │ └── block: ∅
├── @ CallNode (location: (6,0)-(6,8))
+ │ ├── flags: ∅
│ ├── receiver: ∅
│ ├── call_operator_loc: ∅
│ ├── name: :p
@@ -52,44 +53,44 @@
│ ├── opening_loc: ∅
│ ├── arguments:
│ │ @ ArgumentsNode (location: (6,2)-(6,8))
- │ │ ├── arguments: (length: 1)
- │ │ │ └── @ InterpolatedStringNode (location: (6,2)-(6,8))
- │ │ │ ├── opening_loc: (6,2)-(6,8) = "<<~\"E\""
- │ │ │ ├── parts: (length: 3)
- │ │ │ │ ├── @ StringNode (location: (7,0)-(8,0))
- │ │ │ │ │ ├── flags: ∅
- │ │ │ │ │ ├── opening_loc: ∅
- │ │ │ │ │ ├── content_loc: (7,0)-(8,0) = " x\n"
- │ │ │ │ │ ├── closing_loc: ∅
- │ │ │ │ │ └── unescaped: " x\n"
- │ │ │ │ ├── @ EmbeddedStatementsNode (location: (8,2)-(8,8))
- │ │ │ │ │ ├── opening_loc: (8,2)-(8,4) = "\#{"
- │ │ │ │ │ ├── statements:
- │ │ │ │ │ │ @ StatementsNode (location: (8,4)-(8,7))
- │ │ │ │ │ │ └── body: (length: 1)
- │ │ │ │ │ │ └── @ CallNode (location: (8,4)-(8,7))
- │ │ │ │ │ │ ├── receiver: ∅
- │ │ │ │ │ │ ├── call_operator_loc: ∅
- │ │ │ │ │ │ ├── name: :foo
- │ │ │ │ │ │ ├── message_loc: (8,4)-(8,7) = "foo"
- │ │ │ │ │ │ ├── opening_loc: ∅
- │ │ │ │ │ │ ├── arguments: ∅
- │ │ │ │ │ │ ├── closing_loc: ∅
- │ │ │ │ │ │ ├── block: ∅
- │ │ │ │ │ │ └── flags: variable_call
- │ │ │ │ │ └── closing_loc: (8,7)-(8,8) = "}"
- │ │ │ │ └── @ StringNode (location: (8,8)-(9,0))
- │ │ │ │ ├── flags: ∅
- │ │ │ │ ├── opening_loc: ∅
- │ │ │ │ ├── content_loc: (8,8)-(9,0) = "\n"
- │ │ │ │ ├── closing_loc: ∅
- │ │ │ │ └── unescaped: "\n"
- │ │ │ └── closing_loc: (9,0)-(10,0) = "E\n"
- │ │ └── flags: ∅
+ │ │ ├── flags: ∅
+ │ │ └── arguments: (length: 1)
+ │ │ └── @ InterpolatedStringNode (location: (6,2)-(6,8))
+ │ │ ├── opening_loc: (6,2)-(6,8) = "<<~\"E\""
+ │ │ ├── parts: (length: 3)
+ │ │ │ ├── @ StringNode (location: (7,0)-(8,0))
+ │ │ │ │ ├── flags: ∅
+ │ │ │ │ ├── opening_loc: ∅
+ │ │ │ │ ├── content_loc: (7,0)-(8,0) = " x\n"
+ │ │ │ │ ├── closing_loc: ∅
+ │ │ │ │ └── unescaped: " x\n"
+ │ │ │ ├── @ EmbeddedStatementsNode (location: (8,2)-(8,8))
+ │ │ │ │ ├── opening_loc: (8,2)-(8,4) = "\#{"
+ │ │ │ │ ├── statements:
+ │ │ │ │ │ @ StatementsNode (location: (8,4)-(8,7))
+ │ │ │ │ │ └── body: (length: 1)
+ │ │ │ │ │ └── @ CallNode (location: (8,4)-(8,7))
+ │ │ │ │ │ ├── flags: variable_call
+ │ │ │ │ │ ├── receiver: ∅
+ │ │ │ │ │ ├── call_operator_loc: ∅
+ │ │ │ │ │ ├── name: :foo
+ │ │ │ │ │ ├── message_loc: (8,4)-(8,7) = "foo"
+ │ │ │ │ │ ├── opening_loc: ∅
+ │ │ │ │ │ ├── arguments: ∅
+ │ │ │ │ │ ├── closing_loc: ∅
+ │ │ │ │ │ └── block: ∅
+ │ │ │ │ └── closing_loc: (8,7)-(8,8) = "}"
+ │ │ │ └── @ StringNode (location: (8,8)-(9,0))
+ │ │ │ ├── flags: ∅
+ │ │ │ ├── opening_loc: ∅
+ │ │ │ ├── content_loc: (8,8)-(9,0) = "\n"
+ │ │ │ ├── closing_loc: ∅
+ │ │ │ └── unescaped: "\n"
+ │ │ └── closing_loc: (9,0)-(10,0) = "E\n"
│ ├── closing_loc: ∅
- │ ├── block: ∅
- │ └── flags: ∅
+ │ └── block: ∅
├── @ CallNode (location: (11,0)-(11,6))
+ │ ├── flags: ∅
│ ├── receiver: ∅
│ ├── call_operator_loc: ∅
│ ├── name: :p
@@ -97,28 +98,28 @@
│ ├── opening_loc: ∅
│ ├── arguments:
│ │ @ ArgumentsNode (location: (11,2)-(11,6))
- │ │ ├── arguments: (length: 1)
- │ │ │ └── @ InterpolatedStringNode (location: (11,2)-(11,6))
- │ │ │ ├── opening_loc: (11,2)-(11,6) = "<<~E"
- │ │ │ ├── parts: (length: 2)
- │ │ │ │ ├── @ StringNode (location: (12,0)-(13,0))
- │ │ │ │ │ ├── flags: ∅
- │ │ │ │ │ ├── opening_loc: ∅
- │ │ │ │ │ ├── content_loc: (12,0)-(13,0) = "\tx\n"
- │ │ │ │ │ ├── closing_loc: ∅
- │ │ │ │ │ └── unescaped: "x\n"
- │ │ │ │ └── @ StringNode (location: (13,0)-(14,0))
- │ │ │ │ ├── flags: ∅
- │ │ │ │ ├── opening_loc: ∅
- │ │ │ │ ├── content_loc: (13,0)-(14,0) = " y\n"
- │ │ │ │ ├── closing_loc: ∅
- │ │ │ │ └── unescaped: "y\n"
- │ │ │ └── closing_loc: (14,0)-(15,0) = "E\n"
- │ │ └── flags: ∅
+ │ │ ├── flags: ∅
+ │ │ └── arguments: (length: 1)
+ │ │ └── @ InterpolatedStringNode (location: (11,2)-(11,6))
+ │ │ ├── opening_loc: (11,2)-(11,6) = "<<~E"
+ │ │ ├── parts: (length: 2)
+ │ │ │ ├── @ StringNode (location: (12,0)-(13,0))
+ │ │ │ │ ├── flags: ∅
+ │ │ │ │ ├── opening_loc: ∅
+ │ │ │ │ ├── content_loc: (12,0)-(13,0) = "\tx\n"
+ │ │ │ │ ├── closing_loc: ∅
+ │ │ │ │ └── unescaped: "x\n"
+ │ │ │ └── @ StringNode (location: (13,0)-(14,0))
+ │ │ │ ├── flags: ∅
+ │ │ │ ├── opening_loc: ∅
+ │ │ │ ├── content_loc: (13,0)-(14,0) = " y\n"
+ │ │ │ ├── closing_loc: ∅
+ │ │ │ └── unescaped: "y\n"
+ │ │ └── closing_loc: (14,0)-(15,0) = "E\n"
│ ├── closing_loc: ∅
- │ ├── block: ∅
- │ └── flags: ∅
+ │ └── block: ∅
├── @ CallNode (location: (16,0)-(16,6))
+ │ ├── flags: ∅
│ ├── receiver: ∅
│ ├── call_operator_loc: ∅
│ ├── name: :p
@@ -126,28 +127,28 @@
│ ├── opening_loc: ∅
│ ├── arguments:
│ │ @ ArgumentsNode (location: (16,2)-(16,6))
- │ │ ├── arguments: (length: 1)
- │ │ │ └── @ InterpolatedStringNode (location: (16,2)-(16,6))
- │ │ │ ├── opening_loc: (16,2)-(16,6) = "<<~E"
- │ │ │ ├── parts: (length: 2)
- │ │ │ │ ├── @ StringNode (location: (17,0)-(18,0))
- │ │ │ │ │ ├── flags: ∅
- │ │ │ │ │ ├── opening_loc: ∅
- │ │ │ │ │ ├── content_loc: (17,0)-(18,0) = "\tx\n"
- │ │ │ │ │ ├── closing_loc: ∅
- │ │ │ │ │ └── unescaped: "\tx\n"
- │ │ │ │ └── @ StringNode (location: (18,0)-(19,0))
- │ │ │ │ ├── flags: ∅
- │ │ │ │ ├── opening_loc: ∅
- │ │ │ │ ├── content_loc: (18,0)-(19,0) = " y\n"
- │ │ │ │ ├── closing_loc: ∅
- │ │ │ │ └── unescaped: "y\n"
- │ │ │ └── closing_loc: (19,0)-(20,0) = "E\n"
- │ │ └── flags: ∅
+ │ │ ├── flags: ∅
+ │ │ └── arguments: (length: 1)
+ │ │ └── @ InterpolatedStringNode (location: (16,2)-(16,6))
+ │ │ ├── opening_loc: (16,2)-(16,6) = "<<~E"
+ │ │ ├── parts: (length: 2)
+ │ │ │ ├── @ StringNode (location: (17,0)-(18,0))
+ │ │ │ │ ├── flags: ∅
+ │ │ │ │ ├── opening_loc: ∅
+ │ │ │ │ ├── content_loc: (17,0)-(18,0) = "\tx\n"
+ │ │ │ │ ├── closing_loc: ∅
+ │ │ │ │ └── unescaped: "\tx\n"
+ │ │ │ └── @ StringNode (location: (18,0)-(19,0))
+ │ │ │ ├── flags: ∅
+ │ │ │ ├── opening_loc: ∅
+ │ │ │ ├── content_loc: (18,0)-(19,0) = " y\n"
+ │ │ │ ├── closing_loc: ∅
+ │ │ │ └── unescaped: "y\n"
+ │ │ └── closing_loc: (19,0)-(20,0) = "E\n"
│ ├── closing_loc: ∅
- │ ├── block: ∅
- │ └── flags: ∅
+ │ └── block: ∅
├── @ CallNode (location: (21,0)-(21,6))
+ │ ├── flags: ∅
│ ├── receiver: ∅
│ ├── call_operator_loc: ∅
│ ├── name: :p
@@ -155,28 +156,28 @@
│ ├── opening_loc: ∅
│ ├── arguments:
│ │ @ ArgumentsNode (location: (21,2)-(21,6))
- │ │ ├── arguments: (length: 1)
- │ │ │ └── @ InterpolatedStringNode (location: (21,2)-(21,6))
- │ │ │ ├── opening_loc: (21,2)-(21,6) = "<<~E"
- │ │ │ ├── parts: (length: 2)
- │ │ │ │ ├── @ StringNode (location: (22,0)-(23,0))
- │ │ │ │ │ ├── flags: ∅
- │ │ │ │ │ ├── opening_loc: ∅
- │ │ │ │ │ ├── content_loc: (22,0)-(23,0) = " \tx\n"
- │ │ │ │ │ ├── closing_loc: ∅
- │ │ │ │ │ └── unescaped: "x\n"
- │ │ │ │ └── @ StringNode (location: (23,0)-(24,0))
- │ │ │ │ ├── flags: ∅
- │ │ │ │ ├── opening_loc: ∅
- │ │ │ │ ├── content_loc: (23,0)-(24,0) = " y\n"
- │ │ │ │ ├── closing_loc: ∅
- │ │ │ │ └── unescaped: "y\n"
- │ │ │ └── closing_loc: (24,0)-(25,0) = "E\n"
- │ │ └── flags: ∅
+ │ │ ├── flags: ∅
+ │ │ └── arguments: (length: 1)
+ │ │ └── @ InterpolatedStringNode (location: (21,2)-(21,6))
+ │ │ ├── opening_loc: (21,2)-(21,6) = "<<~E"
+ │ │ ├── parts: (length: 2)
+ │ │ │ ├── @ StringNode (location: (22,0)-(23,0))
+ │ │ │ │ ├── flags: ∅
+ │ │ │ │ ├── opening_loc: ∅
+ │ │ │ │ ├── content_loc: (22,0)-(23,0) = " \tx\n"
+ │ │ │ │ ├── closing_loc: ∅
+ │ │ │ │ └── unescaped: "x\n"
+ │ │ │ └── @ StringNode (location: (23,0)-(24,0))
+ │ │ │ ├── flags: ∅
+ │ │ │ ├── opening_loc: ∅
+ │ │ │ ├── content_loc: (23,0)-(24,0) = " y\n"
+ │ │ │ ├── closing_loc: ∅
+ │ │ │ └── unescaped: "y\n"
+ │ │ └── closing_loc: (24,0)-(25,0) = "E\n"
│ ├── closing_loc: ∅
- │ ├── block: ∅
- │ └── flags: ∅
+ │ └── block: ∅
├── @ CallNode (location: (26,0)-(26,6))
+ │ ├── flags: ∅
│ ├── receiver: ∅
│ ├── call_operator_loc: ∅
│ ├── name: :p
@@ -184,28 +185,28 @@
│ ├── opening_loc: ∅
│ ├── arguments:
│ │ @ ArgumentsNode (location: (26,2)-(26,6))
- │ │ ├── arguments: (length: 1)
- │ │ │ └── @ InterpolatedStringNode (location: (26,2)-(26,6))
- │ │ │ ├── opening_loc: (26,2)-(26,6) = "<<~E"
- │ │ │ ├── parts: (length: 2)
- │ │ │ │ ├── @ StringNode (location: (27,0)-(28,0))
- │ │ │ │ │ ├── flags: ∅
- │ │ │ │ │ ├── opening_loc: ∅
- │ │ │ │ │ ├── content_loc: (27,0)-(28,0) = " \tx\n"
- │ │ │ │ │ ├── closing_loc: ∅
- │ │ │ │ │ └── unescaped: "\tx\n"
- │ │ │ │ └── @ StringNode (location: (28,0)-(29,0))
- │ │ │ │ ├── flags: ∅
- │ │ │ │ ├── opening_loc: ∅
- │ │ │ │ ├── content_loc: (28,0)-(29,0) = "\ty\n"
- │ │ │ │ ├── closing_loc: ∅
- │ │ │ │ └── unescaped: "y\n"
- │ │ │ └── closing_loc: (29,0)-(30,0) = "E\n"
- │ │ └── flags: ∅
+ │ │ ├── flags: ∅
+ │ │ └── arguments: (length: 1)
+ │ │ └── @ InterpolatedStringNode (location: (26,2)-(26,6))
+ │ │ ├── opening_loc: (26,2)-(26,6) = "<<~E"
+ │ │ ├── parts: (length: 2)
+ │ │ │ ├── @ StringNode (location: (27,0)-(28,0))
+ │ │ │ │ ├── flags: ∅
+ │ │ │ │ ├── opening_loc: ∅
+ │ │ │ │ ├── content_loc: (27,0)-(28,0) = " \tx\n"
+ │ │ │ │ ├── closing_loc: ∅
+ │ │ │ │ └── unescaped: "\tx\n"
+ │ │ │ └── @ StringNode (location: (28,0)-(29,0))
+ │ │ │ ├── flags: ∅
+ │ │ │ ├── opening_loc: ∅
+ │ │ │ ├── content_loc: (28,0)-(29,0) = "\ty\n"
+ │ │ │ ├── closing_loc: ∅
+ │ │ │ └── unescaped: "y\n"
+ │ │ └── closing_loc: (29,0)-(30,0) = "E\n"
│ ├── closing_loc: ∅
- │ ├── block: ∅
- │ └── flags: ∅
+ │ └── block: ∅
├── @ CallNode (location: (31,0)-(31,6))
+ │ ├── flags: ∅
│ ├── receiver: ∅
│ ├── call_operator_loc: ∅
│ ├── name: :p
@@ -213,28 +214,28 @@
│ ├── opening_loc: ∅
│ ├── arguments:
│ │ @ ArgumentsNode (location: (31,2)-(31,6))
- │ │ ├── arguments: (length: 1)
- │ │ │ └── @ InterpolatedStringNode (location: (31,2)-(31,6))
- │ │ │ ├── opening_loc: (31,2)-(31,6) = "<<~E"
- │ │ │ ├── parts: (length: 2)
- │ │ │ │ ├── @ StringNode (location: (32,0)-(33,0))
- │ │ │ │ │ ├── flags: ∅
- │ │ │ │ │ ├── opening_loc: ∅
- │ │ │ │ │ ├── content_loc: (32,0)-(33,0) = " x\n"
- │ │ │ │ │ ├── closing_loc: ∅
- │ │ │ │ │ └── unescaped: " x\n"
- │ │ │ │ └── @ StringNode (location: (33,0)-(34,0))
- │ │ │ │ ├── flags: ∅
- │ │ │ │ ├── opening_loc: ∅
- │ │ │ │ ├── content_loc: (33,0)-(34,0) = " \\\ty\n"
- │ │ │ │ ├── closing_loc: ∅
- │ │ │ │ └── unescaped: "\ty\n"
- │ │ │ └── closing_loc: (34,0)-(35,0) = "E\n"
- │ │ └── flags: ∅
+ │ │ ├── flags: ∅
+ │ │ └── arguments: (length: 1)
+ │ │ └── @ InterpolatedStringNode (location: (31,2)-(31,6))
+ │ │ ├── opening_loc: (31,2)-(31,6) = "<<~E"
+ │ │ ├── parts: (length: 2)
+ │ │ │ ├── @ StringNode (location: (32,0)-(33,0))
+ │ │ │ │ ├── flags: ∅
+ │ │ │ │ ├── opening_loc: ∅
+ │ │ │ │ ├── content_loc: (32,0)-(33,0) = " x\n"
+ │ │ │ │ ├── closing_loc: ∅
+ │ │ │ │ └── unescaped: " x\n"
+ │ │ │ └── @ StringNode (location: (33,0)-(34,0))
+ │ │ │ ├── flags: ∅
+ │ │ │ ├── opening_loc: ∅
+ │ │ │ ├── content_loc: (33,0)-(34,0) = " \\\ty\n"
+ │ │ │ ├── closing_loc: ∅
+ │ │ │ └── unescaped: "\ty\n"
+ │ │ └── closing_loc: (34,0)-(35,0) = "E\n"
│ ├── closing_loc: ∅
- │ ├── block: ∅
- │ └── flags: ∅
+ │ └── block: ∅
├── @ CallNode (location: (36,0)-(36,6))
+ │ ├── flags: ∅
│ ├── receiver: ∅
│ ├── call_operator_loc: ∅
│ ├── name: :p
@@ -242,28 +243,28 @@
│ ├── opening_loc: ∅
│ ├── arguments:
│ │ @ ArgumentsNode (location: (36,2)-(36,6))
- │ │ ├── arguments: (length: 1)
- │ │ │ └── @ InterpolatedStringNode (location: (36,2)-(36,6))
- │ │ │ ├── opening_loc: (36,2)-(36,6) = "<<~E"
- │ │ │ ├── parts: (length: 2)
- │ │ │ │ ├── @ StringNode (location: (37,0)-(38,0))
- │ │ │ │ │ ├── flags: ∅
- │ │ │ │ │ ├── opening_loc: ∅
- │ │ │ │ │ ├── content_loc: (37,0)-(38,0) = " x\n"
- │ │ │ │ │ ├── closing_loc: ∅
- │ │ │ │ │ └── unescaped: " x\n"
- │ │ │ │ └── @ StringNode (location: (38,0)-(39,0))
- │ │ │ │ ├── flags: ∅
- │ │ │ │ ├── opening_loc: ∅
- │ │ │ │ ├── content_loc: (38,0)-(39,0) = " \\ y\n"
- │ │ │ │ ├── closing_loc: ∅
- │ │ │ │ └── unescaped: " y\n"
- │ │ │ └── closing_loc: (39,0)-(40,0) = "E\n"
- │ │ └── flags: ∅
+ │ │ ├── flags: ∅
+ │ │ └── arguments: (length: 1)
+ │ │ └── @ InterpolatedStringNode (location: (36,2)-(36,6))
+ │ │ ├── opening_loc: (36,2)-(36,6) = "<<~E"
+ │ │ ├── parts: (length: 2)
+ │ │ │ ├── @ StringNode (location: (37,0)-(38,0))
+ │ │ │ │ ├── flags: ∅
+ │ │ │ │ ├── opening_loc: ∅
+ │ │ │ │ ├── content_loc: (37,0)-(38,0) = " x\n"
+ │ │ │ │ ├── closing_loc: ∅
+ │ │ │ │ └── unescaped: " x\n"
+ │ │ │ └── @ StringNode (location: (38,0)-(39,0))
+ │ │ │ ├── flags: ∅
+ │ │ │ ├── opening_loc: ∅
+ │ │ │ ├── content_loc: (38,0)-(39,0) = " \\ y\n"
+ │ │ │ ├── closing_loc: ∅
+ │ │ │ └── unescaped: " y\n"
+ │ │ └── closing_loc: (39,0)-(40,0) = "E\n"
│ ├── closing_loc: ∅
- │ ├── block: ∅
- │ └── flags: ∅
+ │ └── block: ∅
├── @ CallNode (location: (41,0)-(41,6))
+ │ ├── flags: ∅
│ ├── receiver: ∅
│ ├── call_operator_loc: ∅
│ ├── name: :p
@@ -271,18 +272,18 @@
│ ├── opening_loc: ∅
│ ├── arguments:
│ │ @ ArgumentsNode (location: (41,2)-(41,6))
- │ │ ├── arguments: (length: 1)
- │ │ │ └── @ StringNode (location: (41,2)-(41,6))
- │ │ │ ├── flags: ∅
- │ │ │ ├── opening_loc: (41,2)-(41,6) = "<<~E"
- │ │ │ ├── content_loc: (42,0)-(42,0) = ""
- │ │ │ ├── closing_loc: (42,0)-(43,0) = " E\n"
- │ │ │ └── unescaped: ""
- │ │ └── flags: ∅
+ │ │ ├── flags: ∅
+ │ │ └── arguments: (length: 1)
+ │ │ └── @ StringNode (location: (41,2)-(41,6))
+ │ │ ├── flags: ∅
+ │ │ ├── opening_loc: (41,2)-(41,6) = "<<~E"
+ │ │ ├── content_loc: (42,0)-(42,0) = ""
+ │ │ ├── closing_loc: (42,0)-(43,0) = " E\n"
+ │ │ └── unescaped: ""
│ ├── closing_loc: ∅
- │ ├── block: ∅
- │ └── flags: ∅
+ │ └── block: ∅
├── @ CallNode (location: (44,0)-(44,6))
+ │ ├── flags: ∅
│ ├── receiver: ∅
│ ├── call_operator_loc: ∅
│ ├── name: :p
@@ -290,34 +291,34 @@
│ ├── opening_loc: ∅
│ ├── arguments:
│ │ @ ArgumentsNode (location: (44,2)-(44,6))
- │ │ ├── arguments: (length: 1)
- │ │ │ └── @ InterpolatedStringNode (location: (44,2)-(44,6))
- │ │ │ ├── opening_loc: (44,2)-(44,6) = "<<~E"
- │ │ │ ├── parts: (length: 3)
- │ │ │ │ ├── @ StringNode (location: (45,0)-(46,0))
- │ │ │ │ │ ├── flags: ∅
- │ │ │ │ │ ├── opening_loc: ∅
- │ │ │ │ │ ├── content_loc: (45,0)-(46,0) = " x\n"
- │ │ │ │ │ ├── closing_loc: ∅
- │ │ │ │ │ └── unescaped: " x\n"
- │ │ │ │ ├── @ StringNode (location: (46,0)-(47,0))
- │ │ │ │ │ ├── flags: ∅
- │ │ │ │ │ ├── opening_loc: ∅
- │ │ │ │ │ ├── content_loc: (46,0)-(47,0) = "\n"
- │ │ │ │ │ ├── closing_loc: ∅
- │ │ │ │ │ └── unescaped: "\n"
- │ │ │ │ └── @ StringNode (location: (47,0)-(48,0))
- │ │ │ │ ├── flags: ∅
- │ │ │ │ ├── opening_loc: ∅
- │ │ │ │ ├── content_loc: (47,0)-(48,0) = "y\n"
- │ │ │ │ ├── closing_loc: ∅
- │ │ │ │ └── unescaped: "y\n"
- │ │ │ └── closing_loc: (48,0)-(49,0) = "E\n"
- │ │ └── flags: ∅
+ │ │ ├── flags: ∅
+ │ │ └── arguments: (length: 1)
+ │ │ └── @ InterpolatedStringNode (location: (44,2)-(44,6))
+ │ │ ├── opening_loc: (44,2)-(44,6) = "<<~E"
+ │ │ ├── parts: (length: 3)
+ │ │ │ ├── @ StringNode (location: (45,0)-(46,0))
+ │ │ │ │ ├── flags: ∅
+ │ │ │ │ ├── opening_loc: ∅
+ │ │ │ │ ├── content_loc: (45,0)-(46,0) = " x\n"
+ │ │ │ │ ├── closing_loc: ∅
+ │ │ │ │ └── unescaped: " x\n"
+ │ │ │ ├── @ StringNode (location: (46,0)-(47,0))
+ │ │ │ │ ├── flags: ∅
+ │ │ │ │ ├── opening_loc: ∅
+ │ │ │ │ ├── content_loc: (46,0)-(47,0) = "\n"
+ │ │ │ │ ├── closing_loc: ∅
+ │ │ │ │ └── unescaped: "\n"
+ │ │ │ └── @ StringNode (location: (47,0)-(48,0))
+ │ │ │ ├── flags: ∅
+ │ │ │ ├── opening_loc: ∅
+ │ │ │ ├── content_loc: (47,0)-(48,0) = "y\n"
+ │ │ │ ├── closing_loc: ∅
+ │ │ │ └── unescaped: "y\n"
+ │ │ └── closing_loc: (48,0)-(49,0) = "E\n"
│ ├── closing_loc: ∅
- │ ├── block: ∅
- │ └── flags: ∅
+ │ └── block: ∅
├── @ CallNode (location: (50,0)-(50,6))
+ │ ├── flags: ∅
│ ├── receiver: ∅
│ ├── call_operator_loc: ∅
│ ├── name: :p
@@ -325,34 +326,34 @@
│ ├── opening_loc: ∅
│ ├── arguments:
│ │ @ ArgumentsNode (location: (50,2)-(50,6))
- │ │ ├── arguments: (length: 1)
- │ │ │ └── @ InterpolatedStringNode (location: (50,2)-(50,6))
- │ │ │ ├── opening_loc: (50,2)-(50,6) = "<<~E"
- │ │ │ ├── parts: (length: 3)
- │ │ │ │ ├── @ StringNode (location: (51,0)-(52,0))
- │ │ │ │ │ ├── flags: ∅
- │ │ │ │ │ ├── opening_loc: ∅
- │ │ │ │ │ ├── content_loc: (51,0)-(52,0) = " x\n"
- │ │ │ │ │ ├── closing_loc: ∅
- │ │ │ │ │ └── unescaped: "x\n"
- │ │ │ │ ├── @ StringNode (location: (52,0)-(53,0))
- │ │ │ │ │ ├── flags: ∅
- │ │ │ │ │ ├── opening_loc: ∅
- │ │ │ │ │ ├── content_loc: (52,0)-(53,0) = " \n"
- │ │ │ │ │ ├── closing_loc: ∅
- │ │ │ │ │ └── unescaped: " \n"
- │ │ │ │ └── @ StringNode (location: (53,0)-(54,0))
- │ │ │ │ ├── flags: ∅
- │ │ │ │ ├── opening_loc: ∅
- │ │ │ │ ├── content_loc: (53,0)-(54,0) = " y\n"
- │ │ │ │ ├── closing_loc: ∅
- │ │ │ │ └── unescaped: "y\n"
- │ │ │ └── closing_loc: (54,0)-(55,0) = "E\n"
- │ │ └── flags: ∅
+ │ │ ├── flags: ∅
+ │ │ └── arguments: (length: 1)
+ │ │ └── @ InterpolatedStringNode (location: (50,2)-(50,6))
+ │ │ ├── opening_loc: (50,2)-(50,6) = "<<~E"
+ │ │ ├── parts: (length: 3)
+ │ │ │ ├── @ StringNode (location: (51,0)-(52,0))
+ │ │ │ │ ├── flags: ∅
+ │ │ │ │ ├── opening_loc: ∅
+ │ │ │ │ ├── content_loc: (51,0)-(52,0) = " x\n"
+ │ │ │ │ ├── closing_loc: ∅
+ │ │ │ │ └── unescaped: "x\n"
+ │ │ │ ├── @ StringNode (location: (52,0)-(53,0))
+ │ │ │ │ ├── flags: ∅
+ │ │ │ │ ├── opening_loc: ∅
+ │ │ │ │ ├── content_loc: (52,0)-(53,0) = " \n"
+ │ │ │ │ ├── closing_loc: ∅
+ │ │ │ │ └── unescaped: " \n"
+ │ │ │ └── @ StringNode (location: (53,0)-(54,0))
+ │ │ │ ├── flags: ∅
+ │ │ │ ├── opening_loc: ∅
+ │ │ │ ├── content_loc: (53,0)-(54,0) = " y\n"
+ │ │ │ ├── closing_loc: ∅
+ │ │ │ └── unescaped: "y\n"
+ │ │ └── closing_loc: (54,0)-(55,0) = "E\n"
│ ├── closing_loc: ∅
- │ ├── block: ∅
- │ └── flags: ∅
+ │ └── block: ∅
├── @ CallNode (location: (56,0)-(56,6))
+ │ ├── flags: ∅
│ ├── receiver: ∅
│ ├── call_operator_loc: ∅
│ ├── name: :p
@@ -360,28 +361,28 @@
│ ├── opening_loc: ∅
│ ├── arguments:
│ │ @ ArgumentsNode (location: (56,2)-(56,6))
- │ │ ├── arguments: (length: 1)
- │ │ │ └── @ InterpolatedStringNode (location: (56,2)-(56,6))
- │ │ │ ├── opening_loc: (56,2)-(56,6) = "<<~E"
- │ │ │ ├── parts: (length: 2)
- │ │ │ │ ├── @ StringNode (location: (57,0)-(58,0))
- │ │ │ │ │ ├── flags: ∅
- │ │ │ │ │ ├── opening_loc: ∅
- │ │ │ │ │ ├── content_loc: (57,0)-(58,0) = " x\n"
- │ │ │ │ │ ├── closing_loc: ∅
- │ │ │ │ │ └── unescaped: "x\n"
- │ │ │ │ └── @ StringNode (location: (58,0)-(59,0))
- │ │ │ │ ├── flags: ∅
- │ │ │ │ ├── opening_loc: ∅
- │ │ │ │ ├── content_loc: (58,0)-(59,0) = " y\n"
- │ │ │ │ ├── closing_loc: ∅
- │ │ │ │ └── unescaped: " y\n"
- │ │ │ └── closing_loc: (59,0)-(60,0) = "E\n"
- │ │ └── flags: ∅
+ │ │ ├── flags: ∅
+ │ │ └── arguments: (length: 1)
+ │ │ └── @ InterpolatedStringNode (location: (56,2)-(56,6))
+ │ │ ├── opening_loc: (56,2)-(56,6) = "<<~E"
+ │ │ ├── parts: (length: 2)
+ │ │ │ ├── @ StringNode (location: (57,0)-(58,0))
+ │ │ │ │ ├── flags: ∅
+ │ │ │ │ ├── opening_loc: ∅
+ │ │ │ │ ├── content_loc: (57,0)-(58,0) = " x\n"
+ │ │ │ │ ├── closing_loc: ∅
+ │ │ │ │ └── unescaped: "x\n"
+ │ │ │ └── @ StringNode (location: (58,0)-(59,0))
+ │ │ │ ├── flags: ∅
+ │ │ │ ├── opening_loc: ∅
+ │ │ │ ├── content_loc: (58,0)-(59,0) = " y\n"
+ │ │ │ ├── closing_loc: ∅
+ │ │ │ └── unescaped: " y\n"
+ │ │ └── closing_loc: (59,0)-(60,0) = "E\n"
│ ├── closing_loc: ∅
- │ ├── block: ∅
- │ └── flags: ∅
+ │ └── block: ∅
├── @ CallNode (location: (61,0)-(61,6))
+ │ ├── flags: ∅
│ ├── receiver: ∅
│ ├── call_operator_loc: ∅
│ ├── name: :p
@@ -389,18 +390,18 @@
│ ├── opening_loc: ∅
│ ├── arguments:
│ │ @ ArgumentsNode (location: (61,2)-(61,6))
- │ │ ├── arguments: (length: 1)
- │ │ │ └── @ StringNode (location: (61,2)-(61,6))
- │ │ │ ├── flags: ∅
- │ │ │ ├── opening_loc: (61,2)-(61,6) = "<<~E"
- │ │ │ ├── content_loc: (62,0)-(63,0) = " x\n"
- │ │ │ ├── closing_loc: (63,0)-(64,0) = "E\n"
- │ │ │ └── unescaped: "x\n"
- │ │ └── flags: ∅
+ │ │ ├── flags: ∅
+ │ │ └── arguments: (length: 1)
+ │ │ └── @ StringNode (location: (61,2)-(61,6))
+ │ │ ├── flags: ∅
+ │ │ ├── opening_loc: (61,2)-(61,6) = "<<~E"
+ │ │ ├── content_loc: (62,0)-(63,0) = " x\n"
+ │ │ ├── closing_loc: (63,0)-(64,0) = "E\n"
+ │ │ └── unescaped: "x\n"
│ ├── closing_loc: ∅
- │ ├── block: ∅
- │ └── flags: ∅
+ │ └── block: ∅
├── @ CallNode (location: (65,0)-(65,6))
+ │ ├── flags: ∅
│ ├── receiver: ∅
│ ├── call_operator_loc: ∅
│ ├── name: :p
@@ -408,18 +409,18 @@
│ ├── opening_loc: ∅
│ ├── arguments:
│ │ @ ArgumentsNode (location: (65,2)-(65,6))
- │ │ ├── arguments: (length: 1)
- │ │ │ └── @ StringNode (location: (65,2)-(65,6))
- │ │ │ ├── flags: ∅
- │ │ │ ├── opening_loc: (65,2)-(65,6) = "<<~E"
- │ │ │ ├── content_loc: (66,0)-(67,0) = " ð\n"
- │ │ │ ├── closing_loc: (67,0)-(68,0) = "E\n"
- │ │ │ └── unescaped: "ð\n"
- │ │ └── flags: ∅
+ │ │ ├── flags: ∅
+ │ │ └── arguments: (length: 1)
+ │ │ └── @ StringNode (location: (65,2)-(65,6))
+ │ │ ├── flags: ∅
+ │ │ ├── opening_loc: (65,2)-(65,6) = "<<~E"
+ │ │ ├── content_loc: (66,0)-(67,0) = " ð\n"
+ │ │ ├── closing_loc: (67,0)-(68,0) = "E\n"
+ │ │ └── unescaped: "ð\n"
│ ├── closing_loc: ∅
- │ ├── block: ∅
- │ └── flags: ∅
+ │ └── block: ∅
├── @ CallNode (location: (69,0)-(69,6))
+ │ ├── flags: ∅
│ ├── receiver: ∅
│ ├── call_operator_loc: ∅
│ ├── name: :p
@@ -427,18 +428,18 @@
│ ├── opening_loc: ∅
│ ├── arguments:
│ │ @ ArgumentsNode (location: (69,2)-(69,6))
- │ │ ├── arguments: (length: 1)
- │ │ │ └── @ StringNode (location: (69,2)-(69,6))
- │ │ │ ├── flags: ∅
- │ │ │ ├── opening_loc: (69,2)-(69,6) = "<<~E"
- │ │ │ ├── content_loc: (70,0)-(70,0) = ""
- │ │ │ ├── closing_loc: (70,0)-(71,0) = "E\n"
- │ │ │ └── unescaped: ""
- │ │ └── flags: ∅
+ │ │ ├── flags: ∅
+ │ │ └── arguments: (length: 1)
+ │ │ └── @ StringNode (location: (69,2)-(69,6))
+ │ │ ├── flags: ∅
+ │ │ ├── opening_loc: (69,2)-(69,6) = "<<~E"
+ │ │ ├── content_loc: (70,0)-(70,0) = ""
+ │ │ ├── closing_loc: (70,0)-(71,0) = "E\n"
+ │ │ └── unescaped: ""
│ ├── closing_loc: ∅
- │ ├── block: ∅
- │ └── flags: ∅
+ │ └── block: ∅
└── @ CallNode (location: (72,0)-(72,8))
+ ├── flags: ∅
├── receiver: ∅
├── call_operator_loc: ∅
├── name: :p
@@ -446,40 +447,39 @@
├── opening_loc: ∅
├── arguments:
│ @ ArgumentsNode (location: (72,2)-(72,8))
- │ ├── arguments: (length: 1)
- │ │ └── @ InterpolatedXStringNode (location: (72,2)-(72,8))
- │ │ ├── opening_loc: (72,2)-(72,8) = "<<~`E`"
- │ │ ├── parts: (length: 3)
- │ │ │ ├── @ StringNode (location: (73,0)-(74,0))
- │ │ │ │ ├── flags: ∅
- │ │ │ │ ├── opening_loc: ∅
- │ │ │ │ ├── content_loc: (73,0)-(74,0) = " x\n"
- │ │ │ │ ├── closing_loc: ∅
- │ │ │ │ └── unescaped: " x\n"
- │ │ │ ├── @ EmbeddedStatementsNode (location: (74,2)-(74,8))
- │ │ │ │ ├── opening_loc: (74,2)-(74,4) = "\#{"
- │ │ │ │ ├── statements:
- │ │ │ │ │ @ StatementsNode (location: (74,4)-(74,7))
- │ │ │ │ │ └── body: (length: 1)
- │ │ │ │ │ └── @ CallNode (location: (74,4)-(74,7))
- │ │ │ │ │ ├── receiver: ∅
- │ │ │ │ │ ├── call_operator_loc: ∅
- │ │ │ │ │ ├── name: :foo
- │ │ │ │ │ ├── message_loc: (74,4)-(74,7) = "foo"
- │ │ │ │ │ ├── opening_loc: ∅
- │ │ │ │ │ ├── arguments: ∅
- │ │ │ │ │ ├── closing_loc: ∅
- │ │ │ │ │ ├── block: ∅
- │ │ │ │ │ └── flags: variable_call
- │ │ │ │ └── closing_loc: (74,7)-(74,8) = "}"
- │ │ │ └── @ StringNode (location: (74,8)-(75,0))
- │ │ │ ├── flags: ∅
- │ │ │ ├── opening_loc: ∅
- │ │ │ ├── content_loc: (74,8)-(75,0) = "\n"
- │ │ │ ├── closing_loc: ∅
- │ │ │ └── unescaped: "\n"
- │ │ └── closing_loc: (75,0)-(76,0) = "E\n"
- │ └── flags: ∅
+ │ ├── flags: ∅
+ │ └── arguments: (length: 1)
+ │ └── @ InterpolatedXStringNode (location: (72,2)-(72,8))
+ │ ├── opening_loc: (72,2)-(72,8) = "<<~`E`"
+ │ ├── parts: (length: 3)
+ │ │ ├── @ StringNode (location: (73,0)-(74,0))
+ │ │ │ ├── flags: ∅
+ │ │ │ ├── opening_loc: ∅
+ │ │ │ ├── content_loc: (73,0)-(74,0) = " x\n"
+ │ │ │ ├── closing_loc: ∅
+ │ │ │ └── unescaped: " x\n"
+ │ │ ├── @ EmbeddedStatementsNode (location: (74,2)-(74,8))
+ │ │ │ ├── opening_loc: (74,2)-(74,4) = "\#{"
+ │ │ │ ├── statements:
+ │ │ │ │ @ StatementsNode (location: (74,4)-(74,7))
+ │ │ │ │ └── body: (length: 1)
+ │ │ │ │ └── @ CallNode (location: (74,4)-(74,7))
+ │ │ │ │ ├── flags: variable_call
+ │ │ │ │ ├── receiver: ∅
+ │ │ │ │ ├── call_operator_loc: ∅
+ │ │ │ │ ├── name: :foo
+ │ │ │ │ ├── message_loc: (74,4)-(74,7) = "foo"
+ │ │ │ │ ├── opening_loc: ∅
+ │ │ │ │ ├── arguments: ∅
+ │ │ │ │ ├── closing_loc: ∅
+ │ │ │ │ └── block: ∅
+ │ │ │ └── closing_loc: (74,7)-(74,8) = "}"
+ │ │ └── @ StringNode (location: (74,8)-(75,0))
+ │ │ ├── flags: ∅
+ │ │ ├── opening_loc: ∅
+ │ │ ├── content_loc: (74,8)-(75,0) = "\n"
+ │ │ ├── closing_loc: ∅
+ │ │ └── unescaped: "\n"
+ │ └── closing_loc: (75,0)-(76,0) = "E\n"
├── closing_loc: ∅
- ├── block: ∅
- └── flags: ∅
+ └── block: ∅
diff --git a/test/prism/snapshots/whitequark/defined.txt b/test/prism/snapshots/whitequark/defined.txt
index 1c83784db1..6a1d8cd499 100644
--- a/test/prism/snapshots/whitequark/defined.txt
+++ b/test/prism/snapshots/whitequark/defined.txt
@@ -14,6 +14,7 @@
│ ├── lparen_loc: ∅
│ ├── value:
│ │ @ CallNode (location: (3,9)-(3,12))
+ │ │ ├── flags: variable_call
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
│ │ ├── name: :foo
@@ -21,14 +22,14 @@
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
- │ │ ├── block: ∅
- │ │ └── flags: variable_call
+ │ │ └── block: ∅
│ ├── rparen_loc: ∅
│ └── keyword_loc: (3,0)-(3,8) = "defined?"
└── @ DefinedNode (location: (5,0)-(5,13))
├── lparen_loc: (5,8)-(5,9) = "("
├── value:
│ @ CallNode (location: (5,9)-(5,12))
+ │ ├── flags: variable_call
│ ├── receiver: ∅
│ ├── call_operator_loc: ∅
│ ├── name: :foo
@@ -36,7 +37,6 @@
│ ├── opening_loc: ∅
│ ├── arguments: ∅
│ ├── closing_loc: ∅
- │ ├── block: ∅
- │ └── flags: variable_call
+ │ └── block: ∅
├── rparen_loc: (5,12)-(5,13) = ")"
└── keyword_loc: (5,0)-(5,8) = "defined?"
diff --git a/test/prism/snapshots/whitequark/defs.txt b/test/prism/snapshots/whitequark/defs.txt
index 1c0bad523f..4bb97ea025 100644
--- a/test/prism/snapshots/whitequark/defs.txt
+++ b/test/prism/snapshots/whitequark/defs.txt
@@ -10,6 +10,7 @@
│ │ @ ParenthesesNode (location: (1,4)-(1,9))
│ │ ├── body:
│ │ │ @ CallNode (location: (1,5)-(1,8))
+ │ │ │ ├── flags: variable_call
│ │ │ ├── receiver: ∅
│ │ │ ├── call_operator_loc: ∅
│ │ │ ├── name: :foo
@@ -17,8 +18,7 @@
│ │ │ ├── opening_loc: ∅
│ │ │ ├── arguments: ∅
│ │ │ ├── closing_loc: ∅
- │ │ │ ├── block: ∅
- │ │ │ └── flags: variable_call
+ │ │ │ └── block: ∅
│ │ ├── opening_loc: (1,4)-(1,5) = "("
│ │ └── closing_loc: (1,8)-(1,9) = ")"
│ ├── parameters: ∅
diff --git a/test/prism/snapshots/whitequark/endless_comparison_method.txt b/test/prism/snapshots/whitequark/endless_comparison_method.txt
index fcf721823a..7104b23494 100644
--- a/test/prism/snapshots/whitequark/endless_comparison_method.txt
+++ b/test/prism/snapshots/whitequark/endless_comparison_method.txt
@@ -22,6 +22,7 @@
│ │ @ StatementsNode (location: (1,16)-(1,28))
│ │ └── body: (length: 1)
│ │ └── @ CallNode (location: (1,16)-(1,28))
+ │ │ ├── flags: variable_call
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
│ │ ├── name: :do_something
@@ -29,8 +30,7 @@
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
- │ │ ├── block: ∅
- │ │ └── flags: variable_call
+ │ │ └── block: ∅
│ ├── locals: [:other]
│ ├── locals_body_index: 1
│ ├── def_keyword_loc: (1,0)-(1,3) = "def"
@@ -58,6 +58,7 @@
│ │ @ StatementsNode (location: (3,16)-(3,28))
│ │ └── body: (length: 1)
│ │ └── @ CallNode (location: (3,16)-(3,28))
+ │ │ ├── flags: variable_call
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
│ │ ├── name: :do_something
@@ -65,8 +66,7 @@
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
- │ │ ├── block: ∅
- │ │ └── flags: variable_call
+ │ │ └── block: ∅
│ ├── locals: [:other]
│ ├── locals_body_index: 1
│ ├── def_keyword_loc: (3,0)-(3,3) = "def"
@@ -94,6 +94,7 @@
│ │ @ StatementsNode (location: (5,16)-(5,28))
│ │ └── body: (length: 1)
│ │ └── @ CallNode (location: (5,16)-(5,28))
+ │ │ ├── flags: variable_call
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
│ │ ├── name: :do_something
@@ -101,8 +102,7 @@
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
- │ │ ├── block: ∅
- │ │ └── flags: variable_call
+ │ │ └── block: ∅
│ ├── locals: [:other]
│ ├── locals_body_index: 1
│ ├── def_keyword_loc: (5,0)-(5,3) = "def"
@@ -130,6 +130,7 @@
│ │ @ StatementsNode (location: (7,16)-(7,28))
│ │ └── body: (length: 1)
│ │ └── @ CallNode (location: (7,16)-(7,28))
+ │ │ ├── flags: variable_call
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
│ │ ├── name: :do_something
@@ -137,8 +138,7 @@
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
- │ │ ├── block: ∅
- │ │ └── flags: variable_call
+ │ │ └── block: ∅
│ ├── locals: [:other]
│ ├── locals_body_index: 1
│ ├── def_keyword_loc: (7,0)-(7,3) = "def"
@@ -166,6 +166,7 @@
│ │ @ StatementsNode (location: (9,17)-(9,29))
│ │ └── body: (length: 1)
│ │ └── @ CallNode (location: (9,17)-(9,29))
+ │ │ ├── flags: variable_call
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
│ │ ├── name: :do_something
@@ -173,8 +174,7 @@
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
- │ │ ├── block: ∅
- │ │ └── flags: variable_call
+ │ │ └── block: ∅
│ ├── locals: [:other]
│ ├── locals_body_index: 1
│ ├── def_keyword_loc: (9,0)-(9,3) = "def"
@@ -202,6 +202,7 @@
│ @ StatementsNode (location: (11,16)-(11,28))
│ └── body: (length: 1)
│ └── @ CallNode (location: (11,16)-(11,28))
+ │ ├── flags: variable_call
│ ├── receiver: ∅
│ ├── call_operator_loc: ∅
│ ├── name: :do_something
@@ -209,8 +210,7 @@
│ ├── opening_loc: ∅
│ ├── arguments: ∅
│ ├── closing_loc: ∅
- │ ├── block: ∅
- │ └── flags: variable_call
+ │ └── block: ∅
├── locals: [:other]
├── locals_body_index: 1
├── def_keyword_loc: (11,0)-(11,3) = "def"
diff --git a/test/prism/snapshots/whitequark/endless_method.txt b/test/prism/snapshots/whitequark/endless_method.txt
index c1dc1dc3d0..20550049ce 100644
--- a/test/prism/snapshots/whitequark/endless_method.txt
+++ b/test/prism/snapshots/whitequark/endless_method.txt
@@ -40,6 +40,7 @@
│ │ @ StatementsNode (location: (3,13)-(3,18))
│ │ └── body: (length: 1)
│ │ └── @ CallNode (location: (3,13)-(3,18))
+ │ │ ├── flags: ∅
│ │ ├── receiver:
│ │ │ @ LocalVariableReadNode (location: (3,13)-(3,14))
│ │ │ ├── name: :x
@@ -50,13 +51,12 @@
│ │ ├── opening_loc: ∅
│ │ ├── arguments:
│ │ │ @ ArgumentsNode (location: (3,17)-(3,18))
- │ │ │ ├── arguments: (length: 1)
- │ │ │ │ └── @ IntegerNode (location: (3,17)-(3,18))
- │ │ │ │ └── flags: decimal
- │ │ │ └── flags: ∅
+ │ │ │ ├── flags: ∅
+ │ │ │ └── arguments: (length: 1)
+ │ │ │ └── @ IntegerNode (location: (3,17)-(3,18))
+ │ │ │ └── flags: decimal
│ │ ├── closing_loc: ∅
- │ │ ├── block: ∅
- │ │ └── flags: ∅
+ │ │ └── block: ∅
│ ├── locals: [:x]
│ ├── locals_body_index: 1
│ ├── def_keyword_loc: (3,0)-(3,3) = "def"
@@ -70,6 +70,7 @@
│ ├── name_loc: (5,8)-(5,11) = "foo"
│ ├── receiver:
│ │ @ CallNode (location: (5,4)-(5,7))
+ │ │ ├── flags: variable_call
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
│ │ ├── name: :obj
@@ -77,8 +78,7 @@
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
- │ │ ├── block: ∅
- │ │ └── flags: variable_call
+ │ │ └── block: ∅
│ ├── parameters: ∅
│ ├── body:
│ │ @ StatementsNode (location: (5,16)-(5,18))
@@ -98,6 +98,7 @@
├── name_loc: (7,8)-(7,11) = "inc"
├── receiver:
│ @ CallNode (location: (7,4)-(7,7))
+ │ ├── flags: variable_call
│ ├── receiver: ∅
│ ├── call_operator_loc: ∅
│ ├── name: :obj
@@ -105,8 +106,7 @@
│ ├── opening_loc: ∅
│ ├── arguments: ∅
│ ├── closing_loc: ∅
- │ ├── block: ∅
- │ └── flags: variable_call
+ │ └── block: ∅
├── parameters:
│ @ ParametersNode (location: (7,12)-(7,13))
│ ├── requireds: (length: 1)
@@ -122,6 +122,7 @@
│ @ StatementsNode (location: (7,17)-(7,22))
│ └── body: (length: 1)
│ └── @ CallNode (location: (7,17)-(7,22))
+ │ ├── flags: ∅
│ ├── receiver:
│ │ @ LocalVariableReadNode (location: (7,17)-(7,18))
│ │ ├── name: :x
@@ -132,13 +133,12 @@
│ ├── opening_loc: ∅
│ ├── arguments:
│ │ @ ArgumentsNode (location: (7,21)-(7,22))
- │ │ ├── arguments: (length: 1)
- │ │ │ └── @ IntegerNode (location: (7,21)-(7,22))
- │ │ │ └── flags: decimal
- │ │ └── flags: ∅
+ │ │ ├── flags: ∅
+ │ │ └── arguments: (length: 1)
+ │ │ └── @ IntegerNode (location: (7,21)-(7,22))
+ │ │ └── flags: decimal
│ ├── closing_loc: ∅
- │ ├── block: ∅
- │ └── flags: ∅
+ │ └── block: ∅
├── locals: [:x]
├── locals_body_index: 1
├── def_keyword_loc: (7,0)-(7,3) = "def"
diff --git a/test/prism/snapshots/whitequark/endless_method_command_syntax.txt b/test/prism/snapshots/whitequark/endless_method_command_syntax.txt
index bf73e06a72..c544e19265 100644
--- a/test/prism/snapshots/whitequark/endless_method_command_syntax.txt
+++ b/test/prism/snapshots/whitequark/endless_method_command_syntax.txt
@@ -12,6 +12,7 @@
│ │ @ StatementsNode (location: (1,10)-(1,22))
│ │ └── body: (length: 1)
│ │ └── @ CallNode (location: (1,10)-(1,22))
+ │ │ ├── flags: ∅
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
│ │ ├── name: :puts
@@ -19,17 +20,16 @@
│ │ ├── opening_loc: ∅
│ │ ├── arguments:
│ │ │ @ ArgumentsNode (location: (1,15)-(1,22))
- │ │ │ ├── arguments: (length: 1)
- │ │ │ │ └── @ StringNode (location: (1,15)-(1,22))
- │ │ │ │ ├── flags: ∅
- │ │ │ │ ├── opening_loc: (1,15)-(1,16) = "\""
- │ │ │ │ ├── content_loc: (1,16)-(1,21) = "Hello"
- │ │ │ │ ├── closing_loc: (1,21)-(1,22) = "\""
- │ │ │ │ └── unescaped: "Hello"
- │ │ │ └── flags: ∅
+ │ │ │ ├── flags: ∅
+ │ │ │ └── arguments: (length: 1)
+ │ │ │ └── @ StringNode (location: (1,15)-(1,22))
+ │ │ │ ├── flags: ∅
+ │ │ │ ├── opening_loc: (1,15)-(1,16) = "\""
+ │ │ │ ├── content_loc: (1,16)-(1,21) = "Hello"
+ │ │ │ ├── closing_loc: (1,21)-(1,22) = "\""
+ │ │ │ └── unescaped: "Hello"
│ │ ├── closing_loc: ∅
- │ │ ├── block: ∅
- │ │ └── flags: ∅
+ │ │ └── block: ∅
│ ├── locals: []
│ ├── locals_body_index: 0
│ ├── def_keyword_loc: (1,0)-(1,3) = "def"
@@ -47,6 +47,7 @@
│ │ @ StatementsNode (location: (3,12)-(3,24))
│ │ └── body: (length: 1)
│ │ └── @ CallNode (location: (3,12)-(3,24))
+ │ │ ├── flags: ∅
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
│ │ ├── name: :puts
@@ -54,17 +55,16 @@
│ │ ├── opening_loc: ∅
│ │ ├── arguments:
│ │ │ @ ArgumentsNode (location: (3,17)-(3,24))
- │ │ │ ├── arguments: (length: 1)
- │ │ │ │ └── @ StringNode (location: (3,17)-(3,24))
- │ │ │ │ ├── flags: ∅
- │ │ │ │ ├── opening_loc: (3,17)-(3,18) = "\""
- │ │ │ │ ├── content_loc: (3,18)-(3,23) = "Hello"
- │ │ │ │ ├── closing_loc: (3,23)-(3,24) = "\""
- │ │ │ │ └── unescaped: "Hello"
- │ │ │ └── flags: ∅
+ │ │ │ ├── flags: ∅
+ │ │ │ └── arguments: (length: 1)
+ │ │ │ └── @ StringNode (location: (3,17)-(3,24))
+ │ │ │ ├── flags: ∅
+ │ │ │ ├── opening_loc: (3,17)-(3,18) = "\""
+ │ │ │ ├── content_loc: (3,18)-(3,23) = "Hello"
+ │ │ │ ├── closing_loc: (3,23)-(3,24) = "\""
+ │ │ │ └── unescaped: "Hello"
│ │ ├── closing_loc: ∅
- │ │ ├── block: ∅
- │ │ └── flags: ∅
+ │ │ └── block: ∅
│ ├── locals: []
│ ├── locals_body_index: 0
│ ├── def_keyword_loc: (3,0)-(3,3) = "def"
@@ -92,6 +92,7 @@
│ │ @ StatementsNode (location: (5,13)-(5,19))
│ │ └── body: (length: 1)
│ │ └── @ CallNode (location: (5,13)-(5,19))
+ │ │ ├── flags: ∅
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
│ │ ├── name: :puts
@@ -99,14 +100,13 @@
│ │ ├── opening_loc: ∅
│ │ ├── arguments:
│ │ │ @ ArgumentsNode (location: (5,18)-(5,19))
- │ │ │ ├── arguments: (length: 1)
- │ │ │ │ └── @ LocalVariableReadNode (location: (5,18)-(5,19))
- │ │ │ │ ├── name: :x
- │ │ │ │ └── depth: 0
- │ │ │ └── flags: ∅
+ │ │ │ ├── flags: ∅
+ │ │ │ └── arguments: (length: 1)
+ │ │ │ └── @ LocalVariableReadNode (location: (5,18)-(5,19))
+ │ │ │ ├── name: :x
+ │ │ │ └── depth: 0
│ │ ├── closing_loc: ∅
- │ │ ├── block: ∅
- │ │ └── flags: ∅
+ │ │ └── block: ∅
│ ├── locals: [:x]
│ ├── locals_body_index: 1
│ ├── def_keyword_loc: (5,0)-(5,3) = "def"
@@ -120,6 +120,7 @@
│ ├── name_loc: (7,8)-(7,11) = "foo"
│ ├── receiver:
│ │ @ CallNode (location: (7,4)-(7,7))
+ │ │ ├── flags: variable_call
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
│ │ ├── name: :obj
@@ -127,13 +128,13 @@
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
- │ │ ├── block: ∅
- │ │ └── flags: variable_call
+ │ │ └── block: ∅
│ ├── parameters: ∅
│ ├── body:
│ │ @ StatementsNode (location: (7,14)-(7,26))
│ │ └── body: (length: 1)
│ │ └── @ CallNode (location: (7,14)-(7,26))
+ │ │ ├── flags: ∅
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
│ │ ├── name: :puts
@@ -141,17 +142,16 @@
│ │ ├── opening_loc: ∅
│ │ ├── arguments:
│ │ │ @ ArgumentsNode (location: (7,19)-(7,26))
- │ │ │ ├── arguments: (length: 1)
- │ │ │ │ └── @ StringNode (location: (7,19)-(7,26))
- │ │ │ │ ├── flags: ∅
- │ │ │ │ ├── opening_loc: (7,19)-(7,20) = "\""
- │ │ │ │ ├── content_loc: (7,20)-(7,25) = "Hello"
- │ │ │ │ ├── closing_loc: (7,25)-(7,26) = "\""
- │ │ │ │ └── unescaped: "Hello"
- │ │ │ └── flags: ∅
+ │ │ │ ├── flags: ∅
+ │ │ │ └── arguments: (length: 1)
+ │ │ │ └── @ StringNode (location: (7,19)-(7,26))
+ │ │ │ ├── flags: ∅
+ │ │ │ ├── opening_loc: (7,19)-(7,20) = "\""
+ │ │ │ ├── content_loc: (7,20)-(7,25) = "Hello"
+ │ │ │ ├── closing_loc: (7,25)-(7,26) = "\""
+ │ │ │ └── unescaped: "Hello"
│ │ ├── closing_loc: ∅
- │ │ ├── block: ∅
- │ │ └── flags: ∅
+ │ │ └── block: ∅
│ ├── locals: []
│ ├── locals_body_index: 0
│ ├── def_keyword_loc: (7,0)-(7,3) = "def"
@@ -165,6 +165,7 @@
│ ├── name_loc: (9,8)-(9,11) = "foo"
│ ├── receiver:
│ │ @ CallNode (location: (9,4)-(9,7))
+ │ │ ├── flags: variable_call
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
│ │ ├── name: :obj
@@ -172,13 +173,13 @@
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
- │ │ ├── block: ∅
- │ │ └── flags: variable_call
+ │ │ └── block: ∅
│ ├── parameters: ∅
│ ├── body:
│ │ @ StatementsNode (location: (9,16)-(9,28))
│ │ └── body: (length: 1)
│ │ └── @ CallNode (location: (9,16)-(9,28))
+ │ │ ├── flags: ∅
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
│ │ ├── name: :puts
@@ -186,17 +187,16 @@
│ │ ├── opening_loc: ∅
│ │ ├── arguments:
│ │ │ @ ArgumentsNode (location: (9,21)-(9,28))
- │ │ │ ├── arguments: (length: 1)
- │ │ │ │ └── @ StringNode (location: (9,21)-(9,28))
- │ │ │ │ ├── flags: ∅
- │ │ │ │ ├── opening_loc: (9,21)-(9,22) = "\""
- │ │ │ │ ├── content_loc: (9,22)-(9,27) = "Hello"
- │ │ │ │ ├── closing_loc: (9,27)-(9,28) = "\""
- │ │ │ │ └── unescaped: "Hello"
- │ │ │ └── flags: ∅
+ │ │ │ ├── flags: ∅
+ │ │ │ └── arguments: (length: 1)
+ │ │ │ └── @ StringNode (location: (9,21)-(9,28))
+ │ │ │ ├── flags: ∅
+ │ │ │ ├── opening_loc: (9,21)-(9,22) = "\""
+ │ │ │ ├── content_loc: (9,22)-(9,27) = "Hello"
+ │ │ │ ├── closing_loc: (9,27)-(9,28) = "\""
+ │ │ │ └── unescaped: "Hello"
│ │ ├── closing_loc: ∅
- │ │ ├── block: ∅
- │ │ └── flags: ∅
+ │ │ └── block: ∅
│ ├── locals: []
│ ├── locals_body_index: 0
│ ├── def_keyword_loc: (9,0)-(9,3) = "def"
@@ -210,6 +210,7 @@
│ ├── name_loc: (11,8)-(11,11) = "foo"
│ ├── receiver:
│ │ @ CallNode (location: (11,4)-(11,7))
+ │ │ ├── flags: variable_call
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
│ │ ├── name: :obj
@@ -217,8 +218,7 @@
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
- │ │ ├── block: ∅
- │ │ └── flags: variable_call
+ │ │ └── block: ∅
│ ├── parameters:
│ │ @ ParametersNode (location: (11,12)-(11,13))
│ │ ├── requireds: (length: 1)
@@ -234,6 +234,7 @@
│ │ @ StatementsNode (location: (11,17)-(11,23))
│ │ └── body: (length: 1)
│ │ └── @ CallNode (location: (11,17)-(11,23))
+ │ │ ├── flags: ∅
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
│ │ ├── name: :puts
@@ -241,14 +242,13 @@
│ │ ├── opening_loc: ∅
│ │ ├── arguments:
│ │ │ @ ArgumentsNode (location: (11,22)-(11,23))
- │ │ │ ├── arguments: (length: 1)
- │ │ │ │ └── @ LocalVariableReadNode (location: (11,22)-(11,23))
- │ │ │ │ ├── name: :x
- │ │ │ │ └── depth: 0
- │ │ │ └── flags: ∅
+ │ │ │ ├── flags: ∅
+ │ │ │ └── arguments: (length: 1)
+ │ │ │ └── @ LocalVariableReadNode (location: (11,22)-(11,23))
+ │ │ │ ├── name: :x
+ │ │ │ └── depth: 0
│ │ ├── closing_loc: ∅
- │ │ ├── block: ∅
- │ │ └── flags: ∅
+ │ │ └── block: ∅
│ ├── locals: [:x]
│ ├── locals_body_index: 1
│ ├── def_keyword_loc: (11,0)-(11,3) = "def"
@@ -278,6 +278,7 @@
│ │ └── @ RescueModifierNode (location: (13,17)-(13,60))
│ │ ├── expression:
│ │ │ @ CallNode (location: (13,17)-(13,37))
+ │ │ │ ├── flags: ∅
│ │ │ ├── receiver: ∅
│ │ │ ├── call_operator_loc: ∅
│ │ │ ├── name: :raise
@@ -285,17 +286,16 @@
│ │ │ ├── opening_loc: ∅
│ │ │ ├── arguments:
│ │ │ │ @ ArgumentsNode (location: (13,23)-(13,37))
- │ │ │ │ ├── arguments: (length: 1)
- │ │ │ │ │ └── @ StringNode (location: (13,23)-(13,37))
- │ │ │ │ │ ├── flags: ∅
- │ │ │ │ │ ├── opening_loc: (13,23)-(13,24) = "\""
- │ │ │ │ │ ├── content_loc: (13,24)-(13,36) = "to be caught"
- │ │ │ │ │ ├── closing_loc: (13,36)-(13,37) = "\""
- │ │ │ │ │ └── unescaped: "to be caught"
- │ │ │ │ └── flags: ∅
+ │ │ │ │ ├── flags: ∅
+ │ │ │ │ └── arguments: (length: 1)
+ │ │ │ │ └── @ StringNode (location: (13,23)-(13,37))
+ │ │ │ │ ├── flags: ∅
+ │ │ │ │ ├── opening_loc: (13,23)-(13,24) = "\""
+ │ │ │ │ ├── content_loc: (13,24)-(13,36) = "to be caught"
+ │ │ │ │ ├── closing_loc: (13,36)-(13,37) = "\""
+ │ │ │ │ └── unescaped: "to be caught"
│ │ │ ├── closing_loc: ∅
- │ │ │ ├── block: ∅
- │ │ │ └── flags: ∅
+ │ │ │ └── block: ∅
│ │ ├── keyword_loc: (13,38)-(13,44) = "rescue"
│ │ └── rescue_expression:
│ │ @ InterpolatedStringNode (location: (13,45)-(13,60))
@@ -347,6 +347,7 @@
│ └── @ RescueModifierNode (location: (15,22)-(15,62))
│ ├── expression:
│ │ @ CallNode (location: (15,22)-(15,42))
+ │ │ ├── flags: ∅
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
│ │ ├── name: :raise
@@ -354,17 +355,16 @@
│ │ ├── opening_loc: ∅
│ │ ├── arguments:
│ │ │ @ ArgumentsNode (location: (15,28)-(15,42))
- │ │ │ ├── arguments: (length: 1)
- │ │ │ │ └── @ StringNode (location: (15,28)-(15,42))
- │ │ │ │ ├── flags: ∅
- │ │ │ │ ├── opening_loc: (15,28)-(15,29) = "\""
- │ │ │ │ ├── content_loc: (15,29)-(15,41) = "to be caught"
- │ │ │ │ ├── closing_loc: (15,41)-(15,42) = "\""
- │ │ │ │ └── unescaped: "to be caught"
- │ │ │ └── flags: ∅
+ │ │ │ ├── flags: ∅
+ │ │ │ └── arguments: (length: 1)
+ │ │ │ └── @ StringNode (location: (15,28)-(15,42))
+ │ │ │ ├── flags: ∅
+ │ │ │ ├── opening_loc: (15,28)-(15,29) = "\""
+ │ │ │ ├── content_loc: (15,29)-(15,41) = "to be caught"
+ │ │ │ ├── closing_loc: (15,41)-(15,42) = "\""
+ │ │ │ └── unescaped: "to be caught"
│ │ ├── closing_loc: ∅
- │ │ ├── block: ∅
- │ │ └── flags: ∅
+ │ │ └── block: ∅
│ ├── keyword_loc: (15,43)-(15,49) = "rescue"
│ └── rescue_expression:
│ @ InterpolatedStringNode (location: (15,50)-(15,62))
diff --git a/test/prism/snapshots/whitequark/endless_method_forwarded_args_legacy.txt b/test/prism/snapshots/whitequark/endless_method_forwarded_args_legacy.txt
index 1450d6294e..f4b3ec941e 100644
--- a/test/prism/snapshots/whitequark/endless_method_forwarded_args_legacy.txt
+++ b/test/prism/snapshots/whitequark/endless_method_forwarded_args_legacy.txt
@@ -21,6 +21,7 @@
│ @ StatementsNode (location: (1,15)-(1,23))
│ └── body: (length: 1)
│ └── @ CallNode (location: (1,15)-(1,23))
+ │ ├── flags: ∅
│ ├── receiver: ∅
│ ├── call_operator_loc: ∅
│ ├── name: :bar
@@ -28,12 +29,11 @@
│ ├── opening_loc: (1,18)-(1,19) = "("
│ ├── arguments:
│ │ @ ArgumentsNode (location: (1,19)-(1,22))
- │ │ ├── arguments: (length: 1)
- │ │ │ └── @ ForwardingArgumentsNode (location: (1,19)-(1,22))
- │ │ └── flags: ∅
+ │ │ ├── flags: ∅
+ │ │ └── arguments: (length: 1)
+ │ │ └── @ ForwardingArgumentsNode (location: (1,19)-(1,22))
│ ├── closing_loc: (1,22)-(1,23) = ")"
- │ ├── block: ∅
- │ └── flags: ∅
+ │ └── block: ∅
├── locals: [:"..."]
├── locals_body_index: 1
├── def_keyword_loc: (1,0)-(1,3) = "def"
diff --git a/test/prism/snapshots/whitequark/ensure.txt b/test/prism/snapshots/whitequark/ensure.txt
index a2fdb4d1ea..9c93109927 100644
--- a/test/prism/snapshots/whitequark/ensure.txt
+++ b/test/prism/snapshots/whitequark/ensure.txt
@@ -9,6 +9,7 @@
│ @ StatementsNode (location: (1,7)-(1,11))
│ └── body: (length: 1)
│ └── @ CallNode (location: (1,7)-(1,11))
+ │ ├── flags: variable_call
│ ├── receiver: ∅
│ ├── call_operator_loc: ∅
│ ├── name: :meth
@@ -16,8 +17,7 @@
│ ├── opening_loc: ∅
│ ├── arguments: ∅
│ ├── closing_loc: ∅
- │ ├── block: ∅
- │ └── flags: variable_call
+ │ └── block: ∅
├── rescue_clause: ∅
├── else_clause: ∅
├── ensure_clause:
@@ -27,6 +27,7 @@
│ │ @ StatementsNode (location: (1,21)-(1,24))
│ │ └── body: (length: 1)
│ │ └── @ CallNode (location: (1,21)-(1,24))
+ │ │ ├── flags: variable_call
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
│ │ ├── name: :bar
@@ -34,7 +35,6 @@
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
- │ │ ├── block: ∅
- │ │ └── flags: variable_call
+ │ │ └── block: ∅
│ └── end_keyword_loc: (1,26)-(1,29) = "end"
└── end_keyword_loc: (1,26)-(1,29) = "end"
diff --git a/test/prism/snapshots/whitequark/for.txt b/test/prism/snapshots/whitequark/for.txt
index 7388fa039b..0f52869838 100644
--- a/test/prism/snapshots/whitequark/for.txt
+++ b/test/prism/snapshots/whitequark/for.txt
@@ -10,6 +10,7 @@
│ │ └── depth: 0
│ ├── collection:
│ │ @ CallNode (location: (1,9)-(1,12))
+ │ │ ├── flags: variable_call
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
│ │ ├── name: :foo
@@ -17,12 +18,12 @@
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
- │ │ ├── block: ∅
- │ │ └── flags: variable_call
+ │ │ └── block: ∅
│ ├── statements:
│ │ @ StatementsNode (location: (1,16)-(1,19))
│ │ └── body: (length: 1)
│ │ └── @ CallNode (location: (1,16)-(1,19))
+ │ │ ├── flags: ∅
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
│ │ ├── name: :p
@@ -30,14 +31,13 @@
│ │ ├── opening_loc: ∅
│ │ ├── arguments:
│ │ │ @ ArgumentsNode (location: (1,18)-(1,19))
- │ │ │ ├── arguments: (length: 1)
- │ │ │ │ └── @ LocalVariableReadNode (location: (1,18)-(1,19))
- │ │ │ │ ├── name: :a
- │ │ │ │ └── depth: 0
- │ │ │ └── flags: ∅
+ │ │ │ ├── flags: ∅
+ │ │ │ └── arguments: (length: 1)
+ │ │ │ └── @ LocalVariableReadNode (location: (1,18)-(1,19))
+ │ │ │ ├── name: :a
+ │ │ │ └── depth: 0
│ │ ├── closing_loc: ∅
- │ │ ├── block: ∅
- │ │ └── flags: ∅
+ │ │ └── block: ∅
│ ├── for_keyword_loc: (1,0)-(1,3) = "for"
│ ├── in_keyword_loc: (1,6)-(1,8) = "in"
│ ├── do_keyword_loc: (1,13)-(1,15) = "do"
@@ -49,6 +49,7 @@
│ └── depth: 0
├── collection:
│ @ CallNode (location: (3,9)-(3,12))
+ │ ├── flags: variable_call
│ ├── receiver: ∅
│ ├── call_operator_loc: ∅
│ ├── name: :foo
@@ -56,12 +57,12 @@
│ ├── opening_loc: ∅
│ ├── arguments: ∅
│ ├── closing_loc: ∅
- │ ├── block: ∅
- │ └── flags: variable_call
+ │ └── block: ∅
├── statements:
│ @ StatementsNode (location: (3,14)-(3,17))
│ └── body: (length: 1)
│ └── @ CallNode (location: (3,14)-(3,17))
+ │ ├── flags: ∅
│ ├── receiver: ∅
│ ├── call_operator_loc: ∅
│ ├── name: :p
@@ -69,14 +70,13 @@
│ ├── opening_loc: ∅
│ ├── arguments:
│ │ @ ArgumentsNode (location: (3,16)-(3,17))
- │ │ ├── arguments: (length: 1)
- │ │ │ └── @ LocalVariableReadNode (location: (3,16)-(3,17))
- │ │ │ ├── name: :a
- │ │ │ └── depth: 0
- │ │ └── flags: ∅
+ │ │ ├── flags: ∅
+ │ │ └── arguments: (length: 1)
+ │ │ └── @ LocalVariableReadNode (location: (3,16)-(3,17))
+ │ │ ├── name: :a
+ │ │ └── depth: 0
│ ├── closing_loc: ∅
- │ ├── block: ∅
- │ └── flags: ∅
+ │ └── block: ∅
├── for_keyword_loc: (3,0)-(3,3) = "for"
├── in_keyword_loc: (3,6)-(3,8) = "in"
├── do_keyword_loc: ∅
diff --git a/test/prism/snapshots/whitequark/for_mlhs.txt b/test/prism/snapshots/whitequark/for_mlhs.txt
index 490177900e..a4b8e3d349 100644
--- a/test/prism/snapshots/whitequark/for_mlhs.txt
+++ b/test/prism/snapshots/whitequark/for_mlhs.txt
@@ -19,6 +19,7 @@
│ └── rparen_loc: ∅
├── collection:
│ @ CallNode (location: (1,12)-(1,15))
+ │ ├── flags: variable_call
│ ├── receiver: ∅
│ ├── call_operator_loc: ∅
│ ├── name: :foo
@@ -26,12 +27,12 @@
│ ├── opening_loc: ∅
│ ├── arguments: ∅
│ ├── closing_loc: ∅
- │ ├── block: ∅
- │ └── flags: variable_call
+ │ └── block: ∅
├── statements:
│ @ StatementsNode (location: (1,17)-(1,23))
│ └── body: (length: 1)
│ └── @ CallNode (location: (1,17)-(1,23))
+ │ ├── flags: ∅
│ ├── receiver: ∅
│ ├── call_operator_loc: ∅
│ ├── name: :p
@@ -39,17 +40,16 @@
│ ├── opening_loc: ∅
│ ├── arguments:
│ │ @ ArgumentsNode (location: (1,19)-(1,23))
- │ │ ├── arguments: (length: 2)
- │ │ │ ├── @ LocalVariableReadNode (location: (1,19)-(1,20))
- │ │ │ │ ├── name: :a
- │ │ │ │ └── depth: 0
- │ │ │ └── @ LocalVariableReadNode (location: (1,22)-(1,23))
- │ │ │ ├── name: :b
- │ │ │ └── depth: 0
- │ │ └── flags: ∅
+ │ │ ├── flags: ∅
+ │ │ └── arguments: (length: 2)
+ │ │ ├── @ LocalVariableReadNode (location: (1,19)-(1,20))
+ │ │ │ ├── name: :a
+ │ │ │ └── depth: 0
+ │ │ └── @ LocalVariableReadNode (location: (1,22)-(1,23))
+ │ │ ├── name: :b
+ │ │ └── depth: 0
│ ├── closing_loc: ∅
- │ ├── block: ∅
- │ └── flags: ∅
+ │ └── block: ∅
├── for_keyword_loc: (1,0)-(1,3) = "for"
├── in_keyword_loc: (1,9)-(1,11) = "in"
├── do_keyword_loc: ∅
diff --git a/test/prism/snapshots/whitequark/forward_arg.txt b/test/prism/snapshots/whitequark/forward_arg.txt
index 620237ac49..3d7c90eed2 100644
--- a/test/prism/snapshots/whitequark/forward_arg.txt
+++ b/test/prism/snapshots/whitequark/forward_arg.txt
@@ -21,6 +21,7 @@
│ @ StatementsNode (location: (1,14)-(1,22))
│ └── body: (length: 1)
│ └── @ CallNode (location: (1,14)-(1,22))
+ │ ├── flags: ∅
│ ├── receiver: ∅
│ ├── call_operator_loc: ∅
│ ├── name: :bar
@@ -28,12 +29,11 @@
│ ├── opening_loc: (1,17)-(1,18) = "("
│ ├── arguments:
│ │ @ ArgumentsNode (location: (1,18)-(1,21))
- │ │ ├── arguments: (length: 1)
- │ │ │ └── @ ForwardingArgumentsNode (location: (1,18)-(1,21))
- │ │ └── flags: ∅
+ │ │ ├── flags: ∅
+ │ │ └── arguments: (length: 1)
+ │ │ └── @ ForwardingArgumentsNode (location: (1,18)-(1,21))
│ ├── closing_loc: (1,21)-(1,22) = ")"
- │ ├── block: ∅
- │ └── flags: ∅
+ │ └── block: ∅
├── locals: [:"..."]
├── locals_body_index: 1
├── def_keyword_loc: (1,0)-(1,3) = "def"
diff --git a/test/prism/snapshots/whitequark/forward_arg_with_open_args.txt b/test/prism/snapshots/whitequark/forward_arg_with_open_args.txt
index 81aeed9804..1a85c80765 100644
--- a/test/prism/snapshots/whitequark/forward_arg_with_open_args.txt
+++ b/test/prism/snapshots/whitequark/forward_arg_with_open_args.txt
@@ -25,6 +25,7 @@
│ │ │ @ StatementsNode (location: (2,2)-(2,10))
│ │ │ └── body: (length: 1)
│ │ │ └── @ CallNode (location: (2,2)-(2,10))
+ │ │ │ ├── flags: ∅
│ │ │ ├── receiver: ∅
│ │ │ ├── call_operator_loc: ∅
│ │ │ ├── name: :bar
@@ -32,12 +33,11 @@
│ │ │ ├── opening_loc: (2,5)-(2,6) = "("
│ │ │ ├── arguments:
│ │ │ │ @ ArgumentsNode (location: (2,6)-(2,9))
- │ │ │ │ ├── arguments: (length: 1)
- │ │ │ │ │ └── @ ForwardingArgumentsNode (location: (2,6)-(2,9))
- │ │ │ │ └── flags: ∅
+ │ │ │ │ ├── flags: ∅
+ │ │ │ │ └── arguments: (length: 1)
+ │ │ │ │ └── @ ForwardingArgumentsNode (location: (2,6)-(2,9))
│ │ │ ├── closing_loc: (2,9)-(2,10) = ")"
- │ │ │ ├── block: ∅
- │ │ │ └── flags: ∅
+ │ │ │ └── block: ∅
│ │ ├── locals: [:"..."]
│ │ ├── locals_body_index: 1
│ │ ├── def_keyword_loc: (1,1)-(1,4) = "def"
@@ -70,6 +70,7 @@
│ │ │ @ StatementsNode (location: (5,14)-(5,22))
│ │ │ └── body: (length: 1)
│ │ │ └── @ CallNode (location: (5,14)-(5,22))
+ │ │ │ ├── flags: ∅
│ │ │ ├── receiver: ∅
│ │ │ ├── call_operator_loc: ∅
│ │ │ ├── name: :bar
@@ -77,12 +78,11 @@
│ │ │ ├── opening_loc: (5,17)-(5,18) = "("
│ │ │ ├── arguments:
│ │ │ │ @ ArgumentsNode (location: (5,18)-(5,21))
- │ │ │ │ ├── arguments: (length: 1)
- │ │ │ │ │ └── @ ForwardingArgumentsNode (location: (5,18)-(5,21))
- │ │ │ │ └── flags: ∅
+ │ │ │ │ ├── flags: ∅
+ │ │ │ │ └── arguments: (length: 1)
+ │ │ │ │ └── @ ForwardingArgumentsNode (location: (5,18)-(5,21))
│ │ │ ├── closing_loc: (5,21)-(5,22) = ")"
- │ │ │ ├── block: ∅
- │ │ │ └── flags: ∅
+ │ │ │ └── block: ∅
│ │ ├── locals: [:"..."]
│ │ ├── locals_body_index: 1
│ │ ├── def_keyword_loc: (5,1)-(5,4) = "def"
@@ -134,6 +134,7 @@
│ │ @ StatementsNode (location: (10,13)-(10,21))
│ │ └── body: (length: 1)
│ │ └── @ CallNode (location: (10,13)-(10,21))
+ │ │ ├── flags: ∅
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
│ │ ├── name: :bar
@@ -141,12 +142,11 @@
│ │ ├── opening_loc: (10,16)-(10,17) = "("
│ │ ├── arguments:
│ │ │ @ ArgumentsNode (location: (10,17)-(10,20))
- │ │ │ ├── arguments: (length: 1)
- │ │ │ │ └── @ ForwardingArgumentsNode (location: (10,17)-(10,20))
- │ │ │ └── flags: ∅
+ │ │ │ ├── flags: ∅
+ │ │ │ └── arguments: (length: 1)
+ │ │ │ └── @ ForwardingArgumentsNode (location: (10,17)-(10,20))
│ │ ├── closing_loc: (10,20)-(10,21) = ")"
- │ │ ├── block: ∅
- │ │ └── flags: ∅
+ │ │ └── block: ∅
│ ├── locals: [:"..."]
│ ├── locals_body_index: 1
│ ├── def_keyword_loc: (10,0)-(10,3) = "def"
@@ -175,6 +175,7 @@
│ │ @ StatementsNode (location: (13,2)-(13,10))
│ │ └── body: (length: 1)
│ │ └── @ CallNode (location: (13,2)-(13,10))
+ │ │ ├── flags: ∅
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
│ │ ├── name: :bar
@@ -182,12 +183,11 @@
│ │ ├── opening_loc: (13,5)-(13,6) = "("
│ │ ├── arguments:
│ │ │ @ ArgumentsNode (location: (13,6)-(13,9))
- │ │ │ ├── arguments: (length: 1)
- │ │ │ │ └── @ ForwardingArgumentsNode (location: (13,6)-(13,9))
- │ │ │ └── flags: ∅
+ │ │ │ ├── flags: ∅
+ │ │ │ └── arguments: (length: 1)
+ │ │ │ └── @ ForwardingArgumentsNode (location: (13,6)-(13,9))
│ │ ├── closing_loc: (13,9)-(13,10) = ")"
- │ │ ├── block: ∅
- │ │ └── flags: ∅
+ │ │ └── block: ∅
│ ├── locals: [:a, :"..."]
│ ├── locals_body_index: 2
│ ├── def_keyword_loc: (12,0)-(12,3) = "def"
@@ -216,6 +216,7 @@
│ │ @ StatementsNode (location: (16,16)-(16,24))
│ │ └── body: (length: 1)
│ │ └── @ CallNode (location: (16,16)-(16,24))
+ │ │ ├── flags: ∅
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
│ │ ├── name: :bar
@@ -223,12 +224,11 @@
│ │ ├── opening_loc: (16,19)-(16,20) = "("
│ │ ├── arguments:
│ │ │ @ ArgumentsNode (location: (16,20)-(16,23))
- │ │ │ ├── arguments: (length: 1)
- │ │ │ │ └── @ ForwardingArgumentsNode (location: (16,20)-(16,23))
- │ │ │ └── flags: ∅
+ │ │ │ ├── flags: ∅
+ │ │ │ └── arguments: (length: 1)
+ │ │ │ └── @ ForwardingArgumentsNode (location: (16,20)-(16,23))
│ │ ├── closing_loc: (16,23)-(16,24) = ")"
- │ │ ├── block: ∅
- │ │ └── flags: ∅
+ │ │ └── block: ∅
│ ├── locals: [:a, :"..."]
│ ├── locals_body_index: 2
│ ├── def_keyword_loc: (16,0)-(16,3) = "def"
@@ -294,6 +294,7 @@
│ │ @ StatementsNode (location: (22,2)-(22,10))
│ │ └── body: (length: 1)
│ │ └── @ CallNode (location: (22,2)-(22,10))
+ │ │ ├── flags: ∅
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
│ │ ├── name: :bar
@@ -301,12 +302,11 @@
│ │ ├── opening_loc: (22,5)-(22,6) = "("
│ │ ├── arguments:
│ │ │ @ ArgumentsNode (location: (22,6)-(22,9))
- │ │ │ ├── arguments: (length: 1)
- │ │ │ │ └── @ ForwardingArgumentsNode (location: (22,6)-(22,9))
- │ │ │ └── flags: ∅
+ │ │ │ ├── flags: ∅
+ │ │ │ └── arguments: (length: 1)
+ │ │ │ └── @ ForwardingArgumentsNode (location: (22,6)-(22,9))
│ │ ├── closing_loc: (22,9)-(22,10) = ")"
- │ │ ├── block: ∅
- │ │ └── flags: ∅
+ │ │ └── block: ∅
│ ├── locals: [:b, :"..."]
│ ├── locals_body_index: 2
│ ├── def_keyword_loc: (21,0)-(21,3) = "def"
@@ -340,6 +340,7 @@
│ │ @ StatementsNode (location: (25,20)-(25,28))
│ │ └── body: (length: 1)
│ │ └── @ CallNode (location: (25,20)-(25,28))
+ │ │ ├── flags: ∅
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
│ │ ├── name: :bar
@@ -347,12 +348,11 @@
│ │ ├── opening_loc: (25,23)-(25,24) = "("
│ │ ├── arguments:
│ │ │ @ ArgumentsNode (location: (25,24)-(25,27))
- │ │ │ ├── arguments: (length: 1)
- │ │ │ │ └── @ ForwardingArgumentsNode (location: (25,24)-(25,27))
- │ │ │ └── flags: ∅
+ │ │ │ ├── flags: ∅
+ │ │ │ └── arguments: (length: 1)
+ │ │ │ └── @ ForwardingArgumentsNode (location: (25,24)-(25,27))
│ │ ├── closing_loc: (25,27)-(25,28) = ")"
- │ │ ├── block: ∅
- │ │ └── flags: ∅
+ │ │ └── block: ∅
│ ├── locals: [:b, :"..."]
│ ├── locals_body_index: 2
│ ├── def_keyword_loc: (25,0)-(25,3) = "def"
@@ -381,6 +381,7 @@
│ @ StatementsNode (location: (27,16)-(27,24))
│ └── body: (length: 1)
│ └── @ CallNode (location: (27,16)-(27,24))
+ │ ├── flags: ∅
│ ├── receiver: ∅
│ ├── call_operator_loc: ∅
│ ├── name: :bar
@@ -388,12 +389,11 @@
│ ├── opening_loc: (27,19)-(27,20) = "("
│ ├── arguments:
│ │ @ ArgumentsNode (location: (27,20)-(27,23))
- │ │ ├── arguments: (length: 1)
- │ │ │ └── @ ForwardingArgumentsNode (location: (27,20)-(27,23))
- │ │ └── flags: ∅
+ │ │ ├── flags: ∅
+ │ │ └── arguments: (length: 1)
+ │ │ └── @ ForwardingArgumentsNode (location: (27,20)-(27,23))
│ ├── closing_loc: (27,23)-(27,24) = ")"
- │ ├── block: ∅
- │ └── flags: ∅
+ │ └── block: ∅
├── locals: [:a, :"..."]
├── locals_body_index: 2
├── def_keyword_loc: (27,0)-(27,3) = "def"
diff --git a/test/prism/snapshots/whitequark/forward_args_legacy.txt b/test/prism/snapshots/whitequark/forward_args_legacy.txt
index e3a4b4e809..8ece72dd9f 100644
--- a/test/prism/snapshots/whitequark/forward_args_legacy.txt
+++ b/test/prism/snapshots/whitequark/forward_args_legacy.txt
@@ -21,6 +21,7 @@
│ │ @ StatementsNode (location: (1,14)-(1,22))
│ │ └── body: (length: 1)
│ │ └── @ CallNode (location: (1,14)-(1,22))
+ │ │ ├── flags: ∅
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
│ │ ├── name: :bar
@@ -28,12 +29,11 @@
│ │ ├── opening_loc: (1,17)-(1,18) = "("
│ │ ├── arguments:
│ │ │ @ ArgumentsNode (location: (1,18)-(1,21))
- │ │ │ ├── arguments: (length: 1)
- │ │ │ │ └── @ ForwardingArgumentsNode (location: (1,18)-(1,21))
- │ │ │ └── flags: ∅
+ │ │ │ ├── flags: ∅
+ │ │ │ └── arguments: (length: 1)
+ │ │ │ └── @ ForwardingArgumentsNode (location: (1,18)-(1,21))
│ │ ├── closing_loc: (1,21)-(1,22) = ")"
- │ │ ├── block: ∅
- │ │ └── flags: ∅
+ │ │ └── block: ∅
│ ├── locals: [:"..."]
│ ├── locals_body_index: 1
│ ├── def_keyword_loc: (1,0)-(1,3) = "def"
@@ -87,9 +87,9 @@
│ ├── lparen_loc: (5,19)-(5,20) = "("
│ ├── arguments:
│ │ @ ArgumentsNode (location: (5,20)-(5,23))
- │ │ ├── arguments: (length: 1)
- │ │ │ └── @ ForwardingArgumentsNode (location: (5,20)-(5,23))
- │ │ └── flags: ∅
+ │ │ ├── flags: ∅
+ │ │ └── arguments: (length: 1)
+ │ │ └── @ ForwardingArgumentsNode (location: (5,20)-(5,23))
│ ├── rparen_loc: (5,23)-(5,24) = ")"
│ └── block: ∅
├── locals: [:"..."]
diff --git a/test/prism/snapshots/whitequark/forwarded_argument_with_kwrestarg.txt b/test/prism/snapshots/whitequark/forwarded_argument_with_kwrestarg.txt
index 78e6eef7c3..ebefd06eda 100644
--- a/test/prism/snapshots/whitequark/forwarded_argument_with_kwrestarg.txt
+++ b/test/prism/snapshots/whitequark/forwarded_argument_with_kwrestarg.txt
@@ -26,6 +26,7 @@
│ @ StatementsNode (location: (1,23)-(1,40))
│ └── body: (length: 1)
│ └── @ CallNode (location: (1,23)-(1,40))
+ │ ├── flags: ∅
│ ├── receiver: ∅
│ ├── call_operator_loc: ∅
│ ├── name: :bar
@@ -33,19 +34,18 @@
│ ├── opening_loc: (1,26)-(1,27) = "("
│ ├── arguments:
│ │ @ ArgumentsNode (location: (1,27)-(1,39))
- │ │ ├── arguments: (length: 2)
- │ │ │ ├── @ LocalVariableReadNode (location: (1,27)-(1,35))
- │ │ │ │ ├── name: :argument
- │ │ │ │ └── depth: 0
- │ │ │ └── @ KeywordHashNode (location: (1,37)-(1,39))
- │ │ │ └── elements: (length: 1)
- │ │ │ └── @ AssocSplatNode (location: (1,37)-(1,39))
- │ │ │ ├── value: ∅
- │ │ │ └── operator_loc: (1,37)-(1,39) = "**"
- │ │ └── flags: contains_keyword_splat
+ │ │ ├── flags: contains_keyword_splat
+ │ │ └── arguments: (length: 2)
+ │ │ ├── @ LocalVariableReadNode (location: (1,27)-(1,35))
+ │ │ │ ├── name: :argument
+ │ │ │ └── depth: 0
+ │ │ └── @ KeywordHashNode (location: (1,37)-(1,39))
+ │ │ └── elements: (length: 1)
+ │ │ └── @ AssocSplatNode (location: (1,37)-(1,39))
+ │ │ ├── value: ∅
+ │ │ └── operator_loc: (1,37)-(1,39) = "**"
│ ├── closing_loc: (1,39)-(1,40) = ")"
- │ ├── block: ∅
- │ └── flags: ∅
+ │ └── block: ∅
├── locals: [:argument, :**]
├── locals_body_index: 2
├── def_keyword_loc: (1,0)-(1,3) = "def"
diff --git a/test/prism/snapshots/whitequark/forwarded_argument_with_restarg.txt b/test/prism/snapshots/whitequark/forwarded_argument_with_restarg.txt
index c41213ba03..c590fa3526 100644
--- a/test/prism/snapshots/whitequark/forwarded_argument_with_restarg.txt
+++ b/test/prism/snapshots/whitequark/forwarded_argument_with_restarg.txt
@@ -26,6 +26,7 @@
│ @ StatementsNode (location: (1,22)-(1,38))
│ └── body: (length: 1)
│ └── @ CallNode (location: (1,22)-(1,38))
+ │ ├── flags: ∅
│ ├── receiver: ∅
│ ├── call_operator_loc: ∅
│ ├── name: :bar
@@ -33,17 +34,16 @@
│ ├── opening_loc: (1,25)-(1,26) = "("
│ ├── arguments:
│ │ @ ArgumentsNode (location: (1,26)-(1,37))
- │ │ ├── arguments: (length: 2)
- │ │ │ ├── @ LocalVariableReadNode (location: (1,26)-(1,34))
- │ │ │ │ ├── name: :argument
- │ │ │ │ └── depth: 0
- │ │ │ └── @ SplatNode (location: (1,36)-(1,37))
- │ │ │ ├── operator_loc: (1,36)-(1,37) = "*"
- │ │ │ └── expression: ∅
- │ │ └── flags: ∅
+ │ │ ├── flags: ∅
+ │ │ └── arguments: (length: 2)
+ │ │ ├── @ LocalVariableReadNode (location: (1,26)-(1,34))
+ │ │ │ ├── name: :argument
+ │ │ │ └── depth: 0
+ │ │ └── @ SplatNode (location: (1,36)-(1,37))
+ │ │ ├── operator_loc: (1,36)-(1,37) = "*"
+ │ │ └── expression: ∅
│ ├── closing_loc: (1,37)-(1,38) = ")"
- │ ├── block: ∅
- │ └── flags: ∅
+ │ └── block: ∅
├── locals: [:argument, :*]
├── locals_body_index: 2
├── def_keyword_loc: (1,0)-(1,3) = "def"
diff --git a/test/prism/snapshots/whitequark/forwarded_kwrestarg.txt b/test/prism/snapshots/whitequark/forwarded_kwrestarg.txt
index e786fe1837..8df571dbdb 100644
--- a/test/prism/snapshots/whitequark/forwarded_kwrestarg.txt
+++ b/test/prism/snapshots/whitequark/forwarded_kwrestarg.txt
@@ -24,6 +24,7 @@
│ @ StatementsNode (location: (1,13)-(1,20))
│ └── body: (length: 1)
│ └── @ CallNode (location: (1,13)-(1,20))
+ │ ├── flags: ∅
│ ├── receiver: ∅
│ ├── call_operator_loc: ∅
│ ├── name: :bar
@@ -31,16 +32,15 @@
│ ├── opening_loc: (1,16)-(1,17) = "("
│ ├── arguments:
│ │ @ ArgumentsNode (location: (1,17)-(1,19))
- │ │ ├── arguments: (length: 1)
- │ │ │ └── @ KeywordHashNode (location: (1,17)-(1,19))
- │ │ │ └── elements: (length: 1)
- │ │ │ └── @ AssocSplatNode (location: (1,17)-(1,19))
- │ │ │ ├── value: ∅
- │ │ │ └── operator_loc: (1,17)-(1,19) = "**"
- │ │ └── flags: contains_keyword_splat
+ │ │ ├── flags: contains_keyword_splat
+ │ │ └── arguments: (length: 1)
+ │ │ └── @ KeywordHashNode (location: (1,17)-(1,19))
+ │ │ └── elements: (length: 1)
+ │ │ └── @ AssocSplatNode (location: (1,17)-(1,19))
+ │ │ ├── value: ∅
+ │ │ └── operator_loc: (1,17)-(1,19) = "**"
│ ├── closing_loc: (1,19)-(1,20) = ")"
- │ ├── block: ∅
- │ └── flags: ∅
+ │ └── block: ∅
├── locals: [:**]
├── locals_body_index: 1
├── def_keyword_loc: (1,0)-(1,3) = "def"
diff --git a/test/prism/snapshots/whitequark/forwarded_kwrestarg_with_additional_kwarg.txt b/test/prism/snapshots/whitequark/forwarded_kwrestarg_with_additional_kwarg.txt
index f3c8e22d47..fbf1d9e8f1 100644
--- a/test/prism/snapshots/whitequark/forwarded_kwrestarg_with_additional_kwarg.txt
+++ b/test/prism/snapshots/whitequark/forwarded_kwrestarg_with_additional_kwarg.txt
@@ -24,6 +24,7 @@
│ @ StatementsNode (location: (1,13)-(1,36))
│ └── body: (length: 1)
│ └── @ CallNode (location: (1,13)-(1,36))
+ │ ├── flags: ∅
│ ├── receiver: ∅
│ ├── call_operator_loc: ∅
│ ├── name: :bar
@@ -31,26 +32,25 @@
│ ├── opening_loc: (1,16)-(1,17) = "("
│ ├── arguments:
│ │ @ ArgumentsNode (location: (1,17)-(1,35))
- │ │ ├── arguments: (length: 1)
- │ │ │ └── @ KeywordHashNode (location: (1,17)-(1,35))
- │ │ │ └── elements: (length: 2)
- │ │ │ ├── @ AssocSplatNode (location: (1,17)-(1,19))
- │ │ │ │ ├── value: ∅
- │ │ │ │ └── operator_loc: (1,17)-(1,19) = "**"
- │ │ │ └── @ AssocNode (location: (1,21)-(1,35))
- │ │ │ ├── key:
- │ │ │ │ @ SymbolNode (location: (1,21)-(1,30))
- │ │ │ │ ├── opening_loc: ∅
- │ │ │ │ ├── value_loc: (1,21)-(1,29) = "from_foo"
- │ │ │ │ ├── closing_loc: (1,29)-(1,30) = ":"
- │ │ │ │ └── unescaped: "from_foo"
- │ │ │ ├── value:
- │ │ │ │ @ TrueNode (location: (1,31)-(1,35))
- │ │ │ └── operator_loc: ∅
- │ │ └── flags: contains_keyword_splat
+ │ │ ├── flags: contains_keyword_splat
+ │ │ └── arguments: (length: 1)
+ │ │ └── @ KeywordHashNode (location: (1,17)-(1,35))
+ │ │ └── elements: (length: 2)
+ │ │ ├── @ AssocSplatNode (location: (1,17)-(1,19))
+ │ │ │ ├── value: ∅
+ │ │ │ └── operator_loc: (1,17)-(1,19) = "**"
+ │ │ └── @ AssocNode (location: (1,21)-(1,35))
+ │ │ ├── key:
+ │ │ │ @ SymbolNode (location: (1,21)-(1,30))
+ │ │ │ ├── opening_loc: ∅
+ │ │ │ ├── value_loc: (1,21)-(1,29) = "from_foo"
+ │ │ │ ├── closing_loc: (1,29)-(1,30) = ":"
+ │ │ │ └── unescaped: "from_foo"
+ │ │ ├── value:
+ │ │ │ @ TrueNode (location: (1,31)-(1,35))
+ │ │ └── operator_loc: ∅
│ ├── closing_loc: (1,35)-(1,36) = ")"
- │ ├── block: ∅
- │ └── flags: ∅
+ │ └── block: ∅
├── locals: [:**]
├── locals_body_index: 1
├── def_keyword_loc: (1,0)-(1,3) = "def"
diff --git a/test/prism/snapshots/whitequark/forwarded_restarg.txt b/test/prism/snapshots/whitequark/forwarded_restarg.txt
index 5e6d0f7c96..bd0352377e 100644
--- a/test/prism/snapshots/whitequark/forwarded_restarg.txt
+++ b/test/prism/snapshots/whitequark/forwarded_restarg.txt
@@ -24,6 +24,7 @@
│ @ StatementsNode (location: (1,12)-(1,18))
│ └── body: (length: 1)
│ └── @ CallNode (location: (1,12)-(1,18))
+ │ ├── flags: ∅
│ ├── receiver: ∅
│ ├── call_operator_loc: ∅
│ ├── name: :bar
@@ -31,14 +32,13 @@
│ ├── opening_loc: (1,15)-(1,16) = "("
│ ├── arguments:
│ │ @ ArgumentsNode (location: (1,16)-(1,17))
- │ │ ├── arguments: (length: 1)
- │ │ │ └── @ SplatNode (location: (1,16)-(1,17))
- │ │ │ ├── operator_loc: (1,16)-(1,17) = "*"
- │ │ │ └── expression: ∅
- │ │ └── flags: ∅
+ │ │ ├── flags: ∅
+ │ │ └── arguments: (length: 1)
+ │ │ └── @ SplatNode (location: (1,16)-(1,17))
+ │ │ ├── operator_loc: (1,16)-(1,17) = "*"
+ │ │ └── expression: ∅
│ ├── closing_loc: (1,17)-(1,18) = ")"
- │ ├── block: ∅
- │ └── flags: ∅
+ │ └── block: ∅
├── locals: [:*]
├── locals_body_index: 1
├── def_keyword_loc: (1,0)-(1,3) = "def"
diff --git a/test/prism/snapshots/whitequark/hash_kwsplat.txt b/test/prism/snapshots/whitequark/hash_kwsplat.txt
index 450393cdba..b9aa76f06f 100644
--- a/test/prism/snapshots/whitequark/hash_kwsplat.txt
+++ b/test/prism/snapshots/whitequark/hash_kwsplat.txt
@@ -20,6 +20,7 @@
│ └── @ AssocSplatNode (location: (1,10)-(1,15))
│ ├── value:
│ │ @ CallNode (location: (1,12)-(1,15))
+ │ │ ├── flags: variable_call
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
│ │ ├── name: :bar
@@ -27,7 +28,6 @@
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
- │ │ ├── block: ∅
- │ │ └── flags: variable_call
+ │ │ └── block: ∅
│ └── operator_loc: (1,10)-(1,12) = "**"
└── closing_loc: (1,16)-(1,17) = "}"
diff --git a/test/prism/snapshots/whitequark/hash_label_end.txt b/test/prism/snapshots/whitequark/hash_label_end.txt
index 0e3a6c69e6..f9d1a40692 100644
--- a/test/prism/snapshots/whitequark/hash_label_end.txt
+++ b/test/prism/snapshots/whitequark/hash_label_end.txt
@@ -4,6 +4,7 @@
@ StatementsNode (location: (1,0)-(5,22))
└── body: (length: 3)
├── @ CallNode (location: (1,0)-(1,12))
+ │ ├── flags: ∅
│ ├── receiver: ∅
│ ├── call_operator_loc: ∅
│ ├── name: :f
@@ -11,44 +12,43 @@
│ ├── opening_loc: (1,1)-(1,2) = "("
│ ├── arguments:
│ │ @ ArgumentsNode (location: (1,2)-(1,11))
- │ │ ├── arguments: (length: 1)
- │ │ │ └── @ IfNode (location: (1,2)-(1,11))
- │ │ │ ├── if_keyword_loc: ∅
- │ │ │ ├── predicate:
- │ │ │ │ @ CallNode (location: (1,2)-(1,3))
- │ │ │ │ ├── receiver: ∅
- │ │ │ │ ├── call_operator_loc: ∅
- │ │ │ │ ├── name: :a
- │ │ │ │ ├── message_loc: (1,2)-(1,3) = "a"
- │ │ │ │ ├── opening_loc: ∅
- │ │ │ │ ├── arguments: ∅
- │ │ │ │ ├── closing_loc: ∅
- │ │ │ │ ├── block: ∅
- │ │ │ │ └── flags: variable_call
- │ │ │ ├── then_keyword_loc: (1,4)-(1,5) = "?"
- │ │ │ ├── statements:
- │ │ │ │ @ StatementsNode (location: (1,6)-(1,9))
- │ │ │ │ └── body: (length: 1)
- │ │ │ │ └── @ StringNode (location: (1,6)-(1,9))
- │ │ │ │ ├── flags: ∅
- │ │ │ │ ├── opening_loc: (1,6)-(1,7) = "\""
- │ │ │ │ ├── content_loc: (1,7)-(1,8) = "a"
- │ │ │ │ ├── closing_loc: (1,8)-(1,9) = "\""
- │ │ │ │ └── unescaped: "a"
- │ │ │ ├── consequent:
- │ │ │ │ @ ElseNode (location: (1,9)-(1,11))
- │ │ │ │ ├── else_keyword_loc: (1,9)-(1,10) = ":"
- │ │ │ │ ├── statements:
- │ │ │ │ │ @ StatementsNode (location: (1,10)-(1,11))
- │ │ │ │ │ └── body: (length: 1)
- │ │ │ │ │ └── @ IntegerNode (location: (1,10)-(1,11))
- │ │ │ │ │ └── flags: decimal
- │ │ │ │ └── end_keyword_loc: ∅
- │ │ │ └── end_keyword_loc: ∅
- │ │ └── flags: ∅
+ │ │ ├── flags: ∅
+ │ │ └── arguments: (length: 1)
+ │ │ └── @ IfNode (location: (1,2)-(1,11))
+ │ │ ├── if_keyword_loc: ∅
+ │ │ ├── predicate:
+ │ │ │ @ CallNode (location: (1,2)-(1,3))
+ │ │ │ ├── flags: variable_call
+ │ │ │ ├── receiver: ∅
+ │ │ │ ├── call_operator_loc: ∅
+ │ │ │ ├── name: :a
+ │ │ │ ├── message_loc: (1,2)-(1,3) = "a"
+ │ │ │ ├── opening_loc: ∅
+ │ │ │ ├── arguments: ∅
+ │ │ │ ├── closing_loc: ∅
+ │ │ │ └── block: ∅
+ │ │ ├── then_keyword_loc: (1,4)-(1,5) = "?"
+ │ │ ├── statements:
+ │ │ │ @ StatementsNode (location: (1,6)-(1,9))
+ │ │ │ └── body: (length: 1)
+ │ │ │ └── @ StringNode (location: (1,6)-(1,9))
+ │ │ │ ├── flags: ∅
+ │ │ │ ├── opening_loc: (1,6)-(1,7) = "\""
+ │ │ │ ├── content_loc: (1,7)-(1,8) = "a"
+ │ │ │ ├── closing_loc: (1,8)-(1,9) = "\""
+ │ │ │ └── unescaped: "a"
+ │ │ ├── consequent:
+ │ │ │ @ ElseNode (location: (1,9)-(1,11))
+ │ │ │ ├── else_keyword_loc: (1,9)-(1,10) = ":"
+ │ │ │ ├── statements:
+ │ │ │ │ @ StatementsNode (location: (1,10)-(1,11))
+ │ │ │ │ └── body: (length: 1)
+ │ │ │ │ └── @ IntegerNode (location: (1,10)-(1,11))
+ │ │ │ │ └── flags: decimal
+ │ │ │ └── end_keyword_loc: ∅
+ │ │ └── end_keyword_loc: ∅
│ ├── closing_loc: (1,11)-(1,12) = ")"
- │ ├── block: ∅
- │ └── flags: ∅
+ │ └── block: ∅
├── @ HashNode (location: (3,0)-(3,12))
│ ├── opening_loc: (3,0)-(3,1) = "{"
│ ├── elements: (length: 1)
diff --git a/test/prism/snapshots/whitequark/hash_pair_value_omission.txt b/test/prism/snapshots/whitequark/hash_pair_value_omission.txt
index 38865c5a6d..ef79ece7a1 100644
--- a/test/prism/snapshots/whitequark/hash_pair_value_omission.txt
+++ b/test/prism/snapshots/whitequark/hash_pair_value_omission.txt
@@ -34,6 +34,7 @@
│ │ │ │ @ ImplicitNode (location: (3,1)-(3,3))
│ │ │ │ └── value:
│ │ │ │ @ CallNode (location: (3,1)-(3,3))
+ │ │ │ │ ├── flags: ∅
│ │ │ │ ├── receiver: ∅
│ │ │ │ ├── call_operator_loc: ∅
│ │ │ │ ├── name: :a
@@ -41,8 +42,7 @@
│ │ │ │ ├── opening_loc: ∅
│ │ │ │ ├── arguments: ∅
│ │ │ │ ├── closing_loc: ∅
- │ │ │ │ ├── block: ∅
- │ │ │ │ └── flags: ∅
+ │ │ │ │ └── block: ∅
│ │ │ └── operator_loc: ∅
│ │ └── @ AssocNode (location: (3,5)-(3,7))
│ │ ├── key:
@@ -55,6 +55,7 @@
│ │ │ @ ImplicitNode (location: (3,5)-(3,7))
│ │ │ └── value:
│ │ │ @ CallNode (location: (3,5)-(3,7))
+ │ │ │ ├── flags: ∅
│ │ │ ├── receiver: ∅
│ │ │ ├── call_operator_loc: ∅
│ │ │ ├── name: :b
@@ -62,8 +63,7 @@
│ │ │ ├── opening_loc: ∅
│ │ │ ├── arguments: ∅
│ │ │ ├── closing_loc: ∅
- │ │ │ ├── block: ∅
- │ │ │ └── flags: ∅
+ │ │ │ └── block: ∅
│ │ └── operator_loc: ∅
│ └── closing_loc: (3,7)-(3,8) = "}"
└── @ HashNode (location: (5,0)-(5,7))
@@ -80,6 +80,7 @@
│ │ @ ImplicitNode (location: (5,1)-(5,6))
│ │ └── value:
│ │ @ CallNode (location: (5,1)-(5,6))
+ │ │ ├── flags: ∅
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
│ │ ├── name: :puts
@@ -87,7 +88,6 @@
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
- │ │ ├── block: ∅
- │ │ └── flags: ∅
+ │ │ └── block: ∅
│ └── operator_loc: ∅
└── closing_loc: (5,6)-(5,7) = "}"
diff --git a/test/prism/snapshots/whitequark/if.txt b/test/prism/snapshots/whitequark/if.txt
index decf911e7b..233e51de23 100644
--- a/test/prism/snapshots/whitequark/if.txt
+++ b/test/prism/snapshots/whitequark/if.txt
@@ -7,6 +7,7 @@
│ ├── if_keyword_loc: (1,0)-(1,2) = "if"
│ ├── predicate:
│ │ @ CallNode (location: (1,3)-(1,6))
+ │ │ ├── flags: variable_call
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
│ │ ├── name: :foo
@@ -14,13 +15,13 @@
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
- │ │ ├── block: ∅
- │ │ └── flags: variable_call
+ │ │ └── block: ∅
│ ├── then_keyword_loc: (1,7)-(1,11) = "then"
│ ├── statements:
│ │ @ StatementsNode (location: (1,12)-(1,15))
│ │ └── body: (length: 1)
│ │ └── @ CallNode (location: (1,12)-(1,15))
+ │ │ ├── flags: variable_call
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
│ │ ├── name: :bar
@@ -28,14 +29,14 @@
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
- │ │ ├── block: ∅
- │ │ └── flags: variable_call
+ │ │ └── block: ∅
│ ├── consequent: ∅
│ └── end_keyword_loc: (1,17)-(1,20) = "end"
└── @ IfNode (location: (3,0)-(3,16))
├── if_keyword_loc: (3,0)-(3,2) = "if"
├── predicate:
│ @ CallNode (location: (3,3)-(3,6))
+ │ ├── flags: variable_call
│ ├── receiver: ∅
│ ├── call_operator_loc: ∅
│ ├── name: :foo
@@ -43,13 +44,13 @@
│ ├── opening_loc: ∅
│ ├── arguments: ∅
│ ├── closing_loc: ∅
- │ ├── block: ∅
- │ └── flags: variable_call
+ │ └── block: ∅
├── then_keyword_loc: ∅
├── statements:
│ @ StatementsNode (location: (3,8)-(3,11))
│ └── body: (length: 1)
│ └── @ CallNode (location: (3,8)-(3,11))
+ │ ├── flags: variable_call
│ ├── receiver: ∅
│ ├── call_operator_loc: ∅
│ ├── name: :bar
@@ -57,7 +58,6 @@
│ ├── opening_loc: ∅
│ ├── arguments: ∅
│ ├── closing_loc: ∅
- │ ├── block: ∅
- │ └── flags: variable_call
+ │ └── block: ∅
├── consequent: ∅
└── end_keyword_loc: (3,13)-(3,16) = "end"
diff --git a/test/prism/snapshots/whitequark/if_else.txt b/test/prism/snapshots/whitequark/if_else.txt
index eb69a25eed..3e83f32c87 100644
--- a/test/prism/snapshots/whitequark/if_else.txt
+++ b/test/prism/snapshots/whitequark/if_else.txt
@@ -7,6 +7,7 @@
│ ├── if_keyword_loc: (1,0)-(1,2) = "if"
│ ├── predicate:
│ │ @ CallNode (location: (1,3)-(1,6))
+ │ │ ├── flags: variable_call
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
│ │ ├── name: :foo
@@ -14,13 +15,13 @@
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
- │ │ ├── block: ∅
- │ │ └── flags: variable_call
+ │ │ └── block: ∅
│ ├── then_keyword_loc: (1,7)-(1,11) = "then"
│ ├── statements:
│ │ @ StatementsNode (location: (1,12)-(1,15))
│ │ └── body: (length: 1)
│ │ └── @ CallNode (location: (1,12)-(1,15))
+ │ │ ├── flags: variable_call
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
│ │ ├── name: :bar
@@ -28,8 +29,7 @@
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
- │ │ ├── block: ∅
- │ │ └── flags: variable_call
+ │ │ └── block: ∅
│ ├── consequent:
│ │ @ ElseNode (location: (1,17)-(1,30))
│ │ ├── else_keyword_loc: (1,17)-(1,21) = "else"
@@ -37,6 +37,7 @@
│ │ │ @ StatementsNode (location: (1,22)-(1,25))
│ │ │ └── body: (length: 1)
│ │ │ └── @ CallNode (location: (1,22)-(1,25))
+ │ │ │ ├── flags: variable_call
│ │ │ ├── receiver: ∅
│ │ │ ├── call_operator_loc: ∅
│ │ │ ├── name: :baz
@@ -44,14 +45,14 @@
│ │ │ ├── opening_loc: ∅
│ │ │ ├── arguments: ∅
│ │ │ ├── closing_loc: ∅
- │ │ │ ├── block: ∅
- │ │ │ └── flags: variable_call
+ │ │ │ └── block: ∅
│ │ └── end_keyword_loc: (1,27)-(1,30) = "end"
│ └── end_keyword_loc: (1,27)-(1,30) = "end"
└── @ IfNode (location: (3,0)-(3,26))
├── if_keyword_loc: (3,0)-(3,2) = "if"
├── predicate:
│ @ CallNode (location: (3,3)-(3,6))
+ │ ├── flags: variable_call
│ ├── receiver: ∅
│ ├── call_operator_loc: ∅
│ ├── name: :foo
@@ -59,13 +60,13 @@
│ ├── opening_loc: ∅
│ ├── arguments: ∅
│ ├── closing_loc: ∅
- │ ├── block: ∅
- │ └── flags: variable_call
+ │ └── block: ∅
├── then_keyword_loc: ∅
├── statements:
│ @ StatementsNode (location: (3,8)-(3,11))
│ └── body: (length: 1)
│ └── @ CallNode (location: (3,8)-(3,11))
+ │ ├── flags: variable_call
│ ├── receiver: ∅
│ ├── call_operator_loc: ∅
│ ├── name: :bar
@@ -73,8 +74,7 @@
│ ├── opening_loc: ∅
│ ├── arguments: ∅
│ ├── closing_loc: ∅
- │ ├── block: ∅
- │ └── flags: variable_call
+ │ └── block: ∅
├── consequent:
│ @ ElseNode (location: (3,13)-(3,26))
│ ├── else_keyword_loc: (3,13)-(3,17) = "else"
@@ -82,6 +82,7 @@
│ │ @ StatementsNode (location: (3,18)-(3,21))
│ │ └── body: (length: 1)
│ │ └── @ CallNode (location: (3,18)-(3,21))
+ │ │ ├── flags: variable_call
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
│ │ ├── name: :baz
@@ -89,7 +90,6 @@
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
- │ │ ├── block: ∅
- │ │ └── flags: variable_call
+ │ │ └── block: ∅
│ └── end_keyword_loc: (3,23)-(3,26) = "end"
└── end_keyword_loc: (3,23)-(3,26) = "end"
diff --git a/test/prism/snapshots/whitequark/if_elsif.txt b/test/prism/snapshots/whitequark/if_elsif.txt
index 39cf1d6fef..50f79966d2 100644
--- a/test/prism/snapshots/whitequark/if_elsif.txt
+++ b/test/prism/snapshots/whitequark/if_elsif.txt
@@ -7,6 +7,7 @@
├── if_keyword_loc: (1,0)-(1,2) = "if"
├── predicate:
│ @ CallNode (location: (1,3)-(1,6))
+ │ ├── flags: variable_call
│ ├── receiver: ∅
│ ├── call_operator_loc: ∅
│ ├── name: :foo
@@ -14,13 +15,13 @@
│ ├── opening_loc: ∅
│ ├── arguments: ∅
│ ├── closing_loc: ∅
- │ ├── block: ∅
- │ └── flags: variable_call
+ │ └── block: ∅
├── then_keyword_loc: ∅
├── statements:
│ @ StatementsNode (location: (1,8)-(1,11))
│ └── body: (length: 1)
│ └── @ CallNode (location: (1,8)-(1,11))
+ │ ├── flags: variable_call
│ ├── receiver: ∅
│ ├── call_operator_loc: ∅
│ ├── name: :bar
@@ -28,13 +29,13 @@
│ ├── opening_loc: ∅
│ ├── arguments: ∅
│ ├── closing_loc: ∅
- │ ├── block: ∅
- │ └── flags: variable_call
+ │ └── block: ∅
├── consequent:
│ @ IfNode (location: (1,13)-(1,38))
│ ├── if_keyword_loc: (1,13)-(1,18) = "elsif"
│ ├── predicate:
│ │ @ CallNode (location: (1,19)-(1,22))
+ │ │ ├── flags: variable_call
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
│ │ ├── name: :baz
@@ -42,8 +43,7 @@
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
- │ │ ├── block: ∅
- │ │ └── flags: variable_call
+ │ │ └── block: ∅
│ ├── then_keyword_loc: ∅
│ ├── statements:
│ │ @ StatementsNode (location: (1,24)-(1,25))
diff --git a/test/prism/snapshots/whitequark/if_masgn__24.txt b/test/prism/snapshots/whitequark/if_masgn__24.txt
index 7866dff924..4c01b8fee6 100644
--- a/test/prism/snapshots/whitequark/if_masgn__24.txt
+++ b/test/prism/snapshots/whitequark/if_masgn__24.txt
@@ -25,6 +25,7 @@
│ │ ├── operator_loc: (1,9)-(1,10) = "="
│ │ └── value:
│ │ @ CallNode (location: (1,11)-(1,14))
+ │ │ ├── flags: variable_call
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
│ │ ├── name: :foo
@@ -32,8 +33,7 @@
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
- │ │ ├── block: ∅
- │ │ └── flags: variable_call
+ │ │ └── block: ∅
│ ├── opening_loc: (1,3)-(1,4) = "("
│ └── closing_loc: (1,14)-(1,15) = ")"
├── then_keyword_loc: ∅
diff --git a/test/prism/snapshots/whitequark/if_mod.txt b/test/prism/snapshots/whitequark/if_mod.txt
index 708e475e21..58ad3c29fd 100644
--- a/test/prism/snapshots/whitequark/if_mod.txt
+++ b/test/prism/snapshots/whitequark/if_mod.txt
@@ -7,6 +7,7 @@
├── if_keyword_loc: (1,4)-(1,6) = "if"
├── predicate:
│ @ CallNode (location: (1,7)-(1,10))
+ │ ├── flags: variable_call
│ ├── receiver: ∅
│ ├── call_operator_loc: ∅
│ ├── name: :foo
@@ -14,13 +15,13 @@
│ ├── opening_loc: ∅
│ ├── arguments: ∅
│ ├── closing_loc: ∅
- │ ├── block: ∅
- │ └── flags: variable_call
+ │ └── block: ∅
├── then_keyword_loc: ∅
├── statements:
│ @ StatementsNode (location: (1,0)-(1,3))
│ └── body: (length: 1)
│ └── @ CallNode (location: (1,0)-(1,3))
+ │ ├── flags: variable_call
│ ├── receiver: ∅
│ ├── call_operator_loc: ∅
│ ├── name: :bar
@@ -28,7 +29,6 @@
│ ├── opening_loc: ∅
│ ├── arguments: ∅
│ ├── closing_loc: ∅
- │ ├── block: ∅
- │ └── flags: variable_call
+ │ └── block: ∅
├── consequent: ∅
└── end_keyword_loc: ∅
diff --git a/test/prism/snapshots/whitequark/if_nl_then.txt b/test/prism/snapshots/whitequark/if_nl_then.txt
index c38be5ebd2..befe49ca45 100644
--- a/test/prism/snapshots/whitequark/if_nl_then.txt
+++ b/test/prism/snapshots/whitequark/if_nl_then.txt
@@ -7,6 +7,7 @@
├── if_keyword_loc: (1,0)-(1,2) = "if"
├── predicate:
│ @ CallNode (location: (1,3)-(1,6))
+ │ ├── flags: variable_call
│ ├── receiver: ∅
│ ├── call_operator_loc: ∅
│ ├── name: :foo
@@ -14,13 +15,13 @@
│ ├── opening_loc: ∅
│ ├── arguments: ∅
│ ├── closing_loc: ∅
- │ ├── block: ∅
- │ └── flags: variable_call
+ │ └── block: ∅
├── then_keyword_loc: (2,0)-(2,4) = "then"
├── statements:
│ @ StatementsNode (location: (2,5)-(2,8))
│ └── body: (length: 1)
│ └── @ CallNode (location: (2,5)-(2,8))
+ │ ├── flags: variable_call
│ ├── receiver: ∅
│ ├── call_operator_loc: ∅
│ ├── name: :bar
@@ -28,7 +29,6 @@
│ ├── opening_loc: ∅
│ ├── arguments: ∅
│ ├── closing_loc: ∅
- │ ├── block: ∅
- │ └── flags: variable_call
+ │ └── block: ∅
├── consequent: ∅
└── end_keyword_loc: (2,9)-(2,12) = "end"
diff --git a/test/prism/snapshots/whitequark/if_while_after_class__since_32.txt b/test/prism/snapshots/whitequark/if_while_after_class__since_32.txt
index daafa27255..0a2982ed35 100644
--- a/test/prism/snapshots/whitequark/if_while_after_class__since_32.txt
+++ b/test/prism/snapshots/whitequark/if_while_after_class__since_32.txt
@@ -37,22 +37,22 @@
│ │ @ ConstantPathNode (location: (3,6)-(3,42))
│ │ ├── parent:
│ │ │ @ WhileNode (location: (3,6)-(3,34))
+ │ │ │ ├── flags: ∅
│ │ │ ├── keyword_loc: (3,6)-(3,11) = "while"
│ │ │ ├── closing_loc: (3,31)-(3,34) = "end"
│ │ │ ├── predicate:
│ │ │ │ @ TrueNode (location: (3,12)-(3,16))
- │ │ │ ├── statements:
- │ │ │ │ @ StatementsNode (location: (3,18)-(3,30))
- │ │ │ │ └── body: (length: 1)
- │ │ │ │ └── @ BreakNode (location: (3,18)-(3,30))
- │ │ │ │ ├── arguments:
- │ │ │ │ │ @ ArgumentsNode (location: (3,24)-(3,30))
- │ │ │ │ │ ├── arguments: (length: 1)
- │ │ │ │ │ │ └── @ ConstantReadNode (location: (3,24)-(3,30))
- │ │ │ │ │ │ └── name: :Object
- │ │ │ │ │ └── flags: ∅
- │ │ │ │ └── keyword_loc: (3,18)-(3,23) = "break"
- │ │ │ └── flags: ∅
+ │ │ │ └── statements:
+ │ │ │ @ StatementsNode (location: (3,18)-(3,30))
+ │ │ │ └── body: (length: 1)
+ │ │ │ └── @ BreakNode (location: (3,18)-(3,30))
+ │ │ │ ├── arguments:
+ │ │ │ │ @ ArgumentsNode (location: (3,24)-(3,30))
+ │ │ │ │ ├── flags: ∅
+ │ │ │ │ └── arguments: (length: 1)
+ │ │ │ │ └── @ ConstantReadNode (location: (3,24)-(3,30))
+ │ │ │ │ └── name: :Object
+ │ │ │ └── keyword_loc: (3,18)-(3,23) = "break"
│ │ ├── child:
│ │ │ @ ConstantReadNode (location: (3,36)-(3,42))
│ │ │ └── name: :Kernel
@@ -94,22 +94,22 @@
│ @ ConstantPathNode (location: (7,7)-(7,43))
│ ├── parent:
│ │ @ WhileNode (location: (7,7)-(7,35))
+ │ │ ├── flags: ∅
│ │ ├── keyword_loc: (7,7)-(7,12) = "while"
│ │ ├── closing_loc: (7,32)-(7,35) = "end"
│ │ ├── predicate:
│ │ │ @ TrueNode (location: (7,13)-(7,17))
- │ │ ├── statements:
- │ │ │ @ StatementsNode (location: (7,19)-(7,31))
- │ │ │ └── body: (length: 1)
- │ │ │ └── @ BreakNode (location: (7,19)-(7,31))
- │ │ │ ├── arguments:
- │ │ │ │ @ ArgumentsNode (location: (7,25)-(7,31))
- │ │ │ │ ├── arguments: (length: 1)
- │ │ │ │ │ └── @ ConstantReadNode (location: (7,25)-(7,31))
- │ │ │ │ │ └── name: :Object
- │ │ │ │ └── flags: ∅
- │ │ │ └── keyword_loc: (7,19)-(7,24) = "break"
- │ │ └── flags: ∅
+ │ │ └── statements:
+ │ │ @ StatementsNode (location: (7,19)-(7,31))
+ │ │ └── body: (length: 1)
+ │ │ └── @ BreakNode (location: (7,19)-(7,31))
+ │ │ ├── arguments:
+ │ │ │ @ ArgumentsNode (location: (7,25)-(7,31))
+ │ │ │ ├── flags: ∅
+ │ │ │ └── arguments: (length: 1)
+ │ │ │ └── @ ConstantReadNode (location: (7,25)-(7,31))
+ │ │ │ └── name: :Object
+ │ │ └── keyword_loc: (7,19)-(7,24) = "break"
│ ├── child:
│ │ @ ConstantReadNode (location: (7,37)-(7,43))
│ │ └── name: :Kernel
diff --git a/test/prism/snapshots/whitequark/interp_digit_var.txt b/test/prism/snapshots/whitequark/interp_digit_var.txt
index d493027e44..de81a942e7 100644
--- a/test/prism/snapshots/whitequark/interp_digit_var.txt
+++ b/test/prism/snapshots/whitequark/interp_digit_var.txt
@@ -16,6 +16,7 @@
│ ├── closing_loc: (3,6)-(3,7) = "\""
│ └── unescaped: "\#@@1"
├── @ ArrayNode (location: (5,1)-(5,8))
+ │ ├── flags: ∅
│ ├── elements: (length: 1)
│ │ └── @ SymbolNode (location: (5,4)-(5,7))
│ │ ├── opening_loc: ∅
@@ -23,9 +24,9 @@
│ │ ├── closing_loc: ∅
│ │ └── unescaped: "\#@1"
│ ├── opening_loc: (5,1)-(5,4) = "%I["
- │ ├── closing_loc: (5,7)-(5,8) = "]"
- │ └── flags: ∅
+ │ └── closing_loc: (5,7)-(5,8) = "]"
├── @ ArrayNode (location: (7,1)-(7,9))
+ │ ├── flags: ∅
│ ├── elements: (length: 1)
│ │ └── @ SymbolNode (location: (7,4)-(7,8))
│ │ ├── opening_loc: ∅
@@ -33,8 +34,7 @@
│ │ ├── closing_loc: ∅
│ │ └── unescaped: "\#@@1"
│ ├── opening_loc: (7,1)-(7,4) = "%I["
- │ ├── closing_loc: (7,8)-(7,9) = "]"
- │ └── flags: ∅
+ │ └── closing_loc: (7,8)-(7,9) = "]"
├── @ StringNode (location: (9,1)-(9,8))
│ ├── flags: ∅
│ ├── opening_loc: (9,1)-(9,4) = "%Q{"
@@ -48,6 +48,7 @@
│ ├── closing_loc: (11,8)-(11,9) = "}"
│ └── unescaped: "\#@@1"
├── @ ArrayNode (location: (13,1)-(13,8))
+ │ ├── flags: ∅
│ ├── elements: (length: 1)
│ │ └── @ StringNode (location: (13,4)-(13,7))
│ │ ├── flags: ∅
@@ -56,9 +57,9 @@
│ │ ├── closing_loc: ∅
│ │ └── unescaped: "\#@1"
│ ├── opening_loc: (13,1)-(13,4) = "%W["
- │ ├── closing_loc: (13,7)-(13,8) = "]"
- │ └── flags: ∅
+ │ └── closing_loc: (13,7)-(13,8) = "]"
├── @ ArrayNode (location: (15,1)-(15,9))
+ │ ├── flags: ∅
│ ├── elements: (length: 1)
│ │ └── @ StringNode (location: (15,4)-(15,8))
│ │ ├── flags: ∅
@@ -67,9 +68,9 @@
│ │ ├── closing_loc: ∅
│ │ └── unescaped: "\#@@1"
│ ├── opening_loc: (15,1)-(15,4) = "%W["
- │ ├── closing_loc: (15,8)-(15,9) = "]"
- │ └── flags: ∅
+ │ └── closing_loc: (15,8)-(15,9) = "]"
├── @ ArrayNode (location: (17,1)-(17,10))
+ │ ├── flags: ∅
│ ├── elements: (length: 1)
│ │ └── @ SymbolNode (location: (17,5)-(17,8))
│ │ ├── opening_loc: ∅
@@ -77,9 +78,9 @@
│ │ ├── closing_loc: ∅
│ │ └── unescaped: "\#@1"
│ ├── opening_loc: (17,1)-(17,4) = "%i["
- │ ├── closing_loc: (17,9)-(17,10) = "]"
- │ └── flags: ∅
+ │ └── closing_loc: (17,9)-(17,10) = "]"
├── @ ArrayNode (location: (19,1)-(19,11))
+ │ ├── flags: ∅
│ ├── elements: (length: 1)
│ │ └── @ SymbolNode (location: (19,5)-(19,9))
│ │ ├── opening_loc: ∅
@@ -87,8 +88,7 @@
│ │ ├── closing_loc: ∅
│ │ └── unescaped: "\#@@1"
│ ├── opening_loc: (19,1)-(19,4) = "%i["
- │ ├── closing_loc: (19,10)-(19,11) = "]"
- │ └── flags: ∅
+ │ └── closing_loc: (19,10)-(19,11) = "]"
├── @ StringNode (location: (21,1)-(21,8))
│ ├── flags: ∅
│ ├── opening_loc: (21,1)-(21,4) = "%q{"
@@ -102,17 +102,17 @@
│ ├── closing_loc: (23,8)-(23,9) = "}"
│ └── unescaped: "\#@@1"
├── @ RegularExpressionNode (location: (25,1)-(25,8))
+ │ ├── flags: ∅
│ ├── opening_loc: (25,1)-(25,4) = "%r{"
│ ├── content_loc: (25,4)-(25,7) = "\#@1"
│ ├── closing_loc: (25,7)-(25,8) = "}"
- │ ├── unescaped: "\#@1"
- │ └── flags: ∅
+ │ └── unescaped: "\#@1"
├── @ RegularExpressionNode (location: (27,1)-(27,9))
+ │ ├── flags: ∅
│ ├── opening_loc: (27,1)-(27,4) = "%r{"
│ ├── content_loc: (27,4)-(27,8) = "\#@@1"
│ ├── closing_loc: (27,8)-(27,9) = "}"
- │ ├── unescaped: "\#@@1"
- │ └── flags: ∅
+ │ └── unescaped: "\#@@1"
├── @ SymbolNode (location: (29,1)-(29,8))
│ ├── opening_loc: (29,1)-(29,4) = "%s{"
│ ├── value_loc: (29,4)-(29,7) = "\#@1"
@@ -124,6 +124,7 @@
│ ├── closing_loc: (31,8)-(31,9) = "}"
│ └── unescaped: "\#@@1"
├── @ ArrayNode (location: (33,1)-(33,10))
+ │ ├── flags: ∅
│ ├── elements: (length: 1)
│ │ └── @ StringNode (location: (33,5)-(33,8))
│ │ ├── flags: ∅
@@ -132,9 +133,9 @@
│ │ ├── closing_loc: ∅
│ │ └── unescaped: "\#@1"
│ ├── opening_loc: (33,1)-(33,4) = "%w["
- │ ├── closing_loc: (33,9)-(33,10) = "]"
- │ └── flags: ∅
+ │ └── closing_loc: (33,9)-(33,10) = "]"
├── @ ArrayNode (location: (35,1)-(35,11))
+ │ ├── flags: ∅
│ ├── elements: (length: 1)
│ │ └── @ StringNode (location: (35,5)-(35,9))
│ │ ├── flags: ∅
@@ -143,8 +144,7 @@
│ │ ├── closing_loc: ∅
│ │ └── unescaped: "\#@@1"
│ ├── opening_loc: (35,1)-(35,4) = "%w["
- │ ├── closing_loc: (35,10)-(35,11) = "]"
- │ └── flags: ∅
+ │ └── closing_loc: (35,10)-(35,11) = "]"
├── @ XStringNode (location: (37,1)-(37,8))
│ ├── flags: ∅
│ ├── opening_loc: (37,1)-(37,4) = "%x{"
@@ -182,17 +182,17 @@
│ ├── closing_loc: (47,6)-(47,7) = "'"
│ └── unescaped: "\#@@1"
├── @ RegularExpressionNode (location: (49,1)-(49,6))
+ │ ├── flags: ∅
│ ├── opening_loc: (49,1)-(49,2) = "/"
│ ├── content_loc: (49,2)-(49,5) = "\#@1"
│ ├── closing_loc: (49,5)-(49,6) = "/"
- │ ├── unescaped: "\#@1"
- │ └── flags: ∅
+ │ └── unescaped: "\#@1"
├── @ RegularExpressionNode (location: (51,1)-(51,7))
+ │ ├── flags: ∅
│ ├── opening_loc: (51,1)-(51,2) = "/"
│ ├── content_loc: (51,2)-(51,6) = "\#@@1"
│ ├── closing_loc: (51,6)-(51,7) = "/"
- │ ├── unescaped: "\#@@1"
- │ └── flags: ∅
+ │ └── unescaped: "\#@@1"
├── @ SymbolNode (location: (53,1)-(53,7))
│ ├── opening_loc: (53,1)-(53,3) = ":\""
│ ├── value_loc: (53,3)-(53,6) = "\#@1"
diff --git a/test/prism/snapshots/whitequark/keyword_argument_omission.txt b/test/prism/snapshots/whitequark/keyword_argument_omission.txt
index cb57776005..7edc4b1aa6 100644
--- a/test/prism/snapshots/whitequark/keyword_argument_omission.txt
+++ b/test/prism/snapshots/whitequark/keyword_argument_omission.txt
@@ -4,6 +4,7 @@
@ StatementsNode (location: (1,0)-(1,11))
└── body: (length: 1)
└── @ CallNode (location: (1,0)-(1,11))
+ ├── flags: ∅
├── receiver: ∅
├── call_operator_loc: ∅
├── name: :foo
@@ -11,52 +12,51 @@
├── opening_loc: (1,3)-(1,4) = "("
├── arguments:
│ @ ArgumentsNode (location: (1,4)-(1,10))
- │ ├── arguments: (length: 1)
- │ │ └── @ KeywordHashNode (location: (1,4)-(1,10))
- │ │ └── elements: (length: 2)
- │ │ ├── @ AssocNode (location: (1,4)-(1,6))
- │ │ │ ├── key:
- │ │ │ │ @ SymbolNode (location: (1,4)-(1,6))
- │ │ │ │ ├── opening_loc: ∅
- │ │ │ │ ├── value_loc: (1,4)-(1,5) = "a"
- │ │ │ │ ├── closing_loc: (1,5)-(1,6) = ":"
- │ │ │ │ └── unescaped: "a"
- │ │ │ ├── value:
- │ │ │ │ @ ImplicitNode (location: (1,4)-(1,6))
- │ │ │ │ └── value:
- │ │ │ │ @ CallNode (location: (1,4)-(1,6))
- │ │ │ │ ├── receiver: ∅
- │ │ │ │ ├── call_operator_loc: ∅
- │ │ │ │ ├── name: :a
- │ │ │ │ ├── message_loc: (1,4)-(1,5) = "a"
- │ │ │ │ ├── opening_loc: ∅
- │ │ │ │ ├── arguments: ∅
- │ │ │ │ ├── closing_loc: ∅
- │ │ │ │ ├── block: ∅
- │ │ │ │ └── flags: ∅
- │ │ │ └── operator_loc: ∅
- │ │ └── @ AssocNode (location: (1,8)-(1,10))
- │ │ ├── key:
- │ │ │ @ SymbolNode (location: (1,8)-(1,10))
- │ │ │ ├── opening_loc: ∅
- │ │ │ ├── value_loc: (1,8)-(1,9) = "b"
- │ │ │ ├── closing_loc: (1,9)-(1,10) = ":"
- │ │ │ └── unescaped: "b"
- │ │ ├── value:
- │ │ │ @ ImplicitNode (location: (1,8)-(1,10))
- │ │ │ └── value:
- │ │ │ @ CallNode (location: (1,8)-(1,10))
- │ │ │ ├── receiver: ∅
- │ │ │ ├── call_operator_loc: ∅
- │ │ │ ├── name: :b
- │ │ │ ├── message_loc: (1,8)-(1,9) = "b"
- │ │ │ ├── opening_loc: ∅
- │ │ │ ├── arguments: ∅
- │ │ │ ├── closing_loc: ∅
- │ │ │ ├── block: ∅
- │ │ │ └── flags: ∅
- │ │ └── operator_loc: ∅
- │ └── flags: ∅
+ │ ├── flags: ∅
+ │ └── arguments: (length: 1)
+ │ └── @ KeywordHashNode (location: (1,4)-(1,10))
+ │ └── elements: (length: 2)
+ │ ├── @ AssocNode (location: (1,4)-(1,6))
+ │ │ ├── key:
+ │ │ │ @ SymbolNode (location: (1,4)-(1,6))
+ │ │ │ ├── opening_loc: ∅
+ │ │ │ ├── value_loc: (1,4)-(1,5) = "a"
+ │ │ │ ├── closing_loc: (1,5)-(1,6) = ":"
+ │ │ │ └── unescaped: "a"
+ │ │ ├── value:
+ │ │ │ @ ImplicitNode (location: (1,4)-(1,6))
+ │ │ │ └── value:
+ │ │ │ @ CallNode (location: (1,4)-(1,6))
+ │ │ │ ├── flags: ∅
+ │ │ │ ├── receiver: ∅
+ │ │ │ ├── call_operator_loc: ∅
+ │ │ │ ├── name: :a
+ │ │ │ ├── message_loc: (1,4)-(1,5) = "a"
+ │ │ │ ├── opening_loc: ∅
+ │ │ │ ├── arguments: ∅
+ │ │ │ ├── closing_loc: ∅
+ │ │ │ └── block: ∅
+ │ │ └── operator_loc: ∅
+ │ └── @ AssocNode (location: (1,8)-(1,10))
+ │ ├── key:
+ │ │ @ SymbolNode (location: (1,8)-(1,10))
+ │ │ ├── opening_loc: ∅
+ │ │ ├── value_loc: (1,8)-(1,9) = "b"
+ │ │ ├── closing_loc: (1,9)-(1,10) = ":"
+ │ │ └── unescaped: "b"
+ │ ├── value:
+ │ │ @ ImplicitNode (location: (1,8)-(1,10))
+ │ │ └── value:
+ │ │ @ CallNode (location: (1,8)-(1,10))
+ │ │ ├── flags: ∅
+ │ │ ├── receiver: ∅
+ │ │ ├── call_operator_loc: ∅
+ │ │ ├── name: :b
+ │ │ ├── message_loc: (1,8)-(1,9) = "b"
+ │ │ ├── opening_loc: ∅
+ │ │ ├── arguments: ∅
+ │ │ ├── closing_loc: ∅
+ │ │ └── block: ∅
+ │ └── operator_loc: ∅
├── closing_loc: (1,10)-(1,11) = ")"
- ├── block: ∅
- └── flags: ∅
+ └── block: ∅
diff --git a/test/prism/snapshots/whitequark/kwbegin_compstmt.txt b/test/prism/snapshots/whitequark/kwbegin_compstmt.txt
index dcbf053139..92eaa5bb0e 100644
--- a/test/prism/snapshots/whitequark/kwbegin_compstmt.txt
+++ b/test/prism/snapshots/whitequark/kwbegin_compstmt.txt
@@ -9,6 +9,7 @@
│ @ StatementsNode (location: (1,6)-(1,16))
│ └── body: (length: 2)
│ ├── @ CallNode (location: (1,6)-(1,10))
+ │ │ ├── flags: ∅
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
│ │ ├── name: :foo!
@@ -16,9 +17,9 @@
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
- │ │ ├── block: ∅
- │ │ └── flags: ∅
+ │ │ └── block: ∅
│ └── @ CallNode (location: (1,12)-(1,16))
+ │ ├── flags: ∅
│ ├── receiver: ∅
│ ├── call_operator_loc: ∅
│ ├── name: :bar!
@@ -26,8 +27,7 @@
│ ├── opening_loc: ∅
│ ├── arguments: ∅
│ ├── closing_loc: ∅
- │ ├── block: ∅
- │ └── flags: ∅
+ │ └── block: ∅
├── rescue_clause: ∅
├── else_clause: ∅
├── ensure_clause: ∅
diff --git a/test/prism/snapshots/whitequark/kwnilarg.txt b/test/prism/snapshots/whitequark/kwnilarg.txt
index 2a5f5f1982..041b0a3773 100644
--- a/test/prism/snapshots/whitequark/kwnilarg.txt
+++ b/test/prism/snapshots/whitequark/kwnilarg.txt
@@ -53,6 +53,7 @@
│ ├── equal_loc: ∅
│ └── end_keyword_loc: (3,14)-(3,17) = "end"
└── @ CallNode (location: (5,0)-(5,13))
+ ├── flags: ∅
├── receiver: ∅
├── call_operator_loc: ∅
├── name: :m
@@ -60,28 +61,27 @@
├── opening_loc: ∅
├── arguments: ∅
├── closing_loc: ∅
- ├── block:
- │ @ BlockNode (location: (5,2)-(5,13))
- │ ├── locals: []
- │ ├── locals_body_index: 0
- │ ├── parameters:
- │ │ @ BlockParametersNode (location: (5,4)-(5,11))
- │ │ ├── parameters:
- │ │ │ @ ParametersNode (location: (5,5)-(5,10))
- │ │ │ ├── requireds: (length: 0)
- │ │ │ ├── optionals: (length: 0)
- │ │ │ ├── rest: ∅
- │ │ │ ├── posts: (length: 0)
- │ │ │ ├── keywords: (length: 0)
- │ │ │ ├── keyword_rest:
- │ │ │ │ @ NoKeywordsParameterNode (location: (5,5)-(5,10))
- │ │ │ │ ├── operator_loc: (5,5)-(5,7) = "**"
- │ │ │ │ └── keyword_loc: (5,7)-(5,10) = "nil"
- │ │ │ └── block: ∅
- │ │ ├── locals: (length: 0)
- │ │ ├── opening_loc: (5,4)-(5,5) = "|"
- │ │ └── closing_loc: (5,10)-(5,11) = "|"
- │ ├── body: ∅
- │ ├── opening_loc: (5,2)-(5,3) = "{"
- │ └── closing_loc: (5,12)-(5,13) = "}"
- └── flags: ∅
+ └── block:
+ @ BlockNode (location: (5,2)-(5,13))
+ ├── locals: []
+ ├── locals_body_index: 0
+ ├── parameters:
+ │ @ BlockParametersNode (location: (5,4)-(5,11))
+ │ ├── parameters:
+ │ │ @ ParametersNode (location: (5,5)-(5,10))
+ │ │ ├── requireds: (length: 0)
+ │ │ ├── optionals: (length: 0)
+ │ │ ├── rest: ∅
+ │ │ ├── posts: (length: 0)
+ │ │ ├── keywords: (length: 0)
+ │ │ ├── keyword_rest:
+ │ │ │ @ NoKeywordsParameterNode (location: (5,5)-(5,10))
+ │ │ │ ├── operator_loc: (5,5)-(5,7) = "**"
+ │ │ │ └── keyword_loc: (5,7)-(5,10) = "nil"
+ │ │ └── block: ∅
+ │ ├── locals: (length: 0)
+ │ ├── opening_loc: (5,4)-(5,5) = "|"
+ │ └── closing_loc: (5,10)-(5,11) = "|"
+ ├── body: ∅
+ ├── opening_loc: (5,2)-(5,3) = "{"
+ └── closing_loc: (5,12)-(5,13) = "}"
diff --git a/test/prism/snapshots/whitequark/kwoptarg_with_kwrestarg_and_forwarded_args.txt b/test/prism/snapshots/whitequark/kwoptarg_with_kwrestarg_and_forwarded_args.txt
index 645f5939b0..d9c0826f9e 100644
--- a/test/prism/snapshots/whitequark/kwoptarg_with_kwrestarg_and_forwarded_args.txt
+++ b/test/prism/snapshots/whitequark/kwoptarg_with_kwrestarg_and_forwarded_args.txt
@@ -29,6 +29,7 @@
│ @ StatementsNode (location: (1,19)-(1,24))
│ └── body: (length: 1)
│ └── @ CallNode (location: (1,19)-(1,24))
+ │ ├── flags: ∅
│ ├── receiver: ∅
│ ├── call_operator_loc: ∅
│ ├── name: :b
@@ -36,16 +37,15 @@
│ ├── opening_loc: (1,20)-(1,21) = "("
│ ├── arguments:
│ │ @ ArgumentsNode (location: (1,21)-(1,23))
- │ │ ├── arguments: (length: 1)
- │ │ │ └── @ KeywordHashNode (location: (1,21)-(1,23))
- │ │ │ └── elements: (length: 1)
- │ │ │ └── @ AssocSplatNode (location: (1,21)-(1,23))
- │ │ │ ├── value: ∅
- │ │ │ └── operator_loc: (1,21)-(1,23) = "**"
- │ │ └── flags: contains_keyword_splat
+ │ │ ├── flags: contains_keyword_splat
+ │ │ └── arguments: (length: 1)
+ │ │ └── @ KeywordHashNode (location: (1,21)-(1,23))
+ │ │ └── elements: (length: 1)
+ │ │ └── @ AssocSplatNode (location: (1,21)-(1,23))
+ │ │ ├── value: ∅
+ │ │ └── operator_loc: (1,21)-(1,23) = "**"
│ ├── closing_loc: (1,23)-(1,24) = ")"
- │ ├── block: ∅
- │ └── flags: ∅
+ │ └── block: ∅
├── locals: [:a, :**]
├── locals_body_index: 2
├── def_keyword_loc: (1,0)-(1,3) = "def"
diff --git a/test/prism/snapshots/whitequark/lbrace_arg_after_command_args.txt b/test/prism/snapshots/whitequark/lbrace_arg_after_command_args.txt
index 4a0b52b075..e44c155edd 100644
--- a/test/prism/snapshots/whitequark/lbrace_arg_after_command_args.txt
+++ b/test/prism/snapshots/whitequark/lbrace_arg_after_command_args.txt
@@ -4,6 +4,7 @@
@ StatementsNode (location: (1,0)-(1,22))
└── body: (length: 1)
└── @ CallNode (location: (1,0)-(1,22))
+ ├── flags: ∅
├── receiver: ∅
├── call_operator_loc: ∅
├── name: :let
@@ -11,45 +12,44 @@
├── opening_loc: ∅
├── arguments:
│ @ ArgumentsNode (location: (1,4)-(1,8))
- │ ├── arguments: (length: 1)
- │ │ └── @ ParenthesesNode (location: (1,4)-(1,8))
- │ │ ├── body:
- │ │ │ @ StatementsNode (location: (1,5)-(1,7))
- │ │ │ └── body: (length: 1)
- │ │ │ └── @ SymbolNode (location: (1,5)-(1,7))
- │ │ │ ├── opening_loc: (1,5)-(1,6) = ":"
- │ │ │ ├── value_loc: (1,6)-(1,7) = "a"
- │ │ │ ├── closing_loc: ∅
- │ │ │ └── unescaped: "a"
- │ │ ├── opening_loc: (1,4)-(1,5) = "("
- │ │ └── closing_loc: (1,7)-(1,8) = ")"
- │ └── flags: ∅
+ │ ├── flags: ∅
+ │ └── arguments: (length: 1)
+ │ └── @ ParenthesesNode (location: (1,4)-(1,8))
+ │ ├── body:
+ │ │ @ StatementsNode (location: (1,5)-(1,7))
+ │ │ └── body: (length: 1)
+ │ │ └── @ SymbolNode (location: (1,5)-(1,7))
+ │ │ ├── opening_loc: (1,5)-(1,6) = ":"
+ │ │ ├── value_loc: (1,6)-(1,7) = "a"
+ │ │ ├── closing_loc: ∅
+ │ │ └── unescaped: "a"
+ │ ├── opening_loc: (1,4)-(1,5) = "("
+ │ └── closing_loc: (1,7)-(1,8) = ")"
├── closing_loc: ∅
- ├── block:
- │ @ BlockNode (location: (1,9)-(1,22))
- │ ├── locals: []
- │ ├── locals_body_index: 0
- │ ├── parameters: ∅
- │ ├── body:
- │ │ @ StatementsNode (location: (1,11)-(1,20))
- │ │ └── body: (length: 1)
- │ │ └── @ CallNode (location: (1,11)-(1,20))
- │ │ ├── receiver: ∅
- │ │ ├── call_operator_loc: ∅
- │ │ ├── name: :m
- │ │ ├── message_loc: (1,11)-(1,12) = "m"
- │ │ ├── opening_loc: ∅
- │ │ ├── arguments: ∅
- │ │ ├── closing_loc: ∅
- │ │ ├── block:
- │ │ │ @ BlockNode (location: (1,13)-(1,20))
- │ │ │ ├── locals: []
- │ │ │ ├── locals_body_index: 0
- │ │ │ ├── parameters: ∅
- │ │ │ ├── body: ∅
- │ │ │ ├── opening_loc: (1,13)-(1,15) = "do"
- │ │ │ └── closing_loc: (1,17)-(1,20) = "end"
- │ │ └── flags: ∅
- │ ├── opening_loc: (1,9)-(1,10) = "{"
- │ └── closing_loc: (1,21)-(1,22) = "}"
- └── flags: ∅
+ └── block:
+ @ BlockNode (location: (1,9)-(1,22))
+ ├── locals: []
+ ├── locals_body_index: 0
+ ├── parameters: ∅
+ ├── body:
+ │ @ StatementsNode (location: (1,11)-(1,20))
+ │ └── body: (length: 1)
+ │ └── @ CallNode (location: (1,11)-(1,20))
+ │ ├── flags: ∅
+ │ ├── receiver: ∅
+ │ ├── call_operator_loc: ∅
+ │ ├── name: :m
+ │ ├── message_loc: (1,11)-(1,12) = "m"
+ │ ├── opening_loc: ∅
+ │ ├── arguments: ∅
+ │ ├── closing_loc: ∅
+ │ └── block:
+ │ @ BlockNode (location: (1,13)-(1,20))
+ │ ├── locals: []
+ │ ├── locals_body_index: 0
+ │ ├── parameters: ∅
+ │ ├── body: ∅
+ │ ├── opening_loc: (1,13)-(1,15) = "do"
+ │ └── closing_loc: (1,17)-(1,20) = "end"
+ ├── opening_loc: (1,9)-(1,10) = "{"
+ └── closing_loc: (1,21)-(1,22) = "}"
diff --git a/test/prism/snapshots/whitequark/lparenarg_after_lvar__since_25.txt b/test/prism/snapshots/whitequark/lparenarg_after_lvar__since_25.txt
index b8fee1d50b..ac9432787d 100644
--- a/test/prism/snapshots/whitequark/lparenarg_after_lvar__since_25.txt
+++ b/test/prism/snapshots/whitequark/lparenarg_after_lvar__since_25.txt
@@ -4,6 +4,7 @@
@ StatementsNode (location: (1,0)-(3,15))
└── body: (length: 2)
├── @ CallNode (location: (1,0)-(1,14))
+ │ ├── flags: ∅
│ ├── receiver: ∅
│ ├── call_operator_loc: ∅
│ ├── name: :foo
@@ -11,29 +12,29 @@
│ ├── opening_loc: ∅
│ ├── arguments:
│ │ @ ArgumentsNode (location: (1,4)-(1,14))
- │ │ ├── arguments: (length: 1)
- │ │ │ └── @ CallNode (location: (1,4)-(1,14))
- │ │ │ ├── receiver:
- │ │ │ │ @ ParenthesesNode (location: (1,4)-(1,10))
- │ │ │ │ ├── body:
- │ │ │ │ │ @ StatementsNode (location: (1,5)-(1,9))
- │ │ │ │ │ └── body: (length: 1)
- │ │ │ │ │ └── @ FloatNode (location: (1,5)-(1,9))
- │ │ │ │ ├── opening_loc: (1,4)-(1,5) = "("
- │ │ │ │ └── closing_loc: (1,9)-(1,10) = ")"
- │ │ │ ├── call_operator_loc: (1,10)-(1,11) = "."
- │ │ │ ├── name: :abs
- │ │ │ ├── message_loc: (1,11)-(1,14) = "abs"
- │ │ │ ├── opening_loc: ∅
- │ │ │ ├── arguments: ∅
- │ │ │ ├── closing_loc: ∅
- │ │ │ ├── block: ∅
- │ │ │ └── flags: ∅
- │ │ └── flags: ∅
+ │ │ ├── flags: ∅
+ │ │ └── arguments: (length: 1)
+ │ │ └── @ CallNode (location: (1,4)-(1,14))
+ │ │ ├── flags: ∅
+ │ │ ├── receiver:
+ │ │ │ @ ParenthesesNode (location: (1,4)-(1,10))
+ │ │ │ ├── body:
+ │ │ │ │ @ StatementsNode (location: (1,5)-(1,9))
+ │ │ │ │ └── body: (length: 1)
+ │ │ │ │ └── @ FloatNode (location: (1,5)-(1,9))
+ │ │ │ ├── opening_loc: (1,4)-(1,5) = "("
+ │ │ │ └── closing_loc: (1,9)-(1,10) = ")"
+ │ │ ├── call_operator_loc: (1,10)-(1,11) = "."
+ │ │ ├── name: :abs
+ │ │ ├── message_loc: (1,11)-(1,14) = "abs"
+ │ │ ├── opening_loc: ∅
+ │ │ ├── arguments: ∅
+ │ │ ├── closing_loc: ∅
+ │ │ └── block: ∅
│ ├── closing_loc: ∅
- │ ├── block: ∅
- │ └── flags: ∅
+ │ └── block: ∅
└── @ CallNode (location: (3,0)-(3,15))
+ ├── flags: ∅
├── receiver: ∅
├── call_operator_loc: ∅
├── name: :meth
@@ -41,25 +42,24 @@
├── opening_loc: ∅
├── arguments:
│ @ ArgumentsNode (location: (3,5)-(3,15))
- │ ├── arguments: (length: 1)
- │ │ └── @ CallNode (location: (3,5)-(3,15))
- │ │ ├── receiver:
- │ │ │ @ ParenthesesNode (location: (3,5)-(3,11))
- │ │ │ ├── body:
- │ │ │ │ @ StatementsNode (location: (3,6)-(3,10))
- │ │ │ │ └── body: (length: 1)
- │ │ │ │ └── @ FloatNode (location: (3,6)-(3,10))
- │ │ │ ├── opening_loc: (3,5)-(3,6) = "("
- │ │ │ └── closing_loc: (3,10)-(3,11) = ")"
- │ │ ├── call_operator_loc: (3,11)-(3,12) = "."
- │ │ ├── name: :abs
- │ │ ├── message_loc: (3,12)-(3,15) = "abs"
- │ │ ├── opening_loc: ∅
- │ │ ├── arguments: ∅
- │ │ ├── closing_loc: ∅
- │ │ ├── block: ∅
- │ │ └── flags: ∅
- │ └── flags: ∅
+ │ ├── flags: ∅
+ │ └── arguments: (length: 1)
+ │ └── @ CallNode (location: (3,5)-(3,15))
+ │ ├── flags: ∅
+ │ ├── receiver:
+ │ │ @ ParenthesesNode (location: (3,5)-(3,11))
+ │ │ ├── body:
+ │ │ │ @ StatementsNode (location: (3,6)-(3,10))
+ │ │ │ └── body: (length: 1)
+ │ │ │ └── @ FloatNode (location: (3,6)-(3,10))
+ │ │ ├── opening_loc: (3,5)-(3,6) = "("
+ │ │ └── closing_loc: (3,10)-(3,11) = ")"
+ │ ├── call_operator_loc: (3,11)-(3,12) = "."
+ │ ├── name: :abs
+ │ ├── message_loc: (3,12)-(3,15) = "abs"
+ │ ├── opening_loc: ∅
+ │ ├── arguments: ∅
+ │ ├── closing_loc: ∅
+ │ └── block: ∅
├── closing_loc: ∅
- ├── block: ∅
- └── flags: ∅
+ └── block: ∅
diff --git a/test/prism/snapshots/whitequark/lvar.txt b/test/prism/snapshots/whitequark/lvar.txt
index 3d0ee78f85..878a4a91f5 100644
--- a/test/prism/snapshots/whitequark/lvar.txt
+++ b/test/prism/snapshots/whitequark/lvar.txt
@@ -4,6 +4,7 @@
@ StatementsNode (location: (1,0)-(1,3))
└── body: (length: 1)
└── @ CallNode (location: (1,0)-(1,3))
+ ├── flags: variable_call
├── receiver: ∅
├── call_operator_loc: ∅
├── name: :foo
@@ -11,5 +12,4 @@
├── opening_loc: ∅
├── arguments: ∅
├── closing_loc: ∅
- ├── block: ∅
- └── flags: variable_call
+ └── block: ∅
diff --git a/test/prism/snapshots/whitequark/lvar_injecting_match.txt b/test/prism/snapshots/whitequark/lvar_injecting_match.txt
index f58882b9bd..a1d70e9ccf 100644
--- a/test/prism/snapshots/whitequark/lvar_injecting_match.txt
+++ b/test/prism/snapshots/whitequark/lvar_injecting_match.txt
@@ -6,30 +6,30 @@
├── @ MatchWriteNode (location: (1,0)-(1,24))
│ ├── call:
│ │ @ CallNode (location: (1,0)-(1,24))
+ │ │ ├── flags: ∅
│ │ ├── receiver:
│ │ │ @ RegularExpressionNode (location: (1,0)-(1,15))
+ │ │ │ ├── flags: ∅
│ │ │ ├── opening_loc: (1,0)-(1,1) = "/"
│ │ │ ├── content_loc: (1,1)-(1,14) = "(?<match>bar)"
│ │ │ ├── closing_loc: (1,14)-(1,15) = "/"
- │ │ │ ├── unescaped: "(?<match>bar)"
- │ │ │ └── flags: ∅
+ │ │ │ └── unescaped: "(?<match>bar)"
│ │ ├── call_operator_loc: ∅
│ │ ├── name: :=~
│ │ ├── message_loc: (1,16)-(1,18) = "=~"
│ │ ├── opening_loc: ∅
│ │ ├── arguments:
│ │ │ @ ArgumentsNode (location: (1,19)-(1,24))
- │ │ │ ├── arguments: (length: 1)
- │ │ │ │ └── @ StringNode (location: (1,19)-(1,24))
- │ │ │ │ ├── flags: ∅
- │ │ │ │ ├── opening_loc: (1,19)-(1,20) = "'"
- │ │ │ │ ├── content_loc: (1,20)-(1,23) = "bar"
- │ │ │ │ ├── closing_loc: (1,23)-(1,24) = "'"
- │ │ │ │ └── unescaped: "bar"
- │ │ │ └── flags: ∅
+ │ │ │ ├── flags: ∅
+ │ │ │ └── arguments: (length: 1)
+ │ │ │ └── @ StringNode (location: (1,19)-(1,24))
+ │ │ │ ├── flags: ∅
+ │ │ │ ├── opening_loc: (1,19)-(1,20) = "'"
+ │ │ │ ├── content_loc: (1,20)-(1,23) = "bar"
+ │ │ │ ├── closing_loc: (1,23)-(1,24) = "'"
+ │ │ │ └── unescaped: "bar"
│ │ ├── closing_loc: ∅
- │ │ ├── block: ∅
- │ │ └── flags: ∅
+ │ │ └── block: ∅
│ └── targets: (length: 1)
│ └── @ LocalVariableTargetNode (location: (1,4)-(1,9))
│ ├── name: :match
diff --git a/test/prism/snapshots/whitequark/masgn.txt b/test/prism/snapshots/whitequark/masgn.txt
index ef33a7bdda..d87d21a605 100644
--- a/test/prism/snapshots/whitequark/masgn.txt
+++ b/test/prism/snapshots/whitequark/masgn.txt
@@ -18,14 +18,14 @@
│ ├── operator_loc: (1,11)-(1,12) = "="
│ └── value:
│ @ ArrayNode (location: (1,13)-(1,17))
+ │ ├── flags: ∅
│ ├── elements: (length: 2)
│ │ ├── @ IntegerNode (location: (1,13)-(1,14))
│ │ │ └── flags: decimal
│ │ └── @ IntegerNode (location: (1,16)-(1,17))
│ │ └── flags: decimal
│ ├── opening_loc: ∅
- │ ├── closing_loc: ∅
- │ └── flags: ∅
+ │ └── closing_loc: ∅
├── @ MultiWriteNode (location: (3,0)-(3,15))
│ ├── lefts: (length: 2)
│ │ ├── @ LocalVariableTargetNode (location: (3,0)-(3,3))
@@ -41,14 +41,14 @@
│ ├── operator_loc: (3,9)-(3,10) = "="
│ └── value:
│ @ ArrayNode (location: (3,11)-(3,15))
+ │ ├── flags: ∅
│ ├── elements: (length: 2)
│ │ ├── @ IntegerNode (location: (3,11)-(3,12))
│ │ │ └── flags: decimal
│ │ └── @ IntegerNode (location: (3,14)-(3,15))
│ │ └── flags: decimal
│ ├── opening_loc: ∅
- │ ├── closing_loc: ∅
- │ └── flags: ∅
+ │ └── closing_loc: ∅
└── @ MultiWriteNode (location: (5,0)-(5,20))
├── lefts: (length: 3)
│ ├── @ LocalVariableTargetNode (location: (5,0)-(5,3))
@@ -67,11 +67,11 @@
├── operator_loc: (5,14)-(5,15) = "="
└── value:
@ ArrayNode (location: (5,16)-(5,20))
+ ├── flags: ∅
├── elements: (length: 2)
│ ├── @ IntegerNode (location: (5,16)-(5,17))
│ │ └── flags: decimal
│ └── @ IntegerNode (location: (5,19)-(5,20))
│ └── flags: decimal
├── opening_loc: ∅
- ├── closing_loc: ∅
- └── flags: ∅
+ └── closing_loc: ∅
diff --git a/test/prism/snapshots/whitequark/masgn_attr.txt b/test/prism/snapshots/whitequark/masgn_attr.txt
index 301c894e99..9d78d9bfdf 100644
--- a/test/prism/snapshots/whitequark/masgn_attr.txt
+++ b/test/prism/snapshots/whitequark/masgn_attr.txt
@@ -6,6 +6,7 @@
├── @ MultiWriteNode (location: (1,0)-(1,17))
│ ├── lefts: (length: 2)
│ │ ├── @ CallNode (location: (1,0)-(1,6))
+ │ │ │ ├── flags: ∅
│ │ │ ├── receiver:
│ │ │ │ @ SelfNode (location: (1,0)-(1,4))
│ │ │ ├── call_operator_loc: (1,4)-(1,5) = "."
@@ -14,8 +15,7 @@
│ │ │ ├── opening_loc: ∅
│ │ │ ├── arguments: ∅
│ │ │ ├── closing_loc: ∅
- │ │ │ ├── block: ∅
- │ │ │ └── flags: ∅
+ │ │ │ └── block: ∅
│ │ └── @ LocalVariableTargetNode (location: (1,8)-(1,11))
│ │ ├── name: :foo
│ │ └── depth: 0
@@ -31,6 +31,7 @@
├── @ MultiWriteNode (location: (3,0)-(3,24))
│ ├── lefts: (length: 2)
│ │ ├── @ CallNode (location: (3,0)-(3,6))
+ │ │ │ ├── flags: ∅
│ │ │ ├── receiver:
│ │ │ │ @ SelfNode (location: (3,0)-(3,4))
│ │ │ ├── call_operator_loc: (3,4)-(3,5) = "."
@@ -39,9 +40,9 @@
│ │ │ ├── opening_loc: ∅
│ │ │ ├── arguments: ∅
│ │ │ ├── closing_loc: ∅
- │ │ │ ├── block: ∅
- │ │ │ └── flags: ∅
+ │ │ │ └── block: ∅
│ │ └── @ CallNode (location: (3,8)-(3,18))
+ │ │ ├── flags: ∅
│ │ ├── receiver:
│ │ │ @ SelfNode (location: (3,8)-(3,12))
│ │ ├── call_operator_loc: ∅
@@ -50,15 +51,14 @@
│ │ ├── opening_loc: (3,12)-(3,13) = "["
│ │ ├── arguments:
│ │ │ @ ArgumentsNode (location: (3,13)-(3,17))
- │ │ │ ├── arguments: (length: 2)
- │ │ │ │ ├── @ IntegerNode (location: (3,13)-(3,14))
- │ │ │ │ │ └── flags: decimal
- │ │ │ │ └── @ IntegerNode (location: (3,16)-(3,17))
- │ │ │ │ └── flags: decimal
- │ │ │ └── flags: ∅
+ │ │ │ ├── flags: ∅
+ │ │ │ └── arguments: (length: 2)
+ │ │ │ ├── @ IntegerNode (location: (3,13)-(3,14))
+ │ │ │ │ └── flags: decimal
+ │ │ │ └── @ IntegerNode (location: (3,16)-(3,17))
+ │ │ │ └── flags: decimal
│ │ ├── closing_loc: (3,17)-(3,18) = "]"
- │ │ ├── block: ∅
- │ │ └── flags: ∅
+ │ │ └── block: ∅
│ ├── rest: ∅
│ ├── rights: (length: 0)
│ ├── lparen_loc: ∅
@@ -71,6 +71,7 @@
└── @ MultiWriteNode (location: (5,0)-(5,18))
├── lefts: (length: 2)
│ ├── @ CallNode (location: (5,0)-(5,7))
+ │ │ ├── flags: ∅
│ │ ├── receiver:
│ │ │ @ SelfNode (location: (5,0)-(5,4))
│ │ ├── call_operator_loc: (5,4)-(5,6) = "::"
@@ -79,8 +80,7 @@
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
- │ │ ├── block: ∅
- │ │ └── flags: ∅
+ │ │ └── block: ∅
│ └── @ LocalVariableTargetNode (location: (5,9)-(5,12))
│ ├── name: :foo
│ └── depth: 0
diff --git a/test/prism/snapshots/whitequark/masgn_cmd.txt b/test/prism/snapshots/whitequark/masgn_cmd.txt
index 4300096f4d..b9d66d5d89 100644
--- a/test/prism/snapshots/whitequark/masgn_cmd.txt
+++ b/test/prism/snapshots/whitequark/masgn_cmd.txt
@@ -18,6 +18,7 @@
├── operator_loc: (1,9)-(1,10) = "="
└── value:
@ CallNode (location: (1,11)-(1,16))
+ ├── flags: ∅
├── receiver: ∅
├── call_operator_loc: ∅
├── name: :m
@@ -25,11 +26,10 @@
├── opening_loc: ∅
├── arguments:
│ @ ArgumentsNode (location: (1,13)-(1,16))
- │ ├── arguments: (length: 1)
- │ │ └── @ LocalVariableReadNode (location: (1,13)-(1,16))
- │ │ ├── name: :foo
- │ │ └── depth: 0
- │ └── flags: ∅
+ │ ├── flags: ∅
+ │ └── arguments: (length: 1)
+ │ └── @ LocalVariableReadNode (location: (1,13)-(1,16))
+ │ ├── name: :foo
+ │ └── depth: 0
├── closing_loc: ∅
- ├── block: ∅
- └── flags: ∅
+ └── block: ∅
diff --git a/test/prism/snapshots/whitequark/masgn_nested.txt b/test/prism/snapshots/whitequark/masgn_nested.txt
index d9513e5813..6bbfc61ef6 100644
--- a/test/prism/snapshots/whitequark/masgn_nested.txt
+++ b/test/prism/snapshots/whitequark/masgn_nested.txt
@@ -22,6 +22,7 @@
│ ├── operator_loc: (1,8)-(1,9) = "="
│ └── value:
│ @ CallNode (location: (1,10)-(1,13))
+ │ ├── flags: variable_call
│ ├── receiver: ∅
│ ├── call_operator_loc: ∅
│ ├── name: :foo
@@ -29,8 +30,7 @@
│ ├── opening_loc: ∅
│ ├── arguments: ∅
│ ├── closing_loc: ∅
- │ ├── block: ∅
- │ └── flags: variable_call
+ │ └── block: ∅
└── @ MultiWriteNode (location: (3,0)-(3,15))
├── lefts: (length: 2)
│ ├── @ LocalVariableTargetNode (location: (3,0)-(3,1))
@@ -55,6 +55,7 @@
├── operator_loc: (3,10)-(3,11) = "="
└── value:
@ CallNode (location: (3,12)-(3,15))
+ ├── flags: variable_call
├── receiver: ∅
├── call_operator_loc: ∅
├── name: :foo
@@ -62,5 +63,4 @@
├── opening_loc: ∅
├── arguments: ∅
├── closing_loc: ∅
- ├── block: ∅
- └── flags: variable_call
+ └── block: ∅
diff --git a/test/prism/snapshots/whitequark/masgn_splat.txt b/test/prism/snapshots/whitequark/masgn_splat.txt
index 5660ebbc06..be3cbfb47d 100644
--- a/test/prism/snapshots/whitequark/masgn_splat.txt
+++ b/test/prism/snapshots/whitequark/masgn_splat.txt
@@ -15,6 +15,7 @@
│ ├── operator_loc: (1,2)-(1,3) = "="
│ └── value:
│ @ CallNode (location: (1,4)-(1,7))
+ │ ├── flags: variable_call
│ ├── receiver: ∅
│ ├── call_operator_loc: ∅
│ ├── name: :bar
@@ -22,8 +23,7 @@
│ ├── opening_loc: ∅
│ ├── arguments: ∅
│ ├── closing_loc: ∅
- │ ├── block: ∅
- │ └── flags: variable_call
+ │ └── block: ∅
├── @ MultiWriteNode (location: (3,0)-(3,13))
│ ├── lefts: (length: 0)
│ ├── rest:
@@ -42,6 +42,7 @@
│ ├── operator_loc: (3,8)-(3,9) = "="
│ └── value:
│ @ CallNode (location: (3,10)-(3,13))
+ │ ├── flags: variable_call
│ ├── receiver: ∅
│ ├── call_operator_loc: ∅
│ ├── name: :bar
@@ -49,8 +50,7 @@
│ ├── opening_loc: ∅
│ ├── arguments: ∅
│ ├── closing_loc: ∅
- │ ├── block: ∅
- │ └── flags: variable_call
+ │ └── block: ∅
├── @ MultiWriteNode (location: (5,0)-(5,8))
│ ├── lefts: (length: 0)
│ ├── rest:
@@ -66,6 +66,7 @@
│ ├── operator_loc: (5,3)-(5,4) = "="
│ └── value:
│ @ CallNode (location: (5,5)-(5,8))
+ │ ├── flags: variable_call
│ ├── receiver: ∅
│ ├── call_operator_loc: ∅
│ ├── name: :bar
@@ -73,8 +74,7 @@
│ ├── opening_loc: ∅
│ ├── arguments: ∅
│ ├── closing_loc: ∅
- │ ├── block: ∅
- │ └── flags: variable_call
+ │ └── block: ∅
├── @ MultiWriteNode (location: (7,0)-(7,11))
│ ├── lefts: (length: 0)
│ ├── rest:
@@ -93,6 +93,7 @@
│ ├── operator_loc: (7,6)-(7,7) = "="
│ └── value:
│ @ CallNode (location: (7,8)-(7,11))
+ │ ├── flags: variable_call
│ ├── receiver: ∅
│ ├── call_operator_loc: ∅
│ ├── name: :bar
@@ -100,8 +101,7 @@
│ ├── opening_loc: ∅
│ ├── arguments: ∅
│ ├── closing_loc: ∅
- │ ├── block: ∅
- │ └── flags: variable_call
+ │ └── block: ∅
├── @ MultiWriteNode (location: (9,0)-(9,18))
│ ├── lefts: (length: 2)
│ │ ├── @ InstanceVariableTargetNode (location: (9,0)-(9,4))
@@ -115,11 +115,13 @@
│ ├── operator_loc: (9,12)-(9,13) = "="
│ └── value:
│ @ ArrayNode (location: (9,14)-(9,18))
+ │ ├── flags: contains_splat
│ ├── elements: (length: 1)
│ │ └── @ SplatNode (location: (9,14)-(9,18))
│ │ ├── operator_loc: (9,14)-(9,15) = "*"
│ │ └── expression:
│ │ @ CallNode (location: (9,15)-(9,18))
+ │ │ ├── flags: variable_call
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
│ │ ├── name: :foo
@@ -127,11 +129,9 @@
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
- │ │ ├── block: ∅
- │ │ └── flags: variable_call
+ │ │ └── block: ∅
│ ├── opening_loc: ∅
- │ ├── closing_loc: ∅
- │ └── flags: contains_splat
+ │ └── closing_loc: ∅
├── @ MultiWriteNode (location: (11,0)-(11,10))
│ ├── lefts: (length: 1)
│ │ └── @ LocalVariableTargetNode (location: (11,0)-(11,1))
@@ -147,6 +147,7 @@
│ ├── operator_loc: (11,5)-(11,6) = "="
│ └── value:
│ @ CallNode (location: (11,7)-(11,10))
+ │ ├── flags: variable_call
│ ├── receiver: ∅
│ ├── call_operator_loc: ∅
│ ├── name: :bar
@@ -154,8 +155,7 @@
│ ├── opening_loc: ∅
│ ├── arguments: ∅
│ ├── closing_loc: ∅
- │ ├── block: ∅
- │ └── flags: variable_call
+ │ └── block: ∅
├── @ MultiWriteNode (location: (13,0)-(13,13))
│ ├── lefts: (length: 1)
│ │ └── @ LocalVariableTargetNode (location: (13,0)-(13,1))
@@ -174,6 +174,7 @@
│ ├── operator_loc: (13,8)-(13,9) = "="
│ └── value:
│ @ CallNode (location: (13,10)-(13,13))
+ │ ├── flags: variable_call
│ ├── receiver: ∅
│ ├── call_operator_loc: ∅
│ ├── name: :bar
@@ -181,8 +182,7 @@
│ ├── opening_loc: ∅
│ ├── arguments: ∅
│ ├── closing_loc: ∅
- │ ├── block: ∅
- │ └── flags: variable_call
+ │ └── block: ∅
├── @ MultiWriteNode (location: (15,0)-(15,11))
│ ├── lefts: (length: 1)
│ │ └── @ LocalVariableTargetNode (location: (15,0)-(15,1))
@@ -201,6 +201,7 @@
│ ├── operator_loc: (15,6)-(15,7) = "="
│ └── value:
│ @ CallNode (location: (15,8)-(15,11))
+ │ ├── flags: variable_call
│ ├── receiver: ∅
│ ├── call_operator_loc: ∅
│ ├── name: :bar
@@ -208,8 +209,7 @@
│ ├── opening_loc: ∅
│ ├── arguments: ∅
│ ├── closing_loc: ∅
- │ ├── block: ∅
- │ └── flags: variable_call
+ │ └── block: ∅
├── @ MultiWriteNode (location: (17,0)-(17,14))
│ ├── lefts: (length: 1)
│ │ └── @ LocalVariableTargetNode (location: (17,0)-(17,1))
@@ -231,6 +231,7 @@
│ ├── operator_loc: (17,9)-(17,10) = "="
│ └── value:
│ @ CallNode (location: (17,11)-(17,14))
+ │ ├── flags: variable_call
│ ├── receiver: ∅
│ ├── call_operator_loc: ∅
│ ├── name: :bar
@@ -238,8 +239,7 @@
│ ├── opening_loc: ∅
│ ├── arguments: ∅
│ ├── closing_loc: ∅
- │ ├── block: ∅
- │ └── flags: variable_call
+ │ └── block: ∅
└── @ MultiWriteNode (location: (19,0)-(19,16))
├── lefts: (length: 2)
│ ├── @ LocalVariableTargetNode (location: (19,0)-(19,1))
@@ -255,11 +255,13 @@
├── operator_loc: (19,5)-(19,6) = "="
└── value:
@ ArrayNode (location: (19,7)-(19,16))
+ ├── flags: contains_splat
├── elements: (length: 2)
│ ├── @ SplatNode (location: (19,7)-(19,11))
│ │ ├── operator_loc: (19,7)-(19,8) = "*"
│ │ └── expression:
│ │ @ CallNode (location: (19,8)-(19,11))
+ │ │ ├── flags: variable_call
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
│ │ ├── name: :foo
@@ -267,9 +269,9 @@
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
- │ │ ├── block: ∅
- │ │ └── flags: variable_call
+ │ │ └── block: ∅
│ └── @ CallNode (location: (19,13)-(19,16))
+ │ ├── flags: variable_call
│ ├── receiver: ∅
│ ├── call_operator_loc: ∅
│ ├── name: :bar
@@ -277,8 +279,6 @@
│ ├── opening_loc: ∅
│ ├── arguments: ∅
│ ├── closing_loc: ∅
- │ ├── block: ∅
- │ └── flags: variable_call
+ │ └── block: ∅
├── opening_loc: ∅
- ├── closing_loc: ∅
- └── flags: contains_splat
+ └── closing_loc: ∅
diff --git a/test/prism/snapshots/whitequark/method_definition_in_while_cond.txt b/test/prism/snapshots/whitequark/method_definition_in_while_cond.txt
index 93089a9e33..7ad047983d 100644
--- a/test/prism/snapshots/whitequark/method_definition_in_while_cond.txt
+++ b/test/prism/snapshots/whitequark/method_definition_in_while_cond.txt
@@ -4,6 +4,7 @@
@ StatementsNode (location: (1,0)-(7,47))
└── body: (length: 4)
├── @ WhileNode (location: (1,0)-(1,45))
+ │ ├── flags: ∅
│ ├── keyword_loc: (1,0)-(1,5) = "while"
│ ├── closing_loc: (1,42)-(1,45) = "end"
│ ├── predicate:
@@ -21,6 +22,7 @@
│ │ │ │ ├── operator_loc: (1,16)-(1,17) = "="
│ │ │ │ └── value:
│ │ │ │ @ CallNode (location: (1,18)-(1,28))
+ │ │ │ │ ├── flags: ∅
│ │ │ │ ├── receiver: ∅
│ │ │ │ ├── call_operator_loc: ∅
│ │ │ │ ├── name: :tap
@@ -28,15 +30,14 @@
│ │ │ │ ├── opening_loc: ∅
│ │ │ │ ├── arguments: ∅
│ │ │ │ ├── closing_loc: ∅
- │ │ │ │ ├── block:
- │ │ │ │ │ @ BlockNode (location: (1,22)-(1,28))
- │ │ │ │ │ ├── locals: []
- │ │ │ │ │ ├── locals_body_index: 0
- │ │ │ │ │ ├── parameters: ∅
- │ │ │ │ │ ├── body: ∅
- │ │ │ │ │ ├── opening_loc: (1,22)-(1,24) = "do"
- │ │ │ │ │ └── closing_loc: (1,25)-(1,28) = "end"
- │ │ │ │ └── flags: ∅
+ │ │ │ │ └── block:
+ │ │ │ │ @ BlockNode (location: (1,22)-(1,28))
+ │ │ │ │ ├── locals: []
+ │ │ │ │ ├── locals_body_index: 0
+ │ │ │ │ ├── parameters: ∅
+ │ │ │ │ ├── body: ∅
+ │ │ │ │ ├── opening_loc: (1,22)-(1,24) = "do"
+ │ │ │ │ └── closing_loc: (1,25)-(1,28) = "end"
│ │ │ ├── rest: ∅
│ │ │ ├── posts: (length: 0)
│ │ │ ├── keywords: (length: 0)
@@ -51,14 +52,14 @@
│ │ ├── rparen_loc: ∅
│ │ ├── equal_loc: ∅
│ │ └── end_keyword_loc: (1,30)-(1,33) = "end"
- │ ├── statements:
- │ │ @ StatementsNode (location: (1,35)-(1,40))
- │ │ └── body: (length: 1)
- │ │ └── @ BreakNode (location: (1,35)-(1,40))
- │ │ ├── arguments: ∅
- │ │ └── keyword_loc: (1,35)-(1,40) = "break"
- │ └── flags: ∅
+ │ └── statements:
+ │ @ StatementsNode (location: (1,35)-(1,40))
+ │ └── body: (length: 1)
+ │ └── @ BreakNode (location: (1,35)-(1,40))
+ │ ├── arguments: ∅
+ │ └── keyword_loc: (1,35)-(1,40) = "break"
├── @ WhileNode (location: (3,0)-(3,42))
+ │ ├── flags: ∅
│ ├── keyword_loc: (3,0)-(3,5) = "while"
│ ├── closing_loc: (3,39)-(3,42) = "end"
│ ├── predicate:
@@ -71,6 +72,7 @@
│ │ │ @ StatementsNode (location: (3,15)-(3,25))
│ │ │ └── body: (length: 1)
│ │ │ └── @ CallNode (location: (3,15)-(3,25))
+ │ │ │ ├── flags: ∅
│ │ │ ├── receiver: ∅
│ │ │ ├── call_operator_loc: ∅
│ │ │ ├── name: :tap
@@ -78,15 +80,14 @@
│ │ │ ├── opening_loc: ∅
│ │ │ ├── arguments: ∅
│ │ │ ├── closing_loc: ∅
- │ │ │ ├── block:
- │ │ │ │ @ BlockNode (location: (3,19)-(3,25))
- │ │ │ │ ├── locals: []
- │ │ │ │ ├── locals_body_index: 0
- │ │ │ │ ├── parameters: ∅
- │ │ │ │ ├── body: ∅
- │ │ │ │ ├── opening_loc: (3,19)-(3,21) = "do"
- │ │ │ │ └── closing_loc: (3,22)-(3,25) = "end"
- │ │ │ └── flags: ∅
+ │ │ │ └── block:
+ │ │ │ @ BlockNode (location: (3,19)-(3,25))
+ │ │ │ ├── locals: []
+ │ │ │ ├── locals_body_index: 0
+ │ │ │ ├── parameters: ∅
+ │ │ │ ├── body: ∅
+ │ │ │ ├── opening_loc: (3,19)-(3,21) = "do"
+ │ │ │ └── closing_loc: (3,22)-(3,25) = "end"
│ │ ├── locals: []
│ │ ├── locals_body_index: 0
│ │ ├── def_keyword_loc: (3,6)-(3,9) = "def"
@@ -95,14 +96,14 @@
│ │ ├── rparen_loc: ∅
│ │ ├── equal_loc: ∅
│ │ └── end_keyword_loc: (3,27)-(3,30) = "end"
- │ ├── statements:
- │ │ @ StatementsNode (location: (3,32)-(3,37))
- │ │ └── body: (length: 1)
- │ │ └── @ BreakNode (location: (3,32)-(3,37))
- │ │ ├── arguments: ∅
- │ │ └── keyword_loc: (3,32)-(3,37) = "break"
- │ └── flags: ∅
+ │ └── statements:
+ │ @ StatementsNode (location: (3,32)-(3,37))
+ │ └── body: (length: 1)
+ │ └── @ BreakNode (location: (3,32)-(3,37))
+ │ ├── arguments: ∅
+ │ └── keyword_loc: (3,32)-(3,37) = "break"
├── @ WhileNode (location: (5,0)-(5,50))
+ │ ├── flags: ∅
│ ├── keyword_loc: (5,0)-(5,5) = "while"
│ ├── closing_loc: (5,47)-(5,50) = "end"
│ ├── predicate:
@@ -121,6 +122,7 @@
│ │ │ │ ├── operator_loc: (5,21)-(5,22) = "="
│ │ │ │ └── value:
│ │ │ │ @ CallNode (location: (5,23)-(5,33))
+ │ │ │ │ ├── flags: ∅
│ │ │ │ ├── receiver: ∅
│ │ │ │ ├── call_operator_loc: ∅
│ │ │ │ ├── name: :tap
@@ -128,15 +130,14 @@
│ │ │ │ ├── opening_loc: ∅
│ │ │ │ ├── arguments: ∅
│ │ │ │ ├── closing_loc: ∅
- │ │ │ │ ├── block:
- │ │ │ │ │ @ BlockNode (location: (5,27)-(5,33))
- │ │ │ │ │ ├── locals: []
- │ │ │ │ │ ├── locals_body_index: 0
- │ │ │ │ │ ├── parameters: ∅
- │ │ │ │ │ ├── body: ∅
- │ │ │ │ │ ├── opening_loc: (5,27)-(5,29) = "do"
- │ │ │ │ │ └── closing_loc: (5,30)-(5,33) = "end"
- │ │ │ │ └── flags: ∅
+ │ │ │ │ └── block:
+ │ │ │ │ @ BlockNode (location: (5,27)-(5,33))
+ │ │ │ │ ├── locals: []
+ │ │ │ │ ├── locals_body_index: 0
+ │ │ │ │ ├── parameters: ∅
+ │ │ │ │ ├── body: ∅
+ │ │ │ │ ├── opening_loc: (5,27)-(5,29) = "do"
+ │ │ │ │ └── closing_loc: (5,30)-(5,33) = "end"
│ │ │ ├── rest: ∅
│ │ │ ├── posts: (length: 0)
│ │ │ ├── keywords: (length: 0)
@@ -151,14 +152,14 @@
│ │ ├── rparen_loc: ∅
│ │ ├── equal_loc: ∅
│ │ └── end_keyword_loc: (5,35)-(5,38) = "end"
- │ ├── statements:
- │ │ @ StatementsNode (location: (5,40)-(5,45))
- │ │ └── body: (length: 1)
- │ │ └── @ BreakNode (location: (5,40)-(5,45))
- │ │ ├── arguments: ∅
- │ │ └── keyword_loc: (5,40)-(5,45) = "break"
- │ └── flags: ∅
+ │ └── statements:
+ │ @ StatementsNode (location: (5,40)-(5,45))
+ │ └── body: (length: 1)
+ │ └── @ BreakNode (location: (5,40)-(5,45))
+ │ ├── arguments: ∅
+ │ └── keyword_loc: (5,40)-(5,45) = "break"
└── @ WhileNode (location: (7,0)-(7,47))
+ ├── flags: ∅
├── keyword_loc: (7,0)-(7,5) = "while"
├── closing_loc: (7,44)-(7,47) = "end"
├── predicate:
@@ -172,6 +173,7 @@
│ │ @ StatementsNode (location: (7,20)-(7,30))
│ │ └── body: (length: 1)
│ │ └── @ CallNode (location: (7,20)-(7,30))
+ │ │ ├── flags: ∅
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
│ │ ├── name: :tap
@@ -179,15 +181,14 @@
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
- │ │ ├── block:
- │ │ │ @ BlockNode (location: (7,24)-(7,30))
- │ │ │ ├── locals: []
- │ │ │ ├── locals_body_index: 0
- │ │ │ ├── parameters: ∅
- │ │ │ ├── body: ∅
- │ │ │ ├── opening_loc: (7,24)-(7,26) = "do"
- │ │ │ └── closing_loc: (7,27)-(7,30) = "end"
- │ │ └── flags: ∅
+ │ │ └── block:
+ │ │ @ BlockNode (location: (7,24)-(7,30))
+ │ │ ├── locals: []
+ │ │ ├── locals_body_index: 0
+ │ │ ├── parameters: ∅
+ │ │ ├── body: ∅
+ │ │ ├── opening_loc: (7,24)-(7,26) = "do"
+ │ │ └── closing_loc: (7,27)-(7,30) = "end"
│ ├── locals: []
│ ├── locals_body_index: 0
│ ├── def_keyword_loc: (7,6)-(7,9) = "def"
@@ -196,10 +197,9 @@
│ ├── rparen_loc: ∅
│ ├── equal_loc: ∅
│ └── end_keyword_loc: (7,32)-(7,35) = "end"
- ├── statements:
- │ @ StatementsNode (location: (7,37)-(7,42))
- │ └── body: (length: 1)
- │ └── @ BreakNode (location: (7,37)-(7,42))
- │ ├── arguments: ∅
- │ └── keyword_loc: (7,37)-(7,42) = "break"
- └── flags: ∅
+ └── statements:
+ @ StatementsNode (location: (7,37)-(7,42))
+ └── body: (length: 1)
+ └── @ BreakNode (location: (7,37)-(7,42))
+ ├── arguments: ∅
+ └── keyword_loc: (7,37)-(7,42) = "break"
diff --git a/test/prism/snapshots/whitequark/newline_in_hash_argument.txt b/test/prism/snapshots/whitequark/newline_in_hash_argument.txt
index 6bfce489dc..6c571bc9cc 100644
--- a/test/prism/snapshots/whitequark/newline_in_hash_argument.txt
+++ b/test/prism/snapshots/whitequark/newline_in_hash_argument.txt
@@ -6,6 +6,7 @@
├── @ CaseMatchNode (location: (1,0)-(8,3))
│ ├── predicate:
│ │ @ CallNode (location: (1,5)-(1,8))
+ │ │ ├── flags: variable_call
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
│ │ ├── name: :foo
@@ -13,8 +14,7 @@
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
- │ │ ├── block: ∅
- │ │ └── flags: variable_call
+ │ │ └── block: ∅
│ ├── conditions: (length: 2)
│ │ ├── @ InNode (location: (2,0)-(4,4))
│ │ │ ├── pattern:
@@ -70,8 +70,10 @@
│ ├── case_keyword_loc: (1,0)-(1,4) = "case"
│ └── end_keyword_loc: (8,0)-(8,3) = "end"
├── @ CallNode (location: (10,0)-(11,1))
+ │ ├── flags: ∅
│ ├── receiver:
│ │ @ CallNode (location: (10,0)-(10,3))
+ │ │ ├── flags: variable_call
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
│ │ ├── name: :obj
@@ -79,35 +81,35 @@
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
- │ │ ├── block: ∅
- │ │ └── flags: variable_call
+ │ │ └── block: ∅
│ ├── call_operator_loc: (10,3)-(10,4) = "."
│ ├── name: :set
│ ├── message_loc: (10,4)-(10,7) = "set"
│ ├── opening_loc: ∅
│ ├── arguments:
│ │ @ ArgumentsNode (location: (10,8)-(11,1))
- │ │ ├── arguments: (length: 1)
- │ │ │ └── @ KeywordHashNode (location: (10,8)-(11,1))
- │ │ │ └── elements: (length: 1)
- │ │ │ └── @ AssocNode (location: (10,8)-(11,1))
- │ │ │ ├── key:
- │ │ │ │ @ SymbolNode (location: (10,8)-(10,14))
- │ │ │ │ ├── opening_loc: (10,8)-(10,9) = "\""
- │ │ │ │ ├── value_loc: (10,9)-(10,12) = "foo"
- │ │ │ │ ├── closing_loc: (10,12)-(10,14) = "\":"
- │ │ │ │ └── unescaped: "foo"
- │ │ │ ├── value:
- │ │ │ │ @ IntegerNode (location: (11,0)-(11,1))
- │ │ │ │ └── flags: decimal
- │ │ │ └── operator_loc: ∅
- │ │ └── flags: ∅
+ │ │ ├── flags: ∅
+ │ │ └── arguments: (length: 1)
+ │ │ └── @ KeywordHashNode (location: (10,8)-(11,1))
+ │ │ └── elements: (length: 1)
+ │ │ └── @ AssocNode (location: (10,8)-(11,1))
+ │ │ ├── key:
+ │ │ │ @ SymbolNode (location: (10,8)-(10,14))
+ │ │ │ ├── opening_loc: (10,8)-(10,9) = "\""
+ │ │ │ ├── value_loc: (10,9)-(10,12) = "foo"
+ │ │ │ ├── closing_loc: (10,12)-(10,14) = "\":"
+ │ │ │ └── unescaped: "foo"
+ │ │ ├── value:
+ │ │ │ @ IntegerNode (location: (11,0)-(11,1))
+ │ │ │ └── flags: decimal
+ │ │ └── operator_loc: ∅
│ ├── closing_loc: ∅
- │ ├── block: ∅
- │ └── flags: ∅
+ │ └── block: ∅
└── @ CallNode (location: (13,0)-(14,1))
+ ├── flags: ∅
├── receiver:
│ @ CallNode (location: (13,0)-(13,3))
+ │ ├── flags: variable_call
│ ├── receiver: ∅
│ ├── call_operator_loc: ∅
│ ├── name: :obj
@@ -115,29 +117,27 @@
│ ├── opening_loc: ∅
│ ├── arguments: ∅
│ ├── closing_loc: ∅
- │ ├── block: ∅
- │ └── flags: variable_call
+ │ └── block: ∅
├── call_operator_loc: (13,3)-(13,4) = "."
├── name: :set
├── message_loc: (13,4)-(13,7) = "set"
├── opening_loc: ∅
├── arguments:
│ @ ArgumentsNode (location: (13,8)-(14,1))
- │ ├── arguments: (length: 1)
- │ │ └── @ KeywordHashNode (location: (13,8)-(14,1))
- │ │ └── elements: (length: 1)
- │ │ └── @ AssocNode (location: (13,8)-(14,1))
- │ │ ├── key:
- │ │ │ @ SymbolNode (location: (13,8)-(13,12))
- │ │ │ ├── opening_loc: ∅
- │ │ │ ├── value_loc: (13,8)-(13,11) = "foo"
- │ │ │ ├── closing_loc: (13,11)-(13,12) = ":"
- │ │ │ └── unescaped: "foo"
- │ │ ├── value:
- │ │ │ @ IntegerNode (location: (14,0)-(14,1))
- │ │ │ └── flags: decimal
- │ │ └── operator_loc: ∅
- │ └── flags: ∅
+ │ ├── flags: ∅
+ │ └── arguments: (length: 1)
+ │ └── @ KeywordHashNode (location: (13,8)-(14,1))
+ │ └── elements: (length: 1)
+ │ └── @ AssocNode (location: (13,8)-(14,1))
+ │ ├── key:
+ │ │ @ SymbolNode (location: (13,8)-(13,12))
+ │ │ ├── opening_loc: ∅
+ │ │ ├── value_loc: (13,8)-(13,11) = "foo"
+ │ │ ├── closing_loc: (13,11)-(13,12) = ":"
+ │ │ └── unescaped: "foo"
+ │ ├── value:
+ │ │ @ IntegerNode (location: (14,0)-(14,1))
+ │ │ └── flags: decimal
+ │ └── operator_loc: ∅
├── closing_loc: ∅
- ├── block: ∅
- └── flags: ∅
+ └── block: ∅
diff --git a/test/prism/snapshots/whitequark/next.txt b/test/prism/snapshots/whitequark/next.txt
index 3164e58599..74a071ba78 100644
--- a/test/prism/snapshots/whitequark/next.txt
+++ b/test/prism/snapshots/whitequark/next.txt
@@ -9,48 +9,48 @@
├── @ NextNode (location: (3,0)-(3,8))
│ ├── arguments:
│ │ @ ArgumentsNode (location: (3,5)-(3,8))
- │ │ ├── arguments: (length: 1)
- │ │ │ └── @ CallNode (location: (3,5)-(3,8))
- │ │ │ ├── receiver: ∅
- │ │ │ ├── call_operator_loc: ∅
- │ │ │ ├── name: :foo
- │ │ │ ├── message_loc: (3,5)-(3,8) = "foo"
- │ │ │ ├── opening_loc: ∅
- │ │ │ ├── arguments: ∅
- │ │ │ ├── closing_loc: ∅
- │ │ │ ├── block: ∅
- │ │ │ └── flags: variable_call
- │ │ └── flags: ∅
+ │ │ ├── flags: ∅
+ │ │ └── arguments: (length: 1)
+ │ │ └── @ CallNode (location: (3,5)-(3,8))
+ │ │ ├── flags: variable_call
+ │ │ ├── receiver: ∅
+ │ │ ├── call_operator_loc: ∅
+ │ │ ├── name: :foo
+ │ │ ├── message_loc: (3,5)-(3,8) = "foo"
+ │ │ ├── opening_loc: ∅
+ │ │ ├── arguments: ∅
+ │ │ ├── closing_loc: ∅
+ │ │ └── block: ∅
│ └── keyword_loc: (3,0)-(3,4) = "next"
├── @ NextNode (location: (5,0)-(5,6))
│ ├── arguments:
│ │ @ ArgumentsNode (location: (5,4)-(5,6))
- │ │ ├── arguments: (length: 1)
- │ │ │ └── @ ParenthesesNode (location: (5,4)-(5,6))
- │ │ │ ├── body: ∅
- │ │ │ ├── opening_loc: (5,4)-(5,5) = "("
- │ │ │ └── closing_loc: (5,5)-(5,6) = ")"
- │ │ └── flags: ∅
+ │ │ ├── flags: ∅
+ │ │ └── arguments: (length: 1)
+ │ │ └── @ ParenthesesNode (location: (5,4)-(5,6))
+ │ │ ├── body: ∅
+ │ │ ├── opening_loc: (5,4)-(5,5) = "("
+ │ │ └── closing_loc: (5,5)-(5,6) = ")"
│ └── keyword_loc: (5,0)-(5,4) = "next"
└── @ NextNode (location: (7,0)-(7,9))
├── arguments:
│ @ ArgumentsNode (location: (7,4)-(7,9))
- │ ├── arguments: (length: 1)
- │ │ └── @ ParenthesesNode (location: (7,4)-(7,9))
- │ │ ├── body:
- │ │ │ @ StatementsNode (location: (7,5)-(7,8))
- │ │ │ └── body: (length: 1)
- │ │ │ └── @ CallNode (location: (7,5)-(7,8))
- │ │ │ ├── receiver: ∅
- │ │ │ ├── call_operator_loc: ∅
- │ │ │ ├── name: :foo
- │ │ │ ├── message_loc: (7,5)-(7,8) = "foo"
- │ │ │ ├── opening_loc: ∅
- │ │ │ ├── arguments: ∅
- │ │ │ ├── closing_loc: ∅
- │ │ │ ├── block: ∅
- │ │ │ └── flags: variable_call
- │ │ ├── opening_loc: (7,4)-(7,5) = "("
- │ │ └── closing_loc: (7,8)-(7,9) = ")"
- │ └── flags: ∅
+ │ ├── flags: ∅
+ │ └── arguments: (length: 1)
+ │ └── @ ParenthesesNode (location: (7,4)-(7,9))
+ │ ├── body:
+ │ │ @ StatementsNode (location: (7,5)-(7,8))
+ │ │ └── body: (length: 1)
+ │ │ └── @ CallNode (location: (7,5)-(7,8))
+ │ │ ├── flags: variable_call
+ │ │ ├── receiver: ∅
+ │ │ ├── call_operator_loc: ∅
+ │ │ ├── name: :foo
+ │ │ ├── message_loc: (7,5)-(7,8) = "foo"
+ │ │ ├── opening_loc: ∅
+ │ │ ├── arguments: ∅
+ │ │ ├── closing_loc: ∅
+ │ │ └── block: ∅
+ │ ├── opening_loc: (7,4)-(7,5) = "("
+ │ └── closing_loc: (7,8)-(7,9) = ")"
└── keyword_loc: (7,0)-(7,4) = "next"
diff --git a/test/prism/snapshots/whitequark/next_block.txt b/test/prism/snapshots/whitequark/next_block.txt
index b3a0206e65..99a4d87747 100644
--- a/test/prism/snapshots/whitequark/next_block.txt
+++ b/test/prism/snapshots/whitequark/next_block.txt
@@ -6,36 +6,36 @@
└── @ NextNode (location: (1,0)-(1,19))
├── arguments:
│ @ ArgumentsNode (location: (1,5)-(1,19))
- │ ├── arguments: (length: 1)
- │ │ └── @ CallNode (location: (1,5)-(1,19))
- │ │ ├── receiver: ∅
- │ │ ├── call_operator_loc: ∅
- │ │ ├── name: :fun
- │ │ ├── message_loc: (1,5)-(1,8) = "fun"
- │ │ ├── opening_loc: ∅
- │ │ ├── arguments:
- │ │ │ @ ArgumentsNode (location: (1,9)-(1,12))
- │ │ │ ├── arguments: (length: 1)
- │ │ │ │ └── @ CallNode (location: (1,9)-(1,12))
- │ │ │ │ ├── receiver: ∅
- │ │ │ │ ├── call_operator_loc: ∅
- │ │ │ │ ├── name: :foo
- │ │ │ │ ├── message_loc: (1,9)-(1,12) = "foo"
- │ │ │ │ ├── opening_loc: ∅
- │ │ │ │ ├── arguments: ∅
- │ │ │ │ ├── closing_loc: ∅
- │ │ │ │ ├── block: ∅
- │ │ │ │ └── flags: variable_call
- │ │ │ └── flags: ∅
- │ │ ├── closing_loc: ∅
- │ │ ├── block:
- │ │ │ @ BlockNode (location: (1,13)-(1,19))
- │ │ │ ├── locals: []
- │ │ │ ├── locals_body_index: 0
- │ │ │ ├── parameters: ∅
- │ │ │ ├── body: ∅
- │ │ │ ├── opening_loc: (1,13)-(1,15) = "do"
- │ │ │ └── closing_loc: (1,16)-(1,19) = "end"
- │ │ └── flags: ∅
- │ └── flags: ∅
+ │ ├── flags: ∅
+ │ └── arguments: (length: 1)
+ │ └── @ CallNode (location: (1,5)-(1,19))
+ │ ├── flags: ∅
+ │ ├── receiver: ∅
+ │ ├── call_operator_loc: ∅
+ │ ├── name: :fun
+ │ ├── message_loc: (1,5)-(1,8) = "fun"
+ │ ├── opening_loc: ∅
+ │ ├── arguments:
+ │ │ @ ArgumentsNode (location: (1,9)-(1,12))
+ │ │ ├── flags: ∅
+ │ │ └── arguments: (length: 1)
+ │ │ └── @ CallNode (location: (1,9)-(1,12))
+ │ │ ├── flags: variable_call
+ │ │ ├── receiver: ∅
+ │ │ ├── call_operator_loc: ∅
+ │ │ ├── name: :foo
+ │ │ ├── message_loc: (1,9)-(1,12) = "foo"
+ │ │ ├── opening_loc: ∅
+ │ │ ├── arguments: ∅
+ │ │ ├── closing_loc: ∅
+ │ │ └── block: ∅
+ │ ├── closing_loc: ∅
+ │ └── block:
+ │ @ BlockNode (location: (1,13)-(1,19))
+ │ ├── locals: []
+ │ ├── locals_body_index: 0
+ │ ├── parameters: ∅
+ │ ├── body: ∅
+ │ ├── opening_loc: (1,13)-(1,15) = "do"
+ │ └── closing_loc: (1,16)-(1,19) = "end"
└── keyword_loc: (1,0)-(1,4) = "next"
diff --git a/test/prism/snapshots/whitequark/non_lvar_injecting_match.txt b/test/prism/snapshots/whitequark/non_lvar_injecting_match.txt
index d58da0f420..7b577e5bd9 100644
--- a/test/prism/snapshots/whitequark/non_lvar_injecting_match.txt
+++ b/test/prism/snapshots/whitequark/non_lvar_injecting_match.txt
@@ -4,8 +4,10 @@
@ StatementsNode (location: (1,0)-(1,28))
└── body: (length: 1)
└── @ CallNode (location: (1,0)-(1,28))
+ ├── flags: ∅
├── receiver:
│ @ InterpolatedRegularExpressionNode (location: (1,0)-(1,19))
+ │ ├── flags: ∅
│ ├── opening_loc: (1,0)-(1,1) = "/"
│ ├── parts: (length: 2)
│ │ ├── @ EmbeddedStatementsNode (location: (1,1)-(1,5))
@@ -22,22 +24,20 @@
│ │ ├── content_loc: (1,5)-(1,18) = "(?<match>bar)"
│ │ ├── closing_loc: ∅
│ │ └── unescaped: "(?<match>bar)"
- │ ├── closing_loc: (1,18)-(1,19) = "/"
- │ └── flags: ∅
+ │ └── closing_loc: (1,18)-(1,19) = "/"
├── call_operator_loc: ∅
├── name: :=~
├── message_loc: (1,20)-(1,22) = "=~"
├── opening_loc: ∅
├── arguments:
│ @ ArgumentsNode (location: (1,23)-(1,28))
- │ ├── arguments: (length: 1)
- │ │ └── @ StringNode (location: (1,23)-(1,28))
- │ │ ├── flags: ∅
- │ │ ├── opening_loc: (1,23)-(1,24) = "'"
- │ │ ├── content_loc: (1,24)-(1,27) = "bar"
- │ │ ├── closing_loc: (1,27)-(1,28) = "'"
- │ │ └── unescaped: "bar"
- │ └── flags: ∅
+ │ ├── flags: ∅
+ │ └── arguments: (length: 1)
+ │ └── @ StringNode (location: (1,23)-(1,28))
+ │ ├── flags: ∅
+ │ ├── opening_loc: (1,23)-(1,24) = "'"
+ │ ├── content_loc: (1,24)-(1,27) = "bar"
+ │ ├── closing_loc: (1,27)-(1,28) = "'"
+ │ └── unescaped: "bar"
├── closing_loc: ∅
- ├── block: ∅
- └── flags: ∅
+ └── block: ∅
diff --git a/test/prism/snapshots/whitequark/not.txt b/test/prism/snapshots/whitequark/not.txt
index 44812ba140..95984ddc06 100644
--- a/test/prism/snapshots/whitequark/not.txt
+++ b/test/prism/snapshots/whitequark/not.txt
@@ -4,8 +4,10 @@
@ StatementsNode (location: (1,0)-(5,8))
└── body: (length: 3)
├── @ CallNode (location: (1,0)-(1,7))
+ │ ├── flags: ∅
│ ├── receiver:
│ │ @ CallNode (location: (1,4)-(1,7))
+ │ │ ├── flags: variable_call
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
│ │ ├── name: :foo
@@ -13,17 +15,16 @@
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
- │ │ ├── block: ∅
- │ │ └── flags: variable_call
+ │ │ └── block: ∅
│ ├── call_operator_loc: ∅
│ ├── name: :!
│ ├── message_loc: (1,0)-(1,3) = "not"
│ ├── opening_loc: ∅
│ ├── arguments: ∅
│ ├── closing_loc: ∅
- │ ├── block: ∅
- │ └── flags: ∅
+ │ └── block: ∅
├── @ CallNode (location: (3,0)-(3,5))
+ │ ├── flags: ∅
│ ├── receiver: ∅
│ ├── call_operator_loc: ∅
│ ├── name: :!
@@ -31,11 +32,12 @@
│ ├── opening_loc: (3,3)-(3,4) = "("
│ ├── arguments: ∅
│ ├── closing_loc: (3,4)-(3,5) = ")"
- │ ├── block: ∅
- │ └── flags: ∅
+ │ └── block: ∅
└── @ CallNode (location: (5,0)-(5,8))
+ ├── flags: ∅
├── receiver:
│ @ CallNode (location: (5,4)-(5,7))
+ │ ├── flags: variable_call
│ ├── receiver: ∅
│ ├── call_operator_loc: ∅
│ ├── name: :foo
@@ -43,13 +45,11 @@
│ ├── opening_loc: ∅
│ ├── arguments: ∅
│ ├── closing_loc: ∅
- │ ├── block: ∅
- │ └── flags: variable_call
+ │ └── block: ∅
├── call_operator_loc: ∅
├── name: :!
├── message_loc: (5,0)-(5,3) = "not"
├── opening_loc: (5,3)-(5,4) = "("
├── arguments: ∅
├── closing_loc: (5,7)-(5,8) = ")"
- ├── block: ∅
- └── flags: ∅
+ └── block: ∅
diff --git a/test/prism/snapshots/whitequark/not_cmd.txt b/test/prism/snapshots/whitequark/not_cmd.txt
index 64240e9fa7..d2e82ae62c 100644
--- a/test/prism/snapshots/whitequark/not_cmd.txt
+++ b/test/prism/snapshots/whitequark/not_cmd.txt
@@ -4,8 +4,10 @@
@ StatementsNode (location: (1,0)-(1,9))
└── body: (length: 1)
└── @ CallNode (location: (1,0)-(1,9))
+ ├── flags: ∅
├── receiver:
│ @ CallNode (location: (1,4)-(1,9))
+ │ ├── flags: ∅
│ ├── receiver: ∅
│ ├── call_operator_loc: ∅
│ ├── name: :m
@@ -13,26 +15,24 @@
│ ├── opening_loc: ∅
│ ├── arguments:
│ │ @ ArgumentsNode (location: (1,6)-(1,9))
- │ │ ├── arguments: (length: 1)
- │ │ │ └── @ CallNode (location: (1,6)-(1,9))
- │ │ │ ├── receiver: ∅
- │ │ │ ├── call_operator_loc: ∅
- │ │ │ ├── name: :foo
- │ │ │ ├── message_loc: (1,6)-(1,9) = "foo"
- │ │ │ ├── opening_loc: ∅
- │ │ │ ├── arguments: ∅
- │ │ │ ├── closing_loc: ∅
- │ │ │ ├── block: ∅
- │ │ │ └── flags: variable_call
- │ │ └── flags: ∅
+ │ │ ├── flags: ∅
+ │ │ └── arguments: (length: 1)
+ │ │ └── @ CallNode (location: (1,6)-(1,9))
+ │ │ ├── flags: variable_call
+ │ │ ├── receiver: ∅
+ │ │ ├── call_operator_loc: ∅
+ │ │ ├── name: :foo
+ │ │ ├── message_loc: (1,6)-(1,9) = "foo"
+ │ │ ├── opening_loc: ∅
+ │ │ ├── arguments: ∅
+ │ │ ├── closing_loc: ∅
+ │ │ └── block: ∅
│ ├── closing_loc: ∅
- │ ├── block: ∅
- │ └── flags: ∅
+ │ └── block: ∅
├── call_operator_loc: ∅
├── name: :!
├── message_loc: (1,0)-(1,3) = "not"
├── opening_loc: ∅
├── arguments: ∅
├── closing_loc: ∅
- ├── block: ∅
- └── flags: ∅
+ └── block: ∅
diff --git a/test/prism/snapshots/whitequark/not_masgn__24.txt b/test/prism/snapshots/whitequark/not_masgn__24.txt
index 3e333a25f2..f25433976f 100644
--- a/test/prism/snapshots/whitequark/not_masgn__24.txt
+++ b/test/prism/snapshots/whitequark/not_masgn__24.txt
@@ -4,6 +4,7 @@
@ StatementsNode (location: (1,0)-(1,13))
└── body: (length: 1)
└── @ CallNode (location: (1,0)-(1,13))
+ ├── flags: ∅
├── receiver:
│ @ ParenthesesNode (location: (1,1)-(1,13))
│ ├── body:
@@ -24,6 +25,7 @@
│ │ ├── operator_loc: (1,7)-(1,8) = "="
│ │ └── value:
│ │ @ CallNode (location: (1,9)-(1,12))
+ │ │ ├── flags: variable_call
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
│ │ ├── name: :foo
@@ -31,8 +33,7 @@
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
- │ │ ├── block: ∅
- │ │ └── flags: variable_call
+ │ │ └── block: ∅
│ ├── opening_loc: (1,1)-(1,2) = "("
│ └── closing_loc: (1,12)-(1,13) = ")"
├── call_operator_loc: ∅
@@ -41,5 +42,4 @@
├── opening_loc: ∅
├── arguments: ∅
├── closing_loc: ∅
- ├── block: ∅
- └── flags: ∅
+ └── block: ∅
diff --git a/test/prism/snapshots/whitequark/numbered_args_after_27.txt b/test/prism/snapshots/whitequark/numbered_args_after_27.txt
index f87c8a4d69..ed70923edf 100644
--- a/test/prism/snapshots/whitequark/numbered_args_after_27.txt
+++ b/test/prism/snapshots/whitequark/numbered_args_after_27.txt
@@ -16,6 +16,7 @@
│ @ StatementsNode (location: (1,6)-(1,13))
│ └── body: (length: 1)
│ └── @ CallNode (location: (1,6)-(1,13))
+ │ ├── flags: ∅
│ ├── receiver:
│ │ @ LocalVariableReadNode (location: (1,6)-(1,8))
│ │ ├── name: :_1
@@ -26,14 +27,13 @@
│ ├── opening_loc: ∅
│ ├── arguments:
│ │ @ ArgumentsNode (location: (1,11)-(1,13))
- │ │ ├── arguments: (length: 1)
- │ │ │ └── @ LocalVariableReadNode (location: (1,11)-(1,13))
- │ │ │ ├── name: :_9
- │ │ │ └── depth: 0
- │ │ └── flags: ∅
+ │ │ ├── flags: ∅
+ │ │ └── arguments: (length: 1)
+ │ │ └── @ LocalVariableReadNode (location: (1,11)-(1,13))
+ │ │ ├── name: :_9
+ │ │ └── depth: 0
│ ├── closing_loc: ∅
- │ ├── block: ∅
- │ └── flags: ∅
+ │ └── block: ∅
├── @ LambdaNode (location: (3,0)-(3,13))
│ ├── locals: [:_1, :_2, :_3, :_4, :_5, :_6, :_7, :_8, :_9]
│ ├── locals_body_index: 9
@@ -47,6 +47,7 @@
│ @ StatementsNode (location: (3,5)-(3,12))
│ └── body: (length: 1)
│ └── @ CallNode (location: (3,5)-(3,12))
+ │ ├── flags: ∅
│ ├── receiver:
│ │ @ LocalVariableReadNode (location: (3,5)-(3,7))
│ │ ├── name: :_1
@@ -57,15 +58,15 @@
│ ├── opening_loc: ∅
│ ├── arguments:
│ │ @ ArgumentsNode (location: (3,10)-(3,12))
- │ │ ├── arguments: (length: 1)
- │ │ │ └── @ LocalVariableReadNode (location: (3,10)-(3,12))
- │ │ │ ├── name: :_9
- │ │ │ └── depth: 0
- │ │ └── flags: ∅
+ │ │ ├── flags: ∅
+ │ │ └── arguments: (length: 1)
+ │ │ └── @ LocalVariableReadNode (location: (3,10)-(3,12))
+ │ │ ├── name: :_9
+ │ │ └── depth: 0
│ ├── closing_loc: ∅
- │ ├── block: ∅
- │ └── flags: ∅
+ │ └── block: ∅
├── @ CallNode (location: (5,0)-(5,16))
+ │ ├── flags: ∅
│ ├── receiver: ∅
│ ├── call_operator_loc: ∅
│ ├── name: :m
@@ -73,39 +74,39 @@
│ ├── opening_loc: ∅
│ ├── arguments: ∅
│ ├── closing_loc: ∅
- │ ├── block:
- │ │ @ BlockNode (location: (5,2)-(5,16))
- │ │ ├── locals: [:_1, :_2, :_3, :_4, :_5, :_6, :_7, :_8, :_9]
- │ │ ├── locals_body_index: 9
- │ │ ├── parameters:
- │ │ │ @ NumberedParametersNode (location: (5,2)-(5,16))
- │ │ │ └── maximum: 9
- │ │ ├── body:
- │ │ │ @ StatementsNode (location: (5,5)-(5,12))
- │ │ │ └── body: (length: 1)
- │ │ │ └── @ CallNode (location: (5,5)-(5,12))
- │ │ │ ├── receiver:
- │ │ │ │ @ LocalVariableReadNode (location: (5,5)-(5,7))
- │ │ │ │ ├── name: :_1
- │ │ │ │ └── depth: 0
- │ │ │ ├── call_operator_loc: ∅
- │ │ │ ├── name: :+
- │ │ │ ├── message_loc: (5,8)-(5,9) = "+"
- │ │ │ ├── opening_loc: ∅
- │ │ │ ├── arguments:
- │ │ │ │ @ ArgumentsNode (location: (5,10)-(5,12))
- │ │ │ │ ├── arguments: (length: 1)
- │ │ │ │ │ └── @ LocalVariableReadNode (location: (5,10)-(5,12))
- │ │ │ │ │ ├── name: :_9
- │ │ │ │ │ └── depth: 0
- │ │ │ │ └── flags: ∅
- │ │ │ ├── closing_loc: ∅
- │ │ │ ├── block: ∅
- │ │ │ └── flags: ∅
- │ │ ├── opening_loc: (5,2)-(5,4) = "do"
- │ │ └── closing_loc: (5,13)-(5,16) = "end"
- │ └── flags: ∅
+ │ └── block:
+ │ @ BlockNode (location: (5,2)-(5,16))
+ │ ├── locals: [:_1, :_2, :_3, :_4, :_5, :_6, :_7, :_8, :_9]
+ │ ├── locals_body_index: 9
+ │ ├── parameters:
+ │ │ @ NumberedParametersNode (location: (5,2)-(5,16))
+ │ │ └── maximum: 9
+ │ ├── body:
+ │ │ @ StatementsNode (location: (5,5)-(5,12))
+ │ │ └── body: (length: 1)
+ │ │ └── @ CallNode (location: (5,5)-(5,12))
+ │ │ ├── flags: ∅
+ │ │ ├── receiver:
+ │ │ │ @ LocalVariableReadNode (location: (5,5)-(5,7))
+ │ │ │ ├── name: :_1
+ │ │ │ └── depth: 0
+ │ │ ├── call_operator_loc: ∅
+ │ │ ├── name: :+
+ │ │ ├── message_loc: (5,8)-(5,9) = "+"
+ │ │ ├── opening_loc: ∅
+ │ │ ├── arguments:
+ │ │ │ @ ArgumentsNode (location: (5,10)-(5,12))
+ │ │ │ ├── flags: ∅
+ │ │ │ └── arguments: (length: 1)
+ │ │ │ └── @ LocalVariableReadNode (location: (5,10)-(5,12))
+ │ │ │ ├── name: :_9
+ │ │ │ └── depth: 0
+ │ │ ├── closing_loc: ∅
+ │ │ └── block: ∅
+ │ ├── opening_loc: (5,2)-(5,4) = "do"
+ │ └── closing_loc: (5,13)-(5,16) = "end"
└── @ CallNode (location: (7,0)-(7,13))
+ ├── flags: ∅
├── receiver: ∅
├── call_operator_loc: ∅
├── name: :m
@@ -113,35 +114,34 @@
├── opening_loc: ∅
├── arguments: ∅
├── closing_loc: ∅
- ├── block:
- │ @ BlockNode (location: (7,2)-(7,13))
- │ ├── locals: [:_1, :_2, :_3, :_4, :_5, :_6, :_7, :_8, :_9]
- │ ├── locals_body_index: 9
- │ ├── parameters:
- │ │ @ NumberedParametersNode (location: (7,2)-(7,13))
- │ │ └── maximum: 9
- │ ├── body:
- │ │ @ StatementsNode (location: (7,4)-(7,11))
- │ │ └── body: (length: 1)
- │ │ └── @ CallNode (location: (7,4)-(7,11))
- │ │ ├── receiver:
- │ │ │ @ LocalVariableReadNode (location: (7,4)-(7,6))
- │ │ │ ├── name: :_1
- │ │ │ └── depth: 0
- │ │ ├── call_operator_loc: ∅
- │ │ ├── name: :+
- │ │ ├── message_loc: (7,7)-(7,8) = "+"
- │ │ ├── opening_loc: ∅
- │ │ ├── arguments:
- │ │ │ @ ArgumentsNode (location: (7,9)-(7,11))
- │ │ │ ├── arguments: (length: 1)
- │ │ │ │ └── @ LocalVariableReadNode (location: (7,9)-(7,11))
- │ │ │ │ ├── name: :_9
- │ │ │ │ └── depth: 0
- │ │ │ └── flags: ∅
- │ │ ├── closing_loc: ∅
- │ │ ├── block: ∅
- │ │ └── flags: ∅
- │ ├── opening_loc: (7,2)-(7,3) = "{"
- │ └── closing_loc: (7,12)-(7,13) = "}"
- └── flags: ∅
+ └── block:
+ @ BlockNode (location: (7,2)-(7,13))
+ ├── locals: [:_1, :_2, :_3, :_4, :_5, :_6, :_7, :_8, :_9]
+ ├── locals_body_index: 9
+ ├── parameters:
+ │ @ NumberedParametersNode (location: (7,2)-(7,13))
+ │ └── maximum: 9
+ ├── body:
+ │ @ StatementsNode (location: (7,4)-(7,11))
+ │ └── body: (length: 1)
+ │ └── @ CallNode (location: (7,4)-(7,11))
+ │ ├── flags: ∅
+ │ ├── receiver:
+ │ │ @ LocalVariableReadNode (location: (7,4)-(7,6))
+ │ │ ├── name: :_1
+ │ │ └── depth: 0
+ │ ├── call_operator_loc: ∅
+ │ ├── name: :+
+ │ ├── message_loc: (7,7)-(7,8) = "+"
+ │ ├── opening_loc: ∅
+ │ ├── arguments:
+ │ │ @ ArgumentsNode (location: (7,9)-(7,11))
+ │ │ ├── flags: ∅
+ │ │ └── arguments: (length: 1)
+ │ │ └── @ LocalVariableReadNode (location: (7,9)-(7,11))
+ │ │ ├── name: :_9
+ │ │ └── depth: 0
+ │ ├── closing_loc: ∅
+ │ └── block: ∅
+ ├── opening_loc: (7,2)-(7,3) = "{"
+ └── closing_loc: (7,12)-(7,13) = "}"
diff --git a/test/prism/snapshots/whitequark/numparam_outside_block.txt b/test/prism/snapshots/whitequark/numparam_outside_block.txt
index fb702cf50d..bfd1bb8e0c 100644
--- a/test/prism/snapshots/whitequark/numparam_outside_block.txt
+++ b/test/prism/snapshots/whitequark/numparam_outside_block.txt
@@ -4,6 +4,7 @@
@ StatementsNode (location: (1,0)-(9,17))
└── body: (length: 5)
├── @ CallNode (location: (1,0)-(1,2))
+ │ ├── flags: variable_call
│ ├── receiver: ∅
│ ├── call_operator_loc: ∅
│ ├── name: :_1
@@ -11,14 +12,14 @@
│ ├── opening_loc: ∅
│ ├── arguments: ∅
│ ├── closing_loc: ∅
- │ ├── block: ∅
- │ └── flags: variable_call
+ │ └── block: ∅
├── @ SingletonClassNode (location: (3,0)-(3,21))
│ ├── locals: []
│ ├── class_keyword_loc: (3,0)-(3,5) = "class"
│ ├── operator_loc: (3,6)-(3,8) = "<<"
│ ├── expression:
│ │ @ CallNode (location: (3,9)-(3,12))
+ │ │ ├── flags: variable_call
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
│ │ ├── name: :foo
@@ -26,12 +27,12 @@
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
- │ │ ├── block: ∅
- │ │ └── flags: variable_call
+ │ │ └── block: ∅
│ ├── body:
│ │ @ StatementsNode (location: (3,14)-(3,16))
│ │ └── body: (length: 1)
│ │ └── @ CallNode (location: (3,14)-(3,16))
+ │ │ ├── flags: variable_call
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
│ │ ├── name: :_1
@@ -39,8 +40,7 @@
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
- │ │ ├── block: ∅
- │ │ └── flags: variable_call
+ │ │ └── block: ∅
│ └── end_keyword_loc: (3,18)-(3,21) = "end"
├── @ ClassNode (location: (5,0)-(5,16))
│ ├── locals: []
@@ -54,6 +54,7 @@
│ │ @ StatementsNode (location: (5,9)-(5,11))
│ │ └── body: (length: 1)
│ │ └── @ CallNode (location: (5,9)-(5,11))
+ │ │ ├── flags: variable_call
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
│ │ ├── name: :_1
@@ -61,8 +62,7 @@
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
- │ │ ├── block: ∅
- │ │ └── flags: variable_call
+ │ │ └── block: ∅
│ ├── end_keyword_loc: (5,13)-(5,16) = "end"
│ └── name: :A
├── @ DefNode (location: (7,0)-(7,19))
@@ -75,6 +75,7 @@
│ │ @ StatementsNode (location: (7,12)-(7,14))
│ │ └── body: (length: 1)
│ │ └── @ CallNode (location: (7,12)-(7,14))
+ │ │ ├── flags: variable_call
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
│ │ ├── name: :_1
@@ -82,8 +83,7 @@
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
- │ │ ├── block: ∅
- │ │ └── flags: variable_call
+ │ │ └── block: ∅
│ ├── locals: []
│ ├── locals_body_index: 0
│ ├── def_keyword_loc: (7,0)-(7,3) = "def"
@@ -102,6 +102,7 @@
│ @ StatementsNode (location: (9,10)-(9,12))
│ └── body: (length: 1)
│ └── @ CallNode (location: (9,10)-(9,12))
+ │ ├── flags: variable_call
│ ├── receiver: ∅
│ ├── call_operator_loc: ∅
│ ├── name: :_1
@@ -109,7 +110,6 @@
│ ├── opening_loc: ∅
│ ├── arguments: ∅
│ ├── closing_loc: ∅
- │ ├── block: ∅
- │ └── flags: variable_call
+ │ └── block: ∅
├── end_keyword_loc: (9,14)-(9,17) = "end"
└── name: :A
diff --git a/test/prism/snapshots/whitequark/op_asgn.txt b/test/prism/snapshots/whitequark/op_asgn.txt
index 38906896cd..76f2e27dd9 100644
--- a/test/prism/snapshots/whitequark/op_asgn.txt
+++ b/test/prism/snapshots/whitequark/op_asgn.txt
@@ -4,8 +4,10 @@
@ StatementsNode (location: (1,0)-(5,11))
└── body: (length: 3)
├── @ CallOperatorWriteNode (location: (1,0)-(1,10))
+ │ ├── flags: ∅
│ ├── receiver:
│ │ @ CallNode (location: (1,0)-(1,3))
+ │ │ ├── flags: variable_call
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
│ │ ├── name: :foo
@@ -13,11 +15,9 @@
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
- │ │ ├── block: ∅
- │ │ └── flags: variable_call
+ │ │ └── block: ∅
│ ├── call_operator_loc: (1,3)-(1,4) = "."
│ ├── message_loc: (1,4)-(1,5) = "A"
- │ ├── flags: ∅
│ ├── read_name: :A
│ ├── write_name: :A=
│ ├── operator: :+
@@ -26,8 +26,10 @@
│ @ IntegerNode (location: (1,9)-(1,10))
│ └── flags: decimal
├── @ CallOperatorWriteNode (location: (3,0)-(3,10))
+ │ ├── flags: ∅
│ ├── receiver:
│ │ @ CallNode (location: (3,0)-(3,3))
+ │ │ ├── flags: variable_call
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
│ │ ├── name: :foo
@@ -35,11 +37,9 @@
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
- │ │ ├── block: ∅
- │ │ └── flags: variable_call
+ │ │ └── block: ∅
│ ├── call_operator_loc: (3,3)-(3,4) = "."
│ ├── message_loc: (3,4)-(3,5) = "a"
- │ ├── flags: ∅
│ ├── read_name: :a
│ ├── write_name: :a=
│ ├── operator: :+
@@ -48,8 +48,10 @@
│ @ IntegerNode (location: (3,9)-(3,10))
│ └── flags: decimal
└── @ CallOperatorWriteNode (location: (5,0)-(5,11))
+ ├── flags: ∅
├── receiver:
│ @ CallNode (location: (5,0)-(5,3))
+ │ ├── flags: variable_call
│ ├── receiver: ∅
│ ├── call_operator_loc: ∅
│ ├── name: :foo
@@ -57,11 +59,9 @@
│ ├── opening_loc: ∅
│ ├── arguments: ∅
│ ├── closing_loc: ∅
- │ ├── block: ∅
- │ └── flags: variable_call
+ │ └── block: ∅
├── call_operator_loc: (5,3)-(5,5) = "::"
├── message_loc: (5,5)-(5,6) = "a"
- ├── flags: ∅
├── read_name: :a
├── write_name: :a=
├── operator: :+
diff --git a/test/prism/snapshots/whitequark/op_asgn_cmd.txt b/test/prism/snapshots/whitequark/op_asgn_cmd.txt
index 90710078a2..cb390aa010 100644
--- a/test/prism/snapshots/whitequark/op_asgn_cmd.txt
+++ b/test/prism/snapshots/whitequark/op_asgn_cmd.txt
@@ -4,8 +4,10 @@
@ StatementsNode (location: (1,0)-(7,15))
└── body: (length: 4)
├── @ CallOperatorWriteNode (location: (1,0)-(1,14))
+ │ ├── flags: ∅
│ ├── receiver:
│ │ @ CallNode (location: (1,0)-(1,3))
+ │ │ ├── flags: variable_call
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
│ │ ├── name: :foo
@@ -13,17 +15,16 @@
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
- │ │ ├── block: ∅
- │ │ └── flags: variable_call
+ │ │ └── block: ∅
│ ├── call_operator_loc: (1,3)-(1,4) = "."
│ ├── message_loc: (1,4)-(1,5) = "A"
- │ ├── flags: ∅
│ ├── read_name: :A
│ ├── write_name: :A=
│ ├── operator: :+
│ ├── operator_loc: (1,6)-(1,8) = "+="
│ └── value:
│ @ CallNode (location: (1,9)-(1,14))
+ │ ├── flags: ∅
│ ├── receiver: ∅
│ ├── call_operator_loc: ∅
│ ├── name: :m
@@ -31,24 +32,25 @@
│ ├── opening_loc: ∅
│ ├── arguments:
│ │ @ ArgumentsNode (location: (1,11)-(1,14))
- │ │ ├── arguments: (length: 1)
- │ │ │ └── @ CallNode (location: (1,11)-(1,14))
- │ │ │ ├── receiver: ∅
- │ │ │ ├── call_operator_loc: ∅
- │ │ │ ├── name: :foo
- │ │ │ ├── message_loc: (1,11)-(1,14) = "foo"
- │ │ │ ├── opening_loc: ∅
- │ │ │ ├── arguments: ∅
- │ │ │ ├── closing_loc: ∅
- │ │ │ ├── block: ∅
- │ │ │ └── flags: variable_call
- │ │ └── flags: ∅
+ │ │ ├── flags: ∅
+ │ │ └── arguments: (length: 1)
+ │ │ └── @ CallNode (location: (1,11)-(1,14))
+ │ │ ├── flags: variable_call
+ │ │ ├── receiver: ∅
+ │ │ ├── call_operator_loc: ∅
+ │ │ ├── name: :foo
+ │ │ ├── message_loc: (1,11)-(1,14) = "foo"
+ │ │ ├── opening_loc: ∅
+ │ │ ├── arguments: ∅
+ │ │ ├── closing_loc: ∅
+ │ │ └── block: ∅
│ ├── closing_loc: ∅
- │ ├── block: ∅
- │ └── flags: ∅
+ │ └── block: ∅
├── @ CallOperatorWriteNode (location: (3,0)-(3,14))
+ │ ├── flags: ∅
│ ├── receiver:
│ │ @ CallNode (location: (3,0)-(3,3))
+ │ │ ├── flags: variable_call
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
│ │ ├── name: :foo
@@ -56,17 +58,16 @@
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
- │ │ ├── block: ∅
- │ │ └── flags: variable_call
+ │ │ └── block: ∅
│ ├── call_operator_loc: (3,3)-(3,4) = "."
│ ├── message_loc: (3,4)-(3,5) = "a"
- │ ├── flags: ∅
│ ├── read_name: :a
│ ├── write_name: :a=
│ ├── operator: :+
│ ├── operator_loc: (3,6)-(3,8) = "+="
│ └── value:
│ @ CallNode (location: (3,9)-(3,14))
+ │ ├── flags: ∅
│ ├── receiver: ∅
│ ├── call_operator_loc: ∅
│ ├── name: :m
@@ -74,26 +75,26 @@
│ ├── opening_loc: ∅
│ ├── arguments:
│ │ @ ArgumentsNode (location: (3,11)-(3,14))
- │ │ ├── arguments: (length: 1)
- │ │ │ └── @ CallNode (location: (3,11)-(3,14))
- │ │ │ ├── receiver: ∅
- │ │ │ ├── call_operator_loc: ∅
- │ │ │ ├── name: :foo
- │ │ │ ├── message_loc: (3,11)-(3,14) = "foo"
- │ │ │ ├── opening_loc: ∅
- │ │ │ ├── arguments: ∅
- │ │ │ ├── closing_loc: ∅
- │ │ │ ├── block: ∅
- │ │ │ └── flags: variable_call
- │ │ └── flags: ∅
+ │ │ ├── flags: ∅
+ │ │ └── arguments: (length: 1)
+ │ │ └── @ CallNode (location: (3,11)-(3,14))
+ │ │ ├── flags: variable_call
+ │ │ ├── receiver: ∅
+ │ │ ├── call_operator_loc: ∅
+ │ │ ├── name: :foo
+ │ │ ├── message_loc: (3,11)-(3,14) = "foo"
+ │ │ ├── opening_loc: ∅
+ │ │ ├── arguments: ∅
+ │ │ ├── closing_loc: ∅
+ │ │ └── block: ∅
│ ├── closing_loc: ∅
- │ ├── block: ∅
- │ └── flags: ∅
+ │ └── block: ∅
├── @ ConstantPathOperatorWriteNode (location: (5,0)-(5,15))
│ ├── target:
│ │ @ ConstantPathNode (location: (5,0)-(5,6))
│ │ ├── parent:
│ │ │ @ CallNode (location: (5,0)-(5,3))
+ │ │ │ ├── flags: variable_call
│ │ │ ├── receiver: ∅
│ │ │ ├── call_operator_loc: ∅
│ │ │ ├── name: :foo
@@ -101,8 +102,7 @@
│ │ │ ├── opening_loc: ∅
│ │ │ ├── arguments: ∅
│ │ │ ├── closing_loc: ∅
- │ │ │ ├── block: ∅
- │ │ │ └── flags: variable_call
+ │ │ │ └── block: ∅
│ │ ├── child:
│ │ │ @ ConstantReadNode (location: (5,5)-(5,6))
│ │ │ └── name: :A
@@ -110,6 +110,7 @@
│ ├── operator_loc: (5,7)-(5,9) = "+="
│ ├── value:
│ │ @ CallNode (location: (5,10)-(5,15))
+ │ │ ├── flags: ∅
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
│ │ ├── name: :m
@@ -117,25 +118,26 @@
│ │ ├── opening_loc: ∅
│ │ ├── arguments:
│ │ │ @ ArgumentsNode (location: (5,12)-(5,15))
- │ │ │ ├── arguments: (length: 1)
- │ │ │ │ └── @ CallNode (location: (5,12)-(5,15))
- │ │ │ │ ├── receiver: ∅
- │ │ │ │ ├── call_operator_loc: ∅
- │ │ │ │ ├── name: :foo
- │ │ │ │ ├── message_loc: (5,12)-(5,15) = "foo"
- │ │ │ │ ├── opening_loc: ∅
- │ │ │ │ ├── arguments: ∅
- │ │ │ │ ├── closing_loc: ∅
- │ │ │ │ ├── block: ∅
- │ │ │ │ └── flags: variable_call
- │ │ │ └── flags: ∅
+ │ │ │ ├── flags: ∅
+ │ │ │ └── arguments: (length: 1)
+ │ │ │ └── @ CallNode (location: (5,12)-(5,15))
+ │ │ │ ├── flags: variable_call
+ │ │ │ ├── receiver: ∅
+ │ │ │ ├── call_operator_loc: ∅
+ │ │ │ ├── name: :foo
+ │ │ │ ├── message_loc: (5,12)-(5,15) = "foo"
+ │ │ │ ├── opening_loc: ∅
+ │ │ │ ├── arguments: ∅
+ │ │ │ ├── closing_loc: ∅
+ │ │ │ └── block: ∅
│ │ ├── closing_loc: ∅
- │ │ ├── block: ∅
- │ │ └── flags: ∅
+ │ │ └── block: ∅
│ └── operator: :+
└── @ CallOperatorWriteNode (location: (7,0)-(7,15))
+ ├── flags: ∅
├── receiver:
│ @ CallNode (location: (7,0)-(7,3))
+ │ ├── flags: variable_call
│ ├── receiver: ∅
│ ├── call_operator_loc: ∅
│ ├── name: :foo
@@ -143,17 +145,16 @@
│ ├── opening_loc: ∅
│ ├── arguments: ∅
│ ├── closing_loc: ∅
- │ ├── block: ∅
- │ └── flags: variable_call
+ │ └── block: ∅
├── call_operator_loc: (7,3)-(7,5) = "::"
├── message_loc: (7,5)-(7,6) = "a"
- ├── flags: ∅
├── read_name: :a
├── write_name: :a=
├── operator: :+
├── operator_loc: (7,7)-(7,9) = "+="
└── value:
@ CallNode (location: (7,10)-(7,15))
+ ├── flags: ∅
├── receiver: ∅
├── call_operator_loc: ∅
├── name: :m
@@ -161,18 +162,17 @@
├── opening_loc: ∅
├── arguments:
│ @ ArgumentsNode (location: (7,12)-(7,15))
- │ ├── arguments: (length: 1)
- │ │ └── @ CallNode (location: (7,12)-(7,15))
- │ │ ├── receiver: ∅
- │ │ ├── call_operator_loc: ∅
- │ │ ├── name: :foo
- │ │ ├── message_loc: (7,12)-(7,15) = "foo"
- │ │ ├── opening_loc: ∅
- │ │ ├── arguments: ∅
- │ │ ├── closing_loc: ∅
- │ │ ├── block: ∅
- │ │ └── flags: variable_call
- │ └── flags: ∅
+ │ ├── flags: ∅
+ │ └── arguments: (length: 1)
+ │ └── @ CallNode (location: (7,12)-(7,15))
+ │ ├── flags: variable_call
+ │ ├── receiver: ∅
+ │ ├── call_operator_loc: ∅
+ │ ├── name: :foo
+ │ ├── message_loc: (7,12)-(7,15) = "foo"
+ │ ├── opening_loc: ∅
+ │ ├── arguments: ∅
+ │ ├── closing_loc: ∅
+ │ └── block: ∅
├── closing_loc: ∅
- ├── block: ∅
- └── flags: ∅
+ └── block: ∅
diff --git a/test/prism/snapshots/whitequark/op_asgn_index.txt b/test/prism/snapshots/whitequark/op_asgn_index.txt
index a05b679668..abeb1626ff 100644
--- a/test/prism/snapshots/whitequark/op_asgn_index.txt
+++ b/test/prism/snapshots/whitequark/op_asgn_index.txt
@@ -4,8 +4,10 @@
@ StatementsNode (location: (1,0)-(1,14))
└── body: (length: 1)
└── @ IndexOperatorWriteNode (location: (1,0)-(1,14))
+ ├── flags: ∅
├── receiver:
│ @ CallNode (location: (1,0)-(1,3))
+ │ ├── flags: variable_call
│ ├── receiver: ∅
│ ├── call_operator_loc: ∅
│ ├── name: :foo
@@ -13,21 +15,19 @@
│ ├── opening_loc: ∅
│ ├── arguments: ∅
│ ├── closing_loc: ∅
- │ ├── block: ∅
- │ └── flags: variable_call
+ │ └── block: ∅
├── call_operator_loc: ∅
├── opening_loc: (1,3)-(1,4) = "["
├── arguments:
│ @ ArgumentsNode (location: (1,4)-(1,8))
- │ ├── arguments: (length: 2)
- │ │ ├── @ IntegerNode (location: (1,4)-(1,5))
- │ │ │ └── flags: decimal
- │ │ └── @ IntegerNode (location: (1,7)-(1,8))
- │ │ └── flags: decimal
- │ └── flags: ∅
+ │ ├── flags: ∅
+ │ └── arguments: (length: 2)
+ │ ├── @ IntegerNode (location: (1,4)-(1,5))
+ │ │ └── flags: decimal
+ │ └── @ IntegerNode (location: (1,7)-(1,8))
+ │ └── flags: decimal
├── closing_loc: (1,8)-(1,9) = "]"
├── block: ∅
- ├── flags: ∅
├── operator: :+
├── operator_loc: (1,10)-(1,12) = "+="
└── value:
diff --git a/test/prism/snapshots/whitequark/op_asgn_index_cmd.txt b/test/prism/snapshots/whitequark/op_asgn_index_cmd.txt
index c0cb8dacc2..ffbbff9e5f 100644
--- a/test/prism/snapshots/whitequark/op_asgn_index_cmd.txt
+++ b/test/prism/snapshots/whitequark/op_asgn_index_cmd.txt
@@ -4,8 +4,10 @@
@ StatementsNode (location: (1,0)-(1,18))
└── body: (length: 1)
└── @ IndexOperatorWriteNode (location: (1,0)-(1,18))
+ ├── flags: ∅
├── receiver:
│ @ CallNode (location: (1,0)-(1,3))
+ │ ├── flags: variable_call
│ ├── receiver: ∅
│ ├── call_operator_loc: ∅
│ ├── name: :foo
@@ -13,25 +15,24 @@
│ ├── opening_loc: ∅
│ ├── arguments: ∅
│ ├── closing_loc: ∅
- │ ├── block: ∅
- │ └── flags: variable_call
+ │ └── block: ∅
├── call_operator_loc: ∅
├── opening_loc: (1,3)-(1,4) = "["
├── arguments:
│ @ ArgumentsNode (location: (1,4)-(1,8))
- │ ├── arguments: (length: 2)
- │ │ ├── @ IntegerNode (location: (1,4)-(1,5))
- │ │ │ └── flags: decimal
- │ │ └── @ IntegerNode (location: (1,7)-(1,8))
- │ │ └── flags: decimal
- │ └── flags: ∅
+ │ ├── flags: ∅
+ │ └── arguments: (length: 2)
+ │ ├── @ IntegerNode (location: (1,4)-(1,5))
+ │ │ └── flags: decimal
+ │ └── @ IntegerNode (location: (1,7)-(1,8))
+ │ └── flags: decimal
├── closing_loc: (1,8)-(1,9) = "]"
├── block: ∅
- ├── flags: ∅
├── operator: :+
├── operator_loc: (1,10)-(1,12) = "+="
└── value:
@ CallNode (location: (1,13)-(1,18))
+ ├── flags: ∅
├── receiver: ∅
├── call_operator_loc: ∅
├── name: :m
@@ -39,18 +40,17 @@
├── opening_loc: ∅
├── arguments:
│ @ ArgumentsNode (location: (1,15)-(1,18))
- │ ├── arguments: (length: 1)
- │ │ └── @ CallNode (location: (1,15)-(1,18))
- │ │ ├── receiver: ∅
- │ │ ├── call_operator_loc: ∅
- │ │ ├── name: :foo
- │ │ ├── message_loc: (1,15)-(1,18) = "foo"
- │ │ ├── opening_loc: ∅
- │ │ ├── arguments: ∅
- │ │ ├── closing_loc: ∅
- │ │ ├── block: ∅
- │ │ └── flags: variable_call
- │ └── flags: ∅
+ │ ├── flags: ∅
+ │ └── arguments: (length: 1)
+ │ └── @ CallNode (location: (1,15)-(1,18))
+ │ ├── flags: variable_call
+ │ ├── receiver: ∅
+ │ ├── call_operator_loc: ∅
+ │ ├── name: :foo
+ │ ├── message_loc: (1,15)-(1,18) = "foo"
+ │ ├── opening_loc: ∅
+ │ ├── arguments: ∅
+ │ ├── closing_loc: ∅
+ │ └── block: ∅
├── closing_loc: ∅
- ├── block: ∅
- └── flags: ∅
+ └── block: ∅
diff --git a/test/prism/snapshots/whitequark/or.txt b/test/prism/snapshots/whitequark/or.txt
index 8334bdba88..9e57edb194 100644
--- a/test/prism/snapshots/whitequark/or.txt
+++ b/test/prism/snapshots/whitequark/or.txt
@@ -6,6 +6,7 @@
├── @ OrNode (location: (1,0)-(1,10))
│ ├── left:
│ │ @ CallNode (location: (1,0)-(1,3))
+ │ │ ├── flags: variable_call
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
│ │ ├── name: :foo
@@ -13,10 +14,10 @@
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
- │ │ ├── block: ∅
- │ │ └── flags: variable_call
+ │ │ └── block: ∅
│ ├── right:
│ │ @ CallNode (location: (1,7)-(1,10))
+ │ │ ├── flags: variable_call
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
│ │ ├── name: :bar
@@ -24,12 +25,12 @@
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
- │ │ ├── block: ∅
- │ │ └── flags: variable_call
+ │ │ └── block: ∅
│ └── operator_loc: (1,4)-(1,6) = "or"
└── @ OrNode (location: (3,0)-(3,10))
├── left:
│ @ CallNode (location: (3,0)-(3,3))
+ │ ├── flags: variable_call
│ ├── receiver: ∅
│ ├── call_operator_loc: ∅
│ ├── name: :foo
@@ -37,10 +38,10 @@
│ ├── opening_loc: ∅
│ ├── arguments: ∅
│ ├── closing_loc: ∅
- │ ├── block: ∅
- │ └── flags: variable_call
+ │ └── block: ∅
├── right:
│ @ CallNode (location: (3,7)-(3,10))
+ │ ├── flags: variable_call
│ ├── receiver: ∅
│ ├── call_operator_loc: ∅
│ ├── name: :bar
@@ -48,6 +49,5 @@
│ ├── opening_loc: ∅
│ ├── arguments: ∅
│ ├── closing_loc: ∅
- │ ├── block: ∅
- │ └── flags: variable_call
+ │ └── block: ∅
└── operator_loc: (3,4)-(3,6) = "||"
diff --git a/test/prism/snapshots/whitequark/or_asgn.txt b/test/prism/snapshots/whitequark/or_asgn.txt
index 2578cce8e2..e795a5a28a 100644
--- a/test/prism/snapshots/whitequark/or_asgn.txt
+++ b/test/prism/snapshots/whitequark/or_asgn.txt
@@ -4,8 +4,10 @@
@ StatementsNode (location: (1,0)-(3,15))
└── body: (length: 2)
├── @ CallOrWriteNode (location: (1,0)-(1,11))
+ │ ├── flags: ∅
│ ├── receiver:
│ │ @ CallNode (location: (1,0)-(1,3))
+ │ │ ├── flags: variable_call
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
│ │ ├── name: :foo
@@ -13,11 +15,9 @@
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
- │ │ ├── block: ∅
- │ │ └── flags: variable_call
+ │ │ └── block: ∅
│ ├── call_operator_loc: (1,3)-(1,4) = "."
│ ├── message_loc: (1,4)-(1,5) = "a"
- │ ├── flags: ∅
│ ├── read_name: :a
│ ├── write_name: :a=
│ ├── operator_loc: (1,6)-(1,9) = "||="
@@ -25,8 +25,10 @@
│ @ IntegerNode (location: (1,10)-(1,11))
│ └── flags: decimal
└── @ IndexOrWriteNode (location: (3,0)-(3,15))
+ ├── flags: ∅
├── receiver:
│ @ CallNode (location: (3,0)-(3,3))
+ │ ├── flags: variable_call
│ ├── receiver: ∅
│ ├── call_operator_loc: ∅
│ ├── name: :foo
@@ -34,21 +36,19 @@
│ ├── opening_loc: ∅
│ ├── arguments: ∅
│ ├── closing_loc: ∅
- │ ├── block: ∅
- │ └── flags: variable_call
+ │ └── block: ∅
├── call_operator_loc: ∅
├── opening_loc: (3,3)-(3,4) = "["
├── arguments:
│ @ ArgumentsNode (location: (3,4)-(3,8))
- │ ├── arguments: (length: 2)
- │ │ ├── @ IntegerNode (location: (3,4)-(3,5))
- │ │ │ └── flags: decimal
- │ │ └── @ IntegerNode (location: (3,7)-(3,8))
- │ │ └── flags: decimal
- │ └── flags: ∅
+ │ ├── flags: ∅
+ │ └── arguments: (length: 2)
+ │ ├── @ IntegerNode (location: (3,4)-(3,5))
+ │ │ └── flags: decimal
+ │ └── @ IntegerNode (location: (3,7)-(3,8))
+ │ └── flags: decimal
├── closing_loc: (3,8)-(3,9) = "]"
├── block: ∅
- ├── flags: ∅
├── operator_loc: (3,10)-(3,13) = "||="
└── value:
@ IntegerNode (location: (3,14)-(3,15))
diff --git a/test/prism/snapshots/whitequark/parser_bug_272.txt b/test/prism/snapshots/whitequark/parser_bug_272.txt
index 0ed4cd9364..70d6b71930 100644
--- a/test/prism/snapshots/whitequark/parser_bug_272.txt
+++ b/test/prism/snapshots/whitequark/parser_bug_272.txt
@@ -4,6 +4,7 @@
@ StatementsNode (location: (1,0)-(1,15))
└── body: (length: 1)
└── @ CallNode (location: (1,0)-(1,15))
+ ├── flags: ∅
├── receiver: ∅
├── call_operator_loc: ∅
├── name: :a
@@ -11,32 +12,31 @@
├── opening_loc: ∅
├── arguments:
│ @ ArgumentsNode (location: (1,2)-(1,4))
- │ ├── arguments: (length: 1)
- │ │ └── @ InstanceVariableReadNode (location: (1,2)-(1,4))
- │ │ └── name: :@b
- │ └── flags: ∅
+ │ ├── flags: ∅
+ │ └── arguments: (length: 1)
+ │ └── @ InstanceVariableReadNode (location: (1,2)-(1,4))
+ │ └── name: :@b
├── closing_loc: ∅
- ├── block:
- │ @ BlockNode (location: (1,5)-(1,15))
- │ ├── locals: [:c]
- │ ├── locals_body_index: 1
- │ ├── parameters:
- │ │ @ BlockParametersNode (location: (1,8)-(1,11))
- │ │ ├── parameters:
- │ │ │ @ ParametersNode (location: (1,9)-(1,10))
- │ │ │ ├── requireds: (length: 1)
- │ │ │ │ └── @ RequiredParameterNode (location: (1,9)-(1,10))
- │ │ │ │ └── name: :c
- │ │ │ ├── optionals: (length: 0)
- │ │ │ ├── rest: ∅
- │ │ │ ├── posts: (length: 0)
- │ │ │ ├── keywords: (length: 0)
- │ │ │ ├── keyword_rest: ∅
- │ │ │ └── block: ∅
- │ │ ├── locals: (length: 0)
- │ │ ├── opening_loc: (1,8)-(1,9) = "|"
- │ │ └── closing_loc: (1,10)-(1,11) = "|"
- │ ├── body: ∅
- │ ├── opening_loc: (1,5)-(1,7) = "do"
- │ └── closing_loc: (1,12)-(1,15) = "end"
- └── flags: ∅
+ └── block:
+ @ BlockNode (location: (1,5)-(1,15))
+ ├── locals: [:c]
+ ├── locals_body_index: 1
+ ├── parameters:
+ │ @ BlockParametersNode (location: (1,8)-(1,11))
+ │ ├── parameters:
+ │ │ @ ParametersNode (location: (1,9)-(1,10))
+ │ │ ├── requireds: (length: 1)
+ │ │ │ └── @ RequiredParameterNode (location: (1,9)-(1,10))
+ │ │ │ └── name: :c
+ │ │ ├── optionals: (length: 0)
+ │ │ ├── rest: ∅
+ │ │ ├── posts: (length: 0)
+ │ │ ├── keywords: (length: 0)
+ │ │ ├── keyword_rest: ∅
+ │ │ └── block: ∅
+ │ ├── locals: (length: 0)
+ │ ├── opening_loc: (1,8)-(1,9) = "|"
+ │ └── closing_loc: (1,10)-(1,11) = "|"
+ ├── body: ∅
+ ├── opening_loc: (1,5)-(1,7) = "do"
+ └── closing_loc: (1,12)-(1,15) = "end"
diff --git a/test/prism/snapshots/whitequark/parser_bug_525.txt b/test/prism/snapshots/whitequark/parser_bug_525.txt
index 6be12beeff..c5c3fd6e85 100644
--- a/test/prism/snapshots/whitequark/parser_bug_525.txt
+++ b/test/prism/snapshots/whitequark/parser_bug_525.txt
@@ -4,6 +4,7 @@
@ StatementsNode (location: (1,0)-(1,32))
└── body: (length: 1)
└── @ CallNode (location: (1,0)-(1,32))
+ ├── flags: ∅
├── receiver: ∅
├── call_operator_loc: ∅
├── name: :m1
@@ -11,55 +12,54 @@
├── opening_loc: ∅
├── arguments:
│ @ ArgumentsNode (location: (1,3)-(1,11))
- │ ├── arguments: (length: 1)
- │ │ └── @ KeywordHashNode (location: (1,3)-(1,11))
- │ │ └── elements: (length: 1)
- │ │ └── @ AssocNode (location: (1,3)-(1,11))
- │ │ ├── key:
- │ │ │ @ SymbolNode (location: (1,3)-(1,5))
- │ │ │ ├── opening_loc: (1,3)-(1,4) = ":"
- │ │ │ ├── value_loc: (1,4)-(1,5) = "k"
- │ │ │ ├── closing_loc: ∅
- │ │ │ └── unescaped: "k"
- │ │ ├── value:
- │ │ │ @ CallNode (location: (1,9)-(1,11))
- │ │ │ ├── receiver: ∅
- │ │ │ ├── call_operator_loc: ∅
- │ │ │ ├── name: :m2
- │ │ │ ├── message_loc: (1,9)-(1,11) = "m2"
- │ │ │ ├── opening_loc: ∅
- │ │ │ ├── arguments: ∅
- │ │ │ ├── closing_loc: ∅
- │ │ │ ├── block: ∅
- │ │ │ └── flags: variable_call
- │ │ └── operator_loc: (1,6)-(1,8) = "=>"
- │ └── flags: ∅
+ │ ├── flags: ∅
+ │ └── arguments: (length: 1)
+ │ └── @ KeywordHashNode (location: (1,3)-(1,11))
+ │ └── elements: (length: 1)
+ │ └── @ AssocNode (location: (1,3)-(1,11))
+ │ ├── key:
+ │ │ @ SymbolNode (location: (1,3)-(1,5))
+ │ │ ├── opening_loc: (1,3)-(1,4) = ":"
+ │ │ ├── value_loc: (1,4)-(1,5) = "k"
+ │ │ ├── closing_loc: ∅
+ │ │ └── unescaped: "k"
+ │ ├── value:
+ │ │ @ CallNode (location: (1,9)-(1,11))
+ │ │ ├── flags: variable_call
+ │ │ ├── receiver: ∅
+ │ │ ├── call_operator_loc: ∅
+ │ │ ├── name: :m2
+ │ │ ├── message_loc: (1,9)-(1,11) = "m2"
+ │ │ ├── opening_loc: ∅
+ │ │ ├── arguments: ∅
+ │ │ ├── closing_loc: ∅
+ │ │ └── block: ∅
+ │ └── operator_loc: (1,6)-(1,8) = "=>"
├── closing_loc: ∅
- ├── block:
- │ @ BlockNode (location: (1,12)-(1,32))
- │ ├── locals: []
- │ ├── locals_body_index: 0
- │ ├── parameters: ∅
- │ ├── body:
- │ │ @ StatementsNode (location: (1,16)-(1,27))
- │ │ └── body: (length: 1)
- │ │ └── @ CallNode (location: (1,16)-(1,27))
- │ │ ├── receiver: ∅
- │ │ ├── call_operator_loc: ∅
- │ │ ├── name: :m3
- │ │ ├── message_loc: (1,16)-(1,18) = "m3"
- │ │ ├── opening_loc: (1,18)-(1,19) = "("
- │ │ ├── arguments: ∅
- │ │ ├── closing_loc: (1,19)-(1,20) = ")"
- │ │ ├── block:
- │ │ │ @ BlockNode (location: (1,21)-(1,27))
- │ │ │ ├── locals: []
- │ │ │ ├── locals_body_index: 0
- │ │ │ ├── parameters: ∅
- │ │ │ ├── body: ∅
- │ │ │ ├── opening_loc: (1,21)-(1,23) = "do"
- │ │ │ └── closing_loc: (1,24)-(1,27) = "end"
- │ │ └── flags: ∅
- │ ├── opening_loc: (1,12)-(1,14) = "do"
- │ └── closing_loc: (1,29)-(1,32) = "end"
- └── flags: ∅
+ └── block:
+ @ BlockNode (location: (1,12)-(1,32))
+ ├── locals: []
+ ├── locals_body_index: 0
+ ├── parameters: ∅
+ ├── body:
+ │ @ StatementsNode (location: (1,16)-(1,27))
+ │ └── body: (length: 1)
+ │ └── @ CallNode (location: (1,16)-(1,27))
+ │ ├── flags: ∅
+ │ ├── receiver: ∅
+ │ ├── call_operator_loc: ∅
+ │ ├── name: :m3
+ │ ├── message_loc: (1,16)-(1,18) = "m3"
+ │ ├── opening_loc: (1,18)-(1,19) = "("
+ │ ├── arguments: ∅
+ │ ├── closing_loc: (1,19)-(1,20) = ")"
+ │ └── block:
+ │ @ BlockNode (location: (1,21)-(1,27))
+ │ ├── locals: []
+ │ ├── locals_body_index: 0
+ │ ├── parameters: ∅
+ │ ├── body: ∅
+ │ ├── opening_loc: (1,21)-(1,23) = "do"
+ │ └── closing_loc: (1,24)-(1,27) = "end"
+ ├── opening_loc: (1,12)-(1,14) = "do"
+ └── closing_loc: (1,29)-(1,32) = "end"
diff --git a/test/prism/snapshots/whitequark/parser_bug_604.txt b/test/prism/snapshots/whitequark/parser_bug_604.txt
index bf643b63fd..ee00389c90 100644
--- a/test/prism/snapshots/whitequark/parser_bug_604.txt
+++ b/test/prism/snapshots/whitequark/parser_bug_604.txt
@@ -4,6 +4,7 @@
@ StatementsNode (location: (1,0)-(1,14))
└── body: (length: 1)
└── @ CallNode (location: (1,0)-(1,14))
+ ├── flags: ∅
├── receiver: ∅
├── call_operator_loc: ∅
├── name: :m
@@ -11,48 +12,47 @@
├── opening_loc: ∅
├── arguments:
│ @ ArgumentsNode (location: (1,2)-(1,7))
- │ ├── arguments: (length: 1)
- │ │ └── @ CallNode (location: (1,2)-(1,7))
- │ │ ├── receiver:
- │ │ │ @ CallNode (location: (1,2)-(1,3))
- │ │ │ ├── receiver: ∅
- │ │ │ ├── call_operator_loc: ∅
- │ │ │ ├── name: :a
- │ │ │ ├── message_loc: (1,2)-(1,3) = "a"
- │ │ │ ├── opening_loc: ∅
- │ │ │ ├── arguments: ∅
- │ │ │ ├── closing_loc: ∅
- │ │ │ ├── block: ∅
- │ │ │ └── flags: variable_call
- │ │ ├── call_operator_loc: ∅
- │ │ ├── name: :+
- │ │ ├── message_loc: (1,4)-(1,5) = "+"
- │ │ ├── opening_loc: ∅
- │ │ ├── arguments:
- │ │ │ @ ArgumentsNode (location: (1,6)-(1,7))
- │ │ │ ├── arguments: (length: 1)
- │ │ │ │ └── @ CallNode (location: (1,6)-(1,7))
- │ │ │ │ ├── receiver: ∅
- │ │ │ │ ├── call_operator_loc: ∅
- │ │ │ │ ├── name: :b
- │ │ │ │ ├── message_loc: (1,6)-(1,7) = "b"
- │ │ │ │ ├── opening_loc: ∅
- │ │ │ │ ├── arguments: ∅
- │ │ │ │ ├── closing_loc: ∅
- │ │ │ │ ├── block: ∅
- │ │ │ │ └── flags: variable_call
- │ │ │ └── flags: ∅
- │ │ ├── closing_loc: ∅
- │ │ ├── block: ∅
- │ │ └── flags: ∅
- │ └── flags: ∅
+ │ ├── flags: ∅
+ │ └── arguments: (length: 1)
+ │ └── @ CallNode (location: (1,2)-(1,7))
+ │ ├── flags: ∅
+ │ ├── receiver:
+ │ │ @ CallNode (location: (1,2)-(1,3))
+ │ │ ├── flags: variable_call
+ │ │ ├── receiver: ∅
+ │ │ ├── call_operator_loc: ∅
+ │ │ ├── name: :a
+ │ │ ├── message_loc: (1,2)-(1,3) = "a"
+ │ │ ├── opening_loc: ∅
+ │ │ ├── arguments: ∅
+ │ │ ├── closing_loc: ∅
+ │ │ └── block: ∅
+ │ ├── call_operator_loc: ∅
+ │ ├── name: :+
+ │ ├── message_loc: (1,4)-(1,5) = "+"
+ │ ├── opening_loc: ∅
+ │ ├── arguments:
+ │ │ @ ArgumentsNode (location: (1,6)-(1,7))
+ │ │ ├── flags: ∅
+ │ │ └── arguments: (length: 1)
+ │ │ └── @ CallNode (location: (1,6)-(1,7))
+ │ │ ├── flags: variable_call
+ │ │ ├── receiver: ∅
+ │ │ ├── call_operator_loc: ∅
+ │ │ ├── name: :b
+ │ │ ├── message_loc: (1,6)-(1,7) = "b"
+ │ │ ├── opening_loc: ∅
+ │ │ ├── arguments: ∅
+ │ │ ├── closing_loc: ∅
+ │ │ └── block: ∅
+ │ ├── closing_loc: ∅
+ │ └── block: ∅
├── closing_loc: ∅
- ├── block:
- │ @ BlockNode (location: (1,8)-(1,14))
- │ ├── locals: []
- │ ├── locals_body_index: 0
- │ ├── parameters: ∅
- │ ├── body: ∅
- │ ├── opening_loc: (1,8)-(1,10) = "do"
- │ └── closing_loc: (1,11)-(1,14) = "end"
- └── flags: ∅
+ └── block:
+ @ BlockNode (location: (1,8)-(1,14))
+ ├── locals: []
+ ├── locals_body_index: 0
+ ├── parameters: ∅
+ ├── body: ∅
+ ├── opening_loc: (1,8)-(1,10) = "do"
+ └── closing_loc: (1,11)-(1,14) = "end"
diff --git a/test/prism/snapshots/whitequark/parser_bug_830.txt b/test/prism/snapshots/whitequark/parser_bug_830.txt
index e380113372..e920108731 100644
--- a/test/prism/snapshots/whitequark/parser_bug_830.txt
+++ b/test/prism/snapshots/whitequark/parser_bug_830.txt
@@ -4,8 +4,8 @@
@ StatementsNode (location: (1,0)-(1,4))
└── body: (length: 1)
└── @ RegularExpressionNode (location: (1,0)-(1,4))
+ ├── flags: ∅
├── opening_loc: (1,0)-(1,1) = "/"
├── content_loc: (1,1)-(1,3) = "\\("
├── closing_loc: (1,3)-(1,4) = "/"
- ├── unescaped: "\\("
- └── flags: ∅
+ └── unescaped: "\\("
diff --git a/test/prism/snapshots/whitequark/parser_slash_slash_n_escaping_in_literals.txt b/test/prism/snapshots/whitequark/parser_slash_slash_n_escaping_in_literals.txt
index 5b4b9863db..aec7ee8f98 100644
--- a/test/prism/snapshots/whitequark/parser_slash_slash_n_escaping_in_literals.txt
+++ b/test/prism/snapshots/whitequark/parser_slash_slash_n_escaping_in_literals.txt
@@ -10,6 +10,7 @@
│ ├── closing_loc: (2,1)-(2,2) = "\""
│ └── unescaped: "ab"
├── @ ArrayNode (location: (4,0)-(5,2))
+ │ ├── flags: ∅
│ ├── elements: (length: 1)
│ │ └── @ SymbolNode (location: (4,3)-(5,1))
│ │ ├── opening_loc: ∅
@@ -17,8 +18,7 @@
│ │ ├── closing_loc: ∅
│ │ └── unescaped: "a\nb"
│ ├── opening_loc: (4,0)-(4,3) = "%I{"
- │ ├── closing_loc: (5,1)-(5,2) = "}"
- │ └── flags: ∅
+ │ └── closing_loc: (5,1)-(5,2) = "}"
├── @ StringNode (location: (7,0)-(8,2))
│ ├── flags: ∅
│ ├── opening_loc: (7,0)-(7,3) = "%Q{"
@@ -26,6 +26,7 @@
│ ├── closing_loc: (8,1)-(8,2) = "}"
│ └── unescaped: "ab"
├── @ ArrayNode (location: (10,0)-(11,2))
+ │ ├── flags: ∅
│ ├── elements: (length: 1)
│ │ └── @ StringNode (location: (10,3)-(11,1))
│ │ ├── flags: ∅
@@ -34,9 +35,9 @@
│ │ ├── closing_loc: ∅
│ │ └── unescaped: "a\nb"
│ ├── opening_loc: (10,0)-(10,3) = "%W{"
- │ ├── closing_loc: (11,1)-(11,2) = "}"
- │ └── flags: ∅
+ │ └── closing_loc: (11,1)-(11,2) = "}"
├── @ ArrayNode (location: (13,0)-(14,2))
+ │ ├── flags: ∅
│ ├── elements: (length: 1)
│ │ └── @ SymbolNode (location: (13,3)-(14,1))
│ │ ├── opening_loc: ∅
@@ -44,8 +45,7 @@
│ │ ├── closing_loc: ∅
│ │ └── unescaped: "a\nb"
│ ├── opening_loc: (13,0)-(13,3) = "%i{"
- │ ├── closing_loc: (14,1)-(14,2) = "}"
- │ └── flags: ∅
+ │ └── closing_loc: (14,1)-(14,2) = "}"
├── @ StringNode (location: (16,0)-(17,2))
│ ├── flags: ∅
│ ├── opening_loc: (16,0)-(16,3) = "%q{"
@@ -53,17 +53,18 @@
│ ├── closing_loc: (17,1)-(17,2) = "}"
│ └── unescaped: "a\\\nb"
├── @ RegularExpressionNode (location: (19,0)-(20,2))
+ │ ├── flags: ∅
│ ├── opening_loc: (19,0)-(19,3) = "%r{"
│ ├── content_loc: (19,3)-(20,1) = "a\\\nb"
│ ├── closing_loc: (20,1)-(20,2) = "}"
- │ ├── unescaped: "ab"
- │ └── flags: ∅
+ │ └── unescaped: "ab"
├── @ SymbolNode (location: (22,0)-(23,2))
│ ├── opening_loc: (22,0)-(22,3) = "%s{"
│ ├── value_loc: (22,3)-(23,1) = "a\\\nb"
│ ├── closing_loc: (23,1)-(23,2) = "}"
│ └── unescaped: "a\\\nb"
├── @ ArrayNode (location: (25,0)-(26,2))
+ │ ├── flags: ∅
│ ├── elements: (length: 1)
│ │ └── @ StringNode (location: (25,3)-(26,1))
│ │ ├── flags: ∅
@@ -72,8 +73,7 @@
│ │ ├── closing_loc: ∅
│ │ └── unescaped: "a\nb"
│ ├── opening_loc: (25,0)-(25,3) = "%w{"
- │ ├── closing_loc: (26,1)-(26,2) = "}"
- │ └── flags: ∅
+ │ └── closing_loc: (26,1)-(26,2) = "}"
├── @ XStringNode (location: (28,0)-(29,2))
│ ├── flags: ∅
│ ├── opening_loc: (28,0)-(28,3) = "%x{"
@@ -93,11 +93,11 @@
│ ├── closing_loc: (35,1)-(35,2) = "'"
│ └── unescaped: "a\\\nb"
├── @ RegularExpressionNode (location: (37,0)-(38,2))
+ │ ├── flags: ∅
│ ├── opening_loc: (37,0)-(37,1) = "/"
│ ├── content_loc: (37,1)-(38,1) = "a\\\nb"
│ ├── closing_loc: (38,1)-(38,2) = "/"
- │ ├── unescaped: "ab"
- │ └── flags: ∅
+ │ └── unescaped: "ab"
├── @ SymbolNode (location: (40,0)-(41,2))
│ ├── opening_loc: (40,0)-(40,2) = ":\""
│ ├── value_loc: (40,2)-(41,1) = "a\\\nb"
diff --git a/test/prism/snapshots/whitequark/pattern_matching__FILE__LINE_literals.txt b/test/prism/snapshots/whitequark/pattern_matching__FILE__LINE_literals.txt
index 9e653787dc..b3a6af3ec8 100644
--- a/test/prism/snapshots/whitequark/pattern_matching__FILE__LINE_literals.txt
+++ b/test/prism/snapshots/whitequark/pattern_matching__FILE__LINE_literals.txt
@@ -6,10 +6,12 @@
└── @ CaseMatchNode (location: (1,8)-(3,11))
├── predicate:
│ @ ArrayNode (location: (1,13)-(1,51))
+ │ ├── flags: ∅
│ ├── elements: (length: 3)
│ │ ├── @ SourceFileNode (location: (1,14)-(1,22))
│ │ │ └── filepath: "whitequark/pattern_matching__FILE__LINE_literals.txt"
│ │ ├── @ CallNode (location: (1,24)-(1,36))
+ │ │ │ ├── flags: ∅
│ │ │ ├── receiver:
│ │ │ │ @ SourceLineNode (location: (1,24)-(1,32))
│ │ │ ├── call_operator_loc: ∅
@@ -18,17 +20,15 @@
│ │ │ ├── opening_loc: ∅
│ │ │ ├── arguments:
│ │ │ │ @ ArgumentsNode (location: (1,35)-(1,36))
- │ │ │ │ ├── arguments: (length: 1)
- │ │ │ │ │ └── @ IntegerNode (location: (1,35)-(1,36))
- │ │ │ │ │ └── flags: decimal
- │ │ │ │ └── flags: ∅
+ │ │ │ │ ├── flags: ∅
+ │ │ │ │ └── arguments: (length: 1)
+ │ │ │ │ └── @ IntegerNode (location: (1,35)-(1,36))
+ │ │ │ │ └── flags: decimal
│ │ │ ├── closing_loc: ∅
- │ │ │ ├── block: ∅
- │ │ │ └── flags: ∅
+ │ │ │ └── block: ∅
│ │ └── @ SourceEncodingNode (location: (1,38)-(1,50))
│ ├── opening_loc: (1,13)-(1,14) = "["
- │ ├── closing_loc: (1,50)-(1,51) = "]"
- │ └── flags: ∅
+ │ └── closing_loc: (1,50)-(1,51) = "]"
├── conditions: (length: 1)
│ └── @ InNode (location: (2,10)-(2,47))
│ ├── pattern:
diff --git a/test/prism/snapshots/whitequark/pattern_matching_single_line_allowed_omission_of_parentheses.txt b/test/prism/snapshots/whitequark/pattern_matching_single_line_allowed_omission_of_parentheses.txt
index b3d77703c0..a93154df8a 100644
--- a/test/prism/snapshots/whitequark/pattern_matching_single_line_allowed_omission_of_parentheses.txt
+++ b/test/prism/snapshots/whitequark/pattern_matching_single_line_allowed_omission_of_parentheses.txt
@@ -6,14 +6,14 @@
├── @ MatchRequiredNode (location: (1,0)-(1,14))
│ ├── value:
│ │ @ ArrayNode (location: (1,0)-(1,6))
+ │ │ ├── flags: ∅
│ │ ├── elements: (length: 2)
│ │ │ ├── @ IntegerNode (location: (1,1)-(1,2))
│ │ │ │ └── flags: decimal
│ │ │ └── @ IntegerNode (location: (1,4)-(1,5))
│ │ │ └── flags: decimal
│ │ ├── opening_loc: (1,0)-(1,1) = "["
- │ │ ├── closing_loc: (1,5)-(1,6) = "]"
- │ │ └── flags: ∅
+ │ │ └── closing_loc: (1,5)-(1,6) = "]"
│ ├── pattern:
│ │ @ ArrayPatternNode (location: (1,10)-(1,14))
│ │ ├── constant: ∅
@@ -35,14 +35,14 @@
├── @ MatchPredicateNode (location: (3,0)-(3,14))
│ ├── value:
│ │ @ ArrayNode (location: (3,0)-(3,6))
+ │ │ ├── flags: ∅
│ │ ├── elements: (length: 2)
│ │ │ ├── @ IntegerNode (location: (3,1)-(3,2))
│ │ │ │ └── flags: decimal
│ │ │ └── @ IntegerNode (location: (3,4)-(3,5))
│ │ │ └── flags: decimal
│ │ ├── opening_loc: (3,0)-(3,1) = "["
- │ │ ├── closing_loc: (3,5)-(3,6) = "]"
- │ │ └── flags: ∅
+ │ │ └── closing_loc: (3,5)-(3,6) = "]"
│ ├── pattern:
│ │ @ ArrayPatternNode (location: (3,10)-(3,14))
│ │ ├── constant: ∅
diff --git a/test/prism/snapshots/whitequark/procarg0.txt b/test/prism/snapshots/whitequark/procarg0.txt
index 2b2756f15d..5a06fa7f33 100644
--- a/test/prism/snapshots/whitequark/procarg0.txt
+++ b/test/prism/snapshots/whitequark/procarg0.txt
@@ -4,6 +4,7 @@
@ StatementsNode (location: (1,0)-(3,11))
└── body: (length: 2)
├── @ CallNode (location: (1,0)-(1,18))
+ │ ├── flags: ∅
│ ├── receiver: ∅
│ ├── call_operator_loc: ∅
│ ├── name: :m
@@ -11,39 +12,39 @@
│ ├── opening_loc: ∅
│ ├── arguments: ∅
│ ├── closing_loc: ∅
- │ ├── block:
- │ │ @ BlockNode (location: (1,2)-(1,18))
- │ │ ├── locals: [:foo, :bar]
- │ │ ├── locals_body_index: 2
- │ │ ├── parameters:
- │ │ │ @ BlockParametersNode (location: (1,4)-(1,16))
- │ │ │ ├── parameters:
- │ │ │ │ @ ParametersNode (location: (1,5)-(1,15))
- │ │ │ │ ├── requireds: (length: 1)
- │ │ │ │ │ └── @ MultiTargetNode (location: (1,5)-(1,15))
- │ │ │ │ │ ├── lefts: (length: 2)
- │ │ │ │ │ │ ├── @ RequiredParameterNode (location: (1,6)-(1,9))
- │ │ │ │ │ │ │ └── name: :foo
- │ │ │ │ │ │ └── @ RequiredParameterNode (location: (1,11)-(1,14))
- │ │ │ │ │ │ └── name: :bar
- │ │ │ │ │ ├── rest: ∅
- │ │ │ │ │ ├── rights: (length: 0)
- │ │ │ │ │ ├── lparen_loc: (1,5)-(1,6) = "("
- │ │ │ │ │ └── rparen_loc: (1,14)-(1,15) = ")"
- │ │ │ │ ├── optionals: (length: 0)
- │ │ │ │ ├── rest: ∅
- │ │ │ │ ├── posts: (length: 0)
- │ │ │ │ ├── keywords: (length: 0)
- │ │ │ │ ├── keyword_rest: ∅
- │ │ │ │ └── block: ∅
- │ │ │ ├── locals: (length: 0)
- │ │ │ ├── opening_loc: (1,4)-(1,5) = "|"
- │ │ │ └── closing_loc: (1,15)-(1,16) = "|"
- │ │ ├── body: ∅
- │ │ ├── opening_loc: (1,2)-(1,3) = "{"
- │ │ └── closing_loc: (1,17)-(1,18) = "}"
- │ └── flags: ∅
+ │ └── block:
+ │ @ BlockNode (location: (1,2)-(1,18))
+ │ ├── locals: [:foo, :bar]
+ │ ├── locals_body_index: 2
+ │ ├── parameters:
+ │ │ @ BlockParametersNode (location: (1,4)-(1,16))
+ │ │ ├── parameters:
+ │ │ │ @ ParametersNode (location: (1,5)-(1,15))
+ │ │ │ ├── requireds: (length: 1)
+ │ │ │ │ └── @ MultiTargetNode (location: (1,5)-(1,15))
+ │ │ │ │ ├── lefts: (length: 2)
+ │ │ │ │ │ ├── @ RequiredParameterNode (location: (1,6)-(1,9))
+ │ │ │ │ │ │ └── name: :foo
+ │ │ │ │ │ └── @ RequiredParameterNode (location: (1,11)-(1,14))
+ │ │ │ │ │ └── name: :bar
+ │ │ │ │ ├── rest: ∅
+ │ │ │ │ ├── rights: (length: 0)
+ │ │ │ │ ├── lparen_loc: (1,5)-(1,6) = "("
+ │ │ │ │ └── rparen_loc: (1,14)-(1,15) = ")"
+ │ │ │ ├── optionals: (length: 0)
+ │ │ │ ├── rest: ∅
+ │ │ │ ├── posts: (length: 0)
+ │ │ │ ├── keywords: (length: 0)
+ │ │ │ ├── keyword_rest: ∅
+ │ │ │ └── block: ∅
+ │ │ ├── locals: (length: 0)
+ │ │ ├── opening_loc: (1,4)-(1,5) = "|"
+ │ │ └── closing_loc: (1,15)-(1,16) = "|"
+ │ ├── body: ∅
+ │ ├── opening_loc: (1,2)-(1,3) = "{"
+ │ └── closing_loc: (1,17)-(1,18) = "}"
└── @ CallNode (location: (3,0)-(3,11))
+ ├── flags: ∅
├── receiver: ∅
├── call_operator_loc: ∅
├── name: :m
@@ -51,27 +52,26 @@
├── opening_loc: ∅
├── arguments: ∅
├── closing_loc: ∅
- ├── block:
- │ @ BlockNode (location: (3,2)-(3,11))
- │ ├── locals: [:foo]
- │ ├── locals_body_index: 1
- │ ├── parameters:
- │ │ @ BlockParametersNode (location: (3,4)-(3,9))
- │ │ ├── parameters:
- │ │ │ @ ParametersNode (location: (3,5)-(3,8))
- │ │ │ ├── requireds: (length: 1)
- │ │ │ │ └── @ RequiredParameterNode (location: (3,5)-(3,8))
- │ │ │ │ └── name: :foo
- │ │ │ ├── optionals: (length: 0)
- │ │ │ ├── rest: ∅
- │ │ │ ├── posts: (length: 0)
- │ │ │ ├── keywords: (length: 0)
- │ │ │ ├── keyword_rest: ∅
- │ │ │ └── block: ∅
- │ │ ├── locals: (length: 0)
- │ │ ├── opening_loc: (3,4)-(3,5) = "|"
- │ │ └── closing_loc: (3,8)-(3,9) = "|"
- │ ├── body: ∅
- │ ├── opening_loc: (3,2)-(3,3) = "{"
- │ └── closing_loc: (3,10)-(3,11) = "}"
- └── flags: ∅
+ └── block:
+ @ BlockNode (location: (3,2)-(3,11))
+ ├── locals: [:foo]
+ ├── locals_body_index: 1
+ ├── parameters:
+ │ @ BlockParametersNode (location: (3,4)-(3,9))
+ │ ├── parameters:
+ │ │ @ ParametersNode (location: (3,5)-(3,8))
+ │ │ ├── requireds: (length: 1)
+ │ │ │ └── @ RequiredParameterNode (location: (3,5)-(3,8))
+ │ │ │ └── name: :foo
+ │ │ ├── optionals: (length: 0)
+ │ │ ├── rest: ∅
+ │ │ ├── posts: (length: 0)
+ │ │ ├── keywords: (length: 0)
+ │ │ ├── keyword_rest: ∅
+ │ │ └── block: ∅
+ │ ├── locals: (length: 0)
+ │ ├── opening_loc: (3,4)-(3,5) = "|"
+ │ └── closing_loc: (3,8)-(3,9) = "|"
+ ├── body: ∅
+ ├── opening_loc: (3,2)-(3,3) = "{"
+ └── closing_loc: (3,10)-(3,11) = "}"
diff --git a/test/prism/snapshots/whitequark/range_exclusive.txt b/test/prism/snapshots/whitequark/range_exclusive.txt
index 7e134a3004..4964755075 100644
--- a/test/prism/snapshots/whitequark/range_exclusive.txt
+++ b/test/prism/snapshots/whitequark/range_exclusive.txt
@@ -4,11 +4,11 @@
@ StatementsNode (location: (1,0)-(1,5))
└── body: (length: 1)
└── @ RangeNode (location: (1,0)-(1,5))
+ ├── flags: exclude_end
├── left:
│ @ IntegerNode (location: (1,0)-(1,1))
│ └── flags: decimal
├── right:
│ @ IntegerNode (location: (1,4)-(1,5))
│ └── flags: decimal
- ├── operator_loc: (1,1)-(1,4) = "..."
- └── flags: exclude_end
+ └── operator_loc: (1,1)-(1,4) = "..."
diff --git a/test/prism/snapshots/whitequark/range_inclusive.txt b/test/prism/snapshots/whitequark/range_inclusive.txt
index b6fe045834..04de2d8dec 100644
--- a/test/prism/snapshots/whitequark/range_inclusive.txt
+++ b/test/prism/snapshots/whitequark/range_inclusive.txt
@@ -4,11 +4,11 @@
@ StatementsNode (location: (1,0)-(1,4))
└── body: (length: 1)
└── @ RangeNode (location: (1,0)-(1,4))
+ ├── flags: ∅
├── left:
│ @ IntegerNode (location: (1,0)-(1,1))
│ └── flags: decimal
├── right:
│ @ IntegerNode (location: (1,3)-(1,4))
│ └── flags: decimal
- ├── operator_loc: (1,1)-(1,3) = ".."
- └── flags: ∅
+ └── operator_loc: (1,1)-(1,3) = ".."
diff --git a/test/prism/snapshots/whitequark/regex_interp.txt b/test/prism/snapshots/whitequark/regex_interp.txt
index 443321f247..ef83e9a2e8 100644
--- a/test/prism/snapshots/whitequark/regex_interp.txt
+++ b/test/prism/snapshots/whitequark/regex_interp.txt
@@ -4,6 +4,7 @@
@ StatementsNode (location: (1,0)-(1,14))
└── body: (length: 1)
└── @ InterpolatedRegularExpressionNode (location: (1,0)-(1,14))
+ ├── flags: ∅
├── opening_loc: (1,0)-(1,1) = "/"
├── parts: (length: 3)
│ ├── @ StringNode (location: (1,1)-(1,4))
@@ -18,6 +19,7 @@
│ │ │ @ StatementsNode (location: (1,6)-(1,9))
│ │ │ └── body: (length: 1)
│ │ │ └── @ CallNode (location: (1,6)-(1,9))
+ │ │ │ ├── flags: variable_call
│ │ │ ├── receiver: ∅
│ │ │ ├── call_operator_loc: ∅
│ │ │ ├── name: :bar
@@ -25,8 +27,7 @@
│ │ │ ├── opening_loc: ∅
│ │ │ ├── arguments: ∅
│ │ │ ├── closing_loc: ∅
- │ │ │ ├── block: ∅
- │ │ │ └── flags: variable_call
+ │ │ │ └── block: ∅
│ │ └── closing_loc: (1,9)-(1,10) = "}"
│ └── @ StringNode (location: (1,10)-(1,13))
│ ├── flags: ∅
@@ -34,5 +35,4 @@
│ ├── content_loc: (1,10)-(1,13) = "baz"
│ ├── closing_loc: ∅
│ └── unescaped: "baz"
- ├── closing_loc: (1,13)-(1,14) = "/"
- └── flags: ∅
+ └── closing_loc: (1,13)-(1,14) = "/"
diff --git a/test/prism/snapshots/whitequark/regex_plain.txt b/test/prism/snapshots/whitequark/regex_plain.txt
index e4c80c53ea..34fe61c687 100644
--- a/test/prism/snapshots/whitequark/regex_plain.txt
+++ b/test/prism/snapshots/whitequark/regex_plain.txt
@@ -4,8 +4,8 @@
@ StatementsNode (location: (1,0)-(1,10))
└── body: (length: 1)
└── @ RegularExpressionNode (location: (1,0)-(1,10))
+ ├── flags: ignore_case, multi_line
├── opening_loc: (1,0)-(1,1) = "/"
├── content_loc: (1,1)-(1,7) = "source"
├── closing_loc: (1,7)-(1,10) = "/im"
- ├── unescaped: "source"
- └── flags: ignore_case, multi_line
+ └── unescaped: "source"
diff --git a/test/prism/snapshots/whitequark/resbody_list.txt b/test/prism/snapshots/whitequark/resbody_list.txt
index a11eba281d..d5a71cc3f3 100644
--- a/test/prism/snapshots/whitequark/resbody_list.txt
+++ b/test/prism/snapshots/whitequark/resbody_list.txt
@@ -9,6 +9,7 @@
│ @ StatementsNode (location: (1,7)-(1,11))
│ └── body: (length: 1)
│ └── @ CallNode (location: (1,7)-(1,11))
+ │ ├── flags: variable_call
│ ├── receiver: ∅
│ ├── call_operator_loc: ∅
│ ├── name: :meth
@@ -16,8 +17,7 @@
│ ├── opening_loc: ∅
│ ├── arguments: ∅
│ ├── closing_loc: ∅
- │ ├── block: ∅
- │ └── flags: variable_call
+ │ └── block: ∅
├── rescue_clause:
│ @ RescueNode (location: (1,13)-(1,34))
│ ├── keyword_loc: (1,13)-(1,19) = "rescue"
@@ -30,6 +30,7 @@
│ │ @ StatementsNode (location: (1,31)-(1,34))
│ │ └── body: (length: 1)
│ │ └── @ CallNode (location: (1,31)-(1,34))
+ │ │ ├── flags: variable_call
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
│ │ ├── name: :bar
@@ -37,8 +38,7 @@
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
- │ │ ├── block: ∅
- │ │ └── flags: variable_call
+ │ │ └── block: ∅
│ └── consequent: ∅
├── else_clause: ∅
├── ensure_clause: ∅
diff --git a/test/prism/snapshots/whitequark/resbody_list_mrhs.txt b/test/prism/snapshots/whitequark/resbody_list_mrhs.txt
index 3190cacf34..58b88972f5 100644
--- a/test/prism/snapshots/whitequark/resbody_list_mrhs.txt
+++ b/test/prism/snapshots/whitequark/resbody_list_mrhs.txt
@@ -9,6 +9,7 @@
│ @ StatementsNode (location: (1,7)-(1,11))
│ └── body: (length: 1)
│ └── @ CallNode (location: (1,7)-(1,11))
+ │ ├── flags: variable_call
│ ├── receiver: ∅
│ ├── call_operator_loc: ∅
│ ├── name: :meth
@@ -16,8 +17,7 @@
│ ├── opening_loc: ∅
│ ├── arguments: ∅
│ ├── closing_loc: ∅
- │ ├── block: ∅
- │ └── flags: variable_call
+ │ └── block: ∅
├── rescue_clause:
│ @ RescueNode (location: (1,13)-(1,39))
│ ├── keyword_loc: (1,13)-(1,19) = "rescue"
@@ -25,6 +25,7 @@
│ │ ├── @ ConstantReadNode (location: (1,20)-(1,29))
│ │ │ └── name: :Exception
│ │ └── @ CallNode (location: (1,31)-(1,34))
+ │ │ ├── flags: variable_call
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
│ │ ├── name: :foo
@@ -32,14 +33,14 @@
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
- │ │ ├── block: ∅
- │ │ └── flags: variable_call
+ │ │ └── block: ∅
│ ├── operator_loc: ∅
│ ├── reference: ∅
│ ├── statements:
│ │ @ StatementsNode (location: (1,36)-(1,39))
│ │ └── body: (length: 1)
│ │ └── @ CallNode (location: (1,36)-(1,39))
+ │ │ ├── flags: variable_call
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
│ │ ├── name: :bar
@@ -47,8 +48,7 @@
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
- │ │ ├── block: ∅
- │ │ └── flags: variable_call
+ │ │ └── block: ∅
│ └── consequent: ∅
├── else_clause: ∅
├── ensure_clause: ∅
diff --git a/test/prism/snapshots/whitequark/resbody_list_var.txt b/test/prism/snapshots/whitequark/resbody_list_var.txt
index a84fe7163d..9e2d5ec3f6 100644
--- a/test/prism/snapshots/whitequark/resbody_list_var.txt
+++ b/test/prism/snapshots/whitequark/resbody_list_var.txt
@@ -9,6 +9,7 @@
│ @ StatementsNode (location: (1,7)-(1,11))
│ └── body: (length: 1)
│ └── @ CallNode (location: (1,7)-(1,11))
+ │ ├── flags: variable_call
│ ├── receiver: ∅
│ ├── call_operator_loc: ∅
│ ├── name: :meth
@@ -16,13 +17,13 @@
│ ├── opening_loc: ∅
│ ├── arguments: ∅
│ ├── closing_loc: ∅
- │ ├── block: ∅
- │ └── flags: variable_call
+ │ └── block: ∅
├── rescue_clause:
│ @ RescueNode (location: (1,13)-(1,34))
│ ├── keyword_loc: (1,13)-(1,19) = "rescue"
│ ├── exceptions: (length: 1)
│ │ └── @ CallNode (location: (1,20)-(1,23))
+ │ │ ├── flags: variable_call
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
│ │ ├── name: :foo
@@ -30,8 +31,7 @@
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
- │ │ ├── block: ∅
- │ │ └── flags: variable_call
+ │ │ └── block: ∅
│ ├── operator_loc: (1,24)-(1,26) = "=>"
│ ├── reference:
│ │ @ LocalVariableTargetNode (location: (1,27)-(1,29))
@@ -41,6 +41,7 @@
│ │ @ StatementsNode (location: (1,31)-(1,34))
│ │ └── body: (length: 1)
│ │ └── @ CallNode (location: (1,31)-(1,34))
+ │ │ ├── flags: variable_call
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
│ │ ├── name: :bar
@@ -48,8 +49,7 @@
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
- │ │ ├── block: ∅
- │ │ └── flags: variable_call
+ │ │ └── block: ∅
│ └── consequent: ∅
├── else_clause: ∅
├── ensure_clause: ∅
diff --git a/test/prism/snapshots/whitequark/resbody_var.txt b/test/prism/snapshots/whitequark/resbody_var.txt
index c89868a261..b4c2bc310e 100644
--- a/test/prism/snapshots/whitequark/resbody_var.txt
+++ b/test/prism/snapshots/whitequark/resbody_var.txt
@@ -9,6 +9,7 @@
│ │ @ StatementsNode (location: (1,7)-(1,11))
│ │ └── body: (length: 1)
│ │ └── @ CallNode (location: (1,7)-(1,11))
+ │ │ ├── flags: variable_call
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
│ │ ├── name: :meth
@@ -16,8 +17,7 @@
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
- │ │ ├── block: ∅
- │ │ └── flags: variable_call
+ │ │ └── block: ∅
│ ├── rescue_clause:
│ │ @ RescueNode (location: (1,13)-(1,31))
│ │ ├── keyword_loc: (1,13)-(1,19) = "rescue"
@@ -30,6 +30,7 @@
│ │ │ @ StatementsNode (location: (1,28)-(1,31))
│ │ │ └── body: (length: 1)
│ │ │ └── @ CallNode (location: (1,28)-(1,31))
+ │ │ │ ├── flags: variable_call
│ │ │ ├── receiver: ∅
│ │ │ ├── call_operator_loc: ∅
│ │ │ ├── name: :bar
@@ -37,8 +38,7 @@
│ │ │ ├── opening_loc: ∅
│ │ │ ├── arguments: ∅
│ │ │ ├── closing_loc: ∅
- │ │ │ ├── block: ∅
- │ │ │ └── flags: variable_call
+ │ │ │ └── block: ∅
│ │ └── consequent: ∅
│ ├── else_clause: ∅
│ ├── ensure_clause: ∅
@@ -49,6 +49,7 @@
│ @ StatementsNode (location: (3,7)-(3,11))
│ └── body: (length: 1)
│ └── @ CallNode (location: (3,7)-(3,11))
+ │ ├── flags: variable_call
│ ├── receiver: ∅
│ ├── call_operator_loc: ∅
│ ├── name: :meth
@@ -56,8 +57,7 @@
│ ├── opening_loc: ∅
│ ├── arguments: ∅
│ ├── closing_loc: ∅
- │ ├── block: ∅
- │ └── flags: variable_call
+ │ └── block: ∅
├── rescue_clause:
│ @ RescueNode (location: (3,13)-(3,30))
│ ├── keyword_loc: (3,13)-(3,19) = "rescue"
@@ -71,6 +71,7 @@
│ │ @ StatementsNode (location: (3,27)-(3,30))
│ │ └── body: (length: 1)
│ │ └── @ CallNode (location: (3,27)-(3,30))
+ │ │ ├── flags: variable_call
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
│ │ ├── name: :bar
@@ -78,8 +79,7 @@
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
- │ │ ├── block: ∅
- │ │ └── flags: variable_call
+ │ │ └── block: ∅
│ └── consequent: ∅
├── else_clause: ∅
├── ensure_clause: ∅
diff --git a/test/prism/snapshots/whitequark/rescue.txt b/test/prism/snapshots/whitequark/rescue.txt
index 1d8d7ff840..ac57561bf5 100644
--- a/test/prism/snapshots/whitequark/rescue.txt
+++ b/test/prism/snapshots/whitequark/rescue.txt
@@ -9,6 +9,7 @@
│ @ StatementsNode (location: (1,7)-(1,11))
│ └── body: (length: 1)
│ └── @ CallNode (location: (1,7)-(1,11))
+ │ ├── flags: variable_call
│ ├── receiver: ∅
│ ├── call_operator_loc: ∅
│ ├── name: :meth
@@ -16,8 +17,7 @@
│ ├── opening_loc: ∅
│ ├── arguments: ∅
│ ├── closing_loc: ∅
- │ ├── block: ∅
- │ └── flags: variable_call
+ │ └── block: ∅
├── rescue_clause:
│ @ RescueNode (location: (1,13)-(1,24))
│ ├── keyword_loc: (1,13)-(1,19) = "rescue"
@@ -28,6 +28,7 @@
│ │ @ StatementsNode (location: (1,21)-(1,24))
│ │ └── body: (length: 1)
│ │ └── @ CallNode (location: (1,21)-(1,24))
+ │ │ ├── flags: variable_call
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
│ │ ├── name: :foo
@@ -35,8 +36,7 @@
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
- │ │ ├── block: ∅
- │ │ └── flags: variable_call
+ │ │ └── block: ∅
│ └── consequent: ∅
├── else_clause: ∅
├── ensure_clause: ∅
diff --git a/test/prism/snapshots/whitequark/rescue_else.txt b/test/prism/snapshots/whitequark/rescue_else.txt
index 7441ff3b78..5a87d408bc 100644
--- a/test/prism/snapshots/whitequark/rescue_else.txt
+++ b/test/prism/snapshots/whitequark/rescue_else.txt
@@ -9,6 +9,7 @@
│ @ StatementsNode (location: (1,7)-(1,11))
│ └── body: (length: 1)
│ └── @ CallNode (location: (1,7)-(1,11))
+ │ ├── flags: variable_call
│ ├── receiver: ∅
│ ├── call_operator_loc: ∅
│ ├── name: :meth
@@ -16,8 +17,7 @@
│ ├── opening_loc: ∅
│ ├── arguments: ∅
│ ├── closing_loc: ∅
- │ ├── block: ∅
- │ └── flags: variable_call
+ │ └── block: ∅
├── rescue_clause:
│ @ RescueNode (location: (1,13)-(1,24))
│ ├── keyword_loc: (1,13)-(1,19) = "rescue"
@@ -28,6 +28,7 @@
│ │ @ StatementsNode (location: (1,21)-(1,24))
│ │ └── body: (length: 1)
│ │ └── @ CallNode (location: (1,21)-(1,24))
+ │ │ ├── flags: variable_call
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
│ │ ├── name: :foo
@@ -35,8 +36,7 @@
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
- │ │ ├── block: ∅
- │ │ └── flags: variable_call
+ │ │ └── block: ∅
│ └── consequent: ∅
├── else_clause:
│ @ ElseNode (location: (1,26)-(1,40))
@@ -45,6 +45,7 @@
│ │ @ StatementsNode (location: (1,32)-(1,35))
│ │ └── body: (length: 1)
│ │ └── @ CallNode (location: (1,32)-(1,35))
+ │ │ ├── flags: variable_call
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
│ │ ├── name: :bar
@@ -52,8 +53,7 @@
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
- │ │ ├── block: ∅
- │ │ └── flags: variable_call
+ │ │ └── block: ∅
│ └── end_keyword_loc: (1,37)-(1,40) = "end"
├── ensure_clause: ∅
└── end_keyword_loc: (1,37)-(1,40) = "end"
diff --git a/test/prism/snapshots/whitequark/rescue_else_ensure.txt b/test/prism/snapshots/whitequark/rescue_else_ensure.txt
index d0c7f20d4c..9f1f9f51a4 100644
--- a/test/prism/snapshots/whitequark/rescue_else_ensure.txt
+++ b/test/prism/snapshots/whitequark/rescue_else_ensure.txt
@@ -9,6 +9,7 @@
│ @ StatementsNode (location: (1,7)-(1,11))
│ └── body: (length: 1)
│ └── @ CallNode (location: (1,7)-(1,11))
+ │ ├── flags: variable_call
│ ├── receiver: ∅
│ ├── call_operator_loc: ∅
│ ├── name: :meth
@@ -16,8 +17,7 @@
│ ├── opening_loc: ∅
│ ├── arguments: ∅
│ ├── closing_loc: ∅
- │ ├── block: ∅
- │ └── flags: variable_call
+ │ └── block: ∅
├── rescue_clause:
│ @ RescueNode (location: (1,13)-(1,24))
│ ├── keyword_loc: (1,13)-(1,19) = "rescue"
@@ -28,6 +28,7 @@
│ │ @ StatementsNode (location: (1,21)-(1,24))
│ │ └── body: (length: 1)
│ │ └── @ CallNode (location: (1,21)-(1,24))
+ │ │ ├── flags: variable_call
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
│ │ ├── name: :baz
@@ -35,8 +36,7 @@
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
- │ │ ├── block: ∅
- │ │ └── flags: variable_call
+ │ │ └── block: ∅
│ └── consequent: ∅
├── else_clause:
│ @ ElseNode (location: (1,26)-(1,42))
@@ -45,6 +45,7 @@
│ │ @ StatementsNode (location: (1,31)-(1,34))
│ │ └── body: (length: 1)
│ │ └── @ CallNode (location: (1,31)-(1,34))
+ │ │ ├── flags: variable_call
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
│ │ ├── name: :foo
@@ -52,8 +53,7 @@
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
- │ │ ├── block: ∅
- │ │ └── flags: variable_call
+ │ │ └── block: ∅
│ └── end_keyword_loc: (1,36)-(1,42) = "ensure"
├── ensure_clause:
│ @ EnsureNode (location: (1,36)-(1,51))
@@ -62,6 +62,7 @@
│ │ @ StatementsNode (location: (1,44)-(1,47))
│ │ └── body: (length: 1)
│ │ └── @ CallNode (location: (1,44)-(1,47))
+ │ │ ├── flags: variable_call
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
│ │ ├── name: :bar
@@ -69,7 +70,6 @@
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
- │ │ ├── block: ∅
- │ │ └── flags: variable_call
+ │ │ └── block: ∅
│ └── end_keyword_loc: (1,48)-(1,51) = "end"
└── end_keyword_loc: (1,48)-(1,51) = "end"
diff --git a/test/prism/snapshots/whitequark/rescue_ensure.txt b/test/prism/snapshots/whitequark/rescue_ensure.txt
index ad40656486..567b283128 100644
--- a/test/prism/snapshots/whitequark/rescue_ensure.txt
+++ b/test/prism/snapshots/whitequark/rescue_ensure.txt
@@ -9,6 +9,7 @@
│ @ StatementsNode (location: (1,7)-(1,11))
│ └── body: (length: 1)
│ └── @ CallNode (location: (1,7)-(1,11))
+ │ ├── flags: variable_call
│ ├── receiver: ∅
│ ├── call_operator_loc: ∅
│ ├── name: :meth
@@ -16,8 +17,7 @@
│ ├── opening_loc: ∅
│ ├── arguments: ∅
│ ├── closing_loc: ∅
- │ ├── block: ∅
- │ └── flags: variable_call
+ │ └── block: ∅
├── rescue_clause:
│ @ RescueNode (location: (1,13)-(1,24))
│ ├── keyword_loc: (1,13)-(1,19) = "rescue"
@@ -28,6 +28,7 @@
│ │ @ StatementsNode (location: (1,21)-(1,24))
│ │ └── body: (length: 1)
│ │ └── @ CallNode (location: (1,21)-(1,24))
+ │ │ ├── flags: variable_call
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
│ │ ├── name: :baz
@@ -35,8 +36,7 @@
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
- │ │ ├── block: ∅
- │ │ └── flags: variable_call
+ │ │ └── block: ∅
│ └── consequent: ∅
├── else_clause: ∅
├── ensure_clause:
@@ -46,6 +46,7 @@
│ │ @ StatementsNode (location: (1,34)-(1,37))
│ │ └── body: (length: 1)
│ │ └── @ CallNode (location: (1,34)-(1,37))
+ │ │ ├── flags: variable_call
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
│ │ ├── name: :bar
@@ -53,7 +54,6 @@
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
- │ │ ├── block: ∅
- │ │ └── flags: variable_call
+ │ │ └── block: ∅
│ └── end_keyword_loc: (1,39)-(1,42) = "end"
└── end_keyword_loc: (1,39)-(1,42) = "end"
diff --git a/test/prism/snapshots/whitequark/rescue_mod.txt b/test/prism/snapshots/whitequark/rescue_mod.txt
index ea85cb9c00..413c522102 100644
--- a/test/prism/snapshots/whitequark/rescue_mod.txt
+++ b/test/prism/snapshots/whitequark/rescue_mod.txt
@@ -6,6 +6,7 @@
└── @ RescueModifierNode (location: (1,0)-(1,15))
├── expression:
│ @ CallNode (location: (1,0)-(1,4))
+ │ ├── flags: variable_call
│ ├── receiver: ∅
│ ├── call_operator_loc: ∅
│ ├── name: :meth
@@ -13,11 +14,11 @@
│ ├── opening_loc: ∅
│ ├── arguments: ∅
│ ├── closing_loc: ∅
- │ ├── block: ∅
- │ └── flags: variable_call
+ │ └── block: ∅
├── keyword_loc: (1,5)-(1,11) = "rescue"
└── rescue_expression:
@ CallNode (location: (1,12)-(1,15))
+ ├── flags: variable_call
├── receiver: ∅
├── call_operator_loc: ∅
├── name: :bar
@@ -25,5 +26,4 @@
├── opening_loc: ∅
├── arguments: ∅
├── closing_loc: ∅
- ├── block: ∅
- └── flags: variable_call
+ └── block: ∅
diff --git a/test/prism/snapshots/whitequark/rescue_mod_asgn.txt b/test/prism/snapshots/whitequark/rescue_mod_asgn.txt
index 74ced5d1ad..35d7f01084 100644
--- a/test/prism/snapshots/whitequark/rescue_mod_asgn.txt
+++ b/test/prism/snapshots/whitequark/rescue_mod_asgn.txt
@@ -11,6 +11,7 @@
│ @ RescueModifierNode (location: (1,6)-(1,21))
│ ├── expression:
│ │ @ CallNode (location: (1,6)-(1,10))
+ │ │ ├── flags: variable_call
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
│ │ ├── name: :meth
@@ -18,11 +19,11 @@
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
- │ │ ├── block: ∅
- │ │ └── flags: variable_call
+ │ │ └── block: ∅
│ ├── keyword_loc: (1,11)-(1,17) = "rescue"
│ └── rescue_expression:
│ @ CallNode (location: (1,18)-(1,21))
+ │ ├── flags: variable_call
│ ├── receiver: ∅
│ ├── call_operator_loc: ∅
│ ├── name: :bar
@@ -30,6 +31,5 @@
│ ├── opening_loc: ∅
│ ├── arguments: ∅
│ ├── closing_loc: ∅
- │ ├── block: ∅
- │ └── flags: variable_call
+ │ └── block: ∅
└── operator_loc: (1,4)-(1,5) = "="
diff --git a/test/prism/snapshots/whitequark/rescue_mod_masgn.txt b/test/prism/snapshots/whitequark/rescue_mod_masgn.txt
index f1746602e6..6c3d0e92f0 100644
--- a/test/prism/snapshots/whitequark/rescue_mod_masgn.txt
+++ b/test/prism/snapshots/whitequark/rescue_mod_masgn.txt
@@ -20,6 +20,7 @@
@ RescueModifierNode (location: (1,11)-(1,29))
├── expression:
│ @ CallNode (location: (1,11)-(1,15))
+ │ ├── flags: variable_call
│ ├── receiver: ∅
│ ├── call_operator_loc: ∅
│ ├── name: :meth
@@ -27,16 +28,15 @@
│ ├── opening_loc: ∅
│ ├── arguments: ∅
│ ├── closing_loc: ∅
- │ ├── block: ∅
- │ └── flags: variable_call
+ │ └── block: ∅
├── keyword_loc: (1,16)-(1,22) = "rescue"
└── rescue_expression:
@ ArrayNode (location: (1,23)-(1,29))
+ ├── flags: ∅
├── elements: (length: 2)
│ ├── @ IntegerNode (location: (1,24)-(1,25))
│ │ └── flags: decimal
│ └── @ IntegerNode (location: (1,27)-(1,28))
│ └── flags: decimal
├── opening_loc: (1,23)-(1,24) = "["
- ├── closing_loc: (1,28)-(1,29) = "]"
- └── flags: ∅
+ └── closing_loc: (1,28)-(1,29) = "]"
diff --git a/test/prism/snapshots/whitequark/rescue_mod_op_assign.txt b/test/prism/snapshots/whitequark/rescue_mod_op_assign.txt
index 05dc5e68ef..773b8645a6 100644
--- a/test/prism/snapshots/whitequark/rescue_mod_op_assign.txt
+++ b/test/prism/snapshots/whitequark/rescue_mod_op_assign.txt
@@ -10,6 +10,7 @@
│ @ RescueModifierNode (location: (1,7)-(1,22))
│ ├── expression:
│ │ @ CallNode (location: (1,7)-(1,11))
+ │ │ ├── flags: variable_call
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
│ │ ├── name: :meth
@@ -17,11 +18,11 @@
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
- │ │ ├── block: ∅
- │ │ └── flags: variable_call
+ │ │ └── block: ∅
│ ├── keyword_loc: (1,12)-(1,18) = "rescue"
│ └── rescue_expression:
│ @ CallNode (location: (1,19)-(1,22))
+ │ ├── flags: variable_call
│ ├── receiver: ∅
│ ├── call_operator_loc: ∅
│ ├── name: :bar
@@ -29,8 +30,7 @@
│ ├── opening_loc: ∅
│ ├── arguments: ∅
│ ├── closing_loc: ∅
- │ ├── block: ∅
- │ └── flags: variable_call
+ │ └── block: ∅
├── name: :foo
├── operator: :+
└── depth: 0
diff --git a/test/prism/snapshots/whitequark/rescue_without_begin_end.txt b/test/prism/snapshots/whitequark/rescue_without_begin_end.txt
index 76d1bf821c..3f086abe57 100644
--- a/test/prism/snapshots/whitequark/rescue_without_begin_end.txt
+++ b/test/prism/snapshots/whitequark/rescue_without_begin_end.txt
@@ -4,6 +4,7 @@
@ StatementsNode (location: (1,0)-(1,30))
└── body: (length: 1)
└── @ CallNode (location: (1,0)-(1,30))
+ ├── flags: ∅
├── receiver: ∅
├── call_operator_loc: ∅
├── name: :meth
@@ -11,50 +12,49 @@
├── opening_loc: ∅
├── arguments: ∅
├── closing_loc: ∅
- ├── block:
- │ @ BlockNode (location: (1,5)-(1,30))
- │ ├── locals: []
- │ ├── locals_body_index: 0
- │ ├── parameters: ∅
- │ ├── body:
- │ │ @ BeginNode (location: (1,9)-(1,30))
- │ │ ├── begin_keyword_loc: ∅
- │ │ ├── statements:
- │ │ │ @ StatementsNode (location: (1,9)-(1,12))
- │ │ │ └── body: (length: 1)
- │ │ │ └── @ CallNode (location: (1,9)-(1,12))
- │ │ │ ├── receiver: ∅
- │ │ │ ├── call_operator_loc: ∅
- │ │ │ ├── name: :foo
- │ │ │ ├── message_loc: (1,9)-(1,12) = "foo"
- │ │ │ ├── opening_loc: ∅
- │ │ │ ├── arguments: ∅
- │ │ │ ├── closing_loc: ∅
- │ │ │ ├── block: ∅
- │ │ │ └── flags: variable_call
- │ │ ├── rescue_clause:
- │ │ │ @ RescueNode (location: (1,14)-(1,25))
- │ │ │ ├── keyword_loc: (1,14)-(1,20) = "rescue"
- │ │ │ ├── exceptions: (length: 0)
- │ │ │ ├── operator_loc: ∅
- │ │ │ ├── reference: ∅
- │ │ │ ├── statements:
- │ │ │ │ @ StatementsNode (location: (1,22)-(1,25))
- │ │ │ │ └── body: (length: 1)
- │ │ │ │ └── @ CallNode (location: (1,22)-(1,25))
- │ │ │ │ ├── receiver: ∅
- │ │ │ │ ├── call_operator_loc: ∅
- │ │ │ │ ├── name: :bar
- │ │ │ │ ├── message_loc: (1,22)-(1,25) = "bar"
- │ │ │ │ ├── opening_loc: ∅
- │ │ │ │ ├── arguments: ∅
- │ │ │ │ ├── closing_loc: ∅
- │ │ │ │ ├── block: ∅
- │ │ │ │ └── flags: variable_call
- │ │ │ └── consequent: ∅
- │ │ ├── else_clause: ∅
- │ │ ├── ensure_clause: ∅
- │ │ └── end_keyword_loc: (1,27)-(1,30) = "end"
- │ ├── opening_loc: (1,5)-(1,7) = "do"
- │ └── closing_loc: (1,27)-(1,30) = "end"
- └── flags: ∅
+ └── block:
+ @ BlockNode (location: (1,5)-(1,30))
+ ├── locals: []
+ ├── locals_body_index: 0
+ ├── parameters: ∅
+ ├── body:
+ │ @ BeginNode (location: (1,9)-(1,30))
+ │ ├── begin_keyword_loc: ∅
+ │ ├── statements:
+ │ │ @ StatementsNode (location: (1,9)-(1,12))
+ │ │ └── body: (length: 1)
+ │ │ └── @ CallNode (location: (1,9)-(1,12))
+ │ │ ├── flags: variable_call
+ │ │ ├── receiver: ∅
+ │ │ ├── call_operator_loc: ∅
+ │ │ ├── name: :foo
+ │ │ ├── message_loc: (1,9)-(1,12) = "foo"
+ │ │ ├── opening_loc: ∅
+ │ │ ├── arguments: ∅
+ │ │ ├── closing_loc: ∅
+ │ │ └── block: ∅
+ │ ├── rescue_clause:
+ │ │ @ RescueNode (location: (1,14)-(1,25))
+ │ │ ├── keyword_loc: (1,14)-(1,20) = "rescue"
+ │ │ ├── exceptions: (length: 0)
+ │ │ ├── operator_loc: ∅
+ │ │ ├── reference: ∅
+ │ │ ├── statements:
+ │ │ │ @ StatementsNode (location: (1,22)-(1,25))
+ │ │ │ └── body: (length: 1)
+ │ │ │ └── @ CallNode (location: (1,22)-(1,25))
+ │ │ │ ├── flags: variable_call
+ │ │ │ ├── receiver: ∅
+ │ │ │ ├── call_operator_loc: ∅
+ │ │ │ ├── name: :bar
+ │ │ │ ├── message_loc: (1,22)-(1,25) = "bar"
+ │ │ │ ├── opening_loc: ∅
+ │ │ │ ├── arguments: ∅
+ │ │ │ ├── closing_loc: ∅
+ │ │ │ └── block: ∅
+ │ │ └── consequent: ∅
+ │ ├── else_clause: ∅
+ │ ├── ensure_clause: ∅
+ │ └── end_keyword_loc: (1,27)-(1,30) = "end"
+ ├── opening_loc: (1,5)-(1,7) = "do"
+ └── closing_loc: (1,27)-(1,30) = "end"
diff --git a/test/prism/snapshots/whitequark/return.txt b/test/prism/snapshots/whitequark/return.txt
index 231b70bca1..72e4ab9849 100644
--- a/test/prism/snapshots/whitequark/return.txt
+++ b/test/prism/snapshots/whitequark/return.txt
@@ -10,47 +10,47 @@
│ ├── keyword_loc: (3,0)-(3,6) = "return"
│ └── arguments:
│ @ ArgumentsNode (location: (3,7)-(3,10))
- │ ├── arguments: (length: 1)
- │ │ └── @ CallNode (location: (3,7)-(3,10))
- │ │ ├── receiver: ∅
- │ │ ├── call_operator_loc: ∅
- │ │ ├── name: :foo
- │ │ ├── message_loc: (3,7)-(3,10) = "foo"
- │ │ ├── opening_loc: ∅
- │ │ ├── arguments: ∅
- │ │ ├── closing_loc: ∅
- │ │ ├── block: ∅
- │ │ └── flags: variable_call
- │ └── flags: ∅
+ │ ├── flags: ∅
+ │ └── arguments: (length: 1)
+ │ └── @ CallNode (location: (3,7)-(3,10))
+ │ ├── flags: variable_call
+ │ ├── receiver: ∅
+ │ ├── call_operator_loc: ∅
+ │ ├── name: :foo
+ │ ├── message_loc: (3,7)-(3,10) = "foo"
+ │ ├── opening_loc: ∅
+ │ ├── arguments: ∅
+ │ ├── closing_loc: ∅
+ │ └── block: ∅
├── @ ReturnNode (location: (5,0)-(5,8))
│ ├── keyword_loc: (5,0)-(5,6) = "return"
│ └── arguments:
│ @ ArgumentsNode (location: (5,6)-(5,8))
- │ ├── arguments: (length: 1)
- │ │ └── @ ParenthesesNode (location: (5,6)-(5,8))
- │ │ ├── body: ∅
- │ │ ├── opening_loc: (5,6)-(5,7) = "("
- │ │ └── closing_loc: (5,7)-(5,8) = ")"
- │ └── flags: ∅
+ │ ├── flags: ∅
+ │ └── arguments: (length: 1)
+ │ └── @ ParenthesesNode (location: (5,6)-(5,8))
+ │ ├── body: ∅
+ │ ├── opening_loc: (5,6)-(5,7) = "("
+ │ └── closing_loc: (5,7)-(5,8) = ")"
└── @ ReturnNode (location: (7,0)-(7,11))
├── keyword_loc: (7,0)-(7,6) = "return"
└── arguments:
@ ArgumentsNode (location: (7,6)-(7,11))
- ├── arguments: (length: 1)
- │ └── @ ParenthesesNode (location: (7,6)-(7,11))
- │ ├── body:
- │ │ @ StatementsNode (location: (7,7)-(7,10))
- │ │ └── body: (length: 1)
- │ │ └── @ CallNode (location: (7,7)-(7,10))
- │ │ ├── receiver: ∅
- │ │ ├── call_operator_loc: ∅
- │ │ ├── name: :foo
- │ │ ├── message_loc: (7,7)-(7,10) = "foo"
- │ │ ├── opening_loc: ∅
- │ │ ├── arguments: ∅
- │ │ ├── closing_loc: ∅
- │ │ ├── block: ∅
- │ │ └── flags: variable_call
- │ ├── opening_loc: (7,6)-(7,7) = "("
- │ └── closing_loc: (7,10)-(7,11) = ")"
- └── flags: ∅
+ ├── flags: ∅
+ └── arguments: (length: 1)
+ └── @ ParenthesesNode (location: (7,6)-(7,11))
+ ├── body:
+ │ @ StatementsNode (location: (7,7)-(7,10))
+ │ └── body: (length: 1)
+ │ └── @ CallNode (location: (7,7)-(7,10))
+ │ ├── flags: variable_call
+ │ ├── receiver: ∅
+ │ ├── call_operator_loc: ∅
+ │ ├── name: :foo
+ │ ├── message_loc: (7,7)-(7,10) = "foo"
+ │ ├── opening_loc: ∅
+ │ ├── arguments: ∅
+ │ ├── closing_loc: ∅
+ │ └── block: ∅
+ ├── opening_loc: (7,6)-(7,7) = "("
+ └── closing_loc: (7,10)-(7,11) = ")"
diff --git a/test/prism/snapshots/whitequark/return_block.txt b/test/prism/snapshots/whitequark/return_block.txt
index 45e5116060..5e55998a2f 100644
--- a/test/prism/snapshots/whitequark/return_block.txt
+++ b/test/prism/snapshots/whitequark/return_block.txt
@@ -7,35 +7,35 @@
├── keyword_loc: (1,0)-(1,6) = "return"
└── arguments:
@ ArgumentsNode (location: (1,7)-(1,21))
- ├── arguments: (length: 1)
- │ └── @ CallNode (location: (1,7)-(1,21))
- │ ├── receiver: ∅
- │ ├── call_operator_loc: ∅
- │ ├── name: :fun
- │ ├── message_loc: (1,7)-(1,10) = "fun"
- │ ├── opening_loc: ∅
- │ ├── arguments:
- │ │ @ ArgumentsNode (location: (1,11)-(1,14))
- │ │ ├── arguments: (length: 1)
- │ │ │ └── @ CallNode (location: (1,11)-(1,14))
- │ │ │ ├── receiver: ∅
- │ │ │ ├── call_operator_loc: ∅
- │ │ │ ├── name: :foo
- │ │ │ ├── message_loc: (1,11)-(1,14) = "foo"
- │ │ │ ├── opening_loc: ∅
- │ │ │ ├── arguments: ∅
- │ │ │ ├── closing_loc: ∅
- │ │ │ ├── block: ∅
- │ │ │ └── flags: variable_call
- │ │ └── flags: ∅
- │ ├── closing_loc: ∅
- │ ├── block:
- │ │ @ BlockNode (location: (1,15)-(1,21))
- │ │ ├── locals: []
- │ │ ├── locals_body_index: 0
- │ │ ├── parameters: ∅
- │ │ ├── body: ∅
- │ │ ├── opening_loc: (1,15)-(1,17) = "do"
- │ │ └── closing_loc: (1,18)-(1,21) = "end"
- │ └── flags: ∅
- └── flags: ∅
+ ├── flags: ∅
+ └── arguments: (length: 1)
+ └── @ CallNode (location: (1,7)-(1,21))
+ ├── flags: ∅
+ ├── receiver: ∅
+ ├── call_operator_loc: ∅
+ ├── name: :fun
+ ├── message_loc: (1,7)-(1,10) = "fun"
+ ├── opening_loc: ∅
+ ├── arguments:
+ │ @ ArgumentsNode (location: (1,11)-(1,14))
+ │ ├── flags: ∅
+ │ └── arguments: (length: 1)
+ │ └── @ CallNode (location: (1,11)-(1,14))
+ │ ├── flags: variable_call
+ │ ├── receiver: ∅
+ │ ├── call_operator_loc: ∅
+ │ ├── name: :foo
+ │ ├── message_loc: (1,11)-(1,14) = "foo"
+ │ ├── opening_loc: ∅
+ │ ├── arguments: ∅
+ │ ├── closing_loc: ∅
+ │ └── block: ∅
+ ├── closing_loc: ∅
+ └── block:
+ @ BlockNode (location: (1,15)-(1,21))
+ ├── locals: []
+ ├── locals_body_index: 0
+ ├── parameters: ∅
+ ├── body: ∅
+ ├── opening_loc: (1,15)-(1,17) = "do"
+ └── closing_loc: (1,18)-(1,21) = "end"
diff --git a/test/prism/snapshots/whitequark/ruby_bug_10653.txt b/test/prism/snapshots/whitequark/ruby_bug_10653.txt
index 57c5dfc940..5c26bd6120 100644
--- a/test/prism/snapshots/whitequark/ruby_bug_10653.txt
+++ b/test/prism/snapshots/whitequark/ruby_bug_10653.txt
@@ -12,6 +12,7 @@
│ │ @ StatementsNode (location: (1,8)-(1,20))
│ │ └── body: (length: 1)
│ │ └── @ CallNode (location: (1,8)-(1,20))
+ │ │ ├── flags: ∅
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
│ │ ├── name: :raise
@@ -19,15 +20,14 @@
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
- │ │ ├── block:
- │ │ │ @ BlockNode (location: (1,14)-(1,20))
- │ │ │ ├── locals: []
- │ │ │ ├── locals_body_index: 0
- │ │ │ ├── parameters: ∅
- │ │ │ ├── body: ∅
- │ │ │ ├── opening_loc: (1,14)-(1,16) = "do"
- │ │ │ └── closing_loc: (1,17)-(1,20) = "end"
- │ │ └── flags: ∅
+ │ │ └── block:
+ │ │ @ BlockNode (location: (1,14)-(1,20))
+ │ │ ├── locals: []
+ │ │ ├── locals_body_index: 0
+ │ │ ├── parameters: ∅
+ │ │ ├── body: ∅
+ │ │ ├── opening_loc: (1,14)-(1,16) = "do"
+ │ │ └── closing_loc: (1,17)-(1,20) = "end"
│ ├── consequent:
│ │ @ ElseNode (location: (1,21)-(1,33))
│ │ ├── else_keyword_loc: (1,21)-(1,22) = ":"
@@ -35,6 +35,7 @@
│ │ │ @ StatementsNode (location: (1,23)-(1,33))
│ │ │ └── body: (length: 1)
│ │ │ └── @ CallNode (location: (1,23)-(1,33))
+ │ │ │ ├── flags: ∅
│ │ │ ├── receiver: ∅
│ │ │ ├── call_operator_loc: ∅
│ │ │ ├── name: :tap
@@ -42,15 +43,14 @@
│ │ │ ├── opening_loc: ∅
│ │ │ ├── arguments: ∅
│ │ │ ├── closing_loc: ∅
- │ │ │ ├── block:
- │ │ │ │ @ BlockNode (location: (1,27)-(1,33))
- │ │ │ │ ├── locals: []
- │ │ │ │ ├── locals_body_index: 0
- │ │ │ │ ├── parameters: ∅
- │ │ │ │ ├── body: ∅
- │ │ │ │ ├── opening_loc: (1,27)-(1,29) = "do"
- │ │ │ │ └── closing_loc: (1,30)-(1,33) = "end"
- │ │ │ └── flags: ∅
+ │ │ │ └── block:
+ │ │ │ @ BlockNode (location: (1,27)-(1,33))
+ │ │ │ ├── locals: []
+ │ │ │ ├── locals_body_index: 0
+ │ │ │ ├── parameters: ∅
+ │ │ │ ├── body: ∅
+ │ │ │ ├── opening_loc: (1,27)-(1,29) = "do"
+ │ │ │ └── closing_loc: (1,30)-(1,33) = "end"
│ │ └── end_keyword_loc: ∅
│ └── end_keyword_loc: ∅
├── @ IfNode (location: (3,0)-(3,25))
@@ -62,6 +62,7 @@
│ │ @ StatementsNode (location: (3,8)-(3,16))
│ │ └── body: (length: 1)
│ │ └── @ CallNode (location: (3,8)-(3,16))
+ │ │ ├── flags: ∅
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
│ │ ├── name: :raise
@@ -69,15 +70,14 @@
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
- │ │ ├── block:
- │ │ │ @ BlockNode (location: (3,14)-(3,16))
- │ │ │ ├── locals: []
- │ │ │ ├── locals_body_index: 0
- │ │ │ ├── parameters: ∅
- │ │ │ ├── body: ∅
- │ │ │ ├── opening_loc: (3,14)-(3,15) = "{"
- │ │ │ └── closing_loc: (3,15)-(3,16) = "}"
- │ │ └── flags: ∅
+ │ │ └── block:
+ │ │ @ BlockNode (location: (3,14)-(3,16))
+ │ │ ├── locals: []
+ │ │ ├── locals_body_index: 0
+ │ │ ├── parameters: ∅
+ │ │ ├── body: ∅
+ │ │ ├── opening_loc: (3,14)-(3,15) = "{"
+ │ │ └── closing_loc: (3,15)-(3,16) = "}"
│ ├── consequent:
│ │ @ ElseNode (location: (3,17)-(3,25))
│ │ ├── else_keyword_loc: (3,17)-(3,18) = ":"
@@ -85,6 +85,7 @@
│ │ │ @ StatementsNode (location: (3,19)-(3,25))
│ │ │ └── body: (length: 1)
│ │ │ └── @ CallNode (location: (3,19)-(3,25))
+ │ │ │ ├── flags: ∅
│ │ │ ├── receiver: ∅
│ │ │ ├── call_operator_loc: ∅
│ │ │ ├── name: :tap
@@ -92,15 +93,14 @@
│ │ │ ├── opening_loc: ∅
│ │ │ ├── arguments: ∅
│ │ │ ├── closing_loc: ∅
- │ │ │ ├── block:
- │ │ │ │ @ BlockNode (location: (3,23)-(3,25))
- │ │ │ │ ├── locals: []
- │ │ │ │ ├── locals_body_index: 0
- │ │ │ │ ├── parameters: ∅
- │ │ │ │ ├── body: ∅
- │ │ │ │ ├── opening_loc: (3,23)-(3,24) = "{"
- │ │ │ │ └── closing_loc: (3,24)-(3,25) = "}"
- │ │ │ └── flags: ∅
+ │ │ │ └── block:
+ │ │ │ @ BlockNode (location: (3,23)-(3,25))
+ │ │ │ ├── locals: []
+ │ │ │ ├── locals_body_index: 0
+ │ │ │ ├── parameters: ∅
+ │ │ │ ├── body: ∅
+ │ │ │ ├── opening_loc: (3,23)-(3,24) = "{"
+ │ │ │ └── closing_loc: (3,24)-(3,25) = "}"
│ │ └── end_keyword_loc: ∅
│ └── end_keyword_loc: ∅
└── @ IfNode (location: (5,0)-(5,31))
@@ -112,6 +112,7 @@
│ @ StatementsNode (location: (5,7)-(5,27))
│ └── body: (length: 1)
│ └── @ CallNode (location: (5,7)-(5,27))
+ │ ├── flags: ∅
│ ├── receiver:
│ │ @ IntegerNode (location: (5,7)-(5,8))
│ │ └── flags: decimal
@@ -121,48 +122,47 @@
│ ├── opening_loc: ∅
│ ├── arguments: ∅
│ ├── closing_loc: ∅
- │ ├── block:
- │ │ @ BlockNode (location: (5,13)-(5,27))
- │ │ ├── locals: [:n]
- │ │ ├── locals_body_index: 1
- │ │ ├── parameters:
- │ │ │ @ BlockParametersNode (location: (5,16)-(5,19))
- │ │ │ ├── parameters:
- │ │ │ │ @ ParametersNode (location: (5,17)-(5,18))
- │ │ │ │ ├── requireds: (length: 1)
- │ │ │ │ │ └── @ RequiredParameterNode (location: (5,17)-(5,18))
- │ │ │ │ │ └── name: :n
- │ │ │ │ ├── optionals: (length: 0)
- │ │ │ │ ├── rest: ∅
- │ │ │ │ ├── posts: (length: 0)
- │ │ │ │ ├── keywords: (length: 0)
- │ │ │ │ ├── keyword_rest: ∅
- │ │ │ │ └── block: ∅
- │ │ │ ├── locals: (length: 0)
- │ │ │ ├── opening_loc: (5,16)-(5,17) = "|"
- │ │ │ └── closing_loc: (5,18)-(5,19) = "|"
- │ │ ├── body:
- │ │ │ @ StatementsNode (location: (5,20)-(5,23))
- │ │ │ └── body: (length: 1)
- │ │ │ └── @ CallNode (location: (5,20)-(5,23))
- │ │ │ ├── receiver: ∅
- │ │ │ ├── call_operator_loc: ∅
- │ │ │ ├── name: :p
- │ │ │ ├── message_loc: (5,20)-(5,21) = "p"
- │ │ │ ├── opening_loc: ∅
- │ │ │ ├── arguments:
- │ │ │ │ @ ArgumentsNode (location: (5,22)-(5,23))
- │ │ │ │ ├── arguments: (length: 1)
- │ │ │ │ │ └── @ LocalVariableReadNode (location: (5,22)-(5,23))
- │ │ │ │ │ ├── name: :n
- │ │ │ │ │ └── depth: 0
- │ │ │ │ └── flags: ∅
- │ │ │ ├── closing_loc: ∅
- │ │ │ ├── block: ∅
- │ │ │ └── flags: ∅
- │ │ ├── opening_loc: (5,13)-(5,15) = "do"
- │ │ └── closing_loc: (5,24)-(5,27) = "end"
- │ └── flags: ∅
+ │ └── block:
+ │ @ BlockNode (location: (5,13)-(5,27))
+ │ ├── locals: [:n]
+ │ ├── locals_body_index: 1
+ │ ├── parameters:
+ │ │ @ BlockParametersNode (location: (5,16)-(5,19))
+ │ │ ├── parameters:
+ │ │ │ @ ParametersNode (location: (5,17)-(5,18))
+ │ │ │ ├── requireds: (length: 1)
+ │ │ │ │ └── @ RequiredParameterNode (location: (5,17)-(5,18))
+ │ │ │ │ └── name: :n
+ │ │ │ ├── optionals: (length: 0)
+ │ │ │ ├── rest: ∅
+ │ │ │ ├── posts: (length: 0)
+ │ │ │ ├── keywords: (length: 0)
+ │ │ │ ├── keyword_rest: ∅
+ │ │ │ └── block: ∅
+ │ │ ├── locals: (length: 0)
+ │ │ ├── opening_loc: (5,16)-(5,17) = "|"
+ │ │ └── closing_loc: (5,18)-(5,19) = "|"
+ │ ├── body:
+ │ │ @ StatementsNode (location: (5,20)-(5,23))
+ │ │ └── body: (length: 1)
+ │ │ └── @ CallNode (location: (5,20)-(5,23))
+ │ │ ├── flags: ∅
+ │ │ ├── receiver: ∅
+ │ │ ├── call_operator_loc: ∅
+ │ │ ├── name: :p
+ │ │ ├── message_loc: (5,20)-(5,21) = "p"
+ │ │ ├── opening_loc: ∅
+ │ │ ├── arguments:
+ │ │ │ @ ArgumentsNode (location: (5,22)-(5,23))
+ │ │ │ ├── flags: ∅
+ │ │ │ └── arguments: (length: 1)
+ │ │ │ └── @ LocalVariableReadNode (location: (5,22)-(5,23))
+ │ │ │ ├── name: :n
+ │ │ │ └── depth: 0
+ │ │ ├── closing_loc: ∅
+ │ │ └── block: ∅
+ │ ├── opening_loc: (5,13)-(5,15) = "do"
+ │ └── closing_loc: (5,24)-(5,27) = "end"
├── consequent:
│ @ ElseNode (location: (5,28)-(5,31))
│ ├── else_keyword_loc: (5,28)-(5,29) = ":"
diff --git a/test/prism/snapshots/whitequark/ruby_bug_11107.txt b/test/prism/snapshots/whitequark/ruby_bug_11107.txt
index fe6d76b872..329f382d3b 100644
--- a/test/prism/snapshots/whitequark/ruby_bug_11107.txt
+++ b/test/prism/snapshots/whitequark/ruby_bug_11107.txt
@@ -4,6 +4,7 @@
@ StatementsNode (location: (1,0)-(1,24))
└── body: (length: 1)
└── @ CallNode (location: (1,0)-(1,24))
+ ├── flags: ∅
├── receiver: ∅
├── call_operator_loc: ∅
├── name: :p
@@ -11,40 +12,39 @@
├── opening_loc: ∅
├── arguments:
│ @ ArgumentsNode (location: (1,2)-(1,24))
- │ ├── arguments: (length: 1)
- │ │ └── @ LambdaNode (location: (1,2)-(1,24))
- │ │ ├── locals: []
- │ │ ├── locals_body_index: 0
- │ │ ├── operator_loc: (1,2)-(1,4) = "->"
- │ │ ├── opening_loc: (1,7)-(1,9) = "do"
- │ │ ├── closing_loc: (1,21)-(1,24) = "end"
- │ │ ├── parameters:
- │ │ │ @ BlockParametersNode (location: (1,4)-(1,6))
- │ │ │ ├── parameters: ∅
- │ │ │ ├── locals: (length: 0)
- │ │ │ ├── opening_loc: (1,4)-(1,5) = "("
- │ │ │ └── closing_loc: (1,5)-(1,6) = ")"
- │ │ └── body:
- │ │ @ StatementsNode (location: (1,10)-(1,20))
- │ │ └── body: (length: 1)
- │ │ └── @ CallNode (location: (1,10)-(1,20))
- │ │ ├── receiver: ∅
- │ │ ├── call_operator_loc: ∅
- │ │ ├── name: :a
- │ │ ├── message_loc: (1,10)-(1,11) = "a"
- │ │ ├── opening_loc: (1,11)-(1,12) = "("
- │ │ ├── arguments: ∅
- │ │ ├── closing_loc: (1,12)-(1,13) = ")"
- │ │ ├── block:
- │ │ │ @ BlockNode (location: (1,14)-(1,20))
- │ │ │ ├── locals: []
- │ │ │ ├── locals_body_index: 0
- │ │ │ ├── parameters: ∅
- │ │ │ ├── body: ∅
- │ │ │ ├── opening_loc: (1,14)-(1,16) = "do"
- │ │ │ └── closing_loc: (1,17)-(1,20) = "end"
- │ │ └── flags: ∅
- │ └── flags: ∅
+ │ ├── flags: ∅
+ │ └── arguments: (length: 1)
+ │ └── @ LambdaNode (location: (1,2)-(1,24))
+ │ ├── locals: []
+ │ ├── locals_body_index: 0
+ │ ├── operator_loc: (1,2)-(1,4) = "->"
+ │ ├── opening_loc: (1,7)-(1,9) = "do"
+ │ ├── closing_loc: (1,21)-(1,24) = "end"
+ │ ├── parameters:
+ │ │ @ BlockParametersNode (location: (1,4)-(1,6))
+ │ │ ├── parameters: ∅
+ │ │ ├── locals: (length: 0)
+ │ │ ├── opening_loc: (1,4)-(1,5) = "("
+ │ │ └── closing_loc: (1,5)-(1,6) = ")"
+ │ └── body:
+ │ @ StatementsNode (location: (1,10)-(1,20))
+ │ └── body: (length: 1)
+ │ └── @ CallNode (location: (1,10)-(1,20))
+ │ ├── flags: ∅
+ │ ├── receiver: ∅
+ │ ├── call_operator_loc: ∅
+ │ ├── name: :a
+ │ ├── message_loc: (1,10)-(1,11) = "a"
+ │ ├── opening_loc: (1,11)-(1,12) = "("
+ │ ├── arguments: ∅
+ │ ├── closing_loc: (1,12)-(1,13) = ")"
+ │ └── block:
+ │ @ BlockNode (location: (1,14)-(1,20))
+ │ ├── locals: []
+ │ ├── locals_body_index: 0
+ │ ├── parameters: ∅
+ │ ├── body: ∅
+ │ ├── opening_loc: (1,14)-(1,16) = "do"
+ │ └── closing_loc: (1,17)-(1,20) = "end"
├── closing_loc: ∅
- ├── block: ∅
- └── flags: ∅
+ └── block: ∅
diff --git a/test/prism/snapshots/whitequark/ruby_bug_11380.txt b/test/prism/snapshots/whitequark/ruby_bug_11380.txt
index cc309e074c..f8c5ce23e5 100644
--- a/test/prism/snapshots/whitequark/ruby_bug_11380.txt
+++ b/test/prism/snapshots/whitequark/ruby_bug_11380.txt
@@ -4,6 +4,7 @@
@ StatementsNode (location: (1,0)-(1,28))
└── body: (length: 1)
└── @ CallNode (location: (1,0)-(1,28))
+ ├── flags: ∅
├── receiver: ∅
├── call_operator_loc: ∅
├── name: :p
@@ -11,43 +12,42 @@
├── opening_loc: ∅
├── arguments:
│ @ ArgumentsNode (location: (1,2)-(1,21))
- │ ├── arguments: (length: 2)
- │ │ ├── @ LambdaNode (location: (1,2)-(1,15))
- │ │ │ ├── locals: []
- │ │ │ ├── locals_body_index: 0
- │ │ │ ├── operator_loc: (1,2)-(1,4) = "->"
- │ │ │ ├── opening_loc: (1,5)-(1,6) = "{"
- │ │ │ ├── closing_loc: (1,14)-(1,15) = "}"
- │ │ │ ├── parameters: ∅
- │ │ │ └── body:
- │ │ │ @ StatementsNode (location: (1,7)-(1,13))
- │ │ │ └── body: (length: 1)
- │ │ │ └── @ SymbolNode (location: (1,7)-(1,13))
- │ │ │ ├── opening_loc: (1,7)-(1,8) = ":"
- │ │ │ ├── value_loc: (1,8)-(1,13) = "hello"
- │ │ │ ├── closing_loc: ∅
- │ │ │ └── unescaped: "hello"
- │ │ └── @ KeywordHashNode (location: (1,17)-(1,21))
- │ │ └── elements: (length: 1)
- │ │ └── @ AssocNode (location: (1,17)-(1,21))
- │ │ ├── key:
- │ │ │ @ SymbolNode (location: (1,17)-(1,19))
- │ │ │ ├── opening_loc: ∅
- │ │ │ ├── value_loc: (1,17)-(1,18) = "a"
- │ │ │ ├── closing_loc: (1,18)-(1,19) = ":"
- │ │ │ └── unescaped: "a"
- │ │ ├── value:
- │ │ │ @ IntegerNode (location: (1,20)-(1,21))
- │ │ │ └── flags: decimal
- │ │ └── operator_loc: ∅
- │ └── flags: ∅
+ │ ├── flags: ∅
+ │ └── arguments: (length: 2)
+ │ ├── @ LambdaNode (location: (1,2)-(1,15))
+ │ │ ├── locals: []
+ │ │ ├── locals_body_index: 0
+ │ │ ├── operator_loc: (1,2)-(1,4) = "->"
+ │ │ ├── opening_loc: (1,5)-(1,6) = "{"
+ │ │ ├── closing_loc: (1,14)-(1,15) = "}"
+ │ │ ├── parameters: ∅
+ │ │ └── body:
+ │ │ @ StatementsNode (location: (1,7)-(1,13))
+ │ │ └── body: (length: 1)
+ │ │ └── @ SymbolNode (location: (1,7)-(1,13))
+ │ │ ├── opening_loc: (1,7)-(1,8) = ":"
+ │ │ ├── value_loc: (1,8)-(1,13) = "hello"
+ │ │ ├── closing_loc: ∅
+ │ │ └── unescaped: "hello"
+ │ └── @ KeywordHashNode (location: (1,17)-(1,21))
+ │ └── elements: (length: 1)
+ │ └── @ AssocNode (location: (1,17)-(1,21))
+ │ ├── key:
+ │ │ @ SymbolNode (location: (1,17)-(1,19))
+ │ │ ├── opening_loc: ∅
+ │ │ ├── value_loc: (1,17)-(1,18) = "a"
+ │ │ ├── closing_loc: (1,18)-(1,19) = ":"
+ │ │ └── unescaped: "a"
+ │ ├── value:
+ │ │ @ IntegerNode (location: (1,20)-(1,21))
+ │ │ └── flags: decimal
+ │ └── operator_loc: ∅
├── closing_loc: ∅
- ├── block:
- │ @ BlockNode (location: (1,22)-(1,28))
- │ ├── locals: []
- │ ├── locals_body_index: 0
- │ ├── parameters: ∅
- │ ├── body: ∅
- │ ├── opening_loc: (1,22)-(1,24) = "do"
- │ └── closing_loc: (1,25)-(1,28) = "end"
- └── flags: ∅
+ └── block:
+ @ BlockNode (location: (1,22)-(1,28))
+ ├── locals: []
+ ├── locals_body_index: 0
+ ├── parameters: ∅
+ ├── body: ∅
+ ├── opening_loc: (1,22)-(1,24) = "do"
+ └── closing_loc: (1,25)-(1,28) = "end"
diff --git a/test/prism/snapshots/whitequark/ruby_bug_11873.txt b/test/prism/snapshots/whitequark/ruby_bug_11873.txt
index 76f37dc5ee..de43e28eb2 100644
--- a/test/prism/snapshots/whitequark/ruby_bug_11873.txt
+++ b/test/prism/snapshots/whitequark/ruby_bug_11873.txt
@@ -4,6 +4,7 @@
@ StatementsNode (location: (1,0)-(23,22))
└── body: (length: 12)
├── @ CallNode (location: (1,0)-(1,20))
+ │ ├── flags: ∅
│ ├── receiver: ∅
│ ├── call_operator_loc: ∅
│ ├── name: :a
@@ -11,61 +12,61 @@
│ ├── opening_loc: ∅
│ ├── arguments:
│ │ @ ArgumentsNode (location: (1,2)-(1,13))
- │ │ ├── arguments: (length: 2)
- │ │ │ ├── @ CallNode (location: (1,2)-(1,8))
- │ │ │ │ ├── receiver: ∅
- │ │ │ │ ├── call_operator_loc: ∅
- │ │ │ │ ├── name: :b
- │ │ │ │ ├── message_loc: (1,2)-(1,3) = "b"
- │ │ │ │ ├── opening_loc: (1,3)-(1,4) = "("
- │ │ │ │ ├── arguments:
- │ │ │ │ │ @ ArgumentsNode (location: (1,4)-(1,7))
- │ │ │ │ │ ├── arguments: (length: 1)
- │ │ │ │ │ │ └── @ CallNode (location: (1,4)-(1,7))
- │ │ │ │ │ │ ├── receiver: ∅
- │ │ │ │ │ │ ├── call_operator_loc: ∅
- │ │ │ │ │ │ ├── name: :c
- │ │ │ │ │ │ ├── message_loc: (1,4)-(1,5) = "c"
- │ │ │ │ │ │ ├── opening_loc: ∅
- │ │ │ │ │ │ ├── arguments:
- │ │ │ │ │ │ │ @ ArgumentsNode (location: (1,6)-(1,7))
- │ │ │ │ │ │ │ ├── arguments: (length: 1)
- │ │ │ │ │ │ │ │ └── @ CallNode (location: (1,6)-(1,7))
- │ │ │ │ │ │ │ │ ├── receiver: ∅
- │ │ │ │ │ │ │ │ ├── call_operator_loc: ∅
- │ │ │ │ │ │ │ │ ├── name: :d
- │ │ │ │ │ │ │ │ ├── message_loc: (1,6)-(1,7) = "d"
- │ │ │ │ │ │ │ │ ├── opening_loc: ∅
- │ │ │ │ │ │ │ │ ├── arguments: ∅
- │ │ │ │ │ │ │ │ ├── closing_loc: ∅
- │ │ │ │ │ │ │ │ ├── block: ∅
- │ │ │ │ │ │ │ │ └── flags: variable_call
- │ │ │ │ │ │ │ └── flags: ∅
- │ │ │ │ │ │ ├── closing_loc: ∅
- │ │ │ │ │ │ ├── block: ∅
- │ │ │ │ │ │ └── flags: ∅
- │ │ │ │ │ └── flags: ∅
- │ │ │ │ ├── closing_loc: (1,7)-(1,8) = ")"
- │ │ │ │ ├── block: ∅
- │ │ │ │ └── flags: ∅
- │ │ │ └── @ StringNode (location: (1,10)-(1,13))
- │ │ │ ├── flags: ∅
- │ │ │ ├── opening_loc: (1,10)-(1,11) = "\""
- │ │ │ ├── content_loc: (1,11)-(1,12) = "x"
- │ │ │ ├── closing_loc: (1,12)-(1,13) = "\""
- │ │ │ └── unescaped: "x"
- │ │ └── flags: ∅
+ │ │ ├── flags: ∅
+ │ │ └── arguments: (length: 2)
+ │ │ ├── @ CallNode (location: (1,2)-(1,8))
+ │ │ │ ├── flags: ∅
+ │ │ │ ├── receiver: ∅
+ │ │ │ ├── call_operator_loc: ∅
+ │ │ │ ├── name: :b
+ │ │ │ ├── message_loc: (1,2)-(1,3) = "b"
+ │ │ │ ├── opening_loc: (1,3)-(1,4) = "("
+ │ │ │ ├── arguments:
+ │ │ │ │ @ ArgumentsNode (location: (1,4)-(1,7))
+ │ │ │ │ ├── flags: ∅
+ │ │ │ │ └── arguments: (length: 1)
+ │ │ │ │ └── @ CallNode (location: (1,4)-(1,7))
+ │ │ │ │ ├── flags: ∅
+ │ │ │ │ ├── receiver: ∅
+ │ │ │ │ ├── call_operator_loc: ∅
+ │ │ │ │ ├── name: :c
+ │ │ │ │ ├── message_loc: (1,4)-(1,5) = "c"
+ │ │ │ │ ├── opening_loc: ∅
+ │ │ │ │ ├── arguments:
+ │ │ │ │ │ @ ArgumentsNode (location: (1,6)-(1,7))
+ │ │ │ │ │ ├── flags: ∅
+ │ │ │ │ │ └── arguments: (length: 1)
+ │ │ │ │ │ └── @ CallNode (location: (1,6)-(1,7))
+ │ │ │ │ │ ├── flags: variable_call
+ │ │ │ │ │ ├── receiver: ∅
+ │ │ │ │ │ ├── call_operator_loc: ∅
+ │ │ │ │ │ ├── name: :d
+ │ │ │ │ │ ├── message_loc: (1,6)-(1,7) = "d"
+ │ │ │ │ │ ├── opening_loc: ∅
+ │ │ │ │ │ ├── arguments: ∅
+ │ │ │ │ │ ├── closing_loc: ∅
+ │ │ │ │ │ └── block: ∅
+ │ │ │ │ ├── closing_loc: ∅
+ │ │ │ │ └── block: ∅
+ │ │ │ ├── closing_loc: (1,7)-(1,8) = ")"
+ │ │ │ └── block: ∅
+ │ │ └── @ StringNode (location: (1,10)-(1,13))
+ │ │ ├── flags: ∅
+ │ │ ├── opening_loc: (1,10)-(1,11) = "\""
+ │ │ ├── content_loc: (1,11)-(1,12) = "x"
+ │ │ ├── closing_loc: (1,12)-(1,13) = "\""
+ │ │ └── unescaped: "x"
│ ├── closing_loc: ∅
- │ ├── block:
- │ │ @ BlockNode (location: (1,14)-(1,20))
- │ │ ├── locals: []
- │ │ ├── locals_body_index: 0
- │ │ ├── parameters: ∅
- │ │ ├── body: ∅
- │ │ ├── opening_loc: (1,14)-(1,16) = "do"
- │ │ └── closing_loc: (1,17)-(1,20) = "end"
- │ └── flags: ∅
+ │ └── block:
+ │ @ BlockNode (location: (1,14)-(1,20))
+ │ ├── locals: []
+ │ ├── locals_body_index: 0
+ │ ├── parameters: ∅
+ │ ├── body: ∅
+ │ ├── opening_loc: (1,14)-(1,16) = "do"
+ │ └── closing_loc: (1,17)-(1,20) = "end"
├── @ CallNode (location: (3,0)-(3,20))
+ │ ├── flags: ∅
│ ├── receiver: ∅
│ ├── call_operator_loc: ∅
│ ├── name: :a
@@ -73,61 +74,61 @@
│ ├── opening_loc: ∅
│ ├── arguments:
│ │ @ ArgumentsNode (location: (3,2)-(3,13))
- │ │ ├── arguments: (length: 2)
- │ │ │ ├── @ CallNode (location: (3,2)-(3,8))
- │ │ │ │ ├── receiver: ∅
- │ │ │ │ ├── call_operator_loc: ∅
- │ │ │ │ ├── name: :b
- │ │ │ │ ├── message_loc: (3,2)-(3,3) = "b"
- │ │ │ │ ├── opening_loc: (3,3)-(3,4) = "("
- │ │ │ │ ├── arguments:
- │ │ │ │ │ @ ArgumentsNode (location: (3,4)-(3,7))
- │ │ │ │ │ ├── arguments: (length: 1)
- │ │ │ │ │ │ └── @ CallNode (location: (3,4)-(3,7))
- │ │ │ │ │ │ ├── receiver: ∅
- │ │ │ │ │ │ ├── call_operator_loc: ∅
- │ │ │ │ │ │ ├── name: :c
- │ │ │ │ │ │ ├── message_loc: (3,4)-(3,5) = "c"
- │ │ │ │ │ │ ├── opening_loc: ∅
- │ │ │ │ │ │ ├── arguments:
- │ │ │ │ │ │ │ @ ArgumentsNode (location: (3,6)-(3,7))
- │ │ │ │ │ │ │ ├── arguments: (length: 1)
- │ │ │ │ │ │ │ │ └── @ CallNode (location: (3,6)-(3,7))
- │ │ │ │ │ │ │ │ ├── receiver: ∅
- │ │ │ │ │ │ │ │ ├── call_operator_loc: ∅
- │ │ │ │ │ │ │ │ ├── name: :d
- │ │ │ │ │ │ │ │ ├── message_loc: (3,6)-(3,7) = "d"
- │ │ │ │ │ │ │ │ ├── opening_loc: ∅
- │ │ │ │ │ │ │ │ ├── arguments: ∅
- │ │ │ │ │ │ │ │ ├── closing_loc: ∅
- │ │ │ │ │ │ │ │ ├── block: ∅
- │ │ │ │ │ │ │ │ └── flags: variable_call
- │ │ │ │ │ │ │ └── flags: ∅
- │ │ │ │ │ │ ├── closing_loc: ∅
- │ │ │ │ │ │ ├── block: ∅
- │ │ │ │ │ │ └── flags: ∅
- │ │ │ │ │ └── flags: ∅
- │ │ │ │ ├── closing_loc: (3,7)-(3,8) = ")"
- │ │ │ │ ├── block: ∅
- │ │ │ │ └── flags: ∅
- │ │ │ └── @ RegularExpressionNode (location: (3,10)-(3,13))
- │ │ │ ├── opening_loc: (3,10)-(3,11) = "/"
- │ │ │ ├── content_loc: (3,11)-(3,12) = "x"
- │ │ │ ├── closing_loc: (3,12)-(3,13) = "/"
- │ │ │ ├── unescaped: "x"
- │ │ │ └── flags: ∅
- │ │ └── flags: ∅
+ │ │ ├── flags: ∅
+ │ │ └── arguments: (length: 2)
+ │ │ ├── @ CallNode (location: (3,2)-(3,8))
+ │ │ │ ├── flags: ∅
+ │ │ │ ├── receiver: ∅
+ │ │ │ ├── call_operator_loc: ∅
+ │ │ │ ├── name: :b
+ │ │ │ ├── message_loc: (3,2)-(3,3) = "b"
+ │ │ │ ├── opening_loc: (3,3)-(3,4) = "("
+ │ │ │ ├── arguments:
+ │ │ │ │ @ ArgumentsNode (location: (3,4)-(3,7))
+ │ │ │ │ ├── flags: ∅
+ │ │ │ │ └── arguments: (length: 1)
+ │ │ │ │ └── @ CallNode (location: (3,4)-(3,7))
+ │ │ │ │ ├── flags: ∅
+ │ │ │ │ ├── receiver: ∅
+ │ │ │ │ ├── call_operator_loc: ∅
+ │ │ │ │ ├── name: :c
+ │ │ │ │ ├── message_loc: (3,4)-(3,5) = "c"
+ │ │ │ │ ├── opening_loc: ∅
+ │ │ │ │ ├── arguments:
+ │ │ │ │ │ @ ArgumentsNode (location: (3,6)-(3,7))
+ │ │ │ │ │ ├── flags: ∅
+ │ │ │ │ │ └── arguments: (length: 1)
+ │ │ │ │ │ └── @ CallNode (location: (3,6)-(3,7))
+ │ │ │ │ │ ├── flags: variable_call
+ │ │ │ │ │ ├── receiver: ∅
+ │ │ │ │ │ ├── call_operator_loc: ∅
+ │ │ │ │ │ ├── name: :d
+ │ │ │ │ │ ├── message_loc: (3,6)-(3,7) = "d"
+ │ │ │ │ │ ├── opening_loc: ∅
+ │ │ │ │ │ ├── arguments: ∅
+ │ │ │ │ │ ├── closing_loc: ∅
+ │ │ │ │ │ └── block: ∅
+ │ │ │ │ ├── closing_loc: ∅
+ │ │ │ │ └── block: ∅
+ │ │ │ ├── closing_loc: (3,7)-(3,8) = ")"
+ │ │ │ └── block: ∅
+ │ │ └── @ RegularExpressionNode (location: (3,10)-(3,13))
+ │ │ ├── flags: ∅
+ │ │ ├── opening_loc: (3,10)-(3,11) = "/"
+ │ │ ├── content_loc: (3,11)-(3,12) = "x"
+ │ │ ├── closing_loc: (3,12)-(3,13) = "/"
+ │ │ └── unescaped: "x"
│ ├── closing_loc: ∅
- │ ├── block:
- │ │ @ BlockNode (location: (3,14)-(3,20))
- │ │ ├── locals: []
- │ │ ├── locals_body_index: 0
- │ │ ├── parameters: ∅
- │ │ ├── body: ∅
- │ │ ├── opening_loc: (3,14)-(3,16) = "do"
- │ │ └── closing_loc: (3,17)-(3,20) = "end"
- │ └── flags: ∅
+ │ └── block:
+ │ @ BlockNode (location: (3,14)-(3,20))
+ │ ├── locals: []
+ │ ├── locals_body_index: 0
+ │ ├── parameters: ∅
+ │ ├── body: ∅
+ │ ├── opening_loc: (3,14)-(3,16) = "do"
+ │ └── closing_loc: (3,17)-(3,20) = "end"
├── @ CallNode (location: (5,0)-(5,21))
+ │ ├── flags: ∅
│ ├── receiver: ∅
│ ├── call_operator_loc: ∅
│ ├── name: :a
@@ -135,61 +136,61 @@
│ ├── opening_loc: ∅
│ ├── arguments:
│ │ @ ArgumentsNode (location: (5,2)-(5,14))
- │ │ ├── arguments: (length: 2)
- │ │ │ ├── @ CallNode (location: (5,2)-(5,8))
- │ │ │ │ ├── receiver: ∅
- │ │ │ │ ├── call_operator_loc: ∅
- │ │ │ │ ├── name: :b
- │ │ │ │ ├── message_loc: (5,2)-(5,3) = "b"
- │ │ │ │ ├── opening_loc: (5,3)-(5,4) = "("
- │ │ │ │ ├── arguments:
- │ │ │ │ │ @ ArgumentsNode (location: (5,4)-(5,7))
- │ │ │ │ │ ├── arguments: (length: 1)
- │ │ │ │ │ │ └── @ CallNode (location: (5,4)-(5,7))
- │ │ │ │ │ │ ├── receiver: ∅
- │ │ │ │ │ │ ├── call_operator_loc: ∅
- │ │ │ │ │ │ ├── name: :c
- │ │ │ │ │ │ ├── message_loc: (5,4)-(5,5) = "c"
- │ │ │ │ │ │ ├── opening_loc: ∅
- │ │ │ │ │ │ ├── arguments:
- │ │ │ │ │ │ │ @ ArgumentsNode (location: (5,6)-(5,7))
- │ │ │ │ │ │ │ ├── arguments: (length: 1)
- │ │ │ │ │ │ │ │ └── @ CallNode (location: (5,6)-(5,7))
- │ │ │ │ │ │ │ │ ├── receiver: ∅
- │ │ │ │ │ │ │ │ ├── call_operator_loc: ∅
- │ │ │ │ │ │ │ │ ├── name: :d
- │ │ │ │ │ │ │ │ ├── message_loc: (5,6)-(5,7) = "d"
- │ │ │ │ │ │ │ │ ├── opening_loc: ∅
- │ │ │ │ │ │ │ │ ├── arguments: ∅
- │ │ │ │ │ │ │ │ ├── closing_loc: ∅
- │ │ │ │ │ │ │ │ ├── block: ∅
- │ │ │ │ │ │ │ │ └── flags: variable_call
- │ │ │ │ │ │ │ └── flags: ∅
- │ │ │ │ │ │ ├── closing_loc: ∅
- │ │ │ │ │ │ ├── block: ∅
- │ │ │ │ │ │ └── flags: ∅
- │ │ │ │ │ └── flags: ∅
- │ │ │ │ ├── closing_loc: (5,7)-(5,8) = ")"
- │ │ │ │ ├── block: ∅
- │ │ │ │ └── flags: ∅
- │ │ │ └── @ RegularExpressionNode (location: (5,10)-(5,14))
- │ │ │ ├── opening_loc: (5,10)-(5,11) = "/"
- │ │ │ ├── content_loc: (5,11)-(5,12) = "x"
- │ │ │ ├── closing_loc: (5,12)-(5,14) = "/m"
- │ │ │ ├── unescaped: "x"
- │ │ │ └── flags: multi_line
- │ │ └── flags: ∅
+ │ │ ├── flags: ∅
+ │ │ └── arguments: (length: 2)
+ │ │ ├── @ CallNode (location: (5,2)-(5,8))
+ │ │ │ ├── flags: ∅
+ │ │ │ ├── receiver: ∅
+ │ │ │ ├── call_operator_loc: ∅
+ │ │ │ ├── name: :b
+ │ │ │ ├── message_loc: (5,2)-(5,3) = "b"
+ │ │ │ ├── opening_loc: (5,3)-(5,4) = "("
+ │ │ │ ├── arguments:
+ │ │ │ │ @ ArgumentsNode (location: (5,4)-(5,7))
+ │ │ │ │ ├── flags: ∅
+ │ │ │ │ └── arguments: (length: 1)
+ │ │ │ │ └── @ CallNode (location: (5,4)-(5,7))
+ │ │ │ │ ├── flags: ∅
+ │ │ │ │ ├── receiver: ∅
+ │ │ │ │ ├── call_operator_loc: ∅
+ │ │ │ │ ├── name: :c
+ │ │ │ │ ├── message_loc: (5,4)-(5,5) = "c"
+ │ │ │ │ ├── opening_loc: ∅
+ │ │ │ │ ├── arguments:
+ │ │ │ │ │ @ ArgumentsNode (location: (5,6)-(5,7))
+ │ │ │ │ │ ├── flags: ∅
+ │ │ │ │ │ └── arguments: (length: 1)
+ │ │ │ │ │ └── @ CallNode (location: (5,6)-(5,7))
+ │ │ │ │ │ ├── flags: variable_call
+ │ │ │ │ │ ├── receiver: ∅
+ │ │ │ │ │ ├── call_operator_loc: ∅
+ │ │ │ │ │ ├── name: :d
+ │ │ │ │ │ ├── message_loc: (5,6)-(5,7) = "d"
+ │ │ │ │ │ ├── opening_loc: ∅
+ │ │ │ │ │ ├── arguments: ∅
+ │ │ │ │ │ ├── closing_loc: ∅
+ │ │ │ │ │ └── block: ∅
+ │ │ │ │ ├── closing_loc: ∅
+ │ │ │ │ └── block: ∅
+ │ │ │ ├── closing_loc: (5,7)-(5,8) = ")"
+ │ │ │ └── block: ∅
+ │ │ └── @ RegularExpressionNode (location: (5,10)-(5,14))
+ │ │ ├── flags: multi_line
+ │ │ ├── opening_loc: (5,10)-(5,11) = "/"
+ │ │ ├── content_loc: (5,11)-(5,12) = "x"
+ │ │ ├── closing_loc: (5,12)-(5,14) = "/m"
+ │ │ └── unescaped: "x"
│ ├── closing_loc: ∅
- │ ├── block:
- │ │ @ BlockNode (location: (5,15)-(5,21))
- │ │ ├── locals: []
- │ │ ├── locals_body_index: 0
- │ │ ├── parameters: ∅
- │ │ ├── body: ∅
- │ │ ├── opening_loc: (5,15)-(5,17) = "do"
- │ │ └── closing_loc: (5,18)-(5,21) = "end"
- │ └── flags: ∅
+ │ └── block:
+ │ @ BlockNode (location: (5,15)-(5,21))
+ │ ├── locals: []
+ │ ├── locals_body_index: 0
+ │ ├── parameters: ∅
+ │ ├── body: ∅
+ │ ├── opening_loc: (5,15)-(5,17) = "do"
+ │ └── closing_loc: (5,18)-(5,21) = "end"
├── @ CallNode (location: (7,0)-(7,21))
+ │ ├── flags: ∅
│ ├── receiver: ∅
│ ├── call_operator_loc: ∅
│ ├── name: :a
@@ -197,61 +198,61 @@
│ ├── opening_loc: ∅
│ ├── arguments:
│ │ @ ArgumentsNode (location: (7,2)-(7,14))
- │ │ ├── arguments: (length: 2)
- │ │ │ ├── @ CallNode (location: (7,2)-(7,9))
- │ │ │ │ ├── receiver: ∅
- │ │ │ │ ├── call_operator_loc: ∅
- │ │ │ │ ├── name: :b
- │ │ │ │ ├── message_loc: (7,2)-(7,3) = "b"
- │ │ │ │ ├── opening_loc: (7,3)-(7,4) = "("
- │ │ │ │ ├── arguments:
- │ │ │ │ │ @ ArgumentsNode (location: (7,4)-(7,8))
- │ │ │ │ │ ├── arguments: (length: 1)
- │ │ │ │ │ │ └── @ CallNode (location: (7,4)-(7,8))
- │ │ │ │ │ │ ├── receiver: ∅
- │ │ │ │ │ │ ├── call_operator_loc: ∅
- │ │ │ │ │ │ ├── name: :c
- │ │ │ │ │ │ ├── message_loc: (7,4)-(7,5) = "c"
- │ │ │ │ │ │ ├── opening_loc: (7,5)-(7,6) = "("
- │ │ │ │ │ │ ├── arguments:
- │ │ │ │ │ │ │ @ ArgumentsNode (location: (7,6)-(7,7))
- │ │ │ │ │ │ │ ├── arguments: (length: 1)
- │ │ │ │ │ │ │ │ └── @ CallNode (location: (7,6)-(7,7))
- │ │ │ │ │ │ │ │ ├── receiver: ∅
- │ │ │ │ │ │ │ │ ├── call_operator_loc: ∅
- │ │ │ │ │ │ │ │ ├── name: :d
- │ │ │ │ │ │ │ │ ├── message_loc: (7,6)-(7,7) = "d"
- │ │ │ │ │ │ │ │ ├── opening_loc: ∅
- │ │ │ │ │ │ │ │ ├── arguments: ∅
- │ │ │ │ │ │ │ │ ├── closing_loc: ∅
- │ │ │ │ │ │ │ │ ├── block: ∅
- │ │ │ │ │ │ │ │ └── flags: variable_call
- │ │ │ │ │ │ │ └── flags: ∅
- │ │ │ │ │ │ ├── closing_loc: (7,7)-(7,8) = ")"
- │ │ │ │ │ │ ├── block: ∅
- │ │ │ │ │ │ └── flags: ∅
- │ │ │ │ │ └── flags: ∅
- │ │ │ │ ├── closing_loc: (7,8)-(7,9) = ")"
- │ │ │ │ ├── block: ∅
- │ │ │ │ └── flags: ∅
- │ │ │ └── @ StringNode (location: (7,11)-(7,14))
- │ │ │ ├── flags: ∅
- │ │ │ ├── opening_loc: (7,11)-(7,12) = "\""
- │ │ │ ├── content_loc: (7,12)-(7,13) = "x"
- │ │ │ ├── closing_loc: (7,13)-(7,14) = "\""
- │ │ │ └── unescaped: "x"
- │ │ └── flags: ∅
+ │ │ ├── flags: ∅
+ │ │ └── arguments: (length: 2)
+ │ │ ├── @ CallNode (location: (7,2)-(7,9))
+ │ │ │ ├── flags: ∅
+ │ │ │ ├── receiver: ∅
+ │ │ │ ├── call_operator_loc: ∅
+ │ │ │ ├── name: :b
+ │ │ │ ├── message_loc: (7,2)-(7,3) = "b"
+ │ │ │ ├── opening_loc: (7,3)-(7,4) = "("
+ │ │ │ ├── arguments:
+ │ │ │ │ @ ArgumentsNode (location: (7,4)-(7,8))
+ │ │ │ │ ├── flags: ∅
+ │ │ │ │ └── arguments: (length: 1)
+ │ │ │ │ └── @ CallNode (location: (7,4)-(7,8))
+ │ │ │ │ ├── flags: ∅
+ │ │ │ │ ├── receiver: ∅
+ │ │ │ │ ├── call_operator_loc: ∅
+ │ │ │ │ ├── name: :c
+ │ │ │ │ ├── message_loc: (7,4)-(7,5) = "c"
+ │ │ │ │ ├── opening_loc: (7,5)-(7,6) = "("
+ │ │ │ │ ├── arguments:
+ │ │ │ │ │ @ ArgumentsNode (location: (7,6)-(7,7))
+ │ │ │ │ │ ├── flags: ∅
+ │ │ │ │ │ └── arguments: (length: 1)
+ │ │ │ │ │ └── @ CallNode (location: (7,6)-(7,7))
+ │ │ │ │ │ ├── flags: variable_call
+ │ │ │ │ │ ├── receiver: ∅
+ │ │ │ │ │ ├── call_operator_loc: ∅
+ │ │ │ │ │ ├── name: :d
+ │ │ │ │ │ ├── message_loc: (7,6)-(7,7) = "d"
+ │ │ │ │ │ ├── opening_loc: ∅
+ │ │ │ │ │ ├── arguments: ∅
+ │ │ │ │ │ ├── closing_loc: ∅
+ │ │ │ │ │ └── block: ∅
+ │ │ │ │ ├── closing_loc: (7,7)-(7,8) = ")"
+ │ │ │ │ └── block: ∅
+ │ │ │ ├── closing_loc: (7,8)-(7,9) = ")"
+ │ │ │ └── block: ∅
+ │ │ └── @ StringNode (location: (7,11)-(7,14))
+ │ │ ├── flags: ∅
+ │ │ ├── opening_loc: (7,11)-(7,12) = "\""
+ │ │ ├── content_loc: (7,12)-(7,13) = "x"
+ │ │ ├── closing_loc: (7,13)-(7,14) = "\""
+ │ │ └── unescaped: "x"
│ ├── closing_loc: ∅
- │ ├── block:
- │ │ @ BlockNode (location: (7,15)-(7,21))
- │ │ ├── locals: []
- │ │ ├── locals_body_index: 0
- │ │ ├── parameters: ∅
- │ │ ├── body: ∅
- │ │ ├── opening_loc: (7,15)-(7,17) = "do"
- │ │ └── closing_loc: (7,18)-(7,21) = "end"
- │ └── flags: ∅
+ │ └── block:
+ │ @ BlockNode (location: (7,15)-(7,21))
+ │ ├── locals: []
+ │ ├── locals_body_index: 0
+ │ ├── parameters: ∅
+ │ ├── body: ∅
+ │ ├── opening_loc: (7,15)-(7,17) = "do"
+ │ └── closing_loc: (7,18)-(7,21) = "end"
├── @ CallNode (location: (9,0)-(9,21))
+ │ ├── flags: ∅
│ ├── receiver: ∅
│ ├── call_operator_loc: ∅
│ ├── name: :a
@@ -259,61 +260,61 @@
│ ├── opening_loc: ∅
│ ├── arguments:
│ │ @ ArgumentsNode (location: (9,2)-(9,14))
- │ │ ├── arguments: (length: 2)
- │ │ │ ├── @ CallNode (location: (9,2)-(9,9))
- │ │ │ │ ├── receiver: ∅
- │ │ │ │ ├── call_operator_loc: ∅
- │ │ │ │ ├── name: :b
- │ │ │ │ ├── message_loc: (9,2)-(9,3) = "b"
- │ │ │ │ ├── opening_loc: (9,3)-(9,4) = "("
- │ │ │ │ ├── arguments:
- │ │ │ │ │ @ ArgumentsNode (location: (9,4)-(9,8))
- │ │ │ │ │ ├── arguments: (length: 1)
- │ │ │ │ │ │ └── @ CallNode (location: (9,4)-(9,8))
- │ │ │ │ │ │ ├── receiver: ∅
- │ │ │ │ │ │ ├── call_operator_loc: ∅
- │ │ │ │ │ │ ├── name: :c
- │ │ │ │ │ │ ├── message_loc: (9,4)-(9,5) = "c"
- │ │ │ │ │ │ ├── opening_loc: (9,5)-(9,6) = "("
- │ │ │ │ │ │ ├── arguments:
- │ │ │ │ │ │ │ @ ArgumentsNode (location: (9,6)-(9,7))
- │ │ │ │ │ │ │ ├── arguments: (length: 1)
- │ │ │ │ │ │ │ │ └── @ CallNode (location: (9,6)-(9,7))
- │ │ │ │ │ │ │ │ ├── receiver: ∅
- │ │ │ │ │ │ │ │ ├── call_operator_loc: ∅
- │ │ │ │ │ │ │ │ ├── name: :d
- │ │ │ │ │ │ │ │ ├── message_loc: (9,6)-(9,7) = "d"
- │ │ │ │ │ │ │ │ ├── opening_loc: ∅
- │ │ │ │ │ │ │ │ ├── arguments: ∅
- │ │ │ │ │ │ │ │ ├── closing_loc: ∅
- │ │ │ │ │ │ │ │ ├── block: ∅
- │ │ │ │ │ │ │ │ └── flags: variable_call
- │ │ │ │ │ │ │ └── flags: ∅
- │ │ │ │ │ │ ├── closing_loc: (9,7)-(9,8) = ")"
- │ │ │ │ │ │ ├── block: ∅
- │ │ │ │ │ │ └── flags: ∅
- │ │ │ │ │ └── flags: ∅
- │ │ │ │ ├── closing_loc: (9,8)-(9,9) = ")"
- │ │ │ │ ├── block: ∅
- │ │ │ │ └── flags: ∅
- │ │ │ └── @ RegularExpressionNode (location: (9,11)-(9,14))
- │ │ │ ├── opening_loc: (9,11)-(9,12) = "/"
- │ │ │ ├── content_loc: (9,12)-(9,13) = "x"
- │ │ │ ├── closing_loc: (9,13)-(9,14) = "/"
- │ │ │ ├── unescaped: "x"
- │ │ │ └── flags: ∅
- │ │ └── flags: ∅
+ │ │ ├── flags: ∅
+ │ │ └── arguments: (length: 2)
+ │ │ ├── @ CallNode (location: (9,2)-(9,9))
+ │ │ │ ├── flags: ∅
+ │ │ │ ├── receiver: ∅
+ │ │ │ ├── call_operator_loc: ∅
+ │ │ │ ├── name: :b
+ │ │ │ ├── message_loc: (9,2)-(9,3) = "b"
+ │ │ │ ├── opening_loc: (9,3)-(9,4) = "("
+ │ │ │ ├── arguments:
+ │ │ │ │ @ ArgumentsNode (location: (9,4)-(9,8))
+ │ │ │ │ ├── flags: ∅
+ │ │ │ │ └── arguments: (length: 1)
+ │ │ │ │ └── @ CallNode (location: (9,4)-(9,8))
+ │ │ │ │ ├── flags: ∅
+ │ │ │ │ ├── receiver: ∅
+ │ │ │ │ ├── call_operator_loc: ∅
+ │ │ │ │ ├── name: :c
+ │ │ │ │ ├── message_loc: (9,4)-(9,5) = "c"
+ │ │ │ │ ├── opening_loc: (9,5)-(9,6) = "("
+ │ │ │ │ ├── arguments:
+ │ │ │ │ │ @ ArgumentsNode (location: (9,6)-(9,7))
+ │ │ │ │ │ ├── flags: ∅
+ │ │ │ │ │ └── arguments: (length: 1)
+ │ │ │ │ │ └── @ CallNode (location: (9,6)-(9,7))
+ │ │ │ │ │ ├── flags: variable_call
+ │ │ │ │ │ ├── receiver: ∅
+ │ │ │ │ │ ├── call_operator_loc: ∅
+ │ │ │ │ │ ├── name: :d
+ │ │ │ │ │ ├── message_loc: (9,6)-(9,7) = "d"
+ │ │ │ │ │ ├── opening_loc: ∅
+ │ │ │ │ │ ├── arguments: ∅
+ │ │ │ │ │ ├── closing_loc: ∅
+ │ │ │ │ │ └── block: ∅
+ │ │ │ │ ├── closing_loc: (9,7)-(9,8) = ")"
+ │ │ │ │ └── block: ∅
+ │ │ │ ├── closing_loc: (9,8)-(9,9) = ")"
+ │ │ │ └── block: ∅
+ │ │ └── @ RegularExpressionNode (location: (9,11)-(9,14))
+ │ │ ├── flags: ∅
+ │ │ ├── opening_loc: (9,11)-(9,12) = "/"
+ │ │ ├── content_loc: (9,12)-(9,13) = "x"
+ │ │ ├── closing_loc: (9,13)-(9,14) = "/"
+ │ │ └── unescaped: "x"
│ ├── closing_loc: ∅
- │ ├── block:
- │ │ @ BlockNode (location: (9,15)-(9,21))
- │ │ ├── locals: []
- │ │ ├── locals_body_index: 0
- │ │ ├── parameters: ∅
- │ │ ├── body: ∅
- │ │ ├── opening_loc: (9,15)-(9,17) = "do"
- │ │ └── closing_loc: (9,18)-(9,21) = "end"
- │ └── flags: ∅
+ │ └── block:
+ │ @ BlockNode (location: (9,15)-(9,21))
+ │ ├── locals: []
+ │ ├── locals_body_index: 0
+ │ ├── parameters: ∅
+ │ ├── body: ∅
+ │ ├── opening_loc: (9,15)-(9,17) = "do"
+ │ └── closing_loc: (9,18)-(9,21) = "end"
├── @ CallNode (location: (11,0)-(11,22))
+ │ ├── flags: ∅
│ ├── receiver: ∅
│ ├── call_operator_loc: ∅
│ ├── name: :a
@@ -321,61 +322,61 @@
│ ├── opening_loc: ∅
│ ├── arguments:
│ │ @ ArgumentsNode (location: (11,2)-(11,15))
- │ │ ├── arguments: (length: 2)
- │ │ │ ├── @ CallNode (location: (11,2)-(11,9))
- │ │ │ │ ├── receiver: ∅
- │ │ │ │ ├── call_operator_loc: ∅
- │ │ │ │ ├── name: :b
- │ │ │ │ ├── message_loc: (11,2)-(11,3) = "b"
- │ │ │ │ ├── opening_loc: (11,3)-(11,4) = "("
- │ │ │ │ ├── arguments:
- │ │ │ │ │ @ ArgumentsNode (location: (11,4)-(11,8))
- │ │ │ │ │ ├── arguments: (length: 1)
- │ │ │ │ │ │ └── @ CallNode (location: (11,4)-(11,8))
- │ │ │ │ │ │ ├── receiver: ∅
- │ │ │ │ │ │ ├── call_operator_loc: ∅
- │ │ │ │ │ │ ├── name: :c
- │ │ │ │ │ │ ├── message_loc: (11,4)-(11,5) = "c"
- │ │ │ │ │ │ ├── opening_loc: (11,5)-(11,6) = "("
- │ │ │ │ │ │ ├── arguments:
- │ │ │ │ │ │ │ @ ArgumentsNode (location: (11,6)-(11,7))
- │ │ │ │ │ │ │ ├── arguments: (length: 1)
- │ │ │ │ │ │ │ │ └── @ CallNode (location: (11,6)-(11,7))
- │ │ │ │ │ │ │ │ ├── receiver: ∅
- │ │ │ │ │ │ │ │ ├── call_operator_loc: ∅
- │ │ │ │ │ │ │ │ ├── name: :d
- │ │ │ │ │ │ │ │ ├── message_loc: (11,6)-(11,7) = "d"
- │ │ │ │ │ │ │ │ ├── opening_loc: ∅
- │ │ │ │ │ │ │ │ ├── arguments: ∅
- │ │ │ │ │ │ │ │ ├── closing_loc: ∅
- │ │ │ │ │ │ │ │ ├── block: ∅
- │ │ │ │ │ │ │ │ └── flags: variable_call
- │ │ │ │ │ │ │ └── flags: ∅
- │ │ │ │ │ │ ├── closing_loc: (11,7)-(11,8) = ")"
- │ │ │ │ │ │ ├── block: ∅
- │ │ │ │ │ │ └── flags: ∅
- │ │ │ │ │ └── flags: ∅
- │ │ │ │ ├── closing_loc: (11,8)-(11,9) = ")"
- │ │ │ │ ├── block: ∅
- │ │ │ │ └── flags: ∅
- │ │ │ └── @ RegularExpressionNode (location: (11,11)-(11,15))
- │ │ │ ├── opening_loc: (11,11)-(11,12) = "/"
- │ │ │ ├── content_loc: (11,12)-(11,13) = "x"
- │ │ │ ├── closing_loc: (11,13)-(11,15) = "/m"
- │ │ │ ├── unescaped: "x"
- │ │ │ └── flags: multi_line
- │ │ └── flags: ∅
+ │ │ ├── flags: ∅
+ │ │ └── arguments: (length: 2)
+ │ │ ├── @ CallNode (location: (11,2)-(11,9))
+ │ │ │ ├── flags: ∅
+ │ │ │ ├── receiver: ∅
+ │ │ │ ├── call_operator_loc: ∅
+ │ │ │ ├── name: :b
+ │ │ │ ├── message_loc: (11,2)-(11,3) = "b"
+ │ │ │ ├── opening_loc: (11,3)-(11,4) = "("
+ │ │ │ ├── arguments:
+ │ │ │ │ @ ArgumentsNode (location: (11,4)-(11,8))
+ │ │ │ │ ├── flags: ∅
+ │ │ │ │ └── arguments: (length: 1)
+ │ │ │ │ └── @ CallNode (location: (11,4)-(11,8))
+ │ │ │ │ ├── flags: ∅
+ │ │ │ │ ├── receiver: ∅
+ │ │ │ │ ├── call_operator_loc: ∅
+ │ │ │ │ ├── name: :c
+ │ │ │ │ ├── message_loc: (11,4)-(11,5) = "c"
+ │ │ │ │ ├── opening_loc: (11,5)-(11,6) = "("
+ │ │ │ │ ├── arguments:
+ │ │ │ │ │ @ ArgumentsNode (location: (11,6)-(11,7))
+ │ │ │ │ │ ├── flags: ∅
+ │ │ │ │ │ └── arguments: (length: 1)
+ │ │ │ │ │ └── @ CallNode (location: (11,6)-(11,7))
+ │ │ │ │ │ ├── flags: variable_call
+ │ │ │ │ │ ├── receiver: ∅
+ │ │ │ │ │ ├── call_operator_loc: ∅
+ │ │ │ │ │ ├── name: :d
+ │ │ │ │ │ ├── message_loc: (11,6)-(11,7) = "d"
+ │ │ │ │ │ ├── opening_loc: ∅
+ │ │ │ │ │ ├── arguments: ∅
+ │ │ │ │ │ ├── closing_loc: ∅
+ │ │ │ │ │ └── block: ∅
+ │ │ │ │ ├── closing_loc: (11,7)-(11,8) = ")"
+ │ │ │ │ └── block: ∅
+ │ │ │ ├── closing_loc: (11,8)-(11,9) = ")"
+ │ │ │ └── block: ∅
+ │ │ └── @ RegularExpressionNode (location: (11,11)-(11,15))
+ │ │ ├── flags: multi_line
+ │ │ ├── opening_loc: (11,11)-(11,12) = "/"
+ │ │ ├── content_loc: (11,12)-(11,13) = "x"
+ │ │ ├── closing_loc: (11,13)-(11,15) = "/m"
+ │ │ └── unescaped: "x"
│ ├── closing_loc: ∅
- │ ├── block:
- │ │ @ BlockNode (location: (11,16)-(11,22))
- │ │ ├── locals: []
- │ │ ├── locals_body_index: 0
- │ │ ├── parameters: ∅
- │ │ ├── body: ∅
- │ │ ├── opening_loc: (11,16)-(11,18) = "do"
- │ │ └── closing_loc: (11,19)-(11,22) = "end"
- │ └── flags: ∅
+ │ └── block:
+ │ @ BlockNode (location: (11,16)-(11,22))
+ │ ├── locals: []
+ │ ├── locals_body_index: 0
+ │ ├── parameters: ∅
+ │ ├── body: ∅
+ │ ├── opening_loc: (11,16)-(11,18) = "do"
+ │ └── closing_loc: (11,19)-(11,22) = "end"
├── @ CallNode (location: (13,0)-(13,20))
+ │ ├── flags: ∅
│ ├── receiver: ∅
│ ├── call_operator_loc: ∅
│ ├── name: :a
@@ -383,67 +384,67 @@
│ ├── opening_loc: ∅
│ ├── arguments:
│ │ @ ArgumentsNode (location: (13,2)-(13,13))
- │ │ ├── arguments: (length: 2)
- │ │ │ ├── @ CallNode (location: (13,2)-(13,8))
- │ │ │ │ ├── receiver: ∅
- │ │ │ │ ├── call_operator_loc: ∅
- │ │ │ │ ├── name: :b
- │ │ │ │ ├── message_loc: (13,2)-(13,3) = "b"
- │ │ │ │ ├── opening_loc: ∅
- │ │ │ │ ├── arguments: ∅
- │ │ │ │ ├── closing_loc: ∅
- │ │ │ │ ├── block:
- │ │ │ │ │ @ BlockNode (location: (13,3)-(13,8))
- │ │ │ │ │ ├── locals: []
- │ │ │ │ │ ├── locals_body_index: 0
- │ │ │ │ │ ├── parameters: ∅
- │ │ │ │ │ ├── body:
- │ │ │ │ │ │ @ StatementsNode (location: (13,4)-(13,7))
- │ │ │ │ │ │ └── body: (length: 1)
- │ │ │ │ │ │ └── @ CallNode (location: (13,4)-(13,7))
- │ │ │ │ │ │ ├── receiver: ∅
- │ │ │ │ │ │ ├── call_operator_loc: ∅
- │ │ │ │ │ │ ├── name: :c
- │ │ │ │ │ │ ├── message_loc: (13,4)-(13,5) = "c"
- │ │ │ │ │ │ ├── opening_loc: ∅
- │ │ │ │ │ │ ├── arguments:
- │ │ │ │ │ │ │ @ ArgumentsNode (location: (13,6)-(13,7))
- │ │ │ │ │ │ │ ├── arguments: (length: 1)
- │ │ │ │ │ │ │ │ └── @ CallNode (location: (13,6)-(13,7))
- │ │ │ │ │ │ │ │ ├── receiver: ∅
- │ │ │ │ │ │ │ │ ├── call_operator_loc: ∅
- │ │ │ │ │ │ │ │ ├── name: :d
- │ │ │ │ │ │ │ │ ├── message_loc: (13,6)-(13,7) = "d"
- │ │ │ │ │ │ │ │ ├── opening_loc: ∅
- │ │ │ │ │ │ │ │ ├── arguments: ∅
- │ │ │ │ │ │ │ │ ├── closing_loc: ∅
- │ │ │ │ │ │ │ │ ├── block: ∅
- │ │ │ │ │ │ │ │ └── flags: variable_call
- │ │ │ │ │ │ │ └── flags: ∅
- │ │ │ │ │ │ ├── closing_loc: ∅
- │ │ │ │ │ │ ├── block: ∅
- │ │ │ │ │ │ └── flags: ∅
- │ │ │ │ │ ├── opening_loc: (13,3)-(13,4) = "{"
- │ │ │ │ │ └── closing_loc: (13,7)-(13,8) = "}"
- │ │ │ │ └── flags: ∅
- │ │ │ └── @ StringNode (location: (13,10)-(13,13))
- │ │ │ ├── flags: ∅
- │ │ │ ├── opening_loc: (13,10)-(13,11) = "\""
- │ │ │ ├── content_loc: (13,11)-(13,12) = "x"
- │ │ │ ├── closing_loc: (13,12)-(13,13) = "\""
- │ │ │ └── unescaped: "x"
- │ │ └── flags: ∅
+ │ │ ├── flags: ∅
+ │ │ └── arguments: (length: 2)
+ │ │ ├── @ CallNode (location: (13,2)-(13,8))
+ │ │ │ ├── flags: ∅
+ │ │ │ ├── receiver: ∅
+ │ │ │ ├── call_operator_loc: ∅
+ │ │ │ ├── name: :b
+ │ │ │ ├── message_loc: (13,2)-(13,3) = "b"
+ │ │ │ ├── opening_loc: ∅
+ │ │ │ ├── arguments: ∅
+ │ │ │ ├── closing_loc: ∅
+ │ │ │ └── block:
+ │ │ │ @ BlockNode (location: (13,3)-(13,8))
+ │ │ │ ├── locals: []
+ │ │ │ ├── locals_body_index: 0
+ │ │ │ ├── parameters: ∅
+ │ │ │ ├── body:
+ │ │ │ │ @ StatementsNode (location: (13,4)-(13,7))
+ │ │ │ │ └── body: (length: 1)
+ │ │ │ │ └── @ CallNode (location: (13,4)-(13,7))
+ │ │ │ │ ├── flags: ∅
+ │ │ │ │ ├── receiver: ∅
+ │ │ │ │ ├── call_operator_loc: ∅
+ │ │ │ │ ├── name: :c
+ │ │ │ │ ├── message_loc: (13,4)-(13,5) = "c"
+ │ │ │ │ ├── opening_loc: ∅
+ │ │ │ │ ├── arguments:
+ │ │ │ │ │ @ ArgumentsNode (location: (13,6)-(13,7))
+ │ │ │ │ │ ├── flags: ∅
+ │ │ │ │ │ └── arguments: (length: 1)
+ │ │ │ │ │ └── @ CallNode (location: (13,6)-(13,7))
+ │ │ │ │ │ ├── flags: variable_call
+ │ │ │ │ │ ├── receiver: ∅
+ │ │ │ │ │ ├── call_operator_loc: ∅
+ │ │ │ │ │ ├── name: :d
+ │ │ │ │ │ ├── message_loc: (13,6)-(13,7) = "d"
+ │ │ │ │ │ ├── opening_loc: ∅
+ │ │ │ │ │ ├── arguments: ∅
+ │ │ │ │ │ ├── closing_loc: ∅
+ │ │ │ │ │ └── block: ∅
+ │ │ │ │ ├── closing_loc: ∅
+ │ │ │ │ └── block: ∅
+ │ │ │ ├── opening_loc: (13,3)-(13,4) = "{"
+ │ │ │ └── closing_loc: (13,7)-(13,8) = "}"
+ │ │ └── @ StringNode (location: (13,10)-(13,13))
+ │ │ ├── flags: ∅
+ │ │ ├── opening_loc: (13,10)-(13,11) = "\""
+ │ │ ├── content_loc: (13,11)-(13,12) = "x"
+ │ │ ├── closing_loc: (13,12)-(13,13) = "\""
+ │ │ └── unescaped: "x"
│ ├── closing_loc: ∅
- │ ├── block:
- │ │ @ BlockNode (location: (13,14)-(13,20))
- │ │ ├── locals: []
- │ │ ├── locals_body_index: 0
- │ │ ├── parameters: ∅
- │ │ ├── body: ∅
- │ │ ├── opening_loc: (13,14)-(13,16) = "do"
- │ │ └── closing_loc: (13,17)-(13,20) = "end"
- │ └── flags: ∅
+ │ └── block:
+ │ @ BlockNode (location: (13,14)-(13,20))
+ │ ├── locals: []
+ │ ├── locals_body_index: 0
+ │ ├── parameters: ∅
+ │ ├── body: ∅
+ │ ├── opening_loc: (13,14)-(13,16) = "do"
+ │ └── closing_loc: (13,17)-(13,20) = "end"
├── @ CallNode (location: (15,0)-(15,20))
+ │ ├── flags: ∅
│ ├── receiver: ∅
│ ├── call_operator_loc: ∅
│ ├── name: :a
@@ -451,67 +452,67 @@
│ ├── opening_loc: ∅
│ ├── arguments:
│ │ @ ArgumentsNode (location: (15,2)-(15,13))
- │ │ ├── arguments: (length: 2)
- │ │ │ ├── @ CallNode (location: (15,2)-(15,8))
- │ │ │ │ ├── receiver: ∅
- │ │ │ │ ├── call_operator_loc: ∅
- │ │ │ │ ├── name: :b
- │ │ │ │ ├── message_loc: (15,2)-(15,3) = "b"
- │ │ │ │ ├── opening_loc: ∅
- │ │ │ │ ├── arguments: ∅
- │ │ │ │ ├── closing_loc: ∅
- │ │ │ │ ├── block:
- │ │ │ │ │ @ BlockNode (location: (15,3)-(15,8))
- │ │ │ │ │ ├── locals: []
- │ │ │ │ │ ├── locals_body_index: 0
- │ │ │ │ │ ├── parameters: ∅
- │ │ │ │ │ ├── body:
- │ │ │ │ │ │ @ StatementsNode (location: (15,4)-(15,7))
- │ │ │ │ │ │ └── body: (length: 1)
- │ │ │ │ │ │ └── @ CallNode (location: (15,4)-(15,7))
- │ │ │ │ │ │ ├── receiver: ∅
- │ │ │ │ │ │ ├── call_operator_loc: ∅
- │ │ │ │ │ │ ├── name: :c
- │ │ │ │ │ │ ├── message_loc: (15,4)-(15,5) = "c"
- │ │ │ │ │ │ ├── opening_loc: ∅
- │ │ │ │ │ │ ├── arguments:
- │ │ │ │ │ │ │ @ ArgumentsNode (location: (15,6)-(15,7))
- │ │ │ │ │ │ │ ├── arguments: (length: 1)
- │ │ │ │ │ │ │ │ └── @ CallNode (location: (15,6)-(15,7))
- │ │ │ │ │ │ │ │ ├── receiver: ∅
- │ │ │ │ │ │ │ │ ├── call_operator_loc: ∅
- │ │ │ │ │ │ │ │ ├── name: :d
- │ │ │ │ │ │ │ │ ├── message_loc: (15,6)-(15,7) = "d"
- │ │ │ │ │ │ │ │ ├── opening_loc: ∅
- │ │ │ │ │ │ │ │ ├── arguments: ∅
- │ │ │ │ │ │ │ │ ├── closing_loc: ∅
- │ │ │ │ │ │ │ │ ├── block: ∅
- │ │ │ │ │ │ │ │ └── flags: variable_call
- │ │ │ │ │ │ │ └── flags: ∅
- │ │ │ │ │ │ ├── closing_loc: ∅
- │ │ │ │ │ │ ├── block: ∅
- │ │ │ │ │ │ └── flags: ∅
- │ │ │ │ │ ├── opening_loc: (15,3)-(15,4) = "{"
- │ │ │ │ │ └── closing_loc: (15,7)-(15,8) = "}"
- │ │ │ │ └── flags: ∅
- │ │ │ └── @ RegularExpressionNode (location: (15,10)-(15,13))
- │ │ │ ├── opening_loc: (15,10)-(15,11) = "/"
- │ │ │ ├── content_loc: (15,11)-(15,12) = "x"
- │ │ │ ├── closing_loc: (15,12)-(15,13) = "/"
- │ │ │ ├── unescaped: "x"
- │ │ │ └── flags: ∅
- │ │ └── flags: ∅
+ │ │ ├── flags: ∅
+ │ │ └── arguments: (length: 2)
+ │ │ ├── @ CallNode (location: (15,2)-(15,8))
+ │ │ │ ├── flags: ∅
+ │ │ │ ├── receiver: ∅
+ │ │ │ ├── call_operator_loc: ∅
+ │ │ │ ├── name: :b
+ │ │ │ ├── message_loc: (15,2)-(15,3) = "b"
+ │ │ │ ├── opening_loc: ∅
+ │ │ │ ├── arguments: ∅
+ │ │ │ ├── closing_loc: ∅
+ │ │ │ └── block:
+ │ │ │ @ BlockNode (location: (15,3)-(15,8))
+ │ │ │ ├── locals: []
+ │ │ │ ├── locals_body_index: 0
+ │ │ │ ├── parameters: ∅
+ │ │ │ ├── body:
+ │ │ │ │ @ StatementsNode (location: (15,4)-(15,7))
+ │ │ │ │ └── body: (length: 1)
+ │ │ │ │ └── @ CallNode (location: (15,4)-(15,7))
+ │ │ │ │ ├── flags: ∅
+ │ │ │ │ ├── receiver: ∅
+ │ │ │ │ ├── call_operator_loc: ∅
+ │ │ │ │ ├── name: :c
+ │ │ │ │ ├── message_loc: (15,4)-(15,5) = "c"
+ │ │ │ │ ├── opening_loc: ∅
+ │ │ │ │ ├── arguments:
+ │ │ │ │ │ @ ArgumentsNode (location: (15,6)-(15,7))
+ │ │ │ │ │ ├── flags: ∅
+ │ │ │ │ │ └── arguments: (length: 1)
+ │ │ │ │ │ └── @ CallNode (location: (15,6)-(15,7))
+ │ │ │ │ │ ├── flags: variable_call
+ │ │ │ │ │ ├── receiver: ∅
+ │ │ │ │ │ ├── call_operator_loc: ∅
+ │ │ │ │ │ ├── name: :d
+ │ │ │ │ │ ├── message_loc: (15,6)-(15,7) = "d"
+ │ │ │ │ │ ├── opening_loc: ∅
+ │ │ │ │ │ ├── arguments: ∅
+ │ │ │ │ │ ├── closing_loc: ∅
+ │ │ │ │ │ └── block: ∅
+ │ │ │ │ ├── closing_loc: ∅
+ │ │ │ │ └── block: ∅
+ │ │ │ ├── opening_loc: (15,3)-(15,4) = "{"
+ │ │ │ └── closing_loc: (15,7)-(15,8) = "}"
+ │ │ └── @ RegularExpressionNode (location: (15,10)-(15,13))
+ │ │ ├── flags: ∅
+ │ │ ├── opening_loc: (15,10)-(15,11) = "/"
+ │ │ ├── content_loc: (15,11)-(15,12) = "x"
+ │ │ ├── closing_loc: (15,12)-(15,13) = "/"
+ │ │ └── unescaped: "x"
│ ├── closing_loc: ∅
- │ ├── block:
- │ │ @ BlockNode (location: (15,14)-(15,20))
- │ │ ├── locals: []
- │ │ ├── locals_body_index: 0
- │ │ ├── parameters: ∅
- │ │ ├── body: ∅
- │ │ ├── opening_loc: (15,14)-(15,16) = "do"
- │ │ └── closing_loc: (15,17)-(15,20) = "end"
- │ └── flags: ∅
+ │ └── block:
+ │ @ BlockNode (location: (15,14)-(15,20))
+ │ ├── locals: []
+ │ ├── locals_body_index: 0
+ │ ├── parameters: ∅
+ │ ├── body: ∅
+ │ ├── opening_loc: (15,14)-(15,16) = "do"
+ │ └── closing_loc: (15,17)-(15,20) = "end"
├── @ CallNode (location: (17,0)-(17,21))
+ │ ├── flags: ∅
│ ├── receiver: ∅
│ ├── call_operator_loc: ∅
│ ├── name: :a
@@ -519,67 +520,67 @@
│ ├── opening_loc: ∅
│ ├── arguments:
│ │ @ ArgumentsNode (location: (17,2)-(17,14))
- │ │ ├── arguments: (length: 2)
- │ │ │ ├── @ CallNode (location: (17,2)-(17,8))
- │ │ │ │ ├── receiver: ∅
- │ │ │ │ ├── call_operator_loc: ∅
- │ │ │ │ ├── name: :b
- │ │ │ │ ├── message_loc: (17,2)-(17,3) = "b"
- │ │ │ │ ├── opening_loc: ∅
- │ │ │ │ ├── arguments: ∅
- │ │ │ │ ├── closing_loc: ∅
- │ │ │ │ ├── block:
- │ │ │ │ │ @ BlockNode (location: (17,3)-(17,8))
- │ │ │ │ │ ├── locals: []
- │ │ │ │ │ ├── locals_body_index: 0
- │ │ │ │ │ ├── parameters: ∅
- │ │ │ │ │ ├── body:
- │ │ │ │ │ │ @ StatementsNode (location: (17,4)-(17,7))
- │ │ │ │ │ │ └── body: (length: 1)
- │ │ │ │ │ │ └── @ CallNode (location: (17,4)-(17,7))
- │ │ │ │ │ │ ├── receiver: ∅
- │ │ │ │ │ │ ├── call_operator_loc: ∅
- │ │ │ │ │ │ ├── name: :c
- │ │ │ │ │ │ ├── message_loc: (17,4)-(17,5) = "c"
- │ │ │ │ │ │ ├── opening_loc: ∅
- │ │ │ │ │ │ ├── arguments:
- │ │ │ │ │ │ │ @ ArgumentsNode (location: (17,6)-(17,7))
- │ │ │ │ │ │ │ ├── arguments: (length: 1)
- │ │ │ │ │ │ │ │ └── @ CallNode (location: (17,6)-(17,7))
- │ │ │ │ │ │ │ │ ├── receiver: ∅
- │ │ │ │ │ │ │ │ ├── call_operator_loc: ∅
- │ │ │ │ │ │ │ │ ├── name: :d
- │ │ │ │ │ │ │ │ ├── message_loc: (17,6)-(17,7) = "d"
- │ │ │ │ │ │ │ │ ├── opening_loc: ∅
- │ │ │ │ │ │ │ │ ├── arguments: ∅
- │ │ │ │ │ │ │ │ ├── closing_loc: ∅
- │ │ │ │ │ │ │ │ ├── block: ∅
- │ │ │ │ │ │ │ │ └── flags: variable_call
- │ │ │ │ │ │ │ └── flags: ∅
- │ │ │ │ │ │ ├── closing_loc: ∅
- │ │ │ │ │ │ ├── block: ∅
- │ │ │ │ │ │ └── flags: ∅
- │ │ │ │ │ ├── opening_loc: (17,3)-(17,4) = "{"
- │ │ │ │ │ └── closing_loc: (17,7)-(17,8) = "}"
- │ │ │ │ └── flags: ∅
- │ │ │ └── @ RegularExpressionNode (location: (17,10)-(17,14))
- │ │ │ ├── opening_loc: (17,10)-(17,11) = "/"
- │ │ │ ├── content_loc: (17,11)-(17,12) = "x"
- │ │ │ ├── closing_loc: (17,12)-(17,14) = "/m"
- │ │ │ ├── unescaped: "x"
- │ │ │ └── flags: multi_line
- │ │ └── flags: ∅
+ │ │ ├── flags: ∅
+ │ │ └── arguments: (length: 2)
+ │ │ ├── @ CallNode (location: (17,2)-(17,8))
+ │ │ │ ├── flags: ∅
+ │ │ │ ├── receiver: ∅
+ │ │ │ ├── call_operator_loc: ∅
+ │ │ │ ├── name: :b
+ │ │ │ ├── message_loc: (17,2)-(17,3) = "b"
+ │ │ │ ├── opening_loc: ∅
+ │ │ │ ├── arguments: ∅
+ │ │ │ ├── closing_loc: ∅
+ │ │ │ └── block:
+ │ │ │ @ BlockNode (location: (17,3)-(17,8))
+ │ │ │ ├── locals: []
+ │ │ │ ├── locals_body_index: 0
+ │ │ │ ├── parameters: ∅
+ │ │ │ ├── body:
+ │ │ │ │ @ StatementsNode (location: (17,4)-(17,7))
+ │ │ │ │ └── body: (length: 1)
+ │ │ │ │ └── @ CallNode (location: (17,4)-(17,7))
+ │ │ │ │ ├── flags: ∅
+ │ │ │ │ ├── receiver: ∅
+ │ │ │ │ ├── call_operator_loc: ∅
+ │ │ │ │ ├── name: :c
+ │ │ │ │ ├── message_loc: (17,4)-(17,5) = "c"
+ │ │ │ │ ├── opening_loc: ∅
+ │ │ │ │ ├── arguments:
+ │ │ │ │ │ @ ArgumentsNode (location: (17,6)-(17,7))
+ │ │ │ │ │ ├── flags: ∅
+ │ │ │ │ │ └── arguments: (length: 1)
+ │ │ │ │ │ └── @ CallNode (location: (17,6)-(17,7))
+ │ │ │ │ │ ├── flags: variable_call
+ │ │ │ │ │ ├── receiver: ∅
+ │ │ │ │ │ ├── call_operator_loc: ∅
+ │ │ │ │ │ ├── name: :d
+ │ │ │ │ │ ├── message_loc: (17,6)-(17,7) = "d"
+ │ │ │ │ │ ├── opening_loc: ∅
+ │ │ │ │ │ ├── arguments: ∅
+ │ │ │ │ │ ├── closing_loc: ∅
+ │ │ │ │ │ └── block: ∅
+ │ │ │ │ ├── closing_loc: ∅
+ │ │ │ │ └── block: ∅
+ │ │ │ ├── opening_loc: (17,3)-(17,4) = "{"
+ │ │ │ └── closing_loc: (17,7)-(17,8) = "}"
+ │ │ └── @ RegularExpressionNode (location: (17,10)-(17,14))
+ │ │ ├── flags: multi_line
+ │ │ ├── opening_loc: (17,10)-(17,11) = "/"
+ │ │ ├── content_loc: (17,11)-(17,12) = "x"
+ │ │ ├── closing_loc: (17,12)-(17,14) = "/m"
+ │ │ └── unescaped: "x"
│ ├── closing_loc: ∅
- │ ├── block:
- │ │ @ BlockNode (location: (17,15)-(17,21))
- │ │ ├── locals: []
- │ │ ├── locals_body_index: 0
- │ │ ├── parameters: ∅
- │ │ ├── body: ∅
- │ │ ├── opening_loc: (17,15)-(17,17) = "do"
- │ │ └── closing_loc: (17,18)-(17,21) = "end"
- │ └── flags: ∅
+ │ └── block:
+ │ @ BlockNode (location: (17,15)-(17,21))
+ │ ├── locals: []
+ │ ├── locals_body_index: 0
+ │ ├── parameters: ∅
+ │ ├── body: ∅
+ │ ├── opening_loc: (17,15)-(17,17) = "do"
+ │ └── closing_loc: (17,18)-(17,21) = "end"
├── @ CallNode (location: (19,0)-(19,21))
+ │ ├── flags: ∅
│ ├── receiver: ∅
│ ├── call_operator_loc: ∅
│ ├── name: :a
@@ -587,67 +588,67 @@
│ ├── opening_loc: ∅
│ ├── arguments:
│ │ @ ArgumentsNode (location: (19,2)-(19,14))
- │ │ ├── arguments: (length: 2)
- │ │ │ ├── @ CallNode (location: (19,2)-(19,9))
- │ │ │ │ ├── receiver: ∅
- │ │ │ │ ├── call_operator_loc: ∅
- │ │ │ │ ├── name: :b
- │ │ │ │ ├── message_loc: (19,2)-(19,3) = "b"
- │ │ │ │ ├── opening_loc: ∅
- │ │ │ │ ├── arguments: ∅
- │ │ │ │ ├── closing_loc: ∅
- │ │ │ │ ├── block:
- │ │ │ │ │ @ BlockNode (location: (19,3)-(19,9))
- │ │ │ │ │ ├── locals: []
- │ │ │ │ │ ├── locals_body_index: 0
- │ │ │ │ │ ├── parameters: ∅
- │ │ │ │ │ ├── body:
- │ │ │ │ │ │ @ StatementsNode (location: (19,4)-(19,8))
- │ │ │ │ │ │ └── body: (length: 1)
- │ │ │ │ │ │ └── @ CallNode (location: (19,4)-(19,8))
- │ │ │ │ │ │ ├── receiver: ∅
- │ │ │ │ │ │ ├── call_operator_loc: ∅
- │ │ │ │ │ │ ├── name: :c
- │ │ │ │ │ │ ├── message_loc: (19,4)-(19,5) = "c"
- │ │ │ │ │ │ ├── opening_loc: (19,5)-(19,6) = "("
- │ │ │ │ │ │ ├── arguments:
- │ │ │ │ │ │ │ @ ArgumentsNode (location: (19,6)-(19,7))
- │ │ │ │ │ │ │ ├── arguments: (length: 1)
- │ │ │ │ │ │ │ │ └── @ CallNode (location: (19,6)-(19,7))
- │ │ │ │ │ │ │ │ ├── receiver: ∅
- │ │ │ │ │ │ │ │ ├── call_operator_loc: ∅
- │ │ │ │ │ │ │ │ ├── name: :d
- │ │ │ │ │ │ │ │ ├── message_loc: (19,6)-(19,7) = "d"
- │ │ │ │ │ │ │ │ ├── opening_loc: ∅
- │ │ │ │ │ │ │ │ ├── arguments: ∅
- │ │ │ │ │ │ │ │ ├── closing_loc: ∅
- │ │ │ │ │ │ │ │ ├── block: ∅
- │ │ │ │ │ │ │ │ └── flags: variable_call
- │ │ │ │ │ │ │ └── flags: ∅
- │ │ │ │ │ │ ├── closing_loc: (19,7)-(19,8) = ")"
- │ │ │ │ │ │ ├── block: ∅
- │ │ │ │ │ │ └── flags: ∅
- │ │ │ │ │ ├── opening_loc: (19,3)-(19,4) = "{"
- │ │ │ │ │ └── closing_loc: (19,8)-(19,9) = "}"
- │ │ │ │ └── flags: ∅
- │ │ │ └── @ StringNode (location: (19,11)-(19,14))
- │ │ │ ├── flags: ∅
- │ │ │ ├── opening_loc: (19,11)-(19,12) = "\""
- │ │ │ ├── content_loc: (19,12)-(19,13) = "x"
- │ │ │ ├── closing_loc: (19,13)-(19,14) = "\""
- │ │ │ └── unescaped: "x"
- │ │ └── flags: ∅
+ │ │ ├── flags: ∅
+ │ │ └── arguments: (length: 2)
+ │ │ ├── @ CallNode (location: (19,2)-(19,9))
+ │ │ │ ├── flags: ∅
+ │ │ │ ├── receiver: ∅
+ │ │ │ ├── call_operator_loc: ∅
+ │ │ │ ├── name: :b
+ │ │ │ ├── message_loc: (19,2)-(19,3) = "b"
+ │ │ │ ├── opening_loc: ∅
+ │ │ │ ├── arguments: ∅
+ │ │ │ ├── closing_loc: ∅
+ │ │ │ └── block:
+ │ │ │ @ BlockNode (location: (19,3)-(19,9))
+ │ │ │ ├── locals: []
+ │ │ │ ├── locals_body_index: 0
+ │ │ │ ├── parameters: ∅
+ │ │ │ ├── body:
+ │ │ │ │ @ StatementsNode (location: (19,4)-(19,8))
+ │ │ │ │ └── body: (length: 1)
+ │ │ │ │ └── @ CallNode (location: (19,4)-(19,8))
+ │ │ │ │ ├── flags: ∅
+ │ │ │ │ ├── receiver: ∅
+ │ │ │ │ ├── call_operator_loc: ∅
+ │ │ │ │ ├── name: :c
+ │ │ │ │ ├── message_loc: (19,4)-(19,5) = "c"
+ │ │ │ │ ├── opening_loc: (19,5)-(19,6) = "("
+ │ │ │ │ ├── arguments:
+ │ │ │ │ │ @ ArgumentsNode (location: (19,6)-(19,7))
+ │ │ │ │ │ ├── flags: ∅
+ │ │ │ │ │ └── arguments: (length: 1)
+ │ │ │ │ │ └── @ CallNode (location: (19,6)-(19,7))
+ │ │ │ │ │ ├── flags: variable_call
+ │ │ │ │ │ ├── receiver: ∅
+ │ │ │ │ │ ├── call_operator_loc: ∅
+ │ │ │ │ │ ├── name: :d
+ │ │ │ │ │ ├── message_loc: (19,6)-(19,7) = "d"
+ │ │ │ │ │ ├── opening_loc: ∅
+ │ │ │ │ │ ├── arguments: ∅
+ │ │ │ │ │ ├── closing_loc: ∅
+ │ │ │ │ │ └── block: ∅
+ │ │ │ │ ├── closing_loc: (19,7)-(19,8) = ")"
+ │ │ │ │ └── block: ∅
+ │ │ │ ├── opening_loc: (19,3)-(19,4) = "{"
+ │ │ │ └── closing_loc: (19,8)-(19,9) = "}"
+ │ │ └── @ StringNode (location: (19,11)-(19,14))
+ │ │ ├── flags: ∅
+ │ │ ├── opening_loc: (19,11)-(19,12) = "\""
+ │ │ ├── content_loc: (19,12)-(19,13) = "x"
+ │ │ ├── closing_loc: (19,13)-(19,14) = "\""
+ │ │ └── unescaped: "x"
│ ├── closing_loc: ∅
- │ ├── block:
- │ │ @ BlockNode (location: (19,15)-(19,21))
- │ │ ├── locals: []
- │ │ ├── locals_body_index: 0
- │ │ ├── parameters: ∅
- │ │ ├── body: ∅
- │ │ ├── opening_loc: (19,15)-(19,17) = "do"
- │ │ └── closing_loc: (19,18)-(19,21) = "end"
- │ └── flags: ∅
+ │ └── block:
+ │ @ BlockNode (location: (19,15)-(19,21))
+ │ ├── locals: []
+ │ ├── locals_body_index: 0
+ │ ├── parameters: ∅
+ │ ├── body: ∅
+ │ ├── opening_loc: (19,15)-(19,17) = "do"
+ │ └── closing_loc: (19,18)-(19,21) = "end"
├── @ CallNode (location: (21,0)-(21,21))
+ │ ├── flags: ∅
│ ├── receiver: ∅
│ ├── call_operator_loc: ∅
│ ├── name: :a
@@ -655,67 +656,67 @@
│ ├── opening_loc: ∅
│ ├── arguments:
│ │ @ ArgumentsNode (location: (21,2)-(21,14))
- │ │ ├── arguments: (length: 2)
- │ │ │ ├── @ CallNode (location: (21,2)-(21,9))
- │ │ │ │ ├── receiver: ∅
- │ │ │ │ ├── call_operator_loc: ∅
- │ │ │ │ ├── name: :b
- │ │ │ │ ├── message_loc: (21,2)-(21,3) = "b"
- │ │ │ │ ├── opening_loc: ∅
- │ │ │ │ ├── arguments: ∅
- │ │ │ │ ├── closing_loc: ∅
- │ │ │ │ ├── block:
- │ │ │ │ │ @ BlockNode (location: (21,3)-(21,9))
- │ │ │ │ │ ├── locals: []
- │ │ │ │ │ ├── locals_body_index: 0
- │ │ │ │ │ ├── parameters: ∅
- │ │ │ │ │ ├── body:
- │ │ │ │ │ │ @ StatementsNode (location: (21,4)-(21,8))
- │ │ │ │ │ │ └── body: (length: 1)
- │ │ │ │ │ │ └── @ CallNode (location: (21,4)-(21,8))
- │ │ │ │ │ │ ├── receiver: ∅
- │ │ │ │ │ │ ├── call_operator_loc: ∅
- │ │ │ │ │ │ ├── name: :c
- │ │ │ │ │ │ ├── message_loc: (21,4)-(21,5) = "c"
- │ │ │ │ │ │ ├── opening_loc: (21,5)-(21,6) = "("
- │ │ │ │ │ │ ├── arguments:
- │ │ │ │ │ │ │ @ ArgumentsNode (location: (21,6)-(21,7))
- │ │ │ │ │ │ │ ├── arguments: (length: 1)
- │ │ │ │ │ │ │ │ └── @ CallNode (location: (21,6)-(21,7))
- │ │ │ │ │ │ │ │ ├── receiver: ∅
- │ │ │ │ │ │ │ │ ├── call_operator_loc: ∅
- │ │ │ │ │ │ │ │ ├── name: :d
- │ │ │ │ │ │ │ │ ├── message_loc: (21,6)-(21,7) = "d"
- │ │ │ │ │ │ │ │ ├── opening_loc: ∅
- │ │ │ │ │ │ │ │ ├── arguments: ∅
- │ │ │ │ │ │ │ │ ├── closing_loc: ∅
- │ │ │ │ │ │ │ │ ├── block: ∅
- │ │ │ │ │ │ │ │ └── flags: variable_call
- │ │ │ │ │ │ │ └── flags: ∅
- │ │ │ │ │ │ ├── closing_loc: (21,7)-(21,8) = ")"
- │ │ │ │ │ │ ├── block: ∅
- │ │ │ │ │ │ └── flags: ∅
- │ │ │ │ │ ├── opening_loc: (21,3)-(21,4) = "{"
- │ │ │ │ │ └── closing_loc: (21,8)-(21,9) = "}"
- │ │ │ │ └── flags: ∅
- │ │ │ └── @ RegularExpressionNode (location: (21,11)-(21,14))
- │ │ │ ├── opening_loc: (21,11)-(21,12) = "/"
- │ │ │ ├── content_loc: (21,12)-(21,13) = "x"
- │ │ │ ├── closing_loc: (21,13)-(21,14) = "/"
- │ │ │ ├── unescaped: "x"
- │ │ │ └── flags: ∅
- │ │ └── flags: ∅
+ │ │ ├── flags: ∅
+ │ │ └── arguments: (length: 2)
+ │ │ ├── @ CallNode (location: (21,2)-(21,9))
+ │ │ │ ├── flags: ∅
+ │ │ │ ├── receiver: ∅
+ │ │ │ ├── call_operator_loc: ∅
+ │ │ │ ├── name: :b
+ │ │ │ ├── message_loc: (21,2)-(21,3) = "b"
+ │ │ │ ├── opening_loc: ∅
+ │ │ │ ├── arguments: ∅
+ │ │ │ ├── closing_loc: ∅
+ │ │ │ └── block:
+ │ │ │ @ BlockNode (location: (21,3)-(21,9))
+ │ │ │ ├── locals: []
+ │ │ │ ├── locals_body_index: 0
+ │ │ │ ├── parameters: ∅
+ │ │ │ ├── body:
+ │ │ │ │ @ StatementsNode (location: (21,4)-(21,8))
+ │ │ │ │ └── body: (length: 1)
+ │ │ │ │ └── @ CallNode (location: (21,4)-(21,8))
+ │ │ │ │ ├── flags: ∅
+ │ │ │ │ ├── receiver: ∅
+ │ │ │ │ ├── call_operator_loc: ∅
+ │ │ │ │ ├── name: :c
+ │ │ │ │ ├── message_loc: (21,4)-(21,5) = "c"
+ │ │ │ │ ├── opening_loc: (21,5)-(21,6) = "("
+ │ │ │ │ ├── arguments:
+ │ │ │ │ │ @ ArgumentsNode (location: (21,6)-(21,7))
+ │ │ │ │ │ ├── flags: ∅
+ │ │ │ │ │ └── arguments: (length: 1)
+ │ │ │ │ │ └── @ CallNode (location: (21,6)-(21,7))
+ │ │ │ │ │ ├── flags: variable_call
+ │ │ │ │ │ ├── receiver: ∅
+ │ │ │ │ │ ├── call_operator_loc: ∅
+ │ │ │ │ │ ├── name: :d
+ │ │ │ │ │ ├── message_loc: (21,6)-(21,7) = "d"
+ │ │ │ │ │ ├── opening_loc: ∅
+ │ │ │ │ │ ├── arguments: ∅
+ │ │ │ │ │ ├── closing_loc: ∅
+ │ │ │ │ │ └── block: ∅
+ │ │ │ │ ├── closing_loc: (21,7)-(21,8) = ")"
+ │ │ │ │ └── block: ∅
+ │ │ │ ├── opening_loc: (21,3)-(21,4) = "{"
+ │ │ │ └── closing_loc: (21,8)-(21,9) = "}"
+ │ │ └── @ RegularExpressionNode (location: (21,11)-(21,14))
+ │ │ ├── flags: ∅
+ │ │ ├── opening_loc: (21,11)-(21,12) = "/"
+ │ │ ├── content_loc: (21,12)-(21,13) = "x"
+ │ │ ├── closing_loc: (21,13)-(21,14) = "/"
+ │ │ └── unescaped: "x"
│ ├── closing_loc: ∅
- │ ├── block:
- │ │ @ BlockNode (location: (21,15)-(21,21))
- │ │ ├── locals: []
- │ │ ├── locals_body_index: 0
- │ │ ├── parameters: ∅
- │ │ ├── body: ∅
- │ │ ├── opening_loc: (21,15)-(21,17) = "do"
- │ │ └── closing_loc: (21,18)-(21,21) = "end"
- │ └── flags: ∅
+ │ └── block:
+ │ @ BlockNode (location: (21,15)-(21,21))
+ │ ├── locals: []
+ │ ├── locals_body_index: 0
+ │ ├── parameters: ∅
+ │ ├── body: ∅
+ │ ├── opening_loc: (21,15)-(21,17) = "do"
+ │ └── closing_loc: (21,18)-(21,21) = "end"
└── @ CallNode (location: (23,0)-(23,22))
+ ├── flags: ∅
├── receiver: ∅
├── call_operator_loc: ∅
├── name: :a
@@ -723,63 +724,62 @@
├── opening_loc: ∅
├── arguments:
│ @ ArgumentsNode (location: (23,2)-(23,15))
- │ ├── arguments: (length: 2)
- │ │ ├── @ CallNode (location: (23,2)-(23,9))
- │ │ │ ├── receiver: ∅
- │ │ │ ├── call_operator_loc: ∅
- │ │ │ ├── name: :b
- │ │ │ ├── message_loc: (23,2)-(23,3) = "b"
- │ │ │ ├── opening_loc: ∅
- │ │ │ ├── arguments: ∅
- │ │ │ ├── closing_loc: ∅
- │ │ │ ├── block:
- │ │ │ │ @ BlockNode (location: (23,3)-(23,9))
- │ │ │ │ ├── locals: []
- │ │ │ │ ├── locals_body_index: 0
- │ │ │ │ ├── parameters: ∅
- │ │ │ │ ├── body:
- │ │ │ │ │ @ StatementsNode (location: (23,4)-(23,8))
- │ │ │ │ │ └── body: (length: 1)
- │ │ │ │ │ └── @ CallNode (location: (23,4)-(23,8))
- │ │ │ │ │ ├── receiver: ∅
- │ │ │ │ │ ├── call_operator_loc: ∅
- │ │ │ │ │ ├── name: :c
- │ │ │ │ │ ├── message_loc: (23,4)-(23,5) = "c"
- │ │ │ │ │ ├── opening_loc: (23,5)-(23,6) = "("
- │ │ │ │ │ ├── arguments:
- │ │ │ │ │ │ @ ArgumentsNode (location: (23,6)-(23,7))
- │ │ │ │ │ │ ├── arguments: (length: 1)
- │ │ │ │ │ │ │ └── @ CallNode (location: (23,6)-(23,7))
- │ │ │ │ │ │ │ ├── receiver: ∅
- │ │ │ │ │ │ │ ├── call_operator_loc: ∅
- │ │ │ │ │ │ │ ├── name: :d
- │ │ │ │ │ │ │ ├── message_loc: (23,6)-(23,7) = "d"
- │ │ │ │ │ │ │ ├── opening_loc: ∅
- │ │ │ │ │ │ │ ├── arguments: ∅
- │ │ │ │ │ │ │ ├── closing_loc: ∅
- │ │ │ │ │ │ │ ├── block: ∅
- │ │ │ │ │ │ │ └── flags: variable_call
- │ │ │ │ │ │ └── flags: ∅
- │ │ │ │ │ ├── closing_loc: (23,7)-(23,8) = ")"
- │ │ │ │ │ ├── block: ∅
- │ │ │ │ │ └── flags: ∅
- │ │ │ │ ├── opening_loc: (23,3)-(23,4) = "{"
- │ │ │ │ └── closing_loc: (23,8)-(23,9) = "}"
- │ │ │ └── flags: ∅
- │ │ └── @ RegularExpressionNode (location: (23,11)-(23,15))
- │ │ ├── opening_loc: (23,11)-(23,12) = "/"
- │ │ ├── content_loc: (23,12)-(23,13) = "x"
- │ │ ├── closing_loc: (23,13)-(23,15) = "/m"
- │ │ ├── unescaped: "x"
- │ │ └── flags: multi_line
- │ └── flags: ∅
+ │ ├── flags: ∅
+ │ └── arguments: (length: 2)
+ │ ├── @ CallNode (location: (23,2)-(23,9))
+ │ │ ├── flags: ∅
+ │ │ ├── receiver: ∅
+ │ │ ├── call_operator_loc: ∅
+ │ │ ├── name: :b
+ │ │ ├── message_loc: (23,2)-(23,3) = "b"
+ │ │ ├── opening_loc: ∅
+ │ │ ├── arguments: ∅
+ │ │ ├── closing_loc: ∅
+ │ │ └── block:
+ │ │ @ BlockNode (location: (23,3)-(23,9))
+ │ │ ├── locals: []
+ │ │ ├── locals_body_index: 0
+ │ │ ├── parameters: ∅
+ │ │ ├── body:
+ │ │ │ @ StatementsNode (location: (23,4)-(23,8))
+ │ │ │ └── body: (length: 1)
+ │ │ │ └── @ CallNode (location: (23,4)-(23,8))
+ │ │ │ ├── flags: ∅
+ │ │ │ ├── receiver: ∅
+ │ │ │ ├── call_operator_loc: ∅
+ │ │ │ ├── name: :c
+ │ │ │ ├── message_loc: (23,4)-(23,5) = "c"
+ │ │ │ ├── opening_loc: (23,5)-(23,6) = "("
+ │ │ │ ├── arguments:
+ │ │ │ │ @ ArgumentsNode (location: (23,6)-(23,7))
+ │ │ │ │ ├── flags: ∅
+ │ │ │ │ └── arguments: (length: 1)
+ │ │ │ │ └── @ CallNode (location: (23,6)-(23,7))
+ │ │ │ │ ├── flags: variable_call
+ │ │ │ │ ├── receiver: ∅
+ │ │ │ │ ├── call_operator_loc: ∅
+ │ │ │ │ ├── name: :d
+ │ │ │ │ ├── message_loc: (23,6)-(23,7) = "d"
+ │ │ │ │ ├── opening_loc: ∅
+ │ │ │ │ ├── arguments: ∅
+ │ │ │ │ ├── closing_loc: ∅
+ │ │ │ │ └── block: ∅
+ │ │ │ ├── closing_loc: (23,7)-(23,8) = ")"
+ │ │ │ └── block: ∅
+ │ │ ├── opening_loc: (23,3)-(23,4) = "{"
+ │ │ └── closing_loc: (23,8)-(23,9) = "}"
+ │ └── @ RegularExpressionNode (location: (23,11)-(23,15))
+ │ ├── flags: multi_line
+ │ ├── opening_loc: (23,11)-(23,12) = "/"
+ │ ├── content_loc: (23,12)-(23,13) = "x"
+ │ ├── closing_loc: (23,13)-(23,15) = "/m"
+ │ └── unescaped: "x"
├── closing_loc: ∅
- ├── block:
- │ @ BlockNode (location: (23,16)-(23,22))
- │ ├── locals: []
- │ ├── locals_body_index: 0
- │ ├── parameters: ∅
- │ ├── body: ∅
- │ ├── opening_loc: (23,16)-(23,18) = "do"
- │ └── closing_loc: (23,19)-(23,22) = "end"
- └── flags: ∅
+ └── block:
+ @ BlockNode (location: (23,16)-(23,22))
+ ├── locals: []
+ ├── locals_body_index: 0
+ ├── parameters: ∅
+ ├── body: ∅
+ ├── opening_loc: (23,16)-(23,18) = "do"
+ └── closing_loc: (23,19)-(23,22) = "end"
diff --git a/test/prism/snapshots/whitequark/ruby_bug_11873_a.txt b/test/prism/snapshots/whitequark/ruby_bug_11873_a.txt
index 6692f5b2af..6ae376d138 100644
--- a/test/prism/snapshots/whitequark/ruby_bug_11873_a.txt
+++ b/test/prism/snapshots/whitequark/ruby_bug_11873_a.txt
@@ -4,6 +4,7 @@
@ StatementsNode (location: (1,0)-(39,20))
└── body: (length: 20)
├── @ CallNode (location: (1,0)-(1,18))
+ │ ├── flags: ∅
│ ├── receiver: ∅
│ ├── call_operator_loc: ∅
│ ├── name: :a
@@ -11,57 +12,57 @@
│ ├── opening_loc: ∅
│ ├── arguments:
│ │ @ ArgumentsNode (location: (1,2)-(1,11))
- │ │ ├── arguments: (length: 2)
- │ │ │ ├── @ CallNode (location: (1,2)-(1,8))
- │ │ │ │ ├── receiver: ∅
- │ │ │ │ ├── call_operator_loc: ∅
- │ │ │ │ ├── name: :b
- │ │ │ │ ├── message_loc: (1,2)-(1,3) = "b"
- │ │ │ │ ├── opening_loc: (1,3)-(1,4) = "("
- │ │ │ │ ├── arguments:
- │ │ │ │ │ @ ArgumentsNode (location: (1,4)-(1,7))
- │ │ │ │ │ ├── arguments: (length: 1)
- │ │ │ │ │ │ └── @ CallNode (location: (1,4)-(1,7))
- │ │ │ │ │ │ ├── receiver: ∅
- │ │ │ │ │ │ ├── call_operator_loc: ∅
- │ │ │ │ │ │ ├── name: :c
- │ │ │ │ │ │ ├── message_loc: (1,4)-(1,5) = "c"
- │ │ │ │ │ │ ├── opening_loc: ∅
- │ │ │ │ │ │ ├── arguments:
- │ │ │ │ │ │ │ @ ArgumentsNode (location: (1,6)-(1,7))
- │ │ │ │ │ │ │ ├── arguments: (length: 1)
- │ │ │ │ │ │ │ │ └── @ CallNode (location: (1,6)-(1,7))
- │ │ │ │ │ │ │ │ ├── receiver: ∅
- │ │ │ │ │ │ │ │ ├── call_operator_loc: ∅
- │ │ │ │ │ │ │ │ ├── name: :d
- │ │ │ │ │ │ │ │ ├── message_loc: (1,6)-(1,7) = "d"
- │ │ │ │ │ │ │ │ ├── opening_loc: ∅
- │ │ │ │ │ │ │ │ ├── arguments: ∅
- │ │ │ │ │ │ │ │ ├── closing_loc: ∅
- │ │ │ │ │ │ │ │ ├── block: ∅
- │ │ │ │ │ │ │ │ └── flags: variable_call
- │ │ │ │ │ │ │ └── flags: ∅
- │ │ │ │ │ │ ├── closing_loc: ∅
- │ │ │ │ │ │ ├── block: ∅
- │ │ │ │ │ │ └── flags: ∅
- │ │ │ │ │ └── flags: ∅
- │ │ │ │ ├── closing_loc: (1,7)-(1,8) = ")"
- │ │ │ │ ├── block: ∅
- │ │ │ │ └── flags: ∅
- │ │ │ └── @ IntegerNode (location: (1,10)-(1,11))
- │ │ │ └── flags: decimal
- │ │ └── flags: ∅
+ │ │ ├── flags: ∅
+ │ │ └── arguments: (length: 2)
+ │ │ ├── @ CallNode (location: (1,2)-(1,8))
+ │ │ │ ├── flags: ∅
+ │ │ │ ├── receiver: ∅
+ │ │ │ ├── call_operator_loc: ∅
+ │ │ │ ├── name: :b
+ │ │ │ ├── message_loc: (1,2)-(1,3) = "b"
+ │ │ │ ├── opening_loc: (1,3)-(1,4) = "("
+ │ │ │ ├── arguments:
+ │ │ │ │ @ ArgumentsNode (location: (1,4)-(1,7))
+ │ │ │ │ ├── flags: ∅
+ │ │ │ │ └── arguments: (length: 1)
+ │ │ │ │ └── @ CallNode (location: (1,4)-(1,7))
+ │ │ │ │ ├── flags: ∅
+ │ │ │ │ ├── receiver: ∅
+ │ │ │ │ ├── call_operator_loc: ∅
+ │ │ │ │ ├── name: :c
+ │ │ │ │ ├── message_loc: (1,4)-(1,5) = "c"
+ │ │ │ │ ├── opening_loc: ∅
+ │ │ │ │ ├── arguments:
+ │ │ │ │ │ @ ArgumentsNode (location: (1,6)-(1,7))
+ │ │ │ │ │ ├── flags: ∅
+ │ │ │ │ │ └── arguments: (length: 1)
+ │ │ │ │ │ └── @ CallNode (location: (1,6)-(1,7))
+ │ │ │ │ │ ├── flags: variable_call
+ │ │ │ │ │ ├── receiver: ∅
+ │ │ │ │ │ ├── call_operator_loc: ∅
+ │ │ │ │ │ ├── name: :d
+ │ │ │ │ │ ├── message_loc: (1,6)-(1,7) = "d"
+ │ │ │ │ │ ├── opening_loc: ∅
+ │ │ │ │ │ ├── arguments: ∅
+ │ │ │ │ │ ├── closing_loc: ∅
+ │ │ │ │ │ └── block: ∅
+ │ │ │ │ ├── closing_loc: ∅
+ │ │ │ │ └── block: ∅
+ │ │ │ ├── closing_loc: (1,7)-(1,8) = ")"
+ │ │ │ └── block: ∅
+ │ │ └── @ IntegerNode (location: (1,10)-(1,11))
+ │ │ └── flags: decimal
│ ├── closing_loc: ∅
- │ ├── block:
- │ │ @ BlockNode (location: (1,12)-(1,18))
- │ │ ├── locals: []
- │ │ ├── locals_body_index: 0
- │ │ ├── parameters: ∅
- │ │ ├── body: ∅
- │ │ ├── opening_loc: (1,12)-(1,14) = "do"
- │ │ └── closing_loc: (1,15)-(1,18) = "end"
- │ └── flags: ∅
+ │ └── block:
+ │ @ BlockNode (location: (1,12)-(1,18))
+ │ ├── locals: []
+ │ ├── locals_body_index: 0
+ │ ├── parameters: ∅
+ │ ├── body: ∅
+ │ ├── opening_loc: (1,12)-(1,14) = "do"
+ │ └── closing_loc: (1,15)-(1,18) = "end"
├── @ CallNode (location: (3,0)-(3,20))
+ │ ├── flags: ∅
│ ├── receiver: ∅
│ ├── call_operator_loc: ∅
│ ├── name: :a
@@ -69,56 +70,56 @@
│ ├── opening_loc: ∅
│ ├── arguments:
│ │ @ ArgumentsNode (location: (3,2)-(3,13))
- │ │ ├── arguments: (length: 2)
- │ │ │ ├── @ CallNode (location: (3,2)-(3,8))
- │ │ │ │ ├── receiver: ∅
- │ │ │ │ ├── call_operator_loc: ∅
- │ │ │ │ ├── name: :b
- │ │ │ │ ├── message_loc: (3,2)-(3,3) = "b"
- │ │ │ │ ├── opening_loc: (3,3)-(3,4) = "("
- │ │ │ │ ├── arguments:
- │ │ │ │ │ @ ArgumentsNode (location: (3,4)-(3,7))
- │ │ │ │ │ ├── arguments: (length: 1)
- │ │ │ │ │ │ └── @ CallNode (location: (3,4)-(3,7))
- │ │ │ │ │ │ ├── receiver: ∅
- │ │ │ │ │ │ ├── call_operator_loc: ∅
- │ │ │ │ │ │ ├── name: :c
- │ │ │ │ │ │ ├── message_loc: (3,4)-(3,5) = "c"
- │ │ │ │ │ │ ├── opening_loc: ∅
- │ │ │ │ │ │ ├── arguments:
- │ │ │ │ │ │ │ @ ArgumentsNode (location: (3,6)-(3,7))
- │ │ │ │ │ │ │ ├── arguments: (length: 1)
- │ │ │ │ │ │ │ │ └── @ CallNode (location: (3,6)-(3,7))
- │ │ │ │ │ │ │ │ ├── receiver: ∅
- │ │ │ │ │ │ │ │ ├── call_operator_loc: ∅
- │ │ │ │ │ │ │ │ ├── name: :d
- │ │ │ │ │ │ │ │ ├── message_loc: (3,6)-(3,7) = "d"
- │ │ │ │ │ │ │ │ ├── opening_loc: ∅
- │ │ │ │ │ │ │ │ ├── arguments: ∅
- │ │ │ │ │ │ │ │ ├── closing_loc: ∅
- │ │ │ │ │ │ │ │ ├── block: ∅
- │ │ │ │ │ │ │ │ └── flags: variable_call
- │ │ │ │ │ │ │ └── flags: ∅
- │ │ │ │ │ │ ├── closing_loc: ∅
- │ │ │ │ │ │ ├── block: ∅
- │ │ │ │ │ │ └── flags: ∅
- │ │ │ │ │ └── flags: ∅
- │ │ │ │ ├── closing_loc: (3,7)-(3,8) = ")"
- │ │ │ │ ├── block: ∅
- │ │ │ │ └── flags: ∅
- │ │ │ └── @ FloatNode (location: (3,10)-(3,13))
- │ │ └── flags: ∅
+ │ │ ├── flags: ∅
+ │ │ └── arguments: (length: 2)
+ │ │ ├── @ CallNode (location: (3,2)-(3,8))
+ │ │ │ ├── flags: ∅
+ │ │ │ ├── receiver: ∅
+ │ │ │ ├── call_operator_loc: ∅
+ │ │ │ ├── name: :b
+ │ │ │ ├── message_loc: (3,2)-(3,3) = "b"
+ │ │ │ ├── opening_loc: (3,3)-(3,4) = "("
+ │ │ │ ├── arguments:
+ │ │ │ │ @ ArgumentsNode (location: (3,4)-(3,7))
+ │ │ │ │ ├── flags: ∅
+ │ │ │ │ └── arguments: (length: 1)
+ │ │ │ │ └── @ CallNode (location: (3,4)-(3,7))
+ │ │ │ │ ├── flags: ∅
+ │ │ │ │ ├── receiver: ∅
+ │ │ │ │ ├── call_operator_loc: ∅
+ │ │ │ │ ├── name: :c
+ │ │ │ │ ├── message_loc: (3,4)-(3,5) = "c"
+ │ │ │ │ ├── opening_loc: ∅
+ │ │ │ │ ├── arguments:
+ │ │ │ │ │ @ ArgumentsNode (location: (3,6)-(3,7))
+ │ │ │ │ │ ├── flags: ∅
+ │ │ │ │ │ └── arguments: (length: 1)
+ │ │ │ │ │ └── @ CallNode (location: (3,6)-(3,7))
+ │ │ │ │ │ ├── flags: variable_call
+ │ │ │ │ │ ├── receiver: ∅
+ │ │ │ │ │ ├── call_operator_loc: ∅
+ │ │ │ │ │ ├── name: :d
+ │ │ │ │ │ ├── message_loc: (3,6)-(3,7) = "d"
+ │ │ │ │ │ ├── opening_loc: ∅
+ │ │ │ │ │ ├── arguments: ∅
+ │ │ │ │ │ ├── closing_loc: ∅
+ │ │ │ │ │ └── block: ∅
+ │ │ │ │ ├── closing_loc: ∅
+ │ │ │ │ └── block: ∅
+ │ │ │ ├── closing_loc: (3,7)-(3,8) = ")"
+ │ │ │ └── block: ∅
+ │ │ └── @ FloatNode (location: (3,10)-(3,13))
│ ├── closing_loc: ∅
- │ ├── block:
- │ │ @ BlockNode (location: (3,14)-(3,20))
- │ │ ├── locals: []
- │ │ ├── locals_body_index: 0
- │ │ ├── parameters: ∅
- │ │ ├── body: ∅
- │ │ ├── opening_loc: (3,14)-(3,16) = "do"
- │ │ └── closing_loc: (3,17)-(3,20) = "end"
- │ └── flags: ∅
+ │ └── block:
+ │ @ BlockNode (location: (3,14)-(3,20))
+ │ ├── locals: []
+ │ ├── locals_body_index: 0
+ │ ├── parameters: ∅
+ │ ├── body: ∅
+ │ ├── opening_loc: (3,14)-(3,16) = "do"
+ │ └── closing_loc: (3,17)-(3,20) = "end"
├── @ CallNode (location: (5,0)-(5,21))
+ │ ├── flags: ∅
│ ├── receiver: ∅
│ ├── call_operator_loc: ∅
│ ├── name: :a
@@ -126,58 +127,58 @@
│ ├── opening_loc: ∅
│ ├── arguments:
│ │ @ ArgumentsNode (location: (5,2)-(5,14))
- │ │ ├── arguments: (length: 2)
- │ │ │ ├── @ CallNode (location: (5,2)-(5,8))
- │ │ │ │ ├── receiver: ∅
- │ │ │ │ ├── call_operator_loc: ∅
- │ │ │ │ ├── name: :b
- │ │ │ │ ├── message_loc: (5,2)-(5,3) = "b"
- │ │ │ │ ├── opening_loc: (5,3)-(5,4) = "("
- │ │ │ │ ├── arguments:
- │ │ │ │ │ @ ArgumentsNode (location: (5,4)-(5,7))
- │ │ │ │ │ ├── arguments: (length: 1)
- │ │ │ │ │ │ └── @ CallNode (location: (5,4)-(5,7))
- │ │ │ │ │ │ ├── receiver: ∅
- │ │ │ │ │ │ ├── call_operator_loc: ∅
- │ │ │ │ │ │ ├── name: :c
- │ │ │ │ │ │ ├── message_loc: (5,4)-(5,5) = "c"
- │ │ │ │ │ │ ├── opening_loc: ∅
- │ │ │ │ │ │ ├── arguments:
- │ │ │ │ │ │ │ @ ArgumentsNode (location: (5,6)-(5,7))
- │ │ │ │ │ │ │ ├── arguments: (length: 1)
- │ │ │ │ │ │ │ │ └── @ CallNode (location: (5,6)-(5,7))
- │ │ │ │ │ │ │ │ ├── receiver: ∅
- │ │ │ │ │ │ │ │ ├── call_operator_loc: ∅
- │ │ │ │ │ │ │ │ ├── name: :d
- │ │ │ │ │ │ │ │ ├── message_loc: (5,6)-(5,7) = "d"
- │ │ │ │ │ │ │ │ ├── opening_loc: ∅
- │ │ │ │ │ │ │ │ ├── arguments: ∅
- │ │ │ │ │ │ │ │ ├── closing_loc: ∅
- │ │ │ │ │ │ │ │ ├── block: ∅
- │ │ │ │ │ │ │ │ └── flags: variable_call
- │ │ │ │ │ │ │ └── flags: ∅
- │ │ │ │ │ │ ├── closing_loc: ∅
- │ │ │ │ │ │ ├── block: ∅
- │ │ │ │ │ │ └── flags: ∅
- │ │ │ │ │ └── flags: ∅
- │ │ │ │ ├── closing_loc: (5,7)-(5,8) = ")"
- │ │ │ │ ├── block: ∅
- │ │ │ │ └── flags: ∅
- │ │ │ └── @ ImaginaryNode (location: (5,10)-(5,14))
- │ │ │ └── numeric:
- │ │ │ @ FloatNode (location: (5,10)-(5,13))
- │ │ └── flags: ∅
+ │ │ ├── flags: ∅
+ │ │ └── arguments: (length: 2)
+ │ │ ├── @ CallNode (location: (5,2)-(5,8))
+ │ │ │ ├── flags: ∅
+ │ │ │ ├── receiver: ∅
+ │ │ │ ├── call_operator_loc: ∅
+ │ │ │ ├── name: :b
+ │ │ │ ├── message_loc: (5,2)-(5,3) = "b"
+ │ │ │ ├── opening_loc: (5,3)-(5,4) = "("
+ │ │ │ ├── arguments:
+ │ │ │ │ @ ArgumentsNode (location: (5,4)-(5,7))
+ │ │ │ │ ├── flags: ∅
+ │ │ │ │ └── arguments: (length: 1)
+ │ │ │ │ └── @ CallNode (location: (5,4)-(5,7))
+ │ │ │ │ ├── flags: ∅
+ │ │ │ │ ├── receiver: ∅
+ │ │ │ │ ├── call_operator_loc: ∅
+ │ │ │ │ ├── name: :c
+ │ │ │ │ ├── message_loc: (5,4)-(5,5) = "c"
+ │ │ │ │ ├── opening_loc: ∅
+ │ │ │ │ ├── arguments:
+ │ │ │ │ │ @ ArgumentsNode (location: (5,6)-(5,7))
+ │ │ │ │ │ ├── flags: ∅
+ │ │ │ │ │ └── arguments: (length: 1)
+ │ │ │ │ │ └── @ CallNode (location: (5,6)-(5,7))
+ │ │ │ │ │ ├── flags: variable_call
+ │ │ │ │ │ ├── receiver: ∅
+ │ │ │ │ │ ├── call_operator_loc: ∅
+ │ │ │ │ │ ├── name: :d
+ │ │ │ │ │ ├── message_loc: (5,6)-(5,7) = "d"
+ │ │ │ │ │ ├── opening_loc: ∅
+ │ │ │ │ │ ├── arguments: ∅
+ │ │ │ │ │ ├── closing_loc: ∅
+ │ │ │ │ │ └── block: ∅
+ │ │ │ │ ├── closing_loc: ∅
+ │ │ │ │ └── block: ∅
+ │ │ │ ├── closing_loc: (5,7)-(5,8) = ")"
+ │ │ │ └── block: ∅
+ │ │ └── @ ImaginaryNode (location: (5,10)-(5,14))
+ │ │ └── numeric:
+ │ │ @ FloatNode (location: (5,10)-(5,13))
│ ├── closing_loc: ∅
- │ ├── block:
- │ │ @ BlockNode (location: (5,15)-(5,21))
- │ │ ├── locals: []
- │ │ ├── locals_body_index: 0
- │ │ ├── parameters: ∅
- │ │ ├── body: ∅
- │ │ ├── opening_loc: (5,15)-(5,17) = "do"
- │ │ └── closing_loc: (5,18)-(5,21) = "end"
- │ └── flags: ∅
+ │ └── block:
+ │ @ BlockNode (location: (5,15)-(5,21))
+ │ ├── locals: []
+ │ ├── locals_body_index: 0
+ │ ├── parameters: ∅
+ │ ├── body: ∅
+ │ ├── opening_loc: (5,15)-(5,17) = "do"
+ │ └── closing_loc: (5,18)-(5,21) = "end"
├── @ CallNode (location: (7,0)-(7,21))
+ │ ├── flags: ∅
│ ├── receiver: ∅
│ ├── call_operator_loc: ∅
│ ├── name: :a
@@ -185,58 +186,58 @@
│ ├── opening_loc: ∅
│ ├── arguments:
│ │ @ ArgumentsNode (location: (7,2)-(7,14))
- │ │ ├── arguments: (length: 2)
- │ │ │ ├── @ CallNode (location: (7,2)-(7,8))
- │ │ │ │ ├── receiver: ∅
- │ │ │ │ ├── call_operator_loc: ∅
- │ │ │ │ ├── name: :b
- │ │ │ │ ├── message_loc: (7,2)-(7,3) = "b"
- │ │ │ │ ├── opening_loc: (7,3)-(7,4) = "("
- │ │ │ │ ├── arguments:
- │ │ │ │ │ @ ArgumentsNode (location: (7,4)-(7,7))
- │ │ │ │ │ ├── arguments: (length: 1)
- │ │ │ │ │ │ └── @ CallNode (location: (7,4)-(7,7))
- │ │ │ │ │ │ ├── receiver: ∅
- │ │ │ │ │ │ ├── call_operator_loc: ∅
- │ │ │ │ │ │ ├── name: :c
- │ │ │ │ │ │ ├── message_loc: (7,4)-(7,5) = "c"
- │ │ │ │ │ │ ├── opening_loc: ∅
- │ │ │ │ │ │ ├── arguments:
- │ │ │ │ │ │ │ @ ArgumentsNode (location: (7,6)-(7,7))
- │ │ │ │ │ │ │ ├── arguments: (length: 1)
- │ │ │ │ │ │ │ │ └── @ CallNode (location: (7,6)-(7,7))
- │ │ │ │ │ │ │ │ ├── receiver: ∅
- │ │ │ │ │ │ │ │ ├── call_operator_loc: ∅
- │ │ │ │ │ │ │ │ ├── name: :d
- │ │ │ │ │ │ │ │ ├── message_loc: (7,6)-(7,7) = "d"
- │ │ │ │ │ │ │ │ ├── opening_loc: ∅
- │ │ │ │ │ │ │ │ ├── arguments: ∅
- │ │ │ │ │ │ │ │ ├── closing_loc: ∅
- │ │ │ │ │ │ │ │ ├── block: ∅
- │ │ │ │ │ │ │ │ └── flags: variable_call
- │ │ │ │ │ │ │ └── flags: ∅
- │ │ │ │ │ │ ├── closing_loc: ∅
- │ │ │ │ │ │ ├── block: ∅
- │ │ │ │ │ │ └── flags: ∅
- │ │ │ │ │ └── flags: ∅
- │ │ │ │ ├── closing_loc: (7,7)-(7,8) = ")"
- │ │ │ │ ├── block: ∅
- │ │ │ │ └── flags: ∅
- │ │ │ └── @ RationalNode (location: (7,10)-(7,14))
- │ │ │ └── numeric:
- │ │ │ @ FloatNode (location: (7,10)-(7,13))
- │ │ └── flags: ∅
+ │ │ ├── flags: ∅
+ │ │ └── arguments: (length: 2)
+ │ │ ├── @ CallNode (location: (7,2)-(7,8))
+ │ │ │ ├── flags: ∅
+ │ │ │ ├── receiver: ∅
+ │ │ │ ├── call_operator_loc: ∅
+ │ │ │ ├── name: :b
+ │ │ │ ├── message_loc: (7,2)-(7,3) = "b"
+ │ │ │ ├── opening_loc: (7,3)-(7,4) = "("
+ │ │ │ ├── arguments:
+ │ │ │ │ @ ArgumentsNode (location: (7,4)-(7,7))
+ │ │ │ │ ├── flags: ∅
+ │ │ │ │ └── arguments: (length: 1)
+ │ │ │ │ └── @ CallNode (location: (7,4)-(7,7))
+ │ │ │ │ ├── flags: ∅
+ │ │ │ │ ├── receiver: ∅
+ │ │ │ │ ├── call_operator_loc: ∅
+ │ │ │ │ ├── name: :c
+ │ │ │ │ ├── message_loc: (7,4)-(7,5) = "c"
+ │ │ │ │ ├── opening_loc: ∅
+ │ │ │ │ ├── arguments:
+ │ │ │ │ │ @ ArgumentsNode (location: (7,6)-(7,7))
+ │ │ │ │ │ ├── flags: ∅
+ │ │ │ │ │ └── arguments: (length: 1)
+ │ │ │ │ │ └── @ CallNode (location: (7,6)-(7,7))
+ │ │ │ │ │ ├── flags: variable_call
+ │ │ │ │ │ ├── receiver: ∅
+ │ │ │ │ │ ├── call_operator_loc: ∅
+ │ │ │ │ │ ├── name: :d
+ │ │ │ │ │ ├── message_loc: (7,6)-(7,7) = "d"
+ │ │ │ │ │ ├── opening_loc: ∅
+ │ │ │ │ │ ├── arguments: ∅
+ │ │ │ │ │ ├── closing_loc: ∅
+ │ │ │ │ │ └── block: ∅
+ │ │ │ │ ├── closing_loc: ∅
+ │ │ │ │ └── block: ∅
+ │ │ │ ├── closing_loc: (7,7)-(7,8) = ")"
+ │ │ │ └── block: ∅
+ │ │ └── @ RationalNode (location: (7,10)-(7,14))
+ │ │ └── numeric:
+ │ │ @ FloatNode (location: (7,10)-(7,13))
│ ├── closing_loc: ∅
- │ ├── block:
- │ │ @ BlockNode (location: (7,15)-(7,21))
- │ │ ├── locals: []
- │ │ ├── locals_body_index: 0
- │ │ ├── parameters: ∅
- │ │ ├── body: ∅
- │ │ ├── opening_loc: (7,15)-(7,17) = "do"
- │ │ └── closing_loc: (7,18)-(7,21) = "end"
- │ └── flags: ∅
+ │ └── block:
+ │ @ BlockNode (location: (7,15)-(7,21))
+ │ ├── locals: []
+ │ ├── locals_body_index: 0
+ │ ├── parameters: ∅
+ │ ├── body: ∅
+ │ ├── opening_loc: (7,15)-(7,17) = "do"
+ │ └── closing_loc: (7,18)-(7,21) = "end"
├── @ CallNode (location: (9,0)-(9,19))
+ │ ├── flags: ∅
│ ├── receiver: ∅
│ ├── call_operator_loc: ∅
│ ├── name: :a
@@ -244,60 +245,60 @@
│ ├── opening_loc: ∅
│ ├── arguments:
│ │ @ ArgumentsNode (location: (9,2)-(9,12))
- │ │ ├── arguments: (length: 2)
- │ │ │ ├── @ CallNode (location: (9,2)-(9,8))
- │ │ │ │ ├── receiver: ∅
- │ │ │ │ ├── call_operator_loc: ∅
- │ │ │ │ ├── name: :b
- │ │ │ │ ├── message_loc: (9,2)-(9,3) = "b"
- │ │ │ │ ├── opening_loc: (9,3)-(9,4) = "("
- │ │ │ │ ├── arguments:
- │ │ │ │ │ @ ArgumentsNode (location: (9,4)-(9,7))
- │ │ │ │ │ ├── arguments: (length: 1)
- │ │ │ │ │ │ └── @ CallNode (location: (9,4)-(9,7))
- │ │ │ │ │ │ ├── receiver: ∅
- │ │ │ │ │ │ ├── call_operator_loc: ∅
- │ │ │ │ │ │ ├── name: :c
- │ │ │ │ │ │ ├── message_loc: (9,4)-(9,5) = "c"
- │ │ │ │ │ │ ├── opening_loc: ∅
- │ │ │ │ │ │ ├── arguments:
- │ │ │ │ │ │ │ @ ArgumentsNode (location: (9,6)-(9,7))
- │ │ │ │ │ │ │ ├── arguments: (length: 1)
- │ │ │ │ │ │ │ │ └── @ CallNode (location: (9,6)-(9,7))
- │ │ │ │ │ │ │ │ ├── receiver: ∅
- │ │ │ │ │ │ │ │ ├── call_operator_loc: ∅
- │ │ │ │ │ │ │ │ ├── name: :d
- │ │ │ │ │ │ │ │ ├── message_loc: (9,6)-(9,7) = "d"
- │ │ │ │ │ │ │ │ ├── opening_loc: ∅
- │ │ │ │ │ │ │ │ ├── arguments: ∅
- │ │ │ │ │ │ │ │ ├── closing_loc: ∅
- │ │ │ │ │ │ │ │ ├── block: ∅
- │ │ │ │ │ │ │ │ └── flags: variable_call
- │ │ │ │ │ │ │ └── flags: ∅
- │ │ │ │ │ │ ├── closing_loc: ∅
- │ │ │ │ │ │ ├── block: ∅
- │ │ │ │ │ │ └── flags: ∅
- │ │ │ │ │ └── flags: ∅
- │ │ │ │ ├── closing_loc: (9,7)-(9,8) = ")"
- │ │ │ │ ├── block: ∅
- │ │ │ │ └── flags: ∅
- │ │ │ └── @ SymbolNode (location: (9,10)-(9,12))
- │ │ │ ├── opening_loc: (9,10)-(9,11) = ":"
- │ │ │ ├── value_loc: (9,11)-(9,12) = "e"
- │ │ │ ├── closing_loc: ∅
- │ │ │ └── unescaped: "e"
- │ │ └── flags: ∅
+ │ │ ├── flags: ∅
+ │ │ └── arguments: (length: 2)
+ │ │ ├── @ CallNode (location: (9,2)-(9,8))
+ │ │ │ ├── flags: ∅
+ │ │ │ ├── receiver: ∅
+ │ │ │ ├── call_operator_loc: ∅
+ │ │ │ ├── name: :b
+ │ │ │ ├── message_loc: (9,2)-(9,3) = "b"
+ │ │ │ ├── opening_loc: (9,3)-(9,4) = "("
+ │ │ │ ├── arguments:
+ │ │ │ │ @ ArgumentsNode (location: (9,4)-(9,7))
+ │ │ │ │ ├── flags: ∅
+ │ │ │ │ └── arguments: (length: 1)
+ │ │ │ │ └── @ CallNode (location: (9,4)-(9,7))
+ │ │ │ │ ├── flags: ∅
+ │ │ │ │ ├── receiver: ∅
+ │ │ │ │ ├── call_operator_loc: ∅
+ │ │ │ │ ├── name: :c
+ │ │ │ │ ├── message_loc: (9,4)-(9,5) = "c"
+ │ │ │ │ ├── opening_loc: ∅
+ │ │ │ │ ├── arguments:
+ │ │ │ │ │ @ ArgumentsNode (location: (9,6)-(9,7))
+ │ │ │ │ │ ├── flags: ∅
+ │ │ │ │ │ └── arguments: (length: 1)
+ │ │ │ │ │ └── @ CallNode (location: (9,6)-(9,7))
+ │ │ │ │ │ ├── flags: variable_call
+ │ │ │ │ │ ├── receiver: ∅
+ │ │ │ │ │ ├── call_operator_loc: ∅
+ │ │ │ │ │ ├── name: :d
+ │ │ │ │ │ ├── message_loc: (9,6)-(9,7) = "d"
+ │ │ │ │ │ ├── opening_loc: ∅
+ │ │ │ │ │ ├── arguments: ∅
+ │ │ │ │ │ ├── closing_loc: ∅
+ │ │ │ │ │ └── block: ∅
+ │ │ │ │ ├── closing_loc: ∅
+ │ │ │ │ └── block: ∅
+ │ │ │ ├── closing_loc: (9,7)-(9,8) = ")"
+ │ │ │ └── block: ∅
+ │ │ └── @ SymbolNode (location: (9,10)-(9,12))
+ │ │ ├── opening_loc: (9,10)-(9,11) = ":"
+ │ │ ├── value_loc: (9,11)-(9,12) = "e"
+ │ │ ├── closing_loc: ∅
+ │ │ └── unescaped: "e"
│ ├── closing_loc: ∅
- │ ├── block:
- │ │ @ BlockNode (location: (9,13)-(9,19))
- │ │ ├── locals: []
- │ │ ├── locals_body_index: 0
- │ │ ├── parameters: ∅
- │ │ ├── body: ∅
- │ │ ├── opening_loc: (9,13)-(9,15) = "do"
- │ │ └── closing_loc: (9,16)-(9,19) = "end"
- │ └── flags: ∅
+ │ └── block:
+ │ @ BlockNode (location: (9,13)-(9,19))
+ │ ├── locals: []
+ │ ├── locals_body_index: 0
+ │ ├── parameters: ∅
+ │ ├── body: ∅
+ │ ├── opening_loc: (9,13)-(9,15) = "do"
+ │ └── closing_loc: (9,16)-(9,19) = "end"
├── @ CallNode (location: (11,0)-(11,19))
+ │ ├── flags: ∅
│ ├── receiver: ∅
│ ├── call_operator_loc: ∅
│ ├── name: :a
@@ -305,57 +306,57 @@
│ ├── opening_loc: ∅
│ ├── arguments:
│ │ @ ArgumentsNode (location: (11,2)-(11,12))
- │ │ ├── arguments: (length: 2)
- │ │ │ ├── @ CallNode (location: (11,2)-(11,9))
- │ │ │ │ ├── receiver: ∅
- │ │ │ │ ├── call_operator_loc: ∅
- │ │ │ │ ├── name: :b
- │ │ │ │ ├── message_loc: (11,2)-(11,3) = "b"
- │ │ │ │ ├── opening_loc: (11,3)-(11,4) = "("
- │ │ │ │ ├── arguments:
- │ │ │ │ │ @ ArgumentsNode (location: (11,4)-(11,8))
- │ │ │ │ │ ├── arguments: (length: 1)
- │ │ │ │ │ │ └── @ CallNode (location: (11,4)-(11,8))
- │ │ │ │ │ │ ├── receiver: ∅
- │ │ │ │ │ │ ├── call_operator_loc: ∅
- │ │ │ │ │ │ ├── name: :c
- │ │ │ │ │ │ ├── message_loc: (11,4)-(11,5) = "c"
- │ │ │ │ │ │ ├── opening_loc: (11,5)-(11,6) = "("
- │ │ │ │ │ │ ├── arguments:
- │ │ │ │ │ │ │ @ ArgumentsNode (location: (11,6)-(11,7))
- │ │ │ │ │ │ │ ├── arguments: (length: 1)
- │ │ │ │ │ │ │ │ └── @ CallNode (location: (11,6)-(11,7))
- │ │ │ │ │ │ │ │ ├── receiver: ∅
- │ │ │ │ │ │ │ │ ├── call_operator_loc: ∅
- │ │ │ │ │ │ │ │ ├── name: :d
- │ │ │ │ │ │ │ │ ├── message_loc: (11,6)-(11,7) = "d"
- │ │ │ │ │ │ │ │ ├── opening_loc: ∅
- │ │ │ │ │ │ │ │ ├── arguments: ∅
- │ │ │ │ │ │ │ │ ├── closing_loc: ∅
- │ │ │ │ │ │ │ │ ├── block: ∅
- │ │ │ │ │ │ │ │ └── flags: variable_call
- │ │ │ │ │ │ │ └── flags: ∅
- │ │ │ │ │ │ ├── closing_loc: (11,7)-(11,8) = ")"
- │ │ │ │ │ │ ├── block: ∅
- │ │ │ │ │ │ └── flags: ∅
- │ │ │ │ │ └── flags: ∅
- │ │ │ │ ├── closing_loc: (11,8)-(11,9) = ")"
- │ │ │ │ ├── block: ∅
- │ │ │ │ └── flags: ∅
- │ │ │ └── @ IntegerNode (location: (11,11)-(11,12))
- │ │ │ └── flags: decimal
- │ │ └── flags: ∅
+ │ │ ├── flags: ∅
+ │ │ └── arguments: (length: 2)
+ │ │ ├── @ CallNode (location: (11,2)-(11,9))
+ │ │ │ ├── flags: ∅
+ │ │ │ ├── receiver: ∅
+ │ │ │ ├── call_operator_loc: ∅
+ │ │ │ ├── name: :b
+ │ │ │ ├── message_loc: (11,2)-(11,3) = "b"
+ │ │ │ ├── opening_loc: (11,3)-(11,4) = "("
+ │ │ │ ├── arguments:
+ │ │ │ │ @ ArgumentsNode (location: (11,4)-(11,8))
+ │ │ │ │ ├── flags: ∅
+ │ │ │ │ └── arguments: (length: 1)
+ │ │ │ │ └── @ CallNode (location: (11,4)-(11,8))
+ │ │ │ │ ├── flags: ∅
+ │ │ │ │ ├── receiver: ∅
+ │ │ │ │ ├── call_operator_loc: ∅
+ │ │ │ │ ├── name: :c
+ │ │ │ │ ├── message_loc: (11,4)-(11,5) = "c"
+ │ │ │ │ ├── opening_loc: (11,5)-(11,6) = "("
+ │ │ │ │ ├── arguments:
+ │ │ │ │ │ @ ArgumentsNode (location: (11,6)-(11,7))
+ │ │ │ │ │ ├── flags: ∅
+ │ │ │ │ │ └── arguments: (length: 1)
+ │ │ │ │ │ └── @ CallNode (location: (11,6)-(11,7))
+ │ │ │ │ │ ├── flags: variable_call
+ │ │ │ │ │ ├── receiver: ∅
+ │ │ │ │ │ ├── call_operator_loc: ∅
+ │ │ │ │ │ ├── name: :d
+ │ │ │ │ │ ├── message_loc: (11,6)-(11,7) = "d"
+ │ │ │ │ │ ├── opening_loc: ∅
+ │ │ │ │ │ ├── arguments: ∅
+ │ │ │ │ │ ├── closing_loc: ∅
+ │ │ │ │ │ └── block: ∅
+ │ │ │ │ ├── closing_loc: (11,7)-(11,8) = ")"
+ │ │ │ │ └── block: ∅
+ │ │ │ ├── closing_loc: (11,8)-(11,9) = ")"
+ │ │ │ └── block: ∅
+ │ │ └── @ IntegerNode (location: (11,11)-(11,12))
+ │ │ └── flags: decimal
│ ├── closing_loc: ∅
- │ ├── block:
- │ │ @ BlockNode (location: (11,13)-(11,19))
- │ │ ├── locals: []
- │ │ ├── locals_body_index: 0
- │ │ ├── parameters: ∅
- │ │ ├── body: ∅
- │ │ ├── opening_loc: (11,13)-(11,15) = "do"
- │ │ └── closing_loc: (11,16)-(11,19) = "end"
- │ └── flags: ∅
+ │ └── block:
+ │ @ BlockNode (location: (11,13)-(11,19))
+ │ ├── locals: []
+ │ ├── locals_body_index: 0
+ │ ├── parameters: ∅
+ │ ├── body: ∅
+ │ ├── opening_loc: (11,13)-(11,15) = "do"
+ │ └── closing_loc: (11,16)-(11,19) = "end"
├── @ CallNode (location: (13,0)-(13,21))
+ │ ├── flags: ∅
│ ├── receiver: ∅
│ ├── call_operator_loc: ∅
│ ├── name: :a
@@ -363,56 +364,56 @@
│ ├── opening_loc: ∅
│ ├── arguments:
│ │ @ ArgumentsNode (location: (13,2)-(13,14))
- │ │ ├── arguments: (length: 2)
- │ │ │ ├── @ CallNode (location: (13,2)-(13,9))
- │ │ │ │ ├── receiver: ∅
- │ │ │ │ ├── call_operator_loc: ∅
- │ │ │ │ ├── name: :b
- │ │ │ │ ├── message_loc: (13,2)-(13,3) = "b"
- │ │ │ │ ├── opening_loc: (13,3)-(13,4) = "("
- │ │ │ │ ├── arguments:
- │ │ │ │ │ @ ArgumentsNode (location: (13,4)-(13,8))
- │ │ │ │ │ ├── arguments: (length: 1)
- │ │ │ │ │ │ └── @ CallNode (location: (13,4)-(13,8))
- │ │ │ │ │ │ ├── receiver: ∅
- │ │ │ │ │ │ ├── call_operator_loc: ∅
- │ │ │ │ │ │ ├── name: :c
- │ │ │ │ │ │ ├── message_loc: (13,4)-(13,5) = "c"
- │ │ │ │ │ │ ├── opening_loc: (13,5)-(13,6) = "("
- │ │ │ │ │ │ ├── arguments:
- │ │ │ │ │ │ │ @ ArgumentsNode (location: (13,6)-(13,7))
- │ │ │ │ │ │ │ ├── arguments: (length: 1)
- │ │ │ │ │ │ │ │ └── @ CallNode (location: (13,6)-(13,7))
- │ │ │ │ │ │ │ │ ├── receiver: ∅
- │ │ │ │ │ │ │ │ ├── call_operator_loc: ∅
- │ │ │ │ │ │ │ │ ├── name: :d
- │ │ │ │ │ │ │ │ ├── message_loc: (13,6)-(13,7) = "d"
- │ │ │ │ │ │ │ │ ├── opening_loc: ∅
- │ │ │ │ │ │ │ │ ├── arguments: ∅
- │ │ │ │ │ │ │ │ ├── closing_loc: ∅
- │ │ │ │ │ │ │ │ ├── block: ∅
- │ │ │ │ │ │ │ │ └── flags: variable_call
- │ │ │ │ │ │ │ └── flags: ∅
- │ │ │ │ │ │ ├── closing_loc: (13,7)-(13,8) = ")"
- │ │ │ │ │ │ ├── block: ∅
- │ │ │ │ │ │ └── flags: ∅
- │ │ │ │ │ └── flags: ∅
- │ │ │ │ ├── closing_loc: (13,8)-(13,9) = ")"
- │ │ │ │ ├── block: ∅
- │ │ │ │ └── flags: ∅
- │ │ │ └── @ FloatNode (location: (13,11)-(13,14))
- │ │ └── flags: ∅
+ │ │ ├── flags: ∅
+ │ │ └── arguments: (length: 2)
+ │ │ ├── @ CallNode (location: (13,2)-(13,9))
+ │ │ │ ├── flags: ∅
+ │ │ │ ├── receiver: ∅
+ │ │ │ ├── call_operator_loc: ∅
+ │ │ │ ├── name: :b
+ │ │ │ ├── message_loc: (13,2)-(13,3) = "b"
+ │ │ │ ├── opening_loc: (13,3)-(13,4) = "("
+ │ │ │ ├── arguments:
+ │ │ │ │ @ ArgumentsNode (location: (13,4)-(13,8))
+ │ │ │ │ ├── flags: ∅
+ │ │ │ │ └── arguments: (length: 1)
+ │ │ │ │ └── @ CallNode (location: (13,4)-(13,8))
+ │ │ │ │ ├── flags: ∅
+ │ │ │ │ ├── receiver: ∅
+ │ │ │ │ ├── call_operator_loc: ∅
+ │ │ │ │ ├── name: :c
+ │ │ │ │ ├── message_loc: (13,4)-(13,5) = "c"
+ │ │ │ │ ├── opening_loc: (13,5)-(13,6) = "("
+ │ │ │ │ ├── arguments:
+ │ │ │ │ │ @ ArgumentsNode (location: (13,6)-(13,7))
+ │ │ │ │ │ ├── flags: ∅
+ │ │ │ │ │ └── arguments: (length: 1)
+ │ │ │ │ │ └── @ CallNode (location: (13,6)-(13,7))
+ │ │ │ │ │ ├── flags: variable_call
+ │ │ │ │ │ ├── receiver: ∅
+ │ │ │ │ │ ├── call_operator_loc: ∅
+ │ │ │ │ │ ├── name: :d
+ │ │ │ │ │ ├── message_loc: (13,6)-(13,7) = "d"
+ │ │ │ │ │ ├── opening_loc: ∅
+ │ │ │ │ │ ├── arguments: ∅
+ │ │ │ │ │ ├── closing_loc: ∅
+ │ │ │ │ │ └── block: ∅
+ │ │ │ │ ├── closing_loc: (13,7)-(13,8) = ")"
+ │ │ │ │ └── block: ∅
+ │ │ │ ├── closing_loc: (13,8)-(13,9) = ")"
+ │ │ │ └── block: ∅
+ │ │ └── @ FloatNode (location: (13,11)-(13,14))
│ ├── closing_loc: ∅
- │ ├── block:
- │ │ @ BlockNode (location: (13,15)-(13,21))
- │ │ ├── locals: []
- │ │ ├── locals_body_index: 0
- │ │ ├── parameters: ∅
- │ │ ├── body: ∅
- │ │ ├── opening_loc: (13,15)-(13,17) = "do"
- │ │ └── closing_loc: (13,18)-(13,21) = "end"
- │ └── flags: ∅
+ │ └── block:
+ │ @ BlockNode (location: (13,15)-(13,21))
+ │ ├── locals: []
+ │ ├── locals_body_index: 0
+ │ ├── parameters: ∅
+ │ ├── body: ∅
+ │ ├── opening_loc: (13,15)-(13,17) = "do"
+ │ └── closing_loc: (13,18)-(13,21) = "end"
├── @ CallNode (location: (15,0)-(15,22))
+ │ ├── flags: ∅
│ ├── receiver: ∅
│ ├── call_operator_loc: ∅
│ ├── name: :a
@@ -420,58 +421,58 @@
│ ├── opening_loc: ∅
│ ├── arguments:
│ │ @ ArgumentsNode (location: (15,2)-(15,15))
- │ │ ├── arguments: (length: 2)
- │ │ │ ├── @ CallNode (location: (15,2)-(15,9))
- │ │ │ │ ├── receiver: ∅
- │ │ │ │ ├── call_operator_loc: ∅
- │ │ │ │ ├── name: :b
- │ │ │ │ ├── message_loc: (15,2)-(15,3) = "b"
- │ │ │ │ ├── opening_loc: (15,3)-(15,4) = "("
- │ │ │ │ ├── arguments:
- │ │ │ │ │ @ ArgumentsNode (location: (15,4)-(15,8))
- │ │ │ │ │ ├── arguments: (length: 1)
- │ │ │ │ │ │ └── @ CallNode (location: (15,4)-(15,8))
- │ │ │ │ │ │ ├── receiver: ∅
- │ │ │ │ │ │ ├── call_operator_loc: ∅
- │ │ │ │ │ │ ├── name: :c
- │ │ │ │ │ │ ├── message_loc: (15,4)-(15,5) = "c"
- │ │ │ │ │ │ ├── opening_loc: (15,5)-(15,6) = "("
- │ │ │ │ │ │ ├── arguments:
- │ │ │ │ │ │ │ @ ArgumentsNode (location: (15,6)-(15,7))
- │ │ │ │ │ │ │ ├── arguments: (length: 1)
- │ │ │ │ │ │ │ │ └── @ CallNode (location: (15,6)-(15,7))
- │ │ │ │ │ │ │ │ ├── receiver: ∅
- │ │ │ │ │ │ │ │ ├── call_operator_loc: ∅
- │ │ │ │ │ │ │ │ ├── name: :d
- │ │ │ │ │ │ │ │ ├── message_loc: (15,6)-(15,7) = "d"
- │ │ │ │ │ │ │ │ ├── opening_loc: ∅
- │ │ │ │ │ │ │ │ ├── arguments: ∅
- │ │ │ │ │ │ │ │ ├── closing_loc: ∅
- │ │ │ │ │ │ │ │ ├── block: ∅
- │ │ │ │ │ │ │ │ └── flags: variable_call
- │ │ │ │ │ │ │ └── flags: ∅
- │ │ │ │ │ │ ├── closing_loc: (15,7)-(15,8) = ")"
- │ │ │ │ │ │ ├── block: ∅
- │ │ │ │ │ │ └── flags: ∅
- │ │ │ │ │ └── flags: ∅
- │ │ │ │ ├── closing_loc: (15,8)-(15,9) = ")"
- │ │ │ │ ├── block: ∅
- │ │ │ │ └── flags: ∅
- │ │ │ └── @ ImaginaryNode (location: (15,11)-(15,15))
- │ │ │ └── numeric:
- │ │ │ @ FloatNode (location: (15,11)-(15,14))
- │ │ └── flags: ∅
+ │ │ ├── flags: ∅
+ │ │ └── arguments: (length: 2)
+ │ │ ├── @ CallNode (location: (15,2)-(15,9))
+ │ │ │ ├── flags: ∅
+ │ │ │ ├── receiver: ∅
+ │ │ │ ├── call_operator_loc: ∅
+ │ │ │ ├── name: :b
+ │ │ │ ├── message_loc: (15,2)-(15,3) = "b"
+ │ │ │ ├── opening_loc: (15,3)-(15,4) = "("
+ │ │ │ ├── arguments:
+ │ │ │ │ @ ArgumentsNode (location: (15,4)-(15,8))
+ │ │ │ │ ├── flags: ∅
+ │ │ │ │ └── arguments: (length: 1)
+ │ │ │ │ └── @ CallNode (location: (15,4)-(15,8))
+ │ │ │ │ ├── flags: ∅
+ │ │ │ │ ├── receiver: ∅
+ │ │ │ │ ├── call_operator_loc: ∅
+ │ │ │ │ ├── name: :c
+ │ │ │ │ ├── message_loc: (15,4)-(15,5) = "c"
+ │ │ │ │ ├── opening_loc: (15,5)-(15,6) = "("
+ │ │ │ │ ├── arguments:
+ │ │ │ │ │ @ ArgumentsNode (location: (15,6)-(15,7))
+ │ │ │ │ │ ├── flags: ∅
+ │ │ │ │ │ └── arguments: (length: 1)
+ │ │ │ │ │ └── @ CallNode (location: (15,6)-(15,7))
+ │ │ │ │ │ ├── flags: variable_call
+ │ │ │ │ │ ├── receiver: ∅
+ │ │ │ │ │ ├── call_operator_loc: ∅
+ │ │ │ │ │ ├── name: :d
+ │ │ │ │ │ ├── message_loc: (15,6)-(15,7) = "d"
+ │ │ │ │ │ ├── opening_loc: ∅
+ │ │ │ │ │ ├── arguments: ∅
+ │ │ │ │ │ ├── closing_loc: ∅
+ │ │ │ │ │ └── block: ∅
+ │ │ │ │ ├── closing_loc: (15,7)-(15,8) = ")"
+ │ │ │ │ └── block: ∅
+ │ │ │ ├── closing_loc: (15,8)-(15,9) = ")"
+ │ │ │ └── block: ∅
+ │ │ └── @ ImaginaryNode (location: (15,11)-(15,15))
+ │ │ └── numeric:
+ │ │ @ FloatNode (location: (15,11)-(15,14))
│ ├── closing_loc: ∅
- │ ├── block:
- │ │ @ BlockNode (location: (15,16)-(15,22))
- │ │ ├── locals: []
- │ │ ├── locals_body_index: 0
- │ │ ├── parameters: ∅
- │ │ ├── body: ∅
- │ │ ├── opening_loc: (15,16)-(15,18) = "do"
- │ │ └── closing_loc: (15,19)-(15,22) = "end"
- │ └── flags: ∅
+ │ └── block:
+ │ @ BlockNode (location: (15,16)-(15,22))
+ │ ├── locals: []
+ │ ├── locals_body_index: 0
+ │ ├── parameters: ∅
+ │ ├── body: ∅
+ │ ├── opening_loc: (15,16)-(15,18) = "do"
+ │ └── closing_loc: (15,19)-(15,22) = "end"
├── @ CallNode (location: (17,0)-(17,22))
+ │ ├── flags: ∅
│ ├── receiver: ∅
│ ├── call_operator_loc: ∅
│ ├── name: :a
@@ -479,58 +480,58 @@
│ ├── opening_loc: ∅
│ ├── arguments:
│ │ @ ArgumentsNode (location: (17,2)-(17,15))
- │ │ ├── arguments: (length: 2)
- │ │ │ ├── @ CallNode (location: (17,2)-(17,9))
- │ │ │ │ ├── receiver: ∅
- │ │ │ │ ├── call_operator_loc: ∅
- │ │ │ │ ├── name: :b
- │ │ │ │ ├── message_loc: (17,2)-(17,3) = "b"
- │ │ │ │ ├── opening_loc: (17,3)-(17,4) = "("
- │ │ │ │ ├── arguments:
- │ │ │ │ │ @ ArgumentsNode (location: (17,4)-(17,8))
- │ │ │ │ │ ├── arguments: (length: 1)
- │ │ │ │ │ │ └── @ CallNode (location: (17,4)-(17,8))
- │ │ │ │ │ │ ├── receiver: ∅
- │ │ │ │ │ │ ├── call_operator_loc: ∅
- │ │ │ │ │ │ ├── name: :c
- │ │ │ │ │ │ ├── message_loc: (17,4)-(17,5) = "c"
- │ │ │ │ │ │ ├── opening_loc: (17,5)-(17,6) = "("
- │ │ │ │ │ │ ├── arguments:
- │ │ │ │ │ │ │ @ ArgumentsNode (location: (17,6)-(17,7))
- │ │ │ │ │ │ │ ├── arguments: (length: 1)
- │ │ │ │ │ │ │ │ └── @ CallNode (location: (17,6)-(17,7))
- │ │ │ │ │ │ │ │ ├── receiver: ∅
- │ │ │ │ │ │ │ │ ├── call_operator_loc: ∅
- │ │ │ │ │ │ │ │ ├── name: :d
- │ │ │ │ │ │ │ │ ├── message_loc: (17,6)-(17,7) = "d"
- │ │ │ │ │ │ │ │ ├── opening_loc: ∅
- │ │ │ │ │ │ │ │ ├── arguments: ∅
- │ │ │ │ │ │ │ │ ├── closing_loc: ∅
- │ │ │ │ │ │ │ │ ├── block: ∅
- │ │ │ │ │ │ │ │ └── flags: variable_call
- │ │ │ │ │ │ │ └── flags: ∅
- │ │ │ │ │ │ ├── closing_loc: (17,7)-(17,8) = ")"
- │ │ │ │ │ │ ├── block: ∅
- │ │ │ │ │ │ └── flags: ∅
- │ │ │ │ │ └── flags: ∅
- │ │ │ │ ├── closing_loc: (17,8)-(17,9) = ")"
- │ │ │ │ ├── block: ∅
- │ │ │ │ └── flags: ∅
- │ │ │ └── @ RationalNode (location: (17,11)-(17,15))
- │ │ │ └── numeric:
- │ │ │ @ FloatNode (location: (17,11)-(17,14))
- │ │ └── flags: ∅
+ │ │ ├── flags: ∅
+ │ │ └── arguments: (length: 2)
+ │ │ ├── @ CallNode (location: (17,2)-(17,9))
+ │ │ │ ├── flags: ∅
+ │ │ │ ├── receiver: ∅
+ │ │ │ ├── call_operator_loc: ∅
+ │ │ │ ├── name: :b
+ │ │ │ ├── message_loc: (17,2)-(17,3) = "b"
+ │ │ │ ├── opening_loc: (17,3)-(17,4) = "("
+ │ │ │ ├── arguments:
+ │ │ │ │ @ ArgumentsNode (location: (17,4)-(17,8))
+ │ │ │ │ ├── flags: ∅
+ │ │ │ │ └── arguments: (length: 1)
+ │ │ │ │ └── @ CallNode (location: (17,4)-(17,8))
+ │ │ │ │ ├── flags: ∅
+ │ │ │ │ ├── receiver: ∅
+ │ │ │ │ ├── call_operator_loc: ∅
+ │ │ │ │ ├── name: :c
+ │ │ │ │ ├── message_loc: (17,4)-(17,5) = "c"
+ │ │ │ │ ├── opening_loc: (17,5)-(17,6) = "("
+ │ │ │ │ ├── arguments:
+ │ │ │ │ │ @ ArgumentsNode (location: (17,6)-(17,7))
+ │ │ │ │ │ ├── flags: ∅
+ │ │ │ │ │ └── arguments: (length: 1)
+ │ │ │ │ │ └── @ CallNode (location: (17,6)-(17,7))
+ │ │ │ │ │ ├── flags: variable_call
+ │ │ │ │ │ ├── receiver: ∅
+ │ │ │ │ │ ├── call_operator_loc: ∅
+ │ │ │ │ │ ├── name: :d
+ │ │ │ │ │ ├── message_loc: (17,6)-(17,7) = "d"
+ │ │ │ │ │ ├── opening_loc: ∅
+ │ │ │ │ │ ├── arguments: ∅
+ │ │ │ │ │ ├── closing_loc: ∅
+ │ │ │ │ │ └── block: ∅
+ │ │ │ │ ├── closing_loc: (17,7)-(17,8) = ")"
+ │ │ │ │ └── block: ∅
+ │ │ │ ├── closing_loc: (17,8)-(17,9) = ")"
+ │ │ │ └── block: ∅
+ │ │ └── @ RationalNode (location: (17,11)-(17,15))
+ │ │ └── numeric:
+ │ │ @ FloatNode (location: (17,11)-(17,14))
│ ├── closing_loc: ∅
- │ ├── block:
- │ │ @ BlockNode (location: (17,16)-(17,22))
- │ │ ├── locals: []
- │ │ ├── locals_body_index: 0
- │ │ ├── parameters: ∅
- │ │ ├── body: ∅
- │ │ ├── opening_loc: (17,16)-(17,18) = "do"
- │ │ └── closing_loc: (17,19)-(17,22) = "end"
- │ └── flags: ∅
+ │ └── block:
+ │ @ BlockNode (location: (17,16)-(17,22))
+ │ ├── locals: []
+ │ ├── locals_body_index: 0
+ │ ├── parameters: ∅
+ │ ├── body: ∅
+ │ ├── opening_loc: (17,16)-(17,18) = "do"
+ │ └── closing_loc: (17,19)-(17,22) = "end"
├── @ CallNode (location: (19,0)-(19,20))
+ │ ├── flags: ∅
│ ├── receiver: ∅
│ ├── call_operator_loc: ∅
│ ├── name: :a
@@ -538,60 +539,60 @@
│ ├── opening_loc: ∅
│ ├── arguments:
│ │ @ ArgumentsNode (location: (19,2)-(19,13))
- │ │ ├── arguments: (length: 2)
- │ │ │ ├── @ CallNode (location: (19,2)-(19,9))
- │ │ │ │ ├── receiver: ∅
- │ │ │ │ ├── call_operator_loc: ∅
- │ │ │ │ ├── name: :b
- │ │ │ │ ├── message_loc: (19,2)-(19,3) = "b"
- │ │ │ │ ├── opening_loc: (19,3)-(19,4) = "("
- │ │ │ │ ├── arguments:
- │ │ │ │ │ @ ArgumentsNode (location: (19,4)-(19,8))
- │ │ │ │ │ ├── arguments: (length: 1)
- │ │ │ │ │ │ └── @ CallNode (location: (19,4)-(19,8))
- │ │ │ │ │ │ ├── receiver: ∅
- │ │ │ │ │ │ ├── call_operator_loc: ∅
- │ │ │ │ │ │ ├── name: :c
- │ │ │ │ │ │ ├── message_loc: (19,4)-(19,5) = "c"
- │ │ │ │ │ │ ├── opening_loc: (19,5)-(19,6) = "("
- │ │ │ │ │ │ ├── arguments:
- │ │ │ │ │ │ │ @ ArgumentsNode (location: (19,6)-(19,7))
- │ │ │ │ │ │ │ ├── arguments: (length: 1)
- │ │ │ │ │ │ │ │ └── @ CallNode (location: (19,6)-(19,7))
- │ │ │ │ │ │ │ │ ├── receiver: ∅
- │ │ │ │ │ │ │ │ ├── call_operator_loc: ∅
- │ │ │ │ │ │ │ │ ├── name: :d
- │ │ │ │ │ │ │ │ ├── message_loc: (19,6)-(19,7) = "d"
- │ │ │ │ │ │ │ │ ├── opening_loc: ∅
- │ │ │ │ │ │ │ │ ├── arguments: ∅
- │ │ │ │ │ │ │ │ ├── closing_loc: ∅
- │ │ │ │ │ │ │ │ ├── block: ∅
- │ │ │ │ │ │ │ │ └── flags: variable_call
- │ │ │ │ │ │ │ └── flags: ∅
- │ │ │ │ │ │ ├── closing_loc: (19,7)-(19,8) = ")"
- │ │ │ │ │ │ ├── block: ∅
- │ │ │ │ │ │ └── flags: ∅
- │ │ │ │ │ └── flags: ∅
- │ │ │ │ ├── closing_loc: (19,8)-(19,9) = ")"
- │ │ │ │ ├── block: ∅
- │ │ │ │ └── flags: ∅
- │ │ │ └── @ SymbolNode (location: (19,11)-(19,13))
- │ │ │ ├── opening_loc: (19,11)-(19,12) = ":"
- │ │ │ ├── value_loc: (19,12)-(19,13) = "e"
- │ │ │ ├── closing_loc: ∅
- │ │ │ └── unescaped: "e"
- │ │ └── flags: ∅
+ │ │ ├── flags: ∅
+ │ │ └── arguments: (length: 2)
+ │ │ ├── @ CallNode (location: (19,2)-(19,9))
+ │ │ │ ├── flags: ∅
+ │ │ │ ├── receiver: ∅
+ │ │ │ ├── call_operator_loc: ∅
+ │ │ │ ├── name: :b
+ │ │ │ ├── message_loc: (19,2)-(19,3) = "b"
+ │ │ │ ├── opening_loc: (19,3)-(19,4) = "("
+ │ │ │ ├── arguments:
+ │ │ │ │ @ ArgumentsNode (location: (19,4)-(19,8))
+ │ │ │ │ ├── flags: ∅
+ │ │ │ │ └── arguments: (length: 1)
+ │ │ │ │ └── @ CallNode (location: (19,4)-(19,8))
+ │ │ │ │ ├── flags: ∅
+ │ │ │ │ ├── receiver: ∅
+ │ │ │ │ ├── call_operator_loc: ∅
+ │ │ │ │ ├── name: :c
+ │ │ │ │ ├── message_loc: (19,4)-(19,5) = "c"
+ │ │ │ │ ├── opening_loc: (19,5)-(19,6) = "("
+ │ │ │ │ ├── arguments:
+ │ │ │ │ │ @ ArgumentsNode (location: (19,6)-(19,7))
+ │ │ │ │ │ ├── flags: ∅
+ │ │ │ │ │ └── arguments: (length: 1)
+ │ │ │ │ │ └── @ CallNode (location: (19,6)-(19,7))
+ │ │ │ │ │ ├── flags: variable_call
+ │ │ │ │ │ ├── receiver: ∅
+ │ │ │ │ │ ├── call_operator_loc: ∅
+ │ │ │ │ │ ├── name: :d
+ │ │ │ │ │ ├── message_loc: (19,6)-(19,7) = "d"
+ │ │ │ │ │ ├── opening_loc: ∅
+ │ │ │ │ │ ├── arguments: ∅
+ │ │ │ │ │ ├── closing_loc: ∅
+ │ │ │ │ │ └── block: ∅
+ │ │ │ │ ├── closing_loc: (19,7)-(19,8) = ")"
+ │ │ │ │ └── block: ∅
+ │ │ │ ├── closing_loc: (19,8)-(19,9) = ")"
+ │ │ │ └── block: ∅
+ │ │ └── @ SymbolNode (location: (19,11)-(19,13))
+ │ │ ├── opening_loc: (19,11)-(19,12) = ":"
+ │ │ ├── value_loc: (19,12)-(19,13) = "e"
+ │ │ ├── closing_loc: ∅
+ │ │ └── unescaped: "e"
│ ├── closing_loc: ∅
- │ ├── block:
- │ │ @ BlockNode (location: (19,14)-(19,20))
- │ │ ├── locals: []
- │ │ ├── locals_body_index: 0
- │ │ ├── parameters: ∅
- │ │ ├── body: ∅
- │ │ ├── opening_loc: (19,14)-(19,16) = "do"
- │ │ └── closing_loc: (19,17)-(19,20) = "end"
- │ └── flags: ∅
+ │ └── block:
+ │ @ BlockNode (location: (19,14)-(19,20))
+ │ ├── locals: []
+ │ ├── locals_body_index: 0
+ │ ├── parameters: ∅
+ │ ├── body: ∅
+ │ ├── opening_loc: (19,14)-(19,16) = "do"
+ │ └── closing_loc: (19,17)-(19,20) = "end"
├── @ CallNode (location: (21,0)-(21,18))
+ │ ├── flags: ∅
│ ├── receiver: ∅
│ ├── call_operator_loc: ∅
│ ├── name: :a
@@ -599,63 +600,63 @@
│ ├── opening_loc: ∅
│ ├── arguments:
│ │ @ ArgumentsNode (location: (21,2)-(21,11))
- │ │ ├── arguments: (length: 2)
- │ │ │ ├── @ CallNode (location: (21,2)-(21,8))
- │ │ │ │ ├── receiver: ∅
- │ │ │ │ ├── call_operator_loc: ∅
- │ │ │ │ ├── name: :b
- │ │ │ │ ├── message_loc: (21,2)-(21,3) = "b"
- │ │ │ │ ├── opening_loc: ∅
- │ │ │ │ ├── arguments: ∅
- │ │ │ │ ├── closing_loc: ∅
- │ │ │ │ ├── block:
- │ │ │ │ │ @ BlockNode (location: (21,3)-(21,8))
- │ │ │ │ │ ├── locals: []
- │ │ │ │ │ ├── locals_body_index: 0
- │ │ │ │ │ ├── parameters: ∅
- │ │ │ │ │ ├── body:
- │ │ │ │ │ │ @ StatementsNode (location: (21,4)-(21,7))
- │ │ │ │ │ │ └── body: (length: 1)
- │ │ │ │ │ │ └── @ CallNode (location: (21,4)-(21,7))
- │ │ │ │ │ │ ├── receiver: ∅
- │ │ │ │ │ │ ├── call_operator_loc: ∅
- │ │ │ │ │ │ ├── name: :c
- │ │ │ │ │ │ ├── message_loc: (21,4)-(21,5) = "c"
- │ │ │ │ │ │ ├── opening_loc: ∅
- │ │ │ │ │ │ ├── arguments:
- │ │ │ │ │ │ │ @ ArgumentsNode (location: (21,6)-(21,7))
- │ │ │ │ │ │ │ ├── arguments: (length: 1)
- │ │ │ │ │ │ │ │ └── @ CallNode (location: (21,6)-(21,7))
- │ │ │ │ │ │ │ │ ├── receiver: ∅
- │ │ │ │ │ │ │ │ ├── call_operator_loc: ∅
- │ │ │ │ │ │ │ │ ├── name: :d
- │ │ │ │ │ │ │ │ ├── message_loc: (21,6)-(21,7) = "d"
- │ │ │ │ │ │ │ │ ├── opening_loc: ∅
- │ │ │ │ │ │ │ │ ├── arguments: ∅
- │ │ │ │ │ │ │ │ ├── closing_loc: ∅
- │ │ │ │ │ │ │ │ ├── block: ∅
- │ │ │ │ │ │ │ │ └── flags: variable_call
- │ │ │ │ │ │ │ └── flags: ∅
- │ │ │ │ │ │ ├── closing_loc: ∅
- │ │ │ │ │ │ ├── block: ∅
- │ │ │ │ │ │ └── flags: ∅
- │ │ │ │ │ ├── opening_loc: (21,3)-(21,4) = "{"
- │ │ │ │ │ └── closing_loc: (21,7)-(21,8) = "}"
- │ │ │ │ └── flags: ∅
- │ │ │ └── @ IntegerNode (location: (21,10)-(21,11))
- │ │ │ └── flags: decimal
- │ │ └── flags: ∅
+ │ │ ├── flags: ∅
+ │ │ └── arguments: (length: 2)
+ │ │ ├── @ CallNode (location: (21,2)-(21,8))
+ │ │ │ ├── flags: ∅
+ │ │ │ ├── receiver: ∅
+ │ │ │ ├── call_operator_loc: ∅
+ │ │ │ ├── name: :b
+ │ │ │ ├── message_loc: (21,2)-(21,3) = "b"
+ │ │ │ ├── opening_loc: ∅
+ │ │ │ ├── arguments: ∅
+ │ │ │ ├── closing_loc: ∅
+ │ │ │ └── block:
+ │ │ │ @ BlockNode (location: (21,3)-(21,8))
+ │ │ │ ├── locals: []
+ │ │ │ ├── locals_body_index: 0
+ │ │ │ ├── parameters: ∅
+ │ │ │ ├── body:
+ │ │ │ │ @ StatementsNode (location: (21,4)-(21,7))
+ │ │ │ │ └── body: (length: 1)
+ │ │ │ │ └── @ CallNode (location: (21,4)-(21,7))
+ │ │ │ │ ├── flags: ∅
+ │ │ │ │ ├── receiver: ∅
+ │ │ │ │ ├── call_operator_loc: ∅
+ │ │ │ │ ├── name: :c
+ │ │ │ │ ├── message_loc: (21,4)-(21,5) = "c"
+ │ │ │ │ ├── opening_loc: ∅
+ │ │ │ │ ├── arguments:
+ │ │ │ │ │ @ ArgumentsNode (location: (21,6)-(21,7))
+ │ │ │ │ │ ├── flags: ∅
+ │ │ │ │ │ └── arguments: (length: 1)
+ │ │ │ │ │ └── @ CallNode (location: (21,6)-(21,7))
+ │ │ │ │ │ ├── flags: variable_call
+ │ │ │ │ │ ├── receiver: ∅
+ │ │ │ │ │ ├── call_operator_loc: ∅
+ │ │ │ │ │ ├── name: :d
+ │ │ │ │ │ ├── message_loc: (21,6)-(21,7) = "d"
+ │ │ │ │ │ ├── opening_loc: ∅
+ │ │ │ │ │ ├── arguments: ∅
+ │ │ │ │ │ ├── closing_loc: ∅
+ │ │ │ │ │ └── block: ∅
+ │ │ │ │ ├── closing_loc: ∅
+ │ │ │ │ └── block: ∅
+ │ │ │ ├── opening_loc: (21,3)-(21,4) = "{"
+ │ │ │ └── closing_loc: (21,7)-(21,8) = "}"
+ │ │ └── @ IntegerNode (location: (21,10)-(21,11))
+ │ │ └── flags: decimal
│ ├── closing_loc: ∅
- │ ├── block:
- │ │ @ BlockNode (location: (21,12)-(21,18))
- │ │ ├── locals: []
- │ │ ├── locals_body_index: 0
- │ │ ├── parameters: ∅
- │ │ ├── body: ∅
- │ │ ├── opening_loc: (21,12)-(21,14) = "do"
- │ │ └── closing_loc: (21,15)-(21,18) = "end"
- │ └── flags: ∅
+ │ └── block:
+ │ @ BlockNode (location: (21,12)-(21,18))
+ │ ├── locals: []
+ │ ├── locals_body_index: 0
+ │ ├── parameters: ∅
+ │ ├── body: ∅
+ │ ├── opening_loc: (21,12)-(21,14) = "do"
+ │ └── closing_loc: (21,15)-(21,18) = "end"
├── @ CallNode (location: (23,0)-(23,20))
+ │ ├── flags: ∅
│ ├── receiver: ∅
│ ├── call_operator_loc: ∅
│ ├── name: :a
@@ -663,62 +664,62 @@
│ ├── opening_loc: ∅
│ ├── arguments:
│ │ @ ArgumentsNode (location: (23,2)-(23,13))
- │ │ ├── arguments: (length: 2)
- │ │ │ ├── @ CallNode (location: (23,2)-(23,8))
- │ │ │ │ ├── receiver: ∅
- │ │ │ │ ├── call_operator_loc: ∅
- │ │ │ │ ├── name: :b
- │ │ │ │ ├── message_loc: (23,2)-(23,3) = "b"
- │ │ │ │ ├── opening_loc: ∅
- │ │ │ │ ├── arguments: ∅
- │ │ │ │ ├── closing_loc: ∅
- │ │ │ │ ├── block:
- │ │ │ │ │ @ BlockNode (location: (23,3)-(23,8))
- │ │ │ │ │ ├── locals: []
- │ │ │ │ │ ├── locals_body_index: 0
- │ │ │ │ │ ├── parameters: ∅
- │ │ │ │ │ ├── body:
- │ │ │ │ │ │ @ StatementsNode (location: (23,4)-(23,7))
- │ │ │ │ │ │ └── body: (length: 1)
- │ │ │ │ │ │ └── @ CallNode (location: (23,4)-(23,7))
- │ │ │ │ │ │ ├── receiver: ∅
- │ │ │ │ │ │ ├── call_operator_loc: ∅
- │ │ │ │ │ │ ├── name: :c
- │ │ │ │ │ │ ├── message_loc: (23,4)-(23,5) = "c"
- │ │ │ │ │ │ ├── opening_loc: ∅
- │ │ │ │ │ │ ├── arguments:
- │ │ │ │ │ │ │ @ ArgumentsNode (location: (23,6)-(23,7))
- │ │ │ │ │ │ │ ├── arguments: (length: 1)
- │ │ │ │ │ │ │ │ └── @ CallNode (location: (23,6)-(23,7))
- │ │ │ │ │ │ │ │ ├── receiver: ∅
- │ │ │ │ │ │ │ │ ├── call_operator_loc: ∅
- │ │ │ │ │ │ │ │ ├── name: :d
- │ │ │ │ │ │ │ │ ├── message_loc: (23,6)-(23,7) = "d"
- │ │ │ │ │ │ │ │ ├── opening_loc: ∅
- │ │ │ │ │ │ │ │ ├── arguments: ∅
- │ │ │ │ │ │ │ │ ├── closing_loc: ∅
- │ │ │ │ │ │ │ │ ├── block: ∅
- │ │ │ │ │ │ │ │ └── flags: variable_call
- │ │ │ │ │ │ │ └── flags: ∅
- │ │ │ │ │ │ ├── closing_loc: ∅
- │ │ │ │ │ │ ├── block: ∅
- │ │ │ │ │ │ └── flags: ∅
- │ │ │ │ │ ├── opening_loc: (23,3)-(23,4) = "{"
- │ │ │ │ │ └── closing_loc: (23,7)-(23,8) = "}"
- │ │ │ │ └── flags: ∅
- │ │ │ └── @ FloatNode (location: (23,10)-(23,13))
- │ │ └── flags: ∅
+ │ │ ├── flags: ∅
+ │ │ └── arguments: (length: 2)
+ │ │ ├── @ CallNode (location: (23,2)-(23,8))
+ │ │ │ ├── flags: ∅
+ │ │ │ ├── receiver: ∅
+ │ │ │ ├── call_operator_loc: ∅
+ │ │ │ ├── name: :b
+ │ │ │ ├── message_loc: (23,2)-(23,3) = "b"
+ │ │ │ ├── opening_loc: ∅
+ │ │ │ ├── arguments: ∅
+ │ │ │ ├── closing_loc: ∅
+ │ │ │ └── block:
+ │ │ │ @ BlockNode (location: (23,3)-(23,8))
+ │ │ │ ├── locals: []
+ │ │ │ ├── locals_body_index: 0
+ │ │ │ ├── parameters: ∅
+ │ │ │ ├── body:
+ │ │ │ │ @ StatementsNode (location: (23,4)-(23,7))
+ │ │ │ │ └── body: (length: 1)
+ │ │ │ │ └── @ CallNode (location: (23,4)-(23,7))
+ │ │ │ │ ├── flags: ∅
+ │ │ │ │ ├── receiver: ∅
+ │ │ │ │ ├── call_operator_loc: ∅
+ │ │ │ │ ├── name: :c
+ │ │ │ │ ├── message_loc: (23,4)-(23,5) = "c"
+ │ │ │ │ ├── opening_loc: ∅
+ │ │ │ │ ├── arguments:
+ │ │ │ │ │ @ ArgumentsNode (location: (23,6)-(23,7))
+ │ │ │ │ │ ├── flags: ∅
+ │ │ │ │ │ └── arguments: (length: 1)
+ │ │ │ │ │ └── @ CallNode (location: (23,6)-(23,7))
+ │ │ │ │ │ ├── flags: variable_call
+ │ │ │ │ │ ├── receiver: ∅
+ │ │ │ │ │ ├── call_operator_loc: ∅
+ │ │ │ │ │ ├── name: :d
+ │ │ │ │ │ ├── message_loc: (23,6)-(23,7) = "d"
+ │ │ │ │ │ ├── opening_loc: ∅
+ │ │ │ │ │ ├── arguments: ∅
+ │ │ │ │ │ ├── closing_loc: ∅
+ │ │ │ │ │ └── block: ∅
+ │ │ │ │ ├── closing_loc: ∅
+ │ │ │ │ └── block: ∅
+ │ │ │ ├── opening_loc: (23,3)-(23,4) = "{"
+ │ │ │ └── closing_loc: (23,7)-(23,8) = "}"
+ │ │ └── @ FloatNode (location: (23,10)-(23,13))
│ ├── closing_loc: ∅
- │ ├── block:
- │ │ @ BlockNode (location: (23,14)-(23,20))
- │ │ ├── locals: []
- │ │ ├── locals_body_index: 0
- │ │ ├── parameters: ∅
- │ │ ├── body: ∅
- │ │ ├── opening_loc: (23,14)-(23,16) = "do"
- │ │ └── closing_loc: (23,17)-(23,20) = "end"
- │ └── flags: ∅
+ │ └── block:
+ │ @ BlockNode (location: (23,14)-(23,20))
+ │ ├── locals: []
+ │ ├── locals_body_index: 0
+ │ ├── parameters: ∅
+ │ ├── body: ∅
+ │ ├── opening_loc: (23,14)-(23,16) = "do"
+ │ └── closing_loc: (23,17)-(23,20) = "end"
├── @ CallNode (location: (25,0)-(25,21))
+ │ ├── flags: ∅
│ ├── receiver: ∅
│ ├── call_operator_loc: ∅
│ ├── name: :a
@@ -726,64 +727,64 @@
│ ├── opening_loc: ∅
│ ├── arguments:
│ │ @ ArgumentsNode (location: (25,2)-(25,14))
- │ │ ├── arguments: (length: 2)
- │ │ │ ├── @ CallNode (location: (25,2)-(25,8))
- │ │ │ │ ├── receiver: ∅
- │ │ │ │ ├── call_operator_loc: ∅
- │ │ │ │ ├── name: :b
- │ │ │ │ ├── message_loc: (25,2)-(25,3) = "b"
- │ │ │ │ ├── opening_loc: ∅
- │ │ │ │ ├── arguments: ∅
- │ │ │ │ ├── closing_loc: ∅
- │ │ │ │ ├── block:
- │ │ │ │ │ @ BlockNode (location: (25,3)-(25,8))
- │ │ │ │ │ ├── locals: []
- │ │ │ │ │ ├── locals_body_index: 0
- │ │ │ │ │ ├── parameters: ∅
- │ │ │ │ │ ├── body:
- │ │ │ │ │ │ @ StatementsNode (location: (25,4)-(25,7))
- │ │ │ │ │ │ └── body: (length: 1)
- │ │ │ │ │ │ └── @ CallNode (location: (25,4)-(25,7))
- │ │ │ │ │ │ ├── receiver: ∅
- │ │ │ │ │ │ ├── call_operator_loc: ∅
- │ │ │ │ │ │ ├── name: :c
- │ │ │ │ │ │ ├── message_loc: (25,4)-(25,5) = "c"
- │ │ │ │ │ │ ├── opening_loc: ∅
- │ │ │ │ │ │ ├── arguments:
- │ │ │ │ │ │ │ @ ArgumentsNode (location: (25,6)-(25,7))
- │ │ │ │ │ │ │ ├── arguments: (length: 1)
- │ │ │ │ │ │ │ │ └── @ CallNode (location: (25,6)-(25,7))
- │ │ │ │ │ │ │ │ ├── receiver: ∅
- │ │ │ │ │ │ │ │ ├── call_operator_loc: ∅
- │ │ │ │ │ │ │ │ ├── name: :d
- │ │ │ │ │ │ │ │ ├── message_loc: (25,6)-(25,7) = "d"
- │ │ │ │ │ │ │ │ ├── opening_loc: ∅
- │ │ │ │ │ │ │ │ ├── arguments: ∅
- │ │ │ │ │ │ │ │ ├── closing_loc: ∅
- │ │ │ │ │ │ │ │ ├── block: ∅
- │ │ │ │ │ │ │ │ └── flags: variable_call
- │ │ │ │ │ │ │ └── flags: ∅
- │ │ │ │ │ │ ├── closing_loc: ∅
- │ │ │ │ │ │ ├── block: ∅
- │ │ │ │ │ │ └── flags: ∅
- │ │ │ │ │ ├── opening_loc: (25,3)-(25,4) = "{"
- │ │ │ │ │ └── closing_loc: (25,7)-(25,8) = "}"
- │ │ │ │ └── flags: ∅
- │ │ │ └── @ ImaginaryNode (location: (25,10)-(25,14))
- │ │ │ └── numeric:
- │ │ │ @ FloatNode (location: (25,10)-(25,13))
- │ │ └── flags: ∅
+ │ │ ├── flags: ∅
+ │ │ └── arguments: (length: 2)
+ │ │ ├── @ CallNode (location: (25,2)-(25,8))
+ │ │ │ ├── flags: ∅
+ │ │ │ ├── receiver: ∅
+ │ │ │ ├── call_operator_loc: ∅
+ │ │ │ ├── name: :b
+ │ │ │ ├── message_loc: (25,2)-(25,3) = "b"
+ │ │ │ ├── opening_loc: ∅
+ │ │ │ ├── arguments: ∅
+ │ │ │ ├── closing_loc: ∅
+ │ │ │ └── block:
+ │ │ │ @ BlockNode (location: (25,3)-(25,8))
+ │ │ │ ├── locals: []
+ │ │ │ ├── locals_body_index: 0
+ │ │ │ ├── parameters: ∅
+ │ │ │ ├── body:
+ │ │ │ │ @ StatementsNode (location: (25,4)-(25,7))
+ │ │ │ │ └── body: (length: 1)
+ │ │ │ │ └── @ CallNode (location: (25,4)-(25,7))
+ │ │ │ │ ├── flags: ∅
+ │ │ │ │ ├── receiver: ∅
+ │ │ │ │ ├── call_operator_loc: ∅
+ │ │ │ │ ├── name: :c
+ │ │ │ │ ├── message_loc: (25,4)-(25,5) = "c"
+ │ │ │ │ ├── opening_loc: ∅
+ │ │ │ │ ├── arguments:
+ │ │ │ │ │ @ ArgumentsNode (location: (25,6)-(25,7))
+ │ │ │ │ │ ├── flags: ∅
+ │ │ │ │ │ └── arguments: (length: 1)
+ │ │ │ │ │ └── @ CallNode (location: (25,6)-(25,7))
+ │ │ │ │ │ ├── flags: variable_call
+ │ │ │ │ │ ├── receiver: ∅
+ │ │ │ │ │ ├── call_operator_loc: ∅
+ │ │ │ │ │ ├── name: :d
+ │ │ │ │ │ ├── message_loc: (25,6)-(25,7) = "d"
+ │ │ │ │ │ ├── opening_loc: ∅
+ │ │ │ │ │ ├── arguments: ∅
+ │ │ │ │ │ ├── closing_loc: ∅
+ │ │ │ │ │ └── block: ∅
+ │ │ │ │ ├── closing_loc: ∅
+ │ │ │ │ └── block: ∅
+ │ │ │ ├── opening_loc: (25,3)-(25,4) = "{"
+ │ │ │ └── closing_loc: (25,7)-(25,8) = "}"
+ │ │ └── @ ImaginaryNode (location: (25,10)-(25,14))
+ │ │ └── numeric:
+ │ │ @ FloatNode (location: (25,10)-(25,13))
│ ├── closing_loc: ∅
- │ ├── block:
- │ │ @ BlockNode (location: (25,15)-(25,21))
- │ │ ├── locals: []
- │ │ ├── locals_body_index: 0
- │ │ ├── parameters: ∅
- │ │ ├── body: ∅
- │ │ ├── opening_loc: (25,15)-(25,17) = "do"
- │ │ └── closing_loc: (25,18)-(25,21) = "end"
- │ └── flags: ∅
+ │ └── block:
+ │ @ BlockNode (location: (25,15)-(25,21))
+ │ ├── locals: []
+ │ ├── locals_body_index: 0
+ │ ├── parameters: ∅
+ │ ├── body: ∅
+ │ ├── opening_loc: (25,15)-(25,17) = "do"
+ │ └── closing_loc: (25,18)-(25,21) = "end"
├── @ CallNode (location: (27,0)-(27,21))
+ │ ├── flags: ∅
│ ├── receiver: ∅
│ ├── call_operator_loc: ∅
│ ├── name: :a
@@ -791,64 +792,64 @@
│ ├── opening_loc: ∅
│ ├── arguments:
│ │ @ ArgumentsNode (location: (27,2)-(27,14))
- │ │ ├── arguments: (length: 2)
- │ │ │ ├── @ CallNode (location: (27,2)-(27,8))
- │ │ │ │ ├── receiver: ∅
- │ │ │ │ ├── call_operator_loc: ∅
- │ │ │ │ ├── name: :b
- │ │ │ │ ├── message_loc: (27,2)-(27,3) = "b"
- │ │ │ │ ├── opening_loc: ∅
- │ │ │ │ ├── arguments: ∅
- │ │ │ │ ├── closing_loc: ∅
- │ │ │ │ ├── block:
- │ │ │ │ │ @ BlockNode (location: (27,3)-(27,8))
- │ │ │ │ │ ├── locals: []
- │ │ │ │ │ ├── locals_body_index: 0
- │ │ │ │ │ ├── parameters: ∅
- │ │ │ │ │ ├── body:
- │ │ │ │ │ │ @ StatementsNode (location: (27,4)-(27,7))
- │ │ │ │ │ │ └── body: (length: 1)
- │ │ │ │ │ │ └── @ CallNode (location: (27,4)-(27,7))
- │ │ │ │ │ │ ├── receiver: ∅
- │ │ │ │ │ │ ├── call_operator_loc: ∅
- │ │ │ │ │ │ ├── name: :c
- │ │ │ │ │ │ ├── message_loc: (27,4)-(27,5) = "c"
- │ │ │ │ │ │ ├── opening_loc: ∅
- │ │ │ │ │ │ ├── arguments:
- │ │ │ │ │ │ │ @ ArgumentsNode (location: (27,6)-(27,7))
- │ │ │ │ │ │ │ ├── arguments: (length: 1)
- │ │ │ │ │ │ │ │ └── @ CallNode (location: (27,6)-(27,7))
- │ │ │ │ │ │ │ │ ├── receiver: ∅
- │ │ │ │ │ │ │ │ ├── call_operator_loc: ∅
- │ │ │ │ │ │ │ │ ├── name: :d
- │ │ │ │ │ │ │ │ ├── message_loc: (27,6)-(27,7) = "d"
- │ │ │ │ │ │ │ │ ├── opening_loc: ∅
- │ │ │ │ │ │ │ │ ├── arguments: ∅
- │ │ │ │ │ │ │ │ ├── closing_loc: ∅
- │ │ │ │ │ │ │ │ ├── block: ∅
- │ │ │ │ │ │ │ │ └── flags: variable_call
- │ │ │ │ │ │ │ └── flags: ∅
- │ │ │ │ │ │ ├── closing_loc: ∅
- │ │ │ │ │ │ ├── block: ∅
- │ │ │ │ │ │ └── flags: ∅
- │ │ │ │ │ ├── opening_loc: (27,3)-(27,4) = "{"
- │ │ │ │ │ └── closing_loc: (27,7)-(27,8) = "}"
- │ │ │ │ └── flags: ∅
- │ │ │ └── @ RationalNode (location: (27,10)-(27,14))
- │ │ │ └── numeric:
- │ │ │ @ FloatNode (location: (27,10)-(27,13))
- │ │ └── flags: ∅
+ │ │ ├── flags: ∅
+ │ │ └── arguments: (length: 2)
+ │ │ ├── @ CallNode (location: (27,2)-(27,8))
+ │ │ │ ├── flags: ∅
+ │ │ │ ├── receiver: ∅
+ │ │ │ ├── call_operator_loc: ∅
+ │ │ │ ├── name: :b
+ │ │ │ ├── message_loc: (27,2)-(27,3) = "b"
+ │ │ │ ├── opening_loc: ∅
+ │ │ │ ├── arguments: ∅
+ │ │ │ ├── closing_loc: ∅
+ │ │ │ └── block:
+ │ │ │ @ BlockNode (location: (27,3)-(27,8))
+ │ │ │ ├── locals: []
+ │ │ │ ├── locals_body_index: 0
+ │ │ │ ├── parameters: ∅
+ │ │ │ ├── body:
+ │ │ │ │ @ StatementsNode (location: (27,4)-(27,7))
+ │ │ │ │ └── body: (length: 1)
+ │ │ │ │ └── @ CallNode (location: (27,4)-(27,7))
+ │ │ │ │ ├── flags: ∅
+ │ │ │ │ ├── receiver: ∅
+ │ │ │ │ ├── call_operator_loc: ∅
+ │ │ │ │ ├── name: :c
+ │ │ │ │ ├── message_loc: (27,4)-(27,5) = "c"
+ │ │ │ │ ├── opening_loc: ∅
+ │ │ │ │ ├── arguments:
+ │ │ │ │ │ @ ArgumentsNode (location: (27,6)-(27,7))
+ │ │ │ │ │ ├── flags: ∅
+ │ │ │ │ │ └── arguments: (length: 1)
+ │ │ │ │ │ └── @ CallNode (location: (27,6)-(27,7))
+ │ │ │ │ │ ├── flags: variable_call
+ │ │ │ │ │ ├── receiver: ∅
+ │ │ │ │ │ ├── call_operator_loc: ∅
+ │ │ │ │ │ ├── name: :d
+ │ │ │ │ │ ├── message_loc: (27,6)-(27,7) = "d"
+ │ │ │ │ │ ├── opening_loc: ∅
+ │ │ │ │ │ ├── arguments: ∅
+ │ │ │ │ │ ├── closing_loc: ∅
+ │ │ │ │ │ └── block: ∅
+ │ │ │ │ ├── closing_loc: ∅
+ │ │ │ │ └── block: ∅
+ │ │ │ ├── opening_loc: (27,3)-(27,4) = "{"
+ │ │ │ └── closing_loc: (27,7)-(27,8) = "}"
+ │ │ └── @ RationalNode (location: (27,10)-(27,14))
+ │ │ └── numeric:
+ │ │ @ FloatNode (location: (27,10)-(27,13))
│ ├── closing_loc: ∅
- │ ├── block:
- │ │ @ BlockNode (location: (27,15)-(27,21))
- │ │ ├── locals: []
- │ │ ├── locals_body_index: 0
- │ │ ├── parameters: ∅
- │ │ ├── body: ∅
- │ │ ├── opening_loc: (27,15)-(27,17) = "do"
- │ │ └── closing_loc: (27,18)-(27,21) = "end"
- │ └── flags: ∅
+ │ └── block:
+ │ @ BlockNode (location: (27,15)-(27,21))
+ │ ├── locals: []
+ │ ├── locals_body_index: 0
+ │ ├── parameters: ∅
+ │ ├── body: ∅
+ │ ├── opening_loc: (27,15)-(27,17) = "do"
+ │ └── closing_loc: (27,18)-(27,21) = "end"
├── @ CallNode (location: (29,0)-(29,19))
+ │ ├── flags: ∅
│ ├── receiver: ∅
│ ├── call_operator_loc: ∅
│ ├── name: :a
@@ -856,66 +857,66 @@
│ ├── opening_loc: ∅
│ ├── arguments:
│ │ @ ArgumentsNode (location: (29,2)-(29,12))
- │ │ ├── arguments: (length: 2)
- │ │ │ ├── @ CallNode (location: (29,2)-(29,8))
- │ │ │ │ ├── receiver: ∅
- │ │ │ │ ├── call_operator_loc: ∅
- │ │ │ │ ├── name: :b
- │ │ │ │ ├── message_loc: (29,2)-(29,3) = "b"
- │ │ │ │ ├── opening_loc: ∅
- │ │ │ │ ├── arguments: ∅
- │ │ │ │ ├── closing_loc: ∅
- │ │ │ │ ├── block:
- │ │ │ │ │ @ BlockNode (location: (29,3)-(29,8))
- │ │ │ │ │ ├── locals: []
- │ │ │ │ │ ├── locals_body_index: 0
- │ │ │ │ │ ├── parameters: ∅
- │ │ │ │ │ ├── body:
- │ │ │ │ │ │ @ StatementsNode (location: (29,4)-(29,7))
- │ │ │ │ │ │ └── body: (length: 1)
- │ │ │ │ │ │ └── @ CallNode (location: (29,4)-(29,7))
- │ │ │ │ │ │ ├── receiver: ∅
- │ │ │ │ │ │ ├── call_operator_loc: ∅
- │ │ │ │ │ │ ├── name: :c
- │ │ │ │ │ │ ├── message_loc: (29,4)-(29,5) = "c"
- │ │ │ │ │ │ ├── opening_loc: ∅
- │ │ │ │ │ │ ├── arguments:
- │ │ │ │ │ │ │ @ ArgumentsNode (location: (29,6)-(29,7))
- │ │ │ │ │ │ │ ├── arguments: (length: 1)
- │ │ │ │ │ │ │ │ └── @ CallNode (location: (29,6)-(29,7))
- │ │ │ │ │ │ │ │ ├── receiver: ∅
- │ │ │ │ │ │ │ │ ├── call_operator_loc: ∅
- │ │ │ │ │ │ │ │ ├── name: :d
- │ │ │ │ │ │ │ │ ├── message_loc: (29,6)-(29,7) = "d"
- │ │ │ │ │ │ │ │ ├── opening_loc: ∅
- │ │ │ │ │ │ │ │ ├── arguments: ∅
- │ │ │ │ │ │ │ │ ├── closing_loc: ∅
- │ │ │ │ │ │ │ │ ├── block: ∅
- │ │ │ │ │ │ │ │ └── flags: variable_call
- │ │ │ │ │ │ │ └── flags: ∅
- │ │ │ │ │ │ ├── closing_loc: ∅
- │ │ │ │ │ │ ├── block: ∅
- │ │ │ │ │ │ └── flags: ∅
- │ │ │ │ │ ├── opening_loc: (29,3)-(29,4) = "{"
- │ │ │ │ │ └── closing_loc: (29,7)-(29,8) = "}"
- │ │ │ │ └── flags: ∅
- │ │ │ └── @ SymbolNode (location: (29,10)-(29,12))
- │ │ │ ├── opening_loc: (29,10)-(29,11) = ":"
- │ │ │ ├── value_loc: (29,11)-(29,12) = "e"
- │ │ │ ├── closing_loc: ∅
- │ │ │ └── unescaped: "e"
- │ │ └── flags: ∅
+ │ │ ├── flags: ∅
+ │ │ └── arguments: (length: 2)
+ │ │ ├── @ CallNode (location: (29,2)-(29,8))
+ │ │ │ ├── flags: ∅
+ │ │ │ ├── receiver: ∅
+ │ │ │ ├── call_operator_loc: ∅
+ │ │ │ ├── name: :b
+ │ │ │ ├── message_loc: (29,2)-(29,3) = "b"
+ │ │ │ ├── opening_loc: ∅
+ │ │ │ ├── arguments: ∅
+ │ │ │ ├── closing_loc: ∅
+ │ │ │ └── block:
+ │ │ │ @ BlockNode (location: (29,3)-(29,8))
+ │ │ │ ├── locals: []
+ │ │ │ ├── locals_body_index: 0
+ │ │ │ ├── parameters: ∅
+ │ │ │ ├── body:
+ │ │ │ │ @ StatementsNode (location: (29,4)-(29,7))
+ │ │ │ │ └── body: (length: 1)
+ │ │ │ │ └── @ CallNode (location: (29,4)-(29,7))
+ │ │ │ │ ├── flags: ∅
+ │ │ │ │ ├── receiver: ∅
+ │ │ │ │ ├── call_operator_loc: ∅
+ │ │ │ │ ├── name: :c
+ │ │ │ │ ├── message_loc: (29,4)-(29,5) = "c"
+ │ │ │ │ ├── opening_loc: ∅
+ │ │ │ │ ├── arguments:
+ │ │ │ │ │ @ ArgumentsNode (location: (29,6)-(29,7))
+ │ │ │ │ │ ├── flags: ∅
+ │ │ │ │ │ └── arguments: (length: 1)
+ │ │ │ │ │ └── @ CallNode (location: (29,6)-(29,7))
+ │ │ │ │ │ ├── flags: variable_call
+ │ │ │ │ │ ├── receiver: ∅
+ │ │ │ │ │ ├── call_operator_loc: ∅
+ │ │ │ │ │ ├── name: :d
+ │ │ │ │ │ ├── message_loc: (29,6)-(29,7) = "d"
+ │ │ │ │ │ ├── opening_loc: ∅
+ │ │ │ │ │ ├── arguments: ∅
+ │ │ │ │ │ ├── closing_loc: ∅
+ │ │ │ │ │ └── block: ∅
+ │ │ │ │ ├── closing_loc: ∅
+ │ │ │ │ └── block: ∅
+ │ │ │ ├── opening_loc: (29,3)-(29,4) = "{"
+ │ │ │ └── closing_loc: (29,7)-(29,8) = "}"
+ │ │ └── @ SymbolNode (location: (29,10)-(29,12))
+ │ │ ├── opening_loc: (29,10)-(29,11) = ":"
+ │ │ ├── value_loc: (29,11)-(29,12) = "e"
+ │ │ ├── closing_loc: ∅
+ │ │ └── unescaped: "e"
│ ├── closing_loc: ∅
- │ ├── block:
- │ │ @ BlockNode (location: (29,13)-(29,19))
- │ │ ├── locals: []
- │ │ ├── locals_body_index: 0
- │ │ ├── parameters: ∅
- │ │ ├── body: ∅
- │ │ ├── opening_loc: (29,13)-(29,15) = "do"
- │ │ └── closing_loc: (29,16)-(29,19) = "end"
- │ └── flags: ∅
+ │ └── block:
+ │ @ BlockNode (location: (29,13)-(29,19))
+ │ ├── locals: []
+ │ ├── locals_body_index: 0
+ │ ├── parameters: ∅
+ │ ├── body: ∅
+ │ ├── opening_loc: (29,13)-(29,15) = "do"
+ │ └── closing_loc: (29,16)-(29,19) = "end"
├── @ CallNode (location: (31,0)-(31,19))
+ │ ├── flags: ∅
│ ├── receiver: ∅
│ ├── call_operator_loc: ∅
│ ├── name: :a
@@ -923,63 +924,63 @@
│ ├── opening_loc: ∅
│ ├── arguments:
│ │ @ ArgumentsNode (location: (31,2)-(31,12))
- │ │ ├── arguments: (length: 2)
- │ │ │ ├── @ CallNode (location: (31,2)-(31,9))
- │ │ │ │ ├── receiver: ∅
- │ │ │ │ ├── call_operator_loc: ∅
- │ │ │ │ ├── name: :b
- │ │ │ │ ├── message_loc: (31,2)-(31,3) = "b"
- │ │ │ │ ├── opening_loc: ∅
- │ │ │ │ ├── arguments: ∅
- │ │ │ │ ├── closing_loc: ∅
- │ │ │ │ ├── block:
- │ │ │ │ │ @ BlockNode (location: (31,3)-(31,9))
- │ │ │ │ │ ├── locals: []
- │ │ │ │ │ ├── locals_body_index: 0
- │ │ │ │ │ ├── parameters: ∅
- │ │ │ │ │ ├── body:
- │ │ │ │ │ │ @ StatementsNode (location: (31,4)-(31,8))
- │ │ │ │ │ │ └── body: (length: 1)
- │ │ │ │ │ │ └── @ CallNode (location: (31,4)-(31,8))
- │ │ │ │ │ │ ├── receiver: ∅
- │ │ │ │ │ │ ├── call_operator_loc: ∅
- │ │ │ │ │ │ ├── name: :c
- │ │ │ │ │ │ ├── message_loc: (31,4)-(31,5) = "c"
- │ │ │ │ │ │ ├── opening_loc: (31,5)-(31,6) = "("
- │ │ │ │ │ │ ├── arguments:
- │ │ │ │ │ │ │ @ ArgumentsNode (location: (31,6)-(31,7))
- │ │ │ │ │ │ │ ├── arguments: (length: 1)
- │ │ │ │ │ │ │ │ └── @ CallNode (location: (31,6)-(31,7))
- │ │ │ │ │ │ │ │ ├── receiver: ∅
- │ │ │ │ │ │ │ │ ├── call_operator_loc: ∅
- │ │ │ │ │ │ │ │ ├── name: :d
- │ │ │ │ │ │ │ │ ├── message_loc: (31,6)-(31,7) = "d"
- │ │ │ │ │ │ │ │ ├── opening_loc: ∅
- │ │ │ │ │ │ │ │ ├── arguments: ∅
- │ │ │ │ │ │ │ │ ├── closing_loc: ∅
- │ │ │ │ │ │ │ │ ├── block: ∅
- │ │ │ │ │ │ │ │ └── flags: variable_call
- │ │ │ │ │ │ │ └── flags: ∅
- │ │ │ │ │ │ ├── closing_loc: (31,7)-(31,8) = ")"
- │ │ │ │ │ │ ├── block: ∅
- │ │ │ │ │ │ └── flags: ∅
- │ │ │ │ │ ├── opening_loc: (31,3)-(31,4) = "{"
- │ │ │ │ │ └── closing_loc: (31,8)-(31,9) = "}"
- │ │ │ │ └── flags: ∅
- │ │ │ └── @ IntegerNode (location: (31,11)-(31,12))
- │ │ │ └── flags: decimal
- │ │ └── flags: ∅
+ │ │ ├── flags: ∅
+ │ │ └── arguments: (length: 2)
+ │ │ ├── @ CallNode (location: (31,2)-(31,9))
+ │ │ │ ├── flags: ∅
+ │ │ │ ├── receiver: ∅
+ │ │ │ ├── call_operator_loc: ∅
+ │ │ │ ├── name: :b
+ │ │ │ ├── message_loc: (31,2)-(31,3) = "b"
+ │ │ │ ├── opening_loc: ∅
+ │ │ │ ├── arguments: ∅
+ │ │ │ ├── closing_loc: ∅
+ │ │ │ └── block:
+ │ │ │ @ BlockNode (location: (31,3)-(31,9))
+ │ │ │ ├── locals: []
+ │ │ │ ├── locals_body_index: 0
+ │ │ │ ├── parameters: ∅
+ │ │ │ ├── body:
+ │ │ │ │ @ StatementsNode (location: (31,4)-(31,8))
+ │ │ │ │ └── body: (length: 1)
+ │ │ │ │ └── @ CallNode (location: (31,4)-(31,8))
+ │ │ │ │ ├── flags: ∅
+ │ │ │ │ ├── receiver: ∅
+ │ │ │ │ ├── call_operator_loc: ∅
+ │ │ │ │ ├── name: :c
+ │ │ │ │ ├── message_loc: (31,4)-(31,5) = "c"
+ │ │ │ │ ├── opening_loc: (31,5)-(31,6) = "("
+ │ │ │ │ ├── arguments:
+ │ │ │ │ │ @ ArgumentsNode (location: (31,6)-(31,7))
+ │ │ │ │ │ ├── flags: ∅
+ │ │ │ │ │ └── arguments: (length: 1)
+ │ │ │ │ │ └── @ CallNode (location: (31,6)-(31,7))
+ │ │ │ │ │ ├── flags: variable_call
+ │ │ │ │ │ ├── receiver: ∅
+ │ │ │ │ │ ├── call_operator_loc: ∅
+ │ │ │ │ │ ├── name: :d
+ │ │ │ │ │ ├── message_loc: (31,6)-(31,7) = "d"
+ │ │ │ │ │ ├── opening_loc: ∅
+ │ │ │ │ │ ├── arguments: ∅
+ │ │ │ │ │ ├── closing_loc: ∅
+ │ │ │ │ │ └── block: ∅
+ │ │ │ │ ├── closing_loc: (31,7)-(31,8) = ")"
+ │ │ │ │ └── block: ∅
+ │ │ │ ├── opening_loc: (31,3)-(31,4) = "{"
+ │ │ │ └── closing_loc: (31,8)-(31,9) = "}"
+ │ │ └── @ IntegerNode (location: (31,11)-(31,12))
+ │ │ └── flags: decimal
│ ├── closing_loc: ∅
- │ ├── block:
- │ │ @ BlockNode (location: (31,13)-(31,19))
- │ │ ├── locals: []
- │ │ ├── locals_body_index: 0
- │ │ ├── parameters: ∅
- │ │ ├── body: ∅
- │ │ ├── opening_loc: (31,13)-(31,15) = "do"
- │ │ └── closing_loc: (31,16)-(31,19) = "end"
- │ └── flags: ∅
+ │ └── block:
+ │ @ BlockNode (location: (31,13)-(31,19))
+ │ ├── locals: []
+ │ ├── locals_body_index: 0
+ │ ├── parameters: ∅
+ │ ├── body: ∅
+ │ ├── opening_loc: (31,13)-(31,15) = "do"
+ │ └── closing_loc: (31,16)-(31,19) = "end"
├── @ CallNode (location: (33,0)-(33,21))
+ │ ├── flags: ∅
│ ├── receiver: ∅
│ ├── call_operator_loc: ∅
│ ├── name: :a
@@ -987,62 +988,62 @@
│ ├── opening_loc: ∅
│ ├── arguments:
│ │ @ ArgumentsNode (location: (33,2)-(33,14))
- │ │ ├── arguments: (length: 2)
- │ │ │ ├── @ CallNode (location: (33,2)-(33,9))
- │ │ │ │ ├── receiver: ∅
- │ │ │ │ ├── call_operator_loc: ∅
- │ │ │ │ ├── name: :b
- │ │ │ │ ├── message_loc: (33,2)-(33,3) = "b"
- │ │ │ │ ├── opening_loc: ∅
- │ │ │ │ ├── arguments: ∅
- │ │ │ │ ├── closing_loc: ∅
- │ │ │ │ ├── block:
- │ │ │ │ │ @ BlockNode (location: (33,3)-(33,9))
- │ │ │ │ │ ├── locals: []
- │ │ │ │ │ ├── locals_body_index: 0
- │ │ │ │ │ ├── parameters: ∅
- │ │ │ │ │ ├── body:
- │ │ │ │ │ │ @ StatementsNode (location: (33,4)-(33,8))
- │ │ │ │ │ │ └── body: (length: 1)
- │ │ │ │ │ │ └── @ CallNode (location: (33,4)-(33,8))
- │ │ │ │ │ │ ├── receiver: ∅
- │ │ │ │ │ │ ├── call_operator_loc: ∅
- │ │ │ │ │ │ ├── name: :c
- │ │ │ │ │ │ ├── message_loc: (33,4)-(33,5) = "c"
- │ │ │ │ │ │ ├── opening_loc: (33,5)-(33,6) = "("
- │ │ │ │ │ │ ├── arguments:
- │ │ │ │ │ │ │ @ ArgumentsNode (location: (33,6)-(33,7))
- │ │ │ │ │ │ │ ├── arguments: (length: 1)
- │ │ │ │ │ │ │ │ └── @ CallNode (location: (33,6)-(33,7))
- │ │ │ │ │ │ │ │ ├── receiver: ∅
- │ │ │ │ │ │ │ │ ├── call_operator_loc: ∅
- │ │ │ │ │ │ │ │ ├── name: :d
- │ │ │ │ │ │ │ │ ├── message_loc: (33,6)-(33,7) = "d"
- │ │ │ │ │ │ │ │ ├── opening_loc: ∅
- │ │ │ │ │ │ │ │ ├── arguments: ∅
- │ │ │ │ │ │ │ │ ├── closing_loc: ∅
- │ │ │ │ │ │ │ │ ├── block: ∅
- │ │ │ │ │ │ │ │ └── flags: variable_call
- │ │ │ │ │ │ │ └── flags: ∅
- │ │ │ │ │ │ ├── closing_loc: (33,7)-(33,8) = ")"
- │ │ │ │ │ │ ├── block: ∅
- │ │ │ │ │ │ └── flags: ∅
- │ │ │ │ │ ├── opening_loc: (33,3)-(33,4) = "{"
- │ │ │ │ │ └── closing_loc: (33,8)-(33,9) = "}"
- │ │ │ │ └── flags: ∅
- │ │ │ └── @ FloatNode (location: (33,11)-(33,14))
- │ │ └── flags: ∅
+ │ │ ├── flags: ∅
+ │ │ └── arguments: (length: 2)
+ │ │ ├── @ CallNode (location: (33,2)-(33,9))
+ │ │ │ ├── flags: ∅
+ │ │ │ ├── receiver: ∅
+ │ │ │ ├── call_operator_loc: ∅
+ │ │ │ ├── name: :b
+ │ │ │ ├── message_loc: (33,2)-(33,3) = "b"
+ │ │ │ ├── opening_loc: ∅
+ │ │ │ ├── arguments: ∅
+ │ │ │ ├── closing_loc: ∅
+ │ │ │ └── block:
+ │ │ │ @ BlockNode (location: (33,3)-(33,9))
+ │ │ │ ├── locals: []
+ │ │ │ ├── locals_body_index: 0
+ │ │ │ ├── parameters: ∅
+ │ │ │ ├── body:
+ │ │ │ │ @ StatementsNode (location: (33,4)-(33,8))
+ │ │ │ │ └── body: (length: 1)
+ │ │ │ │ └── @ CallNode (location: (33,4)-(33,8))
+ │ │ │ │ ├── flags: ∅
+ │ │ │ │ ├── receiver: ∅
+ │ │ │ │ ├── call_operator_loc: ∅
+ │ │ │ │ ├── name: :c
+ │ │ │ │ ├── message_loc: (33,4)-(33,5) = "c"
+ │ │ │ │ ├── opening_loc: (33,5)-(33,6) = "("
+ │ │ │ │ ├── arguments:
+ │ │ │ │ │ @ ArgumentsNode (location: (33,6)-(33,7))
+ │ │ │ │ │ ├── flags: ∅
+ │ │ │ │ │ └── arguments: (length: 1)
+ │ │ │ │ │ └── @ CallNode (location: (33,6)-(33,7))
+ │ │ │ │ │ ├── flags: variable_call
+ │ │ │ │ │ ├── receiver: ∅
+ │ │ │ │ │ ├── call_operator_loc: ∅
+ │ │ │ │ │ ├── name: :d
+ │ │ │ │ │ ├── message_loc: (33,6)-(33,7) = "d"
+ │ │ │ │ │ ├── opening_loc: ∅
+ │ │ │ │ │ ├── arguments: ∅
+ │ │ │ │ │ ├── closing_loc: ∅
+ │ │ │ │ │ └── block: ∅
+ │ │ │ │ ├── closing_loc: (33,7)-(33,8) = ")"
+ │ │ │ │ └── block: ∅
+ │ │ │ ├── opening_loc: (33,3)-(33,4) = "{"
+ │ │ │ └── closing_loc: (33,8)-(33,9) = "}"
+ │ │ └── @ FloatNode (location: (33,11)-(33,14))
│ ├── closing_loc: ∅
- │ ├── block:
- │ │ @ BlockNode (location: (33,15)-(33,21))
- │ │ ├── locals: []
- │ │ ├── locals_body_index: 0
- │ │ ├── parameters: ∅
- │ │ ├── body: ∅
- │ │ ├── opening_loc: (33,15)-(33,17) = "do"
- │ │ └── closing_loc: (33,18)-(33,21) = "end"
- │ └── flags: ∅
+ │ └── block:
+ │ @ BlockNode (location: (33,15)-(33,21))
+ │ ├── locals: []
+ │ ├── locals_body_index: 0
+ │ ├── parameters: ∅
+ │ ├── body: ∅
+ │ ├── opening_loc: (33,15)-(33,17) = "do"
+ │ └── closing_loc: (33,18)-(33,21) = "end"
├── @ CallNode (location: (35,0)-(35,22))
+ │ ├── flags: ∅
│ ├── receiver: ∅
│ ├── call_operator_loc: ∅
│ ├── name: :a
@@ -1050,64 +1051,64 @@
│ ├── opening_loc: ∅
│ ├── arguments:
│ │ @ ArgumentsNode (location: (35,2)-(35,15))
- │ │ ├── arguments: (length: 2)
- │ │ │ ├── @ CallNode (location: (35,2)-(35,9))
- │ │ │ │ ├── receiver: ∅
- │ │ │ │ ├── call_operator_loc: ∅
- │ │ │ │ ├── name: :b
- │ │ │ │ ├── message_loc: (35,2)-(35,3) = "b"
- │ │ │ │ ├── opening_loc: ∅
- │ │ │ │ ├── arguments: ∅
- │ │ │ │ ├── closing_loc: ∅
- │ │ │ │ ├── block:
- │ │ │ │ │ @ BlockNode (location: (35,3)-(35,9))
- │ │ │ │ │ ├── locals: []
- │ │ │ │ │ ├── locals_body_index: 0
- │ │ │ │ │ ├── parameters: ∅
- │ │ │ │ │ ├── body:
- │ │ │ │ │ │ @ StatementsNode (location: (35,4)-(35,8))
- │ │ │ │ │ │ └── body: (length: 1)
- │ │ │ │ │ │ └── @ CallNode (location: (35,4)-(35,8))
- │ │ │ │ │ │ ├── receiver: ∅
- │ │ │ │ │ │ ├── call_operator_loc: ∅
- │ │ │ │ │ │ ├── name: :c
- │ │ │ │ │ │ ├── message_loc: (35,4)-(35,5) = "c"
- │ │ │ │ │ │ ├── opening_loc: (35,5)-(35,6) = "("
- │ │ │ │ │ │ ├── arguments:
- │ │ │ │ │ │ │ @ ArgumentsNode (location: (35,6)-(35,7))
- │ │ │ │ │ │ │ ├── arguments: (length: 1)
- │ │ │ │ │ │ │ │ └── @ CallNode (location: (35,6)-(35,7))
- │ │ │ │ │ │ │ │ ├── receiver: ∅
- │ │ │ │ │ │ │ │ ├── call_operator_loc: ∅
- │ │ │ │ │ │ │ │ ├── name: :d
- │ │ │ │ │ │ │ │ ├── message_loc: (35,6)-(35,7) = "d"
- │ │ │ │ │ │ │ │ ├── opening_loc: ∅
- │ │ │ │ │ │ │ │ ├── arguments: ∅
- │ │ │ │ │ │ │ │ ├── closing_loc: ∅
- │ │ │ │ │ │ │ │ ├── block: ∅
- │ │ │ │ │ │ │ │ └── flags: variable_call
- │ │ │ │ │ │ │ └── flags: ∅
- │ │ │ │ │ │ ├── closing_loc: (35,7)-(35,8) = ")"
- │ │ │ │ │ │ ├── block: ∅
- │ │ │ │ │ │ └── flags: ∅
- │ │ │ │ │ ├── opening_loc: (35,3)-(35,4) = "{"
- │ │ │ │ │ └── closing_loc: (35,8)-(35,9) = "}"
- │ │ │ │ └── flags: ∅
- │ │ │ └── @ ImaginaryNode (location: (35,11)-(35,15))
- │ │ │ └── numeric:
- │ │ │ @ FloatNode (location: (35,11)-(35,14))
- │ │ └── flags: ∅
+ │ │ ├── flags: ∅
+ │ │ └── arguments: (length: 2)
+ │ │ ├── @ CallNode (location: (35,2)-(35,9))
+ │ │ │ ├── flags: ∅
+ │ │ │ ├── receiver: ∅
+ │ │ │ ├── call_operator_loc: ∅
+ │ │ │ ├── name: :b
+ │ │ │ ├── message_loc: (35,2)-(35,3) = "b"
+ │ │ │ ├── opening_loc: ∅
+ │ │ │ ├── arguments: ∅
+ │ │ │ ├── closing_loc: ∅
+ │ │ │ └── block:
+ │ │ │ @ BlockNode (location: (35,3)-(35,9))
+ │ │ │ ├── locals: []
+ │ │ │ ├── locals_body_index: 0
+ │ │ │ ├── parameters: ∅
+ │ │ │ ├── body:
+ │ │ │ │ @ StatementsNode (location: (35,4)-(35,8))
+ │ │ │ │ └── body: (length: 1)
+ │ │ │ │ └── @ CallNode (location: (35,4)-(35,8))
+ │ │ │ │ ├── flags: ∅
+ │ │ │ │ ├── receiver: ∅
+ │ │ │ │ ├── call_operator_loc: ∅
+ │ │ │ │ ├── name: :c
+ │ │ │ │ ├── message_loc: (35,4)-(35,5) = "c"
+ │ │ │ │ ├── opening_loc: (35,5)-(35,6) = "("
+ │ │ │ │ ├── arguments:
+ │ │ │ │ │ @ ArgumentsNode (location: (35,6)-(35,7))
+ │ │ │ │ │ ├── flags: ∅
+ │ │ │ │ │ └── arguments: (length: 1)
+ │ │ │ │ │ └── @ CallNode (location: (35,6)-(35,7))
+ │ │ │ │ │ ├── flags: variable_call
+ │ │ │ │ │ ├── receiver: ∅
+ │ │ │ │ │ ├── call_operator_loc: ∅
+ │ │ │ │ │ ├── name: :d
+ │ │ │ │ │ ├── message_loc: (35,6)-(35,7) = "d"
+ │ │ │ │ │ ├── opening_loc: ∅
+ │ │ │ │ │ ├── arguments: ∅
+ │ │ │ │ │ ├── closing_loc: ∅
+ │ │ │ │ │ └── block: ∅
+ │ │ │ │ ├── closing_loc: (35,7)-(35,8) = ")"
+ │ │ │ │ └── block: ∅
+ │ │ │ ├── opening_loc: (35,3)-(35,4) = "{"
+ │ │ │ └── closing_loc: (35,8)-(35,9) = "}"
+ │ │ └── @ ImaginaryNode (location: (35,11)-(35,15))
+ │ │ └── numeric:
+ │ │ @ FloatNode (location: (35,11)-(35,14))
│ ├── closing_loc: ∅
- │ ├── block:
- │ │ @ BlockNode (location: (35,16)-(35,22))
- │ │ ├── locals: []
- │ │ ├── locals_body_index: 0
- │ │ ├── parameters: ∅
- │ │ ├── body: ∅
- │ │ ├── opening_loc: (35,16)-(35,18) = "do"
- │ │ └── closing_loc: (35,19)-(35,22) = "end"
- │ └── flags: ∅
+ │ └── block:
+ │ @ BlockNode (location: (35,16)-(35,22))
+ │ ├── locals: []
+ │ ├── locals_body_index: 0
+ │ ├── parameters: ∅
+ │ ├── body: ∅
+ │ ├── opening_loc: (35,16)-(35,18) = "do"
+ │ └── closing_loc: (35,19)-(35,22) = "end"
├── @ CallNode (location: (37,0)-(37,22))
+ │ ├── flags: ∅
│ ├── receiver: ∅
│ ├── call_operator_loc: ∅
│ ├── name: :a
@@ -1115,64 +1116,64 @@
│ ├── opening_loc: ∅
│ ├── arguments:
│ │ @ ArgumentsNode (location: (37,2)-(37,15))
- │ │ ├── arguments: (length: 2)
- │ │ │ ├── @ CallNode (location: (37,2)-(37,9))
- │ │ │ │ ├── receiver: ∅
- │ │ │ │ ├── call_operator_loc: ∅
- │ │ │ │ ├── name: :b
- │ │ │ │ ├── message_loc: (37,2)-(37,3) = "b"
- │ │ │ │ ├── opening_loc: ∅
- │ │ │ │ ├── arguments: ∅
- │ │ │ │ ├── closing_loc: ∅
- │ │ │ │ ├── block:
- │ │ │ │ │ @ BlockNode (location: (37,3)-(37,9))
- │ │ │ │ │ ├── locals: []
- │ │ │ │ │ ├── locals_body_index: 0
- │ │ │ │ │ ├── parameters: ∅
- │ │ │ │ │ ├── body:
- │ │ │ │ │ │ @ StatementsNode (location: (37,4)-(37,8))
- │ │ │ │ │ │ └── body: (length: 1)
- │ │ │ │ │ │ └── @ CallNode (location: (37,4)-(37,8))
- │ │ │ │ │ │ ├── receiver: ∅
- │ │ │ │ │ │ ├── call_operator_loc: ∅
- │ │ │ │ │ │ ├── name: :c
- │ │ │ │ │ │ ├── message_loc: (37,4)-(37,5) = "c"
- │ │ │ │ │ │ ├── opening_loc: (37,5)-(37,6) = "("
- │ │ │ │ │ │ ├── arguments:
- │ │ │ │ │ │ │ @ ArgumentsNode (location: (37,6)-(37,7))
- │ │ │ │ │ │ │ ├── arguments: (length: 1)
- │ │ │ │ │ │ │ │ └── @ CallNode (location: (37,6)-(37,7))
- │ │ │ │ │ │ │ │ ├── receiver: ∅
- │ │ │ │ │ │ │ │ ├── call_operator_loc: ∅
- │ │ │ │ │ │ │ │ ├── name: :d
- │ │ │ │ │ │ │ │ ├── message_loc: (37,6)-(37,7) = "d"
- │ │ │ │ │ │ │ │ ├── opening_loc: ∅
- │ │ │ │ │ │ │ │ ├── arguments: ∅
- │ │ │ │ │ │ │ │ ├── closing_loc: ∅
- │ │ │ │ │ │ │ │ ├── block: ∅
- │ │ │ │ │ │ │ │ └── flags: variable_call
- │ │ │ │ │ │ │ └── flags: ∅
- │ │ │ │ │ │ ├── closing_loc: (37,7)-(37,8) = ")"
- │ │ │ │ │ │ ├── block: ∅
- │ │ │ │ │ │ └── flags: ∅
- │ │ │ │ │ ├── opening_loc: (37,3)-(37,4) = "{"
- │ │ │ │ │ └── closing_loc: (37,8)-(37,9) = "}"
- │ │ │ │ └── flags: ∅
- │ │ │ └── @ RationalNode (location: (37,11)-(37,15))
- │ │ │ └── numeric:
- │ │ │ @ FloatNode (location: (37,11)-(37,14))
- │ │ └── flags: ∅
+ │ │ ├── flags: ∅
+ │ │ └── arguments: (length: 2)
+ │ │ ├── @ CallNode (location: (37,2)-(37,9))
+ │ │ │ ├── flags: ∅
+ │ │ │ ├── receiver: ∅
+ │ │ │ ├── call_operator_loc: ∅
+ │ │ │ ├── name: :b
+ │ │ │ ├── message_loc: (37,2)-(37,3) = "b"
+ │ │ │ ├── opening_loc: ∅
+ │ │ │ ├── arguments: ∅
+ │ │ │ ├── closing_loc: ∅
+ │ │ │ └── block:
+ │ │ │ @ BlockNode (location: (37,3)-(37,9))
+ │ │ │ ├── locals: []
+ │ │ │ ├── locals_body_index: 0
+ │ │ │ ├── parameters: ∅
+ │ │ │ ├── body:
+ │ │ │ │ @ StatementsNode (location: (37,4)-(37,8))
+ │ │ │ │ └── body: (length: 1)
+ │ │ │ │ └── @ CallNode (location: (37,4)-(37,8))
+ │ │ │ │ ├── flags: ∅
+ │ │ │ │ ├── receiver: ∅
+ │ │ │ │ ├── call_operator_loc: ∅
+ │ │ │ │ ├── name: :c
+ │ │ │ │ ├── message_loc: (37,4)-(37,5) = "c"
+ │ │ │ │ ├── opening_loc: (37,5)-(37,6) = "("
+ │ │ │ │ ├── arguments:
+ │ │ │ │ │ @ ArgumentsNode (location: (37,6)-(37,7))
+ │ │ │ │ │ ├── flags: ∅
+ │ │ │ │ │ └── arguments: (length: 1)
+ │ │ │ │ │ └── @ CallNode (location: (37,6)-(37,7))
+ │ │ │ │ │ ├── flags: variable_call
+ │ │ │ │ │ ├── receiver: ∅
+ │ │ │ │ │ ├── call_operator_loc: ∅
+ │ │ │ │ │ ├── name: :d
+ │ │ │ │ │ ├── message_loc: (37,6)-(37,7) = "d"
+ │ │ │ │ │ ├── opening_loc: ∅
+ │ │ │ │ │ ├── arguments: ∅
+ │ │ │ │ │ ├── closing_loc: ∅
+ │ │ │ │ │ └── block: ∅
+ │ │ │ │ ├── closing_loc: (37,7)-(37,8) = ")"
+ │ │ │ │ └── block: ∅
+ │ │ │ ├── opening_loc: (37,3)-(37,4) = "{"
+ │ │ │ └── closing_loc: (37,8)-(37,9) = "}"
+ │ │ └── @ RationalNode (location: (37,11)-(37,15))
+ │ │ └── numeric:
+ │ │ @ FloatNode (location: (37,11)-(37,14))
│ ├── closing_loc: ∅
- │ ├── block:
- │ │ @ BlockNode (location: (37,16)-(37,22))
- │ │ ├── locals: []
- │ │ ├── locals_body_index: 0
- │ │ ├── parameters: ∅
- │ │ ├── body: ∅
- │ │ ├── opening_loc: (37,16)-(37,18) = "do"
- │ │ └── closing_loc: (37,19)-(37,22) = "end"
- │ └── flags: ∅
+ │ └── block:
+ │ @ BlockNode (location: (37,16)-(37,22))
+ │ ├── locals: []
+ │ ├── locals_body_index: 0
+ │ ├── parameters: ∅
+ │ ├── body: ∅
+ │ ├── opening_loc: (37,16)-(37,18) = "do"
+ │ └── closing_loc: (37,19)-(37,22) = "end"
└── @ CallNode (location: (39,0)-(39,20))
+ ├── flags: ∅
├── receiver: ∅
├── call_operator_loc: ∅
├── name: :a
@@ -1180,62 +1181,61 @@
├── opening_loc: ∅
├── arguments:
│ @ ArgumentsNode (location: (39,2)-(39,13))
- │ ├── arguments: (length: 2)
- │ │ ├── @ CallNode (location: (39,2)-(39,9))
- │ │ │ ├── receiver: ∅
- │ │ │ ├── call_operator_loc: ∅
- │ │ │ ├── name: :b
- │ │ │ ├── message_loc: (39,2)-(39,3) = "b"
- │ │ │ ├── opening_loc: ∅
- │ │ │ ├── arguments: ∅
- │ │ │ ├── closing_loc: ∅
- │ │ │ ├── block:
- │ │ │ │ @ BlockNode (location: (39,3)-(39,9))
- │ │ │ │ ├── locals: []
- │ │ │ │ ├── locals_body_index: 0
- │ │ │ │ ├── parameters: ∅
- │ │ │ │ ├── body:
- │ │ │ │ │ @ StatementsNode (location: (39,4)-(39,8))
- │ │ │ │ │ └── body: (length: 1)
- │ │ │ │ │ └── @ CallNode (location: (39,4)-(39,8))
- │ │ │ │ │ ├── receiver: ∅
- │ │ │ │ │ ├── call_operator_loc: ∅
- │ │ │ │ │ ├── name: :c
- │ │ │ │ │ ├── message_loc: (39,4)-(39,5) = "c"
- │ │ │ │ │ ├── opening_loc: (39,5)-(39,6) = "("
- │ │ │ │ │ ├── arguments:
- │ │ │ │ │ │ @ ArgumentsNode (location: (39,6)-(39,7))
- │ │ │ │ │ │ ├── arguments: (length: 1)
- │ │ │ │ │ │ │ └── @ CallNode (location: (39,6)-(39,7))
- │ │ │ │ │ │ │ ├── receiver: ∅
- │ │ │ │ │ │ │ ├── call_operator_loc: ∅
- │ │ │ │ │ │ │ ├── name: :d
- │ │ │ │ │ │ │ ├── message_loc: (39,6)-(39,7) = "d"
- │ │ │ │ │ │ │ ├── opening_loc: ∅
- │ │ │ │ │ │ │ ├── arguments: ∅
- │ │ │ │ │ │ │ ├── closing_loc: ∅
- │ │ │ │ │ │ │ ├── block: ∅
- │ │ │ │ │ │ │ └── flags: variable_call
- │ │ │ │ │ │ └── flags: ∅
- │ │ │ │ │ ├── closing_loc: (39,7)-(39,8) = ")"
- │ │ │ │ │ ├── block: ∅
- │ │ │ │ │ └── flags: ∅
- │ │ │ │ ├── opening_loc: (39,3)-(39,4) = "{"
- │ │ │ │ └── closing_loc: (39,8)-(39,9) = "}"
- │ │ │ └── flags: ∅
- │ │ └── @ SymbolNode (location: (39,11)-(39,13))
- │ │ ├── opening_loc: (39,11)-(39,12) = ":"
- │ │ ├── value_loc: (39,12)-(39,13) = "e"
- │ │ ├── closing_loc: ∅
- │ │ └── unescaped: "e"
- │ └── flags: ∅
+ │ ├── flags: ∅
+ │ └── arguments: (length: 2)
+ │ ├── @ CallNode (location: (39,2)-(39,9))
+ │ │ ├── flags: ∅
+ │ │ ├── receiver: ∅
+ │ │ ├── call_operator_loc: ∅
+ │ │ ├── name: :b
+ │ │ ├── message_loc: (39,2)-(39,3) = "b"
+ │ │ ├── opening_loc: ∅
+ │ │ ├── arguments: ∅
+ │ │ ├── closing_loc: ∅
+ │ │ └── block:
+ │ │ @ BlockNode (location: (39,3)-(39,9))
+ │ │ ├── locals: []
+ │ │ ├── locals_body_index: 0
+ │ │ ├── parameters: ∅
+ │ │ ├── body:
+ │ │ │ @ StatementsNode (location: (39,4)-(39,8))
+ │ │ │ └── body: (length: 1)
+ │ │ │ └── @ CallNode (location: (39,4)-(39,8))
+ │ │ │ ├── flags: ∅
+ │ │ │ ├── receiver: ∅
+ │ │ │ ├── call_operator_loc: ∅
+ │ │ │ ├── name: :c
+ │ │ │ ├── message_loc: (39,4)-(39,5) = "c"
+ │ │ │ ├── opening_loc: (39,5)-(39,6) = "("
+ │ │ │ ├── arguments:
+ │ │ │ │ @ ArgumentsNode (location: (39,6)-(39,7))
+ │ │ │ │ ├── flags: ∅
+ │ │ │ │ └── arguments: (length: 1)
+ │ │ │ │ └── @ CallNode (location: (39,6)-(39,7))
+ │ │ │ │ ├── flags: variable_call
+ │ │ │ │ ├── receiver: ∅
+ │ │ │ │ ├── call_operator_loc: ∅
+ │ │ │ │ ├── name: :d
+ │ │ │ │ ├── message_loc: (39,6)-(39,7) = "d"
+ │ │ │ │ ├── opening_loc: ∅
+ │ │ │ │ ├── arguments: ∅
+ │ │ │ │ ├── closing_loc: ∅
+ │ │ │ │ └── block: ∅
+ │ │ │ ├── closing_loc: (39,7)-(39,8) = ")"
+ │ │ │ └── block: ∅
+ │ │ ├── opening_loc: (39,3)-(39,4) = "{"
+ │ │ └── closing_loc: (39,8)-(39,9) = "}"
+ │ └── @ SymbolNode (location: (39,11)-(39,13))
+ │ ├── opening_loc: (39,11)-(39,12) = ":"
+ │ ├── value_loc: (39,12)-(39,13) = "e"
+ │ ├── closing_loc: ∅
+ │ └── unescaped: "e"
├── closing_loc: ∅
- ├── block:
- │ @ BlockNode (location: (39,14)-(39,20))
- │ ├── locals: []
- │ ├── locals_body_index: 0
- │ ├── parameters: ∅
- │ ├── body: ∅
- │ ├── opening_loc: (39,14)-(39,16) = "do"
- │ └── closing_loc: (39,17)-(39,20) = "end"
- └── flags: ∅
+ └── block:
+ @ BlockNode (location: (39,14)-(39,20))
+ ├── locals: []
+ ├── locals_body_index: 0
+ ├── parameters: ∅
+ ├── body: ∅
+ ├── opening_loc: (39,14)-(39,16) = "do"
+ └── closing_loc: (39,17)-(39,20) = "end"
diff --git a/test/prism/snapshots/whitequark/ruby_bug_11873_b.txt b/test/prism/snapshots/whitequark/ruby_bug_11873_b.txt
index 2676fa70d9..62d3b0387d 100644
--- a/test/prism/snapshots/whitequark/ruby_bug_11873_b.txt
+++ b/test/prism/snapshots/whitequark/ruby_bug_11873_b.txt
@@ -4,6 +4,7 @@
@ StatementsNode (location: (1,0)-(1,25))
└── body: (length: 1)
└── @ CallNode (location: (1,0)-(1,25))
+ ├── flags: ∅
├── receiver: ∅
├── call_operator_loc: ∅
├── name: :p
@@ -11,90 +12,89 @@
├── opening_loc: ∅
├── arguments:
│ @ ArgumentsNode (location: (1,2)-(1,18))
- │ ├── arguments: (length: 2)
- │ │ ├── @ CallNode (location: (1,2)-(1,13))
- │ │ │ ├── receiver: ∅
- │ │ │ ├── call_operator_loc: ∅
- │ │ │ ├── name: :p
- │ │ │ ├── message_loc: (1,2)-(1,3) = "p"
- │ │ │ ├── opening_loc: ∅
- │ │ │ ├── arguments: ∅
- │ │ │ ├── closing_loc: ∅
- │ │ │ ├── block:
- │ │ │ │ @ BlockNode (location: (1,3)-(1,13))
- │ │ │ │ ├── locals: []
- │ │ │ │ ├── locals_body_index: 0
- │ │ │ │ ├── parameters: ∅
- │ │ │ │ ├── body:
- │ │ │ │ │ @ StatementsNode (location: (1,4)-(1,12))
- │ │ │ │ │ └── body: (length: 2)
- │ │ │ │ │ ├── @ CallNode (location: (1,4)-(1,8))
- │ │ │ │ │ │ ├── receiver: ∅
- │ │ │ │ │ │ ├── call_operator_loc: ∅
- │ │ │ │ │ │ ├── name: :p
- │ │ │ │ │ │ ├── message_loc: (1,4)-(1,5) = "p"
- │ │ │ │ │ │ ├── opening_loc: (1,5)-(1,6) = "("
- │ │ │ │ │ │ ├── arguments:
- │ │ │ │ │ │ │ @ ArgumentsNode (location: (1,6)-(1,7))
- │ │ │ │ │ │ │ ├── arguments: (length: 1)
- │ │ │ │ │ │ │ │ └── @ CallNode (location: (1,6)-(1,7))
- │ │ │ │ │ │ │ │ ├── receiver: ∅
- │ │ │ │ │ │ │ │ ├── call_operator_loc: ∅
- │ │ │ │ │ │ │ │ ├── name: :p
- │ │ │ │ │ │ │ │ ├── message_loc: (1,6)-(1,7) = "p"
- │ │ │ │ │ │ │ │ ├── opening_loc: ∅
- │ │ │ │ │ │ │ │ ├── arguments: ∅
- │ │ │ │ │ │ │ │ ├── closing_loc: ∅
- │ │ │ │ │ │ │ │ ├── block: ∅
- │ │ │ │ │ │ │ │ └── flags: variable_call
- │ │ │ │ │ │ │ └── flags: ∅
- │ │ │ │ │ │ ├── closing_loc: (1,7)-(1,8) = ")"
- │ │ │ │ │ │ ├── block: ∅
- │ │ │ │ │ │ └── flags: ∅
- │ │ │ │ │ └── @ CallNode (location: (1,9)-(1,12))
- │ │ │ │ │ ├── receiver: ∅
- │ │ │ │ │ ├── call_operator_loc: ∅
- │ │ │ │ │ ├── name: :p
- │ │ │ │ │ ├── message_loc: (1,9)-(1,10) = "p"
- │ │ │ │ │ ├── opening_loc: ∅
- │ │ │ │ │ ├── arguments:
- │ │ │ │ │ │ @ ArgumentsNode (location: (1,11)-(1,12))
- │ │ │ │ │ │ ├── arguments: (length: 1)
- │ │ │ │ │ │ │ └── @ CallNode (location: (1,11)-(1,12))
- │ │ │ │ │ │ │ ├── receiver: ∅
- │ │ │ │ │ │ │ ├── call_operator_loc: ∅
- │ │ │ │ │ │ │ ├── name: :p
- │ │ │ │ │ │ │ ├── message_loc: (1,11)-(1,12) = "p"
- │ │ │ │ │ │ │ ├── opening_loc: ∅
- │ │ │ │ │ │ │ ├── arguments: ∅
- │ │ │ │ │ │ │ ├── closing_loc: ∅
- │ │ │ │ │ │ │ ├── block: ∅
- │ │ │ │ │ │ │ └── flags: variable_call
- │ │ │ │ │ │ └── flags: ∅
- │ │ │ │ │ ├── closing_loc: ∅
- │ │ │ │ │ ├── block: ∅
- │ │ │ │ │ └── flags: ∅
- │ │ │ │ ├── opening_loc: (1,3)-(1,4) = "{"
- │ │ │ │ └── closing_loc: (1,12)-(1,13) = "}"
- │ │ │ └── flags: ∅
- │ │ └── @ CallNode (location: (1,15)-(1,18))
- │ │ ├── receiver: ∅
- │ │ ├── call_operator_loc: ∅
- │ │ ├── name: :tap
- │ │ ├── message_loc: (1,15)-(1,18) = "tap"
- │ │ ├── opening_loc: ∅
- │ │ ├── arguments: ∅
- │ │ ├── closing_loc: ∅
- │ │ ├── block: ∅
- │ │ └── flags: variable_call
- │ └── flags: ∅
+ │ ├── flags: ∅
+ │ └── arguments: (length: 2)
+ │ ├── @ CallNode (location: (1,2)-(1,13))
+ │ │ ├── flags: ∅
+ │ │ ├── receiver: ∅
+ │ │ ├── call_operator_loc: ∅
+ │ │ ├── name: :p
+ │ │ ├── message_loc: (1,2)-(1,3) = "p"
+ │ │ ├── opening_loc: ∅
+ │ │ ├── arguments: ∅
+ │ │ ├── closing_loc: ∅
+ │ │ └── block:
+ │ │ @ BlockNode (location: (1,3)-(1,13))
+ │ │ ├── locals: []
+ │ │ ├── locals_body_index: 0
+ │ │ ├── parameters: ∅
+ │ │ ├── body:
+ │ │ │ @ StatementsNode (location: (1,4)-(1,12))
+ │ │ │ └── body: (length: 2)
+ │ │ │ ├── @ CallNode (location: (1,4)-(1,8))
+ │ │ │ │ ├── flags: ∅
+ │ │ │ │ ├── receiver: ∅
+ │ │ │ │ ├── call_operator_loc: ∅
+ │ │ │ │ ├── name: :p
+ │ │ │ │ ├── message_loc: (1,4)-(1,5) = "p"
+ │ │ │ │ ├── opening_loc: (1,5)-(1,6) = "("
+ │ │ │ │ ├── arguments:
+ │ │ │ │ │ @ ArgumentsNode (location: (1,6)-(1,7))
+ │ │ │ │ │ ├── flags: ∅
+ │ │ │ │ │ └── arguments: (length: 1)
+ │ │ │ │ │ └── @ CallNode (location: (1,6)-(1,7))
+ │ │ │ │ │ ├── flags: variable_call
+ │ │ │ │ │ ├── receiver: ∅
+ │ │ │ │ │ ├── call_operator_loc: ∅
+ │ │ │ │ │ ├── name: :p
+ │ │ │ │ │ ├── message_loc: (1,6)-(1,7) = "p"
+ │ │ │ │ │ ├── opening_loc: ∅
+ │ │ │ │ │ ├── arguments: ∅
+ │ │ │ │ │ ├── closing_loc: ∅
+ │ │ │ │ │ └── block: ∅
+ │ │ │ │ ├── closing_loc: (1,7)-(1,8) = ")"
+ │ │ │ │ └── block: ∅
+ │ │ │ └── @ CallNode (location: (1,9)-(1,12))
+ │ │ │ ├── flags: ∅
+ │ │ │ ├── receiver: ∅
+ │ │ │ ├── call_operator_loc: ∅
+ │ │ │ ├── name: :p
+ │ │ │ ├── message_loc: (1,9)-(1,10) = "p"
+ │ │ │ ├── opening_loc: ∅
+ │ │ │ ├── arguments:
+ │ │ │ │ @ ArgumentsNode (location: (1,11)-(1,12))
+ │ │ │ │ ├── flags: ∅
+ │ │ │ │ └── arguments: (length: 1)
+ │ │ │ │ └── @ CallNode (location: (1,11)-(1,12))
+ │ │ │ │ ├── flags: variable_call
+ │ │ │ │ ├── receiver: ∅
+ │ │ │ │ ├── call_operator_loc: ∅
+ │ │ │ │ ├── name: :p
+ │ │ │ │ ├── message_loc: (1,11)-(1,12) = "p"
+ │ │ │ │ ├── opening_loc: ∅
+ │ │ │ │ ├── arguments: ∅
+ │ │ │ │ ├── closing_loc: ∅
+ │ │ │ │ └── block: ∅
+ │ │ │ ├── closing_loc: ∅
+ │ │ │ └── block: ∅
+ │ │ ├── opening_loc: (1,3)-(1,4) = "{"
+ │ │ └── closing_loc: (1,12)-(1,13) = "}"
+ │ └── @ CallNode (location: (1,15)-(1,18))
+ │ ├── flags: variable_call
+ │ ├── receiver: ∅
+ │ ├── call_operator_loc: ∅
+ │ ├── name: :tap
+ │ ├── message_loc: (1,15)-(1,18) = "tap"
+ │ ├── opening_loc: ∅
+ │ ├── arguments: ∅
+ │ ├── closing_loc: ∅
+ │ └── block: ∅
├── closing_loc: ∅
- ├── block:
- │ @ BlockNode (location: (1,19)-(1,25))
- │ ├── locals: []
- │ ├── locals_body_index: 0
- │ ├── parameters: ∅
- │ ├── body: ∅
- │ ├── opening_loc: (1,19)-(1,21) = "do"
- │ └── closing_loc: (1,22)-(1,25) = "end"
- └── flags: ∅
+ └── block:
+ @ BlockNode (location: (1,19)-(1,25))
+ ├── locals: []
+ ├── locals_body_index: 0
+ ├── parameters: ∅
+ ├── body: ∅
+ ├── opening_loc: (1,19)-(1,21) = "do"
+ └── closing_loc: (1,22)-(1,25) = "end"
diff --git a/test/prism/snapshots/whitequark/ruby_bug_11989.txt b/test/prism/snapshots/whitequark/ruby_bug_11989.txt
index b5379fa9cd..b853f81f46 100644
--- a/test/prism/snapshots/whitequark/ruby_bug_11989.txt
+++ b/test/prism/snapshots/whitequark/ruby_bug_11989.txt
@@ -4,6 +4,7 @@
@ StatementsNode (location: (1,0)-(1,8))
└── body: (length: 1)
└── @ CallNode (location: (1,0)-(1,8))
+ ├── flags: ∅
├── receiver: ∅
├── call_operator_loc: ∅
├── name: :p
@@ -11,14 +12,13 @@
├── opening_loc: ∅
├── arguments:
│ @ ArgumentsNode (location: (1,2)-(1,8))
- │ ├── arguments: (length: 1)
- │ │ └── @ StringNode (location: (1,2)-(1,8))
- │ │ ├── flags: ∅
- │ │ ├── opening_loc: (1,2)-(1,8) = "<<~\"E\""
- │ │ ├── content_loc: (2,0)-(3,0) = " x\\n y\n"
- │ │ ├── closing_loc: (3,0)-(4,0) = "E\n"
- │ │ └── unescaped: "x\n y\n"
- │ └── flags: ∅
+ │ ├── flags: ∅
+ │ └── arguments: (length: 1)
+ │ └── @ StringNode (location: (1,2)-(1,8))
+ │ ├── flags: ∅
+ │ ├── opening_loc: (1,2)-(1,8) = "<<~\"E\""
+ │ ├── content_loc: (2,0)-(3,0) = " x\\n y\n"
+ │ ├── closing_loc: (3,0)-(4,0) = "E\n"
+ │ └── unescaped: "x\n y\n"
├── closing_loc: ∅
- ├── block: ∅
- └── flags: ∅
+ └── block: ∅
diff --git a/test/prism/snapshots/whitequark/ruby_bug_11990.txt b/test/prism/snapshots/whitequark/ruby_bug_11990.txt
index beaeb1ec87..e726cff9bf 100644
--- a/test/prism/snapshots/whitequark/ruby_bug_11990.txt
+++ b/test/prism/snapshots/whitequark/ruby_bug_11990.txt
@@ -4,6 +4,7 @@
@ StatementsNode (location: (1,0)-(1,12))
└── body: (length: 1)
└── @ CallNode (location: (1,0)-(1,12))
+ ├── flags: ∅
├── receiver: ∅
├── call_operator_loc: ∅
├── name: :p
@@ -11,24 +12,23 @@
├── opening_loc: ∅
├── arguments:
│ @ ArgumentsNode (location: (1,2)-(1,12))
- │ ├── arguments: (length: 1)
- │ │ └── @ InterpolatedStringNode (location: (1,2)-(1,12))
- │ │ ├── opening_loc: ∅
- │ │ ├── parts: (length: 2)
- │ │ │ ├── @ StringNode (location: (1,2)-(1,6))
- │ │ │ │ ├── flags: ∅
- │ │ │ │ ├── opening_loc: (1,2)-(1,6) = "<<~E"
- │ │ │ │ ├── content_loc: (2,0)-(3,0) = " x\n"
- │ │ │ │ ├── closing_loc: (3,0)-(4,0) = "E\n"
- │ │ │ │ └── unescaped: "x\n"
- │ │ │ └── @ StringNode (location: (1,7)-(1,12))
- │ │ │ ├── flags: ∅
- │ │ │ ├── opening_loc: (1,7)-(1,8) = "\""
- │ │ │ ├── content_loc: (1,8)-(1,11) = " y"
- │ │ │ ├── closing_loc: (1,11)-(1,12) = "\""
- │ │ │ └── unescaped: " y"
- │ │ └── closing_loc: ∅
- │ └── flags: ∅
+ │ ├── flags: ∅
+ │ └── arguments: (length: 1)
+ │ └── @ InterpolatedStringNode (location: (1,2)-(1,12))
+ │ ├── opening_loc: ∅
+ │ ├── parts: (length: 2)
+ │ │ ├── @ StringNode (location: (1,2)-(1,6))
+ │ │ │ ├── flags: ∅
+ │ │ │ ├── opening_loc: (1,2)-(1,6) = "<<~E"
+ │ │ │ ├── content_loc: (2,0)-(3,0) = " x\n"
+ │ │ │ ├── closing_loc: (3,0)-(4,0) = "E\n"
+ │ │ │ └── unescaped: "x\n"
+ │ │ └── @ StringNode (location: (1,7)-(1,12))
+ │ │ ├── flags: ∅
+ │ │ ├── opening_loc: (1,7)-(1,8) = "\""
+ │ │ ├── content_loc: (1,8)-(1,11) = " y"
+ │ │ ├── closing_loc: (1,11)-(1,12) = "\""
+ │ │ └── unescaped: " y"
+ │ └── closing_loc: ∅
├── closing_loc: ∅
- ├── block: ∅
- └── flags: ∅
+ └── block: ∅
diff --git a/test/prism/snapshots/whitequark/ruby_bug_12073.txt b/test/prism/snapshots/whitequark/ruby_bug_12073.txt
index dc83733f19..3fcc2b5073 100644
--- a/test/prism/snapshots/whitequark/ruby_bug_12073.txt
+++ b/test/prism/snapshots/whitequark/ruby_bug_12073.txt
@@ -12,6 +12,7 @@
│ │ └── flags: decimal
│ └── operator_loc: (1,2)-(1,3) = "="
├── @ CallNode (location: (1,7)-(1,13))
+ │ ├── flags: ∅
│ ├── receiver: ∅
│ ├── call_operator_loc: ∅
│ ├── name: :a
@@ -19,24 +20,23 @@
│ ├── opening_loc: ∅
│ ├── arguments:
│ │ @ ArgumentsNode (location: (1,9)-(1,13))
- │ │ ├── arguments: (length: 1)
- │ │ │ └── @ KeywordHashNode (location: (1,9)-(1,13))
- │ │ │ └── elements: (length: 1)
- │ │ │ └── @ AssocNode (location: (1,9)-(1,13))
- │ │ │ ├── key:
- │ │ │ │ @ SymbolNode (location: (1,9)-(1,11))
- │ │ │ │ ├── opening_loc: ∅
- │ │ │ │ ├── value_loc: (1,9)-(1,10) = "b"
- │ │ │ │ ├── closing_loc: (1,10)-(1,11) = ":"
- │ │ │ │ └── unescaped: "b"
- │ │ │ ├── value:
- │ │ │ │ @ IntegerNode (location: (1,12)-(1,13))
- │ │ │ │ └── flags: decimal
- │ │ │ └── operator_loc: ∅
- │ │ └── flags: ∅
+ │ │ ├── flags: ∅
+ │ │ └── arguments: (length: 1)
+ │ │ └── @ KeywordHashNode (location: (1,9)-(1,13))
+ │ │ └── elements: (length: 1)
+ │ │ └── @ AssocNode (location: (1,9)-(1,13))
+ │ │ ├── key:
+ │ │ │ @ SymbolNode (location: (1,9)-(1,11))
+ │ │ │ ├── opening_loc: ∅
+ │ │ │ ├── value_loc: (1,9)-(1,10) = "b"
+ │ │ │ ├── closing_loc: (1,10)-(1,11) = ":"
+ │ │ │ └── unescaped: "b"
+ │ │ ├── value:
+ │ │ │ @ IntegerNode (location: (1,12)-(1,13))
+ │ │ │ └── flags: decimal
+ │ │ └── operator_loc: ∅
│ ├── closing_loc: ∅
- │ ├── block: ∅
- │ └── flags: ∅
+ │ └── block: ∅
└── @ DefNode (location: (3,0)-(3,34))
├── name: :foo
├── name_loc: (3,4)-(3,7) = "foo"
@@ -56,6 +56,7 @@
│ @ StatementsNode (location: (3,15)-(3,29))
│ └── body: (length: 1)
│ └── @ CallNode (location: (3,15)-(3,29))
+ │ ├── flags: ∅
│ ├── receiver: ∅
│ ├── call_operator_loc: ∅
│ ├── name: :raise
@@ -63,25 +64,24 @@
│ ├── opening_loc: ∅
│ ├── arguments:
│ │ @ ArgumentsNode (location: (3,21)-(3,29))
- │ │ ├── arguments: (length: 2)
- │ │ │ ├── @ ConstantPathNode (location: (3,21)-(3,25))
- │ │ │ │ ├── parent:
- │ │ │ │ │ @ ConstantReadNode (location: (3,21)-(3,22))
- │ │ │ │ │ └── name: :A
- │ │ │ │ ├── child:
- │ │ │ │ │ @ ConstantReadNode (location: (3,24)-(3,25))
- │ │ │ │ │ └── name: :B
- │ │ │ │ └── delimiter_loc: (3,22)-(3,24) = "::"
- │ │ │ └── @ StringNode (location: (3,27)-(3,29))
- │ │ │ ├── flags: ∅
- │ │ │ ├── opening_loc: (3,27)-(3,28) = "'"
- │ │ │ ├── content_loc: (3,28)-(3,28) = ""
- │ │ │ ├── closing_loc: (3,28)-(3,29) = "'"
- │ │ │ └── unescaped: ""
- │ │ └── flags: ∅
+ │ │ ├── flags: ∅
+ │ │ └── arguments: (length: 2)
+ │ │ ├── @ ConstantPathNode (location: (3,21)-(3,25))
+ │ │ │ ├── parent:
+ │ │ │ │ @ ConstantReadNode (location: (3,21)-(3,22))
+ │ │ │ │ └── name: :A
+ │ │ │ ├── child:
+ │ │ │ │ @ ConstantReadNode (location: (3,24)-(3,25))
+ │ │ │ │ └── name: :B
+ │ │ │ └── delimiter_loc: (3,22)-(3,24) = "::"
+ │ │ └── @ StringNode (location: (3,27)-(3,29))
+ │ │ ├── flags: ∅
+ │ │ ├── opening_loc: (3,27)-(3,28) = "'"
+ │ │ ├── content_loc: (3,28)-(3,28) = ""
+ │ │ ├── closing_loc: (3,28)-(3,29) = "'"
+ │ │ └── unescaped: ""
│ ├── closing_loc: ∅
- │ ├── block: ∅
- │ └── flags: ∅
+ │ └── block: ∅
├── locals: [:raise]
├── locals_body_index: 1
├── def_keyword_loc: (3,0)-(3,3) = "def"
diff --git a/test/prism/snapshots/whitequark/ruby_bug_12402.txt b/test/prism/snapshots/whitequark/ruby_bug_12402.txt
index a091e8baaf..76a8facca6 100644
--- a/test/prism/snapshots/whitequark/ruby_bug_12402.txt
+++ b/test/prism/snapshots/whitequark/ruby_bug_12402.txt
@@ -10,6 +10,7 @@
│ │ @ RescueModifierNode (location: (1,7)-(1,27))
│ │ ├── expression:
│ │ │ @ CallNode (location: (1,7)-(1,16))
+ │ │ │ ├── flags: ∅
│ │ │ ├── receiver: ∅
│ │ │ ├── call_operator_loc: ∅
│ │ │ ├── name: :raise
@@ -17,21 +18,20 @@
│ │ │ ├── opening_loc: ∅
│ │ │ ├── arguments:
│ │ │ │ @ ArgumentsNode (location: (1,13)-(1,16))
- │ │ │ │ ├── arguments: (length: 1)
- │ │ │ │ │ └── @ CallNode (location: (1,13)-(1,16))
- │ │ │ │ │ ├── receiver: ∅
- │ │ │ │ │ ├── call_operator_loc: ∅
- │ │ │ │ │ ├── name: :bar
- │ │ │ │ │ ├── message_loc: (1,13)-(1,16) = "bar"
- │ │ │ │ │ ├── opening_loc: ∅
- │ │ │ │ │ ├── arguments: ∅
- │ │ │ │ │ ├── closing_loc: ∅
- │ │ │ │ │ ├── block: ∅
- │ │ │ │ │ └── flags: variable_call
- │ │ │ │ └── flags: ∅
+ │ │ │ │ ├── flags: ∅
+ │ │ │ │ └── arguments: (length: 1)
+ │ │ │ │ └── @ CallNode (location: (1,13)-(1,16))
+ │ │ │ │ ├── flags: variable_call
+ │ │ │ │ ├── receiver: ∅
+ │ │ │ │ ├── call_operator_loc: ∅
+ │ │ │ │ ├── name: :bar
+ │ │ │ │ ├── message_loc: (1,13)-(1,16) = "bar"
+ │ │ │ │ ├── opening_loc: ∅
+ │ │ │ │ ├── arguments: ∅
+ │ │ │ │ ├── closing_loc: ∅
+ │ │ │ │ └── block: ∅
│ │ │ ├── closing_loc: ∅
- │ │ │ ├── block: ∅
- │ │ │ └── flags: ∅
+ │ │ │ └── block: ∅
│ │ ├── keyword_loc: (1,17)-(1,23) = "rescue"
│ │ └── rescue_expression:
│ │ @ NilNode (location: (1,24)-(1,27))
@@ -45,6 +45,7 @@
│ │ @ RescueModifierNode (location: (3,7)-(3,28))
│ │ ├── expression:
│ │ │ @ CallNode (location: (3,7)-(3,17))
+ │ │ │ ├── flags: ∅
│ │ │ ├── receiver: ∅
│ │ │ ├── call_operator_loc: ∅
│ │ │ ├── name: :raise
@@ -52,21 +53,20 @@
│ │ │ ├── opening_loc: (3,12)-(3,13) = "("
│ │ │ ├── arguments:
│ │ │ │ @ ArgumentsNode (location: (3,13)-(3,16))
- │ │ │ │ ├── arguments: (length: 1)
- │ │ │ │ │ └── @ CallNode (location: (3,13)-(3,16))
- │ │ │ │ │ ├── receiver: ∅
- │ │ │ │ │ ├── call_operator_loc: ∅
- │ │ │ │ │ ├── name: :bar
- │ │ │ │ │ ├── message_loc: (3,13)-(3,16) = "bar"
- │ │ │ │ │ ├── opening_loc: ∅
- │ │ │ │ │ ├── arguments: ∅
- │ │ │ │ │ ├── closing_loc: ∅
- │ │ │ │ │ ├── block: ∅
- │ │ │ │ │ └── flags: variable_call
- │ │ │ │ └── flags: ∅
+ │ │ │ │ ├── flags: ∅
+ │ │ │ │ └── arguments: (length: 1)
+ │ │ │ │ └── @ CallNode (location: (3,13)-(3,16))
+ │ │ │ │ ├── flags: variable_call
+ │ │ │ │ ├── receiver: ∅
+ │ │ │ │ ├── call_operator_loc: ∅
+ │ │ │ │ ├── name: :bar
+ │ │ │ │ ├── message_loc: (3,13)-(3,16) = "bar"
+ │ │ │ │ ├── opening_loc: ∅
+ │ │ │ │ ├── arguments: ∅
+ │ │ │ │ ├── closing_loc: ∅
+ │ │ │ │ └── block: ∅
│ │ │ ├── closing_loc: (3,16)-(3,17) = ")"
- │ │ │ ├── block: ∅
- │ │ │ └── flags: ∅
+ │ │ │ └── block: ∅
│ │ ├── keyword_loc: (3,18)-(3,24) = "rescue"
│ │ └── rescue_expression:
│ │ @ NilNode (location: (3,25)-(3,28))
@@ -81,6 +81,7 @@
│ │ @ RescueModifierNode (location: (5,6)-(5,26))
│ │ ├── expression:
│ │ │ @ CallNode (location: (5,6)-(5,15))
+ │ │ │ ├── flags: ∅
│ │ │ ├── receiver: ∅
│ │ │ ├── call_operator_loc: ∅
│ │ │ ├── name: :raise
@@ -88,21 +89,20 @@
│ │ │ ├── opening_loc: ∅
│ │ │ ├── arguments:
│ │ │ │ @ ArgumentsNode (location: (5,12)-(5,15))
- │ │ │ │ ├── arguments: (length: 1)
- │ │ │ │ │ └── @ CallNode (location: (5,12)-(5,15))
- │ │ │ │ │ ├── receiver: ∅
- │ │ │ │ │ ├── call_operator_loc: ∅
- │ │ │ │ │ ├── name: :bar
- │ │ │ │ │ ├── message_loc: (5,12)-(5,15) = "bar"
- │ │ │ │ │ ├── opening_loc: ∅
- │ │ │ │ │ ├── arguments: ∅
- │ │ │ │ │ ├── closing_loc: ∅
- │ │ │ │ │ ├── block: ∅
- │ │ │ │ │ └── flags: variable_call
- │ │ │ │ └── flags: ∅
+ │ │ │ │ ├── flags: ∅
+ │ │ │ │ └── arguments: (length: 1)
+ │ │ │ │ └── @ CallNode (location: (5,12)-(5,15))
+ │ │ │ │ ├── flags: variable_call
+ │ │ │ │ ├── receiver: ∅
+ │ │ │ │ ├── call_operator_loc: ∅
+ │ │ │ │ ├── name: :bar
+ │ │ │ │ ├── message_loc: (5,12)-(5,15) = "bar"
+ │ │ │ │ ├── opening_loc: ∅
+ │ │ │ │ ├── arguments: ∅
+ │ │ │ │ ├── closing_loc: ∅
+ │ │ │ │ └── block: ∅
│ │ │ ├── closing_loc: ∅
- │ │ │ ├── block: ∅
- │ │ │ └── flags: ∅
+ │ │ │ └── block: ∅
│ │ ├── keyword_loc: (5,16)-(5,22) = "rescue"
│ │ └── rescue_expression:
│ │ @ NilNode (location: (5,23)-(5,26))
@@ -115,6 +115,7 @@
│ │ @ RescueModifierNode (location: (7,6)-(7,27))
│ │ ├── expression:
│ │ │ @ CallNode (location: (7,6)-(7,16))
+ │ │ │ ├── flags: ∅
│ │ │ ├── receiver: ∅
│ │ │ ├── call_operator_loc: ∅
│ │ │ ├── name: :raise
@@ -122,33 +123,32 @@
│ │ │ ├── opening_loc: (7,11)-(7,12) = "("
│ │ │ ├── arguments:
│ │ │ │ @ ArgumentsNode (location: (7,12)-(7,15))
- │ │ │ │ ├── arguments: (length: 1)
- │ │ │ │ │ └── @ CallNode (location: (7,12)-(7,15))
- │ │ │ │ │ ├── receiver: ∅
- │ │ │ │ │ ├── call_operator_loc: ∅
- │ │ │ │ │ ├── name: :bar
- │ │ │ │ │ ├── message_loc: (7,12)-(7,15) = "bar"
- │ │ │ │ │ ├── opening_loc: ∅
- │ │ │ │ │ ├── arguments: ∅
- │ │ │ │ │ ├── closing_loc: ∅
- │ │ │ │ │ ├── block: ∅
- │ │ │ │ │ └── flags: variable_call
- │ │ │ │ └── flags: ∅
+ │ │ │ │ ├── flags: ∅
+ │ │ │ │ └── arguments: (length: 1)
+ │ │ │ │ └── @ CallNode (location: (7,12)-(7,15))
+ │ │ │ │ ├── flags: variable_call
+ │ │ │ │ ├── receiver: ∅
+ │ │ │ │ ├── call_operator_loc: ∅
+ │ │ │ │ ├── name: :bar
+ │ │ │ │ ├── message_loc: (7,12)-(7,15) = "bar"
+ │ │ │ │ ├── opening_loc: ∅
+ │ │ │ │ ├── arguments: ∅
+ │ │ │ │ ├── closing_loc: ∅
+ │ │ │ │ └── block: ∅
│ │ │ ├── closing_loc: (7,15)-(7,16) = ")"
- │ │ │ ├── block: ∅
- │ │ │ └── flags: ∅
+ │ │ │ └── block: ∅
│ │ ├── keyword_loc: (7,17)-(7,23) = "rescue"
│ │ └── rescue_expression:
│ │ @ NilNode (location: (7,24)-(7,27))
│ └── operator_loc: (7,4)-(7,5) = "="
├── @ CallOperatorWriteNode (location: (9,0)-(9,29))
+ │ ├── flags: ∅
│ ├── receiver:
│ │ @ LocalVariableReadNode (location: (9,0)-(9,3))
│ │ ├── name: :foo
│ │ └── depth: 0
│ ├── call_operator_loc: (9,3)-(9,4) = "."
│ ├── message_loc: (9,4)-(9,5) = "C"
- │ ├── flags: ∅
│ ├── read_name: :C
│ ├── write_name: :C=
│ ├── operator: :+
@@ -157,6 +157,7 @@
│ @ RescueModifierNode (location: (9,9)-(9,29))
│ ├── expression:
│ │ @ CallNode (location: (9,9)-(9,18))
+ │ │ ├── flags: ∅
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
│ │ ├── name: :raise
@@ -164,32 +165,31 @@
│ │ ├── opening_loc: ∅
│ │ ├── arguments:
│ │ │ @ ArgumentsNode (location: (9,15)-(9,18))
- │ │ │ ├── arguments: (length: 1)
- │ │ │ │ └── @ CallNode (location: (9,15)-(9,18))
- │ │ │ │ ├── receiver: ∅
- │ │ │ │ ├── call_operator_loc: ∅
- │ │ │ │ ├── name: :bar
- │ │ │ │ ├── message_loc: (9,15)-(9,18) = "bar"
- │ │ │ │ ├── opening_loc: ∅
- │ │ │ │ ├── arguments: ∅
- │ │ │ │ ├── closing_loc: ∅
- │ │ │ │ ├── block: ∅
- │ │ │ │ └── flags: variable_call
- │ │ │ └── flags: ∅
+ │ │ │ ├── flags: ∅
+ │ │ │ └── arguments: (length: 1)
+ │ │ │ └── @ CallNode (location: (9,15)-(9,18))
+ │ │ │ ├── flags: variable_call
+ │ │ │ ├── receiver: ∅
+ │ │ │ ├── call_operator_loc: ∅
+ │ │ │ ├── name: :bar
+ │ │ │ ├── message_loc: (9,15)-(9,18) = "bar"
+ │ │ │ ├── opening_loc: ∅
+ │ │ │ ├── arguments: ∅
+ │ │ │ ├── closing_loc: ∅
+ │ │ │ └── block: ∅
│ │ ├── closing_loc: ∅
- │ │ ├── block: ∅
- │ │ └── flags: ∅
+ │ │ └── block: ∅
│ ├── keyword_loc: (9,19)-(9,25) = "rescue"
│ └── rescue_expression:
│ @ NilNode (location: (9,26)-(9,29))
├── @ CallOperatorWriteNode (location: (11,0)-(11,30))
+ │ ├── flags: ∅
│ ├── receiver:
│ │ @ LocalVariableReadNode (location: (11,0)-(11,3))
│ │ ├── name: :foo
│ │ └── depth: 0
│ ├── call_operator_loc: (11,3)-(11,4) = "."
│ ├── message_loc: (11,4)-(11,5) = "C"
- │ ├── flags: ∅
│ ├── read_name: :C
│ ├── write_name: :C=
│ ├── operator: :+
@@ -198,6 +198,7 @@
│ @ RescueModifierNode (location: (11,9)-(11,30))
│ ├── expression:
│ │ @ CallNode (location: (11,9)-(11,19))
+ │ │ ├── flags: ∅
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
│ │ ├── name: :raise
@@ -205,32 +206,31 @@
│ │ ├── opening_loc: (11,14)-(11,15) = "("
│ │ ├── arguments:
│ │ │ @ ArgumentsNode (location: (11,15)-(11,18))
- │ │ │ ├── arguments: (length: 1)
- │ │ │ │ └── @ CallNode (location: (11,15)-(11,18))
- │ │ │ │ ├── receiver: ∅
- │ │ │ │ ├── call_operator_loc: ∅
- │ │ │ │ ├── name: :bar
- │ │ │ │ ├── message_loc: (11,15)-(11,18) = "bar"
- │ │ │ │ ├── opening_loc: ∅
- │ │ │ │ ├── arguments: ∅
- │ │ │ │ ├── closing_loc: ∅
- │ │ │ │ ├── block: ∅
- │ │ │ │ └── flags: variable_call
- │ │ │ └── flags: ∅
+ │ │ │ ├── flags: ∅
+ │ │ │ └── arguments: (length: 1)
+ │ │ │ └── @ CallNode (location: (11,15)-(11,18))
+ │ │ │ ├── flags: variable_call
+ │ │ │ ├── receiver: ∅
+ │ │ │ ├── call_operator_loc: ∅
+ │ │ │ ├── name: :bar
+ │ │ │ ├── message_loc: (11,15)-(11,18) = "bar"
+ │ │ │ ├── opening_loc: ∅
+ │ │ │ ├── arguments: ∅
+ │ │ │ ├── closing_loc: ∅
+ │ │ │ └── block: ∅
│ │ ├── closing_loc: (11,18)-(11,19) = ")"
- │ │ ├── block: ∅
- │ │ └── flags: ∅
+ │ │ └── block: ∅
│ ├── keyword_loc: (11,20)-(11,26) = "rescue"
│ └── rescue_expression:
│ @ NilNode (location: (11,27)-(11,30))
├── @ CallOperatorWriteNode (location: (13,0)-(13,29))
+ │ ├── flags: ∅
│ ├── receiver:
│ │ @ LocalVariableReadNode (location: (13,0)-(13,3))
│ │ ├── name: :foo
│ │ └── depth: 0
│ ├── call_operator_loc: (13,3)-(13,4) = "."
│ ├── message_loc: (13,4)-(13,5) = "m"
- │ ├── flags: ∅
│ ├── read_name: :m
│ ├── write_name: :m=
│ ├── operator: :+
@@ -239,6 +239,7 @@
│ @ RescueModifierNode (location: (13,9)-(13,29))
│ ├── expression:
│ │ @ CallNode (location: (13,9)-(13,18))
+ │ │ ├── flags: ∅
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
│ │ ├── name: :raise
@@ -246,32 +247,31 @@
│ │ ├── opening_loc: ∅
│ │ ├── arguments:
│ │ │ @ ArgumentsNode (location: (13,15)-(13,18))
- │ │ │ ├── arguments: (length: 1)
- │ │ │ │ └── @ CallNode (location: (13,15)-(13,18))
- │ │ │ │ ├── receiver: ∅
- │ │ │ │ ├── call_operator_loc: ∅
- │ │ │ │ ├── name: :bar
- │ │ │ │ ├── message_loc: (13,15)-(13,18) = "bar"
- │ │ │ │ ├── opening_loc: ∅
- │ │ │ │ ├── arguments: ∅
- │ │ │ │ ├── closing_loc: ∅
- │ │ │ │ ├── block: ∅
- │ │ │ │ └── flags: variable_call
- │ │ │ └── flags: ∅
+ │ │ │ ├── flags: ∅
+ │ │ │ └── arguments: (length: 1)
+ │ │ │ └── @ CallNode (location: (13,15)-(13,18))
+ │ │ │ ├── flags: variable_call
+ │ │ │ ├── receiver: ∅
+ │ │ │ ├── call_operator_loc: ∅
+ │ │ │ ├── name: :bar
+ │ │ │ ├── message_loc: (13,15)-(13,18) = "bar"
+ │ │ │ ├── opening_loc: ∅
+ │ │ │ ├── arguments: ∅
+ │ │ │ ├── closing_loc: ∅
+ │ │ │ └── block: ∅
│ │ ├── closing_loc: ∅
- │ │ ├── block: ∅
- │ │ └── flags: ∅
+ │ │ └── block: ∅
│ ├── keyword_loc: (13,19)-(13,25) = "rescue"
│ └── rescue_expression:
│ @ NilNode (location: (13,26)-(13,29))
├── @ CallOperatorWriteNode (location: (15,0)-(15,30))
+ │ ├── flags: ∅
│ ├── receiver:
│ │ @ LocalVariableReadNode (location: (15,0)-(15,3))
│ │ ├── name: :foo
│ │ └── depth: 0
│ ├── call_operator_loc: (15,3)-(15,4) = "."
│ ├── message_loc: (15,4)-(15,5) = "m"
- │ ├── flags: ∅
│ ├── read_name: :m
│ ├── write_name: :m=
│ ├── operator: :+
@@ -280,6 +280,7 @@
│ @ RescueModifierNode (location: (15,9)-(15,30))
│ ├── expression:
│ │ @ CallNode (location: (15,9)-(15,19))
+ │ │ ├── flags: ∅
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
│ │ ├── name: :raise
@@ -287,21 +288,20 @@
│ │ ├── opening_loc: (15,14)-(15,15) = "("
│ │ ├── arguments:
│ │ │ @ ArgumentsNode (location: (15,15)-(15,18))
- │ │ │ ├── arguments: (length: 1)
- │ │ │ │ └── @ CallNode (location: (15,15)-(15,18))
- │ │ │ │ ├── receiver: ∅
- │ │ │ │ ├── call_operator_loc: ∅
- │ │ │ │ ├── name: :bar
- │ │ │ │ ├── message_loc: (15,15)-(15,18) = "bar"
- │ │ │ │ ├── opening_loc: ∅
- │ │ │ │ ├── arguments: ∅
- │ │ │ │ ├── closing_loc: ∅
- │ │ │ │ ├── block: ∅
- │ │ │ │ └── flags: variable_call
- │ │ │ └── flags: ∅
+ │ │ │ ├── flags: ∅
+ │ │ │ └── arguments: (length: 1)
+ │ │ │ └── @ CallNode (location: (15,15)-(15,18))
+ │ │ │ ├── flags: variable_call
+ │ │ │ ├── receiver: ∅
+ │ │ │ ├── call_operator_loc: ∅
+ │ │ │ ├── name: :bar
+ │ │ │ ├── message_loc: (15,15)-(15,18) = "bar"
+ │ │ │ ├── opening_loc: ∅
+ │ │ │ ├── arguments: ∅
+ │ │ │ ├── closing_loc: ∅
+ │ │ │ └── block: ∅
│ │ ├── closing_loc: (15,18)-(15,19) = ")"
- │ │ ├── block: ∅
- │ │ └── flags: ∅
+ │ │ └── block: ∅
│ ├── keyword_loc: (15,20)-(15,26) = "rescue"
│ └── rescue_expression:
│ @ NilNode (location: (15,27)-(15,30))
@@ -321,6 +321,7 @@
│ @ RescueModifierNode (location: (17,11)-(17,31))
│ ├── expression:
│ │ @ CallNode (location: (17,11)-(17,20))
+ │ │ ├── flags: ∅
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
│ │ ├── name: :raise
@@ -328,21 +329,20 @@
│ │ ├── opening_loc: ∅
│ │ ├── arguments:
│ │ │ @ ArgumentsNode (location: (17,17)-(17,20))
- │ │ │ ├── arguments: (length: 1)
- │ │ │ │ └── @ CallNode (location: (17,17)-(17,20))
- │ │ │ │ ├── receiver: ∅
- │ │ │ │ ├── call_operator_loc: ∅
- │ │ │ │ ├── name: :bar
- │ │ │ │ ├── message_loc: (17,17)-(17,20) = "bar"
- │ │ │ │ ├── opening_loc: ∅
- │ │ │ │ ├── arguments: ∅
- │ │ │ │ ├── closing_loc: ∅
- │ │ │ │ ├── block: ∅
- │ │ │ │ └── flags: variable_call
- │ │ │ └── flags: ∅
+ │ │ │ ├── flags: ∅
+ │ │ │ └── arguments: (length: 1)
+ │ │ │ └── @ CallNode (location: (17,17)-(17,20))
+ │ │ │ ├── flags: variable_call
+ │ │ │ ├── receiver: ∅
+ │ │ │ ├── call_operator_loc: ∅
+ │ │ │ ├── name: :bar
+ │ │ │ ├── message_loc: (17,17)-(17,20) = "bar"
+ │ │ │ ├── opening_loc: ∅
+ │ │ │ ├── arguments: ∅
+ │ │ │ ├── closing_loc: ∅
+ │ │ │ └── block: ∅
│ │ ├── closing_loc: ∅
- │ │ ├── block: ∅
- │ │ └── flags: ∅
+ │ │ └── block: ∅
│ ├── keyword_loc: (17,21)-(17,27) = "rescue"
│ └── rescue_expression:
│ @ NilNode (location: (17,28)-(17,31))
@@ -362,6 +362,7 @@
│ @ RescueModifierNode (location: (19,11)-(19,32))
│ ├── expression:
│ │ @ CallNode (location: (19,11)-(19,21))
+ │ │ ├── flags: ∅
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
│ │ ├── name: :raise
@@ -369,32 +370,31 @@
│ │ ├── opening_loc: (19,16)-(19,17) = "("
│ │ ├── arguments:
│ │ │ @ ArgumentsNode (location: (19,17)-(19,20))
- │ │ │ ├── arguments: (length: 1)
- │ │ │ │ └── @ CallNode (location: (19,17)-(19,20))
- │ │ │ │ ├── receiver: ∅
- │ │ │ │ ├── call_operator_loc: ∅
- │ │ │ │ ├── name: :bar
- │ │ │ │ ├── message_loc: (19,17)-(19,20) = "bar"
- │ │ │ │ ├── opening_loc: ∅
- │ │ │ │ ├── arguments: ∅
- │ │ │ │ ├── closing_loc: ∅
- │ │ │ │ ├── block: ∅
- │ │ │ │ └── flags: variable_call
- │ │ │ └── flags: ∅
+ │ │ │ ├── flags: ∅
+ │ │ │ └── arguments: (length: 1)
+ │ │ │ └── @ CallNode (location: (19,17)-(19,20))
+ │ │ │ ├── flags: variable_call
+ │ │ │ ├── receiver: ∅
+ │ │ │ ├── call_operator_loc: ∅
+ │ │ │ ├── name: :bar
+ │ │ │ ├── message_loc: (19,17)-(19,20) = "bar"
+ │ │ │ ├── opening_loc: ∅
+ │ │ │ ├── arguments: ∅
+ │ │ │ ├── closing_loc: ∅
+ │ │ │ └── block: ∅
│ │ ├── closing_loc: (19,20)-(19,21) = ")"
- │ │ ├── block: ∅
- │ │ └── flags: ∅
+ │ │ └── block: ∅
│ ├── keyword_loc: (19,22)-(19,28) = "rescue"
│ └── rescue_expression:
│ @ NilNode (location: (19,29)-(19,32))
├── @ CallOperatorWriteNode (location: (21,0)-(21,30))
+ │ ├── flags: ∅
│ ├── receiver:
│ │ @ LocalVariableReadNode (location: (21,0)-(21,3))
│ │ ├── name: :foo
│ │ └── depth: 0
│ ├── call_operator_loc: (21,3)-(21,5) = "::"
│ ├── message_loc: (21,5)-(21,6) = "m"
- │ ├── flags: ∅
│ ├── read_name: :m
│ ├── write_name: :m=
│ ├── operator: :+
@@ -403,6 +403,7 @@
│ @ RescueModifierNode (location: (21,10)-(21,30))
│ ├── expression:
│ │ @ CallNode (location: (21,10)-(21,19))
+ │ │ ├── flags: ∅
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
│ │ ├── name: :raise
@@ -410,32 +411,31 @@
│ │ ├── opening_loc: ∅
│ │ ├── arguments:
│ │ │ @ ArgumentsNode (location: (21,16)-(21,19))
- │ │ │ ├── arguments: (length: 1)
- │ │ │ │ └── @ CallNode (location: (21,16)-(21,19))
- │ │ │ │ ├── receiver: ∅
- │ │ │ │ ├── call_operator_loc: ∅
- │ │ │ │ ├── name: :bar
- │ │ │ │ ├── message_loc: (21,16)-(21,19) = "bar"
- │ │ │ │ ├── opening_loc: ∅
- │ │ │ │ ├── arguments: ∅
- │ │ │ │ ├── closing_loc: ∅
- │ │ │ │ ├── block: ∅
- │ │ │ │ └── flags: variable_call
- │ │ │ └── flags: ∅
+ │ │ │ ├── flags: ∅
+ │ │ │ └── arguments: (length: 1)
+ │ │ │ └── @ CallNode (location: (21,16)-(21,19))
+ │ │ │ ├── flags: variable_call
+ │ │ │ ├── receiver: ∅
+ │ │ │ ├── call_operator_loc: ∅
+ │ │ │ ├── name: :bar
+ │ │ │ ├── message_loc: (21,16)-(21,19) = "bar"
+ │ │ │ ├── opening_loc: ∅
+ │ │ │ ├── arguments: ∅
+ │ │ │ ├── closing_loc: ∅
+ │ │ │ └── block: ∅
│ │ ├── closing_loc: ∅
- │ │ ├── block: ∅
- │ │ └── flags: ∅
+ │ │ └── block: ∅
│ ├── keyword_loc: (21,20)-(21,26) = "rescue"
│ └── rescue_expression:
│ @ NilNode (location: (21,27)-(21,30))
├── @ CallOperatorWriteNode (location: (23,0)-(23,31))
+ │ ├── flags: ∅
│ ├── receiver:
│ │ @ LocalVariableReadNode (location: (23,0)-(23,3))
│ │ ├── name: :foo
│ │ └── depth: 0
│ ├── call_operator_loc: (23,3)-(23,5) = "::"
│ ├── message_loc: (23,5)-(23,6) = "m"
- │ ├── flags: ∅
│ ├── read_name: :m
│ ├── write_name: :m=
│ ├── operator: :+
@@ -444,6 +444,7 @@
│ @ RescueModifierNode (location: (23,10)-(23,31))
│ ├── expression:
│ │ @ CallNode (location: (23,10)-(23,20))
+ │ │ ├── flags: ∅
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
│ │ ├── name: :raise
@@ -451,25 +452,25 @@
│ │ ├── opening_loc: (23,15)-(23,16) = "("
│ │ ├── arguments:
│ │ │ @ ArgumentsNode (location: (23,16)-(23,19))
- │ │ │ ├── arguments: (length: 1)
- │ │ │ │ └── @ CallNode (location: (23,16)-(23,19))
- │ │ │ │ ├── receiver: ∅
- │ │ │ │ ├── call_operator_loc: ∅
- │ │ │ │ ├── name: :bar
- │ │ │ │ ├── message_loc: (23,16)-(23,19) = "bar"
- │ │ │ │ ├── opening_loc: ∅
- │ │ │ │ ├── arguments: ∅
- │ │ │ │ ├── closing_loc: ∅
- │ │ │ │ ├── block: ∅
- │ │ │ │ └── flags: variable_call
- │ │ │ └── flags: ∅
+ │ │ │ ├── flags: ∅
+ │ │ │ └── arguments: (length: 1)
+ │ │ │ └── @ CallNode (location: (23,16)-(23,19))
+ │ │ │ ├── flags: variable_call
+ │ │ │ ├── receiver: ∅
+ │ │ │ ├── call_operator_loc: ∅
+ │ │ │ ├── name: :bar
+ │ │ │ ├── message_loc: (23,16)-(23,19) = "bar"
+ │ │ │ ├── opening_loc: ∅
+ │ │ │ ├── arguments: ∅
+ │ │ │ ├── closing_loc: ∅
+ │ │ │ └── block: ∅
│ │ ├── closing_loc: (23,19)-(23,20) = ")"
- │ │ ├── block: ∅
- │ │ └── flags: ∅
+ │ │ └── block: ∅
│ ├── keyword_loc: (23,21)-(23,27) = "rescue"
│ └── rescue_expression:
│ @ NilNode (location: (23,28)-(23,31))
├── @ IndexOperatorWriteNode (location: (25,0)-(25,30))
+ │ ├── flags: ∅
│ ├── receiver:
│ │ @ LocalVariableReadNode (location: (25,0)-(25,3))
│ │ ├── name: :foo
@@ -478,19 +479,19 @@
│ ├── opening_loc: (25,3)-(25,4) = "["
│ ├── arguments:
│ │ @ ArgumentsNode (location: (25,4)-(25,5))
- │ │ ├── arguments: (length: 1)
- │ │ │ └── @ IntegerNode (location: (25,4)-(25,5))
- │ │ │ └── flags: decimal
- │ │ └── flags: ∅
+ │ │ ├── flags: ∅
+ │ │ └── arguments: (length: 1)
+ │ │ └── @ IntegerNode (location: (25,4)-(25,5))
+ │ │ └── flags: decimal
│ ├── closing_loc: (25,5)-(25,6) = "]"
│ ├── block: ∅
- │ ├── flags: ∅
│ ├── operator: :+
│ ├── operator_loc: (25,7)-(25,9) = "+="
│ └── value:
│ @ RescueModifierNode (location: (25,10)-(25,30))
│ ├── expression:
│ │ @ CallNode (location: (25,10)-(25,19))
+ │ │ ├── flags: ∅
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
│ │ ├── name: :raise
@@ -498,25 +499,25 @@
│ │ ├── opening_loc: ∅
│ │ ├── arguments:
│ │ │ @ ArgumentsNode (location: (25,16)-(25,19))
- │ │ │ ├── arguments: (length: 1)
- │ │ │ │ └── @ CallNode (location: (25,16)-(25,19))
- │ │ │ │ ├── receiver: ∅
- │ │ │ │ ├── call_operator_loc: ∅
- │ │ │ │ ├── name: :bar
- │ │ │ │ ├── message_loc: (25,16)-(25,19) = "bar"
- │ │ │ │ ├── opening_loc: ∅
- │ │ │ │ ├── arguments: ∅
- │ │ │ │ ├── closing_loc: ∅
- │ │ │ │ ├── block: ∅
- │ │ │ │ └── flags: variable_call
- │ │ │ └── flags: ∅
+ │ │ │ ├── flags: ∅
+ │ │ │ └── arguments: (length: 1)
+ │ │ │ └── @ CallNode (location: (25,16)-(25,19))
+ │ │ │ ├── flags: variable_call
+ │ │ │ ├── receiver: ∅
+ │ │ │ ├── call_operator_loc: ∅
+ │ │ │ ├── name: :bar
+ │ │ │ ├── message_loc: (25,16)-(25,19) = "bar"
+ │ │ │ ├── opening_loc: ∅
+ │ │ │ ├── arguments: ∅
+ │ │ │ ├── closing_loc: ∅
+ │ │ │ └── block: ∅
│ │ ├── closing_loc: ∅
- │ │ ├── block: ∅
- │ │ └── flags: ∅
+ │ │ └── block: ∅
│ ├── keyword_loc: (25,20)-(25,26) = "rescue"
│ └── rescue_expression:
│ @ NilNode (location: (25,27)-(25,30))
└── @ IndexOperatorWriteNode (location: (27,0)-(27,31))
+ ├── flags: ∅
├── receiver:
│ @ LocalVariableReadNode (location: (27,0)-(27,3))
│ ├── name: :foo
@@ -525,19 +526,19 @@
├── opening_loc: (27,3)-(27,4) = "["
├── arguments:
│ @ ArgumentsNode (location: (27,4)-(27,5))
- │ ├── arguments: (length: 1)
- │ │ └── @ IntegerNode (location: (27,4)-(27,5))
- │ │ └── flags: decimal
- │ └── flags: ∅
+ │ ├── flags: ∅
+ │ └── arguments: (length: 1)
+ │ └── @ IntegerNode (location: (27,4)-(27,5))
+ │ └── flags: decimal
├── closing_loc: (27,5)-(27,6) = "]"
├── block: ∅
- ├── flags: ∅
├── operator: :+
├── operator_loc: (27,7)-(27,9) = "+="
└── value:
@ RescueModifierNode (location: (27,10)-(27,31))
├── expression:
│ @ CallNode (location: (27,10)-(27,20))
+ │ ├── flags: ∅
│ ├── receiver: ∅
│ ├── call_operator_loc: ∅
│ ├── name: :raise
@@ -545,21 +546,20 @@
│ ├── opening_loc: (27,15)-(27,16) = "("
│ ├── arguments:
│ │ @ ArgumentsNode (location: (27,16)-(27,19))
- │ │ ├── arguments: (length: 1)
- │ │ │ └── @ CallNode (location: (27,16)-(27,19))
- │ │ │ ├── receiver: ∅
- │ │ │ ├── call_operator_loc: ∅
- │ │ │ ├── name: :bar
- │ │ │ ├── message_loc: (27,16)-(27,19) = "bar"
- │ │ │ ├── opening_loc: ∅
- │ │ │ ├── arguments: ∅
- │ │ │ ├── closing_loc: ∅
- │ │ │ ├── block: ∅
- │ │ │ └── flags: variable_call
- │ │ └── flags: ∅
+ │ │ ├── flags: ∅
+ │ │ └── arguments: (length: 1)
+ │ │ └── @ CallNode (location: (27,16)-(27,19))
+ │ │ ├── flags: variable_call
+ │ │ ├── receiver: ∅
+ │ │ ├── call_operator_loc: ∅
+ │ │ ├── name: :bar
+ │ │ ├── message_loc: (27,16)-(27,19) = "bar"
+ │ │ ├── opening_loc: ∅
+ │ │ ├── arguments: ∅
+ │ │ ├── closing_loc: ∅
+ │ │ └── block: ∅
│ ├── closing_loc: (27,19)-(27,20) = ")"
- │ ├── block: ∅
- │ └── flags: ∅
+ │ └── block: ∅
├── keyword_loc: (27,21)-(27,27) = "rescue"
└── rescue_expression:
@ NilNode (location: (27,28)-(27,31))
diff --git a/test/prism/snapshots/whitequark/ruby_bug_12669.txt b/test/prism/snapshots/whitequark/ruby_bug_12669.txt
index 7b876221d2..021be28c8a 100644
--- a/test/prism/snapshots/whitequark/ruby_bug_12669.txt
+++ b/test/prism/snapshots/whitequark/ruby_bug_12669.txt
@@ -12,6 +12,7 @@
│ │ ├── operator_loc: (1,7)-(1,9) = "+="
│ │ ├── value:
│ │ │ @ CallNode (location: (1,10)-(1,18))
+ │ │ │ ├── flags: ∅
│ │ │ ├── receiver: ∅
│ │ │ ├── call_operator_loc: ∅
│ │ │ ├── name: :raise
@@ -19,16 +20,15 @@
│ │ │ ├── opening_loc: ∅
│ │ │ ├── arguments:
│ │ │ │ @ ArgumentsNode (location: (1,16)-(1,18))
- │ │ │ │ ├── arguments: (length: 1)
- │ │ │ │ │ └── @ SymbolNode (location: (1,16)-(1,18))
- │ │ │ │ │ ├── opening_loc: (1,16)-(1,17) = ":"
- │ │ │ │ │ ├── value_loc: (1,17)-(1,18) = "x"
- │ │ │ │ │ ├── closing_loc: ∅
- │ │ │ │ │ └── unescaped: "x"
- │ │ │ │ └── flags: ∅
+ │ │ │ │ ├── flags: ∅
+ │ │ │ │ └── arguments: (length: 1)
+ │ │ │ │ └── @ SymbolNode (location: (1,16)-(1,18))
+ │ │ │ │ ├── opening_loc: (1,16)-(1,17) = ":"
+ │ │ │ │ ├── value_loc: (1,17)-(1,18) = "x"
+ │ │ │ │ ├── closing_loc: ∅
+ │ │ │ │ └── unescaped: "x"
│ │ │ ├── closing_loc: ∅
- │ │ │ ├── block: ∅
- │ │ │ └── flags: ∅
+ │ │ │ └── block: ∅
│ │ ├── name: :b
│ │ ├── operator: :+
│ │ └── depth: 0
@@ -45,6 +45,7 @@
│ │ ├── name_loc: (3,5)-(3,6) = "b"
│ │ ├── value:
│ │ │ @ CallNode (location: (3,9)-(3,17))
+ │ │ │ ├── flags: ∅
│ │ │ ├── receiver: ∅
│ │ │ ├── call_operator_loc: ∅
│ │ │ ├── name: :raise
@@ -52,16 +53,15 @@
│ │ │ ├── opening_loc: ∅
│ │ │ ├── arguments:
│ │ │ │ @ ArgumentsNode (location: (3,15)-(3,17))
- │ │ │ │ ├── arguments: (length: 1)
- │ │ │ │ │ └── @ SymbolNode (location: (3,15)-(3,17))
- │ │ │ │ │ ├── opening_loc: (3,15)-(3,16) = ":"
- │ │ │ │ │ ├── value_loc: (3,16)-(3,17) = "x"
- │ │ │ │ │ ├── closing_loc: ∅
- │ │ │ │ │ └── unescaped: "x"
- │ │ │ │ └── flags: ∅
+ │ │ │ │ ├── flags: ∅
+ │ │ │ │ └── arguments: (length: 1)
+ │ │ │ │ └── @ SymbolNode (location: (3,15)-(3,17))
+ │ │ │ │ ├── opening_loc: (3,15)-(3,16) = ":"
+ │ │ │ │ ├── value_loc: (3,16)-(3,17) = "x"
+ │ │ │ │ ├── closing_loc: ∅
+ │ │ │ │ └── unescaped: "x"
│ │ │ ├── closing_loc: ∅
- │ │ │ ├── block: ∅
- │ │ │ └── flags: ∅
+ │ │ │ └── block: ∅
│ │ └── operator_loc: (3,7)-(3,8) = "="
│ ├── name: :a
│ ├── operator: :+
@@ -76,6 +76,7 @@
│ │ ├── operator_loc: (5,6)-(5,8) = "+="
│ │ ├── value:
│ │ │ @ CallNode (location: (5,9)-(5,17))
+ │ │ │ ├── flags: ∅
│ │ │ ├── receiver: ∅
│ │ │ ├── call_operator_loc: ∅
│ │ │ ├── name: :raise
@@ -83,16 +84,15 @@
│ │ │ ├── opening_loc: ∅
│ │ │ ├── arguments:
│ │ │ │ @ ArgumentsNode (location: (5,15)-(5,17))
- │ │ │ │ ├── arguments: (length: 1)
- │ │ │ │ │ └── @ SymbolNode (location: (5,15)-(5,17))
- │ │ │ │ │ ├── opening_loc: (5,15)-(5,16) = ":"
- │ │ │ │ │ ├── value_loc: (5,16)-(5,17) = "x"
- │ │ │ │ │ ├── closing_loc: ∅
- │ │ │ │ │ └── unescaped: "x"
- │ │ │ │ └── flags: ∅
+ │ │ │ │ ├── flags: ∅
+ │ │ │ │ └── arguments: (length: 1)
+ │ │ │ │ └── @ SymbolNode (location: (5,15)-(5,17))
+ │ │ │ │ ├── opening_loc: (5,15)-(5,16) = ":"
+ │ │ │ │ ├── value_loc: (5,16)-(5,17) = "x"
+ │ │ │ │ ├── closing_loc: ∅
+ │ │ │ │ └── unescaped: "x"
│ │ │ ├── closing_loc: ∅
- │ │ │ ├── block: ∅
- │ │ │ └── flags: ∅
+ │ │ │ └── block: ∅
│ │ ├── name: :b
│ │ ├── operator: :+
│ │ └── depth: 0
@@ -108,6 +108,7 @@
│ ├── name_loc: (7,4)-(7,5) = "b"
│ ├── value:
│ │ @ CallNode (location: (7,8)-(7,16))
+ │ │ ├── flags: ∅
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
│ │ ├── name: :raise
@@ -115,15 +116,14 @@
│ │ ├── opening_loc: ∅
│ │ ├── arguments:
│ │ │ @ ArgumentsNode (location: (7,14)-(7,16))
- │ │ │ ├── arguments: (length: 1)
- │ │ │ │ └── @ SymbolNode (location: (7,14)-(7,16))
- │ │ │ │ ├── opening_loc: (7,14)-(7,15) = ":"
- │ │ │ │ ├── value_loc: (7,15)-(7,16) = "x"
- │ │ │ │ ├── closing_loc: ∅
- │ │ │ │ └── unescaped: "x"
- │ │ │ └── flags: ∅
+ │ │ │ ├── flags: ∅
+ │ │ │ └── arguments: (length: 1)
+ │ │ │ └── @ SymbolNode (location: (7,14)-(7,16))
+ │ │ │ ├── opening_loc: (7,14)-(7,15) = ":"
+ │ │ │ ├── value_loc: (7,15)-(7,16) = "x"
+ │ │ │ ├── closing_loc: ∅
+ │ │ │ └── unescaped: "x"
│ │ ├── closing_loc: ∅
- │ │ ├── block: ∅
- │ │ └── flags: ∅
+ │ │ └── block: ∅
│ └── operator_loc: (7,6)-(7,7) = "="
└── operator_loc: (7,2)-(7,3) = "="
diff --git a/test/prism/snapshots/whitequark/ruby_bug_12686.txt b/test/prism/snapshots/whitequark/ruby_bug_12686.txt
index f94c195e19..d236b88348 100644
--- a/test/prism/snapshots/whitequark/ruby_bug_12686.txt
+++ b/test/prism/snapshots/whitequark/ruby_bug_12686.txt
@@ -4,6 +4,7 @@
@ StatementsNode (location: (1,0)-(1,16))
└── body: (length: 1)
└── @ CallNode (location: (1,0)-(1,16))
+ ├── flags: ∅
├── receiver: ∅
├── call_operator_loc: ∅
├── name: :f
@@ -11,29 +12,28 @@
├── opening_loc: ∅
├── arguments:
│ @ ArgumentsNode (location: (1,2)-(1,16))
- │ ├── arguments: (length: 1)
- │ │ └── @ ParenthesesNode (location: (1,2)-(1,16))
- │ │ ├── body:
- │ │ │ @ StatementsNode (location: (1,3)-(1,15))
- │ │ │ └── body: (length: 1)
- │ │ │ └── @ RescueModifierNode (location: (1,3)-(1,15))
- │ │ │ ├── expression:
- │ │ │ │ @ CallNode (location: (1,3)-(1,4))
- │ │ │ │ ├── receiver: ∅
- │ │ │ │ ├── call_operator_loc: ∅
- │ │ │ │ ├── name: :g
- │ │ │ │ ├── message_loc: (1,3)-(1,4) = "g"
- │ │ │ │ ├── opening_loc: ∅
- │ │ │ │ ├── arguments: ∅
- │ │ │ │ ├── closing_loc: ∅
- │ │ │ │ ├── block: ∅
- │ │ │ │ └── flags: variable_call
- │ │ │ ├── keyword_loc: (1,5)-(1,11) = "rescue"
- │ │ │ └── rescue_expression:
- │ │ │ @ NilNode (location: (1,12)-(1,15))
- │ │ ├── opening_loc: (1,2)-(1,3) = "("
- │ │ └── closing_loc: (1,15)-(1,16) = ")"
- │ └── flags: ∅
+ │ ├── flags: ∅
+ │ └── arguments: (length: 1)
+ │ └── @ ParenthesesNode (location: (1,2)-(1,16))
+ │ ├── body:
+ │ │ @ StatementsNode (location: (1,3)-(1,15))
+ │ │ └── body: (length: 1)
+ │ │ └── @ RescueModifierNode (location: (1,3)-(1,15))
+ │ │ ├── expression:
+ │ │ │ @ CallNode (location: (1,3)-(1,4))
+ │ │ │ ├── flags: variable_call
+ │ │ │ ├── receiver: ∅
+ │ │ │ ├── call_operator_loc: ∅
+ │ │ │ ├── name: :g
+ │ │ │ ├── message_loc: (1,3)-(1,4) = "g"
+ │ │ │ ├── opening_loc: ∅
+ │ │ │ ├── arguments: ∅
+ │ │ │ ├── closing_loc: ∅
+ │ │ │ └── block: ∅
+ │ │ ├── keyword_loc: (1,5)-(1,11) = "rescue"
+ │ │ └── rescue_expression:
+ │ │ @ NilNode (location: (1,12)-(1,15))
+ │ ├── opening_loc: (1,2)-(1,3) = "("
+ │ └── closing_loc: (1,15)-(1,16) = ")"
├── closing_loc: ∅
- ├── block: ∅
- └── flags: ∅
+ └── block: ∅
diff --git a/test/prism/snapshots/whitequark/ruby_bug_13547.txt b/test/prism/snapshots/whitequark/ruby_bug_13547.txt
index 86b8da6c02..3d1fdaf853 100644
--- a/test/prism/snapshots/whitequark/ruby_bug_13547.txt
+++ b/test/prism/snapshots/whitequark/ruby_bug_13547.txt
@@ -4,8 +4,10 @@
@ StatementsNode (location: (1,0)-(1,9))
└── body: (length: 1)
└── @ CallNode (location: (1,0)-(1,9))
+ ├── flags: ∅
├── receiver:
│ @ CallNode (location: (1,0)-(1,4))
+ │ ├── flags: variable_call
│ ├── receiver: ∅
│ ├── call_operator_loc: ∅
│ ├── name: :meth
@@ -13,20 +15,18 @@
│ ├── opening_loc: ∅
│ ├── arguments: ∅
│ ├── closing_loc: ∅
- │ ├── block: ∅
- │ └── flags: variable_call
+ │ └── block: ∅
├── call_operator_loc: ∅
├── name: :[]
├── message_loc: (1,4)-(1,6) = "[]"
├── opening_loc: (1,4)-(1,5) = "["
├── arguments: ∅
├── closing_loc: (1,5)-(1,6) = "]"
- ├── block:
- │ @ BlockNode (location: (1,7)-(1,9))
- │ ├── locals: []
- │ ├── locals_body_index: 0
- │ ├── parameters: ∅
- │ ├── body: ∅
- │ ├── opening_loc: (1,7)-(1,8) = "{"
- │ └── closing_loc: (1,8)-(1,9) = "}"
- └── flags: ∅
+ └── block:
+ @ BlockNode (location: (1,7)-(1,9))
+ ├── locals: []
+ ├── locals_body_index: 0
+ ├── parameters: ∅
+ ├── body: ∅
+ ├── opening_loc: (1,7)-(1,8) = "{"
+ └── closing_loc: (1,8)-(1,9) = "}"
diff --git a/test/prism/snapshots/whitequark/ruby_bug_14690.txt b/test/prism/snapshots/whitequark/ruby_bug_14690.txt
index 12814dbebc..f7fa7b0496 100644
--- a/test/prism/snapshots/whitequark/ruby_bug_14690.txt
+++ b/test/prism/snapshots/whitequark/ruby_bug_14690.txt
@@ -4,6 +4,7 @@
@ StatementsNode (location: (1,0)-(1,23))
└── body: (length: 1)
└── @ CallNode (location: (1,0)-(1,23))
+ ├── flags: ∅
├── receiver: ∅
├── call_operator_loc: ∅
├── name: :let
@@ -11,51 +12,50 @@
├── opening_loc: ∅
├── arguments:
│ @ ArgumentsNode (location: (1,4)-(1,6))
- │ ├── arguments: (length: 1)
- │ │ └── @ ParenthesesNode (location: (1,4)-(1,6))
- │ │ ├── body: ∅
- │ │ ├── opening_loc: (1,4)-(1,5) = "("
- │ │ └── closing_loc: (1,5)-(1,6) = ")"
- │ └── flags: ∅
+ │ ├── flags: ∅
+ │ └── arguments: (length: 1)
+ │ └── @ ParenthesesNode (location: (1,4)-(1,6))
+ │ ├── body: ∅
+ │ ├── opening_loc: (1,4)-(1,5) = "("
+ │ └── closing_loc: (1,5)-(1,6) = ")"
├── closing_loc: ∅
- ├── block:
- │ @ BlockNode (location: (1,7)-(1,23))
- │ ├── locals: []
- │ ├── locals_body_index: 0
- │ ├── parameters: ∅
- │ ├── body:
- │ │ @ StatementsNode (location: (1,9)-(1,21))
- │ │ └── body: (length: 1)
- │ │ └── @ CallNode (location: (1,9)-(1,21))
- │ │ ├── receiver: ∅
- │ │ ├── call_operator_loc: ∅
- │ │ ├── name: :m
- │ │ ├── message_loc: (1,9)-(1,10) = "m"
- │ │ ├── opening_loc: (1,10)-(1,11) = "("
- │ │ ├── arguments:
- │ │ │ @ ArgumentsNode (location: (1,11)-(1,12))
- │ │ │ ├── arguments: (length: 1)
- │ │ │ │ └── @ CallNode (location: (1,11)-(1,12))
- │ │ │ │ ├── receiver: ∅
- │ │ │ │ ├── call_operator_loc: ∅
- │ │ │ │ ├── name: :a
- │ │ │ │ ├── message_loc: (1,11)-(1,12) = "a"
- │ │ │ │ ├── opening_loc: ∅
- │ │ │ │ ├── arguments: ∅
- │ │ │ │ ├── closing_loc: ∅
- │ │ │ │ ├── block: ∅
- │ │ │ │ └── flags: variable_call
- │ │ │ └── flags: ∅
- │ │ ├── closing_loc: (1,12)-(1,13) = ")"
- │ │ ├── block:
- │ │ │ @ BlockNode (location: (1,14)-(1,21))
- │ │ │ ├── locals: []
- │ │ │ ├── locals_body_index: 0
- │ │ │ ├── parameters: ∅
- │ │ │ ├── body: ∅
- │ │ │ ├── opening_loc: (1,14)-(1,16) = "do"
- │ │ │ └── closing_loc: (1,18)-(1,21) = "end"
- │ │ └── flags: ∅
- │ ├── opening_loc: (1,7)-(1,8) = "{"
- │ └── closing_loc: (1,22)-(1,23) = "}"
- └── flags: ∅
+ └── block:
+ @ BlockNode (location: (1,7)-(1,23))
+ ├── locals: []
+ ├── locals_body_index: 0
+ ├── parameters: ∅
+ ├── body:
+ │ @ StatementsNode (location: (1,9)-(1,21))
+ │ └── body: (length: 1)
+ │ └── @ CallNode (location: (1,9)-(1,21))
+ │ ├── flags: ∅
+ │ ├── receiver: ∅
+ │ ├── call_operator_loc: ∅
+ │ ├── name: :m
+ │ ├── message_loc: (1,9)-(1,10) = "m"
+ │ ├── opening_loc: (1,10)-(1,11) = "("
+ │ ├── arguments:
+ │ │ @ ArgumentsNode (location: (1,11)-(1,12))
+ │ │ ├── flags: ∅
+ │ │ └── arguments: (length: 1)
+ │ │ └── @ CallNode (location: (1,11)-(1,12))
+ │ │ ├── flags: variable_call
+ │ │ ├── receiver: ∅
+ │ │ ├── call_operator_loc: ∅
+ │ │ ├── name: :a
+ │ │ ├── message_loc: (1,11)-(1,12) = "a"
+ │ │ ├── opening_loc: ∅
+ │ │ ├── arguments: ∅
+ │ │ ├── closing_loc: ∅
+ │ │ └── block: ∅
+ │ ├── closing_loc: (1,12)-(1,13) = ")"
+ │ └── block:
+ │ @ BlockNode (location: (1,14)-(1,21))
+ │ ├── locals: []
+ │ ├── locals_body_index: 0
+ │ ├── parameters: ∅
+ │ ├── body: ∅
+ │ ├── opening_loc: (1,14)-(1,16) = "do"
+ │ └── closing_loc: (1,18)-(1,21) = "end"
+ ├── opening_loc: (1,7)-(1,8) = "{"
+ └── closing_loc: (1,22)-(1,23) = "}"
diff --git a/test/prism/snapshots/whitequark/ruby_bug_15789.txt b/test/prism/snapshots/whitequark/ruby_bug_15789.txt
index 097b06b9fb..de09d37a4d 100644
--- a/test/prism/snapshots/whitequark/ruby_bug_15789.txt
+++ b/test/prism/snapshots/whitequark/ruby_bug_15789.txt
@@ -4,6 +4,7 @@
@ StatementsNode (location: (1,0)-(3,19))
└── body: (length: 2)
├── @ CallNode (location: (1,0)-(1,20))
+ │ ├── flags: ∅
│ ├── receiver: ∅
│ ├── call_operator_loc: ∅
│ ├── name: :m
@@ -11,58 +12,58 @@
│ ├── opening_loc: ∅
│ ├── arguments:
│ │ @ ArgumentsNode (location: (1,2)-(1,20))
- │ │ ├── arguments: (length: 1)
- │ │ │ └── @ LambdaNode (location: (1,2)-(1,20))
- │ │ │ ├── locals: [:a]
- │ │ │ ├── locals_body_index: 1
- │ │ │ ├── operator_loc: (1,2)-(1,4) = "->"
- │ │ │ ├── opening_loc: (1,17)-(1,18) = "{"
- │ │ │ ├── closing_loc: (1,19)-(1,20) = "}"
- │ │ │ ├── parameters:
- │ │ │ │ @ BlockParametersNode (location: (1,4)-(1,16))
- │ │ │ │ ├── parameters:
- │ │ │ │ │ @ ParametersNode (location: (1,5)-(1,15))
- │ │ │ │ │ ├── requireds: (length: 0)
- │ │ │ │ │ ├── optionals: (length: 1)
- │ │ │ │ │ │ └── @ OptionalParameterNode (location: (1,5)-(1,15))
- │ │ │ │ │ │ ├── name: :a
- │ │ │ │ │ │ ├── name_loc: (1,5)-(1,6) = "a"
- │ │ │ │ │ │ ├── operator_loc: (1,7)-(1,8) = "="
- │ │ │ │ │ │ └── value:
- │ │ │ │ │ │ @ LambdaNode (location: (1,9)-(1,15))
- │ │ │ │ │ │ ├── locals: [:_1]
- │ │ │ │ │ │ ├── locals_body_index: 1
- │ │ │ │ │ │ ├── operator_loc: (1,9)-(1,11) = "->"
- │ │ │ │ │ │ ├── opening_loc: (1,11)-(1,12) = "{"
- │ │ │ │ │ │ ├── closing_loc: (1,14)-(1,15) = "}"
- │ │ │ │ │ │ ├── parameters:
- │ │ │ │ │ │ │ @ NumberedParametersNode (location: (1,9)-(1,15))
- │ │ │ │ │ │ │ └── maximum: 1
- │ │ │ │ │ │ └── body:
- │ │ │ │ │ │ @ StatementsNode (location: (1,12)-(1,14))
- │ │ │ │ │ │ └── body: (length: 1)
- │ │ │ │ │ │ └── @ LocalVariableReadNode (location: (1,12)-(1,14))
- │ │ │ │ │ │ ├── name: :_1
- │ │ │ │ │ │ └── depth: 0
- │ │ │ │ │ ├── rest: ∅
- │ │ │ │ │ ├── posts: (length: 0)
- │ │ │ │ │ ├── keywords: (length: 0)
- │ │ │ │ │ ├── keyword_rest: ∅
- │ │ │ │ │ └── block: ∅
- │ │ │ │ ├── locals: (length: 0)
- │ │ │ │ ├── opening_loc: (1,4)-(1,5) = "("
- │ │ │ │ └── closing_loc: (1,15)-(1,16) = ")"
- │ │ │ └── body:
- │ │ │ @ StatementsNode (location: (1,18)-(1,19))
- │ │ │ └── body: (length: 1)
- │ │ │ └── @ LocalVariableReadNode (location: (1,18)-(1,19))
- │ │ │ ├── name: :a
- │ │ │ └── depth: 0
- │ │ └── flags: ∅
+ │ │ ├── flags: ∅
+ │ │ └── arguments: (length: 1)
+ │ │ └── @ LambdaNode (location: (1,2)-(1,20))
+ │ │ ├── locals: [:a]
+ │ │ ├── locals_body_index: 1
+ │ │ ├── operator_loc: (1,2)-(1,4) = "->"
+ │ │ ├── opening_loc: (1,17)-(1,18) = "{"
+ │ │ ├── closing_loc: (1,19)-(1,20) = "}"
+ │ │ ├── parameters:
+ │ │ │ @ BlockParametersNode (location: (1,4)-(1,16))
+ │ │ │ ├── parameters:
+ │ │ │ │ @ ParametersNode (location: (1,5)-(1,15))
+ │ │ │ │ ├── requireds: (length: 0)
+ │ │ │ │ ├── optionals: (length: 1)
+ │ │ │ │ │ └── @ OptionalParameterNode (location: (1,5)-(1,15))
+ │ │ │ │ │ ├── name: :a
+ │ │ │ │ │ ├── name_loc: (1,5)-(1,6) = "a"
+ │ │ │ │ │ ├── operator_loc: (1,7)-(1,8) = "="
+ │ │ │ │ │ └── value:
+ │ │ │ │ │ @ LambdaNode (location: (1,9)-(1,15))
+ │ │ │ │ │ ├── locals: [:_1]
+ │ │ │ │ │ ├── locals_body_index: 1
+ │ │ │ │ │ ├── operator_loc: (1,9)-(1,11) = "->"
+ │ │ │ │ │ ├── opening_loc: (1,11)-(1,12) = "{"
+ │ │ │ │ │ ├── closing_loc: (1,14)-(1,15) = "}"
+ │ │ │ │ │ ├── parameters:
+ │ │ │ │ │ │ @ NumberedParametersNode (location: (1,9)-(1,15))
+ │ │ │ │ │ │ └── maximum: 1
+ │ │ │ │ │ └── body:
+ │ │ │ │ │ @ StatementsNode (location: (1,12)-(1,14))
+ │ │ │ │ │ └── body: (length: 1)
+ │ │ │ │ │ └── @ LocalVariableReadNode (location: (1,12)-(1,14))
+ │ │ │ │ │ ├── name: :_1
+ │ │ │ │ │ └── depth: 0
+ │ │ │ │ ├── rest: ∅
+ │ │ │ │ ├── posts: (length: 0)
+ │ │ │ │ ├── keywords: (length: 0)
+ │ │ │ │ ├── keyword_rest: ∅
+ │ │ │ │ └── block: ∅
+ │ │ │ ├── locals: (length: 0)
+ │ │ │ ├── opening_loc: (1,4)-(1,5) = "("
+ │ │ │ └── closing_loc: (1,15)-(1,16) = ")"
+ │ │ └── body:
+ │ │ @ StatementsNode (location: (1,18)-(1,19))
+ │ │ └── body: (length: 1)
+ │ │ └── @ LocalVariableReadNode (location: (1,18)-(1,19))
+ │ │ ├── name: :a
+ │ │ └── depth: 0
│ ├── closing_loc: ∅
- │ ├── block: ∅
- │ └── flags: ∅
+ │ └── block: ∅
└── @ CallNode (location: (3,0)-(3,19))
+ ├── flags: ∅
├── receiver: ∅
├── call_operator_loc: ∅
├── name: :m
@@ -70,53 +71,52 @@
├── opening_loc: ∅
├── arguments:
│ @ ArgumentsNode (location: (3,2)-(3,19))
- │ ├── arguments: (length: 1)
- │ │ └── @ LambdaNode (location: (3,2)-(3,19))
- │ │ ├── locals: [:a]
- │ │ ├── locals_body_index: 1
- │ │ ├── operator_loc: (3,2)-(3,4) = "->"
- │ │ ├── opening_loc: (3,16)-(3,17) = "{"
- │ │ ├── closing_loc: (3,18)-(3,19) = "}"
- │ │ ├── parameters:
- │ │ │ @ BlockParametersNode (location: (3,4)-(3,15))
- │ │ │ ├── parameters:
- │ │ │ │ @ ParametersNode (location: (3,5)-(3,14))
- │ │ │ │ ├── requireds: (length: 0)
- │ │ │ │ ├── optionals: (length: 0)
- │ │ │ │ ├── rest: ∅
- │ │ │ │ ├── posts: (length: 0)
- │ │ │ │ ├── keywords: (length: 1)
- │ │ │ │ │ └── @ OptionalKeywordParameterNode (location: (3,5)-(3,14))
- │ │ │ │ │ ├── name: :a
- │ │ │ │ │ ├── name_loc: (3,5)-(3,7) = "a:"
- │ │ │ │ │ └── value:
- │ │ │ │ │ @ LambdaNode (location: (3,8)-(3,14))
- │ │ │ │ │ ├── locals: [:_1]
- │ │ │ │ │ ├── locals_body_index: 1
- │ │ │ │ │ ├── operator_loc: (3,8)-(3,10) = "->"
- │ │ │ │ │ ├── opening_loc: (3,10)-(3,11) = "{"
- │ │ │ │ │ ├── closing_loc: (3,13)-(3,14) = "}"
- │ │ │ │ │ ├── parameters:
- │ │ │ │ │ │ @ NumberedParametersNode (location: (3,8)-(3,14))
- │ │ │ │ │ │ └── maximum: 1
- │ │ │ │ │ └── body:
- │ │ │ │ │ @ StatementsNode (location: (3,11)-(3,13))
- │ │ │ │ │ └── body: (length: 1)
- │ │ │ │ │ └── @ LocalVariableReadNode (location: (3,11)-(3,13))
- │ │ │ │ │ ├── name: :_1
- │ │ │ │ │ └── depth: 0
- │ │ │ │ ├── keyword_rest: ∅
- │ │ │ │ └── block: ∅
- │ │ │ ├── locals: (length: 0)
- │ │ │ ├── opening_loc: (3,4)-(3,5) = "("
- │ │ │ └── closing_loc: (3,14)-(3,15) = ")"
- │ │ └── body:
- │ │ @ StatementsNode (location: (3,17)-(3,18))
- │ │ └── body: (length: 1)
- │ │ └── @ LocalVariableReadNode (location: (3,17)-(3,18))
- │ │ ├── name: :a
- │ │ └── depth: 0
- │ └── flags: ∅
+ │ ├── flags: ∅
+ │ └── arguments: (length: 1)
+ │ └── @ LambdaNode (location: (3,2)-(3,19))
+ │ ├── locals: [:a]
+ │ ├── locals_body_index: 1
+ │ ├── operator_loc: (3,2)-(3,4) = "->"
+ │ ├── opening_loc: (3,16)-(3,17) = "{"
+ │ ├── closing_loc: (3,18)-(3,19) = "}"
+ │ ├── parameters:
+ │ │ @ BlockParametersNode (location: (3,4)-(3,15))
+ │ │ ├── parameters:
+ │ │ │ @ ParametersNode (location: (3,5)-(3,14))
+ │ │ │ ├── requireds: (length: 0)
+ │ │ │ ├── optionals: (length: 0)
+ │ │ │ ├── rest: ∅
+ │ │ │ ├── posts: (length: 0)
+ │ │ │ ├── keywords: (length: 1)
+ │ │ │ │ └── @ OptionalKeywordParameterNode (location: (3,5)-(3,14))
+ │ │ │ │ ├── name: :a
+ │ │ │ │ ├── name_loc: (3,5)-(3,7) = "a:"
+ │ │ │ │ └── value:
+ │ │ │ │ @ LambdaNode (location: (3,8)-(3,14))
+ │ │ │ │ ├── locals: [:_1]
+ │ │ │ │ ├── locals_body_index: 1
+ │ │ │ │ ├── operator_loc: (3,8)-(3,10) = "->"
+ │ │ │ │ ├── opening_loc: (3,10)-(3,11) = "{"
+ │ │ │ │ ├── closing_loc: (3,13)-(3,14) = "}"
+ │ │ │ │ ├── parameters:
+ │ │ │ │ │ @ NumberedParametersNode (location: (3,8)-(3,14))
+ │ │ │ │ │ └── maximum: 1
+ │ │ │ │ └── body:
+ │ │ │ │ @ StatementsNode (location: (3,11)-(3,13))
+ │ │ │ │ └── body: (length: 1)
+ │ │ │ │ └── @ LocalVariableReadNode (location: (3,11)-(3,13))
+ │ │ │ │ ├── name: :_1
+ │ │ │ │ └── depth: 0
+ │ │ │ ├── keyword_rest: ∅
+ │ │ │ └── block: ∅
+ │ │ ├── locals: (length: 0)
+ │ │ ├── opening_loc: (3,4)-(3,5) = "("
+ │ │ └── closing_loc: (3,14)-(3,15) = ")"
+ │ └── body:
+ │ @ StatementsNode (location: (3,17)-(3,18))
+ │ └── body: (length: 1)
+ │ └── @ LocalVariableReadNode (location: (3,17)-(3,18))
+ │ ├── name: :a
+ │ └── depth: 0
├── closing_loc: ∅
- ├── block: ∅
- └── flags: ∅
+ └── block: ∅
diff --git a/test/prism/snapshots/whitequark/sclass.txt b/test/prism/snapshots/whitequark/sclass.txt
index a0e5c89e58..1947a4638d 100644
--- a/test/prism/snapshots/whitequark/sclass.txt
+++ b/test/prism/snapshots/whitequark/sclass.txt
@@ -9,6 +9,7 @@
├── operator_loc: (1,6)-(1,8) = "<<"
├── expression:
│ @ CallNode (location: (1,9)-(1,12))
+ │ ├── flags: variable_call
│ ├── receiver: ∅
│ ├── call_operator_loc: ∅
│ ├── name: :foo
@@ -16,8 +17,7 @@
│ ├── opening_loc: ∅
│ ├── arguments: ∅
│ ├── closing_loc: ∅
- │ ├── block: ∅
- │ └── flags: variable_call
+ │ └── block: ∅
├── body:
│ @ StatementsNode (location: (1,14)-(1,17))
│ └── body: (length: 1)
diff --git a/test/prism/snapshots/whitequark/send_attr_asgn.txt b/test/prism/snapshots/whitequark/send_attr_asgn.txt
index cf320bb707..948e52808b 100644
--- a/test/prism/snapshots/whitequark/send_attr_asgn.txt
+++ b/test/prism/snapshots/whitequark/send_attr_asgn.txt
@@ -4,8 +4,10 @@
@ StatementsNode (location: (1,0)-(7,10))
└── body: (length: 4)
├── @ CallNode (location: (1,0)-(1,9))
+ │ ├── flags: ∅
│ ├── receiver:
│ │ @ CallNode (location: (1,0)-(1,3))
+ │ │ ├── flags: variable_call
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
│ │ ├── name: :foo
@@ -13,24 +15,24 @@
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
- │ │ ├── block: ∅
- │ │ └── flags: variable_call
+ │ │ └── block: ∅
│ ├── call_operator_loc: (1,3)-(1,4) = "."
│ ├── name: :A=
│ ├── message_loc: (1,4)-(1,5) = "A"
│ ├── opening_loc: ∅
│ ├── arguments:
│ │ @ ArgumentsNode (location: (1,8)-(1,9))
- │ │ ├── arguments: (length: 1)
- │ │ │ └── @ IntegerNode (location: (1,8)-(1,9))
- │ │ │ └── flags: decimal
- │ │ └── flags: ∅
+ │ │ ├── flags: ∅
+ │ │ └── arguments: (length: 1)
+ │ │ └── @ IntegerNode (location: (1,8)-(1,9))
+ │ │ └── flags: decimal
│ ├── closing_loc: ∅
- │ ├── block: ∅
- │ └── flags: ∅
+ │ └── block: ∅
├── @ CallNode (location: (3,0)-(3,9))
+ │ ├── flags: ∅
│ ├── receiver:
│ │ @ CallNode (location: (3,0)-(3,3))
+ │ │ ├── flags: variable_call
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
│ │ ├── name: :foo
@@ -38,26 +40,25 @@
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
- │ │ ├── block: ∅
- │ │ └── flags: variable_call
+ │ │ └── block: ∅
│ ├── call_operator_loc: (3,3)-(3,4) = "."
│ ├── name: :a=
│ ├── message_loc: (3,4)-(3,5) = "a"
│ ├── opening_loc: ∅
│ ├── arguments:
│ │ @ ArgumentsNode (location: (3,8)-(3,9))
- │ │ ├── arguments: (length: 1)
- │ │ │ └── @ IntegerNode (location: (3,8)-(3,9))
- │ │ │ └── flags: decimal
- │ │ └── flags: ∅
+ │ │ ├── flags: ∅
+ │ │ └── arguments: (length: 1)
+ │ │ └── @ IntegerNode (location: (3,8)-(3,9))
+ │ │ └── flags: decimal
│ ├── closing_loc: ∅
- │ ├── block: ∅
- │ └── flags: ∅
+ │ └── block: ∅
├── @ ConstantPathWriteNode (location: (5,0)-(5,10))
│ ├── target:
│ │ @ ConstantPathNode (location: (5,0)-(5,6))
│ │ ├── parent:
│ │ │ @ CallNode (location: (5,0)-(5,3))
+ │ │ │ ├── flags: variable_call
│ │ │ ├── receiver: ∅
│ │ │ ├── call_operator_loc: ∅
│ │ │ ├── name: :foo
@@ -65,8 +66,7 @@
│ │ │ ├── opening_loc: ∅
│ │ │ ├── arguments: ∅
│ │ │ ├── closing_loc: ∅
- │ │ │ ├── block: ∅
- │ │ │ └── flags: variable_call
+ │ │ │ └── block: ∅
│ │ ├── child:
│ │ │ @ ConstantReadNode (location: (5,5)-(5,6))
│ │ │ └── name: :A
@@ -76,8 +76,10 @@
│ @ IntegerNode (location: (5,9)-(5,10))
│ └── flags: decimal
└── @ CallNode (location: (7,0)-(7,10))
+ ├── flags: ∅
├── receiver:
│ @ CallNode (location: (7,0)-(7,3))
+ │ ├── flags: variable_call
│ ├── receiver: ∅
│ ├── call_operator_loc: ∅
│ ├── name: :foo
@@ -85,18 +87,16 @@
│ ├── opening_loc: ∅
│ ├── arguments: ∅
│ ├── closing_loc: ∅
- │ ├── block: ∅
- │ └── flags: variable_call
+ │ └── block: ∅
├── call_operator_loc: (7,3)-(7,5) = "::"
├── name: :a=
├── message_loc: (7,5)-(7,6) = "a"
├── opening_loc: ∅
├── arguments:
│ @ ArgumentsNode (location: (7,9)-(7,10))
- │ ├── arguments: (length: 1)
- │ │ └── @ IntegerNode (location: (7,9)-(7,10))
- │ │ └── flags: decimal
- │ └── flags: ∅
+ │ ├── flags: ∅
+ │ └── arguments: (length: 1)
+ │ └── @ IntegerNode (location: (7,9)-(7,10))
+ │ └── flags: decimal
├── closing_loc: ∅
- ├── block: ∅
- └── flags: ∅
+ └── block: ∅
diff --git a/test/prism/snapshots/whitequark/send_attr_asgn_conditional.txt b/test/prism/snapshots/whitequark/send_attr_asgn_conditional.txt
index d7d36c5d7f..b29fef3feb 100644
--- a/test/prism/snapshots/whitequark/send_attr_asgn_conditional.txt
+++ b/test/prism/snapshots/whitequark/send_attr_asgn_conditional.txt
@@ -4,8 +4,10 @@
@ StatementsNode (location: (1,0)-(1,8))
└── body: (length: 1)
└── @ CallNode (location: (1,0)-(1,8))
+ ├── flags: safe_navigation
├── receiver:
│ @ CallNode (location: (1,0)-(1,1))
+ │ ├── flags: variable_call
│ ├── receiver: ∅
│ ├── call_operator_loc: ∅
│ ├── name: :a
@@ -13,18 +15,16 @@
│ ├── opening_loc: ∅
│ ├── arguments: ∅
│ ├── closing_loc: ∅
- │ ├── block: ∅
- │ └── flags: variable_call
+ │ └── block: ∅
├── call_operator_loc: (1,1)-(1,3) = "&."
├── name: :b=
├── message_loc: (1,3)-(1,4) = "b"
├── opening_loc: ∅
├── arguments:
│ @ ArgumentsNode (location: (1,7)-(1,8))
- │ ├── arguments: (length: 1)
- │ │ └── @ IntegerNode (location: (1,7)-(1,8))
- │ │ └── flags: decimal
- │ └── flags: ∅
+ │ ├── flags: ∅
+ │ └── arguments: (length: 1)
+ │ └── @ IntegerNode (location: (1,7)-(1,8))
+ │ └── flags: decimal
├── closing_loc: ∅
- ├── block: ∅
- └── flags: safe_navigation
+ └── block: ∅
diff --git a/test/prism/snapshots/whitequark/send_binary_op.txt b/test/prism/snapshots/whitequark/send_binary_op.txt
index bbbfafe8e1..c18eb69f2c 100644
--- a/test/prism/snapshots/whitequark/send_binary_op.txt
+++ b/test/prism/snapshots/whitequark/send_binary_op.txt
@@ -4,8 +4,10 @@
@ StatementsNode (location: (1,0)-(41,7))
└── body: (length: 21)
├── @ CallNode (location: (1,0)-(1,8))
+ │ ├── flags: ∅
│ ├── receiver:
│ │ @ CallNode (location: (1,0)-(1,3))
+ │ │ ├── flags: variable_call
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
│ │ ├── name: :foo
@@ -13,24 +15,24 @@
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
- │ │ ├── block: ∅
- │ │ └── flags: variable_call
+ │ │ └── block: ∅
│ ├── call_operator_loc: ∅
│ ├── name: :!=
│ ├── message_loc: (1,4)-(1,6) = "!="
│ ├── opening_loc: ∅
│ ├── arguments:
│ │ @ ArgumentsNode (location: (1,7)-(1,8))
- │ │ ├── arguments: (length: 1)
- │ │ │ └── @ IntegerNode (location: (1,7)-(1,8))
- │ │ │ └── flags: decimal
- │ │ └── flags: ∅
+ │ │ ├── flags: ∅
+ │ │ └── arguments: (length: 1)
+ │ │ └── @ IntegerNode (location: (1,7)-(1,8))
+ │ │ └── flags: decimal
│ ├── closing_loc: ∅
- │ ├── block: ∅
- │ └── flags: ∅
+ │ └── block: ∅
├── @ CallNode (location: (3,0)-(3,8))
+ │ ├── flags: ∅
│ ├── receiver:
│ │ @ CallNode (location: (3,0)-(3,3))
+ │ │ ├── flags: variable_call
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
│ │ ├── name: :foo
@@ -38,24 +40,24 @@
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
- │ │ ├── block: ∅
- │ │ └── flags: variable_call
+ │ │ └── block: ∅
│ ├── call_operator_loc: ∅
│ ├── name: :!~
│ ├── message_loc: (3,4)-(3,6) = "!~"
│ ├── opening_loc: ∅
│ ├── arguments:
│ │ @ ArgumentsNode (location: (3,7)-(3,8))
- │ │ ├── arguments: (length: 1)
- │ │ │ └── @ IntegerNode (location: (3,7)-(3,8))
- │ │ │ └── flags: decimal
- │ │ └── flags: ∅
+ │ │ ├── flags: ∅
+ │ │ └── arguments: (length: 1)
+ │ │ └── @ IntegerNode (location: (3,7)-(3,8))
+ │ │ └── flags: decimal
│ ├── closing_loc: ∅
- │ ├── block: ∅
- │ └── flags: ∅
+ │ └── block: ∅
├── @ CallNode (location: (5,0)-(5,7))
+ │ ├── flags: ∅
│ ├── receiver:
│ │ @ CallNode (location: (5,0)-(5,3))
+ │ │ ├── flags: variable_call
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
│ │ ├── name: :foo
@@ -63,24 +65,24 @@
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
- │ │ ├── block: ∅
- │ │ └── flags: variable_call
+ │ │ └── block: ∅
│ ├── call_operator_loc: ∅
│ ├── name: :%
│ ├── message_loc: (5,4)-(5,5) = "%"
│ ├── opening_loc: ∅
│ ├── arguments:
│ │ @ ArgumentsNode (location: (5,6)-(5,7))
- │ │ ├── arguments: (length: 1)
- │ │ │ └── @ IntegerNode (location: (5,6)-(5,7))
- │ │ │ └── flags: decimal
- │ │ └── flags: ∅
+ │ │ ├── flags: ∅
+ │ │ └── arguments: (length: 1)
+ │ │ └── @ IntegerNode (location: (5,6)-(5,7))
+ │ │ └── flags: decimal
│ ├── closing_loc: ∅
- │ ├── block: ∅
- │ └── flags: ∅
+ │ └── block: ∅
├── @ CallNode (location: (7,0)-(7,7))
+ │ ├── flags: ∅
│ ├── receiver:
│ │ @ CallNode (location: (7,0)-(7,3))
+ │ │ ├── flags: variable_call
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
│ │ ├── name: :foo
@@ -88,24 +90,24 @@
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
- │ │ ├── block: ∅
- │ │ └── flags: variable_call
+ │ │ └── block: ∅
│ ├── call_operator_loc: ∅
│ ├── name: :&
│ ├── message_loc: (7,4)-(7,5) = "&"
│ ├── opening_loc: ∅
│ ├── arguments:
│ │ @ ArgumentsNode (location: (7,6)-(7,7))
- │ │ ├── arguments: (length: 1)
- │ │ │ └── @ IntegerNode (location: (7,6)-(7,7))
- │ │ │ └── flags: decimal
- │ │ └── flags: ∅
+ │ │ ├── flags: ∅
+ │ │ └── arguments: (length: 1)
+ │ │ └── @ IntegerNode (location: (7,6)-(7,7))
+ │ │ └── flags: decimal
│ ├── closing_loc: ∅
- │ ├── block: ∅
- │ └── flags: ∅
+ │ └── block: ∅
├── @ CallNode (location: (9,0)-(9,7))
+ │ ├── flags: ∅
│ ├── receiver:
│ │ @ CallNode (location: (9,0)-(9,3))
+ │ │ ├── flags: variable_call
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
│ │ ├── name: :foo
@@ -113,24 +115,24 @@
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
- │ │ ├── block: ∅
- │ │ └── flags: variable_call
+ │ │ └── block: ∅
│ ├── call_operator_loc: ∅
│ ├── name: :*
│ ├── message_loc: (9,4)-(9,5) = "*"
│ ├── opening_loc: ∅
│ ├── arguments:
│ │ @ ArgumentsNode (location: (9,6)-(9,7))
- │ │ ├── arguments: (length: 1)
- │ │ │ └── @ IntegerNode (location: (9,6)-(9,7))
- │ │ │ └── flags: decimal
- │ │ └── flags: ∅
+ │ │ ├── flags: ∅
+ │ │ └── arguments: (length: 1)
+ │ │ └── @ IntegerNode (location: (9,6)-(9,7))
+ │ │ └── flags: decimal
│ ├── closing_loc: ∅
- │ ├── block: ∅
- │ └── flags: ∅
+ │ └── block: ∅
├── @ CallNode (location: (11,0)-(11,8))
+ │ ├── flags: ∅
│ ├── receiver:
│ │ @ CallNode (location: (11,0)-(11,3))
+ │ │ ├── flags: variable_call
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
│ │ ├── name: :foo
@@ -138,24 +140,24 @@
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
- │ │ ├── block: ∅
- │ │ └── flags: variable_call
+ │ │ └── block: ∅
│ ├── call_operator_loc: ∅
│ ├── name: :**
│ ├── message_loc: (11,4)-(11,6) = "**"
│ ├── opening_loc: ∅
│ ├── arguments:
│ │ @ ArgumentsNode (location: (11,7)-(11,8))
- │ │ ├── arguments: (length: 1)
- │ │ │ └── @ IntegerNode (location: (11,7)-(11,8))
- │ │ │ └── flags: decimal
- │ │ └── flags: ∅
+ │ │ ├── flags: ∅
+ │ │ └── arguments: (length: 1)
+ │ │ └── @ IntegerNode (location: (11,7)-(11,8))
+ │ │ └── flags: decimal
│ ├── closing_loc: ∅
- │ ├── block: ∅
- │ └── flags: ∅
+ │ └── block: ∅
├── @ CallNode (location: (13,0)-(13,7))
+ │ ├── flags: ∅
│ ├── receiver:
│ │ @ CallNode (location: (13,0)-(13,3))
+ │ │ ├── flags: variable_call
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
│ │ ├── name: :foo
@@ -163,24 +165,24 @@
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
- │ │ ├── block: ∅
- │ │ └── flags: variable_call
+ │ │ └── block: ∅
│ ├── call_operator_loc: ∅
│ ├── name: :+
│ ├── message_loc: (13,4)-(13,5) = "+"
│ ├── opening_loc: ∅
│ ├── arguments:
│ │ @ ArgumentsNode (location: (13,6)-(13,7))
- │ │ ├── arguments: (length: 1)
- │ │ │ └── @ IntegerNode (location: (13,6)-(13,7))
- │ │ │ └── flags: decimal
- │ │ └── flags: ∅
+ │ │ ├── flags: ∅
+ │ │ └── arguments: (length: 1)
+ │ │ └── @ IntegerNode (location: (13,6)-(13,7))
+ │ │ └── flags: decimal
│ ├── closing_loc: ∅
- │ ├── block: ∅
- │ └── flags: ∅
+ │ └── block: ∅
├── @ CallNode (location: (15,0)-(15,7))
+ │ ├── flags: ∅
│ ├── receiver:
│ │ @ CallNode (location: (15,0)-(15,3))
+ │ │ ├── flags: variable_call
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
│ │ ├── name: :foo
@@ -188,24 +190,24 @@
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
- │ │ ├── block: ∅
- │ │ └── flags: variable_call
+ │ │ └── block: ∅
│ ├── call_operator_loc: ∅
│ ├── name: :-
│ ├── message_loc: (15,4)-(15,5) = "-"
│ ├── opening_loc: ∅
│ ├── arguments:
│ │ @ ArgumentsNode (location: (15,6)-(15,7))
- │ │ ├── arguments: (length: 1)
- │ │ │ └── @ IntegerNode (location: (15,6)-(15,7))
- │ │ │ └── flags: decimal
- │ │ └── flags: ∅
+ │ │ ├── flags: ∅
+ │ │ └── arguments: (length: 1)
+ │ │ └── @ IntegerNode (location: (15,6)-(15,7))
+ │ │ └── flags: decimal
│ ├── closing_loc: ∅
- │ ├── block: ∅
- │ └── flags: ∅
+ │ └── block: ∅
├── @ CallNode (location: (17,0)-(17,7))
+ │ ├── flags: ∅
│ ├── receiver:
│ │ @ CallNode (location: (17,0)-(17,3))
+ │ │ ├── flags: variable_call
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
│ │ ├── name: :foo
@@ -213,24 +215,24 @@
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
- │ │ ├── block: ∅
- │ │ └── flags: variable_call
+ │ │ └── block: ∅
│ ├── call_operator_loc: ∅
│ ├── name: :/
│ ├── message_loc: (17,4)-(17,5) = "/"
│ ├── opening_loc: ∅
│ ├── arguments:
│ │ @ ArgumentsNode (location: (17,6)-(17,7))
- │ │ ├── arguments: (length: 1)
- │ │ │ └── @ IntegerNode (location: (17,6)-(17,7))
- │ │ │ └── flags: decimal
- │ │ └── flags: ∅
+ │ │ ├── flags: ∅
+ │ │ └── arguments: (length: 1)
+ │ │ └── @ IntegerNode (location: (17,6)-(17,7))
+ │ │ └── flags: decimal
│ ├── closing_loc: ∅
- │ ├── block: ∅
- │ └── flags: ∅
+ │ └── block: ∅
├── @ CallNode (location: (19,0)-(19,7))
+ │ ├── flags: ∅
│ ├── receiver:
│ │ @ CallNode (location: (19,0)-(19,3))
+ │ │ ├── flags: variable_call
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
│ │ ├── name: :foo
@@ -238,24 +240,24 @@
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
- │ │ ├── block: ∅
- │ │ └── flags: variable_call
+ │ │ └── block: ∅
│ ├── call_operator_loc: ∅
│ ├── name: :<
│ ├── message_loc: (19,4)-(19,5) = "<"
│ ├── opening_loc: ∅
│ ├── arguments:
│ │ @ ArgumentsNode (location: (19,6)-(19,7))
- │ │ ├── arguments: (length: 1)
- │ │ │ └── @ IntegerNode (location: (19,6)-(19,7))
- │ │ │ └── flags: decimal
- │ │ └── flags: ∅
+ │ │ ├── flags: ∅
+ │ │ └── arguments: (length: 1)
+ │ │ └── @ IntegerNode (location: (19,6)-(19,7))
+ │ │ └── flags: decimal
│ ├── closing_loc: ∅
- │ ├── block: ∅
- │ └── flags: ∅
+ │ └── block: ∅
├── @ CallNode (location: (21,0)-(21,8))
+ │ ├── flags: ∅
│ ├── receiver:
│ │ @ CallNode (location: (21,0)-(21,3))
+ │ │ ├── flags: variable_call
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
│ │ ├── name: :foo
@@ -263,24 +265,24 @@
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
- │ │ ├── block: ∅
- │ │ └── flags: variable_call
+ │ │ └── block: ∅
│ ├── call_operator_loc: ∅
│ ├── name: :<<
│ ├── message_loc: (21,4)-(21,6) = "<<"
│ ├── opening_loc: ∅
│ ├── arguments:
│ │ @ ArgumentsNode (location: (21,7)-(21,8))
- │ │ ├── arguments: (length: 1)
- │ │ │ └── @ IntegerNode (location: (21,7)-(21,8))
- │ │ │ └── flags: decimal
- │ │ └── flags: ∅
+ │ │ ├── flags: ∅
+ │ │ └── arguments: (length: 1)
+ │ │ └── @ IntegerNode (location: (21,7)-(21,8))
+ │ │ └── flags: decimal
│ ├── closing_loc: ∅
- │ ├── block: ∅
- │ └── flags: ∅
+ │ └── block: ∅
├── @ CallNode (location: (23,0)-(23,8))
+ │ ├── flags: ∅
│ ├── receiver:
│ │ @ CallNode (location: (23,0)-(23,3))
+ │ │ ├── flags: variable_call
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
│ │ ├── name: :foo
@@ -288,24 +290,24 @@
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
- │ │ ├── block: ∅
- │ │ └── flags: variable_call
+ │ │ └── block: ∅
│ ├── call_operator_loc: ∅
│ ├── name: :<=
│ ├── message_loc: (23,4)-(23,6) = "<="
│ ├── opening_loc: ∅
│ ├── arguments:
│ │ @ ArgumentsNode (location: (23,7)-(23,8))
- │ │ ├── arguments: (length: 1)
- │ │ │ └── @ IntegerNode (location: (23,7)-(23,8))
- │ │ │ └── flags: decimal
- │ │ └── flags: ∅
+ │ │ ├── flags: ∅
+ │ │ └── arguments: (length: 1)
+ │ │ └── @ IntegerNode (location: (23,7)-(23,8))
+ │ │ └── flags: decimal
│ ├── closing_loc: ∅
- │ ├── block: ∅
- │ └── flags: ∅
+ │ └── block: ∅
├── @ CallNode (location: (25,0)-(25,9))
+ │ ├── flags: ∅
│ ├── receiver:
│ │ @ CallNode (location: (25,0)-(25,3))
+ │ │ ├── flags: variable_call
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
│ │ ├── name: :foo
@@ -313,24 +315,24 @@
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
- │ │ ├── block: ∅
- │ │ └── flags: variable_call
+ │ │ └── block: ∅
│ ├── call_operator_loc: ∅
│ ├── name: :<=>
│ ├── message_loc: (25,4)-(25,7) = "<=>"
│ ├── opening_loc: ∅
│ ├── arguments:
│ │ @ ArgumentsNode (location: (25,8)-(25,9))
- │ │ ├── arguments: (length: 1)
- │ │ │ └── @ IntegerNode (location: (25,8)-(25,9))
- │ │ │ └── flags: decimal
- │ │ └── flags: ∅
+ │ │ ├── flags: ∅
+ │ │ └── arguments: (length: 1)
+ │ │ └── @ IntegerNode (location: (25,8)-(25,9))
+ │ │ └── flags: decimal
│ ├── closing_loc: ∅
- │ ├── block: ∅
- │ └── flags: ∅
+ │ └── block: ∅
├── @ CallNode (location: (27,0)-(27,8))
+ │ ├── flags: ∅
│ ├── receiver:
│ │ @ CallNode (location: (27,0)-(27,3))
+ │ │ ├── flags: variable_call
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
│ │ ├── name: :foo
@@ -338,24 +340,24 @@
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
- │ │ ├── block: ∅
- │ │ └── flags: variable_call
+ │ │ └── block: ∅
│ ├── call_operator_loc: ∅
│ ├── name: :==
│ ├── message_loc: (27,4)-(27,6) = "=="
│ ├── opening_loc: ∅
│ ├── arguments:
│ │ @ ArgumentsNode (location: (27,7)-(27,8))
- │ │ ├── arguments: (length: 1)
- │ │ │ └── @ IntegerNode (location: (27,7)-(27,8))
- │ │ │ └── flags: decimal
- │ │ └── flags: ∅
+ │ │ ├── flags: ∅
+ │ │ └── arguments: (length: 1)
+ │ │ └── @ IntegerNode (location: (27,7)-(27,8))
+ │ │ └── flags: decimal
│ ├── closing_loc: ∅
- │ ├── block: ∅
- │ └── flags: ∅
+ │ └── block: ∅
├── @ CallNode (location: (29,0)-(29,9))
+ │ ├── flags: ∅
│ ├── receiver:
│ │ @ CallNode (location: (29,0)-(29,3))
+ │ │ ├── flags: variable_call
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
│ │ ├── name: :foo
@@ -363,24 +365,24 @@
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
- │ │ ├── block: ∅
- │ │ └── flags: variable_call
+ │ │ └── block: ∅
│ ├── call_operator_loc: ∅
│ ├── name: :===
│ ├── message_loc: (29,4)-(29,7) = "==="
│ ├── opening_loc: ∅
│ ├── arguments:
│ │ @ ArgumentsNode (location: (29,8)-(29,9))
- │ │ ├── arguments: (length: 1)
- │ │ │ └── @ IntegerNode (location: (29,8)-(29,9))
- │ │ │ └── flags: decimal
- │ │ └── flags: ∅
+ │ │ ├── flags: ∅
+ │ │ └── arguments: (length: 1)
+ │ │ └── @ IntegerNode (location: (29,8)-(29,9))
+ │ │ └── flags: decimal
│ ├── closing_loc: ∅
- │ ├── block: ∅
- │ └── flags: ∅
+ │ └── block: ∅
├── @ CallNode (location: (31,0)-(31,8))
+ │ ├── flags: ∅
│ ├── receiver:
│ │ @ CallNode (location: (31,0)-(31,3))
+ │ │ ├── flags: variable_call
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
│ │ ├── name: :foo
@@ -388,24 +390,24 @@
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
- │ │ ├── block: ∅
- │ │ └── flags: variable_call
+ │ │ └── block: ∅
│ ├── call_operator_loc: ∅
│ ├── name: :=~
│ ├── message_loc: (31,4)-(31,6) = "=~"
│ ├── opening_loc: ∅
│ ├── arguments:
│ │ @ ArgumentsNode (location: (31,7)-(31,8))
- │ │ ├── arguments: (length: 1)
- │ │ │ └── @ IntegerNode (location: (31,7)-(31,8))
- │ │ │ └── flags: decimal
- │ │ └── flags: ∅
+ │ │ ├── flags: ∅
+ │ │ └── arguments: (length: 1)
+ │ │ └── @ IntegerNode (location: (31,7)-(31,8))
+ │ │ └── flags: decimal
│ ├── closing_loc: ∅
- │ ├── block: ∅
- │ └── flags: ∅
+ │ └── block: ∅
├── @ CallNode (location: (33,0)-(33,7))
+ │ ├── flags: ∅
│ ├── receiver:
│ │ @ CallNode (location: (33,0)-(33,3))
+ │ │ ├── flags: variable_call
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
│ │ ├── name: :foo
@@ -413,24 +415,24 @@
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
- │ │ ├── block: ∅
- │ │ └── flags: variable_call
+ │ │ └── block: ∅
│ ├── call_operator_loc: ∅
│ ├── name: :>
│ ├── message_loc: (33,4)-(33,5) = ">"
│ ├── opening_loc: ∅
│ ├── arguments:
│ │ @ ArgumentsNode (location: (33,6)-(33,7))
- │ │ ├── arguments: (length: 1)
- │ │ │ └── @ IntegerNode (location: (33,6)-(33,7))
- │ │ │ └── flags: decimal
- │ │ └── flags: ∅
+ │ │ ├── flags: ∅
+ │ │ └── arguments: (length: 1)
+ │ │ └── @ IntegerNode (location: (33,6)-(33,7))
+ │ │ └── flags: decimal
│ ├── closing_loc: ∅
- │ ├── block: ∅
- │ └── flags: ∅
+ │ └── block: ∅
├── @ CallNode (location: (35,0)-(35,8))
+ │ ├── flags: ∅
│ ├── receiver:
│ │ @ CallNode (location: (35,0)-(35,3))
+ │ │ ├── flags: variable_call
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
│ │ ├── name: :foo
@@ -438,24 +440,24 @@
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
- │ │ ├── block: ∅
- │ │ └── flags: variable_call
+ │ │ └── block: ∅
│ ├── call_operator_loc: ∅
│ ├── name: :>=
│ ├── message_loc: (35,4)-(35,6) = ">="
│ ├── opening_loc: ∅
│ ├── arguments:
│ │ @ ArgumentsNode (location: (35,7)-(35,8))
- │ │ ├── arguments: (length: 1)
- │ │ │ └── @ IntegerNode (location: (35,7)-(35,8))
- │ │ │ └── flags: decimal
- │ │ └── flags: ∅
+ │ │ ├── flags: ∅
+ │ │ └── arguments: (length: 1)
+ │ │ └── @ IntegerNode (location: (35,7)-(35,8))
+ │ │ └── flags: decimal
│ ├── closing_loc: ∅
- │ ├── block: ∅
- │ └── flags: ∅
+ │ └── block: ∅
├── @ CallNode (location: (37,0)-(37,8))
+ │ ├── flags: ∅
│ ├── receiver:
│ │ @ CallNode (location: (37,0)-(37,3))
+ │ │ ├── flags: variable_call
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
│ │ ├── name: :foo
@@ -463,24 +465,24 @@
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
- │ │ ├── block: ∅
- │ │ └── flags: variable_call
+ │ │ └── block: ∅
│ ├── call_operator_loc: ∅
│ ├── name: :>>
│ ├── message_loc: (37,4)-(37,6) = ">>"
│ ├── opening_loc: ∅
│ ├── arguments:
│ │ @ ArgumentsNode (location: (37,7)-(37,8))
- │ │ ├── arguments: (length: 1)
- │ │ │ └── @ IntegerNode (location: (37,7)-(37,8))
- │ │ │ └── flags: decimal
- │ │ └── flags: ∅
+ │ │ ├── flags: ∅
+ │ │ └── arguments: (length: 1)
+ │ │ └── @ IntegerNode (location: (37,7)-(37,8))
+ │ │ └── flags: decimal
│ ├── closing_loc: ∅
- │ ├── block: ∅
- │ └── flags: ∅
+ │ └── block: ∅
├── @ CallNode (location: (39,0)-(39,7))
+ │ ├── flags: ∅
│ ├── receiver:
│ │ @ CallNode (location: (39,0)-(39,3))
+ │ │ ├── flags: variable_call
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
│ │ ├── name: :foo
@@ -488,24 +490,24 @@
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
- │ │ ├── block: ∅
- │ │ └── flags: variable_call
+ │ │ └── block: ∅
│ ├── call_operator_loc: ∅
│ ├── name: :^
│ ├── message_loc: (39,4)-(39,5) = "^"
│ ├── opening_loc: ∅
│ ├── arguments:
│ │ @ ArgumentsNode (location: (39,6)-(39,7))
- │ │ ├── arguments: (length: 1)
- │ │ │ └── @ IntegerNode (location: (39,6)-(39,7))
- │ │ │ └── flags: decimal
- │ │ └── flags: ∅
+ │ │ ├── flags: ∅
+ │ │ └── arguments: (length: 1)
+ │ │ └── @ IntegerNode (location: (39,6)-(39,7))
+ │ │ └── flags: decimal
│ ├── closing_loc: ∅
- │ ├── block: ∅
- │ └── flags: ∅
+ │ └── block: ∅
└── @ CallNode (location: (41,0)-(41,7))
+ ├── flags: ∅
├── receiver:
│ @ CallNode (location: (41,0)-(41,3))
+ │ ├── flags: variable_call
│ ├── receiver: ∅
│ ├── call_operator_loc: ∅
│ ├── name: :foo
@@ -513,18 +515,16 @@
│ ├── opening_loc: ∅
│ ├── arguments: ∅
│ ├── closing_loc: ∅
- │ ├── block: ∅
- │ └── flags: variable_call
+ │ └── block: ∅
├── call_operator_loc: ∅
├── name: :|
├── message_loc: (41,4)-(41,5) = "|"
├── opening_loc: ∅
├── arguments:
│ @ ArgumentsNode (location: (41,6)-(41,7))
- │ ├── arguments: (length: 1)
- │ │ └── @ IntegerNode (location: (41,6)-(41,7))
- │ │ └── flags: decimal
- │ └── flags: ∅
+ │ ├── flags: ∅
+ │ └── arguments: (length: 1)
+ │ └── @ IntegerNode (location: (41,6)-(41,7))
+ │ └── flags: decimal
├── closing_loc: ∅
- ├── block: ∅
- └── flags: ∅
+ └── block: ∅
diff --git a/test/prism/snapshots/whitequark/send_block_chain_cmd.txt b/test/prism/snapshots/whitequark/send_block_chain_cmd.txt
index be905d2766..83e8186450 100644
--- a/test/prism/snapshots/whitequark/send_block_chain_cmd.txt
+++ b/test/prism/snapshots/whitequark/send_block_chain_cmd.txt
@@ -4,8 +4,10 @@
@ StatementsNode (location: (1,0)-(13,23))
└── body: (length: 7)
├── @ CallNode (location: (1,0)-(1,21))
+ │ ├── flags: ∅
│ ├── receiver:
│ │ @ CallNode (location: (1,0)-(1,13))
+ │ │ ├── flags: ∅
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
│ │ ├── name: :meth
@@ -13,44 +15,44 @@
│ │ ├── opening_loc: ∅
│ │ ├── arguments:
│ │ │ @ ArgumentsNode (location: (1,5)-(1,6))
- │ │ │ ├── arguments: (length: 1)
- │ │ │ │ └── @ IntegerNode (location: (1,5)-(1,6))
- │ │ │ │ └── flags: decimal
- │ │ │ └── flags: ∅
+ │ │ │ ├── flags: ∅
+ │ │ │ └── arguments: (length: 1)
+ │ │ │ └── @ IntegerNode (location: (1,5)-(1,6))
+ │ │ │ └── flags: decimal
│ │ ├── closing_loc: ∅
- │ │ ├── block:
- │ │ │ @ BlockNode (location: (1,7)-(1,13))
- │ │ │ ├── locals: []
- │ │ │ ├── locals_body_index: 0
- │ │ │ ├── parameters: ∅
- │ │ │ ├── body: ∅
- │ │ │ ├── opening_loc: (1,7)-(1,9) = "do"
- │ │ │ └── closing_loc: (1,10)-(1,13) = "end"
- │ │ └── flags: ∅
+ │ │ └── block:
+ │ │ @ BlockNode (location: (1,7)-(1,13))
+ │ │ ├── locals: []
+ │ │ ├── locals_body_index: 0
+ │ │ ├── parameters: ∅
+ │ │ ├── body: ∅
+ │ │ ├── opening_loc: (1,7)-(1,9) = "do"
+ │ │ └── closing_loc: (1,10)-(1,13) = "end"
│ ├── call_operator_loc: (1,13)-(1,14) = "."
│ ├── name: :fun
│ ├── message_loc: (1,14)-(1,17) = "fun"
│ ├── opening_loc: ∅
│ ├── arguments:
│ │ @ ArgumentsNode (location: (1,18)-(1,21))
- │ │ ├── arguments: (length: 1)
- │ │ │ └── @ CallNode (location: (1,18)-(1,21))
- │ │ │ ├── receiver: ∅
- │ │ │ ├── call_operator_loc: ∅
- │ │ │ ├── name: :bar
- │ │ │ ├── message_loc: (1,18)-(1,21) = "bar"
- │ │ │ ├── opening_loc: ∅
- │ │ │ ├── arguments: ∅
- │ │ │ ├── closing_loc: ∅
- │ │ │ ├── block: ∅
- │ │ │ └── flags: variable_call
- │ │ └── flags: ∅
+ │ │ ├── flags: ∅
+ │ │ └── arguments: (length: 1)
+ │ │ └── @ CallNode (location: (1,18)-(1,21))
+ │ │ ├── flags: variable_call
+ │ │ ├── receiver: ∅
+ │ │ ├── call_operator_loc: ∅
+ │ │ ├── name: :bar
+ │ │ ├── message_loc: (1,18)-(1,21) = "bar"
+ │ │ ├── opening_loc: ∅
+ │ │ ├── arguments: ∅
+ │ │ ├── closing_loc: ∅
+ │ │ └── block: ∅
│ ├── closing_loc: ∅
- │ ├── block: ∅
- │ └── flags: ∅
+ │ └── block: ∅
├── @ CallNode (location: (3,0)-(3,28))
+ │ ├── flags: ∅
│ ├── receiver:
│ │ @ CallNode (location: (3,0)-(3,13))
+ │ │ ├── flags: ∅
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
│ │ ├── name: :meth
@@ -58,51 +60,51 @@
│ │ ├── opening_loc: ∅
│ │ ├── arguments:
│ │ │ @ ArgumentsNode (location: (3,5)-(3,6))
- │ │ │ ├── arguments: (length: 1)
- │ │ │ │ └── @ IntegerNode (location: (3,5)-(3,6))
- │ │ │ │ └── flags: decimal
- │ │ │ └── flags: ∅
+ │ │ │ ├── flags: ∅
+ │ │ │ └── arguments: (length: 1)
+ │ │ │ └── @ IntegerNode (location: (3,5)-(3,6))
+ │ │ │ └── flags: decimal
│ │ ├── closing_loc: ∅
- │ │ ├── block:
- │ │ │ @ BlockNode (location: (3,7)-(3,13))
- │ │ │ ├── locals: []
- │ │ │ ├── locals_body_index: 0
- │ │ │ ├── parameters: ∅
- │ │ │ ├── body: ∅
- │ │ │ ├── opening_loc: (3,7)-(3,9) = "do"
- │ │ │ └── closing_loc: (3,10)-(3,13) = "end"
- │ │ └── flags: ∅
+ │ │ └── block:
+ │ │ @ BlockNode (location: (3,7)-(3,13))
+ │ │ ├── locals: []
+ │ │ ├── locals_body_index: 0
+ │ │ ├── parameters: ∅
+ │ │ ├── body: ∅
+ │ │ ├── opening_loc: (3,7)-(3,9) = "do"
+ │ │ └── closing_loc: (3,10)-(3,13) = "end"
│ ├── call_operator_loc: (3,13)-(3,14) = "."
│ ├── name: :fun
│ ├── message_loc: (3,14)-(3,17) = "fun"
│ ├── opening_loc: ∅
│ ├── arguments:
│ │ @ ArgumentsNode (location: (3,18)-(3,21))
- │ │ ├── arguments: (length: 1)
- │ │ │ └── @ CallNode (location: (3,18)-(3,21))
- │ │ │ ├── receiver: ∅
- │ │ │ ├── call_operator_loc: ∅
- │ │ │ ├── name: :bar
- │ │ │ ├── message_loc: (3,18)-(3,21) = "bar"
- │ │ │ ├── opening_loc: ∅
- │ │ │ ├── arguments: ∅
- │ │ │ ├── closing_loc: ∅
- │ │ │ ├── block: ∅
- │ │ │ └── flags: variable_call
- │ │ └── flags: ∅
+ │ │ ├── flags: ∅
+ │ │ └── arguments: (length: 1)
+ │ │ └── @ CallNode (location: (3,18)-(3,21))
+ │ │ ├── flags: variable_call
+ │ │ ├── receiver: ∅
+ │ │ ├── call_operator_loc: ∅
+ │ │ ├── name: :bar
+ │ │ ├── message_loc: (3,18)-(3,21) = "bar"
+ │ │ ├── opening_loc: ∅
+ │ │ ├── arguments: ∅
+ │ │ ├── closing_loc: ∅
+ │ │ └── block: ∅
│ ├── closing_loc: ∅
- │ ├── block:
- │ │ @ BlockNode (location: (3,22)-(3,28))
- │ │ ├── locals: []
- │ │ ├── locals_body_index: 0
- │ │ ├── parameters: ∅
- │ │ ├── body: ∅
- │ │ ├── opening_loc: (3,22)-(3,24) = "do"
- │ │ └── closing_loc: (3,25)-(3,28) = "end"
- │ └── flags: ∅
+ │ └── block:
+ │ @ BlockNode (location: (3,22)-(3,28))
+ │ ├── locals: []
+ │ ├── locals_body_index: 0
+ │ ├── parameters: ∅
+ │ ├── body: ∅
+ │ ├── opening_loc: (3,22)-(3,24) = "do"
+ │ └── closing_loc: (3,25)-(3,28) = "end"
├── @ CallNode (location: (5,0)-(5,20))
+ │ ├── flags: ∅
│ ├── receiver:
│ │ @ CallNode (location: (5,0)-(5,13))
+ │ │ ├── flags: ∅
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
│ │ ├── name: :meth
@@ -110,38 +112,38 @@
│ │ ├── opening_loc: ∅
│ │ ├── arguments:
│ │ │ @ ArgumentsNode (location: (5,5)-(5,6))
- │ │ │ ├── arguments: (length: 1)
- │ │ │ │ └── @ IntegerNode (location: (5,5)-(5,6))
- │ │ │ │ └── flags: decimal
- │ │ │ └── flags: ∅
+ │ │ │ ├── flags: ∅
+ │ │ │ └── arguments: (length: 1)
+ │ │ │ └── @ IntegerNode (location: (5,5)-(5,6))
+ │ │ │ └── flags: decimal
│ │ ├── closing_loc: ∅
- │ │ ├── block:
- │ │ │ @ BlockNode (location: (5,7)-(5,13))
- │ │ │ ├── locals: []
- │ │ │ ├── locals_body_index: 0
- │ │ │ ├── parameters: ∅
- │ │ │ ├── body: ∅
- │ │ │ ├── opening_loc: (5,7)-(5,9) = "do"
- │ │ │ └── closing_loc: (5,10)-(5,13) = "end"
- │ │ └── flags: ∅
+ │ │ └── block:
+ │ │ @ BlockNode (location: (5,7)-(5,13))
+ │ │ ├── locals: []
+ │ │ ├── locals_body_index: 0
+ │ │ ├── parameters: ∅
+ │ │ ├── body: ∅
+ │ │ ├── opening_loc: (5,7)-(5,9) = "do"
+ │ │ └── closing_loc: (5,10)-(5,13) = "end"
│ ├── call_operator_loc: (5,13)-(5,14) = "."
│ ├── name: :fun
│ ├── message_loc: (5,14)-(5,17) = "fun"
│ ├── opening_loc: ∅
│ ├── arguments: ∅
│ ├── closing_loc: ∅
- │ ├── block:
- │ │ @ BlockNode (location: (5,18)-(5,20))
- │ │ ├── locals: []
- │ │ ├── locals_body_index: 0
- │ │ ├── parameters: ∅
- │ │ ├── body: ∅
- │ │ ├── opening_loc: (5,18)-(5,19) = "{"
- │ │ └── closing_loc: (5,19)-(5,20) = "}"
- │ └── flags: ∅
+ │ └── block:
+ │ @ BlockNode (location: (5,18)-(5,20))
+ │ ├── locals: []
+ │ ├── locals_body_index: 0
+ │ ├── parameters: ∅
+ │ ├── body: ∅
+ │ ├── opening_loc: (5,18)-(5,19) = "{"
+ │ └── closing_loc: (5,19)-(5,20) = "}"
├── @ CallNode (location: (7,0)-(7,22))
+ │ ├── flags: ∅
│ ├── receiver:
│ │ @ CallNode (location: (7,0)-(7,13))
+ │ │ ├── flags: ∅
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
│ │ ├── name: :meth
@@ -149,44 +151,44 @@
│ │ ├── opening_loc: ∅
│ │ ├── arguments:
│ │ │ @ ArgumentsNode (location: (7,5)-(7,6))
- │ │ │ ├── arguments: (length: 1)
- │ │ │ │ └── @ IntegerNode (location: (7,5)-(7,6))
- │ │ │ │ └── flags: decimal
- │ │ │ └── flags: ∅
+ │ │ │ ├── flags: ∅
+ │ │ │ └── arguments: (length: 1)
+ │ │ │ └── @ IntegerNode (location: (7,5)-(7,6))
+ │ │ │ └── flags: decimal
│ │ ├── closing_loc: ∅
- │ │ ├── block:
- │ │ │ @ BlockNode (location: (7,7)-(7,13))
- │ │ │ ├── locals: []
- │ │ │ ├── locals_body_index: 0
- │ │ │ ├── parameters: ∅
- │ │ │ ├── body: ∅
- │ │ │ ├── opening_loc: (7,7)-(7,9) = "do"
- │ │ │ └── closing_loc: (7,10)-(7,13) = "end"
- │ │ └── flags: ∅
+ │ │ └── block:
+ │ │ @ BlockNode (location: (7,7)-(7,13))
+ │ │ ├── locals: []
+ │ │ ├── locals_body_index: 0
+ │ │ ├── parameters: ∅
+ │ │ ├── body: ∅
+ │ │ ├── opening_loc: (7,7)-(7,9) = "do"
+ │ │ └── closing_loc: (7,10)-(7,13) = "end"
│ ├── call_operator_loc: (7,13)-(7,14) = "."
│ ├── name: :fun
│ ├── message_loc: (7,14)-(7,17) = "fun"
│ ├── opening_loc: (7,17)-(7,18) = "("
│ ├── arguments:
│ │ @ ArgumentsNode (location: (7,18)-(7,21))
- │ │ ├── arguments: (length: 1)
- │ │ │ └── @ CallNode (location: (7,18)-(7,21))
- │ │ │ ├── receiver: ∅
- │ │ │ ├── call_operator_loc: ∅
- │ │ │ ├── name: :bar
- │ │ │ ├── message_loc: (7,18)-(7,21) = "bar"
- │ │ │ ├── opening_loc: ∅
- │ │ │ ├── arguments: ∅
- │ │ │ ├── closing_loc: ∅
- │ │ │ ├── block: ∅
- │ │ │ └── flags: variable_call
- │ │ └── flags: ∅
+ │ │ ├── flags: ∅
+ │ │ └── arguments: (length: 1)
+ │ │ └── @ CallNode (location: (7,18)-(7,21))
+ │ │ ├── flags: variable_call
+ │ │ ├── receiver: ∅
+ │ │ ├── call_operator_loc: ∅
+ │ │ ├── name: :bar
+ │ │ ├── message_loc: (7,18)-(7,21) = "bar"
+ │ │ ├── opening_loc: ∅
+ │ │ ├── arguments: ∅
+ │ │ ├── closing_loc: ∅
+ │ │ └── block: ∅
│ ├── closing_loc: (7,21)-(7,22) = ")"
- │ ├── block: ∅
- │ └── flags: ∅
+ │ └── block: ∅
├── @ CallNode (location: (9,0)-(9,25))
+ │ ├── flags: ∅
│ ├── receiver:
│ │ @ CallNode (location: (9,0)-(9,13))
+ │ │ ├── flags: ∅
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
│ │ ├── name: :meth
@@ -194,51 +196,51 @@
│ │ ├── opening_loc: ∅
│ │ ├── arguments:
│ │ │ @ ArgumentsNode (location: (9,5)-(9,6))
- │ │ │ ├── arguments: (length: 1)
- │ │ │ │ └── @ IntegerNode (location: (9,5)-(9,6))
- │ │ │ │ └── flags: decimal
- │ │ │ └── flags: ∅
+ │ │ │ ├── flags: ∅
+ │ │ │ └── arguments: (length: 1)
+ │ │ │ └── @ IntegerNode (location: (9,5)-(9,6))
+ │ │ │ └── flags: decimal
│ │ ├── closing_loc: ∅
- │ │ ├── block:
- │ │ │ @ BlockNode (location: (9,7)-(9,13))
- │ │ │ ├── locals: []
- │ │ │ ├── locals_body_index: 0
- │ │ │ ├── parameters: ∅
- │ │ │ ├── body: ∅
- │ │ │ ├── opening_loc: (9,7)-(9,9) = "do"
- │ │ │ └── closing_loc: (9,10)-(9,13) = "end"
- │ │ └── flags: ∅
+ │ │ └── block:
+ │ │ @ BlockNode (location: (9,7)-(9,13))
+ │ │ ├── locals: []
+ │ │ ├── locals_body_index: 0
+ │ │ ├── parameters: ∅
+ │ │ ├── body: ∅
+ │ │ ├── opening_loc: (9,7)-(9,9) = "do"
+ │ │ └── closing_loc: (9,10)-(9,13) = "end"
│ ├── call_operator_loc: (9,13)-(9,14) = "."
│ ├── name: :fun
│ ├── message_loc: (9,14)-(9,17) = "fun"
│ ├── opening_loc: (9,17)-(9,18) = "("
│ ├── arguments:
│ │ @ ArgumentsNode (location: (9,18)-(9,21))
- │ │ ├── arguments: (length: 1)
- │ │ │ └── @ CallNode (location: (9,18)-(9,21))
- │ │ │ ├── receiver: ∅
- │ │ │ ├── call_operator_loc: ∅
- │ │ │ ├── name: :bar
- │ │ │ ├── message_loc: (9,18)-(9,21) = "bar"
- │ │ │ ├── opening_loc: ∅
- │ │ │ ├── arguments: ∅
- │ │ │ ├── closing_loc: ∅
- │ │ │ ├── block: ∅
- │ │ │ └── flags: variable_call
- │ │ └── flags: ∅
+ │ │ ├── flags: ∅
+ │ │ └── arguments: (length: 1)
+ │ │ └── @ CallNode (location: (9,18)-(9,21))
+ │ │ ├── flags: variable_call
+ │ │ ├── receiver: ∅
+ │ │ ├── call_operator_loc: ∅
+ │ │ ├── name: :bar
+ │ │ ├── message_loc: (9,18)-(9,21) = "bar"
+ │ │ ├── opening_loc: ∅
+ │ │ ├── arguments: ∅
+ │ │ ├── closing_loc: ∅
+ │ │ └── block: ∅
│ ├── closing_loc: (9,21)-(9,22) = ")"
- │ ├── block:
- │ │ @ BlockNode (location: (9,23)-(9,25))
- │ │ ├── locals: []
- │ │ ├── locals_body_index: 0
- │ │ ├── parameters: ∅
- │ │ ├── body: ∅
- │ │ ├── opening_loc: (9,23)-(9,24) = "{"
- │ │ └── closing_loc: (9,24)-(9,25) = "}"
- │ └── flags: ∅
+ │ └── block:
+ │ @ BlockNode (location: (9,23)-(9,25))
+ │ ├── locals: []
+ │ ├── locals_body_index: 0
+ │ ├── parameters: ∅
+ │ ├── body: ∅
+ │ ├── opening_loc: (9,23)-(9,24) = "{"
+ │ └── closing_loc: (9,24)-(9,25) = "}"
├── @ CallNode (location: (11,0)-(11,22))
+ │ ├── flags: ∅
│ ├── receiver:
│ │ @ CallNode (location: (11,0)-(11,13))
+ │ │ ├── flags: ∅
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
│ │ ├── name: :meth
@@ -246,44 +248,44 @@
│ │ ├── opening_loc: ∅
│ │ ├── arguments:
│ │ │ @ ArgumentsNode (location: (11,5)-(11,6))
- │ │ │ ├── arguments: (length: 1)
- │ │ │ │ └── @ IntegerNode (location: (11,5)-(11,6))
- │ │ │ │ └── flags: decimal
- │ │ │ └── flags: ∅
+ │ │ │ ├── flags: ∅
+ │ │ │ └── arguments: (length: 1)
+ │ │ │ └── @ IntegerNode (location: (11,5)-(11,6))
+ │ │ │ └── flags: decimal
│ │ ├── closing_loc: ∅
- │ │ ├── block:
- │ │ │ @ BlockNode (location: (11,7)-(11,13))
- │ │ │ ├── locals: []
- │ │ │ ├── locals_body_index: 0
- │ │ │ ├── parameters: ∅
- │ │ │ ├── body: ∅
- │ │ │ ├── opening_loc: (11,7)-(11,9) = "do"
- │ │ │ └── closing_loc: (11,10)-(11,13) = "end"
- │ │ └── flags: ∅
+ │ │ └── block:
+ │ │ @ BlockNode (location: (11,7)-(11,13))
+ │ │ ├── locals: []
+ │ │ ├── locals_body_index: 0
+ │ │ ├── parameters: ∅
+ │ │ ├── body: ∅
+ │ │ ├── opening_loc: (11,7)-(11,9) = "do"
+ │ │ └── closing_loc: (11,10)-(11,13) = "end"
│ ├── call_operator_loc: (11,13)-(11,15) = "::"
│ ├── name: :fun
│ ├── message_loc: (11,15)-(11,18) = "fun"
│ ├── opening_loc: ∅
│ ├── arguments:
│ │ @ ArgumentsNode (location: (11,19)-(11,22))
- │ │ ├── arguments: (length: 1)
- │ │ │ └── @ CallNode (location: (11,19)-(11,22))
- │ │ │ ├── receiver: ∅
- │ │ │ ├── call_operator_loc: ∅
- │ │ │ ├── name: :bar
- │ │ │ ├── message_loc: (11,19)-(11,22) = "bar"
- │ │ │ ├── opening_loc: ∅
- │ │ │ ├── arguments: ∅
- │ │ │ ├── closing_loc: ∅
- │ │ │ ├── block: ∅
- │ │ │ └── flags: variable_call
- │ │ └── flags: ∅
+ │ │ ├── flags: ∅
+ │ │ └── arguments: (length: 1)
+ │ │ └── @ CallNode (location: (11,19)-(11,22))
+ │ │ ├── flags: variable_call
+ │ │ ├── receiver: ∅
+ │ │ ├── call_operator_loc: ∅
+ │ │ ├── name: :bar
+ │ │ ├── message_loc: (11,19)-(11,22) = "bar"
+ │ │ ├── opening_loc: ∅
+ │ │ ├── arguments: ∅
+ │ │ ├── closing_loc: ∅
+ │ │ └── block: ∅
│ ├── closing_loc: ∅
- │ ├── block: ∅
- │ └── flags: ∅
+ │ └── block: ∅
└── @ CallNode (location: (13,0)-(13,23))
+ ├── flags: ∅
├── receiver:
│ @ CallNode (location: (13,0)-(13,13))
+ │ ├── flags: ∅
│ ├── receiver: ∅
│ ├── call_operator_loc: ∅
│ ├── name: :meth
@@ -291,38 +293,36 @@
│ ├── opening_loc: ∅
│ ├── arguments:
│ │ @ ArgumentsNode (location: (13,5)-(13,6))
- │ │ ├── arguments: (length: 1)
- │ │ │ └── @ IntegerNode (location: (13,5)-(13,6))
- │ │ │ └── flags: decimal
- │ │ └── flags: ∅
+ │ │ ├── flags: ∅
+ │ │ └── arguments: (length: 1)
+ │ │ └── @ IntegerNode (location: (13,5)-(13,6))
+ │ │ └── flags: decimal
│ ├── closing_loc: ∅
- │ ├── block:
- │ │ @ BlockNode (location: (13,7)-(13,13))
- │ │ ├── locals: []
- │ │ ├── locals_body_index: 0
- │ │ ├── parameters: ∅
- │ │ ├── body: ∅
- │ │ ├── opening_loc: (13,7)-(13,9) = "do"
- │ │ └── closing_loc: (13,10)-(13,13) = "end"
- │ └── flags: ∅
+ │ └── block:
+ │ @ BlockNode (location: (13,7)-(13,13))
+ │ ├── locals: []
+ │ ├── locals_body_index: 0
+ │ ├── parameters: ∅
+ │ ├── body: ∅
+ │ ├── opening_loc: (13,7)-(13,9) = "do"
+ │ └── closing_loc: (13,10)-(13,13) = "end"
├── call_operator_loc: (13,13)-(13,15) = "::"
├── name: :fun
├── message_loc: (13,15)-(13,18) = "fun"
├── opening_loc: (13,18)-(13,19) = "("
├── arguments:
│ @ ArgumentsNode (location: (13,19)-(13,22))
- │ ├── arguments: (length: 1)
- │ │ └── @ CallNode (location: (13,19)-(13,22))
- │ │ ├── receiver: ∅
- │ │ ├── call_operator_loc: ∅
- │ │ ├── name: :bar
- │ │ ├── message_loc: (13,19)-(13,22) = "bar"
- │ │ ├── opening_loc: ∅
- │ │ ├── arguments: ∅
- │ │ ├── closing_loc: ∅
- │ │ ├── block: ∅
- │ │ └── flags: variable_call
- │ └── flags: ∅
+ │ ├── flags: ∅
+ │ └── arguments: (length: 1)
+ │ └── @ CallNode (location: (13,19)-(13,22))
+ │ ├── flags: variable_call
+ │ ├── receiver: ∅
+ │ ├── call_operator_loc: ∅
+ │ ├── name: :bar
+ │ ├── message_loc: (13,19)-(13,22) = "bar"
+ │ ├── opening_loc: ∅
+ │ ├── arguments: ∅
+ │ ├── closing_loc: ∅
+ │ └── block: ∅
├── closing_loc: (13,22)-(13,23) = ")"
- ├── block: ∅
- └── flags: ∅
+ └── block: ∅
diff --git a/test/prism/snapshots/whitequark/send_block_conditional.txt b/test/prism/snapshots/whitequark/send_block_conditional.txt
index 342fa4c98c..9b6b288434 100644
--- a/test/prism/snapshots/whitequark/send_block_conditional.txt
+++ b/test/prism/snapshots/whitequark/send_block_conditional.txt
@@ -4,8 +4,10 @@
@ StatementsNode (location: (1,0)-(1,11))
└── body: (length: 1)
└── @ CallNode (location: (1,0)-(1,11))
+ ├── flags: safe_navigation
├── receiver:
│ @ CallNode (location: (1,0)-(1,3))
+ │ ├── flags: variable_call
│ ├── receiver: ∅
│ ├── call_operator_loc: ∅
│ ├── name: :foo
@@ -13,20 +15,18 @@
│ ├── opening_loc: ∅
│ ├── arguments: ∅
│ ├── closing_loc: ∅
- │ ├── block: ∅
- │ └── flags: variable_call
+ │ └── block: ∅
├── call_operator_loc: (1,3)-(1,5) = "&."
├── name: :bar
├── message_loc: (1,5)-(1,8) = "bar"
├── opening_loc: ∅
├── arguments: ∅
├── closing_loc: ∅
- ├── block:
- │ @ BlockNode (location: (1,9)-(1,11))
- │ ├── locals: []
- │ ├── locals_body_index: 0
- │ ├── parameters: ∅
- │ ├── body: ∅
- │ ├── opening_loc: (1,9)-(1,10) = "{"
- │ └── closing_loc: (1,10)-(1,11) = "}"
- └── flags: safe_navigation
+ └── block:
+ @ BlockNode (location: (1,9)-(1,11))
+ ├── locals: []
+ ├── locals_body_index: 0
+ ├── parameters: ∅
+ ├── body: ∅
+ ├── opening_loc: (1,9)-(1,10) = "{"
+ └── closing_loc: (1,10)-(1,11) = "}"
diff --git a/test/prism/snapshots/whitequark/send_call.txt b/test/prism/snapshots/whitequark/send_call.txt
index 38d9f0dc6b..0135a5d854 100644
--- a/test/prism/snapshots/whitequark/send_call.txt
+++ b/test/prism/snapshots/whitequark/send_call.txt
@@ -4,8 +4,10 @@
@ StatementsNode (location: (1,0)-(3,8))
└── body: (length: 2)
├── @ CallNode (location: (1,0)-(1,7))
+ │ ├── flags: ∅
│ ├── receiver:
│ │ @ CallNode (location: (1,0)-(1,3))
+ │ │ ├── flags: variable_call
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
│ │ ├── name: :foo
@@ -13,24 +15,24 @@
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
- │ │ ├── block: ∅
- │ │ └── flags: variable_call
+ │ │ └── block: ∅
│ ├── call_operator_loc: (1,3)-(1,4) = "."
│ ├── name: :call
│ ├── message_loc: ∅
│ ├── opening_loc: (1,4)-(1,5) = "("
│ ├── arguments:
│ │ @ ArgumentsNode (location: (1,5)-(1,6))
- │ │ ├── arguments: (length: 1)
- │ │ │ └── @ IntegerNode (location: (1,5)-(1,6))
- │ │ │ └── flags: decimal
- │ │ └── flags: ∅
+ │ │ ├── flags: ∅
+ │ │ └── arguments: (length: 1)
+ │ │ └── @ IntegerNode (location: (1,5)-(1,6))
+ │ │ └── flags: decimal
│ ├── closing_loc: (1,6)-(1,7) = ")"
- │ ├── block: ∅
- │ └── flags: ∅
+ │ └── block: ∅
└── @ CallNode (location: (3,0)-(3,8))
+ ├── flags: ∅
├── receiver:
│ @ CallNode (location: (3,0)-(3,3))
+ │ ├── flags: variable_call
│ ├── receiver: ∅
│ ├── call_operator_loc: ∅
│ ├── name: :foo
@@ -38,18 +40,16 @@
│ ├── opening_loc: ∅
│ ├── arguments: ∅
│ ├── closing_loc: ∅
- │ ├── block: ∅
- │ └── flags: variable_call
+ │ └── block: ∅
├── call_operator_loc: (3,3)-(3,5) = "::"
├── name: :call
├── message_loc: ∅
├── opening_loc: (3,5)-(3,6) = "("
├── arguments:
│ @ ArgumentsNode (location: (3,6)-(3,7))
- │ ├── arguments: (length: 1)
- │ │ └── @ IntegerNode (location: (3,6)-(3,7))
- │ │ └── flags: decimal
- │ └── flags: ∅
+ │ ├── flags: ∅
+ │ └── arguments: (length: 1)
+ │ └── @ IntegerNode (location: (3,6)-(3,7))
+ │ └── flags: decimal
├── closing_loc: (3,7)-(3,8) = ")"
- ├── block: ∅
- └── flags: ∅
+ └── block: ∅
diff --git a/test/prism/snapshots/whitequark/send_conditional.txt b/test/prism/snapshots/whitequark/send_conditional.txt
index 108c6ca820..a6ba52bede 100644
--- a/test/prism/snapshots/whitequark/send_conditional.txt
+++ b/test/prism/snapshots/whitequark/send_conditional.txt
@@ -4,8 +4,10 @@
@ StatementsNode (location: (1,0)-(1,4))
└── body: (length: 1)
└── @ CallNode (location: (1,0)-(1,4))
+ ├── flags: safe_navigation
├── receiver:
│ @ CallNode (location: (1,0)-(1,1))
+ │ ├── flags: variable_call
│ ├── receiver: ∅
│ ├── call_operator_loc: ∅
│ ├── name: :a
@@ -13,13 +15,11 @@
│ ├── opening_loc: ∅
│ ├── arguments: ∅
│ ├── closing_loc: ∅
- │ ├── block: ∅
- │ └── flags: variable_call
+ │ └── block: ∅
├── call_operator_loc: (1,1)-(1,3) = "&."
├── name: :b
├── message_loc: (1,3)-(1,4) = "b"
├── opening_loc: ∅
├── arguments: ∅
├── closing_loc: ∅
- ├── block: ∅
- └── flags: safe_navigation
+ └── block: ∅
diff --git a/test/prism/snapshots/whitequark/send_index.txt b/test/prism/snapshots/whitequark/send_index.txt
index 25a2c8dcff..df9ed12a3a 100644
--- a/test/prism/snapshots/whitequark/send_index.txt
+++ b/test/prism/snapshots/whitequark/send_index.txt
@@ -4,8 +4,10 @@
@ StatementsNode (location: (1,0)-(1,9))
└── body: (length: 1)
└── @ CallNode (location: (1,0)-(1,9))
+ ├── flags: ∅
├── receiver:
│ @ CallNode (location: (1,0)-(1,3))
+ │ ├── flags: variable_call
│ ├── receiver: ∅
│ ├── call_operator_loc: ∅
│ ├── name: :foo
@@ -13,20 +15,18 @@
│ ├── opening_loc: ∅
│ ├── arguments: ∅
│ ├── closing_loc: ∅
- │ ├── block: ∅
- │ └── flags: variable_call
+ │ └── block: ∅
├── call_operator_loc: ∅
├── name: :[]
├── message_loc: (1,3)-(1,9) = "[1, 2]"
├── opening_loc: (1,3)-(1,4) = "["
├── arguments:
│ @ ArgumentsNode (location: (1,4)-(1,8))
- │ ├── arguments: (length: 2)
- │ │ ├── @ IntegerNode (location: (1,4)-(1,5))
- │ │ │ └── flags: decimal
- │ │ └── @ IntegerNode (location: (1,7)-(1,8))
- │ │ └── flags: decimal
- │ └── flags: ∅
+ │ ├── flags: ∅
+ │ └── arguments: (length: 2)
+ │ ├── @ IntegerNode (location: (1,4)-(1,5))
+ │ │ └── flags: decimal
+ │ └── @ IntegerNode (location: (1,7)-(1,8))
+ │ └── flags: decimal
├── closing_loc: (1,8)-(1,9) = "]"
- ├── block: ∅
- └── flags: ∅
+ └── block: ∅
diff --git a/test/prism/snapshots/whitequark/send_index_asgn.txt b/test/prism/snapshots/whitequark/send_index_asgn.txt
index 54905e5874..3f550ea420 100644
--- a/test/prism/snapshots/whitequark/send_index_asgn.txt
+++ b/test/prism/snapshots/whitequark/send_index_asgn.txt
@@ -4,8 +4,10 @@
@ StatementsNode (location: (1,0)-(1,13))
└── body: (length: 1)
└── @ CallNode (location: (1,0)-(1,13))
+ ├── flags: ∅
├── receiver:
│ @ CallNode (location: (1,0)-(1,3))
+ │ ├── flags: variable_call
│ ├── receiver: ∅
│ ├── call_operator_loc: ∅
│ ├── name: :foo
@@ -13,22 +15,20 @@
│ ├── opening_loc: ∅
│ ├── arguments: ∅
│ ├── closing_loc: ∅
- │ ├── block: ∅
- │ └── flags: variable_call
+ │ └── block: ∅
├── call_operator_loc: ∅
├── name: :[]=
├── message_loc: (1,3)-(1,9) = "[1, 2]"
├── opening_loc: (1,3)-(1,4) = "["
├── arguments:
│ @ ArgumentsNode (location: (1,4)-(1,13))
- │ ├── arguments: (length: 3)
- │ │ ├── @ IntegerNode (location: (1,4)-(1,5))
- │ │ │ └── flags: decimal
- │ │ ├── @ IntegerNode (location: (1,7)-(1,8))
- │ │ │ └── flags: decimal
- │ │ └── @ IntegerNode (location: (1,12)-(1,13))
- │ │ └── flags: decimal
- │ └── flags: ∅
+ │ ├── flags: ∅
+ │ └── arguments: (length: 3)
+ │ ├── @ IntegerNode (location: (1,4)-(1,5))
+ │ │ └── flags: decimal
+ │ ├── @ IntegerNode (location: (1,7)-(1,8))
+ │ │ └── flags: decimal
+ │ └── @ IntegerNode (location: (1,12)-(1,13))
+ │ └── flags: decimal
├── closing_loc: (1,8)-(1,9) = "]"
- ├── block: ∅
- └── flags: ∅
+ └── block: ∅
diff --git a/test/prism/snapshots/whitequark/send_index_asgn_legacy.txt b/test/prism/snapshots/whitequark/send_index_asgn_legacy.txt
index 54905e5874..3f550ea420 100644
--- a/test/prism/snapshots/whitequark/send_index_asgn_legacy.txt
+++ b/test/prism/snapshots/whitequark/send_index_asgn_legacy.txt
@@ -4,8 +4,10 @@
@ StatementsNode (location: (1,0)-(1,13))
└── body: (length: 1)
└── @ CallNode (location: (1,0)-(1,13))
+ ├── flags: ∅
├── receiver:
│ @ CallNode (location: (1,0)-(1,3))
+ │ ├── flags: variable_call
│ ├── receiver: ∅
│ ├── call_operator_loc: ∅
│ ├── name: :foo
@@ -13,22 +15,20 @@
│ ├── opening_loc: ∅
│ ├── arguments: ∅
│ ├── closing_loc: ∅
- │ ├── block: ∅
- │ └── flags: variable_call
+ │ └── block: ∅
├── call_operator_loc: ∅
├── name: :[]=
├── message_loc: (1,3)-(1,9) = "[1, 2]"
├── opening_loc: (1,3)-(1,4) = "["
├── arguments:
│ @ ArgumentsNode (location: (1,4)-(1,13))
- │ ├── arguments: (length: 3)
- │ │ ├── @ IntegerNode (location: (1,4)-(1,5))
- │ │ │ └── flags: decimal
- │ │ ├── @ IntegerNode (location: (1,7)-(1,8))
- │ │ │ └── flags: decimal
- │ │ └── @ IntegerNode (location: (1,12)-(1,13))
- │ │ └── flags: decimal
- │ └── flags: ∅
+ │ ├── flags: ∅
+ │ └── arguments: (length: 3)
+ │ ├── @ IntegerNode (location: (1,4)-(1,5))
+ │ │ └── flags: decimal
+ │ ├── @ IntegerNode (location: (1,7)-(1,8))
+ │ │ └── flags: decimal
+ │ └── @ IntegerNode (location: (1,12)-(1,13))
+ │ └── flags: decimal
├── closing_loc: (1,8)-(1,9) = "]"
- ├── block: ∅
- └── flags: ∅
+ └── block: ∅
diff --git a/test/prism/snapshots/whitequark/send_index_cmd.txt b/test/prism/snapshots/whitequark/send_index_cmd.txt
index e7df6237bc..e1a6caa7ad 100644
--- a/test/prism/snapshots/whitequark/send_index_cmd.txt
+++ b/test/prism/snapshots/whitequark/send_index_cmd.txt
@@ -4,8 +4,10 @@
@ StatementsNode (location: (1,0)-(1,10))
└── body: (length: 1)
└── @ CallNode (location: (1,0)-(1,10))
+ ├── flags: ∅
├── receiver:
│ @ CallNode (location: (1,0)-(1,3))
+ │ ├── flags: variable_call
│ ├── receiver: ∅
│ ├── call_operator_loc: ∅
│ ├── name: :foo
@@ -13,39 +15,37 @@
│ ├── opening_loc: ∅
│ ├── arguments: ∅
│ ├── closing_loc: ∅
- │ ├── block: ∅
- │ └── flags: variable_call
+ │ └── block: ∅
├── call_operator_loc: ∅
├── name: :[]
├── message_loc: (1,3)-(1,10) = "[m bar]"
├── opening_loc: (1,3)-(1,4) = "["
├── arguments:
│ @ ArgumentsNode (location: (1,4)-(1,9))
- │ ├── arguments: (length: 1)
- │ │ └── @ CallNode (location: (1,4)-(1,9))
- │ │ ├── receiver: ∅
- │ │ ├── call_operator_loc: ∅
- │ │ ├── name: :m
- │ │ ├── message_loc: (1,4)-(1,5) = "m"
- │ │ ├── opening_loc: ∅
- │ │ ├── arguments:
- │ │ │ @ ArgumentsNode (location: (1,6)-(1,9))
- │ │ │ ├── arguments: (length: 1)
- │ │ │ │ └── @ CallNode (location: (1,6)-(1,9))
- │ │ │ │ ├── receiver: ∅
- │ │ │ │ ├── call_operator_loc: ∅
- │ │ │ │ ├── name: :bar
- │ │ │ │ ├── message_loc: (1,6)-(1,9) = "bar"
- │ │ │ │ ├── opening_loc: ∅
- │ │ │ │ ├── arguments: ∅
- │ │ │ │ ├── closing_loc: ∅
- │ │ │ │ ├── block: ∅
- │ │ │ │ └── flags: variable_call
- │ │ │ └── flags: ∅
- │ │ ├── closing_loc: ∅
- │ │ ├── block: ∅
- │ │ └── flags: ∅
- │ └── flags: ∅
+ │ ├── flags: ∅
+ │ └── arguments: (length: 1)
+ │ └── @ CallNode (location: (1,4)-(1,9))
+ │ ├── flags: ∅
+ │ ├── receiver: ∅
+ │ ├── call_operator_loc: ∅
+ │ ├── name: :m
+ │ ├── message_loc: (1,4)-(1,5) = "m"
+ │ ├── opening_loc: ∅
+ │ ├── arguments:
+ │ │ @ ArgumentsNode (location: (1,6)-(1,9))
+ │ │ ├── flags: ∅
+ │ │ └── arguments: (length: 1)
+ │ │ └── @ CallNode (location: (1,6)-(1,9))
+ │ │ ├── flags: variable_call
+ │ │ ├── receiver: ∅
+ │ │ ├── call_operator_loc: ∅
+ │ │ ├── name: :bar
+ │ │ ├── message_loc: (1,6)-(1,9) = "bar"
+ │ │ ├── opening_loc: ∅
+ │ │ ├── arguments: ∅
+ │ │ ├── closing_loc: ∅
+ │ │ └── block: ∅
+ │ ├── closing_loc: ∅
+ │ └── block: ∅
├── closing_loc: (1,9)-(1,10) = "]"
- ├── block: ∅
- └── flags: ∅
+ └── block: ∅
diff --git a/test/prism/snapshots/whitequark/send_index_legacy.txt b/test/prism/snapshots/whitequark/send_index_legacy.txt
index 25a2c8dcff..df9ed12a3a 100644
--- a/test/prism/snapshots/whitequark/send_index_legacy.txt
+++ b/test/prism/snapshots/whitequark/send_index_legacy.txt
@@ -4,8 +4,10 @@
@ StatementsNode (location: (1,0)-(1,9))
└── body: (length: 1)
└── @ CallNode (location: (1,0)-(1,9))
+ ├── flags: ∅
├── receiver:
│ @ CallNode (location: (1,0)-(1,3))
+ │ ├── flags: variable_call
│ ├── receiver: ∅
│ ├── call_operator_loc: ∅
│ ├── name: :foo
@@ -13,20 +15,18 @@
│ ├── opening_loc: ∅
│ ├── arguments: ∅
│ ├── closing_loc: ∅
- │ ├── block: ∅
- │ └── flags: variable_call
+ │ └── block: ∅
├── call_operator_loc: ∅
├── name: :[]
├── message_loc: (1,3)-(1,9) = "[1, 2]"
├── opening_loc: (1,3)-(1,4) = "["
├── arguments:
│ @ ArgumentsNode (location: (1,4)-(1,8))
- │ ├── arguments: (length: 2)
- │ │ ├── @ IntegerNode (location: (1,4)-(1,5))
- │ │ │ └── flags: decimal
- │ │ └── @ IntegerNode (location: (1,7)-(1,8))
- │ │ └── flags: decimal
- │ └── flags: ∅
+ │ ├── flags: ∅
+ │ └── arguments: (length: 2)
+ │ ├── @ IntegerNode (location: (1,4)-(1,5))
+ │ │ └── flags: decimal
+ │ └── @ IntegerNode (location: (1,7)-(1,8))
+ │ └── flags: decimal
├── closing_loc: (1,8)-(1,9) = "]"
- ├── block: ∅
- └── flags: ∅
+ └── block: ∅
diff --git a/test/prism/snapshots/whitequark/send_op_asgn_conditional.txt b/test/prism/snapshots/whitequark/send_op_asgn_conditional.txt
index 300b779609..a8d1e7ea83 100644
--- a/test/prism/snapshots/whitequark/send_op_asgn_conditional.txt
+++ b/test/prism/snapshots/whitequark/send_op_asgn_conditional.txt
@@ -4,8 +4,10 @@
@ StatementsNode (location: (1,0)-(1,10))
└── body: (length: 1)
└── @ CallAndWriteNode (location: (1,0)-(1,10))
+ ├── flags: safe_navigation
├── receiver:
│ @ CallNode (location: (1,0)-(1,1))
+ │ ├── flags: variable_call
│ ├── receiver: ∅
│ ├── call_operator_loc: ∅
│ ├── name: :a
@@ -13,11 +15,9 @@
│ ├── opening_loc: ∅
│ ├── arguments: ∅
│ ├── closing_loc: ∅
- │ ├── block: ∅
- │ └── flags: variable_call
+ │ └── block: ∅
├── call_operator_loc: (1,1)-(1,3) = "&."
├── message_loc: (1,3)-(1,4) = "b"
- ├── flags: safe_navigation
├── read_name: :b
├── write_name: :b=
├── operator_loc: (1,5)-(1,8) = "&&="
diff --git a/test/prism/snapshots/whitequark/send_plain.txt b/test/prism/snapshots/whitequark/send_plain.txt
index 8f0952f44e..355f460f53 100644
--- a/test/prism/snapshots/whitequark/send_plain.txt
+++ b/test/prism/snapshots/whitequark/send_plain.txt
@@ -4,8 +4,10 @@
@ StatementsNode (location: (1,0)-(5,8))
└── body: (length: 3)
├── @ CallNode (location: (1,0)-(1,7))
+ │ ├── flags: ∅
│ ├── receiver:
│ │ @ CallNode (location: (1,0)-(1,3))
+ │ │ ├── flags: variable_call
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
│ │ ├── name: :foo
@@ -13,19 +15,19 @@
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
- │ │ ├── block: ∅
- │ │ └── flags: variable_call
+ │ │ └── block: ∅
│ ├── call_operator_loc: (1,3)-(1,4) = "."
│ ├── name: :fun
│ ├── message_loc: (1,4)-(1,7) = "fun"
│ ├── opening_loc: ∅
│ ├── arguments: ∅
│ ├── closing_loc: ∅
- │ ├── block: ∅
- │ └── flags: ∅
+ │ └── block: ∅
├── @ CallNode (location: (3,0)-(3,10))
+ │ ├── flags: ∅
│ ├── receiver:
│ │ @ CallNode (location: (3,0)-(3,3))
+ │ │ ├── flags: variable_call
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
│ │ ├── name: :foo
@@ -33,19 +35,19 @@
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
- │ │ ├── block: ∅
- │ │ └── flags: variable_call
+ │ │ └── block: ∅
│ ├── call_operator_loc: (3,3)-(3,5) = "::"
│ ├── name: :Fun
│ ├── message_loc: (3,5)-(3,8) = "Fun"
│ ├── opening_loc: (3,8)-(3,9) = "("
│ ├── arguments: ∅
│ ├── closing_loc: (3,9)-(3,10) = ")"
- │ ├── block: ∅
- │ └── flags: ∅
+ │ └── block: ∅
└── @ CallNode (location: (5,0)-(5,8))
+ ├── flags: ∅
├── receiver:
│ @ CallNode (location: (5,0)-(5,3))
+ │ ├── flags: variable_call
│ ├── receiver: ∅
│ ├── call_operator_loc: ∅
│ ├── name: :foo
@@ -53,13 +55,11 @@
│ ├── opening_loc: ∅
│ ├── arguments: ∅
│ ├── closing_loc: ∅
- │ ├── block: ∅
- │ └── flags: variable_call
+ │ └── block: ∅
├── call_operator_loc: (5,3)-(5,5) = "::"
├── name: :fun
├── message_loc: (5,5)-(5,8) = "fun"
├── opening_loc: ∅
├── arguments: ∅
├── closing_loc: ∅
- ├── block: ∅
- └── flags: ∅
+ └── block: ∅
diff --git a/test/prism/snapshots/whitequark/send_plain_cmd.txt b/test/prism/snapshots/whitequark/send_plain_cmd.txt
index 35c8591e2a..e1ab3b8f2f 100644
--- a/test/prism/snapshots/whitequark/send_plain_cmd.txt
+++ b/test/prism/snapshots/whitequark/send_plain_cmd.txt
@@ -4,8 +4,10 @@
@ StatementsNode (location: (1,0)-(5,12))
└── body: (length: 3)
├── @ CallNode (location: (1,0)-(1,11))
+ │ ├── flags: ∅
│ ├── receiver:
│ │ @ CallNode (location: (1,0)-(1,3))
+ │ │ ├── flags: variable_call
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
│ │ ├── name: :foo
@@ -13,32 +15,32 @@
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
- │ │ ├── block: ∅
- │ │ └── flags: variable_call
+ │ │ └── block: ∅
│ ├── call_operator_loc: (1,3)-(1,4) = "."
│ ├── name: :fun
│ ├── message_loc: (1,4)-(1,7) = "fun"
│ ├── opening_loc: ∅
│ ├── arguments:
│ │ @ ArgumentsNode (location: (1,8)-(1,11))
- │ │ ├── arguments: (length: 1)
- │ │ │ └── @ CallNode (location: (1,8)-(1,11))
- │ │ │ ├── receiver: ∅
- │ │ │ ├── call_operator_loc: ∅
- │ │ │ ├── name: :bar
- │ │ │ ├── message_loc: (1,8)-(1,11) = "bar"
- │ │ │ ├── opening_loc: ∅
- │ │ │ ├── arguments: ∅
- │ │ │ ├── closing_loc: ∅
- │ │ │ ├── block: ∅
- │ │ │ └── flags: variable_call
- │ │ └── flags: ∅
+ │ │ ├── flags: ∅
+ │ │ └── arguments: (length: 1)
+ │ │ └── @ CallNode (location: (1,8)-(1,11))
+ │ │ ├── flags: variable_call
+ │ │ ├── receiver: ∅
+ │ │ ├── call_operator_loc: ∅
+ │ │ ├── name: :bar
+ │ │ ├── message_loc: (1,8)-(1,11) = "bar"
+ │ │ ├── opening_loc: ∅
+ │ │ ├── arguments: ∅
+ │ │ ├── closing_loc: ∅
+ │ │ └── block: ∅
│ ├── closing_loc: ∅
- │ ├── block: ∅
- │ └── flags: ∅
+ │ └── block: ∅
├── @ CallNode (location: (3,0)-(3,12))
+ │ ├── flags: ∅
│ ├── receiver:
│ │ @ CallNode (location: (3,0)-(3,3))
+ │ │ ├── flags: variable_call
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
│ │ ├── name: :foo
@@ -46,32 +48,32 @@
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
- │ │ ├── block: ∅
- │ │ └── flags: variable_call
+ │ │ └── block: ∅
│ ├── call_operator_loc: (3,3)-(3,5) = "::"
│ ├── name: :Fun
│ ├── message_loc: (3,5)-(3,8) = "Fun"
│ ├── opening_loc: ∅
│ ├── arguments:
│ │ @ ArgumentsNode (location: (3,9)-(3,12))
- │ │ ├── arguments: (length: 1)
- │ │ │ └── @ CallNode (location: (3,9)-(3,12))
- │ │ │ ├── receiver: ∅
- │ │ │ ├── call_operator_loc: ∅
- │ │ │ ├── name: :bar
- │ │ │ ├── message_loc: (3,9)-(3,12) = "bar"
- │ │ │ ├── opening_loc: ∅
- │ │ │ ├── arguments: ∅
- │ │ │ ├── closing_loc: ∅
- │ │ │ ├── block: ∅
- │ │ │ └── flags: variable_call
- │ │ └── flags: ∅
+ │ │ ├── flags: ∅
+ │ │ └── arguments: (length: 1)
+ │ │ └── @ CallNode (location: (3,9)-(3,12))
+ │ │ ├── flags: variable_call
+ │ │ ├── receiver: ∅
+ │ │ ├── call_operator_loc: ∅
+ │ │ ├── name: :bar
+ │ │ ├── message_loc: (3,9)-(3,12) = "bar"
+ │ │ ├── opening_loc: ∅
+ │ │ ├── arguments: ∅
+ │ │ ├── closing_loc: ∅
+ │ │ └── block: ∅
│ ├── closing_loc: ∅
- │ ├── block: ∅
- │ └── flags: ∅
+ │ └── block: ∅
└── @ CallNode (location: (5,0)-(5,12))
+ ├── flags: ∅
├── receiver:
│ @ CallNode (location: (5,0)-(5,3))
+ │ ├── flags: variable_call
│ ├── receiver: ∅
│ ├── call_operator_loc: ∅
│ ├── name: :foo
@@ -79,26 +81,24 @@
│ ├── opening_loc: ∅
│ ├── arguments: ∅
│ ├── closing_loc: ∅
- │ ├── block: ∅
- │ └── flags: variable_call
+ │ └── block: ∅
├── call_operator_loc: (5,3)-(5,5) = "::"
├── name: :fun
├── message_loc: (5,5)-(5,8) = "fun"
├── opening_loc: ∅
├── arguments:
│ @ ArgumentsNode (location: (5,9)-(5,12))
- │ ├── arguments: (length: 1)
- │ │ └── @ CallNode (location: (5,9)-(5,12))
- │ │ ├── receiver: ∅
- │ │ ├── call_operator_loc: ∅
- │ │ ├── name: :bar
- │ │ ├── message_loc: (5,9)-(5,12) = "bar"
- │ │ ├── opening_loc: ∅
- │ │ ├── arguments: ∅
- │ │ ├── closing_loc: ∅
- │ │ ├── block: ∅
- │ │ └── flags: variable_call
- │ └── flags: ∅
+ │ ├── flags: ∅
+ │ └── arguments: (length: 1)
+ │ └── @ CallNode (location: (5,9)-(5,12))
+ │ ├── flags: variable_call
+ │ ├── receiver: ∅
+ │ ├── call_operator_loc: ∅
+ │ ├── name: :bar
+ │ ├── message_loc: (5,9)-(5,12) = "bar"
+ │ ├── opening_loc: ∅
+ │ ├── arguments: ∅
+ │ ├── closing_loc: ∅
+ │ └── block: ∅
├── closing_loc: ∅
- ├── block: ∅
- └── flags: ∅
+ └── block: ∅
diff --git a/test/prism/snapshots/whitequark/send_self.txt b/test/prism/snapshots/whitequark/send_self.txt
index 05176094f0..cc87037252 100644
--- a/test/prism/snapshots/whitequark/send_self.txt
+++ b/test/prism/snapshots/whitequark/send_self.txt
@@ -4,6 +4,7 @@
@ StatementsNode (location: (1,0)-(5,6))
└── body: (length: 3)
├── @ CallNode (location: (1,0)-(1,3))
+ │ ├── flags: variable_call
│ ├── receiver: ∅
│ ├── call_operator_loc: ∅
│ ├── name: :fun
@@ -11,9 +12,9 @@
│ ├── opening_loc: ∅
│ ├── arguments: ∅
│ ├── closing_loc: ∅
- │ ├── block: ∅
- │ └── flags: variable_call
+ │ └── block: ∅
├── @ CallNode (location: (3,0)-(3,4))
+ │ ├── flags: ∅
│ ├── receiver: ∅
│ ├── call_operator_loc: ∅
│ ├── name: :fun!
@@ -21,9 +22,9 @@
│ ├── opening_loc: ∅
│ ├── arguments: ∅
│ ├── closing_loc: ∅
- │ ├── block: ∅
- │ └── flags: ∅
+ │ └── block: ∅
└── @ CallNode (location: (5,0)-(5,6))
+ ├── flags: ∅
├── receiver: ∅
├── call_operator_loc: ∅
├── name: :fun
@@ -31,10 +32,9 @@
├── opening_loc: (5,3)-(5,4) = "("
├── arguments:
│ @ ArgumentsNode (location: (5,4)-(5,5))
- │ ├── arguments: (length: 1)
- │ │ └── @ IntegerNode (location: (5,4)-(5,5))
- │ │ └── flags: decimal
- │ └── flags: ∅
+ │ ├── flags: ∅
+ │ └── arguments: (length: 1)
+ │ └── @ IntegerNode (location: (5,4)-(5,5))
+ │ └── flags: decimal
├── closing_loc: (5,5)-(5,6) = ")"
- ├── block: ∅
- └── flags: ∅
+ └── block: ∅
diff --git a/test/prism/snapshots/whitequark/send_self_block.txt b/test/prism/snapshots/whitequark/send_self_block.txt
index ced9119179..d66949ac36 100644
--- a/test/prism/snapshots/whitequark/send_self_block.txt
+++ b/test/prism/snapshots/whitequark/send_self_block.txt
@@ -4,6 +4,7 @@
@ StatementsNode (location: (1,0)-(7,10))
└── body: (length: 4)
├── @ CallNode (location: (1,0)-(1,10))
+ │ ├── flags: ∅
│ ├── receiver: ∅
│ ├── call_operator_loc: ∅
│ ├── name: :fun
@@ -11,16 +12,16 @@
│ ├── opening_loc: ∅
│ ├── arguments: ∅
│ ├── closing_loc: ∅
- │ ├── block:
- │ │ @ BlockNode (location: (1,4)-(1,10))
- │ │ ├── locals: []
- │ │ ├── locals_body_index: 0
- │ │ ├── parameters: ∅
- │ │ ├── body: ∅
- │ │ ├── opening_loc: (1,4)-(1,6) = "do"
- │ │ └── closing_loc: (1,7)-(1,10) = "end"
- │ └── flags: ∅
+ │ └── block:
+ │ @ BlockNode (location: (1,4)-(1,10))
+ │ ├── locals: []
+ │ ├── locals_body_index: 0
+ │ ├── parameters: ∅
+ │ ├── body: ∅
+ │ ├── opening_loc: (1,4)-(1,6) = "do"
+ │ └── closing_loc: (1,7)-(1,10) = "end"
├── @ CallNode (location: (3,0)-(3,7))
+ │ ├── flags: ∅
│ ├── receiver: ∅
│ ├── call_operator_loc: ∅
│ ├── name: :fun
@@ -28,16 +29,16 @@
│ ├── opening_loc: ∅
│ ├── arguments: ∅
│ ├── closing_loc: ∅
- │ ├── block:
- │ │ @ BlockNode (location: (3,4)-(3,7))
- │ │ ├── locals: []
- │ │ ├── locals_body_index: 0
- │ │ ├── parameters: ∅
- │ │ ├── body: ∅
- │ │ ├── opening_loc: (3,4)-(3,5) = "{"
- │ │ └── closing_loc: (3,6)-(3,7) = "}"
- │ └── flags: ∅
+ │ └── block:
+ │ @ BlockNode (location: (3,4)-(3,7))
+ │ ├── locals: []
+ │ ├── locals_body_index: 0
+ │ ├── parameters: ∅
+ │ ├── body: ∅
+ │ ├── opening_loc: (3,4)-(3,5) = "{"
+ │ └── closing_loc: (3,6)-(3,7) = "}"
├── @ CallNode (location: (5,0)-(5,9))
+ │ ├── flags: ∅
│ ├── receiver: ∅
│ ├── call_operator_loc: ∅
│ ├── name: :fun
@@ -45,16 +46,16 @@
│ ├── opening_loc: (5,3)-(5,4) = "("
│ ├── arguments: ∅
│ ├── closing_loc: (5,4)-(5,5) = ")"
- │ ├── block:
- │ │ @ BlockNode (location: (5,6)-(5,9))
- │ │ ├── locals: []
- │ │ ├── locals_body_index: 0
- │ │ ├── parameters: ∅
- │ │ ├── body: ∅
- │ │ ├── opening_loc: (5,6)-(5,7) = "{"
- │ │ └── closing_loc: (5,8)-(5,9) = "}"
- │ └── flags: ∅
+ │ └── block:
+ │ @ BlockNode (location: (5,6)-(5,9))
+ │ ├── locals: []
+ │ ├── locals_body_index: 0
+ │ ├── parameters: ∅
+ │ ├── body: ∅
+ │ ├── opening_loc: (5,6)-(5,7) = "{"
+ │ └── closing_loc: (5,8)-(5,9) = "}"
└── @ CallNode (location: (7,0)-(7,10))
+ ├── flags: ∅
├── receiver: ∅
├── call_operator_loc: ∅
├── name: :fun
@@ -62,17 +63,16 @@
├── opening_loc: (7,3)-(7,4) = "("
├── arguments:
│ @ ArgumentsNode (location: (7,4)-(7,5))
- │ ├── arguments: (length: 1)
- │ │ └── @ IntegerNode (location: (7,4)-(7,5))
- │ │ └── flags: decimal
- │ └── flags: ∅
+ │ ├── flags: ∅
+ │ └── arguments: (length: 1)
+ │ └── @ IntegerNode (location: (7,4)-(7,5))
+ │ └── flags: decimal
├── closing_loc: (7,5)-(7,6) = ")"
- ├── block:
- │ @ BlockNode (location: (7,7)-(7,10))
- │ ├── locals: []
- │ ├── locals_body_index: 0
- │ ├── parameters: ∅
- │ ├── body: ∅
- │ ├── opening_loc: (7,7)-(7,8) = "{"
- │ └── closing_loc: (7,9)-(7,10) = "}"
- └── flags: ∅
+ └── block:
+ @ BlockNode (location: (7,7)-(7,10))
+ ├── locals: []
+ ├── locals_body_index: 0
+ ├── parameters: ∅
+ ├── body: ∅
+ ├── opening_loc: (7,7)-(7,8) = "{"
+ └── closing_loc: (7,9)-(7,10) = "}"
diff --git a/test/prism/snapshots/whitequark/send_unary_op.txt b/test/prism/snapshots/whitequark/send_unary_op.txt
index 5029e64bd9..163146793d 100644
--- a/test/prism/snapshots/whitequark/send_unary_op.txt
+++ b/test/prism/snapshots/whitequark/send_unary_op.txt
@@ -4,8 +4,10 @@
@ StatementsNode (location: (1,0)-(5,4))
└── body: (length: 3)
├── @ CallNode (location: (1,0)-(1,4))
+ │ ├── flags: ∅
│ ├── receiver:
│ │ @ CallNode (location: (1,1)-(1,4))
+ │ │ ├── flags: variable_call
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
│ │ ├── name: :foo
@@ -13,19 +15,19 @@
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
- │ │ ├── block: ∅
- │ │ └── flags: variable_call
+ │ │ └── block: ∅
│ ├── call_operator_loc: ∅
│ ├── name: :+@
│ ├── message_loc: (1,0)-(1,1) = "+"
│ ├── opening_loc: ∅
│ ├── arguments: ∅
│ ├── closing_loc: ∅
- │ ├── block: ∅
- │ └── flags: ∅
+ │ └── block: ∅
├── @ CallNode (location: (3,0)-(3,4))
+ │ ├── flags: ∅
│ ├── receiver:
│ │ @ CallNode (location: (3,1)-(3,4))
+ │ │ ├── flags: variable_call
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
│ │ ├── name: :foo
@@ -33,19 +35,19 @@
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
- │ │ ├── block: ∅
- │ │ └── flags: variable_call
+ │ │ └── block: ∅
│ ├── call_operator_loc: ∅
│ ├── name: :-@
│ ├── message_loc: (3,0)-(3,1) = "-"
│ ├── opening_loc: ∅
│ ├── arguments: ∅
│ ├── closing_loc: ∅
- │ ├── block: ∅
- │ └── flags: ∅
+ │ └── block: ∅
└── @ CallNode (location: (5,0)-(5,4))
+ ├── flags: ∅
├── receiver:
│ @ CallNode (location: (5,1)-(5,4))
+ │ ├── flags: variable_call
│ ├── receiver: ∅
│ ├── call_operator_loc: ∅
│ ├── name: :foo
@@ -53,13 +55,11 @@
│ ├── opening_loc: ∅
│ ├── arguments: ∅
│ ├── closing_loc: ∅
- │ ├── block: ∅
- │ └── flags: variable_call
+ │ └── block: ∅
├── call_operator_loc: ∅
├── name: :~
├── message_loc: (5,0)-(5,1) = "~"
├── opening_loc: ∅
├── arguments: ∅
├── closing_loc: ∅
- ├── block: ∅
- └── flags: ∅
+ └── block: ∅
diff --git a/test/prism/snapshots/whitequark/space_args_arg.txt b/test/prism/snapshots/whitequark/space_args_arg.txt
index 4c27ecc56e..a116b67b1b 100644
--- a/test/prism/snapshots/whitequark/space_args_arg.txt
+++ b/test/prism/snapshots/whitequark/space_args_arg.txt
@@ -4,6 +4,7 @@
@ StatementsNode (location: (1,0)-(1,7))
└── body: (length: 1)
└── @ CallNode (location: (1,0)-(1,7))
+ ├── flags: ∅
├── receiver: ∅
├── call_operator_loc: ∅
├── name: :fun
@@ -11,16 +12,15 @@
├── opening_loc: ∅
├── arguments:
│ @ ArgumentsNode (location: (1,4)-(1,7))
- │ ├── arguments: (length: 1)
- │ │ └── @ ParenthesesNode (location: (1,4)-(1,7))
- │ │ ├── body:
- │ │ │ @ StatementsNode (location: (1,5)-(1,6))
- │ │ │ └── body: (length: 1)
- │ │ │ └── @ IntegerNode (location: (1,5)-(1,6))
- │ │ │ └── flags: decimal
- │ │ ├── opening_loc: (1,4)-(1,5) = "("
- │ │ └── closing_loc: (1,6)-(1,7) = ")"
- │ └── flags: ∅
+ │ ├── flags: ∅
+ │ └── arguments: (length: 1)
+ │ └── @ ParenthesesNode (location: (1,4)-(1,7))
+ │ ├── body:
+ │ │ @ StatementsNode (location: (1,5)-(1,6))
+ │ │ └── body: (length: 1)
+ │ │ └── @ IntegerNode (location: (1,5)-(1,6))
+ │ │ └── flags: decimal
+ │ ├── opening_loc: (1,4)-(1,5) = "("
+ │ └── closing_loc: (1,6)-(1,7) = ")"
├── closing_loc: ∅
- ├── block: ∅
- └── flags: ∅
+ └── block: ∅
diff --git a/test/prism/snapshots/whitequark/space_args_arg_block.txt b/test/prism/snapshots/whitequark/space_args_arg_block.txt
index f0fe516ca2..cb5dd7281c 100644
--- a/test/prism/snapshots/whitequark/space_args_arg_block.txt
+++ b/test/prism/snapshots/whitequark/space_args_arg_block.txt
@@ -4,8 +4,10 @@
@ StatementsNode (location: (1,0)-(5,10))
└── body: (length: 3)
├── @ CallNode (location: (1,0)-(1,14))
+ │ ├── flags: ∅
│ ├── receiver:
│ │ @ CallNode (location: (1,0)-(1,3))
+ │ │ ├── flags: variable_call
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
│ │ ├── name: :foo
@@ -13,37 +15,37 @@
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
- │ │ ├── block: ∅
- │ │ └── flags: variable_call
+ │ │ └── block: ∅
│ ├── call_operator_loc: (1,3)-(1,4) = "."
│ ├── name: :fun
│ ├── message_loc: (1,4)-(1,7) = "fun"
│ ├── opening_loc: ∅
│ ├── arguments:
│ │ @ ArgumentsNode (location: (1,8)-(1,11))
- │ │ ├── arguments: (length: 1)
- │ │ │ └── @ ParenthesesNode (location: (1,8)-(1,11))
- │ │ │ ├── body:
- │ │ │ │ @ StatementsNode (location: (1,9)-(1,10))
- │ │ │ │ └── body: (length: 1)
- │ │ │ │ └── @ IntegerNode (location: (1,9)-(1,10))
- │ │ │ │ └── flags: decimal
- │ │ │ ├── opening_loc: (1,8)-(1,9) = "("
- │ │ │ └── closing_loc: (1,10)-(1,11) = ")"
- │ │ └── flags: ∅
+ │ │ ├── flags: ∅
+ │ │ └── arguments: (length: 1)
+ │ │ └── @ ParenthesesNode (location: (1,8)-(1,11))
+ │ │ ├── body:
+ │ │ │ @ StatementsNode (location: (1,9)-(1,10))
+ │ │ │ └── body: (length: 1)
+ │ │ │ └── @ IntegerNode (location: (1,9)-(1,10))
+ │ │ │ └── flags: decimal
+ │ │ ├── opening_loc: (1,8)-(1,9) = "("
+ │ │ └── closing_loc: (1,10)-(1,11) = ")"
│ ├── closing_loc: ∅
- │ ├── block:
- │ │ @ BlockNode (location: (1,12)-(1,14))
- │ │ ├── locals: []
- │ │ ├── locals_body_index: 0
- │ │ ├── parameters: ∅
- │ │ ├── body: ∅
- │ │ ├── opening_loc: (1,12)-(1,13) = "{"
- │ │ └── closing_loc: (1,13)-(1,14) = "}"
- │ └── flags: ∅
+ │ └── block:
+ │ @ BlockNode (location: (1,12)-(1,14))
+ │ ├── locals: []
+ │ ├── locals_body_index: 0
+ │ ├── parameters: ∅
+ │ ├── body: ∅
+ │ ├── opening_loc: (1,12)-(1,13) = "{"
+ │ └── closing_loc: (1,13)-(1,14) = "}"
├── @ CallNode (location: (3,0)-(3,15))
+ │ ├── flags: ∅
│ ├── receiver:
│ │ @ CallNode (location: (3,0)-(3,3))
+ │ │ ├── flags: variable_call
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
│ │ ├── name: :foo
@@ -51,35 +53,34 @@
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
- │ │ ├── block: ∅
- │ │ └── flags: variable_call
+ │ │ └── block: ∅
│ ├── call_operator_loc: (3,3)-(3,5) = "::"
│ ├── name: :fun
│ ├── message_loc: (3,5)-(3,8) = "fun"
│ ├── opening_loc: ∅
│ ├── arguments:
│ │ @ ArgumentsNode (location: (3,9)-(3,12))
- │ │ ├── arguments: (length: 1)
- │ │ │ └── @ ParenthesesNode (location: (3,9)-(3,12))
- │ │ │ ├── body:
- │ │ │ │ @ StatementsNode (location: (3,10)-(3,11))
- │ │ │ │ └── body: (length: 1)
- │ │ │ │ └── @ IntegerNode (location: (3,10)-(3,11))
- │ │ │ │ └── flags: decimal
- │ │ │ ├── opening_loc: (3,9)-(3,10) = "("
- │ │ │ └── closing_loc: (3,11)-(3,12) = ")"
- │ │ └── flags: ∅
+ │ │ ├── flags: ∅
+ │ │ └── arguments: (length: 1)
+ │ │ └── @ ParenthesesNode (location: (3,9)-(3,12))
+ │ │ ├── body:
+ │ │ │ @ StatementsNode (location: (3,10)-(3,11))
+ │ │ │ └── body: (length: 1)
+ │ │ │ └── @ IntegerNode (location: (3,10)-(3,11))
+ │ │ │ └── flags: decimal
+ │ │ ├── opening_loc: (3,9)-(3,10) = "("
+ │ │ └── closing_loc: (3,11)-(3,12) = ")"
│ ├── closing_loc: ∅
- │ ├── block:
- │ │ @ BlockNode (location: (3,13)-(3,15))
- │ │ ├── locals: []
- │ │ ├── locals_body_index: 0
- │ │ ├── parameters: ∅
- │ │ ├── body: ∅
- │ │ ├── opening_loc: (3,13)-(3,14) = "{"
- │ │ └── closing_loc: (3,14)-(3,15) = "}"
- │ └── flags: ∅
+ │ └── block:
+ │ @ BlockNode (location: (3,13)-(3,15))
+ │ ├── locals: []
+ │ ├── locals_body_index: 0
+ │ ├── parameters: ∅
+ │ ├── body: ∅
+ │ ├── opening_loc: (3,13)-(3,14) = "{"
+ │ └── closing_loc: (3,14)-(3,15) = "}"
└── @ CallNode (location: (5,0)-(5,10))
+ ├── flags: ∅
├── receiver: ∅
├── call_operator_loc: ∅
├── name: :fun
@@ -87,23 +88,22 @@
├── opening_loc: ∅
├── arguments:
│ @ ArgumentsNode (location: (5,4)-(5,7))
- │ ├── arguments: (length: 1)
- │ │ └── @ ParenthesesNode (location: (5,4)-(5,7))
- │ │ ├── body:
- │ │ │ @ StatementsNode (location: (5,5)-(5,6))
- │ │ │ └── body: (length: 1)
- │ │ │ └── @ IntegerNode (location: (5,5)-(5,6))
- │ │ │ └── flags: decimal
- │ │ ├── opening_loc: (5,4)-(5,5) = "("
- │ │ └── closing_loc: (5,6)-(5,7) = ")"
- │ └── flags: ∅
+ │ ├── flags: ∅
+ │ └── arguments: (length: 1)
+ │ └── @ ParenthesesNode (location: (5,4)-(5,7))
+ │ ├── body:
+ │ │ @ StatementsNode (location: (5,5)-(5,6))
+ │ │ └── body: (length: 1)
+ │ │ └── @ IntegerNode (location: (5,5)-(5,6))
+ │ │ └── flags: decimal
+ │ ├── opening_loc: (5,4)-(5,5) = "("
+ │ └── closing_loc: (5,6)-(5,7) = ")"
├── closing_loc: ∅
- ├── block:
- │ @ BlockNode (location: (5,8)-(5,10))
- │ ├── locals: []
- │ ├── locals_body_index: 0
- │ ├── parameters: ∅
- │ ├── body: ∅
- │ ├── opening_loc: (5,8)-(5,9) = "{"
- │ └── closing_loc: (5,9)-(5,10) = "}"
- └── flags: ∅
+ └── block:
+ @ BlockNode (location: (5,8)-(5,10))
+ ├── locals: []
+ ├── locals_body_index: 0
+ ├── parameters: ∅
+ ├── body: ∅
+ ├── opening_loc: (5,8)-(5,9) = "{"
+ └── closing_loc: (5,9)-(5,10) = "}"
diff --git a/test/prism/snapshots/whitequark/space_args_arg_call.txt b/test/prism/snapshots/whitequark/space_args_arg_call.txt
index 6dbd68292b..f1339b89fa 100644
--- a/test/prism/snapshots/whitequark/space_args_arg_call.txt
+++ b/test/prism/snapshots/whitequark/space_args_arg_call.txt
@@ -4,6 +4,7 @@
@ StatementsNode (location: (1,0)-(1,12))
└── body: (length: 1)
└── @ CallNode (location: (1,0)-(1,12))
+ ├── flags: ∅
├── receiver: ∅
├── call_operator_loc: ∅
├── name: :fun
@@ -11,26 +12,25 @@
├── opening_loc: ∅
├── arguments:
│ @ ArgumentsNode (location: (1,4)-(1,12))
- │ ├── arguments: (length: 1)
- │ │ └── @ CallNode (location: (1,4)-(1,12))
- │ │ ├── receiver:
- │ │ │ @ ParenthesesNode (location: (1,4)-(1,7))
- │ │ │ ├── body:
- │ │ │ │ @ StatementsNode (location: (1,5)-(1,6))
- │ │ │ │ └── body: (length: 1)
- │ │ │ │ └── @ IntegerNode (location: (1,5)-(1,6))
- │ │ │ │ └── flags: decimal
- │ │ │ ├── opening_loc: (1,4)-(1,5) = "("
- │ │ │ └── closing_loc: (1,6)-(1,7) = ")"
- │ │ ├── call_operator_loc: (1,7)-(1,8) = "."
- │ │ ├── name: :to_i
- │ │ ├── message_loc: (1,8)-(1,12) = "to_i"
- │ │ ├── opening_loc: ∅
- │ │ ├── arguments: ∅
- │ │ ├── closing_loc: ∅
- │ │ ├── block: ∅
- │ │ └── flags: ∅
- │ └── flags: ∅
+ │ ├── flags: ∅
+ │ └── arguments: (length: 1)
+ │ └── @ CallNode (location: (1,4)-(1,12))
+ │ ├── flags: ∅
+ │ ├── receiver:
+ │ │ @ ParenthesesNode (location: (1,4)-(1,7))
+ │ │ ├── body:
+ │ │ │ @ StatementsNode (location: (1,5)-(1,6))
+ │ │ │ └── body: (length: 1)
+ │ │ │ └── @ IntegerNode (location: (1,5)-(1,6))
+ │ │ │ └── flags: decimal
+ │ │ ├── opening_loc: (1,4)-(1,5) = "("
+ │ │ └── closing_loc: (1,6)-(1,7) = ")"
+ │ ├── call_operator_loc: (1,7)-(1,8) = "."
+ │ ├── name: :to_i
+ │ ├── message_loc: (1,8)-(1,12) = "to_i"
+ │ ├── opening_loc: ∅
+ │ ├── arguments: ∅
+ │ ├── closing_loc: ∅
+ │ └── block: ∅
├── closing_loc: ∅
- ├── block: ∅
- └── flags: ∅
+ └── block: ∅
diff --git a/test/prism/snapshots/whitequark/space_args_arg_newline.txt b/test/prism/snapshots/whitequark/space_args_arg_newline.txt
index 328bfa73b8..68bf503bc7 100644
--- a/test/prism/snapshots/whitequark/space_args_arg_newline.txt
+++ b/test/prism/snapshots/whitequark/space_args_arg_newline.txt
@@ -4,6 +4,7 @@
@ StatementsNode (location: (1,0)-(2,1))
└── body: (length: 1)
└── @ CallNode (location: (1,0)-(2,1))
+ ├── flags: ∅
├── receiver: ∅
├── call_operator_loc: ∅
├── name: :fun
@@ -11,16 +12,15 @@
├── opening_loc: ∅
├── arguments:
│ @ ArgumentsNode (location: (1,4)-(2,1))
- │ ├── arguments: (length: 1)
- │ │ └── @ ParenthesesNode (location: (1,4)-(2,1))
- │ │ ├── body:
- │ │ │ @ StatementsNode (location: (1,5)-(1,6))
- │ │ │ └── body: (length: 1)
- │ │ │ └── @ IntegerNode (location: (1,5)-(1,6))
- │ │ │ └── flags: decimal
- │ │ ├── opening_loc: (1,4)-(1,5) = "("
- │ │ └── closing_loc: (2,0)-(2,1) = ")"
- │ └── flags: ∅
+ │ ├── flags: ∅
+ │ └── arguments: (length: 1)
+ │ └── @ ParenthesesNode (location: (1,4)-(2,1))
+ │ ├── body:
+ │ │ @ StatementsNode (location: (1,5)-(1,6))
+ │ │ └── body: (length: 1)
+ │ │ └── @ IntegerNode (location: (1,5)-(1,6))
+ │ │ └── flags: decimal
+ │ ├── opening_loc: (1,4)-(1,5) = "("
+ │ └── closing_loc: (2,0)-(2,1) = ")"
├── closing_loc: ∅
- ├── block: ∅
- └── flags: ∅
+ └── block: ∅
diff --git a/test/prism/snapshots/whitequark/space_args_block.txt b/test/prism/snapshots/whitequark/space_args_block.txt
index a90c1acc59..da513176a3 100644
--- a/test/prism/snapshots/whitequark/space_args_block.txt
+++ b/test/prism/snapshots/whitequark/space_args_block.txt
@@ -4,6 +4,7 @@
@ StatementsNode (location: (1,0)-(1,9))
└── body: (length: 1)
└── @ CallNode (location: (1,0)-(1,9))
+ ├── flags: ∅
├── receiver: ∅
├── call_operator_loc: ∅
├── name: :fun
@@ -11,19 +12,18 @@
├── opening_loc: ∅
├── arguments:
│ @ ArgumentsNode (location: (1,4)-(1,6))
- │ ├── arguments: (length: 1)
- │ │ └── @ ParenthesesNode (location: (1,4)-(1,6))
- │ │ ├── body: ∅
- │ │ ├── opening_loc: (1,4)-(1,5) = "("
- │ │ └── closing_loc: (1,5)-(1,6) = ")"
- │ └── flags: ∅
+ │ ├── flags: ∅
+ │ └── arguments: (length: 1)
+ │ └── @ ParenthesesNode (location: (1,4)-(1,6))
+ │ ├── body: ∅
+ │ ├── opening_loc: (1,4)-(1,5) = "("
+ │ └── closing_loc: (1,5)-(1,6) = ")"
├── closing_loc: ∅
- ├── block:
- │ @ BlockNode (location: (1,7)-(1,9))
- │ ├── locals: []
- │ ├── locals_body_index: 0
- │ ├── parameters: ∅
- │ ├── body: ∅
- │ ├── opening_loc: (1,7)-(1,8) = "{"
- │ └── closing_loc: (1,8)-(1,9) = "}"
- └── flags: ∅
+ └── block:
+ @ BlockNode (location: (1,7)-(1,9))
+ ├── locals: []
+ ├── locals_body_index: 0
+ ├── parameters: ∅
+ ├── body: ∅
+ ├── opening_loc: (1,7)-(1,8) = "{"
+ └── closing_loc: (1,8)-(1,9) = "}"
diff --git a/test/prism/snapshots/whitequark/space_args_cmd.txt b/test/prism/snapshots/whitequark/space_args_cmd.txt
index 1d58f4bd2c..7cc14caaf3 100644
--- a/test/prism/snapshots/whitequark/space_args_cmd.txt
+++ b/test/prism/snapshots/whitequark/space_args_cmd.txt
@@ -4,6 +4,7 @@
@ StatementsNode (location: (1,0)-(1,11))
└── body: (length: 1)
└── @ CallNode (location: (1,0)-(1,11))
+ ├── flags: ∅
├── receiver: ∅
├── call_operator_loc: ∅
├── name: :fun
@@ -11,37 +12,36 @@
├── opening_loc: ∅
├── arguments:
│ @ ArgumentsNode (location: (1,4)-(1,11))
- │ ├── arguments: (length: 1)
- │ │ └── @ ParenthesesNode (location: (1,4)-(1,11))
- │ │ ├── body:
- │ │ │ @ StatementsNode (location: (1,5)-(1,10))
- │ │ │ └── body: (length: 1)
- │ │ │ └── @ CallNode (location: (1,5)-(1,10))
- │ │ │ ├── receiver: ∅
- │ │ │ ├── call_operator_loc: ∅
- │ │ │ ├── name: :f
- │ │ │ ├── message_loc: (1,5)-(1,6) = "f"
- │ │ │ ├── opening_loc: ∅
- │ │ │ ├── arguments:
- │ │ │ │ @ ArgumentsNode (location: (1,7)-(1,10))
- │ │ │ │ ├── arguments: (length: 1)
- │ │ │ │ │ └── @ CallNode (location: (1,7)-(1,10))
- │ │ │ │ │ ├── receiver: ∅
- │ │ │ │ │ ├── call_operator_loc: ∅
- │ │ │ │ │ ├── name: :bar
- │ │ │ │ │ ├── message_loc: (1,7)-(1,10) = "bar"
- │ │ │ │ │ ├── opening_loc: ∅
- │ │ │ │ │ ├── arguments: ∅
- │ │ │ │ │ ├── closing_loc: ∅
- │ │ │ │ │ ├── block: ∅
- │ │ │ │ │ └── flags: variable_call
- │ │ │ │ └── flags: ∅
- │ │ │ ├── closing_loc: ∅
- │ │ │ ├── block: ∅
- │ │ │ └── flags: ∅
- │ │ ├── opening_loc: (1,4)-(1,5) = "("
- │ │ └── closing_loc: (1,10)-(1,11) = ")"
- │ └── flags: ∅
+ │ ├── flags: ∅
+ │ └── arguments: (length: 1)
+ │ └── @ ParenthesesNode (location: (1,4)-(1,11))
+ │ ├── body:
+ │ │ @ StatementsNode (location: (1,5)-(1,10))
+ │ │ └── body: (length: 1)
+ │ │ └── @ CallNode (location: (1,5)-(1,10))
+ │ │ ├── flags: ∅
+ │ │ ├── receiver: ∅
+ │ │ ├── call_operator_loc: ∅
+ │ │ ├── name: :f
+ │ │ ├── message_loc: (1,5)-(1,6) = "f"
+ │ │ ├── opening_loc: ∅
+ │ │ ├── arguments:
+ │ │ │ @ ArgumentsNode (location: (1,7)-(1,10))
+ │ │ │ ├── flags: ∅
+ │ │ │ └── arguments: (length: 1)
+ │ │ │ └── @ CallNode (location: (1,7)-(1,10))
+ │ │ │ ├── flags: variable_call
+ │ │ │ ├── receiver: ∅
+ │ │ │ ├── call_operator_loc: ∅
+ │ │ │ ├── name: :bar
+ │ │ │ ├── message_loc: (1,7)-(1,10) = "bar"
+ │ │ │ ├── opening_loc: ∅
+ │ │ │ ├── arguments: ∅
+ │ │ │ ├── closing_loc: ∅
+ │ │ │ └── block: ∅
+ │ │ ├── closing_loc: ∅
+ │ │ └── block: ∅
+ │ ├── opening_loc: (1,4)-(1,5) = "("
+ │ └── closing_loc: (1,10)-(1,11) = ")"
├── closing_loc: ∅
- ├── block: ∅
- └── flags: ∅
+ └── block: ∅
diff --git a/test/prism/snapshots/whitequark/string_interp.txt b/test/prism/snapshots/whitequark/string_interp.txt
index bd97411d7a..90a4ee5a70 100644
--- a/test/prism/snapshots/whitequark/string_interp.txt
+++ b/test/prism/snapshots/whitequark/string_interp.txt
@@ -18,6 +18,7 @@
│ │ │ @ StatementsNode (location: (1,6)-(1,9))
│ │ │ └── body: (length: 1)
│ │ │ └── @ CallNode (location: (1,6)-(1,9))
+ │ │ │ ├── flags: variable_call
│ │ │ ├── receiver: ∅
│ │ │ ├── call_operator_loc: ∅
│ │ │ ├── name: :bar
@@ -25,8 +26,7 @@
│ │ │ ├── opening_loc: ∅
│ │ │ ├── arguments: ∅
│ │ │ ├── closing_loc: ∅
- │ │ │ ├── block: ∅
- │ │ │ └── flags: variable_call
+ │ │ │ └── block: ∅
│ │ └── closing_loc: (1,9)-(1,10) = "}"
│ └── @ StringNode (location: (1,10)-(1,13))
│ ├── flags: ∅
diff --git a/test/prism/snapshots/whitequark/super.txt b/test/prism/snapshots/whitequark/super.txt
index dd02255c9f..4cd4a940dc 100644
--- a/test/prism/snapshots/whitequark/super.txt
+++ b/test/prism/snapshots/whitequark/super.txt
@@ -8,18 +8,18 @@
│ ├── lparen_loc: ∅
│ ├── arguments:
│ │ @ ArgumentsNode (location: (1,6)-(1,9))
- │ │ ├── arguments: (length: 1)
- │ │ │ └── @ CallNode (location: (1,6)-(1,9))
- │ │ │ ├── receiver: ∅
- │ │ │ ├── call_operator_loc: ∅
- │ │ │ ├── name: :foo
- │ │ │ ├── message_loc: (1,6)-(1,9) = "foo"
- │ │ │ ├── opening_loc: ∅
- │ │ │ ├── arguments: ∅
- │ │ │ ├── closing_loc: ∅
- │ │ │ ├── block: ∅
- │ │ │ └── flags: variable_call
- │ │ └── flags: ∅
+ │ │ ├── flags: ∅
+ │ │ └── arguments: (length: 1)
+ │ │ └── @ CallNode (location: (1,6)-(1,9))
+ │ │ ├── flags: variable_call
+ │ │ ├── receiver: ∅
+ │ │ ├── call_operator_loc: ∅
+ │ │ ├── name: :foo
+ │ │ ├── message_loc: (1,6)-(1,9) = "foo"
+ │ │ ├── opening_loc: ∅
+ │ │ ├── arguments: ∅
+ │ │ ├── closing_loc: ∅
+ │ │ └── block: ∅
│ ├── rparen_loc: ∅
│ └── block: ∅
├── @ SuperNode (location: (3,0)-(3,7))
@@ -33,17 +33,17 @@
├── lparen_loc: (5,5)-(5,6) = "("
├── arguments:
│ @ ArgumentsNode (location: (5,6)-(5,9))
- │ ├── arguments: (length: 1)
- │ │ └── @ CallNode (location: (5,6)-(5,9))
- │ │ ├── receiver: ∅
- │ │ ├── call_operator_loc: ∅
- │ │ ├── name: :foo
- │ │ ├── message_loc: (5,6)-(5,9) = "foo"
- │ │ ├── opening_loc: ∅
- │ │ ├── arguments: ∅
- │ │ ├── closing_loc: ∅
- │ │ ├── block: ∅
- │ │ └── flags: variable_call
- │ └── flags: ∅
+ │ ├── flags: ∅
+ │ └── arguments: (length: 1)
+ │ └── @ CallNode (location: (5,6)-(5,9))
+ │ ├── flags: variable_call
+ │ ├── receiver: ∅
+ │ ├── call_operator_loc: ∅
+ │ ├── name: :foo
+ │ ├── message_loc: (5,6)-(5,9) = "foo"
+ │ ├── opening_loc: ∅
+ │ ├── arguments: ∅
+ │ ├── closing_loc: ∅
+ │ └── block: ∅
├── rparen_loc: (5,9)-(5,10) = ")"
└── block: ∅
diff --git a/test/prism/snapshots/whitequark/super_block.txt b/test/prism/snapshots/whitequark/super_block.txt
index 5ba13580d6..0ad1f04bd2 100644
--- a/test/prism/snapshots/whitequark/super_block.txt
+++ b/test/prism/snapshots/whitequark/super_block.txt
@@ -17,28 +17,28 @@
├── lparen_loc: ∅
├── arguments:
│ @ ArgumentsNode (location: (3,6)-(3,14))
- │ ├── arguments: (length: 2)
- │ │ ├── @ CallNode (location: (3,6)-(3,9))
- │ │ │ ├── receiver: ∅
- │ │ │ ├── call_operator_loc: ∅
- │ │ │ ├── name: :foo
- │ │ │ ├── message_loc: (3,6)-(3,9) = "foo"
- │ │ │ ├── opening_loc: ∅
- │ │ │ ├── arguments: ∅
- │ │ │ ├── closing_loc: ∅
- │ │ │ ├── block: ∅
- │ │ │ └── flags: variable_call
- │ │ └── @ CallNode (location: (3,11)-(3,14))
- │ │ ├── receiver: ∅
- │ │ ├── call_operator_loc: ∅
- │ │ ├── name: :bar
- │ │ ├── message_loc: (3,11)-(3,14) = "bar"
- │ │ ├── opening_loc: ∅
- │ │ ├── arguments: ∅
- │ │ ├── closing_loc: ∅
- │ │ ├── block: ∅
- │ │ └── flags: variable_call
- │ └── flags: ∅
+ │ ├── flags: ∅
+ │ └── arguments: (length: 2)
+ │ ├── @ CallNode (location: (3,6)-(3,9))
+ │ │ ├── flags: variable_call
+ │ │ ├── receiver: ∅
+ │ │ ├── call_operator_loc: ∅
+ │ │ ├── name: :foo
+ │ │ ├── message_loc: (3,6)-(3,9) = "foo"
+ │ │ ├── opening_loc: ∅
+ │ │ ├── arguments: ∅
+ │ │ ├── closing_loc: ∅
+ │ │ └── block: ∅
+ │ └── @ CallNode (location: (3,11)-(3,14))
+ │ ├── flags: variable_call
+ │ ├── receiver: ∅
+ │ ├── call_operator_loc: ∅
+ │ ├── name: :bar
+ │ ├── message_loc: (3,11)-(3,14) = "bar"
+ │ ├── opening_loc: ∅
+ │ ├── arguments: ∅
+ │ ├── closing_loc: ∅
+ │ └── block: ∅
├── rparen_loc: ∅
└── block:
@ BlockNode (location: (3,15)-(3,21))
diff --git a/test/prism/snapshots/whitequark/symbol_interp.txt b/test/prism/snapshots/whitequark/symbol_interp.txt
index 7443086fb5..dac34b63bc 100644
--- a/test/prism/snapshots/whitequark/symbol_interp.txt
+++ b/test/prism/snapshots/whitequark/symbol_interp.txt
@@ -18,6 +18,7 @@
│ │ │ @ StatementsNode (location: (1,7)-(1,10))
│ │ │ └── body: (length: 1)
│ │ │ └── @ CallNode (location: (1,7)-(1,10))
+ │ │ │ ├── flags: variable_call
│ │ │ ├── receiver: ∅
│ │ │ ├── call_operator_loc: ∅
│ │ │ ├── name: :bar
@@ -25,8 +26,7 @@
│ │ │ ├── opening_loc: ∅
│ │ │ ├── arguments: ∅
│ │ │ ├── closing_loc: ∅
- │ │ │ ├── block: ∅
- │ │ │ └── flags: variable_call
+ │ │ │ └── block: ∅
│ │ └── closing_loc: (1,10)-(1,11) = "}"
│ └── @ StringNode (location: (1,11)-(1,14))
│ ├── flags: ∅
diff --git a/test/prism/snapshots/whitequark/ternary.txt b/test/prism/snapshots/whitequark/ternary.txt
index 4fec364c5b..913f1227ff 100644
--- a/test/prism/snapshots/whitequark/ternary.txt
+++ b/test/prism/snapshots/whitequark/ternary.txt
@@ -7,6 +7,7 @@
├── if_keyword_loc: ∅
├── predicate:
│ @ CallNode (location: (1,0)-(1,3))
+ │ ├── flags: variable_call
│ ├── receiver: ∅
│ ├── call_operator_loc: ∅
│ ├── name: :foo
@@ -14,8 +15,7 @@
│ ├── opening_loc: ∅
│ ├── arguments: ∅
│ ├── closing_loc: ∅
- │ ├── block: ∅
- │ └── flags: variable_call
+ │ └── block: ∅
├── then_keyword_loc: (1,4)-(1,5) = "?"
├── statements:
│ @ StatementsNode (location: (1,6)-(1,7))
diff --git a/test/prism/snapshots/whitequark/ternary_ambiguous_symbol.txt b/test/prism/snapshots/whitequark/ternary_ambiguous_symbol.txt
index f4d0736ca4..faf7a0c36b 100644
--- a/test/prism/snapshots/whitequark/ternary_ambiguous_symbol.txt
+++ b/test/prism/snapshots/whitequark/ternary_ambiguous_symbol.txt
@@ -19,6 +19,7 @@
│ │ @ StatementsNode (location: (1,5)-(1,8))
│ │ └── body: (length: 1)
│ │ └── @ CallNode (location: (1,5)-(1,8))
+ │ │ ├── flags: variable_call
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
│ │ ├── name: :foo
@@ -26,8 +27,7 @@
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
- │ │ ├── block: ∅
- │ │ └── flags: variable_call
+ │ │ └── block: ∅
│ ├── opening_loc: (1,4)-(1,5) = "("
│ └── closing_loc: (1,8)-(1,9) = ")"
├── then_keyword_loc: (1,9)-(1,10) = "?"
diff --git a/test/prism/snapshots/whitequark/trailing_forward_arg.txt b/test/prism/snapshots/whitequark/trailing_forward_arg.txt
index ddca7304b8..0c27ddd67e 100644
--- a/test/prism/snapshots/whitequark/trailing_forward_arg.txt
+++ b/test/prism/snapshots/whitequark/trailing_forward_arg.txt
@@ -25,6 +25,7 @@
│ @ StatementsNode (location: (1,20)-(1,35))
│ └── body: (length: 1)
│ └── @ CallNode (location: (1,20)-(1,35))
+ │ ├── flags: ∅
│ ├── receiver: ∅
│ ├── call_operator_loc: ∅
│ ├── name: :bar
@@ -32,17 +33,16 @@
│ ├── opening_loc: (1,23)-(1,24) = "("
│ ├── arguments:
│ │ @ ArgumentsNode (location: (1,24)-(1,34))
- │ │ ├── arguments: (length: 3)
- │ │ │ ├── @ LocalVariableReadNode (location: (1,24)-(1,25))
- │ │ │ │ ├── name: :a
- │ │ │ │ └── depth: 0
- │ │ │ ├── @ IntegerNode (location: (1,27)-(1,29))
- │ │ │ │ └── flags: decimal
- │ │ │ └── @ ForwardingArgumentsNode (location: (1,31)-(1,34))
- │ │ └── flags: ∅
+ │ │ ├── flags: ∅
+ │ │ └── arguments: (length: 3)
+ │ │ ├── @ LocalVariableReadNode (location: (1,24)-(1,25))
+ │ │ │ ├── name: :a
+ │ │ │ └── depth: 0
+ │ │ ├── @ IntegerNode (location: (1,27)-(1,29))
+ │ │ │ └── flags: decimal
+ │ │ └── @ ForwardingArgumentsNode (location: (1,31)-(1,34))
│ ├── closing_loc: (1,34)-(1,35) = ")"
- │ ├── block: ∅
- │ └── flags: ∅
+ │ └── block: ∅
├── locals: [:a, :b, :"..."]
├── locals_body_index: 3
├── def_keyword_loc: (1,0)-(1,3) = "def"
diff --git a/test/prism/snapshots/whitequark/unary_num_pow_precedence.txt b/test/prism/snapshots/whitequark/unary_num_pow_precedence.txt
index 4e5d010e71..4bc54ba22c 100644
--- a/test/prism/snapshots/whitequark/unary_num_pow_precedence.txt
+++ b/test/prism/snapshots/whitequark/unary_num_pow_precedence.txt
@@ -4,6 +4,7 @@
@ StatementsNode (location: (1,0)-(5,10))
└── body: (length: 3)
├── @ CallNode (location: (1,0)-(1,10))
+ │ ├── flags: ∅
│ ├── receiver:
│ │ @ FloatNode (location: (1,0)-(1,4))
│ ├── call_operator_loc: ∅
@@ -12,16 +13,17 @@
│ ├── opening_loc: ∅
│ ├── arguments:
│ │ @ ArgumentsNode (location: (1,8)-(1,10))
- │ │ ├── arguments: (length: 1)
- │ │ │ └── @ IntegerNode (location: (1,8)-(1,10))
- │ │ │ └── flags: decimal
- │ │ └── flags: ∅
+ │ │ ├── flags: ∅
+ │ │ └── arguments: (length: 1)
+ │ │ └── @ IntegerNode (location: (1,8)-(1,10))
+ │ │ └── flags: decimal
│ ├── closing_loc: ∅
- │ ├── block: ∅
- │ └── flags: ∅
+ │ └── block: ∅
├── @ CallNode (location: (3,0)-(3,8))
+ │ ├── flags: ∅
│ ├── receiver:
│ │ @ CallNode (location: (3,1)-(3,8))
+ │ │ ├── flags: ∅
│ │ ├── receiver:
│ │ │ @ IntegerNode (location: (3,1)-(3,2))
│ │ │ └── flags: decimal
@@ -31,24 +33,24 @@
│ │ ├── opening_loc: ∅
│ │ ├── arguments:
│ │ │ @ ArgumentsNode (location: (3,6)-(3,8))
- │ │ │ ├── arguments: (length: 1)
- │ │ │ │ └── @ IntegerNode (location: (3,6)-(3,8))
- │ │ │ │ └── flags: decimal
- │ │ │ └── flags: ∅
+ │ │ │ ├── flags: ∅
+ │ │ │ └── arguments: (length: 1)
+ │ │ │ └── @ IntegerNode (location: (3,6)-(3,8))
+ │ │ │ └── flags: decimal
│ │ ├── closing_loc: ∅
- │ │ ├── block: ∅
- │ │ └── flags: ∅
+ │ │ └── block: ∅
│ ├── call_operator_loc: ∅
│ ├── name: :-@
│ ├── message_loc: (3,0)-(3,1) = "-"
│ ├── opening_loc: ∅
│ ├── arguments: ∅
│ ├── closing_loc: ∅
- │ ├── block: ∅
- │ └── flags: ∅
+ │ └── block: ∅
└── @ CallNode (location: (5,0)-(5,10))
+ ├── flags: ∅
├── receiver:
│ @ CallNode (location: (5,1)-(5,10))
+ │ ├── flags: ∅
│ ├── receiver:
│ │ @ FloatNode (location: (5,1)-(5,4))
│ ├── call_operator_loc: ∅
@@ -57,18 +59,16 @@
│ ├── opening_loc: ∅
│ ├── arguments:
│ │ @ ArgumentsNode (location: (5,8)-(5,10))
- │ │ ├── arguments: (length: 1)
- │ │ │ └── @ IntegerNode (location: (5,8)-(5,10))
- │ │ │ └── flags: decimal
- │ │ └── flags: ∅
+ │ │ ├── flags: ∅
+ │ │ └── arguments: (length: 1)
+ │ │ └── @ IntegerNode (location: (5,8)-(5,10))
+ │ │ └── flags: decimal
│ ├── closing_loc: ∅
- │ ├── block: ∅
- │ └── flags: ∅
+ │ └── block: ∅
├── call_operator_loc: ∅
├── name: :-@
├── message_loc: (5,0)-(5,1) = "-"
├── opening_loc: ∅
├── arguments: ∅
├── closing_loc: ∅
- ├── block: ∅
- └── flags: ∅
+ └── block: ∅
diff --git a/test/prism/snapshots/whitequark/unless.txt b/test/prism/snapshots/whitequark/unless.txt
index 602b2d06ec..d9261db337 100644
--- a/test/prism/snapshots/whitequark/unless.txt
+++ b/test/prism/snapshots/whitequark/unless.txt
@@ -7,6 +7,7 @@
│ ├── keyword_loc: (1,0)-(1,6) = "unless"
│ ├── predicate:
│ │ @ CallNode (location: (1,7)-(1,10))
+ │ │ ├── flags: variable_call
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
│ │ ├── name: :foo
@@ -14,13 +15,13 @@
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
- │ │ ├── block: ∅
- │ │ └── flags: variable_call
+ │ │ └── block: ∅
│ ├── then_keyword_loc: (1,11)-(1,15) = "then"
│ ├── statements:
│ │ @ StatementsNode (location: (1,16)-(1,19))
│ │ └── body: (length: 1)
│ │ └── @ CallNode (location: (1,16)-(1,19))
+ │ │ ├── flags: variable_call
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
│ │ ├── name: :bar
@@ -28,14 +29,14 @@
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
- │ │ ├── block: ∅
- │ │ └── flags: variable_call
+ │ │ └── block: ∅
│ ├── consequent: ∅
│ └── end_keyword_loc: (1,21)-(1,24) = "end"
└── @ UnlessNode (location: (3,0)-(3,20))
├── keyword_loc: (3,0)-(3,6) = "unless"
├── predicate:
│ @ CallNode (location: (3,7)-(3,10))
+ │ ├── flags: variable_call
│ ├── receiver: ∅
│ ├── call_operator_loc: ∅
│ ├── name: :foo
@@ -43,13 +44,13 @@
│ ├── opening_loc: ∅
│ ├── arguments: ∅
│ ├── closing_loc: ∅
- │ ├── block: ∅
- │ └── flags: variable_call
+ │ └── block: ∅
├── then_keyword_loc: ∅
├── statements:
│ @ StatementsNode (location: (3,12)-(3,15))
│ └── body: (length: 1)
│ └── @ CallNode (location: (3,12)-(3,15))
+ │ ├── flags: variable_call
│ ├── receiver: ∅
│ ├── call_operator_loc: ∅
│ ├── name: :bar
@@ -57,7 +58,6 @@
│ ├── opening_loc: ∅
│ ├── arguments: ∅
│ ├── closing_loc: ∅
- │ ├── block: ∅
- │ └── flags: variable_call
+ │ └── block: ∅
├── consequent: ∅
└── end_keyword_loc: (3,17)-(3,20) = "end"
diff --git a/test/prism/snapshots/whitequark/unless_else.txt b/test/prism/snapshots/whitequark/unless_else.txt
index 66ef26875a..78f942fcca 100644
--- a/test/prism/snapshots/whitequark/unless_else.txt
+++ b/test/prism/snapshots/whitequark/unless_else.txt
@@ -7,6 +7,7 @@
│ ├── keyword_loc: (1,0)-(1,6) = "unless"
│ ├── predicate:
│ │ @ CallNode (location: (1,7)-(1,10))
+ │ │ ├── flags: variable_call
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
│ │ ├── name: :foo
@@ -14,13 +15,13 @@
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
- │ │ ├── block: ∅
- │ │ └── flags: variable_call
+ │ │ └── block: ∅
│ ├── then_keyword_loc: (1,11)-(1,15) = "then"
│ ├── statements:
│ │ @ StatementsNode (location: (1,16)-(1,19))
│ │ └── body: (length: 1)
│ │ └── @ CallNode (location: (1,16)-(1,19))
+ │ │ ├── flags: variable_call
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
│ │ ├── name: :bar
@@ -28,8 +29,7 @@
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
- │ │ ├── block: ∅
- │ │ └── flags: variable_call
+ │ │ └── block: ∅
│ ├── consequent:
│ │ @ ElseNode (location: (1,21)-(1,34))
│ │ ├── else_keyword_loc: (1,21)-(1,25) = "else"
@@ -37,6 +37,7 @@
│ │ │ @ StatementsNode (location: (1,26)-(1,29))
│ │ │ └── body: (length: 1)
│ │ │ └── @ CallNode (location: (1,26)-(1,29))
+ │ │ │ ├── flags: variable_call
│ │ │ ├── receiver: ∅
│ │ │ ├── call_operator_loc: ∅
│ │ │ ├── name: :baz
@@ -44,14 +45,14 @@
│ │ │ ├── opening_loc: ∅
│ │ │ ├── arguments: ∅
│ │ │ ├── closing_loc: ∅
- │ │ │ ├── block: ∅
- │ │ │ └── flags: variable_call
+ │ │ │ └── block: ∅
│ │ └── end_keyword_loc: (1,31)-(1,34) = "end"
│ └── end_keyword_loc: (1,31)-(1,34) = "end"
└── @ UnlessNode (location: (3,0)-(3,30))
├── keyword_loc: (3,0)-(3,6) = "unless"
├── predicate:
│ @ CallNode (location: (3,7)-(3,10))
+ │ ├── flags: variable_call
│ ├── receiver: ∅
│ ├── call_operator_loc: ∅
│ ├── name: :foo
@@ -59,13 +60,13 @@
│ ├── opening_loc: ∅
│ ├── arguments: ∅
│ ├── closing_loc: ∅
- │ ├── block: ∅
- │ └── flags: variable_call
+ │ └── block: ∅
├── then_keyword_loc: ∅
├── statements:
│ @ StatementsNode (location: (3,12)-(3,15))
│ └── body: (length: 1)
│ └── @ CallNode (location: (3,12)-(3,15))
+ │ ├── flags: variable_call
│ ├── receiver: ∅
│ ├── call_operator_loc: ∅
│ ├── name: :bar
@@ -73,8 +74,7 @@
│ ├── opening_loc: ∅
│ ├── arguments: ∅
│ ├── closing_loc: ∅
- │ ├── block: ∅
- │ └── flags: variable_call
+ │ └── block: ∅
├── consequent:
│ @ ElseNode (location: (3,17)-(3,30))
│ ├── else_keyword_loc: (3,17)-(3,21) = "else"
@@ -82,6 +82,7 @@
│ │ @ StatementsNode (location: (3,22)-(3,25))
│ │ └── body: (length: 1)
│ │ └── @ CallNode (location: (3,22)-(3,25))
+ │ │ ├── flags: variable_call
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
│ │ ├── name: :baz
@@ -89,7 +90,6 @@
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
- │ │ ├── block: ∅
- │ │ └── flags: variable_call
+ │ │ └── block: ∅
│ └── end_keyword_loc: (3,27)-(3,30) = "end"
└── end_keyword_loc: (3,27)-(3,30) = "end"
diff --git a/test/prism/snapshots/whitequark/unless_mod.txt b/test/prism/snapshots/whitequark/unless_mod.txt
index 734cfd3cbf..bccbeb0b5a 100644
--- a/test/prism/snapshots/whitequark/unless_mod.txt
+++ b/test/prism/snapshots/whitequark/unless_mod.txt
@@ -7,6 +7,7 @@
├── keyword_loc: (1,4)-(1,10) = "unless"
├── predicate:
│ @ CallNode (location: (1,11)-(1,14))
+ │ ├── flags: variable_call
│ ├── receiver: ∅
│ ├── call_operator_loc: ∅
│ ├── name: :foo
@@ -14,13 +15,13 @@
│ ├── opening_loc: ∅
│ ├── arguments: ∅
│ ├── closing_loc: ∅
- │ ├── block: ∅
- │ └── flags: variable_call
+ │ └── block: ∅
├── then_keyword_loc: ∅
├── statements:
│ @ StatementsNode (location: (1,0)-(1,3))
│ └── body: (length: 1)
│ └── @ CallNode (location: (1,0)-(1,3))
+ │ ├── flags: variable_call
│ ├── receiver: ∅
│ ├── call_operator_loc: ∅
│ ├── name: :bar
@@ -28,7 +29,6 @@
│ ├── opening_loc: ∅
│ ├── arguments: ∅
│ ├── closing_loc: ∅
- │ ├── block: ∅
- │ └── flags: variable_call
+ │ └── block: ∅
├── consequent: ∅
└── end_keyword_loc: ∅
diff --git a/test/prism/snapshots/whitequark/until.txt b/test/prism/snapshots/whitequark/until.txt
index 09f943a787..78b8c7dbc8 100644
--- a/test/prism/snapshots/whitequark/until.txt
+++ b/test/prism/snapshots/whitequark/until.txt
@@ -4,10 +4,12 @@
@ StatementsNode (location: (1,0)-(3,19))
└── body: (length: 2)
├── @ UntilNode (location: (1,0)-(1,21))
+ │ ├── flags: ∅
│ ├── keyword_loc: (1,0)-(1,5) = "until"
│ ├── closing_loc: (1,18)-(1,21) = "end"
│ ├── predicate:
│ │ @ CallNode (location: (1,6)-(1,9))
+ │ │ ├── flags: variable_call
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
│ │ ├── name: :foo
@@ -15,27 +17,27 @@
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
- │ │ ├── block: ∅
- │ │ └── flags: variable_call
- │ ├── statements:
- │ │ @ StatementsNode (location: (1,13)-(1,17))
- │ │ └── body: (length: 1)
- │ │ └── @ CallNode (location: (1,13)-(1,17))
- │ │ ├── receiver: ∅
- │ │ ├── call_operator_loc: ∅
- │ │ ├── name: :meth
- │ │ ├── message_loc: (1,13)-(1,17) = "meth"
- │ │ ├── opening_loc: ∅
- │ │ ├── arguments: ∅
- │ │ ├── closing_loc: ∅
- │ │ ├── block: ∅
- │ │ └── flags: variable_call
- │ └── flags: ∅
+ │ │ └── block: ∅
+ │ └── statements:
+ │ @ StatementsNode (location: (1,13)-(1,17))
+ │ └── body: (length: 1)
+ │ └── @ CallNode (location: (1,13)-(1,17))
+ │ ├── flags: variable_call
+ │ ├── receiver: ∅
+ │ ├── call_operator_loc: ∅
+ │ ├── name: :meth
+ │ ├── message_loc: (1,13)-(1,17) = "meth"
+ │ ├── opening_loc: ∅
+ │ ├── arguments: ∅
+ │ ├── closing_loc: ∅
+ │ └── block: ∅
└── @ UntilNode (location: (3,0)-(3,19))
+ ├── flags: ∅
├── keyword_loc: (3,0)-(3,5) = "until"
├── closing_loc: (3,16)-(3,19) = "end"
├── predicate:
│ @ CallNode (location: (3,6)-(3,9))
+ │ ├── flags: variable_call
│ ├── receiver: ∅
│ ├── call_operator_loc: ∅
│ ├── name: :foo
@@ -43,19 +45,17 @@
│ ├── opening_loc: ∅
│ ├── arguments: ∅
│ ├── closing_loc: ∅
- │ ├── block: ∅
- │ └── flags: variable_call
- ├── statements:
- │ @ StatementsNode (location: (3,11)-(3,15))
- │ └── body: (length: 1)
- │ └── @ CallNode (location: (3,11)-(3,15))
- │ ├── receiver: ∅
- │ ├── call_operator_loc: ∅
- │ ├── name: :meth
- │ ├── message_loc: (3,11)-(3,15) = "meth"
- │ ├── opening_loc: ∅
- │ ├── arguments: ∅
- │ ├── closing_loc: ∅
- │ ├── block: ∅
- │ └── flags: variable_call
- └── flags: ∅
+ │ └── block: ∅
+ └── statements:
+ @ StatementsNode (location: (3,11)-(3,15))
+ └── body: (length: 1)
+ └── @ CallNode (location: (3,11)-(3,15))
+ ├── flags: variable_call
+ ├── receiver: ∅
+ ├── call_operator_loc: ∅
+ ├── name: :meth
+ ├── message_loc: (3,11)-(3,15) = "meth"
+ ├── opening_loc: ∅
+ ├── arguments: ∅
+ ├── closing_loc: ∅
+ └── block: ∅
diff --git a/test/prism/snapshots/whitequark/until_mod.txt b/test/prism/snapshots/whitequark/until_mod.txt
index 11745900e5..07f1817b08 100644
--- a/test/prism/snapshots/whitequark/until_mod.txt
+++ b/test/prism/snapshots/whitequark/until_mod.txt
@@ -4,10 +4,12 @@
@ StatementsNode (location: (1,0)-(1,14))
└── body: (length: 1)
└── @ UntilNode (location: (1,0)-(1,14))
+ ├── flags: ∅
├── keyword_loc: (1,5)-(1,10) = "until"
├── closing_loc: ∅
├── predicate:
│ @ CallNode (location: (1,11)-(1,14))
+ │ ├── flags: variable_call
│ ├── receiver: ∅
│ ├── call_operator_loc: ∅
│ ├── name: :foo
@@ -15,19 +17,17 @@
│ ├── opening_loc: ∅
│ ├── arguments: ∅
│ ├── closing_loc: ∅
- │ ├── block: ∅
- │ └── flags: variable_call
- ├── statements:
- │ @ StatementsNode (location: (1,0)-(1,4))
- │ └── body: (length: 1)
- │ └── @ CallNode (location: (1,0)-(1,4))
- │ ├── receiver: ∅
- │ ├── call_operator_loc: ∅
- │ ├── name: :meth
- │ ├── message_loc: (1,0)-(1,4) = "meth"
- │ ├── opening_loc: ∅
- │ ├── arguments: ∅
- │ ├── closing_loc: ∅
- │ ├── block: ∅
- │ └── flags: variable_call
- └── flags: ∅
+ │ └── block: ∅
+ └── statements:
+ @ StatementsNode (location: (1,0)-(1,4))
+ └── body: (length: 1)
+ └── @ CallNode (location: (1,0)-(1,4))
+ ├── flags: variable_call
+ ├── receiver: ∅
+ ├── call_operator_loc: ∅
+ ├── name: :meth
+ ├── message_loc: (1,0)-(1,4) = "meth"
+ ├── opening_loc: ∅
+ ├── arguments: ∅
+ ├── closing_loc: ∅
+ └── block: ∅
diff --git a/test/prism/snapshots/whitequark/until_post.txt b/test/prism/snapshots/whitequark/until_post.txt
index 2bedb9f411..2aff618af3 100644
--- a/test/prism/snapshots/whitequark/until_post.txt
+++ b/test/prism/snapshots/whitequark/until_post.txt
@@ -4,10 +4,12 @@
@ StatementsNode (location: (1,0)-(1,24))
└── body: (length: 1)
└── @ UntilNode (location: (1,0)-(1,24))
+ ├── flags: begin_modifier
├── keyword_loc: (1,15)-(1,20) = "until"
├── closing_loc: ∅
├── predicate:
│ @ CallNode (location: (1,21)-(1,24))
+ │ ├── flags: variable_call
│ ├── receiver: ∅
│ ├── call_operator_loc: ∅
│ ├── name: :foo
@@ -15,28 +17,26 @@
│ ├── opening_loc: ∅
│ ├── arguments: ∅
│ ├── closing_loc: ∅
- │ ├── block: ∅
- │ └── flags: variable_call
- ├── statements:
- │ @ StatementsNode (location: (1,0)-(1,14))
- │ └── body: (length: 1)
- │ └── @ BeginNode (location: (1,0)-(1,14))
- │ ├── begin_keyword_loc: (1,0)-(1,5) = "begin"
- │ ├── statements:
- │ │ @ StatementsNode (location: (1,6)-(1,10))
- │ │ └── body: (length: 1)
- │ │ └── @ CallNode (location: (1,6)-(1,10))
- │ │ ├── receiver: ∅
- │ │ ├── call_operator_loc: ∅
- │ │ ├── name: :meth
- │ │ ├── message_loc: (1,6)-(1,10) = "meth"
- │ │ ├── opening_loc: ∅
- │ │ ├── arguments: ∅
- │ │ ├── closing_loc: ∅
- │ │ ├── block: ∅
- │ │ └── flags: variable_call
- │ ├── rescue_clause: ∅
- │ ├── else_clause: ∅
- │ ├── ensure_clause: ∅
- │ └── end_keyword_loc: (1,11)-(1,14) = "end"
- └── flags: begin_modifier
+ │ └── block: ∅
+ └── statements:
+ @ StatementsNode (location: (1,0)-(1,14))
+ └── body: (length: 1)
+ └── @ BeginNode (location: (1,0)-(1,14))
+ ├── begin_keyword_loc: (1,0)-(1,5) = "begin"
+ ├── statements:
+ │ @ StatementsNode (location: (1,6)-(1,10))
+ │ └── body: (length: 1)
+ │ └── @ CallNode (location: (1,6)-(1,10))
+ │ ├── flags: variable_call
+ │ ├── receiver: ∅
+ │ ├── call_operator_loc: ∅
+ │ ├── name: :meth
+ │ ├── message_loc: (1,6)-(1,10) = "meth"
+ │ ├── opening_loc: ∅
+ │ ├── arguments: ∅
+ │ ├── closing_loc: ∅
+ │ └── block: ∅
+ ├── rescue_clause: ∅
+ ├── else_clause: ∅
+ ├── ensure_clause: ∅
+ └── end_keyword_loc: (1,11)-(1,14) = "end"
diff --git a/test/prism/snapshots/whitequark/var_op_asgn_cmd.txt b/test/prism/snapshots/whitequark/var_op_asgn_cmd.txt
index 805e47ceb6..4e574f8db2 100644
--- a/test/prism/snapshots/whitequark/var_op_asgn_cmd.txt
+++ b/test/prism/snapshots/whitequark/var_op_asgn_cmd.txt
@@ -8,6 +8,7 @@
├── operator_loc: (1,4)-(1,6) = "+="
├── value:
│ @ CallNode (location: (1,7)-(1,12))
+ │ ├── flags: ∅
│ ├── receiver: ∅
│ ├── call_operator_loc: ∅
│ ├── name: :m
@@ -15,14 +16,13 @@
│ ├── opening_loc: ∅
│ ├── arguments:
│ │ @ ArgumentsNode (location: (1,9)-(1,12))
- │ │ ├── arguments: (length: 1)
- │ │ │ └── @ LocalVariableReadNode (location: (1,9)-(1,12))
- │ │ │ ├── name: :foo
- │ │ │ └── depth: 0
- │ │ └── flags: ∅
+ │ │ ├── flags: ∅
+ │ │ └── arguments: (length: 1)
+ │ │ └── @ LocalVariableReadNode (location: (1,9)-(1,12))
+ │ │ ├── name: :foo
+ │ │ └── depth: 0
│ ├── closing_loc: ∅
- │ ├── block: ∅
- │ └── flags: ∅
+ │ └── block: ∅
├── name: :foo
├── operator: :+
└── depth: 0
diff --git a/test/prism/snapshots/whitequark/when_multi.txt b/test/prism/snapshots/whitequark/when_multi.txt
index 06f4741de9..6ae94a3fef 100644
--- a/test/prism/snapshots/whitequark/when_multi.txt
+++ b/test/prism/snapshots/whitequark/when_multi.txt
@@ -6,6 +6,7 @@
└── @ CaseNode (location: (1,0)-(1,37))
├── predicate:
│ @ CallNode (location: (1,5)-(1,8))
+ │ ├── flags: variable_call
│ ├── receiver: ∅
│ ├── call_operator_loc: ∅
│ ├── name: :foo
@@ -13,8 +14,7 @@
│ ├── opening_loc: ∅
│ ├── arguments: ∅
│ ├── closing_loc: ∅
- │ ├── block: ∅
- │ └── flags: variable_call
+ │ └── block: ∅
├── conditions: (length: 1)
│ └── @ WhenNode (location: (1,10)-(1,32))
│ ├── keyword_loc: (1,10)-(1,14) = "when"
@@ -35,6 +35,7 @@
│ @ StatementsNode (location: (1,29)-(1,32))
│ └── body: (length: 1)
│ └── @ CallNode (location: (1,29)-(1,32))
+ │ ├── flags: variable_call
│ ├── receiver: ∅
│ ├── call_operator_loc: ∅
│ ├── name: :bar
@@ -42,8 +43,7 @@
│ ├── opening_loc: ∅
│ ├── arguments: ∅
│ ├── closing_loc: ∅
- │ ├── block: ∅
- │ └── flags: variable_call
+ │ └── block: ∅
├── consequent: ∅
├── case_keyword_loc: (1,0)-(1,4) = "case"
└── end_keyword_loc: (1,34)-(1,37) = "end"
diff --git a/test/prism/snapshots/whitequark/when_splat.txt b/test/prism/snapshots/whitequark/when_splat.txt
index 0f373b842b..016f264744 100644
--- a/test/prism/snapshots/whitequark/when_splat.txt
+++ b/test/prism/snapshots/whitequark/when_splat.txt
@@ -6,6 +6,7 @@
└── @ CaseNode (location: (1,0)-(1,43))
├── predicate:
│ @ CallNode (location: (1,5)-(1,8))
+ │ ├── flags: variable_call
│ ├── receiver: ∅
│ ├── call_operator_loc: ∅
│ ├── name: :foo
@@ -13,8 +14,7 @@
│ ├── opening_loc: ∅
│ ├── arguments: ∅
│ ├── closing_loc: ∅
- │ ├── block: ∅
- │ └── flags: variable_call
+ │ └── block: ∅
├── conditions: (length: 2)
│ ├── @ WhenNode (location: (1,10)-(1,27))
│ │ ├── keyword_loc: (1,10)-(1,14) = "when"
@@ -25,6 +25,7 @@
│ │ │ ├── operator_loc: (1,18)-(1,19) = "*"
│ │ │ └── expression:
│ │ │ @ CallNode (location: (1,19)-(1,22))
+ │ │ │ ├── flags: variable_call
│ │ │ ├── receiver: ∅
│ │ │ ├── call_operator_loc: ∅
│ │ │ ├── name: :baz
@@ -32,12 +33,12 @@
│ │ │ ├── opening_loc: ∅
│ │ │ ├── arguments: ∅
│ │ │ ├── closing_loc: ∅
- │ │ │ ├── block: ∅
- │ │ │ └── flags: variable_call
+ │ │ │ └── block: ∅
│ │ └── statements:
│ │ @ StatementsNode (location: (1,24)-(1,27))
│ │ └── body: (length: 1)
│ │ └── @ CallNode (location: (1,24)-(1,27))
+ │ │ ├── flags: variable_call
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
│ │ ├── name: :bar
@@ -45,8 +46,7 @@
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
- │ │ ├── block: ∅
- │ │ └── flags: variable_call
+ │ │ └── block: ∅
│ └── @ WhenNode (location: (1,29)-(1,38))
│ ├── keyword_loc: (1,29)-(1,33) = "when"
│ ├── conditions: (length: 1)
@@ -54,6 +54,7 @@
│ │ ├── operator_loc: (1,34)-(1,35) = "*"
│ │ └── expression:
│ │ @ CallNode (location: (1,35)-(1,38))
+ │ │ ├── flags: variable_call
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
│ │ ├── name: :foo
@@ -61,8 +62,7 @@
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
- │ │ ├── block: ∅
- │ │ └── flags: variable_call
+ │ │ └── block: ∅
│ └── statements: ∅
├── consequent: ∅
├── case_keyword_loc: (1,0)-(1,4) = "case"
diff --git a/test/prism/snapshots/whitequark/when_then.txt b/test/prism/snapshots/whitequark/when_then.txt
index 6d5ee2196d..06b7e0ae87 100644
--- a/test/prism/snapshots/whitequark/when_then.txt
+++ b/test/prism/snapshots/whitequark/when_then.txt
@@ -6,6 +6,7 @@
└── @ CaseNode (location: (1,0)-(1,34))
├── predicate:
│ @ CallNode (location: (1,5)-(1,8))
+ │ ├── flags: variable_call
│ ├── receiver: ∅
│ ├── call_operator_loc: ∅
│ ├── name: :foo
@@ -13,8 +14,7 @@
│ ├── opening_loc: ∅
│ ├── arguments: ∅
│ ├── closing_loc: ∅
- │ ├── block: ∅
- │ └── flags: variable_call
+ │ └── block: ∅
├── conditions: (length: 1)
│ └── @ WhenNode (location: (1,10)-(1,29))
│ ├── keyword_loc: (1,10)-(1,14) = "when"
@@ -29,6 +29,7 @@
│ @ StatementsNode (location: (1,26)-(1,29))
│ └── body: (length: 1)
│ └── @ CallNode (location: (1,26)-(1,29))
+ │ ├── flags: variable_call
│ ├── receiver: ∅
│ ├── call_operator_loc: ∅
│ ├── name: :bar
@@ -36,8 +37,7 @@
│ ├── opening_loc: ∅
│ ├── arguments: ∅
│ ├── closing_loc: ∅
- │ ├── block: ∅
- │ └── flags: variable_call
+ │ └── block: ∅
├── consequent: ∅
├── case_keyword_loc: (1,0)-(1,4) = "case"
└── end_keyword_loc: (1,31)-(1,34) = "end"
diff --git a/test/prism/snapshots/whitequark/while.txt b/test/prism/snapshots/whitequark/while.txt
index 1af1bf3088..e437a19297 100644
--- a/test/prism/snapshots/whitequark/while.txt
+++ b/test/prism/snapshots/whitequark/while.txt
@@ -4,10 +4,12 @@
@ StatementsNode (location: (1,0)-(3,19))
└── body: (length: 2)
├── @ WhileNode (location: (1,0)-(1,21))
+ │ ├── flags: ∅
│ ├── keyword_loc: (1,0)-(1,5) = "while"
│ ├── closing_loc: (1,18)-(1,21) = "end"
│ ├── predicate:
│ │ @ CallNode (location: (1,6)-(1,9))
+ │ │ ├── flags: variable_call
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
│ │ ├── name: :foo
@@ -15,27 +17,27 @@
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
- │ │ ├── block: ∅
- │ │ └── flags: variable_call
- │ ├── statements:
- │ │ @ StatementsNode (location: (1,13)-(1,17))
- │ │ └── body: (length: 1)
- │ │ └── @ CallNode (location: (1,13)-(1,17))
- │ │ ├── receiver: ∅
- │ │ ├── call_operator_loc: ∅
- │ │ ├── name: :meth
- │ │ ├── message_loc: (1,13)-(1,17) = "meth"
- │ │ ├── opening_loc: ∅
- │ │ ├── arguments: ∅
- │ │ ├── closing_loc: ∅
- │ │ ├── block: ∅
- │ │ └── flags: variable_call
- │ └── flags: ∅
+ │ │ └── block: ∅
+ │ └── statements:
+ │ @ StatementsNode (location: (1,13)-(1,17))
+ │ └── body: (length: 1)
+ │ └── @ CallNode (location: (1,13)-(1,17))
+ │ ├── flags: variable_call
+ │ ├── receiver: ∅
+ │ ├── call_operator_loc: ∅
+ │ ├── name: :meth
+ │ ├── message_loc: (1,13)-(1,17) = "meth"
+ │ ├── opening_loc: ∅
+ │ ├── arguments: ∅
+ │ ├── closing_loc: ∅
+ │ └── block: ∅
└── @ WhileNode (location: (3,0)-(3,19))
+ ├── flags: ∅
├── keyword_loc: (3,0)-(3,5) = "while"
├── closing_loc: (3,16)-(3,19) = "end"
├── predicate:
│ @ CallNode (location: (3,6)-(3,9))
+ │ ├── flags: variable_call
│ ├── receiver: ∅
│ ├── call_operator_loc: ∅
│ ├── name: :foo
@@ -43,19 +45,17 @@
│ ├── opening_loc: ∅
│ ├── arguments: ∅
│ ├── closing_loc: ∅
- │ ├── block: ∅
- │ └── flags: variable_call
- ├── statements:
- │ @ StatementsNode (location: (3,11)-(3,15))
- │ └── body: (length: 1)
- │ └── @ CallNode (location: (3,11)-(3,15))
- │ ├── receiver: ∅
- │ ├── call_operator_loc: ∅
- │ ├── name: :meth
- │ ├── message_loc: (3,11)-(3,15) = "meth"
- │ ├── opening_loc: ∅
- │ ├── arguments: ∅
- │ ├── closing_loc: ∅
- │ ├── block: ∅
- │ └── flags: variable_call
- └── flags: ∅
+ │ └── block: ∅
+ └── statements:
+ @ StatementsNode (location: (3,11)-(3,15))
+ └── body: (length: 1)
+ └── @ CallNode (location: (3,11)-(3,15))
+ ├── flags: variable_call
+ ├── receiver: ∅
+ ├── call_operator_loc: ∅
+ ├── name: :meth
+ ├── message_loc: (3,11)-(3,15) = "meth"
+ ├── opening_loc: ∅
+ ├── arguments: ∅
+ ├── closing_loc: ∅
+ └── block: ∅
diff --git a/test/prism/snapshots/whitequark/while_mod.txt b/test/prism/snapshots/whitequark/while_mod.txt
index c612898fb4..b659a8f9c0 100644
--- a/test/prism/snapshots/whitequark/while_mod.txt
+++ b/test/prism/snapshots/whitequark/while_mod.txt
@@ -4,10 +4,12 @@
@ StatementsNode (location: (1,0)-(1,14))
└── body: (length: 1)
└── @ WhileNode (location: (1,0)-(1,14))
+ ├── flags: ∅
├── keyword_loc: (1,5)-(1,10) = "while"
├── closing_loc: ∅
├── predicate:
│ @ CallNode (location: (1,11)-(1,14))
+ │ ├── flags: variable_call
│ ├── receiver: ∅
│ ├── call_operator_loc: ∅
│ ├── name: :foo
@@ -15,19 +17,17 @@
│ ├── opening_loc: ∅
│ ├── arguments: ∅
│ ├── closing_loc: ∅
- │ ├── block: ∅
- │ └── flags: variable_call
- ├── statements:
- │ @ StatementsNode (location: (1,0)-(1,4))
- │ └── body: (length: 1)
- │ └── @ CallNode (location: (1,0)-(1,4))
- │ ├── receiver: ∅
- │ ├── call_operator_loc: ∅
- │ ├── name: :meth
- │ ├── message_loc: (1,0)-(1,4) = "meth"
- │ ├── opening_loc: ∅
- │ ├── arguments: ∅
- │ ├── closing_loc: ∅
- │ ├── block: ∅
- │ └── flags: variable_call
- └── flags: ∅
+ │ └── block: ∅
+ └── statements:
+ @ StatementsNode (location: (1,0)-(1,4))
+ └── body: (length: 1)
+ └── @ CallNode (location: (1,0)-(1,4))
+ ├── flags: variable_call
+ ├── receiver: ∅
+ ├── call_operator_loc: ∅
+ ├── name: :meth
+ ├── message_loc: (1,0)-(1,4) = "meth"
+ ├── opening_loc: ∅
+ ├── arguments: ∅
+ ├── closing_loc: ∅
+ └── block: ∅
diff --git a/test/prism/snapshots/whitequark/while_post.txt b/test/prism/snapshots/whitequark/while_post.txt
index 1ddaf4ea31..10f46e67e1 100644
--- a/test/prism/snapshots/whitequark/while_post.txt
+++ b/test/prism/snapshots/whitequark/while_post.txt
@@ -4,10 +4,12 @@
@ StatementsNode (location: (1,0)-(1,24))
└── body: (length: 1)
└── @ WhileNode (location: (1,0)-(1,24))
+ ├── flags: begin_modifier
├── keyword_loc: (1,15)-(1,20) = "while"
├── closing_loc: ∅
├── predicate:
│ @ CallNode (location: (1,21)-(1,24))
+ │ ├── flags: variable_call
│ ├── receiver: ∅
│ ├── call_operator_loc: ∅
│ ├── name: :foo
@@ -15,28 +17,26 @@
│ ├── opening_loc: ∅
│ ├── arguments: ∅
│ ├── closing_loc: ∅
- │ ├── block: ∅
- │ └── flags: variable_call
- ├── statements:
- │ @ StatementsNode (location: (1,0)-(1,14))
- │ └── body: (length: 1)
- │ └── @ BeginNode (location: (1,0)-(1,14))
- │ ├── begin_keyword_loc: (1,0)-(1,5) = "begin"
- │ ├── statements:
- │ │ @ StatementsNode (location: (1,6)-(1,10))
- │ │ └── body: (length: 1)
- │ │ └── @ CallNode (location: (1,6)-(1,10))
- │ │ ├── receiver: ∅
- │ │ ├── call_operator_loc: ∅
- │ │ ├── name: :meth
- │ │ ├── message_loc: (1,6)-(1,10) = "meth"
- │ │ ├── opening_loc: ∅
- │ │ ├── arguments: ∅
- │ │ ├── closing_loc: ∅
- │ │ ├── block: ∅
- │ │ └── flags: variable_call
- │ ├── rescue_clause: ∅
- │ ├── else_clause: ∅
- │ ├── ensure_clause: ∅
- │ └── end_keyword_loc: (1,11)-(1,14) = "end"
- └── flags: begin_modifier
+ │ └── block: ∅
+ └── statements:
+ @ StatementsNode (location: (1,0)-(1,14))
+ └── body: (length: 1)
+ └── @ BeginNode (location: (1,0)-(1,14))
+ ├── begin_keyword_loc: (1,0)-(1,5) = "begin"
+ ├── statements:
+ │ @ StatementsNode (location: (1,6)-(1,10))
+ │ └── body: (length: 1)
+ │ └── @ CallNode (location: (1,6)-(1,10))
+ │ ├── flags: variable_call
+ │ ├── receiver: ∅
+ │ ├── call_operator_loc: ∅
+ │ ├── name: :meth
+ │ ├── message_loc: (1,6)-(1,10) = "meth"
+ │ ├── opening_loc: ∅
+ │ ├── arguments: ∅
+ │ ├── closing_loc: ∅
+ │ └── block: ∅
+ ├── rescue_clause: ∅
+ ├── else_clause: ∅
+ ├── ensure_clause: ∅
+ └── end_keyword_loc: (1,11)-(1,14) = "end"
diff --git a/test/prism/snapshots/whitequark/xstring_interp.txt b/test/prism/snapshots/whitequark/xstring_interp.txt
index d7bab053ee..ad81c2bc42 100644
--- a/test/prism/snapshots/whitequark/xstring_interp.txt
+++ b/test/prism/snapshots/whitequark/xstring_interp.txt
@@ -18,6 +18,7 @@
│ │ │ @ StatementsNode (location: (1,6)-(1,9))
│ │ │ └── body: (length: 1)
│ │ │ └── @ CallNode (location: (1,6)-(1,9))
+ │ │ │ ├── flags: variable_call
│ │ │ ├── receiver: ∅
│ │ │ ├── call_operator_loc: ∅
│ │ │ ├── name: :bar
@@ -25,8 +26,7 @@
│ │ │ ├── opening_loc: ∅
│ │ │ ├── arguments: ∅
│ │ │ ├── closing_loc: ∅
- │ │ │ ├── block: ∅
- │ │ │ └── flags: variable_call
+ │ │ │ └── block: ∅
│ │ └── closing_loc: (1,9)-(1,10) = "}"
│ └── @ StringNode (location: (1,10)-(1,13))
│ ├── flags: ∅
diff --git a/test/prism/snapshots/whitequark/yield.txt b/test/prism/snapshots/whitequark/yield.txt
index e219e66be4..dccc6b9df9 100644
--- a/test/prism/snapshots/whitequark/yield.txt
+++ b/test/prism/snapshots/whitequark/yield.txt
@@ -13,18 +13,18 @@
│ ├── lparen_loc: ∅
│ ├── arguments:
│ │ @ ArgumentsNode (location: (3,6)-(3,9))
- │ │ ├── arguments: (length: 1)
- │ │ │ └── @ CallNode (location: (3,6)-(3,9))
- │ │ │ ├── receiver: ∅
- │ │ │ ├── call_operator_loc: ∅
- │ │ │ ├── name: :foo
- │ │ │ ├── message_loc: (3,6)-(3,9) = "foo"
- │ │ │ ├── opening_loc: ∅
- │ │ │ ├── arguments: ∅
- │ │ │ ├── closing_loc: ∅
- │ │ │ ├── block: ∅
- │ │ │ └── flags: variable_call
- │ │ └── flags: ∅
+ │ │ ├── flags: ∅
+ │ │ └── arguments: (length: 1)
+ │ │ └── @ CallNode (location: (3,6)-(3,9))
+ │ │ ├── flags: variable_call
+ │ │ ├── receiver: ∅
+ │ │ ├── call_operator_loc: ∅
+ │ │ ├── name: :foo
+ │ │ ├── message_loc: (3,6)-(3,9) = "foo"
+ │ │ ├── opening_loc: ∅
+ │ │ ├── arguments: ∅
+ │ │ ├── closing_loc: ∅
+ │ │ └── block: ∅
│ └── rparen_loc: ∅
├── @ YieldNode (location: (5,0)-(5,7))
│ ├── keyword_loc: (5,0)-(5,5) = "yield"
@@ -36,16 +36,16 @@
├── lparen_loc: (7,5)-(7,6) = "("
├── arguments:
│ @ ArgumentsNode (location: (7,6)-(7,9))
- │ ├── arguments: (length: 1)
- │ │ └── @ CallNode (location: (7,6)-(7,9))
- │ │ ├── receiver: ∅
- │ │ ├── call_operator_loc: ∅
- │ │ ├── name: :foo
- │ │ ├── message_loc: (7,6)-(7,9) = "foo"
- │ │ ├── opening_loc: ∅
- │ │ ├── arguments: ∅
- │ │ ├── closing_loc: ∅
- │ │ ├── block: ∅
- │ │ └── flags: variable_call
- │ └── flags: ∅
+ │ ├── flags: ∅
+ │ └── arguments: (length: 1)
+ │ └── @ CallNode (location: (7,6)-(7,9))
+ │ ├── flags: variable_call
+ │ ├── receiver: ∅
+ │ ├── call_operator_loc: ∅
+ │ ├── name: :foo
+ │ ├── message_loc: (7,6)-(7,9) = "foo"
+ │ ├── opening_loc: ∅
+ │ ├── arguments: ∅
+ │ ├── closing_loc: ∅
+ │ └── block: ∅
└── rparen_loc: (7,9)-(7,10) = ")"
diff --git a/test/prism/snapshots/xstring.txt b/test/prism/snapshots/xstring.txt
index c8dba2a652..9c73210a6b 100644
--- a/test/prism/snapshots/xstring.txt
+++ b/test/prism/snapshots/xstring.txt
@@ -24,6 +24,7 @@
│ │ │ │ @ StatementsNode (location: (3,7)-(3,10))
│ │ │ │ └── body: (length: 1)
│ │ │ │ └── @ CallNode (location: (3,7)-(3,10))
+ │ │ │ │ ├── flags: variable_call
│ │ │ │ ├── receiver: ∅
│ │ │ │ ├── call_operator_loc: ∅
│ │ │ │ ├── name: :bar
@@ -31,8 +32,7 @@
│ │ │ │ ├── opening_loc: ∅
│ │ │ │ ├── arguments: ∅
│ │ │ │ ├── closing_loc: ∅
- │ │ │ │ ├── block: ∅
- │ │ │ │ └── flags: variable_call
+ │ │ │ │ └── block: ∅
│ │ │ └── closing_loc: (3,10)-(3,11) = "}"
│ │ └── @ StringNode (location: (3,11)-(3,15))
│ │ ├── flags: ∅
diff --git a/test/prism/snapshots/yield.txt b/test/prism/snapshots/yield.txt
index bf7b1aed51..9c1fd59d34 100644
--- a/test/prism/snapshots/yield.txt
+++ b/test/prism/snapshots/yield.txt
@@ -18,22 +18,22 @@
│ ├── lparen_loc: (5,5)-(5,6) = "("
│ ├── arguments:
│ │ @ ArgumentsNode (location: (5,6)-(5,7))
- │ │ ├── arguments: (length: 1)
- │ │ │ └── @ IntegerNode (location: (5,6)-(5,7))
- │ │ │ └── flags: decimal
- │ │ └── flags: ∅
+ │ │ ├── flags: ∅
+ │ │ └── arguments: (length: 1)
+ │ │ └── @ IntegerNode (location: (5,6)-(5,7))
+ │ │ └── flags: decimal
│ └── rparen_loc: (5,7)-(5,8) = ")"
└── @ YieldNode (location: (7,0)-(7,14))
├── keyword_loc: (7,0)-(7,5) = "yield"
├── lparen_loc: (7,5)-(7,6) = "("
├── arguments:
│ @ ArgumentsNode (location: (7,6)-(7,13))
- │ ├── arguments: (length: 3)
- │ │ ├── @ IntegerNode (location: (7,6)-(7,7))
- │ │ │ └── flags: decimal
- │ │ ├── @ IntegerNode (location: (7,9)-(7,10))
- │ │ │ └── flags: decimal
- │ │ └── @ IntegerNode (location: (7,12)-(7,13))
- │ │ └── flags: decimal
- │ └── flags: ∅
+ │ ├── flags: ∅
+ │ └── arguments: (length: 3)
+ │ ├── @ IntegerNode (location: (7,6)-(7,7))
+ │ │ └── flags: decimal
+ │ ├── @ IntegerNode (location: (7,9)-(7,10))
+ │ │ └── flags: decimal
+ │ └── @ IntegerNode (location: (7,12)-(7,13))
+ │ └── flags: decimal
└── rparen_loc: (7,13)-(7,14) = ")"